From 74f9cf45a6768f2cf30dac5155e67d414ecff5f3 Mon Sep 17 00:00:00 2001 From: jennifersp Date: Tue, 1 Mar 2022 11:05:44 -0800 Subject: [PATCH 1/6] add flush privileges --- go/vt/sqlparser/ast.go | 9 + go/vt/sqlparser/parse_test.go | 3 + go/vt/sqlparser/sql.go | 13035 ++++++++++++++++---------------- go/vt/sqlparser/sql.y | 10 +- 4 files changed, 6530 insertions(+), 6527 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 845f7fddf4d..78f325216f5 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -353,6 +353,7 @@ func (*Use) iStatement() {} func (*Begin) iStatement() {} func (*Commit) iStatement() {} func (*Rollback) iStatement() {} +func (*FlushPrivileges) iStatement() {} func (*OtherRead) iStatement() {} func (*OtherAdmin) iStatement() {} func (*BeginEndBlock) iStatement() {} @@ -2818,6 +2819,14 @@ func (node *Rollback) Format(buf *TrackedBuffer) { buf.WriteString("rollback") } +// FlushPrivileges represents a FlushPrivileges statement. +type FlushPrivileges struct{} + +// Format formats the node. +func (node *FlushPrivileges) Format(buf *TrackedBuffer) { + buf.WriteString("flush privileges") +} + // OtherRead represents a DESCRIBE, or EXPLAIN statement. // It should be used only as an indicator. It does not contain // the full AST for the statement. diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index c8d8ea54625..a9a31ac2fef 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -2303,6 +2303,9 @@ var ( }, { input: "REVOKE PROXY ON UserName FROM Role1, Role2", output: "revoke proxy on `UserName`@`%` from `Role1`@`%`, `Role2`@`%`", + }, { + input: "FLUSH PRIVILEGES", + output: "flush privileges", }, { input: "SHOW GRANTS", output: "show grants", diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 10276edb64d..753a7839271 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -1136,3428 +1136,3405 @@ var yyExca = [...]int{ -1, 1, 1, -1, -2, 0, - -1, 34, - 5, 49, - -2, 1017, - -1, 42, - 148, 1081, - 149, 1099, - -2, 230, - -1, 48, - 187, 652, - 188, 652, - -2, 642, - -1, 500, - 135, 1109, - -2, 1103, - -1, 501, - 135, 1110, - -2, 1104, - -1, 605, - 98, 1374, - 135, 1374, - -2, 1065, - -1, 606, - 98, 1488, - 135, 1488, - -2, 1066, - -1, 611, - 98, 1397, - 135, 1397, - -2, 1067, - -1, 612, - 98, 1443, - 135, 1443, + -1, 35, + 5, 50, + -2, 1020, + -1, 43, + 148, 1084, + 149, 1102, + -2, 231, + -1, 49, + 187, 655, + 188, 655, + -2, 645, + -1, 503, + 135, 1112, + -2, 1106, + -1, 504, + 135, 1113, + -2, 1107, + -1, 608, + 98, 1377, + 135, 1377, -2, 1068, - -1, 613, - 98, 1444, - 135, 1444, + -1, 609, + 98, 1491, + 135, 1491, -2, 1069, -1, 614, - 98, 1327, - 135, 1327, - -2, 1073, + 98, 1400, + 135, 1400, + -2, 1070, + -1, 615, + 98, 1446, + 135, 1446, + -2, 1071, -1, 616, - 98, 1420, - 135, 1420, - -2, 1075, - -1, 1106, - 1, 749, - 5, 749, - 12, 749, - 13, 749, - 14, 749, - 15, 749, - 17, 749, - 19, 749, - 30, 749, - 31, 749, - 56, 749, - 57, 749, - 58, 749, - 59, 749, - 60, 749, - 62, 749, - 63, 749, - 66, 749, - 67, 749, - 69, 749, - 70, 749, - 394, 749, - 490, 749, - -2, 779, - -1, 1110, - 67, 66, - 69, 66, - -2, 70, - -1, 1349, - 135, 1112, - -2, 1108, - -1, 1514, - 44, 501, - -2, 1339, - -1, 1518, - 68, 501, - -2, 1289, + 98, 1447, + 135, 1447, + -2, 1072, + -1, 617, + 98, 1330, + 135, 1330, + -2, 1076, + -1, 619, + 98, 1423, + 135, 1423, + -2, 1078, + -1, 1109, + 1, 752, + 5, 752, + 12, 752, + 13, 752, + 14, 752, + 15, 752, + 17, 752, + 19, 752, + 30, 752, + 31, 752, + 56, 752, + 57, 752, + 58, 752, + 59, 752, + 60, 752, + 62, 752, + 63, 752, + 66, 752, + 67, 752, + 69, 752, + 70, 752, + 394, 752, + 490, 752, + -2, 782, + -1, 1113, + 67, 67, + 69, 67, + -2, 71, + -1, 1352, + 135, 1115, + -2, 1111, + -1, 1517, + 44, 503, + -2, 1342, -1, 1521, - 68, 497, - 72, 497, - -2, 1211, - -1, 1522, - 68, 498, - 72, 498, - -2, 1221, - -1, 1637, - 44, 544, - 155, 546, - 157, 544, - 158, 544, - -2, 579, - -1, 1707, - 5, 50, - -2, 845, - -1, 2006, - 69, 1265, - 70, 1265, - 135, 1265, - -2, 683, - -1, 2029, - 1, 800, - 5, 800, - 12, 800, - 13, 800, - 14, 800, - 15, 800, - 17, 800, - 19, 800, - 30, 800, - 31, 800, - 56, 800, - 57, 800, - 58, 800, - 59, 800, - 60, 800, - 62, 800, - 63, 800, - 66, 800, - 67, 800, - 69, 800, - 70, 800, - 394, 800, - 490, 800, - -2, 779, - -1, 2130, - 155, 547, - -2, 545, - -1, 2191, - 5, 50, - -2, 1037, - -1, 2391, - 41, 1119, - -2, 1117, - -1, 2526, - 5, 50, + 68, 503, + -2, 1292, + -1, 1524, + 68, 499, + 72, 499, + -2, 1214, + -1, 1525, + 68, 500, + 72, 500, + -2, 1224, + -1, 1640, + 44, 546, + 155, 548, + 157, 546, + 158, 546, + -2, 581, + -1, 1710, + 5, 51, + -2, 848, + -1, 2009, + 69, 1268, + 70, 1268, + 135, 1268, + -2, 686, + -1, 2032, + 1, 803, + 5, 803, + 12, 803, + 13, 803, + 14, 803, + 15, 803, + 17, 803, + 19, 803, + 30, 803, + 31, 803, + 56, 803, + 57, 803, + 58, 803, + 59, 803, + 60, 803, + 62, 803, + 63, 803, + 66, 803, + 67, 803, + 69, 803, + 70, 803, + 394, 803, + 490, 803, + -2, 782, + -1, 2133, + 155, 549, + -2, 547, + -1, 2194, + 5, 51, -2, 1040, + -1, 2394, + 41, 1122, + -2, 1120, + -1, 2530, + 5, 51, + -2, 1043, } const yyPrivate = 57344 -const yyLast = 32565 +const yyLast = 32334 var yyAct = [...]int{ - 563, 78, 2721, 2671, 2695, 2543, 2685, 2575, 2508, 2529, - 2673, 2568, 2686, 1566, 2513, 814, 2590, 407, 1948, 2411, - 2444, 7, 2443, 6, 2442, 5, 2542, 2445, 8, 2506, - 503, 2042, 2023, 2338, 2573, 2298, 1931, 1141, 2391, 1057, - 1746, 1922, 630, 1473, 1775, 1564, 492, 506, 1999, 2203, - 1231, 2256, 2279, 1523, 2091, 2250, 2393, 81, 2530, 2234, - 1471, 1327, 2000, 1930, 1506, 1494, 501, 390, 393, 2043, - 2218, 846, 1230, 1576, 1505, 1856, 562, 485, 1467, 78, - 1515, 432, 432, 1796, 438, 104, 2124, 2115, 1539, 1747, - 519, 2008, 2015, 1996, 1636, 1320, 830, 1968, 1660, 1233, - 1374, 91, 1504, 1383, 1446, 449, 1900, 508, 1511, 1602, - 1276, 628, 1450, 125, 1249, 1211, 125, 625, 1335, 1839, - 1438, 1551, 125, 607, 2219, 1121, 959, 1457, 1351, 1555, - 1106, 1618, 435, 435, 966, 1103, 896, 610, 875, 962, - 1102, 624, 488, 1120, 125, 603, 604, 979, 409, 599, - 448, 1281, 410, 498, 801, 125, 874, 596, 626, 125, - 633, 83, 813, 125, 1075, 1112, 2743, 2739, 2729, 970, - 2711, 2709, 2690, 2666, 1076, 2598, 80, 125, 435, 1274, - 633, 2370, 2228, 446, 67, 2702, 2584, 425, 125, 419, - 430, 413, 2684, 2524, 2383, 1867, 35, 2368, 85, 86, - 87, 88, 89, 2654, 2076, 2423, 2559, 2088, 402, 35, - 2583, 2371, 420, 994, 993, 1003, 1004, 996, 997, 998, - 999, 1000, 1001, 1002, 995, 35, 35, 1005, 70, 38, - 39, 1989, 2486, 2441, 3, 2509, 35, 2323, 1589, 1589, - 2523, 1682, 2183, 70, 38, 39, 800, 2235, 35, 36, - 70, 38, 39, 1617, 803, 2237, 806, 807, 79, 1122, - 1741, 1123, 58, 834, 835, 40, 1469, 837, 76, 2038, - 2039, 79, 40, 62, 63, 2579, 620, 1742, 1280, 59, - 1784, 2037, 952, 1783, 2579, 1490, 1785, 79, 79, 1491, - 1492, 2574, 1316, 1317, 1277, 850, 851, 1297, 79, 924, - 836, 1278, 1279, 401, 849, 400, 49, 1822, 932, 2576, - 79, 1525, 484, 107, 1616, 893, 1540, 2170, 2576, 412, - 411, 414, 1545, 2168, 1540, 404, 1527, 384, 399, 445, - 418, 2240, 1862, 578, 2580, 584, 586, 585, 582, 583, - 581, 580, 579, 2580, 1890, 1531, 1533, 422, 1532, 2679, - 1527, 426, 2396, 1385, 587, 588, 97, 928, 929, 2114, - 1895, 2307, 1629, 2600, 2599, 429, 2549, 2098, 1552, 2238, - 2239, 2241, 2242, 2243, 2490, 856, 2257, 2258, 2259, 2260, - 42, 72, 45, 44, 47, 2268, 2275, 78, 78, 1630, - 2480, 1308, 2606, 2369, 116, 112, 113, 1261, 114, 859, - 2547, 2092, 2093, 2094, 2095, 2096, 2362, 864, 1864, 866, - 1577, 865, 48, 75, 74, 110, 99, 2699, 2266, 46, - 96, 908, 2595, 125, 2593, 2594, 109, 108, 2620, 2363, - 118, 117, 2361, 64, 1644, 1638, 1639, 2358, 1637, 494, - 1640, 1641, 948, 2488, 2360, 2359, 939, 2357, 2531, 940, - 956, 1866, 394, 857, 858, 415, 416, 417, 423, 1287, - 427, 428, 431, 385, 56, 57, 2387, 125, 105, 847, - 2205, 848, 850, 851, 2101, 1645, 908, 2251, 106, 2668, - 2365, 65, 119, 66, 120, 2254, 1571, 833, 1767, 2476, - 2477, 391, 2439, 845, 395, 2482, 2587, 2588, 2252, 2253, - 1014, 2089, 111, 1016, 101, 931, 102, 2092, 2093, 2094, - 2095, 2096, 2682, 1570, 125, 1881, 1882, 2662, 843, 844, - 842, 841, 805, 804, 50, 73, 2424, 52, 53, 60, - 2649, 61, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, + 566, 80, 2725, 2675, 2699, 2547, 2689, 2579, 2533, 817, + 2414, 2512, 2690, 1569, 2677, 2546, 2572, 409, 1951, 2594, + 2447, 7, 2510, 2446, 6, 506, 2445, 5, 2448, 8, + 2517, 2045, 2577, 2341, 2301, 1144, 1778, 2394, 2026, 1749, + 1060, 1925, 1567, 495, 1934, 2396, 2259, 1330, 565, 2206, + 1234, 2253, 2094, 633, 1470, 2002, 2282, 1579, 1476, 1526, + 1497, 2237, 2046, 1474, 83, 2534, 504, 2127, 2221, 1518, + 488, 1859, 392, 395, 2118, 2003, 434, 434, 522, 1933, + 1750, 80, 452, 93, 849, 440, 1508, 1639, 1999, 1509, + 1663, 1799, 1507, 106, 509, 833, 2018, 2011, 1323, 1971, + 631, 1236, 1377, 1449, 1386, 1279, 1453, 511, 1605, 1903, + 1252, 1214, 1338, 1554, 127, 1558, 962, 127, 628, 1842, + 2222, 1105, 1124, 127, 1354, 1514, 1460, 610, 965, 1621, + 1441, 899, 878, 437, 437, 969, 1078, 1106, 627, 491, + 1109, 1123, 606, 607, 982, 451, 127, 602, 1284, 412, + 411, 599, 804, 501, 1115, 877, 85, 127, 1079, 2747, + 2743, 127, 636, 2733, 816, 127, 2715, 2713, 2694, 973, + 2670, 2602, 82, 1277, 449, 2373, 2079, 2231, 404, 127, + 437, 69, 636, 36, 36, 629, 613, 2706, 36, 36, + 127, 2371, 2588, 2688, 87, 88, 89, 90, 91, 2528, + 2658, 2386, 1870, 1592, 2563, 2374, 36, 1744, 72, 39, + 40, 2091, 2587, 1992, 2490, 427, 2513, 421, 432, 415, + 1685, 2186, 803, 2040, 1745, 2326, 2041, 2042, 1620, 1472, + 72, 39, 40, 2444, 3, 36, 955, 72, 39, 40, + 422, 1592, 1283, 1493, 2527, 81, 81, 1494, 1495, 59, + 81, 81, 41, 1300, 806, 78, 809, 810, 1787, 41, + 927, 1786, 1319, 1320, 1788, 1281, 1282, 1125, 81, 1126, + 853, 854, 2238, 837, 838, 623, 935, 840, 403, 402, + 2240, 1825, 1619, 1528, 1233, 896, 1534, 1536, 1542, 1535, + 852, 1548, 2310, 1543, 1543, 406, 581, 81, 587, 589, + 588, 585, 586, 584, 583, 582, 2583, 109, 2173, 1944, + 839, 2171, 1264, 1280, 487, 1530, 862, 590, 591, 2426, + 386, 2474, 2578, 2583, 2697, 2700, 2696, 997, 996, 1006, + 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 401, + 2580, 1008, 448, 931, 932, 1865, 442, 414, 413, 416, + 99, 1893, 1530, 1388, 2683, 2399, 2243, 2580, 420, 2117, + 2604, 1555, 2101, 1898, 2254, 2584, 1632, 43, 74, 46, + 45, 48, 2257, 68, 2603, 424, 1817, 859, 2553, 428, + 2494, 2551, 2584, 2475, 2271, 2255, 2256, 2372, 2278, 80, + 80, 1822, 1821, 431, 2241, 2242, 2244, 2245, 2246, 49, + 77, 76, 911, 1633, 1311, 2484, 47, 2610, 1867, 867, + 101, 1580, 869, 1818, 98, 868, 2260, 2261, 2262, 2263, + 111, 110, 112, 942, 2269, 127, 943, 2703, 1823, 2599, + 1810, 2597, 2598, 2366, 2365, 2364, 1811, 2363, 118, 114, + 115, 497, 116, 2362, 2360, 951, 2492, 1869, 860, 861, + 1574, 57, 58, 959, 2476, 850, 387, 851, 853, 854, + 2361, 2624, 107, 2095, 2096, 2097, 2098, 2099, 66, 127, + 67, 2390, 108, 934, 120, 119, 2104, 1573, 911, 2672, + 2368, 393, 396, 417, 418, 419, 425, 1290, 429, 430, + 433, 2480, 2481, 2591, 2592, 2535, 2208, 836, 103, 1770, + 104, 2442, 1820, 1017, 2666, 2686, 1019, 1884, 1885, 113, + 2486, 2477, 75, 2092, 53, 54, 61, 127, 62, 2095, + 2096, 2097, 2098, 2099, 397, 848, 121, 1265, 122, 846, + 847, 863, 2078, 405, 1543, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, - 2075, 982, 1055, 403, 1059, 1060, 1061, 1062, 1063, 1064, - 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1829, 1074, 1077, - 1077, 1077, 1083, 1077, 1077, 1083, 1077, 1083, 1092, 1093, - 1094, 1095, 1096, 1097, 2236, 1107, 2577, 1969, 2116, 1623, - 71, 1530, 945, 1540, 2522, 2577, 1554, 2384, 1868, 1865, - 1015, 1280, 1262, 2487, 860, 71, 2481, 1441, 115, 77, - 863, 867, 71, 907, 908, 2437, 947, 1140, 392, 2548, - 504, 954, 77, 1113, 1278, 1279, 2386, 1643, 1814, 1971, - 98, 941, 2366, 392, 2100, 918, 392, 387, 77, 77, - 1857, 610, 421, 1819, 1818, 2677, 610, 2725, 2672, 77, - 125, 125, 125, 1019, 1020, 1021, 1022, 1023, 1024, 1025, - 1026, 77, 2675, 1101, 2735, 1815, 633, 1140, 1134, 2280, - 2281, 1908, 1140, 388, 2046, 1139, 1858, 1282, 107, 1140, - 1820, 1906, 1807, 1908, 1801, 1476, 1478, 2129, 1808, 2744, - 2741, 2730, 1109, 2712, 802, 816, 2492, 915, 451, 877, - 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, - 888, 1919, 1284, 2339, 444, 1283, 1586, 1125, 2291, 2290, - 1204, 1585, 1126, 1889, 1801, 904, 1886, 2341, 1870, 1200, - 1869, 1624, 1138, 1801, 1078, 1080, 1082, 1084, 1086, 1088, - 1089, 1091, 1219, 1111, 1079, 1081, 1217, 1085, 1087, 861, - 1090, 1774, 1801, 1116, 1817, 913, 1773, 1772, 1973, 798, - 1884, 951, 1801, 1977, 808, 1972, 356, 1970, 2294, 1859, - 1860, 2155, 1975, 1135, 1477, 2485, 1017, 1018, 2147, 2723, - 1888, 914, 2724, 910, 2722, 1974, 1887, 1056, 1800, 1804, - 1788, 109, 108, 1717, 1914, 1906, 1780, 392, 1714, 1911, - 1976, 1978, 1910, 1913, 1677, 2340, 2674, 2676, 903, 1665, - 1650, 1330, 1133, 432, 2065, 1213, 911, 912, 1118, 985, - 826, 995, 1941, 1495, 1005, 1005, 2110, 1486, 1800, 2507, - 432, 967, 1232, 1259, 2305, 1906, 2373, 1800, 1925, 1140, - 1918, 986, 1907, 1908, 1915, 2621, 2622, 1212, 2289, 998, - 999, 1000, 1001, 1002, 995, 633, 1800, 1005, 1451, 1235, - 2618, 2619, 1250, 435, 435, 1323, 1800, 2519, 2518, 1358, - 2374, 976, 125, 2066, 978, 125, 2652, 1991, 2295, 1923, - 435, 435, 2013, 125, 1356, 1357, 1355, 1593, 978, 832, - 2012, 1269, 125, 125, 125, 125, 1257, 1003, 1004, 996, - 997, 998, 999, 1000, 1001, 1002, 995, 1058, 815, 1005, - 432, 94, 435, 1712, 1131, 1711, 1236, 839, 1017, 1018, - 1073, 1272, 868, 1017, 1018, 852, 809, 1439, 1245, 1246, - 1247, 1248, 1206, 977, 976, 2715, 2696, 2714, 1439, 78, - 1730, 1816, 1328, 1329, 1306, 2591, 1290, 2630, 2728, 2629, - 2663, 978, 1253, 1214, 1254, 2267, 93, 443, 2261, 1251, - 435, 435, 435, 1221, 1845, 633, 1288, 993, 1003, 1004, - 996, 997, 998, 999, 1000, 1001, 1002, 995, 1239, 1240, - 1005, 977, 976, 831, 1594, 1312, 996, 997, 998, 999, - 1000, 1001, 1002, 995, 92, 435, 1005, 2053, 1256, 978, - 435, 435, 973, 2545, 977, 976, 1311, 78, 125, 963, - 125, 1321, 964, 633, 840, 2736, 1264, 1265, 1349, 854, - 1267, 79, 978, 818, 819, 820, 821, 822, 823, 824, - 2552, 125, 1354, 977, 976, 1713, 1270, 982, 1378, 1379, - 1348, 1286, 1940, 1285, 593, 594, 2544, 1289, 2527, 2546, - 1059, 978, 1662, 1663, 1664, 1352, 994, 993, 1003, 1004, - 996, 997, 998, 999, 1000, 1001, 1002, 995, 451, 2737, - 1005, 2381, 977, 976, 2380, 1347, 2642, 2483, 1313, 2732, - 2379, 1307, 2378, 633, 1310, 2372, 1353, 2641, 977, 976, - 978, 2227, 957, 2226, 1318, 2665, 1844, 2603, 1470, 977, - 976, 977, 976, 1107, 1424, 1427, 978, 1107, 2592, 977, - 976, 1375, 1440, 1376, 1603, 983, 1993, 978, 1345, 978, - 1341, 1343, 1344, 2484, 1842, 1823, 1342, 978, 1392, 899, - 898, 1350, 1396, 2601, 1359, 1360, 1361, 1362, 1363, 1364, - 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 633, - 633, 1235, 2558, 977, 976, 1332, 125, 610, 1786, 2591, - 1787, 872, 2479, 2478, 125, 125, 1349, 2436, 2388, 125, - 125, 978, 1314, 125, 125, 125, 1238, 2356, 1220, 1333, - 2317, 1481, 1334, 2264, 871, 1483, 2263, 1381, 1499, 2262, - 2224, 1389, 626, 633, 633, 2058, 1255, 1840, 1466, 1613, - 1398, 1399, 1501, 1266, 1475, 1109, 1237, 2628, 2627, 2489, - 1109, 1409, 1430, 1479, 1109, 1413, 2434, 2405, 1804, 2399, - 2287, 1442, 2158, 1500, 2143, 2139, 1583, 2131, 2102, 2086, - 2085, 1436, 2084, 1875, 1874, 1058, 1541, 1542, 1543, 1544, - 1056, 1200, 1607, 1591, 1590, 1512, 1377, 1263, 1199, 1083, - 94, 1260, 1519, 1229, 1228, 1488, 1487, 1484, 1493, 1581, - 1582, 125, 1227, 1226, 1215, 1209, 1208, 1207, 1502, 1509, - 1205, 125, 894, 125, 125, 435, 435, 435, 828, 398, - 125, 396, 958, 1417, 524, 523, 526, 527, 528, 529, - 1609, 1476, 1478, 525, 530, 2330, 2655, 2214, 2648, 2398, - 1561, 1562, 2565, 958, 1553, 2214, 2563, 125, 125, 125, - 1647, 2214, 2561, 2350, 1557, 1558, 1559, 1560, 2214, 2438, - 1338, 1339, 2330, 2430, 2330, 2346, 2330, 958, 2330, 2329, - 2349, 1056, 125, 938, 125, 2081, 1595, 1997, 633, 1666, - 2011, 1601, 633, 994, 993, 1003, 1004, 996, 997, 998, - 999, 1000, 1001, 1002, 995, 2214, 2213, 1005, 2195, 958, - 1649, 958, 1776, 1349, 633, 2149, 1776, 633, 1459, 1462, - 1463, 1464, 1460, 1615, 1461, 1465, 2073, 2072, 2016, 2017, - 1477, 1114, 561, 2069, 2070, 1348, 2069, 2068, 1675, 958, - 1454, 958, 1626, 1625, 1415, 1610, 2059, 1608, 1415, 958, - 1137, 1136, 1614, 1058, 1114, 1453, 2397, 1621, 1422, 1423, - 1776, 82, 1575, 1605, 1480, 1325, 1113, 1109, 904, 1454, - 1500, 943, 1352, 2150, 942, 901, 2613, 902, 902, 1628, - 2011, 1415, 1631, 2570, 2189, 1589, 2082, 1115, 2071, 1117, - 1646, 1743, 1745, 2025, 1454, 1107, 1107, 1107, 1107, 1107, - 1899, 1654, 1574, 1353, 1652, 1653, 1790, 1489, 1675, 1671, - 1115, 1470, 1113, 1768, 2150, 1675, 1324, 2011, 1735, 1734, - 1268, 1107, 617, 1633, 1667, 1498, 629, 1588, 1326, 904, - 953, 1459, 1462, 1463, 1464, 1460, 1749, 1461, 1465, 1309, - 1275, 1748, 1218, 1216, 1565, 1119, 817, 621, 79, 2585, - 1668, 1669, 1670, 2562, 2024, 2404, 2402, 2229, 1705, 1771, - 1527, 125, 125, 125, 125, 125, 1778, 2201, 1779, 1556, - 2052, 2016, 2017, 125, 1552, 1794, 610, 125, 908, 1572, - 1547, 125, 1546, 1201, 891, 1604, 406, 125, 2706, 2704, - 2687, 2080, 2019, 1997, 1846, 1563, 1223, 944, 1729, 1777, - 905, 900, 1109, 1109, 1109, 1109, 1109, 78, 1759, 79, - 1757, 633, 1763, 1760, 1761, 1758, 1463, 1464, 1109, 1791, - 1770, 1661, 2022, 2021, 451, 1722, 1723, 1724, 1109, 1756, - 1755, 1751, 1752, 1762, 1754, 1750, 489, 490, 1753, 2624, - 2582, 1928, 1803, 1805, 1651, 1832, 1336, 1834, 1835, 1836, - 1837, 983, 1125, 437, 2612, 1781, 2192, 1824, 1825, 1659, - 432, 1658, 1880, 2320, 1831, 1212, 1200, 1793, 1789, 971, - 972, 2286, 633, 2217, 1838, 2138, 2137, 1873, 1806, 2057, - 1872, 435, 1799, 1802, 2056, 1798, 2048, 2494, 78, 2497, - 1390, 1391, 2557, 2556, 2392, 125, 435, 2602, 969, 2390, - 2475, 1401, 1402, 1403, 1404, 2474, 397, 1841, 1878, 2375, - 2376, 435, 1833, 960, 1414, 1416, 1843, 1132, 889, 873, - 967, 1421, 870, 1949, 1744, 961, 869, 829, 2637, 2409, - 1863, 435, 2408, 633, 2187, 2296, 1877, 1891, 1612, 435, - 1328, 1329, 2269, 1568, 1417, 1897, 1222, 2614, 2550, 2270, - 2394, 1849, 1526, 1876, 1926, 1927, 633, 633, 971, 972, - 1349, 1600, 125, 94, 1883, 1319, 1885, 1203, 949, 950, - 1933, 2636, 633, 1657, 2635, 2634, 2353, 855, 486, 451, - 2605, 1656, 1348, 2002, 78, 1909, 1903, 1920, 1921, 633, - 2604, 1924, 1898, 2554, 2498, 1904, 2417, 1879, 2413, 487, - 82, 2412, 1901, 1912, 1917, 2299, 1776, 2119, 2027, 1706, - 1199, 1934, 1896, 2031, 2032, 2033, 1894, 1943, 1935, 1939, - 2708, 2707, 1998, 1893, 1749, 1990, 1851, 1852, 1853, 1748, - 1718, 2010, 1715, 1731, 1632, 1252, 974, 2707, 2708, 2427, - 1848, 2055, 1322, 621, 440, 442, 2455, 51, 1321, 84, - 633, 1980, 633, 1979, 2030, 2457, 19, 2456, 18, 2001, - 2458, 20, 2036, 2459, 21, 54, 1937, 2454, 15, 2453, - 14, 2447, 10, 2034, 1, 633, 2468, 33, 1622, 2005, - 2467, 32, 2466, 28, 2026, 1292, 2020, 2465, 27, 2464, - 26, 2462, 23, 1933, 2249, 633, 2248, 633, 2255, 633, - 2028, 633, 2078, 2079, 2461, 22, 2087, 2041, 1981, 1982, - 2090, 1983, 1984, 2463, 24, 1985, 2047, 1606, 2049, 1861, - 432, 1056, 2097, 2050, 2452, 13, 2051, 2265, 1994, 1995, - 2060, 2061, 1210, 2040, 2364, 2083, 812, 2064, 2449, 12, - 2448, 11, 2446, 9, 2067, 1573, 895, 1561, 451, 1562, - 2555, 2493, 2495, 125, 2389, 2062, 2271, 2233, 2232, 1855, - 1854, 2104, 890, 2029, 1273, 1902, 1905, 1584, 1642, 2505, - 1513, 435, 1634, 1503, 623, 90, 125, 435, 1648, 1592, - 2099, 838, 364, 1510, 1812, 2496, 892, 1811, 1821, 1524, - 1810, 125, 1809, 435, 2491, 633, 435, 1813, 1145, 2109, - 435, 435, 2113, 435, 1143, 1144, 2117, 2118, 2054, 2120, - 1142, 1147, 2107, 2105, 1146, 2148, 368, 2003, 2151, 633, - 1127, 2537, 2157, 125, 633, 2127, 975, 100, 2128, 55, - 2181, 633, 633, 2288, 2122, 1673, 617, 2121, 1916, 95, - 1676, 617, 1128, 103, 370, 1678, 1679, 2142, 1013, 1655, - 1684, 1685, 1686, 1687, 1688, 1689, 1782, 608, 1692, 1200, - 609, 601, 955, 1697, 1698, 1699, 1700, 2517, 1702, 1703, - 1704, 1447, 2106, 2567, 2586, 1707, 1708, 1709, 1710, 965, - 2510, 1728, 1072, 1437, 1716, 507, 1766, 1719, 1720, 2304, - 2512, 1340, 1725, 1726, 1749, 522, 521, 520, 1732, 1748, - 1733, 517, 518, 1736, 1737, 2578, 1738, 1739, 2196, 1599, - 1331, 1740, 987, 2207, 125, 2074, 505, 496, 1105, 1098, - 78, 2209, 2210, 2211, 1992, 1764, 1765, 1611, 1458, 1456, - 2153, 633, 2188, 1455, 1224, 597, 2018, 451, 633, 633, - 633, 2197, 2220, 2166, 2014, 451, 1468, 633, 1104, 68, - 853, 386, 2212, 2182, 2422, 1791, 37, 441, 491, 633, - 25, 17, 2245, 2246, 2247, 862, 16, 1635, 2222, 810, - 2035, 2208, 41, 43, 1850, 1569, 2536, 2670, 876, 2694, - 2178, 2179, 2180, 2589, 31, 1797, 2221, 125, 30, 29, - 1107, 2460, 2469, 2451, 2450, 2657, 2656, 2223, 2244, 2225, - 4, 946, 69, 2282, 2283, 34, 619, 2, 0, 0, - 0, 0, 0, 2284, 0, 0, 0, 0, 0, 2272, - 0, 0, 0, 0, 0, 2277, 435, 2301, 2302, 0, - 2002, 1202, 2276, 2002, 2325, 2292, 0, 2273, 0, 2285, - 0, 2274, 0, 0, 0, 0, 2027, 0, 0, 0, - 2278, 2047, 2297, 0, 633, 0, 125, 0, 0, 0, - 1933, 0, 633, 1681, 1683, 0, 0, 0, 2300, 0, - 2293, 0, 0, 0, 1693, 1694, 1695, 1696, 0, 0, - 0, 2322, 1561, 0, 2352, 0, 2354, 0, 0, 0, - 0, 2328, 2321, 2306, 0, 0, 0, 1109, 0, 0, - 0, 2351, 633, 0, 0, 0, 2001, 2332, 633, 2001, - 0, 0, 2337, 125, 2327, 125, 2144, 2343, 2344, 0, - 0, 633, 2331, 0, 2342, 494, 0, 0, 0, 2347, - 0, 2348, 1938, 2355, 0, 0, 633, 2410, 1946, 0, - 0, 1293, 2345, 0, 0, 2367, 0, 2377, 1956, 1957, - 0, 0, 1475, 2230, 2333, 0, 2382, 0, 0, 1963, - 0, 0, 0, 1967, 2002, 0, 78, 2308, 2309, 2310, - 2311, 2395, 0, 0, 0, 2315, 2400, 2401, 0, 2318, - 2319, 2385, 0, 0, 0, 2414, 2407, 2184, 2415, 629, - 0, 0, 0, 0, 0, 78, 1058, 958, 633, 0, - 2440, 2004, 2416, 0, 0, 0, 2198, 2199, 0, 2403, - 2200, 2433, 2428, 2202, 0, 0, 0, 2432, 629, 0, - 0, 1058, 2435, 0, 1721, 0, 0, 0, 0, 0, - 0, 1108, 0, 0, 0, 0, 0, 633, 1107, 0, - 2001, 0, 0, 994, 993, 1003, 1004, 996, 997, 998, - 999, 1000, 1001, 1002, 995, 0, 0, 1005, 0, 1380, - 0, 0, 0, 0, 0, 2045, 0, 2324, 0, 0, - 0, 0, 0, 0, 2501, 0, 2503, 0, 122, 0, - 0, 0, 0, 958, 0, 2499, 0, 389, 0, 2502, - 2515, 0, 2516, 0, 2532, 0, 0, 2520, 0, 0, - 0, 435, 0, 0, 125, 0, 0, 617, 2525, 633, - 1749, 633, 0, 0, 78, 1748, 2500, 0, 0, 0, - 598, 0, 0, 0, 622, 1443, 1444, 0, 799, 994, - 993, 1003, 1004, 996, 997, 998, 999, 1000, 1001, 1002, - 995, 0, 811, 1005, 125, 1109, 0, 0, 0, 0, - 0, 0, 617, 825, 0, 0, 0, 1950, 0, 0, - 1953, 1954, 1955, 0, 2551, 1958, 629, 0, 0, 629, - 629, 2126, 2553, 0, 0, 2571, 0, 2541, 1797, 633, - 0, 2133, 2135, 0, 0, 2560, 0, 0, 0, 0, - 0, 2126, 2152, 0, 2581, 0, 0, 0, 0, 2429, - 0, 0, 2504, 0, 2433, 0, 0, 0, 0, 0, - 0, 2608, 0, 2610, 633, 2596, 633, 0, 0, 0, - 2616, 0, 2617, 0, 0, 2615, 2162, 0, 0, 0, - 0, 0, 0, 78, 2609, 2611, 2607, 2171, 2172, 78, - 2626, 0, 0, 2177, 2640, 0, 2631, 0, 0, 0, - 0, 2623, 0, 0, 0, 1949, 0, 0, 0, 2633, - 2190, 2191, 432, 2193, 2646, 2650, 2194, 2647, 0, 633, - 0, 78, 0, 2651, 0, 2625, 78, 0, 451, 0, - 0, 0, 0, 0, 0, 2667, 2206, 2661, 0, 2660, - 0, 2659, 633, 0, 2658, 494, 2680, 2664, 2681, 0, - 2683, 0, 2638, 78, 633, 0, 78, 78, 0, 0, - 2688, 78, 2640, 435, 1620, 0, 2697, 0, 1620, 0, - 633, 0, 0, 2701, 0, 0, 0, 0, 0, 2689, - 633, 78, 2691, 2705, 78, 432, 2640, 2700, 2703, 2716, - 1620, 0, 2718, 1620, 0, 0, 0, 0, 0, 0, - 78, 2726, 78, 0, 0, 2640, 78, 2640, 0, 0, - 2713, 0, 0, 629, 0, 0, 906, 0, 2186, 0, - 78, 1944, 1945, 78, 0, 2640, 0, 0, 1951, 1952, - 78, 0, 2731, 0, 78, 2640, 435, 0, 827, 2640, - 1959, 1960, 1961, 1962, 2126, 1964, 1965, 1966, 2185, 2740, - 0, 0, 0, 0, 0, 0, 2511, 2514, 0, 0, - 0, 1058, 0, 0, 2126, 994, 993, 1003, 1004, 996, - 997, 998, 999, 1000, 1001, 1002, 995, 0, 0, 1005, - 0, 2678, 897, 0, 0, 0, 2312, 2313, 2314, 0, - 2316, 0, 0, 0, 0, 994, 993, 1003, 1004, 996, - 997, 998, 999, 1000, 1001, 1002, 995, 0, 0, 1005, - 0, 0, 0, 0, 2533, 2534, 0, 2334, 2335, 2336, - 0, 0, 0, 0, 0, 0, 0, 451, 0, 451, - 0, 0, 0, 0, 0, 2045, 617, 0, 0, 0, - 0, 0, 0, 0, 0, 2719, 0, 0, 0, 0, - 2045, 1528, 1529, 0, 1534, 1535, 1536, 1537, 1538, 2669, - 0, 0, 0, 0, 0, 968, 989, 0, 992, 0, - 0, 617, 1548, 1549, 1550, 1006, 1007, 1008, 1009, 1010, - 1011, 1012, 0, 990, 991, 988, 0, 629, 0, 0, - 0, 0, 479, 994, 993, 1003, 1004, 996, 997, 998, - 999, 1000, 1001, 1002, 995, 1988, 0, 1005, 0, 0, - 0, 0, 123, 2130, 2514, 383, 2418, 2419, 2420, 2421, - 0, 123, 483, 0, 0, 0, 2425, 2426, 0, 0, - 0, 0, 0, 0, 0, 2632, 0, 0, 0, 0, - 0, 0, 0, 450, 0, 0, 0, 0, 1847, 0, - 0, 495, 0, 0, 600, 618, 0, 0, 123, 0, - 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1100, 123, 1110, 0, 0, - 0, 2154, 0, 0, 0, 0, 0, 123, 0, 2156, - 0, 0, 0, 0, 0, 0, 2176, 0, 0, 2159, - 2160, 1140, 0, 0, 0, 0, 2161, 0, 0, 1892, - 994, 993, 1003, 1004, 996, 997, 998, 999, 1000, 1001, - 1002, 995, 0, 2045, 1005, 2045, 0, 0, 473, 0, - 2521, 0, 629, 629, 0, 0, 0, 2526, 0, 0, - 2717, 0, 0, 0, 0, 0, 0, 0, 629, 0, - 1382, 1387, 1388, 0, 0, 0, 0, 1393, 1394, 1395, - 629, 1397, 0, 0, 1400, 1947, 0, 0, 0, 1405, - 1406, 1407, 1408, 0, 1410, 1411, 1412, 0, 0, 0, - 1167, 0, 1418, 1419, 1420, 0, 0, 0, 1426, 1429, - 0, 1434, 1435, 994, 993, 1003, 1004, 996, 997, 998, - 999, 1000, 1001, 1002, 995, 2175, 0, 1005, 0, 0, - 0, 0, 0, 2564, 0, 0, 1445, 0, 1448, 1449, - 0, 0, 0, 0, 617, 2572, 629, 0, 2009, 909, - 916, 917, 919, 920, 921, 922, 923, 0, 925, 926, - 927, 0, 930, 0, 933, 934, 935, 936, 937, 0, - 0, 2009, 0, 0, 0, 479, 994, 993, 1003, 1004, - 996, 997, 998, 999, 1000, 1001, 1002, 995, 0, 0, - 1005, 629, 2123, 629, 0, 629, 2125, 2044, 2174, 0, - 0, 1154, 0, 2045, 0, 483, 0, 0, 0, 0, - 0, 0, 0, 0, 479, 0, 0, 598, 0, 0, - 1225, 0, 994, 993, 1003, 1004, 996, 997, 998, 999, - 1000, 1001, 1002, 995, 0, 1795, 1005, 1241, 1242, 1243, - 1244, 0, 123, 1168, 483, 0, 0, 0, 0, 0, - 0, 0, 0, 1826, 1827, 1828, 1830, 0, 453, 454, - 455, 456, 457, 461, 462, 466, 467, 476, 475, 474, - 477, 478, 481, 480, 482, 458, 459, 460, 463, 464, - 465, 468, 469, 472, 470, 471, 123, 0, 0, 0, - 0, 2112, 0, 0, 0, 994, 993, 1003, 1004, 996, - 997, 998, 999, 1000, 1001, 1002, 995, 1936, 0, 1005, - 0, 473, 0, 0, 0, 2136, 0, 0, 0, 0, - 2141, 0, 0, 1140, 0, 0, 0, 2145, 2146, 0, - 0, 0, 0, 450, 0, 994, 993, 1003, 1004, 996, - 997, 998, 999, 1000, 1001, 1002, 995, 2733, 2734, 1005, - 473, 0, 0, 1315, 0, 0, 0, 0, 0, 2173, - 1181, 1184, 1185, 1186, 1187, 1188, 1189, 0, 1190, 1191, - 1192, 1193, 1194, 1195, 1196, 1197, 1337, 1169, 1170, 1171, - 1172, 1148, 1152, 1182, 1149, 1155, 1151, 1153, 1150, 0, - 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, - 1166, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 0, - 0, 0, 0, 0, 617, 0, 0, 0, 0, 0, - 0, 0, 0, 1674, 0, 0, 0, 2204, 0, 0, - 0, 1680, 0, 0, 2204, 2204, 2204, 0, 0, 0, - 1690, 1691, 0, 629, 0, 0, 0, 0, 0, 0, - 0, 1701, 0, 0, 0, 2204, 994, 993, 1003, 1004, - 996, 997, 998, 999, 1000, 1001, 1002, 995, 0, 0, - 1005, 0, 0, 0, 1672, 0, 0, 0, 1727, 123, - 123, 123, 0, 0, 0, 0, 0, 0, 0, 618, - 0, 0, 0, 0, 618, 0, 0, 1183, 0, 0, - 0, 1452, 994, 993, 1003, 1004, 996, 997, 998, 999, - 1000, 1001, 1002, 995, 0, 1482, 1005, 0, 0, 0, - 0, 453, 454, 455, 456, 457, 461, 462, 466, 467, - 476, 475, 474, 477, 478, 481, 480, 482, 458, 459, - 460, 463, 464, 465, 468, 469, 472, 470, 471, 0, - 629, 0, 2063, 0, 0, 0, 0, 0, 629, 0, - 453, 454, 455, 456, 457, 461, 462, 466, 467, 476, - 475, 474, 477, 478, 481, 480, 482, 458, 459, 460, - 463, 464, 465, 468, 469, 472, 470, 471, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2326, 0, - 0, 0, 0, 0, 2204, 0, 1567, 0, 0, 0, - 35, 0, 70, 38, 39, 0, 1578, 2044, 1579, 1580, - 0, 0, 0, 0, 58, 1587, 0, 0, 0, 0, - 76, 0, 2044, 0, 40, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1291, 0, 0, 1294, 1295, 1296, - 0, 1298, 1299, 0, 1598, 1300, 0, 0, 0, 0, - 0, 1301, 0, 0, 0, 1302, 1303, 0, 1304, 1305, - 0, 0, 79, 2698, 0, 0, 0, 897, 1987, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2163, 2164, 2406, 2165, 2470, 0, 2167, 0, - 2169, 123, 0, 1986, 123, 0, 0, 0, 0, 0, - 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, - 0, 123, 123, 123, 123, 0, 0, 0, 0, 0, - 0, 0, 0, 2431, 0, 0, 0, 0, 0, 0, - 0, 0, 42, 72, 45, 44, 47, 0, 0, 0, - 379, 0, 0, 0, 0, 0, 0, 0, 2471, 0, - 0, 0, 0, 0, 0, 0, 0, 2215, 2216, 0, - 0, 0, 0, 0, 48, 75, 74, 0, 0, 0, - 0, 46, 0, 994, 993, 1003, 1004, 996, 997, 998, - 999, 1000, 1001, 1002, 995, 0, 0, 1005, 0, 0, - 0, 0, 0, 0, 0, 2044, 0, 2044, 994, 993, - 1003, 1004, 996, 997, 998, 999, 1000, 1001, 1002, 995, - 0, 0, 1005, 0, 0, 0, 56, 57, 0, 2472, - 617, 0, 0, 0, 0, 0, 0, 123, 0, 450, - 0, 0, 0, 65, 0, 66, 0, 0, 357, 0, - 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, - 123, 0, 0, 0, 0, 369, 377, 378, 0, 0, - 0, 1234, 0, 0, 0, 629, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2473, 73, 0, 52, - 53, 60, 0, 61, 0, 0, 0, 0, 0, 0, - 366, 0, 0, 367, 0, 1167, 375, 376, 0, 0, - 2566, 0, 2569, 0, 1386, 1386, 1386, 0, 0, 0, - 1386, 1386, 1386, 1386, 1386, 1386, 0, 0, 1386, 0, - 0, 0, 0, 1386, 1386, 1386, 1386, 0, 1386, 1386, - 1386, 0, 0, 0, 2597, 0, 1386, 1386, 1386, 0, - 0, 0, 1386, 1386, 0, 1386, 1386, 372, 0, 0, - 618, 0, 0, 0, 0, 2044, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, - 1386, 1386, 1386, 1386, 71, 123, 0, 0, 2204, 0, - 1871, 0, 0, 123, 450, 0, 0, 0, 123, 123, - 629, 0, 123, 1485, 1234, 618, 1154, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2569, 0, 0, 1234, - 0, 0, 0, 0, 0, 0, 2653, 0, 0, 0, - 0, 358, 0, 77, 1627, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1168, 0, - 0, 0, 0, 0, 0, 0, 0, 1929, 0, 0, - 0, 0, 0, 0, 371, 361, 362, 0, 382, 0, - 0, 0, 363, 365, 0, 359, 381, 380, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 0, 123, 123, 0, 0, 0, 0, 0, 123, - 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1596, 1597, 123, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 123, 0, 450, 0, 1181, 1184, 1185, 1186, 1187, - 1188, 1189, 0, 1190, 1191, 1192, 1193, 1194, 1195, 1196, - 1197, 0, 1169, 1170, 1171, 1172, 1148, 1152, 1182, 1149, - 1155, 1151, 1153, 1150, 0, 1156, 1157, 1158, 1159, 1160, - 1161, 1162, 1163, 1164, 1165, 1166, 1173, 1174, 1175, 1176, - 1177, 1178, 1179, 1180, 0, 35, 1234, 70, 38, 39, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, - 0, 0, 0, 0, 0, 76, 0, 0, 0, 40, - 0, 0, 0, 0, 0, 0, 0, 0, 2077, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, - 0, 2103, 0, 0, 0, 1386, 0, 79, 0, 0, - 0, 0, 0, 0, 1386, 1386, 2108, 0, 0, 0, - 0, 0, 0, 0, 0, 1386, 0, 0, 0, 1386, - 0, 2470, 1183, 0, 2693, 2696, 2692, 35, 0, 70, - 38, 39, 0, 0, 0, 0, 0, 0, 2140, 0, - 0, 58, 1386, 0, 0, 0, 0, 76, 0, 0, - 0, 40, 0, 0, 0, 0, 0, 0, 0, 618, - 123, 123, 123, 123, 123, 0, 0, 42, 72, 45, - 44, 47, 450, 0, 0, 0, 123, 0, 0, 0, - 450, 0, 0, 2471, 0, 0, 123, 0, 0, 79, - 0, 0, 0, 0, 618, 0, 0, 0, 0, 48, - 75, 74, 0, 0, 0, 0, 46, 0, 0, 0, - 0, 0, 0, 2470, 0, 0, 0, 0, 2742, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 57, 0, 2472, 0, 0, 0, 0, 42, - 72, 45, 44, 47, 0, 0, 0, 0, 65, 0, - 66, 0, 0, 0, 0, 2471, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 75, 74, 123, 0, 0, 0, 46, 0, - 0, 0, 2231, 35, 0, 70, 38, 39, 0, 0, - 0, 2473, 73, 0, 52, 53, 60, 58, 61, 0, - 0, 0, 0, 76, 0, 0, 0, 40, 35, 0, - 70, 38, 39, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 58, 56, 57, 0, 2472, 0, 76, 0, - 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, - 65, 123, 66, 0, 0, 79, 0, 0, 0, 0, - 0, 0, 1386, 0, 0, 0, 0, 0, 0, 0, - 0, 1386, 0, 1234, 0, 0, 0, 0, 0, 2470, - 79, 0, 0, 0, 2738, 0, 0, 0, 0, 0, - 0, 0, 0, 2473, 73, 0, 52, 53, 60, 71, - 61, 0, 0, 0, 2470, 0, 0, 0, 0, 2727, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 42, 72, 45, 44, 47, - 0, 0, 0, 0, 0, 0, 0, 618, 0, 0, - 0, 2471, 0, 0, 0, 0, 0, 0, 77, 0, - 42, 72, 45, 44, 47, 0, 0, 48, 75, 74, - 0, 0, 0, 0, 46, 0, 2471, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 75, 74, 0, 0, 0, 0, 46, - 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, - 57, 0, 2472, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 65, 0, 66, 0, - 0, 0, 0, 0, 56, 57, 0, 2472, 0, 0, - 77, 0, 123, 0, 0, 0, 0, 0, 0, 0, - 0, 65, 0, 66, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 123, 479, 0, 0, 2473, - 73, 0, 52, 53, 60, 0, 61, 0, 0, 0, - 123, 0, 0, 0, 0, 0, 35, 1198, 70, 38, - 39, 0, 0, 0, 2473, 73, 483, 52, 53, 60, - 58, 61, 0, 0, 0, 0, 76, 0, 0, 0, - 40, 0, 123, 0, 0, 0, 0, 479, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2125, 0, - 0, 0, 0, 0, 0, 0, 0, 483, 79, 2528, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 479, 0, 0, 71, 0, 0, - 0, 0, 2470, 0, 0, 1140, 35, 2710, 70, 38, - 39, 0, 0, 0, 0, 2134, 0, 0, 0, 0, - 58, 0, 71, 0, 483, 0, 76, 0, 0, 0, - 40, 0, 473, 450, 0, 0, 0, 618, 0, 0, - 0, 0, 0, 0, 0, 0, 77, 0, 42, 72, - 45, 44, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2471, 0, 0, 0, 79, 0, - 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 75, 74, 473, 0, 0, 0, 46, 0, 0, - 0, 0, 2470, 0, 0, 0, 0, 2639, 0, 0, - 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 473, 0, 56, 57, 0, 2472, 0, 0, 42, 72, - 45, 44, 47, 0, 0, 0, 0, 0, 0, 65, - 0, 66, 0, 0, 2471, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 75, 74, 0, 0, 123, 0, 46, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2473, 73, 0, 52, 53, 60, 0, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 56, 57, 0, 2472, 0, 0, 0, 0, - 0, 0, 450, 0, 450, 0, 0, 0, 0, 65, - 0, 66, 453, 454, 455, 456, 457, 461, 462, 466, - 467, 476, 475, 474, 477, 478, 481, 480, 482, 458, - 459, 460, 463, 464, 465, 468, 469, 472, 470, 471, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2473, 73, 0, 52, 53, 60, 0, 61, - 71, 0, 0, 453, 454, 455, 456, 457, 461, 462, - 466, 467, 476, 475, 474, 477, 478, 481, 480, 482, - 458, 459, 460, 463, 464, 465, 468, 469, 472, 470, - 471, 0, 0, 0, 0, 0, 0, 495, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, - 453, 454, 455, 456, 457, 461, 462, 466, 467, 476, - 475, 474, 477, 478, 481, 480, 482, 458, 459, 460, - 463, 464, 465, 468, 469, 472, 470, 471, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 71, 0, 0, 0, 0, 0, 0, 0, 778, 755, - 319, 703, 781, 667, 689, 794, 692, 695, 736, 650, - 716, 248, 687, 651, 0, 671, 640, 680, 641, 668, - 705, 173, 666, 757, 719, 780, 206, 732, 0, 163, - 214, 212, 0, 123, 0, 255, 318, 779, 711, 77, - 788, 209, 0, 728, 789, 307, 232, 0, 0, 707, - 765, 714, 753, 702, 738, 659, 727, 783, 688, 734, - 784, 0, 0, 618, 0, 2535, 0, 0, 0, 0, - 0, 0, 0, 123, 654, 0, 731, 777, 683, 733, - 735, 638, 730, 0, 645, 652, 793, 772, 674, 675, - 676, 0, 0, 0, 0, 0, 0, 0, 706, 715, - 747, 699, 338, 259, 275, 295, 694, 267, 686, 0, - 0, 0, 0, 0, 0, 0, 0, 672, 0, 725, - 0, 0, 0, 653, 646, 0, 0, 704, 0, 0, - 0, 658, 637, 673, 749, 0, 635, 185, 233, 142, - 754, 771, 701, 197, 348, 775, 698, 697, 269, 0, - 313, 187, 207, 146, 126, 140, 157, 186, 244, 746, - 289, 685, 636, 758, 669, 681, 164, 677, 281, 252, - 337, 0, 722, 280, 210, 327, 742, 776, 336, 690, - 797, 345, 350, 0, 712, 656, 304, 174, 0, 131, - 0, 266, 169, 202, 700, 737, 670, 161, 744, 726, - 764, 303, 325, 148, 320, 231, 237, 158, 160, 159, - 141, 298, 324, 153, 162, 308, 285, 314, 168, 0, - 0, 2538, 2539, 2540, 0, 0, 0, 0, 342, 696, - 292, 291, 691, 193, 752, 729, 642, 274, 740, 198, - 130, 316, 353, 147, 204, 321, 634, 181, 243, 166, - 253, 254, 178, 128, 271, 225, 226, 224, 227, 682, - 741, 751, 272, 294, 323, 149, 311, 678, 679, 684, - 748, 283, 759, 769, 782, 132, 317, 335, 154, 293, - 296, 351, 279, 135, 333, 312, 229, 199, 200, 133, - 0, 134, 277, 172, 184, 167, 247, 0, 183, 268, - 330, 331, 165, 354, 143, 344, 137, 144, 343, 240, - 0, 239, 346, 326, 334, 230, 218, 0, 136, 332, - 228, 217, 205, 177, 189, 264, 213, 265, 190, 235, - 234, 236, 215, 219, 0, 643, 0, 309, 340, 355, - 151, 665, 297, 322, 0, 0, 152, 182, 176, 263, - 238, 145, 192, 306, 203, 211, 276, 352, 251, 282, - 155, 339, 305, 663, 664, 661, 0, 662, 717, 718, - 785, 786, 787, 750, 655, 0, 766, 767, 0, 0, - 0, 0, 0, 756, 773, 774, 739, 795, 693, 660, - 644, 647, 648, 649, 657, 708, 709, 721, 724, 762, - 761, 760, 763, 768, 791, 790, 792, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 720, 129, - 138, 208, 796, 273, 180, 341, 639, 171, 0, 710, - 713, 723, 745, 127, 139, 150, 156, 170, 175, 179, - 188, 191, 194, 195, 196, 201, 216, 220, 221, 222, - 223, 241, 242, 245, 246, 249, 250, 256, 257, 258, - 260, 261, 262, 270, 743, 278, 284, 286, 287, 288, - 290, 299, 300, 301, 302, 310, 315, 328, 329, 347, - 349, 770, 778, 755, 319, 703, 781, 667, 689, 794, - 692, 695, 736, 650, 716, 248, 687, 651, 0, 671, - 640, 680, 641, 668, 705, 173, 666, 757, 719, 780, - 206, 732, 0, 163, 214, 212, 0, 0, 0, 255, - 318, 779, 711, 0, 788, 209, 0, 728, 789, 307, - 232, 0, 0, 707, 765, 714, 753, 702, 738, 659, - 727, 783, 688, 734, 784, 0, 0, 0, 0, 632, - 0, 1507, 1508, 0, 0, 0, 0, 0, 654, 0, - 731, 777, 683, 733, 735, 638, 730, 0, 645, 652, - 793, 772, 674, 675, 676, 1792, 0, 0, 0, 0, - 0, 0, 706, 715, 747, 699, 338, 259, 275, 295, - 694, 267, 686, 0, 0, 0, 0, 0, 0, 0, - 0, 672, 0, 725, 0, 0, 0, 653, 646, 0, - 0, 704, 0, 0, 0, 658, 637, 673, 749, 0, - 635, 185, 233, 142, 754, 771, 701, 197, 348, 775, - 698, 697, 269, 0, 313, 187, 207, 146, 126, 140, - 157, 186, 244, 746, 289, 685, 636, 758, 669, 681, - 164, 677, 281, 252, 337, 0, 722, 280, 210, 327, - 742, 776, 336, 690, 797, 345, 350, 0, 712, 656, - 304, 174, 0, 131, 0, 266, 169, 202, 700, 737, - 670, 161, 744, 726, 764, 303, 325, 148, 320, 231, - 237, 158, 160, 159, 141, 298, 324, 153, 162, 308, - 285, 314, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 696, 292, 291, 691, 193, 752, 729, - 642, 274, 740, 198, 130, 316, 353, 147, 204, 321, - 634, 181, 243, 166, 253, 254, 178, 128, 271, 225, - 226, 224, 227, 682, 741, 751, 272, 294, 323, 149, - 311, 678, 679, 684, 748, 283, 759, 769, 782, 132, - 317, 335, 154, 293, 296, 351, 279, 135, 333, 312, - 229, 199, 200, 133, 0, 134, 277, 172, 184, 167, - 247, 0, 183, 268, 330, 331, 165, 354, 143, 344, - 137, 144, 343, 240, 0, 239, 346, 326, 334, 230, - 218, 0, 136, 332, 228, 217, 205, 177, 189, 264, - 213, 265, 190, 235, 234, 236, 215, 219, 0, 643, - 0, 309, 340, 355, 151, 665, 297, 322, 0, 0, - 152, 182, 176, 263, 238, 145, 192, 306, 203, 211, - 276, 352, 251, 282, 155, 339, 305, 663, 664, 661, - 0, 662, 717, 718, 785, 786, 787, 750, 655, 0, - 766, 767, 0, 0, 0, 0, 0, 756, 773, 774, - 739, 795, 693, 660, 644, 647, 648, 649, 657, 708, - 709, 721, 724, 762, 761, 760, 763, 768, 791, 790, - 792, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 720, 129, 138, 208, 796, 273, 180, 341, - 639, 171, 0, 710, 713, 723, 745, 127, 139, 150, - 156, 170, 175, 179, 188, 191, 194, 195, 196, 201, - 216, 220, 221, 222, 223, 241, 242, 245, 246, 249, - 250, 256, 257, 258, 260, 261, 262, 270, 743, 278, - 284, 286, 287, 288, 290, 299, 300, 301, 302, 310, - 315, 328, 329, 347, 349, 770, 778, 755, 319, 703, - 781, 667, 689, 794, 692, 695, 736, 650, 716, 248, - 687, 651, 0, 671, 640, 680, 641, 668, 705, 173, - 666, 757, 719, 780, 206, 732, 0, 163, 214, 212, - 0, 0, 0, 255, 318, 779, 711, 0, 788, 209, - 0, 728, 789, 307, 232, 0, 0, 707, 765, 714, - 753, 702, 738, 659, 727, 783, 688, 734, 784, 0, - 0, 0, 0, 632, 0, 1507, 1508, 0, 0, 0, - 0, 0, 654, 0, 731, 777, 683, 733, 735, 638, - 730, 0, 645, 652, 793, 772, 674, 675, 676, 0, - 0, 0, 0, 0, 0, 0, 706, 715, 747, 699, - 338, 259, 275, 295, 694, 267, 686, 0, 0, 0, - 0, 0, 0, 0, 0, 672, 0, 725, 0, 0, - 0, 653, 646, 0, 0, 704, 0, 0, 0, 658, - 637, 673, 749, 0, 635, 185, 233, 142, 754, 771, - 701, 197, 348, 775, 698, 697, 269, 0, 313, 187, - 207, 146, 126, 140, 157, 186, 244, 746, 289, 685, - 636, 758, 669, 681, 164, 677, 281, 252, 337, 0, - 722, 280, 210, 327, 742, 776, 336, 690, 797, 345, - 350, 0, 712, 656, 304, 174, 0, 131, 0, 266, - 169, 202, 700, 737, 670, 161, 744, 726, 764, 303, - 325, 148, 320, 231, 237, 158, 160, 159, 141, 298, - 324, 153, 162, 308, 285, 314, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 696, 292, 291, - 691, 193, 752, 729, 642, 274, 740, 198, 130, 316, - 353, 147, 204, 321, 634, 181, 243, 166, 253, 254, - 178, 128, 271, 225, 226, 224, 227, 682, 741, 751, - 272, 294, 323, 149, 311, 678, 679, 684, 748, 283, - 759, 769, 782, 132, 317, 335, 154, 293, 296, 351, - 279, 135, 333, 312, 229, 199, 200, 133, 0, 134, - 277, 172, 184, 167, 247, 0, 183, 268, 330, 331, - 165, 354, 143, 344, 137, 144, 343, 240, 0, 239, - 346, 326, 334, 230, 218, 0, 136, 332, 228, 217, - 205, 177, 189, 264, 213, 265, 190, 235, 234, 236, - 215, 219, 0, 643, 0, 309, 340, 355, 151, 665, - 297, 322, 0, 0, 152, 182, 176, 263, 238, 145, - 192, 306, 203, 211, 276, 352, 251, 282, 155, 339, - 305, 663, 664, 661, 0, 662, 717, 718, 785, 786, - 787, 750, 655, 0, 766, 767, 0, 0, 0, 0, - 0, 756, 773, 774, 739, 795, 693, 660, 644, 647, - 648, 649, 657, 708, 709, 721, 724, 762, 761, 760, - 763, 768, 791, 790, 792, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 720, 129, 138, 208, - 796, 273, 180, 341, 639, 171, 0, 710, 713, 723, - 745, 127, 139, 150, 156, 170, 175, 179, 188, 191, - 194, 195, 196, 201, 216, 220, 221, 222, 223, 241, - 242, 245, 246, 249, 250, 256, 257, 258, 260, 261, - 262, 270, 743, 278, 284, 286, 287, 288, 290, 299, - 300, 301, 302, 310, 315, 328, 329, 347, 349, 770, - 778, 2006, 319, 703, 781, 667, 689, 794, 692, 695, - 736, 650, 716, 248, 687, 651, 0, 671, 640, 680, - 641, 668, 705, 173, 666, 757, 719, 780, 206, 732, - 0, 163, 214, 212, 0, 0, 0, 255, 318, 779, - 711, 0, 788, 209, 0, 728, 789, 307, 232, 0, - 0, 707, 765, 714, 753, 702, 738, 659, 727, 783, - 688, 734, 784, 79, 0, 958, 0, 632, 0, 0, - 0, 0, 0, 0, 0, 0, 654, 0, 731, 777, - 683, 733, 735, 638, 730, 0, 645, 652, 793, 772, - 674, 675, 676, 0, 0, 0, 0, 0, 0, 0, - 706, 715, 747, 699, 338, 259, 275, 295, 694, 267, - 686, 0, 0, 0, 0, 0, 0, 0, 0, 672, - 0, 725, 0, 0, 0, 653, 646, 0, 0, 704, - 0, 0, 0, 658, 637, 673, 749, 0, 635, 185, - 233, 142, 754, 771, 701, 197, 348, 775, 698, 697, - 269, 0, 313, 187, 207, 146, 126, 140, 157, 186, - 244, 746, 289, 685, 636, 758, 669, 681, 164, 677, - 281, 252, 337, 0, 722, 280, 210, 327, 742, 776, - 336, 690, 797, 345, 350, 0, 712, 656, 304, 174, - 0, 131, 0, 266, 169, 202, 700, 737, 670, 161, - 744, 726, 764, 303, 325, 148, 320, 231, 237, 158, - 160, 159, 141, 298, 324, 153, 162, 308, 285, 314, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 696, 292, 291, 691, 193, 752, 729, 642, 274, - 740, 198, 130, 316, 353, 147, 204, 321, 634, 181, - 243, 166, 253, 254, 178, 128, 271, 225, 226, 224, - 227, 682, 741, 751, 272, 294, 323, 149, 311, 678, - 679, 684, 748, 283, 759, 769, 782, 132, 317, 335, - 154, 293, 296, 351, 279, 135, 333, 312, 229, 199, - 200, 133, 0, 134, 277, 172, 184, 167, 247, 0, - 183, 268, 330, 331, 165, 354, 143, 344, 137, 144, - 343, 240, 0, 239, 346, 326, 334, 230, 218, 0, - 136, 332, 228, 217, 205, 177, 189, 264, 213, 265, - 190, 235, 234, 236, 215, 219, 0, 643, 0, 309, - 340, 355, 151, 665, 297, 322, 0, 0, 152, 182, - 176, 263, 238, 145, 192, 306, 203, 211, 276, 352, - 251, 282, 155, 339, 305, 663, 664, 661, 0, 662, - 717, 718, 785, 786, 787, 750, 655, 0, 766, 767, - 0, 0, 0, 0, 0, 756, 773, 774, 739, 795, - 693, 660, 644, 647, 648, 649, 657, 708, 709, 721, - 724, 762, 761, 760, 763, 768, 791, 790, 792, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 720, 129, 138, 208, 2007, 273, 180, 341, 639, 171, - 0, 710, 713, 723, 745, 127, 139, 150, 156, 170, - 175, 179, 188, 191, 194, 195, 196, 201, 216, 220, - 221, 222, 223, 241, 242, 245, 246, 249, 250, 256, - 257, 258, 260, 261, 262, 270, 743, 278, 284, 286, - 287, 288, 290, 299, 300, 301, 302, 310, 315, 328, - 329, 347, 349, 770, 778, 755, 319, 703, 781, 667, - 689, 794, 692, 695, 736, 650, 716, 248, 687, 651, - 0, 671, 640, 680, 641, 668, 705, 173, 666, 757, - 719, 780, 206, 732, 0, 163, 214, 212, 0, 0, - 0, 255, 318, 779, 711, 0, 788, 209, 0, 728, - 789, 307, 232, 0, 0, 707, 765, 714, 753, 702, - 738, 659, 727, 783, 688, 734, 784, 0, 0, 0, - 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, - 654, 0, 731, 777, 683, 733, 735, 638, 730, 0, - 645, 652, 793, 772, 674, 675, 676, 0, 0, 0, - 0, 0, 0, 0, 706, 715, 747, 699, 338, 259, - 275, 295, 694, 267, 686, 0, 0, 0, 0, 0, - 0, 2303, 0, 672, 0, 725, 0, 0, 0, 653, - 646, 0, 0, 704, 0, 0, 0, 658, 637, 673, - 749, 0, 635, 185, 233, 142, 754, 771, 701, 197, - 348, 775, 698, 697, 269, 0, 313, 187, 207, 146, - 126, 140, 157, 186, 244, 746, 289, 685, 636, 758, - 669, 681, 164, 677, 281, 252, 337, 0, 722, 280, - 210, 327, 742, 776, 336, 690, 797, 345, 350, 0, - 712, 656, 304, 174, 0, 131, 0, 266, 169, 202, - 700, 737, 670, 161, 744, 726, 764, 303, 325, 148, - 320, 231, 237, 158, 160, 159, 141, 298, 324, 153, - 162, 308, 285, 314, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 696, 292, 291, 691, 193, - 752, 729, 642, 274, 740, 198, 130, 316, 353, 147, - 204, 321, 634, 181, 243, 166, 253, 254, 178, 128, - 271, 225, 226, 224, 227, 682, 741, 751, 272, 294, - 323, 149, 311, 678, 679, 684, 748, 283, 759, 769, - 782, 132, 317, 335, 154, 293, 296, 351, 279, 135, - 333, 312, 229, 199, 200, 133, 0, 134, 277, 172, - 184, 167, 247, 0, 183, 268, 330, 331, 165, 354, - 143, 344, 137, 144, 343, 240, 0, 239, 346, 326, - 334, 230, 218, 0, 136, 332, 228, 217, 205, 177, - 189, 264, 213, 265, 190, 235, 234, 236, 215, 219, - 0, 643, 0, 309, 340, 355, 151, 665, 297, 322, - 0, 0, 152, 182, 176, 263, 238, 145, 192, 306, - 203, 211, 276, 352, 251, 282, 155, 339, 305, 663, - 664, 661, 0, 662, 717, 718, 785, 786, 787, 750, - 655, 0, 766, 767, 0, 0, 0, 0, 0, 756, - 773, 774, 739, 795, 693, 660, 644, 647, 648, 649, - 657, 708, 709, 721, 724, 762, 761, 760, 763, 768, - 791, 790, 792, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 720, 129, 138, 208, 796, 273, - 180, 341, 639, 171, 0, 710, 713, 723, 745, 127, - 139, 150, 156, 170, 175, 179, 188, 191, 194, 195, - 196, 201, 216, 220, 221, 222, 223, 241, 242, 245, - 246, 249, 250, 256, 257, 258, 260, 261, 262, 270, - 743, 278, 284, 286, 287, 288, 290, 299, 300, 301, - 302, 310, 315, 328, 329, 347, 349, 770, 778, 755, - 319, 703, 781, 667, 689, 794, 692, 695, 736, 650, - 716, 248, 687, 651, 0, 671, 640, 680, 641, 668, - 705, 173, 666, 757, 719, 780, 206, 732, 0, 163, - 214, 212, 0, 0, 0, 255, 318, 779, 711, 0, - 788, 209, 0, 728, 789, 307, 232, 0, 0, 707, - 765, 714, 753, 702, 738, 659, 727, 783, 688, 734, - 784, 0, 0, 0, 0, 500, 0, 0, 0, 0, - 0, 0, 0, 0, 654, 0, 731, 777, 683, 733, - 735, 638, 730, 0, 645, 652, 793, 772, 674, 675, - 676, 0, 0, 0, 0, 0, 0, 0, 706, 715, - 747, 699, 338, 259, 275, 295, 694, 267, 686, 0, - 0, 0, 0, 0, 0, 1942, 0, 672, 0, 725, - 0, 0, 0, 653, 646, 0, 0, 704, 0, 0, - 0, 658, 637, 673, 749, 0, 635, 185, 233, 142, - 754, 771, 701, 197, 348, 775, 698, 697, 269, 0, - 313, 187, 207, 146, 126, 140, 157, 186, 244, 746, - 289, 685, 636, 758, 669, 681, 164, 677, 281, 252, - 337, 0, 722, 280, 210, 327, 742, 776, 336, 690, - 797, 345, 350, 0, 712, 656, 304, 174, 0, 131, - 0, 266, 169, 202, 700, 737, 670, 161, 744, 726, - 764, 303, 325, 148, 320, 231, 237, 158, 160, 159, - 141, 298, 324, 153, 162, 308, 285, 314, 168, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 696, - 292, 291, 691, 193, 752, 729, 642, 274, 740, 198, - 130, 316, 353, 147, 204, 321, 634, 181, 243, 166, - 253, 254, 178, 128, 271, 225, 226, 224, 227, 682, - 741, 751, 272, 294, 323, 149, 311, 678, 679, 684, - 748, 283, 759, 769, 782, 132, 317, 335, 154, 293, - 296, 351, 279, 135, 333, 312, 229, 199, 200, 133, - 0, 134, 277, 172, 184, 167, 247, 0, 183, 268, - 330, 331, 165, 354, 143, 344, 137, 144, 343, 240, - 0, 239, 346, 326, 334, 230, 218, 0, 136, 332, - 228, 217, 205, 177, 189, 264, 213, 265, 190, 235, - 234, 236, 215, 219, 0, 643, 0, 309, 340, 355, - 151, 665, 297, 322, 0, 0, 152, 182, 176, 263, - 238, 145, 192, 306, 203, 211, 276, 352, 251, 282, - 155, 339, 305, 663, 664, 661, 0, 662, 717, 718, - 785, 786, 787, 750, 655, 0, 766, 767, 0, 0, - 0, 0, 0, 756, 773, 774, 739, 795, 693, 660, - 644, 647, 648, 649, 657, 708, 709, 721, 724, 762, - 761, 760, 763, 768, 791, 790, 792, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 720, 129, - 138, 208, 796, 273, 180, 341, 639, 171, 0, 710, - 713, 723, 745, 127, 139, 150, 156, 170, 175, 179, - 188, 191, 194, 195, 196, 201, 216, 220, 221, 222, - 223, 241, 242, 245, 246, 249, 250, 256, 257, 258, - 260, 261, 262, 270, 743, 278, 284, 286, 287, 288, - 290, 299, 300, 301, 302, 310, 315, 328, 329, 347, - 349, 770, 778, 755, 319, 703, 781, 667, 689, 794, - 692, 695, 736, 650, 716, 248, 687, 651, 0, 671, - 640, 680, 641, 668, 705, 173, 666, 757, 719, 780, - 206, 732, 0, 163, 214, 212, 0, 0, 0, 255, - 318, 779, 711, 0, 788, 209, 0, 728, 789, 307, - 232, 0, 0, 707, 765, 714, 753, 702, 738, 659, - 727, 783, 688, 734, 784, 0, 0, 0, 0, 632, - 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, - 731, 777, 683, 733, 735, 638, 730, 0, 645, 652, - 793, 772, 674, 675, 676, 0, 0, 0, 0, 0, - 0, 0, 706, 715, 747, 699, 338, 259, 275, 295, - 694, 267, 686, 0, 0, 0, 0, 0, 0, 1932, - 0, 672, 0, 725, 0, 0, 0, 653, 646, 0, - 0, 704, 0, 0, 0, 658, 637, 673, 749, 0, - 635, 185, 233, 142, 754, 771, 701, 197, 348, 775, - 698, 697, 269, 0, 313, 187, 207, 146, 126, 140, - 157, 186, 244, 746, 289, 685, 636, 758, 669, 681, - 164, 677, 281, 252, 337, 0, 722, 280, 210, 327, - 742, 776, 336, 690, 797, 345, 350, 0, 712, 656, - 304, 174, 0, 131, 0, 266, 169, 202, 700, 737, - 670, 161, 744, 726, 764, 303, 325, 148, 320, 231, - 237, 158, 160, 159, 141, 298, 324, 153, 162, 308, - 285, 314, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 696, 292, 291, 691, 193, 752, 729, - 642, 274, 740, 198, 130, 316, 353, 147, 204, 321, - 634, 181, 243, 166, 253, 254, 178, 128, 271, 225, - 226, 224, 227, 682, 741, 751, 272, 294, 323, 149, - 311, 678, 679, 684, 748, 283, 759, 769, 782, 132, - 317, 335, 154, 293, 296, 351, 279, 135, 333, 312, - 229, 199, 200, 133, 0, 134, 277, 172, 184, 167, - 247, 0, 183, 268, 330, 331, 165, 354, 143, 344, - 137, 144, 343, 240, 0, 239, 346, 326, 334, 230, - 218, 0, 136, 332, 228, 217, 205, 177, 189, 264, - 213, 265, 190, 235, 234, 236, 215, 219, 0, 643, - 0, 309, 340, 355, 151, 665, 297, 322, 0, 0, - 152, 182, 176, 263, 238, 145, 192, 306, 203, 211, - 276, 352, 251, 282, 155, 339, 305, 663, 664, 661, - 0, 662, 717, 718, 785, 786, 787, 750, 655, 0, - 766, 767, 0, 0, 0, 0, 0, 756, 773, 774, - 739, 795, 693, 660, 644, 647, 648, 649, 657, 708, - 709, 721, 724, 762, 761, 760, 763, 768, 791, 790, - 792, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 720, 129, 138, 208, 796, 273, 180, 341, - 639, 171, 0, 710, 713, 723, 745, 127, 139, 150, - 156, 170, 175, 179, 188, 191, 194, 195, 196, 201, - 216, 220, 221, 222, 223, 241, 242, 245, 246, 249, - 250, 256, 257, 258, 260, 261, 262, 270, 743, 278, - 284, 286, 287, 288, 290, 299, 300, 301, 302, 310, - 315, 328, 329, 347, 349, 770, 778, 755, 319, 703, - 781, 667, 689, 794, 692, 695, 736, 650, 716, 248, - 687, 651, 0, 671, 640, 680, 641, 668, 705, 173, - 666, 757, 719, 780, 206, 732, 0, 163, 214, 212, - 0, 0, 0, 255, 318, 779, 711, 0, 788, 209, - 0, 728, 789, 307, 232, 0, 0, 707, 765, 714, - 753, 702, 738, 659, 727, 783, 688, 734, 784, 0, - 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, - 0, 0, 654, 0, 731, 777, 683, 733, 735, 638, - 730, 0, 645, 652, 793, 772, 674, 675, 676, 0, - 0, 0, 0, 0, 0, 0, 706, 715, 747, 699, - 338, 259, 275, 295, 694, 267, 686, 0, 0, 0, - 0, 0, 0, 1486, 0, 672, 0, 725, 0, 0, - 0, 653, 646, 0, 0, 704, 0, 0, 0, 658, - 637, 673, 749, 0, 635, 185, 233, 142, 754, 771, - 701, 197, 348, 775, 698, 697, 269, 0, 313, 187, - 207, 146, 126, 140, 157, 186, 244, 746, 289, 685, - 636, 758, 669, 681, 164, 677, 281, 252, 337, 0, - 722, 280, 210, 327, 742, 776, 336, 690, 797, 345, - 350, 0, 712, 656, 304, 174, 0, 131, 0, 266, - 169, 202, 700, 737, 670, 161, 744, 726, 764, 303, - 325, 148, 320, 231, 237, 158, 160, 159, 141, 298, - 324, 153, 162, 308, 285, 314, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 696, 292, 291, - 691, 193, 752, 729, 642, 274, 740, 198, 130, 316, - 353, 147, 204, 321, 634, 181, 243, 166, 253, 254, - 178, 128, 271, 225, 226, 224, 227, 682, 741, 751, - 272, 294, 323, 149, 311, 678, 679, 684, 748, 283, - 759, 769, 782, 132, 317, 335, 154, 293, 296, 351, - 279, 135, 333, 312, 229, 199, 200, 133, 0, 134, - 277, 172, 184, 167, 247, 0, 183, 268, 330, 331, - 165, 354, 143, 344, 137, 144, 343, 240, 0, 239, - 346, 326, 334, 230, 218, 0, 136, 332, 228, 217, - 205, 177, 189, 264, 213, 265, 190, 235, 234, 236, - 215, 219, 0, 643, 0, 309, 340, 355, 151, 665, - 297, 322, 0, 0, 152, 182, 176, 263, 238, 145, - 192, 306, 203, 211, 276, 352, 251, 282, 155, 339, - 305, 663, 664, 661, 0, 662, 717, 718, 785, 786, - 787, 750, 655, 0, 766, 767, 0, 0, 0, 0, - 0, 756, 773, 774, 739, 795, 693, 660, 644, 647, - 648, 649, 657, 708, 709, 721, 724, 762, 761, 760, - 763, 768, 791, 790, 792, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 720, 129, 138, 208, - 796, 273, 180, 341, 639, 171, 0, 710, 713, 723, - 745, 127, 139, 150, 156, 170, 175, 179, 188, 191, - 194, 195, 196, 201, 216, 220, 221, 222, 223, 241, - 242, 245, 246, 249, 250, 256, 257, 258, 260, 261, - 262, 270, 743, 278, 284, 286, 287, 288, 290, 299, - 300, 301, 302, 310, 315, 328, 329, 347, 349, 770, - 778, 755, 319, 703, 781, 667, 689, 794, 692, 695, - 736, 650, 716, 248, 687, 651, 0, 671, 640, 680, - 641, 668, 705, 173, 666, 757, 719, 780, 206, 732, - 0, 163, 214, 212, 0, 0, 0, 255, 318, 779, - 711, 0, 788, 209, 0, 728, 789, 307, 232, 0, - 0, 707, 765, 714, 753, 702, 738, 659, 727, 783, - 688, 734, 784, 0, 0, 0, 0, 500, 0, 0, - 0, 0, 0, 0, 0, 0, 654, 0, 731, 777, - 683, 733, 735, 638, 730, 0, 645, 652, 793, 772, - 674, 675, 676, 0, 0, 0, 0, 0, 0, 0, - 706, 715, 747, 699, 338, 259, 275, 295, 694, 267, - 686, 0, 0, 0, 0, 0, 0, 1346, 0, 672, - 0, 725, 0, 0, 0, 653, 646, 0, 0, 704, - 0, 0, 0, 658, 637, 673, 749, 0, 635, 185, - 233, 142, 754, 771, 701, 197, 348, 775, 698, 697, - 269, 0, 313, 187, 207, 146, 126, 140, 157, 186, - 244, 746, 289, 685, 636, 758, 669, 681, 164, 677, - 281, 252, 337, 0, 722, 280, 210, 327, 742, 776, - 336, 690, 797, 345, 350, 0, 712, 656, 304, 174, - 0, 131, 0, 266, 169, 202, 700, 737, 670, 161, - 744, 726, 764, 303, 325, 148, 320, 231, 237, 158, - 160, 159, 141, 298, 324, 153, 162, 308, 285, 314, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 696, 292, 291, 691, 193, 752, 729, 642, 274, - 740, 198, 130, 316, 353, 147, 204, 321, 634, 181, - 243, 166, 253, 254, 178, 128, 271, 225, 226, 224, - 227, 682, 741, 751, 272, 294, 323, 149, 311, 678, - 679, 684, 748, 283, 759, 769, 782, 132, 317, 335, - 154, 293, 296, 351, 279, 135, 333, 312, 229, 199, - 200, 133, 0, 134, 277, 172, 184, 167, 247, 0, - 183, 268, 330, 331, 165, 354, 143, 344, 137, 144, - 343, 240, 0, 239, 346, 326, 334, 230, 218, 0, - 136, 332, 228, 217, 205, 177, 189, 264, 213, 265, - 190, 235, 234, 236, 215, 219, 0, 643, 0, 309, - 340, 355, 151, 665, 297, 322, 0, 0, 152, 182, - 176, 263, 238, 145, 192, 306, 203, 211, 276, 352, - 251, 282, 155, 339, 305, 663, 664, 661, 0, 662, - 717, 718, 785, 786, 787, 750, 655, 0, 766, 767, - 0, 0, 0, 0, 0, 756, 773, 774, 739, 795, - 693, 660, 644, 647, 648, 649, 657, 708, 709, 721, - 724, 762, 761, 760, 763, 768, 791, 790, 792, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 720, 129, 138, 208, 796, 273, 180, 341, 639, 171, - 0, 710, 713, 723, 745, 127, 139, 150, 156, 170, - 175, 179, 188, 191, 194, 195, 196, 201, 216, 220, - 221, 222, 223, 241, 242, 245, 246, 249, 250, 256, - 257, 258, 260, 261, 262, 270, 743, 278, 284, 286, - 287, 288, 290, 299, 300, 301, 302, 310, 315, 328, - 329, 347, 349, 770, 778, 755, 319, 703, 781, 667, - 689, 794, 692, 695, 736, 650, 716, 248, 687, 651, - 0, 671, 640, 680, 641, 668, 705, 173, 666, 757, - 719, 780, 206, 732, 0, 163, 214, 212, 0, 0, - 0, 255, 318, 779, 711, 0, 788, 209, 0, 728, - 789, 307, 232, 0, 0, 707, 765, 714, 753, 702, - 738, 659, 727, 783, 688, 734, 784, 0, 0, 0, - 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, - 654, 0, 731, 777, 683, 733, 735, 638, 730, 0, - 645, 652, 793, 772, 674, 675, 676, 0, 0, 0, - 0, 0, 0, 0, 706, 715, 747, 699, 338, 259, - 275, 295, 694, 267, 686, 0, 0, 0, 0, 0, - 0, 0, 0, 672, 0, 725, 0, 0, 0, 653, - 646, 0, 0, 704, 0, 0, 0, 658, 637, 673, - 749, 0, 635, 185, 233, 142, 754, 771, 701, 197, - 348, 775, 698, 697, 269, 0, 313, 187, 207, 146, - 126, 140, 157, 186, 244, 746, 289, 685, 636, 758, - 669, 681, 164, 677, 281, 252, 337, 0, 722, 280, - 210, 327, 742, 776, 336, 690, 797, 345, 350, 0, - 712, 656, 304, 174, 0, 131, 0, 266, 169, 202, - 700, 737, 670, 161, 744, 726, 764, 303, 325, 148, - 320, 231, 237, 158, 160, 159, 141, 298, 324, 153, - 162, 308, 285, 314, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 696, 292, 291, 691, 193, - 752, 729, 642, 274, 740, 198, 130, 316, 353, 147, - 204, 321, 634, 181, 243, 166, 253, 254, 178, 128, - 271, 225, 226, 224, 227, 682, 741, 751, 272, 294, - 323, 149, 311, 678, 679, 684, 748, 283, 759, 769, - 782, 132, 317, 335, 154, 293, 296, 351, 279, 135, - 333, 312, 229, 199, 200, 133, 0, 134, 277, 172, - 184, 167, 247, 0, 183, 268, 330, 331, 165, 354, - 143, 344, 137, 144, 343, 240, 0, 239, 346, 326, - 334, 230, 218, 0, 136, 332, 228, 217, 205, 177, - 189, 264, 213, 265, 190, 235, 234, 236, 215, 219, - 0, 643, 0, 309, 340, 355, 151, 665, 297, 322, - 0, 0, 152, 182, 176, 263, 238, 145, 192, 306, - 203, 211, 276, 352, 251, 282, 155, 339, 305, 663, - 664, 661, 0, 662, 717, 718, 785, 786, 787, 750, - 655, 0, 766, 767, 0, 0, 0, 0, 0, 756, - 773, 774, 739, 795, 693, 660, 644, 647, 648, 649, - 657, 708, 709, 721, 724, 762, 761, 760, 763, 768, - 791, 790, 792, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 720, 129, 138, 208, 796, 273, - 180, 341, 639, 171, 0, 710, 713, 723, 745, 127, - 139, 150, 156, 170, 175, 179, 188, 191, 194, 195, - 196, 201, 216, 220, 221, 222, 223, 241, 242, 245, - 246, 249, 250, 256, 257, 258, 260, 261, 262, 270, - 743, 278, 284, 286, 287, 288, 290, 299, 300, 301, - 302, 310, 315, 328, 329, 347, 349, 770, 778, 755, - 319, 703, 781, 667, 689, 794, 692, 695, 736, 650, - 716, 248, 687, 651, 0, 671, 640, 680, 641, 668, - 705, 173, 666, 757, 719, 780, 206, 732, 0, 163, - 214, 212, 0, 0, 0, 255, 318, 779, 711, 0, - 788, 209, 0, 728, 789, 307, 232, 0, 0, 707, - 765, 714, 753, 702, 738, 659, 727, 783, 688, 734, - 784, 0, 0, 0, 0, 500, 0, 0, 0, 0, - 0, 0, 0, 0, 654, 0, 731, 777, 683, 733, - 735, 638, 730, 0, 645, 652, 793, 772, 674, 675, - 676, 0, 0, 0, 0, 0, 0, 0, 706, 715, - 747, 699, 338, 259, 275, 295, 694, 267, 686, 0, - 0, 0, 0, 0, 0, 0, 0, 672, 0, 725, - 0, 0, 0, 653, 646, 0, 0, 704, 0, 0, - 0, 658, 637, 673, 749, 0, 635, 185, 233, 142, - 754, 771, 701, 197, 348, 775, 698, 697, 269, 0, - 313, 187, 207, 146, 126, 140, 157, 186, 244, 746, - 289, 685, 636, 758, 669, 681, 164, 677, 281, 252, - 337, 0, 722, 280, 210, 327, 742, 776, 336, 690, - 797, 345, 350, 0, 712, 656, 304, 174, 0, 131, - 0, 266, 169, 202, 700, 737, 670, 161, 744, 726, - 764, 303, 325, 148, 320, 231, 237, 158, 160, 159, - 141, 298, 324, 153, 162, 308, 285, 314, 168, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 696, - 292, 291, 691, 193, 752, 729, 642, 274, 740, 198, - 130, 316, 353, 147, 204, 321, 634, 181, 243, 166, - 253, 254, 178, 128, 271, 225, 226, 224, 227, 682, - 741, 751, 272, 294, 323, 149, 311, 678, 679, 684, - 748, 283, 759, 769, 782, 132, 317, 335, 154, 293, - 296, 351, 279, 135, 333, 312, 229, 199, 200, 133, - 0, 134, 277, 172, 184, 167, 247, 0, 183, 268, - 330, 331, 165, 354, 143, 344, 137, 144, 343, 240, - 0, 239, 346, 326, 334, 230, 218, 0, 136, 332, - 228, 217, 205, 177, 189, 264, 213, 265, 190, 235, - 234, 236, 215, 219, 0, 643, 0, 309, 340, 355, - 151, 665, 297, 322, 0, 0, 152, 182, 176, 263, - 238, 145, 192, 306, 203, 211, 276, 352, 251, 282, - 155, 339, 305, 663, 664, 661, 0, 662, 717, 718, - 785, 786, 787, 750, 655, 0, 766, 767, 0, 0, - 0, 0, 0, 756, 773, 774, 739, 795, 693, 660, - 644, 647, 648, 649, 657, 708, 709, 721, 724, 762, - 761, 760, 763, 768, 791, 790, 792, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 720, 129, - 138, 208, 796, 273, 180, 341, 639, 171, 0, 710, - 713, 723, 745, 127, 139, 150, 156, 170, 175, 179, - 188, 191, 194, 195, 196, 201, 216, 220, 221, 222, - 223, 241, 242, 245, 246, 249, 250, 256, 257, 258, - 260, 261, 262, 270, 743, 278, 284, 286, 287, 288, - 290, 299, 300, 301, 302, 310, 315, 328, 329, 347, - 349, 770, 778, 755, 319, 703, 781, 667, 689, 794, - 692, 695, 736, 650, 716, 248, 687, 651, 0, 671, - 640, 680, 641, 668, 705, 173, 666, 757, 719, 780, - 206, 732, 0, 163, 214, 212, 0, 0, 0, 255, - 318, 1518, 1522, 0, 788, 209, 0, 728, 789, 307, - 232, 0, 0, 707, 765, 714, 753, 702, 738, 659, - 727, 783, 688, 734, 784, 0, 0, 0, 0, 632, - 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, - 731, 777, 683, 733, 735, 638, 730, 0, 645, 652, - 793, 772, 674, 675, 676, 0, 0, 0, 0, 0, - 0, 0, 706, 715, 747, 699, 338, 259, 275, 295, - 694, 267, 686, 0, 0, 0, 0, 0, 0, 0, - 0, 672, 0, 725, 0, 0, 0, 653, 646, 0, - 0, 704, 0, 0, 0, 658, 637, 673, 749, 0, - 635, 185, 233, 142, 754, 771, 1521, 197, 348, 775, - 698, 697, 1516, 0, 1517, 187, 207, 631, 126, 140, - 1514, 1520, 244, 746, 289, 685, 636, 758, 669, 681, - 164, 677, 281, 252, 337, 0, 722, 280, 210, 327, - 742, 776, 336, 690, 797, 345, 350, 0, 712, 656, - 304, 174, 0, 131, 0, 266, 169, 202, 700, 737, - 670, 161, 744, 726, 764, 303, 325, 148, 320, 231, - 237, 158, 160, 159, 141, 298, 324, 153, 162, 308, - 285, 314, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 696, 292, 291, 691, 193, 752, 729, - 642, 274, 740, 198, 130, 316, 353, 147, 204, 321, - 634, 181, 243, 166, 253, 254, 178, 128, 271, 225, - 226, 224, 227, 682, 741, 751, 272, 294, 323, 149, - 311, 678, 679, 684, 748, 283, 759, 769, 782, 132, - 317, 335, 154, 293, 296, 351, 279, 135, 333, 312, - 229, 199, 200, 133, 0, 134, 277, 172, 184, 167, - 247, 0, 183, 268, 330, 331, 165, 354, 143, 344, - 137, 144, 343, 240, 0, 239, 346, 326, 334, 230, - 218, 0, 136, 332, 228, 217, 205, 177, 189, 264, - 213, 265, 190, 235, 234, 236, 215, 219, 0, 643, - 0, 309, 340, 355, 151, 665, 297, 322, 0, 0, - 152, 182, 176, 263, 238, 145, 192, 306, 203, 211, - 276, 352, 251, 282, 155, 339, 305, 663, 664, 661, - 0, 662, 717, 718, 785, 786, 787, 750, 655, 0, - 766, 767, 0, 0, 0, 0, 0, 756, 773, 774, - 739, 795, 693, 660, 644, 647, 648, 649, 657, 708, - 709, 721, 724, 762, 761, 760, 763, 768, 791, 790, - 792, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 720, 129, 138, 208, 796, 273, 180, 341, - 639, 171, 0, 710, 713, 723, 745, 127, 139, 150, - 156, 170, 175, 179, 188, 191, 194, 195, 196, 201, - 216, 220, 221, 222, 223, 241, 242, 245, 246, 249, - 250, 256, 257, 258, 260, 261, 262, 270, 743, 278, - 284, 286, 287, 288, 290, 299, 300, 301, 302, 310, - 315, 328, 329, 347, 349, 770, 778, 755, 319, 703, - 781, 667, 689, 794, 692, 695, 736, 650, 716, 248, - 687, 651, 0, 671, 640, 680, 641, 668, 705, 173, - 666, 757, 719, 780, 206, 732, 0, 163, 214, 212, - 0, 0, 0, 255, 318, 779, 711, 0, 788, 209, - 0, 728, 789, 307, 232, 0, 0, 707, 765, 714, - 753, 702, 738, 659, 727, 783, 688, 734, 784, 0, - 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, - 0, 0, 654, 0, 731, 777, 683, 733, 735, 638, - 730, 0, 645, 652, 793, 772, 674, 675, 676, 0, - 0, 0, 0, 0, 0, 0, 706, 715, 747, 699, - 338, 259, 275, 295, 694, 267, 686, 0, 0, 0, - 0, 0, 0, 0, 0, 672, 0, 725, 0, 0, - 0, 653, 646, 0, 0, 704, 0, 0, 0, 658, - 637, 673, 749, 0, 635, 185, 233, 142, 754, 771, - 701, 197, 348, 775, 698, 697, 269, 0, 313, 187, - 207, 146, 126, 140, 157, 186, 244, 746, 289, 685, - 636, 758, 669, 681, 164, 677, 281, 252, 337, 0, - 722, 280, 210, 327, 742, 776, 336, 690, 797, 345, - 350, 0, 712, 656, 304, 174, 0, 131, 0, 266, - 169, 202, 700, 737, 670, 161, 744, 726, 764, 303, - 325, 148, 320, 231, 237, 158, 160, 159, 141, 298, - 324, 153, 162, 308, 285, 314, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 696, 292, 291, - 691, 193, 752, 729, 642, 274, 740, 198, 130, 316, - 353, 147, 204, 321, 634, 181, 243, 166, 253, 254, - 178, 128, 271, 225, 226, 224, 227, 682, 741, 751, - 272, 294, 323, 149, 311, 678, 679, 684, 748, 283, - 759, 769, 782, 132, 317, 335, 154, 293, 296, 351, - 279, 135, 333, 312, 229, 199, 200, 133, 0, 134, - 277, 172, 184, 167, 247, 0, 183, 268, 330, 331, - 165, 354, 143, 344, 137, 144, 343, 240, 0, 239, - 346, 326, 334, 230, 218, 0, 136, 332, 228, 217, - 205, 177, 189, 264, 213, 265, 190, 235, 234, 236, - 215, 219, 0, 643, 0, 309, 340, 355, 151, 665, - 297, 322, 0, 0, 152, 182, 176, 263, 238, 145, - 192, 306, 203, 211, 276, 352, 251, 282, 155, 339, - 305, 663, 664, 661, 0, 662, 717, 718, 785, 786, - 787, 750, 655, 0, 766, 767, 0, 0, 0, 0, - 0, 756, 773, 774, 739, 795, 693, 660, 644, 647, - 648, 649, 657, 708, 709, 721, 724, 762, 761, 760, - 763, 768, 791, 790, 792, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 720, 129, 138, 208, - 796, 273, 180, 341, 639, 171, 0, 710, 713, 723, - 745, 127, 139, 150, 156, 170, 175, 179, 188, 191, - 194, 195, 196, 201, 216, 220, 221, 222, 223, 241, - 242, 245, 246, 249, 250, 256, 257, 258, 260, 261, - 262, 270, 743, 278, 284, 286, 287, 288, 290, 299, - 300, 301, 302, 310, 315, 328, 329, 347, 349, 770, - 778, 755, 319, 703, 781, 667, 689, 794, 692, 695, - 736, 650, 716, 248, 687, 651, 0, 671, 640, 680, - 641, 668, 705, 173, 666, 757, 719, 780, 206, 732, - 0, 163, 214, 212, 0, 0, 0, 255, 318, 779, - 711, 0, 788, 209, 0, 728, 789, 307, 232, 0, - 0, 707, 765, 714, 753, 702, 738, 659, 727, 783, - 688, 734, 784, 0, 0, 0, 0, 632, 0, 0, - 0, 0, 0, 0, 0, 0, 654, 0, 731, 777, - 683, 733, 735, 638, 730, 0, 645, 652, 793, 772, - 674, 675, 676, 0, 0, 0, 0, 0, 0, 0, - 706, 715, 747, 699, 338, 259, 275, 295, 694, 267, - 686, 0, 0, 0, 0, 0, 0, 0, 0, 672, - 0, 725, 0, 0, 0, 653, 646, 0, 0, 704, - 0, 0, 0, 658, 637, 673, 749, 0, 635, 185, - 233, 142, 754, 771, 701, 197, 348, 775, 698, 697, - 269, 0, 313, 187, 207, 631, 126, 140, 627, 186, - 244, 746, 289, 685, 636, 758, 669, 681, 164, 677, - 281, 252, 337, 0, 722, 280, 210, 327, 742, 776, - 336, 690, 797, 345, 350, 0, 712, 656, 304, 174, - 0, 131, 0, 266, 169, 202, 700, 737, 670, 161, - 744, 726, 764, 303, 325, 148, 320, 231, 237, 158, - 160, 159, 141, 298, 324, 153, 162, 308, 285, 314, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 696, 292, 291, 691, 193, 752, 729, 642, 274, - 740, 198, 130, 316, 353, 147, 204, 321, 634, 181, - 243, 166, 253, 254, 178, 128, 271, 225, 226, 224, - 227, 682, 741, 751, 272, 294, 323, 149, 311, 678, - 679, 684, 748, 283, 759, 769, 782, 132, 317, 335, - 154, 293, 296, 351, 279, 135, 333, 312, 229, 199, - 200, 133, 0, 134, 277, 172, 184, 167, 247, 0, - 183, 268, 330, 331, 165, 354, 143, 344, 137, 144, - 343, 240, 0, 239, 346, 326, 334, 230, 218, 0, - 136, 332, 228, 217, 205, 177, 189, 264, 213, 265, - 190, 235, 234, 236, 215, 219, 0, 643, 0, 309, - 340, 355, 151, 665, 297, 322, 0, 0, 152, 182, - 176, 263, 238, 145, 192, 306, 203, 211, 276, 352, - 251, 282, 155, 339, 305, 663, 664, 661, 0, 662, - 717, 718, 785, 786, 787, 750, 655, 0, 766, 767, - 0, 0, 0, 0, 0, 756, 773, 774, 739, 795, - 693, 660, 644, 647, 648, 649, 657, 708, 709, 721, - 724, 762, 761, 760, 763, 768, 791, 790, 792, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 720, 129, 138, 208, 796, 273, 180, 341, 639, 171, - 0, 710, 713, 723, 745, 127, 139, 150, 156, 170, - 175, 179, 188, 191, 194, 195, 196, 201, 216, 220, - 221, 222, 223, 241, 242, 245, 246, 249, 250, 256, - 257, 258, 260, 261, 262, 270, 743, 278, 284, 286, - 287, 288, 290, 299, 300, 301, 302, 310, 315, 328, - 329, 347, 349, 770, 319, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 502, 0, 0, 0, 173, 499, 0, 0, 0, - 206, 0, 0, 163, 214, 212, 0, 0, 0, 255, - 318, 0, 0, 0, 577, 209, 0, 0, 479, 307, - 232, 0, 0, 0, 0, 564, 565, 0, 0, 0, - 0, 0, 0, 1496, 0, 79, 0, 0, 0, 500, - 524, 523, 526, 527, 528, 529, 0, 0, 483, 525, - 530, 559, 560, 1497, 0, 0, 497, 515, 0, 576, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 259, 275, 295, - 0, 267, 0, 0, 0, 0, 0, 512, 513, 0, - 0, 0, 0, 591, 0, 514, 0, 0, 509, 510, - 511, 516, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 185, 233, 142, 567, 0, 0, 197, 348, 0, - 0, 589, 269, 0, 313, 187, 207, 146, 126, 140, - 157, 186, 244, 0, 289, 574, 0, 0, 0, 0, - 164, 0, 281, 252, 337, 566, 0, 280, 210, 327, - 0, 0, 336, 0, 473, 345, 350, 0, 0, 0, - 304, 174, 0, 131, 0, 266, 169, 202, 0, 0, - 0, 161, 0, 0, 0, 303, 325, 148, 320, 231, - 237, 158, 160, 159, 141, 298, 324, 153, 162, 308, - 285, 314, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 292, 291, 0, 193, 0, 0, - 0, 274, 0, 198, 130, 316, 353, 147, 204, 321, - 0, 181, 243, 166, 253, 254, 178, 128, 271, 225, - 226, 224, 227, 0, 0, 0, 272, 294, 323, 149, - 311, 0, 0, 0, 0, 283, 0, 0, 0, 132, - 317, 335, 154, 293, 296, 351, 279, 135, 333, 312, - 229, 199, 200, 133, 0, 134, 277, 172, 184, 167, - 247, 0, 183, 268, 330, 331, 165, 354, 143, 344, - 137, 144, 343, 240, 0, 239, 346, 326, 334, 230, - 218, 0, 136, 332, 228, 217, 205, 177, 189, 264, - 213, 265, 190, 235, 234, 236, 215, 219, 0, 0, - 0, 309, 340, 355, 151, 0, 297, 322, 0, 0, - 152, 182, 176, 263, 238, 145, 192, 306, 203, 211, - 276, 352, 251, 282, 155, 339, 305, 578, 590, 584, - 586, 585, 582, 583, 581, 580, 579, 592, 568, 569, - 570, 571, 572, 0, 0, 0, 575, 0, 587, 588, - 0, 0, 0, 0, 531, 532, 533, 534, 535, 539, - 540, 544, 545, 553, 552, 551, 554, 555, 557, 556, - 558, 536, 537, 538, 541, 542, 543, 546, 547, 550, - 548, 549, 573, 129, 138, 208, 0, 273, 180, 341, - 0, 171, 0, 0, 0, 0, 0, 127, 139, 150, - 156, 170, 175, 179, 188, 191, 194, 195, 196, 201, - 216, 220, 221, 222, 223, 241, 242, 245, 246, 249, - 250, 256, 257, 258, 260, 261, 262, 270, 0, 278, - 284, 286, 287, 288, 290, 299, 300, 301, 302, 310, - 315, 328, 329, 347, 349, 35, 319, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, - 0, 0, 0, 502, 0, 0, 0, 173, 499, 0, - 0, 0, 206, 0, 0, 163, 214, 212, 0, 0, - 0, 255, 318, 0, 0, 0, 577, 209, 0, 0, - 479, 307, 232, 0, 0, 0, 0, 564, 565, 0, - 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, - 0, 500, 524, 523, 526, 527, 528, 529, 0, 0, - 483, 525, 530, 559, 560, 0, 0, 0, 497, 515, - 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 259, - 275, 295, 0, 267, 0, 0, 0, 0, 0, 512, - 513, 0, 0, 0, 0, 591, 0, 514, 0, 0, - 509, 510, 511, 516, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 233, 142, 567, 0, 0, 197, - 348, 0, 0, 589, 269, 0, 313, 187, 207, 146, - 126, 140, 157, 186, 244, 0, 289, 574, 0, 0, - 0, 0, 164, 0, 281, 252, 337, 566, 0, 280, - 210, 327, 0, 0, 336, 0, 473, 345, 350, 0, - 0, 0, 304, 174, 0, 131, 0, 266, 169, 202, - 0, 0, 0, 161, 0, 0, 0, 303, 325, 148, - 320, 231, 237, 158, 160, 159, 141, 298, 324, 153, - 162, 308, 285, 314, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 292, 291, 0, 193, - 0, 0, 0, 274, 0, 198, 130, 316, 353, 147, - 204, 321, 0, 181, 243, 166, 253, 254, 178, 128, - 271, 225, 226, 224, 227, 0, 0, 0, 272, 294, - 323, 149, 311, 0, 0, 0, 0, 283, 0, 0, - 0, 132, 317, 335, 154, 293, 296, 351, 279, 135, - 333, 312, 229, 199, 200, 133, 0, 134, 277, 172, - 184, 167, 247, 0, 183, 268, 330, 331, 165, 354, - 143, 344, 137, 144, 343, 240, 0, 239, 346, 326, - 334, 230, 218, 0, 136, 332, 228, 217, 205, 177, - 189, 264, 213, 265, 190, 235, 234, 236, 215, 219, - 0, 0, 0, 309, 340, 355, 151, 0, 297, 322, - 0, 0, 152, 182, 176, 263, 238, 145, 192, 306, - 203, 211, 276, 352, 251, 282, 155, 339, 305, 578, - 590, 584, 586, 585, 582, 583, 581, 580, 579, 592, - 568, 569, 570, 571, 572, 0, 0, 0, 575, 0, - 587, 588, 0, 0, 0, 0, 531, 532, 533, 534, - 535, 539, 540, 544, 545, 553, 552, 551, 554, 555, - 557, 556, 558, 536, 537, 538, 541, 542, 543, 546, - 547, 550, 548, 549, 573, 129, 138, 208, 77, 273, - 180, 341, 0, 171, 0, 0, 0, 0, 0, 127, - 139, 150, 156, 170, 175, 179, 188, 191, 194, 195, - 196, 201, 216, 220, 221, 222, 223, 241, 242, 245, - 246, 249, 250, 256, 257, 258, 260, 261, 262, 270, - 0, 278, 284, 286, 287, 288, 290, 299, 300, 301, - 302, 310, 315, 328, 329, 347, 349, 319, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, - 0, 0, 0, 0, 502, 0, 0, 0, 173, 499, - 0, 0, 0, 206, 0, 0, 163, 214, 212, 0, - 0, 0, 255, 318, 0, 0, 0, 577, 209, 0, - 0, 479, 307, 232, 0, 0, 0, 0, 564, 565, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, - 0, 0, 500, 524, 523, 526, 527, 528, 529, 0, - 0, 483, 525, 530, 559, 560, 0, 0, 0, 497, - 515, 0, 576, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, - 259, 275, 295, 0, 267, 0, 0, 0, 0, 0, - 512, 513, 493, 0, 0, 0, 591, 0, 514, 0, - 0, 509, 510, 511, 516, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 185, 233, 142, 567, 0, 0, - 197, 348, 0, 0, 589, 269, 0, 313, 187, 207, - 146, 126, 140, 157, 186, 244, 0, 289, 574, 0, - 0, 0, 0, 164, 0, 281, 252, 337, 566, 0, - 280, 210, 327, 0, 0, 336, 0, 473, 345, 350, - 0, 0, 0, 304, 174, 0, 131, 0, 266, 169, - 202, 0, 0, 0, 161, 0, 0, 0, 303, 325, - 148, 320, 231, 237, 158, 160, 159, 141, 298, 324, - 153, 162, 308, 285, 314, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 292, 291, 0, - 193, 0, 0, 0, 274, 0, 198, 130, 316, 353, - 147, 204, 321, 0, 181, 243, 166, 253, 254, 178, - 128, 271, 225, 226, 224, 227, 0, 0, 0, 272, - 294, 323, 149, 311, 0, 0, 0, 0, 283, 0, - 0, 0, 132, 317, 335, 154, 293, 296, 351, 279, - 135, 333, 312, 229, 199, 200, 133, 0, 134, 277, - 172, 184, 167, 247, 0, 183, 268, 330, 331, 165, - 354, 143, 344, 137, 144, 343, 240, 0, 239, 346, - 326, 334, 230, 218, 0, 136, 332, 228, 217, 205, - 177, 189, 264, 213, 265, 190, 235, 234, 236, 215, - 219, 0, 0, 0, 309, 340, 355, 151, 0, 297, - 322, 0, 0, 152, 182, 176, 263, 238, 145, 192, - 306, 203, 211, 276, 352, 251, 282, 155, 339, 305, - 578, 590, 584, 586, 585, 582, 583, 581, 580, 579, - 592, 568, 569, 570, 571, 572, 0, 0, 0, 575, - 0, 587, 588, 0, 0, 0, 0, 531, 532, 533, - 534, 535, 539, 540, 544, 545, 553, 552, 551, 554, - 555, 557, 556, 558, 536, 537, 538, 541, 542, 543, - 546, 547, 550, 548, 549, 573, 129, 138, 208, 0, - 273, 180, 341, 0, 171, 0, 0, 0, 0, 0, - 127, 139, 150, 156, 170, 175, 179, 188, 191, 194, - 195, 196, 201, 216, 220, 221, 222, 223, 241, 242, - 245, 246, 249, 250, 256, 257, 258, 260, 261, 262, - 270, 0, 278, 284, 286, 287, 288, 290, 299, 300, - 301, 302, 310, 315, 328, 329, 347, 349, 319, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, - 0, 0, 0, 0, 0, 502, 0, 0, 0, 173, - 499, 0, 0, 0, 206, 0, 0, 163, 214, 212, - 0, 0, 0, 255, 318, 0, 0, 0, 577, 209, - 0, 0, 479, 307, 232, 0, 0, 0, 0, 564, - 565, 0, 0, 0, 0, 0, 0, 0, 0, 79, - 0, 958, 0, 500, 524, 523, 526, 527, 528, 529, - 0, 0, 483, 525, 530, 559, 560, 0, 0, 0, - 497, 515, 0, 576, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 259, 275, 295, 0, 267, 0, 0, 0, 0, - 0, 512, 513, 0, 0, 0, 0, 591, 0, 514, - 0, 0, 509, 510, 511, 516, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 185, 233, 142, 567, 0, - 0, 197, 348, 0, 0, 589, 269, 0, 313, 187, - 207, 146, 126, 140, 157, 186, 244, 0, 289, 574, - 0, 0, 0, 0, 164, 0, 281, 252, 337, 566, - 0, 280, 210, 327, 0, 0, 336, 0, 473, 345, - 350, 0, 0, 0, 304, 174, 0, 131, 0, 266, - 169, 202, 0, 0, 0, 161, 0, 0, 0, 303, - 325, 148, 320, 231, 237, 158, 160, 159, 141, 298, - 324, 153, 162, 308, 285, 314, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 292, 291, - 0, 193, 0, 0, 0, 274, 0, 198, 130, 316, - 353, 147, 204, 321, 0, 181, 243, 166, 253, 254, - 178, 128, 271, 225, 226, 224, 227, 0, 0, 0, - 272, 294, 323, 149, 311, 0, 0, 0, 0, 283, - 0, 0, 0, 132, 317, 335, 154, 293, 296, 351, - 279, 135, 333, 312, 229, 199, 200, 133, 0, 134, - 277, 172, 184, 167, 247, 0, 183, 268, 330, 331, - 165, 354, 143, 344, 137, 144, 343, 240, 0, 239, - 346, 326, 334, 230, 218, 0, 136, 332, 228, 217, - 205, 177, 189, 264, 213, 265, 190, 235, 234, 236, - 215, 219, 0, 0, 0, 309, 340, 355, 151, 0, - 297, 322, 0, 0, 152, 182, 176, 263, 238, 145, - 192, 306, 203, 211, 276, 352, 251, 282, 155, 339, - 305, 578, 590, 584, 586, 585, 582, 583, 581, 580, - 579, 592, 568, 569, 570, 571, 572, 0, 0, 0, - 575, 0, 587, 588, 0, 0, 0, 0, 531, 532, - 533, 534, 535, 539, 540, 544, 545, 553, 552, 551, - 554, 555, 557, 556, 558, 536, 537, 538, 541, 542, - 543, 546, 547, 550, 548, 549, 573, 129, 138, 208, - 0, 273, 180, 341, 0, 171, 0, 0, 0, 0, - 0, 127, 139, 150, 156, 170, 175, 179, 188, 191, - 194, 195, 196, 201, 216, 220, 221, 222, 223, 241, - 242, 245, 246, 249, 250, 256, 257, 258, 260, 261, - 262, 270, 0, 278, 284, 286, 287, 288, 290, 299, - 300, 301, 302, 310, 315, 328, 329, 347, 349, 319, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 248, 0, 0, 0, 0, 0, 502, 0, 0, 0, - 173, 499, 0, 0, 0, 206, 0, 0, 163, 214, - 212, 0, 0, 0, 255, 318, 0, 0, 0, 577, - 209, 0, 0, 479, 307, 232, 0, 0, 0, 0, - 564, 565, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 0, 0, 0, 500, 524, 523, 526, 527, 528, - 529, 0, 0, 483, 525, 530, 559, 560, 0, 0, - 0, 497, 515, 0, 576, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 259, 275, 295, 0, 267, 0, 0, 0, - 0, 0, 512, 513, 1384, 0, 0, 0, 591, 0, - 514, 0, 0, 509, 510, 511, 516, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 185, 233, 142, 567, - 0, 0, 197, 348, 0, 0, 589, 269, 0, 313, - 187, 207, 146, 126, 140, 157, 186, 244, 0, 289, - 574, 0, 0, 0, 0, 164, 0, 281, 252, 337, - 566, 0, 280, 210, 327, 0, 0, 336, 0, 473, - 345, 350, 0, 0, 0, 304, 174, 0, 131, 0, - 266, 169, 202, 0, 0, 0, 161, 0, 0, 0, - 303, 325, 148, 320, 231, 237, 158, 160, 159, 141, - 298, 324, 153, 162, 308, 285, 314, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 292, - 291, 0, 193, 0, 0, 0, 274, 0, 198, 130, - 316, 353, 147, 204, 321, 0, 181, 243, 166, 253, - 254, 178, 128, 271, 225, 226, 224, 227, 0, 0, - 0, 272, 294, 323, 149, 311, 0, 0, 0, 0, - 283, 0, 0, 0, 132, 317, 335, 154, 293, 296, - 351, 279, 135, 333, 312, 229, 199, 200, 133, 0, - 134, 277, 172, 184, 167, 247, 0, 183, 268, 330, - 331, 165, 354, 143, 344, 137, 144, 343, 240, 0, - 239, 346, 326, 334, 230, 218, 0, 136, 332, 228, - 217, 205, 177, 189, 264, 213, 265, 190, 235, 234, - 236, 215, 219, 0, 0, 0, 309, 340, 355, 151, - 0, 297, 322, 0, 0, 152, 182, 176, 263, 238, - 145, 192, 306, 203, 211, 276, 352, 251, 282, 155, - 339, 305, 578, 590, 584, 586, 585, 582, 583, 581, - 580, 579, 592, 568, 569, 570, 571, 572, 0, 0, - 0, 575, 0, 587, 588, 0, 0, 0, 0, 531, - 532, 533, 534, 535, 539, 540, 544, 545, 553, 552, - 551, 554, 555, 557, 556, 558, 536, 537, 538, 541, - 542, 543, 546, 547, 550, 548, 549, 573, 129, 138, - 208, 0, 273, 180, 341, 0, 171, 0, 0, 0, - 0, 0, 127, 139, 150, 156, 170, 175, 179, 188, - 191, 194, 195, 196, 201, 216, 220, 221, 222, 223, - 241, 242, 245, 246, 249, 250, 256, 257, 258, 260, - 261, 262, 270, 0, 278, 284, 286, 287, 288, 290, - 299, 300, 301, 302, 310, 315, 328, 329, 347, 349, - 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 248, 0, 0, 0, 0, 0, 502, 0, 0, - 0, 173, 499, 0, 0, 0, 206, 0, 0, 163, - 214, 212, 0, 0, 0, 255, 318, 0, 0, 0, - 577, 209, 0, 0, 479, 307, 232, 0, 0, 0, - 0, 564, 565, 0, 0, 0, 0, 0, 0, 0, - 0, 79, 0, 0, 0, 500, 524, 1428, 526, 527, - 528, 529, 0, 0, 483, 525, 530, 559, 560, 0, - 0, 0, 497, 515, 0, 576, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 338, 259, 275, 295, 0, 267, 0, 0, - 0, 0, 0, 512, 513, 1384, 0, 0, 0, 591, - 0, 514, 0, 0, 509, 510, 511, 516, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 185, 233, 142, - 567, 0, 0, 197, 348, 0, 0, 589, 269, 0, - 313, 187, 207, 146, 126, 140, 157, 186, 244, 0, - 289, 574, 0, 0, 0, 0, 164, 0, 281, 252, - 337, 566, 0, 280, 210, 327, 0, 0, 336, 0, - 473, 345, 350, 0, 0, 0, 304, 174, 0, 131, - 0, 266, 169, 202, 0, 0, 0, 161, 0, 0, - 0, 303, 325, 148, 320, 231, 237, 158, 160, 159, - 141, 298, 324, 153, 162, 308, 285, 314, 168, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 292, 291, 0, 193, 0, 0, 0, 274, 0, 198, - 130, 316, 353, 147, 204, 321, 0, 181, 243, 166, - 253, 254, 178, 128, 271, 225, 226, 224, 227, 0, - 0, 0, 272, 294, 323, 149, 311, 0, 0, 0, - 0, 283, 0, 0, 0, 132, 317, 335, 154, 293, - 296, 351, 279, 135, 333, 312, 229, 199, 200, 133, - 0, 134, 277, 172, 184, 167, 247, 0, 183, 268, - 330, 331, 165, 354, 143, 344, 137, 144, 343, 240, - 0, 239, 346, 326, 334, 230, 218, 0, 136, 332, - 228, 217, 205, 177, 189, 264, 213, 265, 190, 235, - 234, 236, 215, 219, 0, 0, 0, 309, 340, 355, - 151, 0, 297, 322, 0, 0, 152, 182, 176, 263, - 238, 145, 192, 306, 203, 211, 276, 352, 251, 282, - 155, 339, 305, 578, 590, 584, 586, 585, 582, 583, - 581, 580, 579, 592, 568, 569, 570, 571, 572, 0, - 0, 0, 575, 0, 587, 588, 0, 0, 0, 0, - 531, 532, 533, 534, 535, 539, 540, 544, 545, 553, - 552, 551, 554, 555, 557, 556, 558, 536, 537, 538, - 541, 542, 543, 546, 547, 550, 548, 549, 573, 129, - 138, 208, 0, 273, 180, 341, 0, 171, 0, 0, - 0, 0, 0, 127, 139, 150, 156, 170, 175, 179, - 188, 191, 194, 195, 196, 201, 216, 220, 221, 222, - 223, 241, 242, 245, 246, 249, 250, 256, 257, 258, - 260, 261, 262, 270, 0, 278, 284, 286, 287, 288, - 290, 299, 300, 301, 302, 310, 315, 328, 329, 347, - 349, 319, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 248, 0, 0, 0, 0, 0, 502, 0, - 0, 0, 173, 499, 0, 0, 0, 206, 0, 0, - 163, 214, 212, 0, 0, 0, 255, 318, 0, 0, - 0, 577, 209, 0, 0, 479, 307, 232, 0, 0, - 0, 0, 564, 565, 0, 0, 0, 0, 0, 0, - 0, 0, 79, 0, 0, 0, 500, 524, 1425, 526, - 527, 528, 529, 0, 0, 483, 525, 530, 559, 560, - 0, 0, 0, 497, 515, 0, 576, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 338, 259, 275, 295, 0, 267, 0, - 0, 0, 0, 0, 512, 513, 1384, 0, 0, 0, - 591, 0, 514, 0, 0, 509, 510, 511, 516, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 185, 233, - 142, 567, 0, 0, 197, 348, 0, 0, 589, 269, - 0, 313, 187, 207, 146, 126, 140, 157, 186, 244, - 0, 289, 574, 0, 0, 0, 0, 164, 0, 281, - 252, 337, 566, 0, 280, 210, 327, 0, 0, 336, - 0, 473, 345, 350, 0, 0, 0, 304, 174, 0, - 131, 0, 266, 169, 202, 0, 0, 0, 161, 0, - 0, 0, 303, 325, 148, 320, 231, 237, 158, 160, - 159, 141, 298, 324, 153, 162, 308, 285, 314, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, - 0, 292, 291, 0, 193, 0, 0, 0, 274, 0, - 198, 130, 316, 353, 147, 204, 321, 0, 181, 243, - 166, 253, 254, 178, 128, 271, 225, 226, 224, 227, - 0, 0, 0, 272, 294, 323, 149, 311, 0, 0, - 0, 0, 283, 0, 0, 0, 132, 317, 335, 154, - 293, 296, 351, 279, 135, 333, 312, 229, 199, 200, - 133, 0, 134, 277, 172, 184, 167, 247, 0, 183, - 268, 330, 331, 165, 354, 143, 344, 137, 144, 343, - 240, 0, 239, 346, 326, 334, 230, 218, 0, 136, - 332, 228, 217, 205, 177, 189, 264, 213, 265, 190, - 235, 234, 236, 215, 219, 0, 0, 0, 309, 340, - 355, 151, 0, 297, 322, 0, 0, 152, 182, 176, - 263, 238, 145, 192, 306, 203, 211, 276, 352, 251, - 282, 155, 339, 305, 578, 590, 584, 586, 585, 582, - 583, 581, 580, 579, 592, 568, 569, 570, 571, 572, - 0, 0, 0, 575, 0, 587, 588, 0, 0, 0, - 0, 531, 532, 533, 534, 535, 539, 540, 544, 545, - 553, 552, 551, 554, 555, 557, 556, 558, 536, 537, - 538, 541, 542, 543, 546, 547, 550, 548, 549, 573, - 129, 138, 208, 0, 273, 180, 341, 0, 171, 0, - 0, 0, 0, 0, 127, 139, 150, 156, 170, 175, - 179, 188, 191, 194, 195, 196, 201, 216, 220, 221, - 222, 223, 241, 242, 245, 246, 249, 250, 256, 257, - 258, 260, 261, 262, 270, 0, 278, 284, 286, 287, - 288, 290, 299, 300, 301, 302, 310, 315, 328, 329, - 347, 349, 319, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 248, 0, 0, 0, 0, 0, 502, - 0, 0, 0, 173, 499, 0, 0, 0, 206, 0, - 0, 163, 214, 212, 0, 0, 0, 255, 318, 0, - 0, 0, 577, 209, 0, 0, 479, 307, 232, 0, - 0, 0, 0, 564, 565, 0, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 1271, 0, 500, 524, 523, - 526, 527, 528, 529, 0, 0, 483, 525, 530, 559, - 560, 0, 0, 0, 497, 515, 0, 576, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 338, 259, 275, 295, 0, 267, - 0, 0, 0, 0, 0, 512, 513, 0, 0, 0, - 0, 591, 0, 514, 0, 0, 509, 510, 511, 516, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, - 233, 142, 567, 0, 0, 197, 348, 0, 0, 589, - 269, 0, 313, 187, 207, 146, 126, 140, 157, 186, - 244, 0, 289, 574, 0, 0, 0, 0, 164, 0, - 281, 252, 337, 566, 0, 280, 210, 327, 0, 0, - 336, 0, 473, 345, 350, 0, 0, 0, 304, 174, - 0, 131, 0, 266, 169, 202, 0, 0, 0, 161, - 0, 0, 0, 303, 325, 148, 320, 231, 237, 158, - 160, 159, 141, 298, 324, 153, 162, 308, 285, 314, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 0, 292, 291, 0, 193, 0, 0, 0, 274, - 0, 198, 130, 316, 353, 147, 204, 321, 0, 181, - 243, 166, 253, 254, 178, 128, 271, 225, 226, 224, - 227, 0, 0, 0, 272, 294, 323, 149, 311, 0, - 0, 0, 0, 283, 0, 0, 0, 132, 317, 335, - 154, 293, 296, 351, 279, 135, 333, 312, 229, 199, - 200, 133, 0, 134, 277, 172, 184, 167, 247, 0, - 183, 268, 330, 331, 165, 354, 143, 344, 137, 144, - 343, 240, 0, 239, 346, 326, 334, 230, 218, 0, - 136, 332, 228, 217, 205, 177, 189, 264, 213, 265, - 190, 235, 234, 236, 215, 219, 0, 0, 0, 309, - 340, 355, 151, 0, 297, 322, 0, 0, 152, 182, - 176, 263, 238, 145, 192, 306, 203, 211, 276, 352, - 251, 282, 155, 339, 305, 578, 590, 584, 586, 585, - 582, 583, 581, 580, 579, 592, 568, 569, 570, 571, - 572, 0, 0, 0, 575, 0, 587, 588, 0, 0, - 0, 0, 531, 532, 533, 534, 535, 539, 540, 544, - 545, 553, 552, 551, 554, 555, 557, 556, 558, 536, - 537, 538, 541, 542, 543, 546, 547, 550, 548, 549, - 573, 129, 138, 208, 0, 273, 180, 341, 0, 171, - 0, 0, 0, 0, 0, 127, 139, 150, 156, 170, - 175, 179, 188, 191, 194, 195, 196, 201, 216, 220, - 221, 222, 223, 241, 242, 245, 246, 249, 250, 256, - 257, 258, 260, 261, 262, 270, 0, 278, 284, 286, - 287, 288, 290, 299, 300, 301, 302, 310, 315, 328, - 329, 347, 349, 319, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, - 502, 0, 0, 0, 173, 499, 0, 0, 0, 206, - 0, 0, 163, 214, 212, 0, 0, 0, 255, 318, - 0, 0, 0, 577, 209, 0, 0, 479, 307, 232, - 0, 0, 0, 0, 564, 565, 0, 0, 0, 0, - 0, 0, 0, 0, 79, 0, 0, 0, 500, 524, - 523, 526, 527, 528, 529, 0, 0, 483, 525, 530, - 559, 560, 0, 0, 0, 497, 515, 0, 576, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 259, 275, 295, 0, - 267, 0, 0, 0, 0, 0, 512, 513, 0, 0, - 0, 0, 591, 0, 514, 0, 0, 509, 510, 511, - 516, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 185, 233, 142, 567, 0, 0, 197, 348, 0, 0, - 589, 269, 0, 313, 187, 207, 146, 126, 140, 157, - 186, 244, 0, 289, 574, 0, 0, 0, 0, 164, - 0, 281, 252, 337, 566, 0, 280, 210, 327, 0, - 0, 336, 0, 473, 345, 350, 0, 0, 0, 304, - 174, 0, 131, 0, 266, 169, 202, 0, 0, 0, - 161, 0, 0, 0, 303, 325, 148, 320, 231, 237, - 158, 160, 159, 141, 298, 324, 153, 162, 308, 285, - 314, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 292, 291, 0, 193, 0, 0, 0, - 274, 0, 198, 130, 316, 353, 147, 204, 321, 0, - 181, 243, 166, 253, 254, 178, 128, 271, 225, 226, - 224, 227, 0, 0, 0, 272, 294, 323, 149, 311, - 0, 0, 0, 0, 283, 0, 0, 0, 132, 317, - 335, 154, 293, 296, 351, 279, 135, 333, 312, 229, - 199, 200, 133, 0, 134, 277, 172, 184, 167, 247, - 0, 183, 268, 330, 331, 165, 354, 143, 344, 137, - 144, 343, 240, 0, 239, 346, 326, 334, 230, 218, - 0, 136, 332, 228, 217, 205, 177, 189, 264, 213, - 265, 190, 235, 234, 236, 215, 219, 0, 0, 0, - 309, 340, 355, 151, 0, 297, 322, 0, 0, 152, - 182, 176, 263, 238, 145, 192, 306, 203, 211, 276, - 352, 251, 282, 155, 339, 305, 578, 590, 584, 586, - 585, 582, 583, 581, 580, 579, 592, 568, 569, 570, - 571, 572, 0, 0, 0, 575, 0, 587, 588, 0, - 0, 0, 0, 531, 532, 533, 534, 535, 539, 540, - 544, 545, 553, 552, 551, 554, 555, 557, 556, 558, - 536, 537, 538, 541, 542, 543, 546, 547, 550, 548, - 549, 573, 129, 138, 208, 0, 273, 180, 341, 0, - 171, 0, 0, 0, 0, 0, 127, 139, 150, 156, - 170, 175, 179, 188, 191, 194, 195, 196, 201, 216, - 220, 221, 222, 223, 241, 242, 245, 246, 249, 250, - 256, 257, 258, 260, 261, 262, 270, 0, 278, 284, - 286, 287, 288, 290, 299, 300, 301, 302, 310, 315, - 328, 329, 347, 349, 319, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, - 206, 0, 0, 163, 214, 212, 0, 0, 0, 255, - 318, 0, 0, 0, 577, 209, 0, 0, 479, 307, - 232, 0, 0, 0, 0, 564, 565, 0, 0, 0, - 0, 0, 0, 0, 0, 79, 0, 0, 0, 500, - 524, 523, 526, 527, 528, 529, 0, 0, 483, 525, - 530, 559, 560, 0, 0, 0, 0, 515, 0, 576, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 259, 275, 295, - 0, 267, 0, 0, 0, 0, 0, 512, 513, 0, - 0, 0, 0, 591, 0, 514, 0, 0, 509, 510, - 511, 516, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 185, 233, 142, 567, 0, 0, 197, 348, 0, - 0, 589, 269, 0, 313, 187, 207, 146, 126, 140, - 157, 186, 244, 0, 289, 574, 0, 0, 0, 0, - 164, 0, 281, 252, 337, 566, 0, 280, 210, 327, - 0, 0, 336, 0, 473, 345, 350, 0, 0, 0, - 304, 174, 0, 131, 0, 266, 169, 202, 0, 0, - 0, 161, 0, 0, 0, 303, 325, 148, 320, 231, - 237, 158, 160, 159, 141, 298, 324, 153, 162, 308, - 285, 314, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 292, 291, 0, 193, 0, 0, - 0, 274, 0, 198, 130, 316, 353, 147, 204, 321, - 0, 181, 243, 166, 253, 254, 178, 128, 271, 225, - 226, 224, 227, 0, 0, 0, 272, 294, 323, 149, - 311, 0, 0, 0, 0, 283, 0, 0, 0, 132, - 317, 335, 154, 293, 296, 351, 279, 135, 333, 312, - 229, 199, 200, 133, 0, 134, 277, 172, 184, 167, - 247, 0, 183, 268, 330, 331, 165, 354, 143, 344, - 137, 144, 343, 240, 0, 239, 346, 326, 334, 230, - 218, 0, 136, 332, 228, 217, 205, 177, 189, 264, - 213, 265, 190, 235, 234, 236, 215, 219, 0, 0, - 0, 309, 340, 355, 151, 0, 297, 322, 0, 0, - 152, 182, 176, 263, 238, 145, 192, 306, 203, 211, - 276, 352, 251, 282, 155, 339, 305, 578, 590, 584, - 586, 585, 582, 583, 581, 580, 579, 592, 568, 569, - 570, 571, 572, 1431, 1432, 1433, 575, 0, 587, 588, - 0, 0, 0, 0, 531, 532, 533, 534, 535, 539, - 540, 544, 545, 553, 552, 551, 554, 555, 557, 556, - 558, 536, 537, 538, 541, 542, 543, 546, 547, 550, - 548, 549, 573, 129, 138, 208, 0, 273, 180, 341, - 0, 171, 0, 0, 0, 0, 0, 127, 139, 150, - 156, 170, 175, 179, 188, 191, 194, 195, 196, 201, - 216, 220, 221, 222, 223, 241, 242, 245, 246, 249, - 250, 256, 257, 258, 260, 261, 262, 270, 0, 278, - 284, 286, 287, 288, 290, 299, 300, 301, 302, 310, - 315, 328, 329, 347, 349, 319, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, - 0, 206, 0, 0, 163, 214, 212, 0, 0, 0, - 255, 318, 0, 0, 0, 577, 209, 0, 0, 479, - 307, 232, 0, 0, 0, 0, 564, 565, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, - 500, 524, 523, 526, 527, 528, 529, 0, 0, 483, - 525, 530, 559, 560, 0, 0, 0, 0, 515, 0, - 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 259, 275, - 295, 0, 267, 0, 0, 0, 0, 0, 512, 513, - 0, 0, 0, 0, 591, 0, 514, 0, 0, 509, - 510, 511, 516, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 185, 233, 142, 567, 0, 0, 197, 348, - 0, 0, 589, 269, 0, 313, 187, 207, 146, 126, - 140, 157, 186, 244, 0, 289, 574, 0, 0, 0, - 0, 164, 0, 281, 252, 337, 566, 2720, 280, 210, - 327, 0, 0, 336, 0, 473, 345, 350, 0, 0, - 0, 304, 174, 0, 131, 0, 266, 169, 202, 0, - 0, 0, 161, 0, 0, 0, 303, 325, 148, 320, - 231, 237, 158, 160, 159, 141, 298, 324, 153, 162, - 308, 285, 314, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 292, 291, 0, 193, 0, - 0, 0, 274, 0, 198, 130, 316, 353, 147, 204, - 321, 0, 181, 243, 166, 253, 254, 178, 128, 271, - 225, 226, 224, 227, 0, 0, 0, 272, 294, 323, - 149, 311, 0, 0, 0, 0, 283, 0, 0, 0, - 132, 317, 335, 154, 293, 296, 351, 279, 135, 333, - 312, 229, 199, 200, 133, 0, 134, 277, 172, 184, - 167, 247, 0, 183, 268, 330, 331, 165, 354, 143, - 344, 137, 144, 343, 240, 0, 239, 346, 326, 334, - 230, 218, 0, 136, 332, 228, 217, 205, 177, 189, - 264, 213, 265, 190, 235, 234, 236, 215, 219, 0, - 0, 0, 309, 340, 355, 151, 0, 297, 322, 0, - 0, 152, 182, 176, 263, 238, 145, 192, 306, 203, - 211, 276, 352, 251, 282, 155, 339, 305, 578, 590, - 584, 586, 585, 582, 583, 581, 580, 579, 592, 568, - 569, 570, 571, 572, 0, 0, 0, 575, 0, 587, - 588, 0, 0, 0, 0, 531, 532, 533, 534, 535, - 539, 540, 544, 545, 553, 552, 551, 554, 555, 557, - 556, 558, 536, 537, 538, 541, 542, 543, 546, 547, - 550, 548, 549, 573, 129, 138, 208, 0, 273, 180, - 341, 0, 171, 0, 0, 0, 0, 0, 127, 139, - 150, 156, 170, 175, 179, 188, 191, 194, 195, 196, - 201, 216, 220, 221, 222, 223, 241, 242, 245, 246, - 249, 250, 256, 257, 258, 260, 261, 262, 270, 0, - 278, 284, 286, 287, 288, 290, 299, 300, 301, 302, - 310, 315, 328, 329, 347, 349, 319, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, - 0, 0, 206, 0, 0, 163, 214, 212, 0, 0, - 0, 255, 318, 0, 0, 0, 577, 209, 0, 0, - 479, 307, 232, 0, 0, 0, 0, 564, 565, 0, - 0, 0, 0, 0, 0, 0, 0, 79, 0, 958, - 0, 500, 524, 523, 526, 527, 528, 529, 0, 0, - 483, 525, 530, 559, 560, 0, 0, 0, 0, 515, - 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 259, - 275, 295, 0, 267, 0, 0, 0, 0, 0, 512, - 513, 0, 0, 0, 0, 591, 0, 514, 0, 0, - 509, 510, 511, 516, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 233, 142, 567, 0, 0, 197, - 348, 0, 0, 589, 269, 0, 313, 187, 207, 146, - 126, 140, 157, 186, 244, 0, 289, 574, 0, 0, - 0, 0, 164, 0, 281, 252, 337, 566, 0, 280, - 210, 327, 0, 0, 336, 0, 473, 345, 350, 0, - 0, 0, 304, 174, 0, 131, 0, 266, 169, 202, - 0, 0, 0, 161, 0, 0, 0, 303, 325, 148, - 320, 231, 237, 158, 160, 159, 141, 298, 324, 153, - 162, 308, 285, 314, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 292, 291, 0, 193, - 0, 0, 0, 274, 0, 198, 130, 316, 353, 147, - 204, 321, 0, 181, 243, 166, 253, 254, 178, 128, - 271, 225, 226, 224, 227, 0, 0, 0, 272, 294, - 323, 149, 311, 0, 0, 0, 0, 283, 0, 0, - 0, 132, 317, 335, 154, 293, 296, 351, 279, 135, - 333, 312, 229, 199, 200, 133, 0, 134, 277, 172, - 184, 167, 247, 0, 183, 268, 330, 331, 165, 354, - 143, 344, 137, 144, 343, 240, 0, 239, 346, 326, - 334, 230, 218, 0, 136, 332, 228, 217, 205, 177, - 189, 264, 213, 265, 190, 235, 234, 236, 215, 219, - 0, 0, 0, 309, 340, 355, 151, 0, 297, 322, - 0, 0, 152, 182, 176, 263, 238, 145, 192, 306, - 203, 211, 276, 352, 251, 282, 155, 339, 305, 578, - 590, 584, 586, 585, 582, 583, 581, 580, 579, 592, - 568, 569, 570, 571, 572, 0, 0, 0, 575, 0, - 587, 588, 0, 0, 0, 0, 531, 532, 533, 534, - 535, 539, 540, 544, 545, 553, 552, 551, 554, 555, - 557, 556, 558, 536, 537, 538, 541, 542, 543, 546, - 547, 550, 548, 549, 573, 129, 138, 208, 0, 273, - 180, 341, 0, 171, 0, 0, 0, 0, 0, 127, - 139, 150, 156, 170, 175, 179, 188, 191, 194, 195, - 196, 201, 216, 220, 221, 222, 223, 241, 242, 245, - 246, 249, 250, 256, 257, 258, 260, 261, 262, 270, - 0, 278, 284, 286, 287, 288, 290, 299, 300, 301, - 302, 310, 315, 328, 329, 347, 349, 319, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, - 0, 0, 0, 206, 0, 0, 163, 214, 212, 0, - 0, 0, 255, 318, 0, 0, 0, 577, 209, 0, - 0, 479, 307, 232, 0, 0, 0, 0, 564, 565, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, - 0, 0, 500, 524, 523, 526, 527, 528, 529, 0, - 0, 483, 525, 530, 559, 560, 0, 0, 0, 0, - 515, 0, 576, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, - 259, 275, 295, 0, 267, 0, 0, 0, 0, 0, - 512, 513, 0, 0, 0, 0, 591, 0, 514, 0, - 0, 509, 510, 511, 516, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 185, 233, 142, 567, 0, 0, - 197, 348, 0, 0, 589, 269, 0, 313, 187, 207, - 146, 126, 140, 157, 186, 244, 0, 289, 574, 0, - 0, 0, 0, 164, 0, 281, 252, 337, 566, 0, - 280, 210, 327, 0, 0, 336, 0, 473, 345, 350, - 0, 0, 0, 304, 174, 0, 131, 0, 266, 169, - 202, 0, 0, 0, 161, 0, 0, 0, 303, 325, - 148, 320, 231, 237, 158, 160, 159, 141, 298, 324, - 153, 162, 308, 285, 314, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 292, 291, 0, - 193, 0, 0, 0, 274, 0, 198, 130, 316, 353, - 147, 204, 321, 0, 181, 243, 166, 253, 254, 178, - 128, 271, 225, 226, 224, 227, 0, 0, 0, 272, - 294, 323, 149, 311, 0, 0, 0, 0, 283, 0, - 0, 0, 132, 317, 335, 154, 293, 296, 351, 279, - 135, 333, 312, 229, 199, 200, 133, 0, 134, 277, - 172, 184, 167, 247, 0, 183, 268, 330, 331, 165, - 354, 143, 344, 137, 144, 343, 240, 0, 239, 346, - 326, 334, 230, 218, 0, 136, 332, 228, 217, 205, - 177, 189, 264, 213, 265, 190, 235, 234, 236, 215, - 219, 0, 0, 0, 309, 340, 355, 151, 0, 297, - 322, 0, 0, 152, 182, 176, 263, 238, 145, 192, - 306, 203, 211, 276, 352, 251, 282, 155, 339, 305, - 578, 590, 584, 586, 585, 582, 583, 581, 580, 579, - 592, 568, 569, 570, 571, 572, 0, 0, 0, 575, - 0, 587, 588, 0, 0, 0, 0, 531, 532, 533, - 534, 535, 539, 540, 544, 545, 553, 552, 551, 554, - 555, 557, 556, 558, 536, 537, 538, 541, 542, 543, - 546, 547, 550, 548, 549, 573, 129, 138, 208, 0, - 273, 180, 341, 0, 171, 0, 0, 0, 0, 0, - 127, 139, 150, 156, 170, 175, 179, 188, 191, 194, - 195, 196, 201, 216, 220, 221, 222, 223, 241, 242, - 245, 246, 249, 250, 256, 257, 258, 260, 261, 262, - 270, 0, 278, 284, 286, 287, 288, 290, 299, 300, - 301, 302, 310, 315, 328, 329, 347, 349, 319, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, - 0, 0, 0, 0, 1474, 0, 0, 0, 0, 173, - 0, 0, 0, 0, 206, 0, 0, 163, 214, 212, - 0, 0, 0, 255, 318, 0, 0, 0, 0, 209, - 0, 0, 479, 307, 232, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1476, 1478, 0, 0, 0, - 0, 0, 0, 124, 0, 452, 0, 0, 0, 0, - 0, 0, 483, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 259, 275, 295, 0, 267, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 185, 233, 142, 0, 0, - 0, 197, 348, 0, 1477, 0, 269, 0, 313, 187, - 207, 146, 126, 140, 157, 186, 244, 0, 289, 0, - 0, 0, 0, 0, 164, 0, 281, 252, 337, 0, - 0, 280, 210, 327, 0, 0, 336, 0, 473, 345, - 350, 0, 0, 0, 304, 174, 0, 131, 0, 266, - 169, 202, 0, 0, 0, 161, 0, 0, 0, 303, - 325, 148, 320, 231, 237, 158, 160, 159, 141, 298, - 324, 153, 162, 308, 285, 314, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 292, 291, - 0, 193, 0, 0, 0, 274, 0, 198, 130, 316, - 353, 147, 204, 321, 0, 181, 243, 166, 253, 254, - 178, 128, 271, 225, 226, 224, 227, 0, 0, 0, - 272, 294, 323, 149, 311, 0, 0, 0, 0, 283, - 0, 0, 0, 132, 317, 335, 154, 293, 296, 351, - 279, 135, 333, 312, 229, 199, 200, 133, 0, 134, - 277, 172, 184, 167, 247, 0, 183, 268, 330, 331, - 165, 354, 143, 344, 137, 144, 343, 240, 0, 239, - 346, 326, 334, 230, 218, 0, 136, 332, 228, 217, - 205, 177, 189, 264, 213, 265, 190, 235, 234, 236, - 215, 219, 0, 0, 0, 309, 340, 355, 151, 0, - 297, 322, 0, 0, 152, 182, 176, 263, 238, 145, - 192, 306, 203, 211, 276, 352, 251, 282, 155, 339, - 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 453, 454, - 455, 456, 457, 461, 462, 466, 467, 476, 475, 474, - 477, 478, 481, 480, 482, 458, 459, 460, 463, 464, - 465, 468, 469, 472, 470, 471, 0, 129, 138, 208, - 0, 273, 180, 341, 0, 171, 0, 0, 0, 0, - 0, 127, 139, 150, 156, 170, 175, 179, 188, 191, - 194, 195, 196, 201, 216, 220, 221, 222, 223, 241, - 242, 245, 246, 249, 250, 256, 257, 258, 260, 261, - 262, 270, 0, 278, 284, 286, 287, 288, 290, 299, - 300, 301, 302, 310, 315, 328, 329, 347, 349, 319, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 248, 0, 0, 0, 0, 1474, 0, 0, 0, 0, - 173, 0, 0, 0, 0, 206, 0, 0, 163, 214, - 212, 0, 0, 0, 255, 318, 0, 0, 0, 0, - 209, 0, 0, 479, 307, 232, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1476, 1478, 0, 0, - 0, 0, 0, 0, 124, 0, 452, 0, 0, 0, - 0, 0, 0, 483, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 1472, 275, 295, 0, 267, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 185, 233, 142, 0, - 0, 0, 197, 348, 0, 1477, 0, 269, 0, 313, - 187, 207, 146, 126, 140, 157, 186, 244, 0, 289, - 0, 0, 0, 0, 0, 164, 0, 281, 252, 337, - 0, 0, 280, 210, 327, 0, 0, 336, 0, 473, - 345, 350, 0, 0, 0, 304, 174, 0, 131, 0, - 266, 169, 202, 0, 0, 0, 161, 0, 0, 0, - 303, 325, 148, 320, 231, 237, 158, 160, 159, 141, - 298, 324, 153, 162, 308, 285, 314, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 292, - 291, 0, 193, 0, 0, 0, 274, 0, 198, 130, - 316, 353, 147, 204, 321, 0, 181, 243, 166, 253, - 254, 178, 128, 271, 225, 226, 224, 227, 0, 0, - 0, 272, 294, 323, 149, 311, 0, 0, 0, 0, - 283, 0, 0, 0, 132, 317, 335, 154, 293, 296, - 351, 279, 135, 333, 312, 229, 199, 200, 133, 0, - 134, 277, 172, 184, 167, 247, 0, 183, 268, 330, - 331, 165, 354, 143, 344, 137, 144, 343, 240, 0, - 239, 346, 326, 334, 230, 218, 0, 136, 332, 228, - 217, 205, 177, 189, 264, 213, 265, 190, 235, 234, - 236, 215, 219, 0, 0, 0, 309, 340, 355, 151, - 0, 297, 322, 0, 0, 152, 182, 176, 263, 238, - 145, 192, 306, 203, 211, 276, 352, 251, 282, 155, - 339, 305, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, - 454, 455, 456, 457, 461, 462, 466, 467, 476, 475, - 474, 477, 478, 481, 480, 482, 458, 459, 460, 463, - 464, 465, 468, 469, 472, 470, 471, 0, 129, 138, - 208, 0, 273, 180, 341, 0, 171, 0, 0, 0, - 0, 0, 127, 139, 150, 156, 170, 175, 179, 188, - 191, 194, 195, 196, 201, 216, 220, 221, 222, 223, - 241, 242, 245, 246, 249, 250, 256, 257, 258, 260, - 261, 262, 270, 0, 278, 284, 286, 287, 288, 290, - 299, 300, 301, 302, 310, 315, 328, 329, 347, 349, - 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 248, 0, 0, 0, 0, 980, 0, 0, 0, - 0, 173, 0, 0, 0, 0, 206, 0, 0, 163, - 214, 212, 0, 0, 0, 255, 318, 0, 0, 0, - 0, 209, 0, 0, 479, 307, 232, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 981, 0, 984, 0, 0, - 0, 0, 0, 0, 483, 0, 0, 0, 0, 0, - 977, 976, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, - 0, 0, 338, 259, 275, 295, 0, 267, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 185, 233, 142, - 0, 0, 0, 197, 348, 0, 0, 0, 269, 0, - 313, 187, 207, 146, 126, 140, 157, 186, 244, 0, - 289, 0, 0, 0, 0, 0, 164, 0, 281, 252, - 337, 0, 0, 280, 210, 327, 0, 0, 336, 0, - 473, 345, 350, 0, 0, 0, 304, 174, 0, 131, - 0, 266, 169, 202, 0, 0, 0, 161, 0, 0, - 0, 303, 325, 148, 320, 231, 237, 158, 160, 159, - 141, 298, 324, 153, 162, 308, 285, 314, 168, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 292, 291, 0, 193, 0, 0, 0, 274, 0, 198, - 130, 316, 353, 147, 204, 321, 0, 181, 243, 166, - 253, 254, 178, 128, 271, 225, 226, 224, 227, 0, - 0, 0, 272, 294, 323, 149, 311, 0, 0, 0, - 0, 283, 0, 0, 0, 132, 317, 335, 154, 293, - 296, 351, 279, 135, 333, 312, 229, 199, 200, 133, - 0, 134, 277, 172, 184, 167, 247, 0, 183, 268, - 330, 331, 165, 354, 143, 344, 137, 144, 343, 240, - 0, 239, 346, 326, 334, 230, 218, 0, 136, 332, - 228, 217, 205, 177, 189, 264, 213, 265, 190, 235, - 234, 236, 215, 219, 0, 0, 0, 309, 340, 355, - 151, 0, 297, 322, 0, 0, 152, 182, 176, 263, - 238, 145, 192, 306, 203, 211, 276, 352, 251, 282, - 155, 339, 305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 453, 454, 455, 456, 457, 461, 462, 466, 467, 476, - 475, 474, 477, 478, 481, 480, 482, 458, 459, 460, - 463, 464, 465, 468, 469, 472, 470, 471, 0, 129, - 138, 208, 0, 273, 180, 341, 0, 171, 0, 0, - 0, 0, 0, 127, 139, 150, 156, 170, 175, 179, - 188, 191, 194, 195, 196, 201, 216, 220, 221, 222, - 223, 241, 242, 245, 246, 249, 250, 256, 257, 258, - 260, 261, 262, 270, 0, 278, 284, 286, 287, 288, - 290, 299, 300, 301, 302, 310, 315, 328, 329, 347, - 349, 319, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 173, 0, 0, 0, 0, 206, 0, 0, - 163, 214, 212, 0, 0, 0, 255, 318, 0, 0, - 0, 0, 209, 0, 0, 479, 307, 232, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 124, 0, 452, 0, - 0, 0, 0, 0, 0, 483, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 338, 259, 275, 295, 0, 267, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 185, 233, - 142, 0, 0, 0, 197, 348, 0, 0, 0, 269, - 0, 313, 187, 207, 146, 126, 140, 157, 186, 244, - 0, 289, 0, 0, 0, 0, 0, 164, 0, 281, - 252, 337, 0, 0, 280, 210, 327, 0, 0, 336, - 0, 473, 345, 350, 0, 0, 0, 304, 174, 0, - 131, 0, 266, 169, 202, 0, 0, 0, 161, 0, - 0, 0, 303, 325, 148, 320, 231, 237, 158, 160, - 159, 141, 298, 324, 153, 162, 308, 285, 314, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, - 0, 292, 291, 0, 193, 0, 0, 0, 274, 0, - 198, 130, 316, 353, 147, 204, 321, 0, 181, 243, - 166, 253, 254, 178, 128, 271, 225, 226, 224, 227, - 0, 0, 0, 272, 294, 323, 149, 311, 0, 0, - 0, 0, 283, 0, 0, 0, 132, 317, 335, 154, - 293, 296, 351, 279, 135, 333, 312, 229, 199, 200, - 133, 0, 134, 277, 172, 184, 167, 247, 0, 183, - 268, 330, 331, 165, 354, 143, 344, 137, 144, 343, - 240, 0, 239, 346, 326, 334, 230, 218, 0, 136, - 332, 228, 217, 205, 177, 189, 264, 213, 265, 190, - 235, 234, 236, 215, 219, 0, 0, 0, 309, 340, - 355, 151, 0, 297, 322, 0, 0, 152, 182, 176, - 263, 238, 145, 192, 306, 203, 211, 276, 352, 251, - 282, 155, 339, 305, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 453, 454, 455, 456, 457, 461, 462, 466, 467, - 476, 475, 474, 477, 478, 481, 480, 482, 458, 459, - 460, 463, 464, 465, 468, 469, 472, 470, 471, 0, - 129, 138, 208, 0, 273, 180, 341, 0, 171, 0, - 0, 0, 0, 447, 127, 139, 150, 156, 170, 175, - 179, 188, 191, 194, 195, 196, 201, 216, 220, 221, - 222, 223, 241, 242, 245, 246, 249, 250, 256, 257, - 258, 260, 261, 262, 270, 0, 278, 284, 286, 287, - 288, 290, 299, 300, 301, 302, 310, 315, 328, 329, - 347, 349, 319, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 173, 0, 0, 0, 0, 206, 1769, - 0, 163, 214, 212, 0, 0, 0, 255, 318, 0, - 0, 0, 0, 209, 0, 0, 479, 307, 232, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 124, 0, 452, - 0, 0, 0, 0, 0, 0, 483, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 338, 259, 275, 295, 0, 267, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, - 233, 142, 0, 0, 0, 197, 348, 0, 0, 0, - 269, 0, 313, 187, 207, 146, 126, 140, 157, 186, - 244, 0, 289, 0, 0, 0, 0, 0, 164, 0, - 281, 252, 337, 0, 0, 280, 210, 327, 0, 0, - 336, 0, 473, 345, 350, 0, 0, 0, 304, 174, - 0, 131, 0, 266, 169, 202, 0, 0, 0, 161, - 0, 0, 0, 303, 325, 148, 320, 231, 237, 158, - 160, 159, 141, 298, 324, 153, 162, 308, 285, 314, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 0, 292, 291, 0, 193, 0, 0, 0, 274, - 0, 198, 130, 316, 353, 147, 204, 321, 0, 181, - 243, 166, 253, 254, 178, 128, 271, 225, 226, 224, - 227, 0, 0, 0, 272, 294, 323, 149, 311, 0, - 0, 0, 0, 283, 0, 0, 0, 132, 317, 335, - 154, 293, 296, 351, 279, 135, 333, 312, 229, 199, - 200, 133, 0, 134, 277, 172, 184, 167, 247, 0, - 183, 268, 330, 331, 165, 354, 143, 344, 137, 144, - 343, 240, 0, 239, 346, 326, 334, 230, 218, 0, - 136, 332, 228, 217, 205, 177, 189, 264, 213, 265, - 190, 235, 234, 236, 215, 219, 0, 0, 0, 309, - 340, 355, 151, 0, 297, 322, 0, 0, 152, 182, - 176, 263, 238, 145, 192, 306, 203, 211, 276, 352, - 251, 282, 155, 339, 305, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 453, 454, 455, 456, 457, 461, 462, 466, - 467, 476, 475, 474, 477, 478, 481, 480, 482, 458, - 459, 460, 463, 464, 465, 468, 469, 472, 470, 471, - 0, 129, 138, 208, 0, 273, 180, 341, 0, 171, - 0, 0, 0, 0, 0, 127, 139, 150, 156, 170, - 175, 179, 188, 191, 194, 195, 196, 201, 216, 220, - 221, 222, 223, 241, 242, 245, 246, 249, 250, 256, - 257, 258, 260, 261, 262, 270, 0, 278, 284, 286, - 287, 288, 290, 299, 300, 301, 302, 310, 315, 328, - 329, 347, 349, 319, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 173, 0, 0, 0, 0, 206, - 0, 0, 163, 214, 212, 0, 0, 0, 255, 318, - 0, 0, 0, 0, 209, 0, 0, 479, 307, 232, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, - 452, 0, 0, 0, 0, 0, 0, 483, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 259, 275, 295, 0, - 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 185, 233, 142, 0, 0, 0, 197, 348, 0, 0, - 0, 269, 0, 313, 187, 207, 146, 126, 140, 157, - 186, 244, 0, 289, 0, 0, 0, 0, 0, 164, - 0, 281, 252, 337, 0, 0, 280, 210, 327, 0, - 0, 336, 0, 473, 345, 350, 0, 0, 0, 304, - 174, 0, 131, 0, 266, 169, 202, 0, 0, 0, - 161, 0, 0, 0, 303, 325, 148, 320, 231, 237, - 158, 160, 159, 141, 298, 324, 153, 162, 308, 285, - 314, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 292, 291, 0, 193, 0, 0, 0, - 274, 0, 198, 130, 316, 353, 147, 204, 321, 0, - 181, 243, 166, 253, 254, 178, 128, 271, 225, 226, - 224, 227, 0, 0, 0, 272, 294, 323, 149, 311, - 0, 0, 0, 0, 283, 0, 0, 0, 132, 317, - 335, 154, 293, 296, 351, 279, 135, 333, 312, 229, - 199, 200, 133, 0, 134, 277, 172, 184, 167, 247, - 0, 183, 268, 330, 331, 165, 354, 143, 344, 137, - 144, 343, 240, 0, 239, 346, 326, 334, 230, 218, - 0, 136, 332, 228, 217, 205, 177, 189, 264, 213, - 265, 190, 235, 234, 236, 215, 219, 0, 0, 0, - 309, 340, 355, 151, 0, 297, 322, 0, 0, 152, - 182, 176, 263, 238, 145, 192, 306, 203, 211, 276, - 352, 251, 282, 155, 339, 305, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 453, 454, 455, 456, 457, 461, 462, - 466, 467, 476, 475, 474, 477, 478, 481, 480, 482, - 458, 459, 460, 463, 464, 465, 468, 469, 472, 470, - 471, 0, 129, 138, 208, 0, 273, 180, 341, 0, - 171, 0, 0, 0, 0, 0, 127, 139, 150, 156, - 170, 175, 179, 188, 191, 194, 195, 196, 201, 216, - 220, 221, 222, 223, 241, 242, 245, 246, 249, 250, - 256, 257, 258, 260, 261, 262, 270, 0, 278, 284, - 286, 287, 288, 290, 299, 300, 301, 302, 310, 315, - 328, 329, 347, 349, 319, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, - 206, 0, 0, 163, 214, 212, 0, 0, 0, 255, - 318, 0, 0, 0, 0, 209, 0, 0, 479, 307, - 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, - 0, 984, 0, 0, 0, 0, 0, 0, 483, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 259, 275, 295, - 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 185, 233, 142, 0, 0, 0, 197, 348, 0, - 0, 0, 269, 0, 313, 187, 207, 146, 126, 140, - 157, 186, 244, 0, 289, 0, 0, 0, 0, 0, - 164, 0, 281, 252, 337, 0, 0, 280, 210, 327, - 0, 0, 336, 0, 473, 345, 350, 0, 0, 0, - 304, 174, 0, 131, 0, 266, 169, 202, 0, 0, - 0, 161, 0, 0, 0, 303, 325, 148, 320, 231, - 237, 158, 160, 159, 141, 298, 324, 153, 162, 308, - 285, 314, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 292, 291, 0, 193, 0, 0, - 0, 274, 0, 198, 130, 316, 353, 147, 204, 321, - 0, 181, 243, 166, 253, 254, 178, 128, 271, 225, - 226, 224, 227, 0, 0, 0, 272, 294, 323, 149, - 311, 0, 0, 0, 0, 283, 0, 0, 0, 132, - 317, 335, 154, 293, 296, 351, 279, 135, 333, 312, - 229, 199, 200, 133, 0, 134, 277, 172, 184, 167, - 247, 0, 183, 268, 330, 331, 165, 354, 143, 344, - 137, 144, 343, 240, 0, 239, 346, 326, 334, 230, - 218, 0, 136, 332, 228, 217, 205, 177, 189, 264, - 213, 265, 190, 235, 234, 236, 215, 219, 0, 0, - 0, 309, 340, 355, 151, 0, 297, 322, 0, 0, - 152, 182, 176, 263, 238, 145, 192, 306, 203, 211, - 276, 352, 251, 282, 155, 339, 305, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 453, 454, 455, 456, 457, 461, - 462, 466, 467, 476, 475, 474, 477, 478, 481, 480, - 482, 458, 459, 460, 463, 464, 465, 468, 469, 472, - 470, 471, 0, 129, 138, 208, 0, 273, 180, 341, - 0, 171, 0, 0, 0, 0, 0, 127, 139, 150, - 156, 170, 175, 179, 188, 191, 194, 195, 196, 201, - 216, 220, 221, 222, 223, 241, 242, 245, 246, 249, - 250, 256, 257, 258, 260, 261, 262, 270, 0, 278, - 284, 286, 287, 288, 290, 299, 300, 301, 302, 310, - 315, 328, 329, 347, 349, 319, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, - 0, 206, 0, 0, 163, 214, 212, 0, 0, 0, - 255, 318, 0, 0, 0, 0, 209, 0, 0, 479, - 307, 232, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 632, 0, 0, 0, 0, 0, 0, 0, 0, 483, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 259, 275, - 295, 0, 267, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 185, 233, 142, 0, 0, 0, 197, 348, - 0, 0, 0, 269, 0, 313, 187, 207, 146, 126, - 140, 157, 186, 244, 0, 289, 0, 0, 0, 0, - 0, 164, 0, 281, 252, 337, 0, 0, 280, 210, - 327, 0, 0, 336, 0, 473, 345, 350, 0, 0, - 0, 304, 174, 0, 131, 0, 266, 169, 202, 0, - 0, 0, 161, 0, 0, 0, 303, 325, 148, 320, - 231, 237, 158, 160, 159, 141, 298, 324, 153, 162, - 308, 285, 314, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 292, 291, 0, 193, 0, - 0, 0, 274, 0, 198, 130, 316, 353, 147, 204, - 321, 0, 181, 243, 166, 253, 254, 178, 128, 271, - 225, 226, 224, 227, 0, 0, 0, 272, 294, 323, - 149, 311, 0, 0, 0, 0, 283, 0, 0, 0, - 132, 317, 335, 154, 293, 296, 351, 279, 135, 333, - 312, 229, 199, 200, 133, 0, 134, 277, 172, 184, - 167, 247, 0, 183, 268, 330, 331, 165, 354, 143, - 344, 137, 144, 343, 240, 0, 239, 346, 326, 334, - 230, 218, 0, 136, 332, 228, 217, 205, 177, 189, - 264, 213, 265, 190, 235, 234, 236, 215, 219, 0, - 0, 0, 309, 340, 355, 151, 0, 297, 322, 0, - 0, 152, 182, 176, 263, 238, 145, 192, 306, 203, - 211, 276, 352, 251, 282, 155, 339, 305, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 453, 454, 455, 456, 457, - 461, 462, 466, 467, 476, 475, 474, 477, 478, 481, - 480, 482, 458, 459, 460, 463, 464, 465, 468, 469, - 472, 470, 471, 0, 129, 138, 208, 0, 273, 180, - 341, 0, 171, 0, 0, 0, 0, 0, 127, 139, - 150, 156, 170, 175, 179, 188, 191, 194, 195, 196, - 201, 216, 220, 221, 222, 223, 241, 242, 245, 246, - 249, 250, 256, 257, 258, 260, 261, 262, 270, 0, - 278, 284, 286, 287, 288, 290, 299, 300, 301, 302, - 310, 315, 328, 329, 347, 349, 425, 319, 419, 430, - 413, 0, 0, 0, 0, 0, 0, 0, 248, 0, - 0, 436, 0, 0, 0, 0, 0, 0, 173, 0, - 0, 420, 0, 206, 0, 479, 163, 214, 212, 0, - 0, 0, 255, 318, 0, 0, 0, 0, 209, 0, - 0, 0, 307, 232, 0, 0, 2132, 0, 0, 0, - 0, 0, 0, 0, 0, 483, 0, 0, 0, 0, - 0, 0, 434, 0, 433, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, - 259, 275, 295, 0, 267, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 412, 411, - 414, 0, 0, 0, 185, 233, 142, 0, 0, 418, - 197, 348, 0, 0, 0, 269, 0, 313, 187, 207, - 146, 126, 140, 157, 186, 244, 422, 289, 0, 0, - 426, 473, 0, 164, 0, 281, 252, 337, 0, 0, - 280, 210, 327, 0, 429, 336, 0, 0, 345, 350, - 0, 0, 0, 304, 174, 0, 131, 0, 266, 169, - 202, 0, 0, 0, 161, 0, 0, 0, 303, 325, - 148, 320, 231, 237, 158, 160, 159, 141, 298, 324, - 153, 162, 308, 285, 314, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 292, 291, 0, - 193, 0, 0, 0, 274, 0, 198, 130, 316, 353, - 147, 204, 321, 0, 181, 243, 166, 253, 254, 178, - 128, 271, 225, 226, 224, 227, 0, 0, 0, 439, - 294, 323, 149, 311, 415, 416, 417, 423, 424, 427, - 428, 431, 132, 317, 335, 154, 293, 296, 351, 279, - 135, 333, 312, 229, 199, 200, 133, 0, 134, 277, - 172, 184, 167, 247, 0, 183, 268, 330, 331, 165, - 354, 143, 344, 137, 144, 343, 240, 0, 239, 346, - 326, 334, 230, 218, 0, 136, 332, 228, 217, 205, - 177, 189, 264, 213, 265, 190, 235, 234, 236, 215, - 219, 0, 0, 0, 309, 340, 355, 151, 0, 297, - 322, 0, 0, 152, 182, 176, 263, 238, 145, 192, - 306, 203, 211, 276, 352, 251, 282, 155, 339, 305, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 453, 454, 455, 456, 457, 461, 462, 466, 467, - 476, 475, 474, 477, 478, 481, 480, 482, 458, 459, - 460, 463, 464, 465, 468, 469, 472, 470, 471, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 138, 208, 0, - 273, 180, 341, 0, 171, 0, 0, 0, 0, 0, - 127, 139, 150, 156, 170, 175, 179, 188, 191, 194, - 195, 196, 201, 216, 220, 221, 222, 223, 241, 242, - 245, 246, 249, 250, 256, 257, 258, 260, 261, 262, - 270, 421, 278, 284, 286, 287, 288, 290, 299, 300, - 301, 302, 310, 315, 328, 329, 347, 349, 425, 319, - 419, 430, 413, 0, 0, 0, 0, 0, 0, 0, - 248, 0, 0, 405, 0, 0, 0, 0, 0, 0, - 173, 0, 0, 420, 0, 206, 0, 0, 163, 214, - 212, 0, 0, 0, 255, 318, 0, 0, 0, 0, - 209, 0, 0, 0, 307, 232, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 434, 0, 433, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 259, 275, 295, 0, 267, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 412, 411, 414, 0, 0, 0, 185, 233, 142, 0, - 0, 418, 197, 348, 0, 0, 0, 269, 0, 313, - 187, 207, 146, 126, 140, 157, 186, 244, 422, 289, - 0, 0, 426, 0, 0, 164, 0, 281, 252, 337, - 0, 0, 280, 210, 327, 0, 429, 336, 0, 0, - 345, 350, 0, 0, 0, 304, 174, 0, 131, 0, - 266, 169, 202, 0, 0, 0, 161, 0, 0, 0, - 303, 325, 148, 320, 231, 237, 158, 160, 159, 141, - 298, 324, 153, 162, 308, 285, 314, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 292, - 291, 0, 193, 0, 0, 0, 274, 0, 198, 130, - 316, 353, 147, 204, 321, 0, 181, 243, 166, 253, - 254, 178, 128, 271, 225, 226, 224, 227, 0, 0, - 0, 408, 294, 323, 149, 311, 415, 416, 417, 423, - 424, 427, 428, 431, 132, 317, 335, 154, 293, 296, - 351, 279, 135, 333, 312, 229, 199, 200, 133, 0, - 134, 277, 172, 184, 167, 247, 0, 183, 268, 330, - 331, 165, 354, 143, 344, 137, 144, 343, 240, 0, - 239, 346, 326, 334, 230, 218, 0, 136, 332, 228, - 217, 205, 177, 189, 264, 213, 265, 190, 235, 234, - 236, 215, 219, 0, 0, 0, 309, 340, 355, 151, - 0, 297, 322, 0, 0, 152, 182, 176, 263, 238, - 145, 192, 306, 203, 211, 276, 352, 251, 282, 155, - 339, 305, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 138, - 208, 0, 273, 180, 341, 0, 171, 0, 0, 0, - 0, 0, 127, 139, 150, 156, 170, 175, 179, 188, - 191, 194, 195, 196, 201, 216, 220, 221, 222, 223, - 241, 242, 245, 246, 249, 250, 256, 257, 258, 260, - 261, 262, 270, 421, 278, 284, 286, 287, 288, 290, - 299, 300, 301, 302, 310, 315, 328, 329, 347, 349, - 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 173, 0, 0, 0, 0, 206, 0, 0, 163, - 214, 212, 0, 0, 0, 255, 318, 0, 0, 0, - 0, 209, 0, 0, 0, 307, 232, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 338, 259, 275, 295, 0, 267, 0, 994, - 993, 1003, 1004, 996, 997, 998, 999, 1000, 1001, 1002, - 995, 0, 0, 1005, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 185, 233, 142, - 0, 0, 0, 197, 348, 0, 0, 0, 269, 0, - 313, 187, 207, 146, 126, 140, 157, 186, 244, 0, - 289, 0, 0, 0, 0, 0, 164, 0, 281, 252, - 337, 0, 0, 280, 210, 327, 0, 0, 336, 0, - 0, 345, 350, 0, 0, 0, 304, 174, 0, 131, - 0, 266, 169, 202, 0, 0, 0, 161, 0, 0, - 0, 303, 325, 148, 320, 231, 237, 158, 160, 159, - 141, 298, 324, 153, 162, 308, 285, 314, 168, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 292, 291, 0, 193, 0, 0, 0, 274, 0, 198, - 130, 316, 353, 147, 204, 321, 0, 181, 243, 166, - 253, 254, 178, 128, 271, 225, 226, 224, 227, 0, - 0, 0, 272, 294, 323, 149, 311, 0, 0, 0, - 0, 283, 0, 0, 0, 132, 317, 335, 154, 293, - 296, 351, 279, 135, 333, 312, 229, 199, 200, 133, - 0, 134, 277, 172, 184, 167, 247, 0, 183, 268, - 330, 331, 165, 354, 143, 344, 137, 144, 343, 240, - 0, 239, 346, 326, 334, 230, 218, 0, 136, 332, - 228, 217, 205, 177, 189, 264, 213, 265, 190, 235, - 234, 236, 215, 219, 0, 0, 0, 309, 340, 355, - 151, 0, 297, 322, 0, 0, 152, 182, 176, 263, - 238, 145, 192, 306, 203, 211, 276, 352, 251, 282, - 155, 339, 305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 138, 208, 0, 273, 180, 341, 0, 171, 0, 0, - 0, 0, 0, 127, 139, 150, 156, 170, 175, 179, - 188, 191, 194, 195, 196, 201, 216, 220, 221, 222, - 223, 241, 242, 245, 246, 249, 250, 256, 257, 258, - 260, 261, 262, 270, 0, 278, 284, 286, 287, 288, - 290, 299, 300, 301, 302, 310, 315, 328, 329, 347, - 349, 319, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 248, 0, 0, 2645, 0, 0, 0, 0, - 0, 0, 173, 2643, 0, 0, 0, 206, 0, 0, - 163, 214, 212, 0, 0, 0, 255, 318, 0, 0, - 0, 0, 209, 0, 0, 0, 307, 232, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 434, 0, 433, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 338, 259, 275, 295, 0, 267, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 185, 233, - 142, 0, 0, 0, 197, 348, 0, 0, 0, 269, - 0, 313, 187, 207, 146, 126, 140, 157, 186, 244, - 0, 289, 0, 0, 0, 0, 0, 164, 0, 281, - 252, 337, 0, 0, 280, 210, 327, 0, 0, 336, - 0, 0, 345, 350, 0, 0, 0, 304, 174, 0, - 131, 0, 266, 169, 202, 0, 0, 0, 161, 0, - 0, 0, 303, 325, 148, 320, 231, 237, 158, 160, - 159, 141, 298, 324, 153, 162, 308, 285, 314, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, - 0, 292, 291, 0, 193, 0, 2644, 0, 274, 0, - 198, 130, 316, 353, 147, 204, 321, 0, 181, 243, - 166, 253, 254, 178, 128, 271, 225, 226, 224, 227, - 0, 0, 0, 272, 294, 323, 149, 311, 0, 0, - 0, 0, 283, 0, 0, 0, 132, 317, 335, 154, - 293, 296, 351, 279, 135, 333, 312, 229, 199, 200, - 133, 0, 134, 277, 172, 184, 167, 247, 0, 183, - 268, 330, 331, 165, 354, 143, 344, 137, 144, 343, - 240, 0, 239, 346, 326, 334, 230, 218, 0, 136, - 332, 228, 217, 205, 177, 189, 264, 213, 265, 190, - 235, 234, 236, 215, 219, 0, 0, 0, 309, 340, - 355, 151, 0, 297, 322, 0, 0, 152, 182, 176, - 263, 238, 145, 192, 306, 203, 211, 276, 352, 251, - 282, 155, 339, 305, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 138, 208, 0, 273, 180, 341, 0, 171, 0, - 0, 0, 0, 0, 127, 139, 150, 156, 170, 175, - 179, 188, 191, 194, 195, 196, 201, 216, 220, 221, - 222, 223, 241, 242, 245, 246, 249, 250, 256, 257, - 258, 260, 261, 262, 270, 0, 278, 284, 286, 287, - 288, 290, 299, 300, 301, 302, 310, 315, 328, 329, - 347, 349, 35, 319, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 173, 0, 0, 0, 0, 206, - 0, 0, 163, 214, 212, 0, 0, 0, 255, 318, - 0, 0, 0, 1469, 209, 0, 0, 0, 307, 232, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 79, 0, 0, 0, 124, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 259, 275, 295, 0, - 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 185, 233, 142, 0, 0, 0, 197, 348, 0, 0, - 0, 269, 0, 313, 187, 207, 146, 126, 140, 157, - 186, 244, 0, 289, 0, 0, 0, 0, 0, 164, - 0, 281, 252, 337, 0, 0, 280, 210, 327, 0, - 0, 336, 0, 0, 345, 350, 0, 0, 0, 304, - 174, 0, 131, 0, 266, 169, 202, 0, 0, 0, - 161, 0, 0, 0, 303, 325, 148, 320, 231, 237, - 158, 160, 159, 141, 298, 324, 153, 162, 308, 285, - 314, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 292, 291, 0, 193, 0, 0, 0, - 274, 0, 198, 130, 316, 353, 147, 204, 321, 0, - 181, 243, 166, 253, 254, 178, 128, 271, 225, 226, - 224, 227, 0, 0, 0, 272, 294, 323, 149, 311, - 0, 0, 0, 0, 283, 0, 0, 0, 132, 317, - 335, 154, 293, 296, 351, 279, 135, 333, 312, 229, - 199, 200, 133, 0, 134, 277, 172, 184, 167, 247, - 0, 183, 268, 330, 331, 165, 354, 143, 344, 137, - 144, 343, 240, 0, 239, 346, 326, 334, 230, 218, - 0, 136, 332, 228, 217, 205, 177, 189, 264, 213, - 265, 190, 235, 234, 236, 215, 219, 0, 0, 0, - 309, 340, 355, 151, 0, 297, 322, 0, 0, 152, - 182, 176, 263, 238, 145, 192, 306, 203, 211, 276, - 352, 251, 282, 155, 339, 305, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 138, 208, 77, 273, 180, 341, 0, - 171, 0, 0, 0, 0, 0, 127, 139, 150, 156, - 170, 175, 179, 188, 191, 194, 195, 196, 201, 216, - 220, 221, 222, 223, 241, 242, 245, 246, 249, 250, - 256, 257, 258, 260, 261, 262, 270, 0, 278, 284, - 286, 287, 288, 290, 299, 300, 301, 302, 310, 315, - 328, 329, 347, 349, 319, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, - 206, 0, 0, 163, 214, 212, 0, 0, 0, 255, - 318, 0, 0, 0, 0, 209, 0, 0, 0, 307, - 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 434, - 0, 433, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 259, 275, 295, - 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 185, 233, 142, 0, 0, 0, 197, 348, 0, - 0, 0, 269, 0, 313, 187, 207, 146, 126, 140, - 157, 186, 244, 0, 289, 0, 0, 0, 0, 0, - 164, 0, 281, 252, 337, 0, 0, 280, 210, 327, - 0, 0, 336, 0, 0, 345, 350, 0, 0, 0, - 304, 174, 0, 131, 0, 266, 169, 202, 0, 0, - 0, 161, 0, 0, 0, 303, 325, 148, 320, 231, - 237, 158, 160, 159, 141, 298, 324, 153, 162, 308, - 285, 314, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 292, 291, 0, 193, 0, 0, - 0, 274, 0, 198, 130, 316, 353, 147, 204, 321, - 0, 181, 243, 166, 253, 254, 178, 128, 271, 225, - 226, 224, 227, 0, 0, 0, 272, 294, 323, 149, - 311, 0, 0, 0, 0, 283, 0, 0, 0, 132, - 317, 335, 154, 293, 296, 351, 279, 135, 333, 312, - 229, 199, 200, 133, 0, 134, 277, 172, 184, 167, - 247, 0, 183, 268, 330, 331, 165, 354, 143, 344, - 137, 144, 343, 240, 0, 239, 346, 326, 334, 230, - 218, 0, 136, 332, 228, 217, 205, 177, 189, 264, - 213, 265, 190, 235, 234, 236, 215, 219, 0, 0, - 0, 309, 340, 355, 151, 0, 297, 322, 0, 0, - 152, 182, 176, 263, 238, 145, 192, 306, 203, 211, - 276, 352, 251, 282, 155, 339, 305, 0, 0, 0, - 1258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 138, 208, 0, 273, 180, 341, - 0, 171, 0, 0, 0, 0, 0, 127, 139, 150, - 156, 170, 175, 179, 188, 191, 194, 195, 196, 201, - 216, 220, 221, 222, 223, 241, 242, 245, 246, 249, - 250, 256, 257, 258, 260, 261, 262, 270, 0, 278, - 284, 286, 287, 288, 290, 299, 300, 301, 302, 310, - 315, 328, 329, 347, 349, 319, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 173, 1130, 0, 0, - 0, 206, 0, 0, 163, 214, 212, 0, 0, 0, - 255, 318, 0, 0, 0, 0, 209, 0, 0, 0, - 307, 232, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 632, 0, 1129, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 259, 275, - 295, 0, 267, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 185, 233, 142, 0, 0, 0, 197, 348, - 0, 0, 0, 269, 0, 313, 187, 207, 146, 126, - 140, 157, 186, 244, 0, 289, 0, 0, 0, 0, - 0, 164, 0, 281, 252, 337, 0, 0, 280, 210, - 327, 0, 0, 336, 0, 0, 345, 350, 0, 0, - 0, 304, 174, 0, 131, 0, 266, 169, 202, 0, - 0, 0, 161, 0, 0, 0, 303, 325, 148, 320, - 231, 237, 158, 160, 159, 141, 298, 324, 153, 162, - 308, 285, 314, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 292, 291, 0, 193, 0, - 0, 0, 274, 0, 198, 130, 316, 353, 147, 204, - 321, 0, 181, 243, 166, 253, 254, 178, 128, 271, - 225, 226, 224, 227, 0, 0, 0, 272, 294, 323, - 149, 311, 0, 0, 0, 0, 283, 0, 0, 0, - 132, 317, 335, 154, 293, 296, 351, 279, 135, 333, - 312, 229, 199, 200, 133, 0, 134, 277, 172, 184, - 167, 247, 0, 183, 268, 330, 331, 165, 354, 143, - 344, 137, 144, 343, 240, 0, 239, 346, 326, 334, - 230, 218, 0, 136, 332, 228, 217, 205, 177, 189, - 264, 213, 265, 190, 235, 234, 236, 215, 219, 0, - 0, 0, 309, 340, 355, 151, 0, 297, 322, 0, - 0, 152, 182, 176, 263, 238, 145, 192, 306, 203, - 211, 276, 352, 251, 282, 155, 339, 305, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 138, 208, 0, 273, 180, - 341, 0, 171, 0, 0, 0, 0, 0, 127, 139, - 150, 156, 170, 175, 179, 188, 191, 194, 195, 196, - 201, 216, 220, 221, 222, 223, 241, 242, 245, 246, - 249, 250, 256, 257, 258, 260, 261, 262, 270, 0, - 278, 284, 286, 287, 288, 290, 299, 300, 301, 302, - 310, 315, 328, 329, 347, 349, 319, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, - 0, 0, 206, 0, 0, 163, 214, 212, 0, 0, - 0, 255, 318, 0, 0, 0, 0, 209, 0, 0, - 0, 307, 232, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 434, 0, 433, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 259, - 275, 295, 0, 267, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 233, 142, 0, 0, 0, 197, - 348, 0, 0, 0, 269, 0, 313, 187, 207, 146, - 126, 140, 157, 186, 244, 0, 289, 0, 0, 0, - 0, 0, 164, 0, 281, 252, 337, 0, 0, 280, - 210, 327, 0, 0, 336, 0, 0, 345, 350, 0, - 0, 0, 304, 174, 0, 131, 0, 266, 169, 202, - 0, 0, 0, 161, 0, 0, 0, 303, 325, 148, - 320, 231, 237, 158, 160, 159, 141, 298, 324, 153, - 162, 308, 285, 314, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 292, 291, 0, 193, - 0, 0, 0, 274, 0, 198, 130, 316, 353, 147, - 204, 321, 0, 181, 243, 166, 253, 254, 178, 128, - 271, 225, 226, 224, 227, 0, 0, 0, 272, 294, - 323, 149, 311, 0, 0, 0, 0, 283, 0, 0, - 0, 132, 317, 335, 154, 293, 296, 351, 279, 135, - 333, 312, 229, 199, 200, 133, 0, 134, 277, 172, - 184, 167, 247, 0, 183, 268, 330, 331, 165, 354, - 143, 344, 137, 144, 343, 240, 0, 239, 346, 326, - 334, 230, 218, 0, 136, 332, 228, 217, 205, 177, - 189, 264, 213, 265, 190, 235, 234, 236, 215, 219, - 0, 0, 0, 309, 340, 355, 151, 0, 297, 322, - 0, 0, 152, 182, 176, 263, 238, 145, 192, 306, - 203, 211, 276, 352, 251, 282, 155, 339, 305, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 138, 208, 0, 273, - 180, 341, 0, 171, 0, 0, 0, 0, 0, 127, - 139, 150, 156, 170, 175, 179, 188, 191, 194, 195, - 196, 201, 216, 220, 221, 222, 223, 241, 242, 245, - 246, 249, 250, 256, 257, 258, 260, 261, 262, 270, - 0, 278, 284, 286, 287, 288, 290, 299, 300, 301, - 302, 310, 315, 328, 329, 347, 349, 319, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, - 0, 0, 0, 206, 0, 0, 163, 214, 212, 0, - 0, 0, 255, 318, 0, 0, 0, 0, 209, 0, - 0, 0, 307, 232, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, - 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, - 259, 275, 295, 0, 267, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 185, 233, 142, 0, 0, 0, - 197, 348, 0, 0, 0, 269, 0, 313, 187, 207, - 146, 126, 140, 157, 186, 244, 0, 289, 0, 0, - 0, 0, 0, 164, 0, 281, 252, 337, 0, 0, - 280, 210, 327, 0, 0, 336, 0, 0, 345, 350, - 0, 0, 0, 304, 174, 0, 131, 0, 266, 169, - 202, 0, 0, 0, 161, 0, 0, 0, 303, 325, - 148, 320, 231, 237, 158, 160, 159, 141, 298, 324, - 153, 162, 308, 285, 314, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 292, 291, 0, - 193, 0, 0, 0, 274, 0, 198, 130, 316, 353, - 147, 204, 321, 0, 181, 243, 166, 253, 254, 178, - 128, 271, 225, 226, 224, 227, 0, 0, 0, 272, - 294, 323, 149, 311, 0, 0, 0, 0, 283, 0, - 0, 0, 132, 317, 335, 154, 293, 296, 351, 279, - 135, 333, 312, 229, 199, 200, 133, 0, 134, 277, - 172, 184, 167, 247, 0, 183, 268, 330, 331, 165, - 354, 143, 344, 137, 144, 343, 240, 0, 239, 346, - 326, 334, 230, 218, 0, 136, 332, 228, 217, 205, - 177, 189, 264, 213, 265, 190, 235, 234, 236, 215, - 219, 0, 0, 0, 309, 340, 355, 151, 0, 297, - 322, 0, 0, 152, 182, 176, 263, 238, 145, 192, - 306, 203, 211, 276, 352, 251, 282, 155, 339, 305, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 138, 208, 0, - 273, 180, 341, 0, 171, 0, 0, 0, 0, 0, - 127, 139, 150, 156, 170, 175, 179, 188, 191, 194, - 195, 196, 201, 216, 220, 221, 222, 223, 241, 242, - 245, 246, 249, 250, 256, 257, 258, 260, 261, 262, - 270, 0, 278, 284, 286, 287, 288, 290, 299, 300, - 301, 302, 310, 315, 328, 329, 347, 349, 319, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, - 0, 0, 0, 0, 206, 0, 0, 163, 214, 212, - 0, 0, 0, 255, 318, 0, 0, 0, 0, 209, - 0, 0, 0, 307, 232, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1055, 1056, 1057, 2119, 985, 1058, 1832, 1062, 1063, 1064, + 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, + 73, 1077, 1080, 1080, 1080, 1086, 1080, 1080, 1086, 1080, + 1086, 1095, 1096, 1097, 1098, 1099, 1100, 1972, 1110, 1557, + 948, 1626, 73, 1533, 910, 1868, 79, 79, 2526, 73, + 2552, 79, 79, 1018, 2387, 1871, 2491, 1444, 944, 2239, + 911, 1285, 866, 870, 845, 957, 950, 2581, 394, 79, + 1283, 2485, 2681, 394, 100, 2676, 507, 844, 2653, 1974, + 2427, 2389, 2369, 2739, 2581, 389, 2103, 921, 1804, 2679, + 1860, 2729, 1104, 1281, 1282, 1116, 1287, 2440, 79, 1286, + 808, 807, 117, 127, 127, 127, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 2283, 2284, 394, 2342, 1143, 636, + 423, 390, 1911, 109, 1143, 1909, 1861, 1804, 1137, 1819, + 2132, 2344, 1647, 1641, 1642, 2049, 1640, 2748, 1643, 1644, + 1143, 613, 2745, 918, 1911, 1112, 613, 1143, 2734, 2716, + 1142, 805, 819, 1922, 1479, 1481, 454, 2496, 2293, 1081, + 1083, 1085, 1087, 1089, 1091, 1092, 1094, 447, 2294, 907, + 1804, 1203, 1892, 1648, 1128, 1804, 1889, 1873, 1207, 1129, + 1872, 1082, 1084, 1627, 1088, 1090, 1141, 1093, 1589, 1222, + 1114, 1220, 1803, 1588, 864, 1119, 1777, 1807, 1917, 1909, + 1804, 916, 1776, 1914, 1775, 801, 1913, 1916, 1976, 2343, + 1887, 954, 811, 1980, 358, 1975, 2297, 1973, 1720, 1862, + 1863, 1138, 1978, 2727, 394, 1717, 2728, 917, 2726, 913, + 2158, 1803, 2150, 2678, 2680, 1977, 111, 110, 1909, 1891, + 1059, 1890, 1143, 1480, 1791, 1910, 1911, 1020, 1021, 1783, + 1979, 1981, 906, 1001, 1002, 1003, 1004, 1005, 998, 1680, + 434, 1008, 914, 915, 1668, 2068, 2113, 1653, 1216, 1333, + 1489, 1136, 1121, 988, 1803, 829, 2489, 434, 998, 1803, + 1498, 1008, 1921, 1008, 970, 1235, 1918, 2292, 1262, 2625, + 2626, 2622, 2623, 2511, 989, 2523, 2522, 1361, 2376, 2308, + 1215, 1928, 1454, 1253, 1803, 1326, 981, 1926, 636, 1596, + 842, 2016, 1359, 1360, 1358, 835, 437, 437, 855, 96, + 1715, 979, 1714, 1238, 2069, 127, 2298, 2015, 127, 2719, + 2700, 2718, 2377, 437, 437, 1646, 127, 1272, 981, 1134, + 980, 979, 871, 1020, 1021, 127, 127, 127, 127, 1260, + 1020, 1021, 980, 979, 1331, 1332, 818, 434, 981, 2736, + 1061, 980, 979, 1994, 95, 437, 812, 2595, 1239, 1442, + 981, 980, 979, 1076, 1442, 1275, 1733, 2732, 2669, 981, + 1248, 1249, 1250, 1251, 1209, 2667, 2556, 980, 979, 981, + 2656, 1309, 80, 2270, 2596, 2264, 1665, 1666, 1667, 1293, + 1254, 1256, 94, 1257, 1217, 981, 1597, 843, 2740, 834, + 1224, 446, 857, 437, 437, 437, 980, 979, 636, 1006, + 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 1242, + 1243, 1008, 980, 979, 981, 2056, 81, 976, 1315, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 998, 1357, 437, 1008, + 981, 1259, 2548, 437, 437, 2595, 2549, 2634, 1716, 2633, + 80, 127, 2741, 127, 2531, 2384, 636, 1335, 1267, 1268, + 2383, 2487, 1270, 821, 822, 823, 824, 825, 826, 827, + 1355, 1848, 1352, 2382, 127, 2381, 1381, 1382, 1273, 1324, + 985, 1336, 966, 1288, 1337, 967, 1289, 1292, 980, 979, + 596, 597, 2550, 1062, 880, 881, 882, 883, 884, 885, + 886, 887, 888, 889, 890, 891, 981, 2488, 1351, 980, + 979, 2375, 980, 979, 2230, 2229, 1996, 454, 1316, 1847, + 1350, 1310, 1845, 1378, 1313, 1379, 636, 981, 2646, 1356, + 981, 1826, 1321, 902, 901, 960, 1344, 1346, 1347, 875, + 2645, 1473, 1345, 2607, 2605, 1943, 1110, 1789, 2562, 1790, + 1110, 527, 526, 529, 530, 531, 532, 2483, 1348, 2482, + 528, 533, 874, 2439, 986, 2391, 2359, 2320, 2267, 2266, + 2265, 2227, 1395, 2061, 1353, 1843, 1399, 1362, 1363, 1364, + 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, + 1375, 1376, 636, 636, 1427, 1430, 1616, 1269, 1240, 127, + 1484, 2632, 1443, 2631, 1486, 1238, 2493, 127, 127, 2437, + 2408, 1807, 127, 127, 2402, 1317, 127, 127, 127, 1241, + 1352, 1291, 2290, 1469, 1478, 2161, 2146, 2142, 2134, 2105, + 1384, 2089, 2088, 2087, 1392, 1878, 636, 636, 1504, 1258, + 1877, 1610, 1594, 1401, 1402, 1593, 1380, 613, 1112, 1266, + 1482, 1263, 1232, 1112, 1412, 1433, 1502, 1112, 1416, 1231, + 629, 1314, 1230, 1586, 1445, 1229, 1218, 1212, 1503, 1211, + 1210, 1208, 897, 1203, 1439, 831, 400, 398, 1061, 2333, + 2659, 2217, 2652, 1059, 2569, 961, 2217, 2567, 961, 1515, + 1724, 1522, 1086, 2217, 2565, 1491, 1490, 1202, 1487, 1496, + 2217, 2441, 1584, 1585, 127, 2333, 2433, 2401, 1505, 1512, + 2333, 2349, 2333, 961, 127, 1223, 127, 127, 437, 437, + 437, 2333, 2332, 127, 2217, 2216, 1420, 941, 1612, 2198, + 961, 2353, 1564, 1565, 1652, 961, 2152, 1779, 2352, 1556, + 2076, 2075, 2084, 1560, 1561, 1562, 1563, 2072, 2073, 961, + 127, 127, 127, 1650, 1779, 1462, 1465, 1466, 1467, 1463, + 1117, 1464, 1468, 1341, 1342, 2019, 2020, 2072, 2071, 1678, + 961, 1529, 1457, 961, 1059, 127, 2062, 127, 1598, 1629, + 1628, 636, 1669, 1604, 2400, 636, 1418, 1613, 1418, 961, + 1140, 1139, 1779, 1618, 2153, 997, 996, 1006, 1007, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 998, 636, 1117, 1008, + 636, 1457, 2000, 84, 1578, 2014, 1118, 1352, 1120, 1483, + 1456, 1116, 907, 1328, 945, 946, 904, 905, 1608, 905, + 2617, 2014, 1418, 2574, 1611, 2192, 1592, 1355, 2085, 2074, + 1617, 2028, 2153, 1902, 1793, 1492, 1061, 1678, 1624, 2014, + 1738, 1425, 1426, 1351, 1577, 1737, 1271, 1591, 1329, 1457, + 1112, 956, 1312, 1278, 1118, 1503, 1116, 1678, 1221, 1219, + 1631, 1122, 624, 1634, 1327, 81, 2589, 2566, 2027, 1544, + 1545, 1546, 1547, 907, 1746, 1748, 1655, 1656, 1110, 1110, + 1110, 1110, 1110, 1649, 2407, 1657, 1356, 2405, 2232, 1530, + 2204, 1674, 1559, 2055, 1473, 1555, 1771, 2019, 2020, 1664, + 1797, 911, 1575, 1670, 1110, 1550, 1636, 1549, 1501, 997, + 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, + 998, 1204, 894, 1008, 81, 1462, 1465, 1466, 1467, 1463, + 1752, 1464, 1468, 1671, 1672, 1673, 408, 1568, 1607, 2710, + 1708, 1781, 2708, 1782, 127, 127, 127, 127, 127, 2691, + 2083, 2022, 2000, 1849, 1226, 947, 127, 1774, 1780, 908, + 127, 903, 2025, 1762, 127, 2024, 1759, 1606, 1763, 1760, + 127, 1751, 1766, 1764, 1761, 1466, 1467, 1758, 1566, 2628, + 1773, 492, 493, 2586, 1931, 1112, 1112, 1112, 1112, 1112, + 80, 1732, 1654, 1339, 636, 974, 975, 2616, 2195, 1753, + 1662, 1112, 1756, 1661, 439, 2323, 613, 2289, 1725, 1726, + 1727, 1112, 2220, 454, 1794, 1765, 1754, 1755, 2141, 1757, + 2140, 1809, 2060, 1835, 972, 1837, 1838, 1839, 1840, 2059, + 1801, 2051, 2498, 1806, 1808, 1784, 2501, 434, 1203, 1128, + 986, 1792, 2561, 2560, 2395, 1883, 2606, 2393, 1215, 2479, + 2478, 1796, 1876, 399, 1881, 636, 2378, 2379, 963, 1836, + 1135, 1802, 1805, 1875, 437, 892, 876, 873, 872, 564, + 964, 80, 832, 1393, 1394, 2641, 2412, 2411, 127, 437, + 2190, 1331, 1332, 1571, 1404, 1405, 1406, 1407, 2299, 1615, + 1844, 1846, 2272, 1225, 437, 2618, 2554, 1417, 1419, 2273, + 2397, 1852, 1603, 970, 1424, 96, 1952, 1747, 1322, 1866, + 974, 975, 2640, 1206, 437, 2639, 636, 1660, 1880, 952, + 953, 2638, 437, 1684, 1686, 1659, 2356, 1420, 858, 489, + 2609, 2608, 1879, 2558, 1696, 1697, 1698, 1699, 2502, 636, + 636, 1886, 2420, 2416, 1888, 127, 490, 84, 2415, 2302, + 1779, 1854, 1855, 1856, 1352, 636, 2712, 2711, 624, 2122, + 1899, 620, 1929, 1930, 1897, 632, 2005, 80, 454, 1901, + 1896, 1912, 636, 1923, 1924, 1721, 1718, 1927, 1936, 1907, + 1882, 1904, 1915, 1920, 1635, 820, 1906, 1255, 977, 2711, + 1351, 2030, 1709, 1937, 2712, 2430, 2034, 2035, 2036, 1202, + 1938, 2058, 1946, 1942, 2001, 1325, 2013, 443, 445, 2458, + 52, 2460, 19, 86, 2004, 1993, 1734, 55, 1752, 2459, + 18, 2461, 20, 1851, 2462, 21, 2457, 15, 2456, 14, + 2450, 10, 1, 636, 1625, 636, 1983, 2039, 1982, 2029, + 1827, 1828, 2473, 34, 2471, 33, 1295, 1834, 2252, 1940, + 2470, 32, 2033, 2469, 28, 2251, 1324, 1841, 636, 1751, + 2468, 27, 2258, 2037, 2090, 2008, 2467, 26, 2465, 23, + 2464, 22, 2093, 2023, 2466, 24, 2455, 13, 636, 1864, + 636, 2268, 636, 1213, 636, 2081, 2082, 2367, 2050, 2031, + 2052, 1984, 1985, 815, 1986, 1987, 1576, 434, 1988, 898, + 1609, 1936, 2044, 2559, 1059, 2100, 2043, 2497, 2063, 2064, + 2499, 1997, 1998, 2392, 2053, 2067, 2086, 2054, 2274, 1564, + 2236, 1565, 2070, 2452, 12, 2451, 11, 2449, 9, 2235, + 1858, 1857, 1894, 893, 1276, 1905, 127, 454, 1908, 1587, + 1900, 1645, 2509, 1516, 2107, 1506, 2032, 2102, 626, 92, + 1595, 841, 366, 1513, 437, 1637, 1815, 2500, 895, 127, + 437, 1651, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 998, 1814, 127, 1008, 437, 1824, 636, 437, + 1527, 1813, 1812, 437, 437, 2495, 437, 1816, 1148, 1146, + 2151, 2057, 1147, 1145, 1150, 2108, 1149, 370, 2154, 1130, + 2006, 2541, 636, 2160, 978, 102, 127, 636, 56, 2291, + 2125, 2145, 2124, 2184, 636, 636, 2130, 1953, 1676, 2131, + 1956, 1957, 1958, 1679, 1919, 1961, 97, 105, 1681, 1682, + 372, 1203, 1016, 1687, 1688, 1689, 1690, 1691, 1692, 1658, + 1785, 1695, 611, 612, 604, 958, 1700, 1701, 1702, 1703, + 2521, 1705, 1706, 1707, 2571, 2109, 2590, 968, 1710, 1711, + 1712, 1713, 2514, 1731, 1075, 1440, 1450, 1719, 510, 1769, + 1722, 1723, 2307, 2516, 1343, 1728, 1729, 525, 524, 523, + 520, 1735, 521, 1736, 2582, 1602, 1739, 1740, 1752, 1741, + 1742, 1334, 1743, 990, 2077, 508, 499, 127, 2199, 1108, + 1101, 1614, 1461, 80, 2212, 2213, 2214, 1995, 1767, 1768, + 2191, 2210, 2169, 2156, 636, 2200, 1459, 1458, 1227, 600, + 2021, 636, 636, 636, 2017, 2223, 454, 1471, 2215, 1751, + 636, 1107, 70, 856, 454, 388, 2211, 2185, 2065, 2425, + 38, 444, 636, 2248, 2249, 2250, 2225, 494, 25, 17, + 1794, 865, 16, 2038, 1638, 813, 42, 2224, 44, 1853, + 1572, 2540, 2674, 2181, 2182, 2183, 879, 2698, 2593, 31, + 127, 30, 29, 1110, 1800, 2463, 2472, 2247, 2454, 2453, + 2661, 2660, 4, 949, 2285, 2286, 71, 35, 622, 2, + 0, 0, 0, 2287, 2112, 2110, 0, 2116, 0, 0, + 0, 2120, 2121, 0, 2123, 0, 0, 2276, 0, 437, + 0, 2277, 0, 2005, 2281, 2275, 2005, 2328, 2304, 2305, + 2288, 0, 2295, 2050, 2280, 0, 0, 2303, 0, 2030, + 0, 0, 0, 0, 2296, 0, 0, 636, 0, 127, + 0, 0, 0, 0, 0, 636, 0, 0, 0, 0, + 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, + 2300, 2004, 0, 0, 2004, 0, 0, 2355, 1936, 2357, + 0, 2325, 0, 0, 2331, 0, 620, 2334, 0, 0, + 1112, 620, 1131, 0, 2354, 636, 2346, 2347, 2324, 0, + 2330, 636, 0, 2335, 0, 0, 127, 0, 127, 2147, + 2345, 0, 2340, 0, 636, 0, 0, 2350, 497, 2351, + 0, 0, 1478, 0, 2336, 1941, 0, 0, 2358, 636, + 2413, 1949, 0, 0, 2370, 2380, 0, 0, 0, 0, + 0, 1959, 1960, 2348, 0, 96, 2233, 2385, 0, 0, + 0, 0, 1966, 2398, 0, 0, 1970, 2005, 2388, 80, + 2311, 2312, 2313, 2314, 0, 0, 0, 0, 2318, 0, + 2417, 0, 2321, 2322, 0, 2403, 2404, 0, 2418, 0, + 2187, 0, 0, 2410, 0, 0, 1479, 1481, 80, 1061, + 2226, 636, 2228, 2443, 2007, 0, 0, 0, 0, 2201, + 2202, 0, 2419, 2203, 2436, 2004, 2205, 0, 0, 0, + 2406, 0, 2431, 0, 1061, 2438, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2435, 0, 0, 0, 0, + 636, 1110, 0, 0, 0, 0, 0, 2279, 997, 996, + 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, + 0, 0, 1008, 0, 0, 0, 0, 0, 0, 0, + 2327, 0, 0, 0, 2048, 0, 0, 2505, 0, 2507, + 0, 0, 0, 0, 0, 1480, 0, 0, 2503, 2506, + 0, 1205, 2519, 0, 0, 2504, 2309, 2536, 0, 0, + 0, 2524, 0, 2520, 437, 0, 0, 127, 0, 0, + 2529, 0, 636, 0, 636, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 1752, 0, 0, 0, 0, 0, + 0, 0, 0, 1531, 1532, 0, 1537, 1538, 1539, 1540, + 1541, 0, 0, 0, 0, 0, 0, 127, 1112, 0, + 0, 0, 0, 0, 1551, 1552, 1553, 0, 0, 0, + 0, 0, 0, 0, 0, 1751, 0, 0, 0, 0, + 2575, 0, 0, 0, 2555, 2557, 0, 0, 0, 0, + 2129, 2564, 0, 636, 0, 0, 0, 1800, 0, 0, + 2136, 2138, 0, 0, 0, 2155, 2585, 0, 0, 0, + 2129, 1296, 2432, 0, 0, 2508, 2545, 0, 2436, 0, + 0, 0, 0, 0, 2612, 0, 2614, 2600, 636, 0, + 636, 0, 0, 0, 0, 0, 2621, 2620, 0, 2165, + 0, 0, 2615, 0, 0, 0, 0, 80, 2613, 2611, + 2174, 2175, 0, 80, 2630, 2619, 2180, 0, 2644, 632, + 2627, 0, 2637, 2635, 0, 0, 0, 0, 0, 1952, + 434, 0, 2651, 2193, 2194, 0, 2196, 0, 2650, 2197, + 0, 0, 0, 636, 2654, 80, 0, 2655, 632, 2629, + 80, 0, 0, 0, 0, 0, 0, 454, 0, 2209, + 2668, 2665, 0, 2671, 2664, 0, 636, 2663, 497, 2662, + 0, 2685, 0, 2684, 2687, 0, 0, 80, 636, 0, + 80, 80, 0, 0, 2692, 80, 2644, 437, 0, 1383, + 2701, 0, 2693, 0, 636, 2695, 0, 2705, 0, 0, + 0, 2642, 0, 434, 636, 80, 0, 2709, 80, 0, + 2644, 2704, 2707, 2720, 0, 0, 2722, 0, 0, 0, + 0, 0, 0, 2717, 80, 2730, 80, 0, 0, 2644, + 80, 2644, 0, 0, 0, 0, 0, 620, 0, 0, + 0, 0, 0, 0, 80, 2735, 0, 80, 0, 2644, + 0, 0, 0, 0, 80, 1446, 1447, 909, 80, 2644, + 437, 0, 2744, 2644, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2129, 0, 0, 0, 0, 0, 2515, + 2518, 0, 620, 0, 1061, 0, 0, 0, 0, 0, + 0, 0, 2179, 2129, 0, 0, 632, 961, 0, 632, + 632, 0, 0, 0, 0, 2682, 0, 1947, 1948, 2315, + 2316, 2317, 0, 2319, 1954, 1955, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1962, 1963, 1964, 1965, + 0, 1967, 1968, 1969, 0, 0, 0, 0, 2537, 2538, + 2337, 2338, 2339, 997, 996, 1006, 1007, 999, 1000, 1001, + 1002, 1003, 1004, 1005, 998, 0, 454, 1008, 454, 0, + 0, 0, 0, 0, 2048, 0, 0, 0, 0, 2723, + 0, 0, 0, 0, 2189, 0, 0, 0, 0, 2048, + 0, 0, 0, 2673, 482, 1829, 1830, 1831, 1833, 997, + 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, + 998, 2126, 0, 1008, 971, 2128, 0, 0, 0, 0, + 0, 0, 0, 0, 486, 0, 0, 0, 0, 0, + 1111, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 998, 0, 0, 1008, 0, 0, 2518, 2421, + 2422, 2423, 2424, 0, 1623, 0, 0, 0, 1623, 2428, + 2429, 0, 125, 0, 0, 385, 0, 0, 0, 2636, + 0, 125, 0, 0, 0, 0, 0, 0, 124, 0, + 1623, 0, 0, 1623, 0, 0, 0, 391, 0, 0, + 0, 0, 0, 0, 453, 0, 0, 0, 0, 0, + 0, 0, 498, 632, 0, 603, 621, 0, 0, 125, + 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, + 0, 601, 0, 0, 0, 625, 0, 125, 0, 802, + 476, 0, 0, 0, 0, 482, 0, 0, 125, 0, + 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 828, 0, 2133, 0, 0, 0, + 0, 0, 2048, 2525, 2048, 486, 0, 0, 0, 0, + 2530, 0, 0, 0, 2721, 0, 0, 2157, 0, 0, + 0, 0, 0, 0, 0, 2159, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2162, 2163, 0, 1385, 1390, + 1391, 0, 2164, 0, 0, 1396, 1397, 1398, 0, 1400, + 0, 0, 1403, 0, 0, 0, 0, 1408, 1409, 1410, + 1411, 0, 1413, 1414, 1415, 0, 620, 0, 2178, 0, + 1421, 1422, 1423, 0, 0, 0, 1429, 1432, 0, 1437, + 1438, 0, 0, 0, 1143, 0, 0, 2568, 0, 0, + 0, 0, 0, 0, 0, 2188, 0, 0, 0, 2576, + 0, 620, 0, 0, 1448, 0, 1451, 1452, 0, 0, + 0, 476, 0, 0, 0, 0, 0, 632, 0, 2177, + 0, 0, 912, 919, 920, 922, 923, 924, 925, 926, + 0, 928, 929, 930, 2066, 933, 0, 936, 937, 938, + 939, 940, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, + 0, 0, 0, 2048, 0, 997, 996, 1006, 1007, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 1850, 1008, + 456, 457, 458, 459, 460, 464, 465, 469, 470, 479, + 478, 477, 480, 481, 484, 483, 485, 461, 462, 463, + 466, 467, 468, 471, 472, 475, 473, 474, 0, 0, + 0, 0, 1170, 125, 0, 0, 997, 996, 1006, 1007, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 830, + 1008, 0, 0, 0, 0, 0, 0, 0, 0, 1895, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2601, 0, 0, 0, 0, 0, 125, 0, 0, + 0, 0, 632, 632, 2176, 0, 0, 0, 0, 0, + 0, 0, 0, 900, 2166, 2167, 0, 2168, 632, 0, + 2170, 1170, 2172, 0, 0, 0, 0, 0, 0, 0, + 632, 0, 0, 0, 0, 1950, 0, 0, 0, 0, + 0, 2737, 2738, 0, 0, 453, 0, 0, 0, 0, + 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, + 0, 456, 457, 458, 459, 460, 464, 465, 469, 470, + 479, 478, 477, 480, 481, 484, 483, 485, 461, 462, + 463, 466, 467, 468, 471, 472, 475, 473, 474, 2218, + 2219, 0, 0, 0, 620, 1171, 632, 0, 2012, 0, + 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, 0, + 0, 2012, 1157, 0, 0, 482, 0, 0, 0, 0, + 0, 1677, 0, 0, 0, 0, 0, 0, 0, 1683, + 0, 632, 0, 632, 0, 632, 2128, 2047, 1693, 1694, + 0, 0, 0, 0, 0, 486, 0, 0, 0, 1704, + 0, 0, 0, 0, 1171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1730, 0, 0, 0, + 0, 125, 125, 125, 0, 2137, 0, 0, 0, 0, + 0, 621, 0, 0, 486, 0, 621, 1103, 0, 1113, + 0, 0, 1184, 1187, 1188, 1189, 1190, 1191, 1192, 0, + 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1991, 1172, + 1173, 1174, 1175, 1151, 1155, 1185, 1152, 1158, 1154, 1156, + 1153, 2115, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, + 1167, 1168, 1169, 1176, 1177, 1178, 1179, 1180, 1181, 1182, + 1183, 476, 0, 0, 0, 2139, 0, 0, 0, 0, + 2144, 0, 0, 0, 0, 0, 0, 2148, 2149, 0, + 0, 1184, 1187, 1188, 1189, 1190, 1191, 1192, 0, 1193, + 1194, 1195, 1196, 1197, 1198, 1199, 1200, 0, 1172, 1173, + 1174, 1175, 1151, 1155, 1185, 1152, 1158, 1154, 1156, 1153, + 476, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, + 1168, 1169, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, + 0, 0, 0, 997, 996, 1006, 1007, 999, 1000, 1001, + 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, 1186, + 0, 0, 0, 0, 0, 0, 0, 0, 1294, 0, + 0, 1297, 1298, 1299, 620, 1301, 1302, 0, 0, 1303, + 0, 0, 0, 0, 0, 1304, 0, 2207, 0, 1305, + 1306, 0, 1307, 1308, 2207, 2207, 2207, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2207, 0, 0, 0, 0, + 0, 0, 0, 125, 0, 0, 125, 0, 1186, 0, + 0, 0, 0, 0, 1237, 0, 0, 0, 992, 601, + 995, 0, 1228, 125, 125, 125, 125, 1009, 1010, 1011, + 1012, 1013, 1014, 1015, 0, 993, 994, 991, 0, 1244, + 1245, 1246, 1247, 0, 0, 997, 996, 1006, 1007, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, + 0, 456, 457, 458, 459, 460, 464, 465, 469, 470, + 479, 478, 477, 480, 481, 484, 483, 485, 461, 462, + 463, 466, 467, 468, 471, 472, 475, 473, 474, 1990, + 632, 0, 0, 0, 0, 0, 0, 0, 632, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 456, 457, 458, 459, 460, 464, 465, 469, 470, 479, + 478, 477, 480, 481, 484, 483, 485, 461, 462, 463, + 466, 467, 468, 471, 472, 475, 473, 474, 2329, 125, + 0, 453, 0, 0, 2207, 0, 0, 0, 0, 0, + 0, 1939, 0, 0, 0, 1318, 0, 2047, 0, 0, + 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2047, 1237, 0, 0, 0, 0, 1340, 997, + 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, + 998, 0, 0, 1008, 997, 996, 1006, 1007, 999, 1000, + 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, + 0, 0, 0, 0, 0, 0, 1389, 1389, 1389, 0, + 0, 0, 1389, 1389, 1389, 1389, 1389, 1389, 0, 0, + 1389, 0, 0, 0, 2409, 1389, 1389, 1389, 1389, 0, + 1389, 1389, 1389, 0, 0, 0, 0, 0, 1389, 1389, + 1389, 0, 0, 0, 1389, 1389, 0, 1389, 1389, 0, + 0, 0, 621, 0, 0, 0, 1989, 0, 0, 0, + 0, 0, 0, 2434, 0, 0, 0, 0, 0, 0, + 0, 0, 1389, 1389, 1389, 1389, 0, 125, 0, 0, + 0, 0, 0, 0, 0, 125, 453, 0, 0, 0, + 125, 125, 0, 1455, 125, 1488, 1237, 621, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1485, 0, 0, + 0, 1237, 0, 0, 0, 0, 36, 37, 72, 39, + 40, 0, 0, 0, 0, 0, 0, 0, 1630, 36, + 59, 72, 39, 40, 0, 2047, 78, 2047, 0, 0, + 41, 63, 64, 59, 0, 0, 0, 60, 0, 78, + 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, + 620, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 998, 381, 50, 1008, 0, 0, 81, 0, + 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 125, 0, 125, 125, 0, 0, 1570, 0, + 0, 125, 0, 0, 0, 0, 632, 0, 1581, 0, + 1582, 1583, 0, 0, 0, 2474, 0, 1590, 0, 0, + 2746, 0, 0, 0, 0, 0, 0, 0, 1599, 1600, + 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2570, 0, 2573, 0, 0, 1601, 0, 43, 74, + 46, 45, 48, 125, 68, 453, 0, 0, 0, 0, + 0, 43, 74, 46, 45, 48, 0, 68, 0, 900, + 0, 359, 0, 0, 0, 0, 0, 2475, 362, 0, + 49, 77, 76, 0, 0, 0, 0, 47, 371, 379, + 380, 0, 0, 49, 77, 76, 2047, 0, 0, 0, + 47, 65, 0, 0, 0, 0, 0, 0, 1237, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2207, + 0, 0, 0, 368, 0, 0, 369, 0, 0, 377, + 378, 632, 57, 58, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 58, 2573, 2476, 66, + 0, 67, 0, 0, 0, 0, 0, 2657, 0, 1389, + 0, 0, 66, 0, 67, 0, 0, 1389, 0, 0, + 0, 0, 0, 0, 0, 0, 1389, 1389, 0, 0, + 374, 0, 0, 0, 0, 0, 0, 1389, 0, 0, + 0, 1389, 51, 75, 0, 53, 54, 61, 0, 62, + 0, 375, 0, 0, 0, 2477, 75, 0, 53, 54, + 61, 0, 62, 0, 1389, 0, 0, 0, 0, 0, + 0, 0, 0, 36, 0, 72, 39, 40, 0, 0, + 0, 621, 125, 125, 125, 125, 125, 59, 0, 1675, + 0, 0, 0, 78, 453, 0, 0, 41, 125, 0, + 0, 0, 453, 0, 360, 0, 0, 0, 125, 0, + 0, 0, 0, 0, 0, 0, 621, 997, 996, 1006, + 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, + 0, 1008, 0, 0, 0, 81, 0, 373, 363, 364, + 73, 384, 0, 0, 0, 365, 367, 0, 361, 383, + 382, 0, 0, 73, 0, 0, 0, 0, 0, 2474, + 0, 0, 0, 0, 2742, 997, 996, 1006, 1007, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, + 36, 0, 72, 39, 40, 0, 0, 0, 0, 79, + 0, 376, 0, 0, 59, 0, 0, 0, 0, 0, + 78, 0, 79, 0, 41, 43, 74, 46, 45, 48, + 0, 68, 0, 0, 0, 0, 125, 0, 0, 0, + 0, 2475, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1874, 0, 0, 0, 0, 49, 77, 76, + 0, 0, 81, 0, 47, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2474, 0, 0, 0, + 0, 2731, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 125, 0, 0, 0, 0, 0, 57, + 58, 0, 2476, 0, 1389, 0, 0, 0, 0, 1932, + 0, 0, 0, 1389, 0, 1237, 66, 0, 67, 0, + 0, 0, 43, 74, 46, 45, 48, 36, 68, 72, + 39, 40, 0, 0, 0, 0, 0, 0, 2475, 0, + 0, 59, 0, 0, 0, 0, 0, 78, 0, 0, + 0, 41, 0, 0, 49, 77, 76, 0, 0, 2477, + 75, 47, 53, 54, 61, 0, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 621, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 57, 58, 0, 2476, + 0, 0, 482, 2474, 0, 0, 0, 36, 2714, 72, + 39, 40, 0, 66, 0, 67, 0, 0, 0, 0, + 0, 59, 0, 1798, 0, 0, 0, 78, 0, 0, + 0, 41, 486, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 73, 0, 43, + 74, 46, 45, 48, 0, 68, 2477, 75, 0, 53, + 54, 61, 0, 62, 0, 2475, 0, 0, 0, 81, + 2702, 0, 0, 0, 125, 0, 0, 0, 0, 0, + 0, 49, 77, 76, 0, 0, 0, 0, 47, 0, + 2080, 0, 0, 2474, 0, 0, 79, 125, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1143, 125, 2106, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, + 0, 0, 0, 57, 58, 0, 2476, 0, 476, 43, + 74, 46, 45, 48, 125, 68, 0, 0, 0, 482, + 66, 0, 67, 0, 73, 2475, 0, 0, 0, 498, + 2143, 0, 0, 36, 0, 72, 39, 40, 0, 0, + 2135, 49, 77, 76, 0, 0, 0, 59, 47, 486, + 0, 0, 0, 78, 0, 0, 0, 41, 0, 0, + 0, 0, 0, 2477, 75, 0, 53, 54, 61, 0, + 62, 482, 0, 79, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1201, 57, 58, 81, 2476, 0, 0, 0, + 0, 486, 0, 0, 0, 453, 0, 0, 0, 621, + 66, 0, 67, 0, 0, 0, 0, 0, 0, 2474, + 0, 0, 0, 0, 2643, 36, 0, 72, 39, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, + 0, 0, 0, 0, 0, 78, 0, 0, 0, 41, + 0, 0, 0, 2477, 75, 476, 53, 54, 61, 0, + 62, 73, 0, 0, 0, 43, 74, 46, 45, 48, + 0, 68, 0, 0, 0, 0, 0, 0, 125, 0, + 1143, 2475, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 0, 0, 0, 2234, 0, 0, 49, 77, 76, + 0, 0, 0, 0, 47, 0, 0, 476, 0, 0, + 79, 2474, 0, 0, 0, 0, 0, 0, 456, 457, + 458, 459, 460, 464, 465, 469, 470, 479, 478, 477, + 480, 481, 484, 483, 485, 461, 462, 463, 466, 467, + 468, 471, 472, 475, 473, 474, 0, 125, 0, 57, + 58, 73, 2476, 0, 0, 0, 0, 43, 74, 46, + 45, 48, 0, 68, 0, 0, 66, 0, 67, 0, + 0, 0, 0, 2475, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 77, 76, 0, 0, 0, 0, 47, 0, 0, 0, + 79, 0, 0, 0, 453, 0, 453, 0, 0, 2477, + 75, 0, 53, 54, 61, 0, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 57, 58, 0, 2476, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, + 67, 0, 0, 0, 0, 456, 457, 458, 459, 460, + 464, 465, 469, 470, 479, 478, 477, 480, 481, 484, + 483, 485, 461, 462, 463, 466, 467, 468, 471, 472, + 475, 473, 474, 0, 0, 0, 0, 0, 0, 498, + 0, 2477, 75, 0, 53, 54, 61, 73, 62, 0, + 0, 0, 0, 0, 0, 0, 0, 456, 457, 458, + 459, 460, 464, 465, 469, 470, 479, 478, 477, 480, + 481, 484, 483, 485, 461, 462, 463, 466, 467, 468, + 471, 472, 475, 473, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 259, 275, 295, 0, 267, 0, 0, 0, 0, - 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 185, 233, 142, 0, 0, - 0, 197, 348, 0, 0, 0, 269, 0, 313, 187, - 207, 146, 126, 140, 157, 186, 244, 0, 289, 0, - 0, 0, 0, 0, 164, 0, 281, 252, 337, 0, - 0, 280, 210, 327, 0, 0, 336, 0, 0, 345, - 350, 0, 0, 0, 304, 174, 0, 131, 0, 266, - 169, 202, 0, 0, 0, 161, 0, 0, 0, 303, - 325, 148, 320, 231, 237, 158, 160, 159, 141, 298, - 324, 153, 162, 308, 285, 314, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 292, 291, - 0, 193, 0, 0, 0, 274, 0, 198, 130, 316, - 353, 147, 204, 321, 0, 181, 243, 166, 253, 254, - 178, 128, 271, 225, 226, 224, 227, 0, 0, 0, - 272, 294, 323, 149, 311, 0, 0, 0, 0, 283, - 0, 0, 0, 132, 317, 335, 154, 293, 296, 351, - 279, 135, 333, 312, 229, 199, 200, 133, 0, 134, - 277, 172, 184, 167, 247, 0, 183, 268, 330, 331, - 165, 354, 143, 344, 137, 144, 343, 240, 0, 239, - 346, 326, 334, 230, 218, 0, 136, 332, 228, 217, - 205, 177, 189, 264, 213, 265, 190, 235, 234, 236, - 215, 219, 0, 0, 0, 309, 340, 355, 151, 0, - 297, 322, 0, 0, 152, 182, 176, 263, 238, 145, - 192, 306, 203, 211, 276, 352, 251, 282, 155, 339, - 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 138, 208, - 0, 273, 180, 341, 0, 171, 0, 0, 0, 0, - 0, 127, 139, 150, 156, 170, 175, 179, 188, 191, - 194, 195, 196, 201, 216, 220, 221, 222, 223, 241, - 242, 245, 246, 249, 250, 256, 257, 258, 260, 261, - 262, 270, 0, 278, 284, 286, 287, 288, 290, 299, - 300, 301, 302, 310, 315, 328, 329, 347, 349, 319, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 173, 0, 0, 0, 0, 206, 0, 0, 163, 214, - 212, 0, 0, 0, 255, 318, 0, 0, 0, 0, - 209, 0, 0, 0, 307, 232, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 0, 0, 0, 632, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 259, 275, 295, 0, 267, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 185, 233, 142, 0, - 0, 0, 197, 348, 0, 0, 0, 269, 0, 313, - 187, 207, 146, 126, 140, 157, 186, 244, 0, 289, - 0, 0, 0, 0, 0, 164, 0, 281, 252, 337, - 0, 0, 280, 210, 327, 0, 0, 336, 0, 0, - 345, 350, 0, 0, 0, 304, 174, 0, 131, 0, - 266, 169, 202, 0, 0, 0, 161, 0, 0, 0, - 303, 325, 148, 320, 231, 237, 158, 160, 159, 141, - 298, 324, 153, 162, 308, 285, 314, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 292, - 291, 0, 193, 0, 0, 0, 274, 0, 198, 130, - 316, 353, 147, 204, 321, 0, 181, 243, 166, 253, - 254, 178, 128, 271, 225, 226, 224, 227, 0, 0, - 0, 272, 294, 323, 149, 311, 0, 0, 0, 0, - 283, 0, 0, 0, 132, 317, 335, 154, 293, 296, - 351, 279, 135, 333, 312, 229, 199, 200, 133, 0, - 134, 277, 172, 184, 167, 247, 0, 183, 268, 330, - 331, 165, 354, 143, 344, 137, 144, 343, 240, 0, - 239, 346, 326, 334, 230, 218, 0, 136, 332, 228, - 217, 205, 177, 189, 264, 213, 265, 190, 235, 234, - 236, 215, 219, 0, 0, 0, 309, 340, 355, 151, - 0, 297, 322, 0, 0, 152, 182, 176, 263, 238, - 145, 192, 306, 203, 211, 276, 352, 251, 282, 155, - 339, 305, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 138, - 208, 0, 273, 180, 341, 0, 171, 0, 0, 0, - 0, 0, 127, 139, 150, 156, 170, 175, 179, 188, - 191, 194, 195, 196, 201, 216, 220, 221, 222, 223, - 241, 242, 245, 246, 249, 250, 256, 257, 258, 260, - 261, 262, 270, 0, 278, 284, 286, 287, 288, 290, - 299, 300, 301, 302, 310, 315, 328, 329, 347, 349, - 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 173, 0, 0, 0, 0, 206, 0, 0, 163, - 214, 212, 0, 0, 0, 255, 318, 0, 0, 0, - 0, 209, 0, 0, 0, 307, 232, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 338, 259, 275, 295, 0, 267, 0, 0, - 0, 0, 0, 0, 0, 1619, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 185, 233, 142, - 0, 0, 0, 197, 348, 0, 0, 0, 269, 0, - 313, 187, 207, 146, 126, 140, 157, 186, 244, 0, - 289, 0, 0, 0, 0, 0, 164, 0, 281, 252, - 337, 0, 0, 280, 210, 327, 0, 0, 336, 0, - 0, 345, 350, 0, 0, 0, 304, 174, 0, 131, - 0, 266, 169, 202, 0, 0, 0, 161, 0, 0, - 0, 303, 325, 148, 320, 231, 237, 158, 160, 159, - 141, 298, 324, 153, 162, 308, 285, 314, 168, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 292, 291, 0, 193, 0, 0, 0, 274, 0, 198, - 130, 316, 353, 147, 204, 321, 0, 181, 243, 166, - 253, 254, 178, 128, 271, 225, 226, 224, 227, 0, - 0, 0, 272, 294, 323, 149, 311, 0, 0, 0, - 0, 283, 0, 0, 0, 132, 317, 335, 154, 293, - 296, 351, 279, 135, 333, 312, 229, 199, 200, 133, - 0, 134, 277, 172, 184, 167, 247, 0, 183, 268, - 330, 331, 165, 354, 143, 344, 137, 144, 343, 240, - 0, 239, 346, 326, 334, 230, 218, 0, 136, 332, - 228, 217, 205, 177, 189, 264, 213, 265, 190, 235, - 234, 236, 215, 219, 0, 0, 0, 309, 340, 355, - 151, 0, 297, 322, 0, 0, 152, 182, 176, 263, - 238, 145, 192, 306, 203, 211, 276, 352, 251, 282, - 155, 339, 305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 138, 208, 0, 273, 180, 341, 0, 171, 0, 0, - 0, 0, 0, 127, 139, 150, 156, 170, 175, 179, - 188, 191, 194, 195, 196, 201, 216, 220, 221, 222, - 223, 241, 242, 245, 246, 249, 250, 256, 257, 258, - 260, 261, 262, 270, 0, 278, 284, 286, 287, 288, - 290, 299, 300, 301, 302, 310, 315, 328, 329, 347, - 349, 319, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, - 0, 1099, 173, 0, 0, 0, 0, 206, 0, 0, - 163, 214, 212, 0, 0, 0, 255, 318, 0, 0, - 0, 0, 209, 0, 0, 0, 307, 232, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 338, 259, 275, 295, 0, 267, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 185, 233, - 142, 0, 0, 0, 197, 348, 0, 0, 0, 269, - 0, 313, 187, 207, 146, 126, 140, 157, 186, 244, - 0, 289, 0, 0, 0, 0, 0, 164, 0, 281, - 252, 337, 0, 0, 280, 210, 327, 0, 0, 336, - 0, 0, 345, 350, 0, 0, 0, 304, 174, 0, - 131, 0, 266, 169, 202, 0, 0, 0, 161, 0, - 0, 0, 303, 325, 148, 320, 231, 237, 158, 160, - 159, 141, 298, 324, 153, 162, 308, 285, 314, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, - 0, 292, 291, 0, 193, 0, 0, 0, 274, 0, - 198, 130, 316, 353, 147, 204, 321, 0, 181, 243, - 166, 253, 254, 178, 128, 271, 225, 226, 224, 227, - 0, 0, 0, 272, 294, 323, 149, 311, 0, 0, - 0, 0, 283, 0, 0, 0, 132, 317, 335, 154, - 293, 296, 351, 279, 135, 333, 312, 229, 199, 200, - 133, 0, 134, 277, 172, 184, 167, 247, 0, 183, - 268, 330, 331, 165, 354, 143, 344, 137, 144, 343, - 240, 0, 239, 346, 326, 334, 230, 218, 0, 136, - 332, 228, 217, 205, 177, 189, 264, 213, 265, 190, - 235, 234, 236, 215, 219, 0, 0, 0, 309, 340, - 355, 151, 0, 297, 322, 0, 0, 152, 182, 176, - 263, 238, 145, 192, 306, 203, 211, 276, 352, 251, - 282, 155, 339, 305, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 138, 208, 0, 273, 180, 341, 0, 171, 0, - 0, 0, 0, 0, 127, 139, 150, 156, 170, 175, - 179, 188, 191, 194, 195, 196, 201, 216, 220, 221, - 222, 223, 241, 242, 245, 246, 249, 250, 256, 257, - 258, 260, 261, 262, 270, 0, 278, 284, 286, 287, - 288, 290, 299, 300, 301, 302, 310, 315, 328, 329, - 347, 349, 319, 0, 0, 0, 595, 0, 0, 0, - 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 173, 0, 0, 0, 0, 206, 0, - 0, 163, 214, 212, 0, 0, 0, 255, 318, 0, - 0, 0, 0, 209, 0, 0, 0, 307, 232, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 338, 259, 275, 295, 0, 267, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, - 233, 142, 0, 0, 0, 197, 348, 0, 0, 0, - 269, 0, 313, 187, 207, 146, 126, 140, 157, 186, - 244, 0, 289, 0, 0, 0, 0, 0, 164, 0, - 281, 252, 337, 0, 0, 280, 210, 327, 0, 0, - 336, 0, 0, 345, 350, 0, 0, 0, 304, 174, - 0, 131, 0, 266, 169, 202, 0, 0, 0, 161, - 0, 0, 0, 303, 325, 148, 320, 231, 237, 158, - 160, 159, 141, 298, 324, 153, 162, 308, 285, 314, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 0, 292, 291, 0, 193, 0, 0, 0, 274, - 0, 198, 130, 316, 353, 147, 204, 321, 0, 181, - 243, 166, 253, 254, 178, 128, 271, 225, 226, 224, - 227, 0, 0, 0, 272, 294, 323, 149, 311, 0, - 0, 0, 0, 283, 0, 0, 0, 132, 317, 335, - 154, 293, 296, 351, 279, 135, 333, 312, 229, 199, - 200, 133, 0, 134, 277, 172, 184, 167, 247, 0, - 183, 268, 330, 331, 165, 354, 143, 344, 137, 144, - 343, 240, 0, 239, 346, 326, 334, 230, 218, 0, - 136, 332, 228, 217, 205, 177, 189, 264, 213, 265, - 190, 235, 234, 236, 215, 219, 0, 0, 0, 309, - 340, 355, 151, 0, 297, 322, 0, 0, 152, 182, - 176, 263, 238, 145, 192, 306, 203, 211, 276, 352, - 251, 282, 155, 339, 305, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 138, 208, 0, 273, 180, 341, 0, 171, - 0, 0, 0, 0, 0, 127, 139, 150, 156, 170, - 175, 179, 188, 191, 194, 195, 196, 201, 216, 220, - 221, 222, 223, 241, 242, 245, 246, 249, 250, 256, - 257, 258, 260, 261, 262, 270, 0, 278, 284, 286, - 287, 288, 290, 299, 300, 301, 302, 310, 315, 328, - 329, 347, 349, 319, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 173, 0, 0, 0, 0, 206, - 0, 0, 163, 214, 212, 0, 0, 0, 255, 318, - 0, 0, 0, 0, 209, 0, 0, 0, 307, 232, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 259, 275, 295, 0, - 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 185, 233, 142, 0, 121, 0, 197, 348, 0, 0, - 0, 269, 0, 313, 187, 207, 146, 126, 140, 157, - 186, 244, 0, 289, 0, 0, 0, 0, 0, 164, - 0, 281, 252, 337, 0, 0, 280, 210, 327, 0, - 0, 336, 0, 0, 345, 350, 0, 0, 0, 304, - 174, 0, 131, 0, 266, 169, 202, 0, 0, 0, - 161, 0, 0, 0, 303, 325, 148, 320, 231, 237, - 158, 160, 159, 141, 298, 324, 153, 162, 308, 285, - 314, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 292, 291, 0, 193, 0, 0, 0, - 274, 0, 198, 130, 316, 353, 147, 204, 321, 0, - 181, 243, 166, 253, 254, 178, 128, 271, 225, 226, - 224, 227, 0, 0, 0, 272, 294, 323, 149, 311, - 0, 0, 0, 0, 283, 0, 0, 0, 132, 317, - 335, 154, 293, 296, 351, 279, 135, 333, 312, 229, - 199, 200, 133, 0, 134, 277, 172, 184, 167, 247, - 0, 183, 268, 330, 331, 165, 354, 143, 344, 137, - 144, 343, 240, 0, 239, 346, 326, 334, 230, 218, - 0, 136, 332, 228, 217, 205, 177, 189, 264, 213, - 265, 190, 235, 234, 236, 215, 219, 0, 0, 0, - 309, 340, 355, 151, 0, 297, 322, 0, 0, 152, - 182, 176, 263, 238, 145, 192, 306, 203, 211, 276, - 352, 251, 282, 155, 339, 305, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 138, 208, 0, 273, 180, 341, 0, - 171, 0, 0, 0, 0, 0, 127, 139, 150, 156, - 170, 175, 179, 188, 191, 194, 195, 196, 201, 216, - 220, 221, 222, 223, 241, 242, 245, 246, 249, 250, - 256, 257, 258, 260, 261, 262, 270, 0, 278, 284, - 286, 287, 288, 290, 299, 300, 301, 302, 310, 315, - 328, 329, 347, 349, 319, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, - 206, 0, 0, 163, 214, 212, 0, 0, 0, 255, - 318, 0, 0, 0, 0, 209, 0, 0, 0, 307, - 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 259, 275, 295, - 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 185, 233, 142, 0, 0, 0, 197, 348, 0, - 0, 0, 269, 0, 313, 187, 207, 146, 126, 140, - 157, 186, 244, 0, 289, 0, 0, 0, 0, 0, - 164, 0, 281, 252, 337, 0, 0, 280, 210, 327, - 0, 0, 336, 0, 0, 345, 350, 0, 0, 0, - 304, 174, 0, 131, 0, 266, 169, 202, 0, 0, - 0, 161, 0, 0, 0, 303, 325, 148, 320, 231, - 237, 158, 160, 159, 141, 298, 324, 153, 162, 308, - 285, 314, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 292, 291, 0, 193, 0, 0, - 0, 274, 0, 198, 130, 316, 353, 147, 204, 321, - 0, 181, 243, 166, 253, 254, 178, 128, 271, 225, - 226, 224, 227, 0, 0, 0, 272, 294, 323, 149, - 311, 0, 0, 0, 0, 283, 0, 0, 0, 132, - 317, 335, 154, 293, 296, 351, 279, 135, 333, 312, - 229, 199, 200, 133, 0, 134, 277, 172, 184, 167, - 247, 0, 183, 268, 330, 331, 165, 354, 143, 344, - 137, 144, 343, 240, 0, 239, 346, 326, 334, 230, - 218, 0, 136, 332, 228, 217, 205, 177, 189, 264, - 213, 265, 190, 235, 234, 236, 215, 219, 0, 0, - 0, 309, 340, 355, 151, 0, 297, 322, 0, 0, - 152, 182, 176, 263, 238, 145, 192, 306, 203, 211, - 276, 352, 251, 282, 155, 339, 305, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 138, 208, 0, 273, 180, 341, - 0, 171, 0, 0, 0, 0, 0, 127, 139, 150, - 156, 170, 175, 179, 188, 191, 194, 195, 196, 201, - 216, 220, 221, 222, 223, 241, 242, 245, 246, 249, - 250, 256, 257, 258, 260, 261, 262, 270, 0, 278, - 284, 286, 287, 288, 290, 299, 300, 301, 302, 310, - 315, 328, 329, 347, 349, 319, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, - 0, 206, 0, 0, 163, 214, 212, 0, 0, 0, - 255, 318, 0, 0, 0, 0, 209, 0, 0, 0, - 307, 232, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 259, 275, - 295, 0, 267, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 185, 233, 142, 0, 0, 0, 197, 348, - 0, 0, 0, 269, 0, 313, 187, 207, 146, 126, - 140, 157, 186, 244, 0, 289, 0, 0, 0, 0, - 0, 164, 0, 281, 252, 337, 0, 0, 280, 210, - 327, 0, 0, 336, 0, 0, 345, 350, 0, 0, - 0, 304, 174, 0, 131, 0, 266, 169, 202, 0, - 0, 0, 161, 0, 0, 0, 303, 325, 148, 320, - 231, 237, 158, 160, 159, 141, 298, 324, 153, 162, - 308, 285, 314, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 292, 291, 0, 193, 0, - 0, 0, 274, 0, 198, 130, 316, 353, 147, 204, - 321, 0, 181, 243, 166, 253, 254, 178, 128, 271, - 225, 226, 224, 227, 0, 0, 0, 272, 294, 323, - 149, 311, 0, 0, 0, 0, 283, 0, 0, 0, - 132, 317, 335, 154, 293, 296, 351, 279, 135, 333, - 312, 229, 199, 200, 133, 0, 134, 277, 172, 184, - 167, 247, 0, 183, 268, 330, 331, 165, 354, 143, - 344, 137, 144, 343, 240, 0, 239, 346, 326, 334, - 230, 218, 0, 136, 332, 228, 217, 205, 177, 189, - 264, 213, 265, 190, 235, 234, 236, 215, 219, 0, - 0, 0, 309, 340, 355, 151, 0, 297, 322, 0, - 0, 152, 182, 176, 263, 238, 145, 192, 306, 203, - 211, 276, 352, 251, 282, 155, 339, 305, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 138, 208, 0, 273, 180, - 341, 0, 171, 0, 0, 0, 0, 0, 127, 139, - 150, 156, 170, 175, 179, 188, 191, 194, 195, 196, - 201, 216, 220, 221, 222, 223, 241, 242, 245, 246, - 249, 250, 256, 257, 258, 260, 261, 262, 270, 0, - 278, 284, 286, 287, 288, 290, 299, 300, 301, 302, - 310, 315, 328, 329, 347, 349, 319, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, - 0, 0, 206, 0, 0, 163, 214, 212, 0, 0, - 0, 255, 318, 0, 0, 0, 0, 209, 0, 0, - 0, 307, 232, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 259, - 275, 295, 0, 267, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 233, 142, 0, 0, 0, 197, - 348, 0, 0, 0, 269, 0, 313, 187, 207, 146, - 126, 140, 157, 186, 244, 0, 289, 0, 0, 0, - 0, 0, 164, 0, 281, 252, 337, 0, 0, 280, - 210, 327, 0, 0, 336, 0, 0, 345, 350, 0, - 0, 0, 304, 174, 0, 131, 0, 266, 169, 202, - 0, 0, 0, 161, 0, 0, 0, 303, 325, 148, - 320, 231, 237, 158, 160, 159, 141, 298, 324, 153, - 162, 308, 285, 314, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 292, 291, 0, 193, - 0, 0, 0, 274, 0, 198, 130, 316, 353, 147, - 204, 321, 0, 181, 243, 166, 253, 254, 178, 128, - 271, 225, 226, 224, 227, 0, 0, 0, 272, 294, - 323, 149, 311, 0, 0, 0, 0, 283, 0, 0, - 0, 132, 317, 335, 154, 293, 296, 351, 279, 135, - 333, 312, 229, 199, 200, 133, 0, 134, 277, 172, - 184, 167, 247, 0, 183, 268, 330, 331, 165, 354, - 143, 344, 137, 144, 343, 240, 0, 239, 346, 326, - 334, 230, 218, 0, 136, 332, 228, 217, 205, 177, - 189, 264, 213, 265, 190, 235, 234, 236, 215, 219, - 0, 0, 0, 309, 340, 355, 151, 0, 297, 322, - 0, 0, 152, 182, 176, 263, 238, 145, 192, 306, - 203, 211, 276, 352, 251, 282, 155, 339, 305, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 138, 208, 0, 273, - 180, 341, 0, 171, 0, 0, 0, 0, 0, 127, - 139, 150, 156, 170, 175, 179, 188, 191, 194, 195, - 196, 201, 216, 220, 221, 222, 223, 241, 242, 245, - 246, 249, 250, 256, 257, 258, 260, 261, 262, 270, - 0, 278, 284, 286, 287, 288, 290, 299, 300, 301, - 302, 310, 315, 328, 329, 347, 349, 319, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, - 0, 0, 0, 206, 0, 0, 163, 214, 212, 0, - 0, 0, 255, 318, 0, 0, 0, 0, 209, 0, - 0, 0, 307, 232, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, - 259, 275, 295, 0, 267, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 185, 233, 142, 0, 0, 0, - 197, 348, 0, 0, 0, 269, 0, 313, 187, 207, - 146, 126, 140, 157, 186, 244, 0, 289, 0, 0, - 0, 0, 0, 164, 0, 281, 252, 337, 0, 0, - 280, 210, 327, 0, 0, 336, 0, 0, 345, 350, - 0, 0, 0, 304, 174, 0, 131, 0, 266, 169, - 202, 0, 0, 0, 161, 0, 0, 0, 303, 325, - 148, 320, 231, 237, 158, 160, 159, 141, 298, 324, - 153, 162, 308, 285, 314, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 292, 291, 0, - 193, 0, 0, 0, 274, 0, 198, 130, 316, 353, - 147, 204, 321, 0, 181, 243, 166, 253, 254, 178, - 128, 271, 225, 226, 224, 227, 0, 0, 0, 272, - 294, 323, 149, 311, 0, 0, 0, 0, 283, 0, - 0, 0, 132, 317, 335, 154, 293, 296, 351, 279, - 135, 333, 312, 229, 199, 200, 133, 0, 134, 277, - 172, 184, 167, 247, 0, 183, 268, 330, 331, 165, - 354, 143, 344, 137, 615, 343, 240, 0, 239, 346, - 326, 334, 230, 218, 0, 136, 332, 228, 217, 205, - 177, 189, 264, 213, 265, 190, 235, 234, 236, 611, - 219, 0, 0, 0, 309, 340, 355, 151, 0, 297, - 322, 0, 0, 152, 182, 176, 263, 616, 614, 605, - 606, 203, 211, 276, 352, 251, 282, 155, 339, 305, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 138, 208, 0, - 273, 180, 341, 0, 171, 0, 0, 0, 0, 0, - 127, 139, 150, 156, 170, 175, 179, 188, 191, 194, - 195, 196, 201, 216, 220, 221, 222, 223, 241, 242, - 245, 246, 249, 250, 256, 257, 258, 260, 612, 613, - 270, 0, 278, 284, 286, 287, 288, 290, 299, 300, - 301, 302, 310, 315, 328, 329, 347, 349, 319, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, - 0, 0, 0, 0, 206, 0, 0, 163, 214, 212, - 0, 0, 0, 255, 318, 0, 0, 0, 0, 209, - 0, 0, 0, 307, 232, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 259, 275, 295, 0, 267, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 185, 233, 142, 0, 0, - 0, 197, 348, 0, 0, 0, 269, 0, 313, 187, - 207, 146, 126, 140, 157, 186, 244, 0, 289, 0, - 0, 0, 0, 0, 164, 0, 281, 252, 337, 0, - 0, 280, 210, 327, 0, 0, 336, 0, 0, 345, - 350, 0, 0, 0, 304, 174, 0, 131, 0, 266, - 169, 202, 0, 0, 0, 161, 0, 0, 0, 303, - 325, 148, 320, 231, 237, 158, 160, 159, 141, 298, - 324, 153, 162, 308, 285, 314, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 292, 291, - 0, 193, 0, 0, 0, 274, 0, 198, 130, 316, - 353, 147, 204, 321, 0, 181, 243, 166, 253, 254, - 178, 128, 271, 225, 226, 224, 227, 0, 0, 0, - 272, 294, 323, 149, 311, 0, 0, 0, 0, 283, - 0, 0, 0, 132, 317, 1124, 154, 293, 296, 351, - 279, 135, 333, 312, 229, 199, 200, 133, 0, 134, - 277, 172, 184, 167, 247, 0, 183, 268, 330, 331, - 165, 354, 143, 344, 137, 144, 343, 240, 0, 239, - 346, 326, 334, 230, 218, 0, 136, 332, 228, 217, - 205, 177, 189, 264, 213, 265, 190, 235, 234, 236, - 215, 219, 0, 0, 0, 309, 340, 355, 151, 0, - 297, 322, 0, 0, 152, 182, 176, 263, 238, 145, - 192, 306, 203, 211, 276, 352, 251, 282, 155, 339, - 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 138, 208, - 0, 273, 180, 341, 0, 171, 0, 0, 0, 0, - 0, 127, 139, 150, 156, 170, 175, 179, 188, 191, - 194, 195, 196, 201, 216, 220, 221, 222, 223, 241, - 242, 245, 246, 249, 250, 256, 257, 258, 260, 261, - 262, 270, 0, 278, 284, 286, 287, 288, 290, 299, - 300, 301, 302, 310, 315, 328, 329, 347, 349, 319, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 173, 0, 0, 0, 0, 206, 0, 0, 163, 214, - 212, 0, 0, 0, 255, 318, 0, 0, 0, 0, - 209, 0, 0, 0, 307, 232, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 259, 275, 295, 0, 267, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 185, 233, 142, 0, - 0, 0, 197, 348, 0, 0, 0, 269, 0, 313, - 187, 207, 146, 126, 140, 157, 186, 244, 0, 289, - 0, 0, 0, 0, 0, 164, 0, 281, 252, 337, - 0, 0, 280, 210, 327, 0, 0, 336, 0, 0, - 345, 350, 0, 0, 0, 304, 174, 0, 131, 0, - 266, 169, 202, 0, 0, 0, 161, 0, 0, 0, - 303, 325, 148, 320, 231, 237, 158, 160, 159, 141, - 298, 324, 153, 162, 308, 285, 314, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 292, - 291, 0, 193, 0, 0, 0, 274, 0, 198, 130, - 316, 353, 147, 204, 321, 0, 181, 243, 166, 253, - 254, 178, 128, 271, 225, 226, 224, 227, 0, 0, - 0, 272, 294, 323, 149, 311, 0, 0, 0, 0, - 283, 0, 0, 0, 132, 317, 602, 154, 293, 296, - 351, 279, 135, 333, 312, 229, 199, 200, 133, 0, - 134, 277, 172, 184, 167, 247, 0, 183, 268, 330, - 331, 165, 354, 143, 344, 137, 615, 343, 240, 0, - 239, 346, 326, 334, 230, 218, 0, 136, 332, 228, - 217, 205, 177, 189, 264, 213, 265, 190, 235, 234, - 236, 611, 219, 0, 0, 0, 309, 340, 355, 151, - 0, 297, 322, 0, 0, 152, 182, 176, 263, 616, - 614, 605, 606, 203, 211, 276, 352, 251, 282, 155, - 339, 305, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 35, 0, 70, 38, 39, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 58, 0, 0, 129, 138, - 208, 76, 273, 180, 341, 40, 171, 0, 0, 0, - 0, 0, 127, 139, 150, 156, 170, 175, 179, 188, - 191, 194, 195, 196, 201, 216, 220, 221, 222, 223, - 241, 242, 245, 246, 249, 250, 256, 257, 258, 260, - 612, 613, 270, 79, 278, 284, 286, 287, 288, 290, - 299, 300, 301, 302, 310, 315, 328, 329, 347, 349, - 0, 0, 0, 0, 0, 0, 0, 2470, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 42, 72, 45, 44, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2471, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 75, 74, 0, 0, - 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 56, 57, 0, - 2472, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 0, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2473, 73, 0, - 52, 53, 60, 0, 61, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 125, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 621, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, + 0, 2532, 781, 758, 321, 706, 784, 670, 692, 797, + 695, 698, 739, 653, 719, 250, 690, 654, 0, 674, + 643, 683, 644, 671, 708, 175, 669, 760, 722, 783, + 208, 735, 0, 165, 216, 214, 0, 0, 0, 257, + 320, 782, 714, 0, 791, 211, 0, 731, 792, 309, + 234, 0, 0, 710, 768, 717, 756, 705, 741, 662, + 730, 786, 691, 737, 787, 0, 0, 0, 0, 2539, + 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, + 734, 780, 686, 736, 738, 641, 733, 0, 648, 655, + 796, 775, 677, 678, 679, 0, 0, 0, 0, 0, + 0, 0, 709, 718, 750, 702, 340, 261, 277, 297, + 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, + 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, + 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, + 638, 187, 235, 144, 757, 774, 704, 199, 350, 778, + 701, 700, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 749, 291, 688, 639, 761, 672, 684, + 166, 680, 283, 254, 339, 0, 725, 282, 212, 329, + 745, 779, 338, 693, 800, 347, 352, 0, 715, 659, + 306, 176, 0, 133, 0, 268, 171, 204, 703, 740, + 673, 163, 747, 729, 767, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 2542, 2543, 2544, 0, 0, + 0, 0, 344, 699, 294, 293, 694, 195, 755, 732, + 645, 276, 743, 200, 132, 318, 355, 149, 206, 323, + 637, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 685, 744, 754, 274, 296, 325, 151, + 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, + 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, + 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, + 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, + 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, + 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, + 215, 267, 192, 237, 236, 238, 217, 221, 0, 646, + 0, 311, 342, 357, 153, 668, 299, 324, 0, 0, + 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, + 278, 354, 253, 284, 157, 341, 307, 666, 667, 664, + 0, 665, 720, 721, 788, 789, 790, 753, 658, 0, + 769, 770, 0, 0, 0, 0, 0, 759, 776, 777, + 742, 798, 696, 663, 647, 650, 651, 652, 660, 711, + 712, 724, 727, 765, 764, 763, 766, 771, 794, 793, + 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 723, 131, 140, 210, 799, 275, 182, 343, + 642, 173, 0, 713, 716, 726, 748, 129, 141, 152, + 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, + 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, + 252, 258, 259, 260, 262, 263, 264, 272, 746, 280, + 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, + 317, 330, 331, 349, 351, 773, 781, 758, 321, 706, + 784, 670, 692, 797, 695, 698, 739, 653, 719, 250, + 690, 654, 0, 674, 643, 683, 644, 671, 708, 175, + 669, 760, 722, 783, 208, 735, 0, 165, 216, 214, + 0, 0, 0, 257, 320, 782, 714, 0, 791, 211, + 0, 731, 792, 309, 234, 0, 0, 710, 768, 717, + 756, 705, 741, 662, 730, 786, 691, 737, 787, 0, + 0, 0, 0, 635, 0, 1510, 1511, 0, 0, 0, + 0, 0, 657, 0, 734, 780, 686, 736, 738, 641, + 733, 0, 648, 655, 796, 775, 677, 678, 679, 1795, + 0, 0, 0, 0, 0, 0, 709, 718, 750, 702, + 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, + 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, + 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, + 640, 676, 752, 0, 638, 187, 235, 144, 757, 774, + 704, 199, 350, 778, 701, 700, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 749, 291, 688, + 639, 761, 672, 684, 166, 680, 283, 254, 339, 0, + 725, 282, 212, 329, 745, 779, 338, 693, 800, 347, + 352, 0, 715, 659, 306, 176, 0, 133, 0, 268, + 171, 204, 703, 740, 673, 163, 747, 729, 767, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 699, 294, 293, + 694, 195, 755, 732, 645, 276, 743, 200, 132, 318, + 355, 149, 206, 323, 637, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 685, 744, 754, + 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, + 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, + 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, + 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, + 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, + 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, + 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, + 217, 221, 0, 646, 0, 311, 342, 357, 153, 668, + 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, + 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, + 307, 666, 667, 664, 0, 665, 720, 721, 788, 789, + 790, 753, 658, 0, 769, 770, 0, 0, 0, 0, + 0, 759, 776, 777, 742, 798, 696, 663, 647, 650, + 651, 652, 660, 711, 712, 724, 727, 765, 764, 763, + 766, 771, 794, 793, 795, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 723, 131, 140, 210, + 799, 275, 182, 343, 642, 173, 0, 713, 716, 726, + 748, 129, 141, 152, 158, 172, 177, 181, 190, 193, + 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, + 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, + 264, 272, 746, 280, 286, 288, 289, 290, 292, 301, + 302, 303, 304, 312, 317, 330, 331, 349, 351, 773, + 781, 758, 321, 706, 784, 670, 692, 797, 695, 698, + 739, 653, 719, 250, 690, 654, 0, 674, 643, 683, + 644, 671, 708, 175, 669, 760, 722, 783, 208, 735, + 0, 165, 216, 214, 0, 0, 0, 257, 320, 782, + 714, 0, 791, 211, 0, 731, 792, 309, 234, 0, + 0, 710, 768, 717, 756, 705, 741, 662, 730, 786, + 691, 737, 787, 0, 0, 0, 0, 635, 0, 1510, + 1511, 0, 0, 0, 0, 0, 657, 0, 734, 780, + 686, 736, 738, 641, 733, 0, 648, 655, 796, 775, + 677, 678, 679, 0, 0, 0, 0, 0, 0, 0, + 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, + 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, + 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, + 0, 0, 0, 661, 640, 676, 752, 0, 638, 187, + 235, 144, 757, 774, 704, 199, 350, 778, 701, 700, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 749, 291, 688, 639, 761, 672, 684, 166, 680, + 283, 254, 339, 0, 725, 282, 212, 329, 745, 779, + 338, 693, 800, 347, 352, 0, 715, 659, 306, 176, + 0, 133, 0, 268, 171, 204, 703, 740, 673, 163, + 747, 729, 767, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 699, 294, 293, 694, 195, 755, 732, 645, 276, + 743, 200, 132, 318, 355, 149, 206, 323, 637, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 685, 744, 754, 274, 296, 325, 151, 313, 681, + 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, + 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, + 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, + 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, + 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, + 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, + 192, 237, 236, 238, 217, 221, 0, 646, 0, 311, + 342, 357, 153, 668, 299, 324, 0, 0, 154, 184, + 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, + 253, 284, 157, 341, 307, 666, 667, 664, 0, 665, + 720, 721, 788, 789, 790, 753, 658, 0, 769, 770, + 0, 0, 0, 0, 0, 759, 776, 777, 742, 798, + 696, 663, 647, 650, 651, 652, 660, 711, 712, 724, + 727, 765, 764, 763, 766, 771, 794, 793, 795, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 723, 131, 140, 210, 799, 275, 182, 343, 642, 173, + 0, 713, 716, 726, 748, 129, 141, 152, 158, 172, + 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, + 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, + 259, 260, 262, 263, 264, 272, 746, 280, 286, 288, + 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, + 331, 349, 351, 773, 781, 2009, 321, 706, 784, 670, + 692, 797, 695, 698, 739, 653, 719, 250, 690, 654, + 0, 674, 643, 683, 644, 671, 708, 175, 669, 760, + 722, 783, 208, 735, 0, 165, 216, 214, 0, 0, + 0, 257, 320, 782, 714, 0, 791, 211, 0, 731, + 792, 309, 234, 0, 0, 710, 768, 717, 756, 705, + 741, 662, 730, 786, 691, 737, 787, 81, 0, 961, + 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 657, 0, 734, 780, 686, 736, 738, 641, 733, 0, + 648, 655, 796, 775, 677, 678, 679, 0, 0, 0, + 0, 0, 0, 0, 709, 718, 750, 702, 340, 261, + 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, + 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, + 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, + 752, 0, 638, 187, 235, 144, 757, 774, 704, 199, + 350, 778, 701, 700, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 749, 291, 688, 639, 761, + 672, 684, 166, 680, 283, 254, 339, 0, 725, 282, + 212, 329, 745, 779, 338, 693, 800, 347, 352, 0, + 715, 659, 306, 176, 0, 133, 0, 268, 171, 204, + 703, 740, 673, 163, 747, 729, 767, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 699, 294, 293, 694, 195, + 755, 732, 645, 276, 743, 200, 132, 318, 355, 149, + 206, 323, 637, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 685, 744, 754, 274, 296, + 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, + 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, + 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, + 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, + 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, + 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, + 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, + 0, 646, 0, 311, 342, 357, 153, 668, 299, 324, + 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, + 205, 213, 278, 354, 253, 284, 157, 341, 307, 666, + 667, 664, 0, 665, 720, 721, 788, 789, 790, 753, + 658, 0, 769, 770, 0, 0, 0, 0, 0, 759, + 776, 777, 742, 798, 696, 663, 647, 650, 651, 652, + 660, 711, 712, 724, 727, 765, 764, 763, 766, 771, + 794, 793, 795, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 723, 131, 140, 210, 2010, 275, + 182, 343, 642, 173, 0, 713, 716, 726, 748, 129, + 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, + 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, + 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, + 746, 280, 286, 288, 289, 290, 292, 301, 302, 303, + 304, 312, 317, 330, 331, 349, 351, 773, 781, 758, + 321, 706, 784, 670, 692, 797, 695, 698, 739, 653, + 719, 250, 690, 654, 0, 674, 643, 683, 644, 671, + 708, 175, 669, 760, 722, 783, 208, 735, 0, 165, + 216, 214, 0, 0, 0, 257, 320, 782, 714, 0, + 791, 211, 0, 731, 792, 309, 234, 0, 0, 710, + 768, 717, 756, 705, 741, 662, 730, 786, 691, 737, + 787, 0, 0, 0, 0, 635, 0, 0, 0, 0, + 0, 0, 0, 0, 657, 0, 734, 780, 686, 736, + 738, 641, 733, 0, 648, 655, 796, 775, 677, 678, + 679, 0, 0, 0, 0, 0, 0, 0, 709, 718, + 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, + 0, 0, 0, 0, 0, 2306, 0, 675, 0, 728, + 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, + 0, 661, 640, 676, 752, 0, 638, 187, 235, 144, + 757, 774, 704, 199, 350, 778, 701, 700, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 749, + 291, 688, 639, 761, 672, 684, 166, 680, 283, 254, + 339, 0, 725, 282, 212, 329, 745, 779, 338, 693, + 800, 347, 352, 0, 715, 659, 306, 176, 0, 133, + 0, 268, 171, 204, 703, 740, 673, 163, 747, 729, + 767, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 699, + 294, 293, 694, 195, 755, 732, 645, 276, 743, 200, + 132, 318, 355, 149, 206, 323, 637, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 685, + 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, + 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, + 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, + 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, + 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, + 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, + 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, + 236, 238, 217, 221, 0, 646, 0, 311, 342, 357, + 153, 668, 299, 324, 0, 0, 154, 184, 178, 265, + 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, + 157, 341, 307, 666, 667, 664, 0, 665, 720, 721, + 788, 789, 790, 753, 658, 0, 769, 770, 0, 0, + 0, 0, 0, 759, 776, 777, 742, 798, 696, 663, + 647, 650, 651, 652, 660, 711, 712, 724, 727, 765, + 764, 763, 766, 771, 794, 793, 795, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 723, 131, + 140, 210, 799, 275, 182, 343, 642, 173, 0, 713, + 716, 726, 748, 129, 141, 152, 158, 172, 177, 181, + 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, + 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, + 262, 263, 264, 272, 746, 280, 286, 288, 289, 290, + 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, + 351, 773, 781, 758, 321, 706, 784, 670, 692, 797, + 695, 698, 739, 653, 719, 250, 690, 654, 0, 674, + 643, 683, 644, 671, 708, 175, 669, 760, 722, 783, + 208, 735, 0, 165, 216, 214, 0, 0, 0, 257, + 320, 782, 714, 0, 791, 211, 0, 731, 792, 309, + 234, 0, 0, 710, 768, 717, 756, 705, 741, 662, + 730, 786, 691, 737, 787, 0, 0, 0, 0, 503, + 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, + 734, 780, 686, 736, 738, 641, 733, 0, 648, 655, + 796, 775, 677, 678, 679, 0, 0, 0, 0, 0, + 0, 0, 709, 718, 750, 702, 340, 261, 277, 297, + 697, 269, 689, 0, 0, 0, 0, 0, 0, 1945, + 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, + 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, + 638, 187, 235, 144, 757, 774, 704, 199, 350, 778, + 701, 700, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 749, 291, 688, 639, 761, 672, 684, + 166, 680, 283, 254, 339, 0, 725, 282, 212, 329, + 745, 779, 338, 693, 800, 347, 352, 0, 715, 659, + 306, 176, 0, 133, 0, 268, 171, 204, 703, 740, + 673, 163, 747, 729, 767, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 699, 294, 293, 694, 195, 755, 732, + 645, 276, 743, 200, 132, 318, 355, 149, 206, 323, + 637, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 685, 744, 754, 274, 296, 325, 151, + 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, + 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, + 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, + 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, + 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, + 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, + 215, 267, 192, 237, 236, 238, 217, 221, 0, 646, + 0, 311, 342, 357, 153, 668, 299, 324, 0, 0, + 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, + 278, 354, 253, 284, 157, 341, 307, 666, 667, 664, + 0, 665, 720, 721, 788, 789, 790, 753, 658, 0, + 769, 770, 0, 0, 0, 0, 0, 759, 776, 777, + 742, 798, 696, 663, 647, 650, 651, 652, 660, 711, + 712, 724, 727, 765, 764, 763, 766, 771, 794, 793, + 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 723, 131, 140, 210, 799, 275, 182, 343, + 642, 173, 0, 713, 716, 726, 748, 129, 141, 152, + 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, + 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, + 252, 258, 259, 260, 262, 263, 264, 272, 746, 280, + 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, + 317, 330, 331, 349, 351, 773, 781, 758, 321, 706, + 784, 670, 692, 797, 695, 698, 739, 653, 719, 250, + 690, 654, 0, 674, 643, 683, 644, 671, 708, 175, + 669, 760, 722, 783, 208, 735, 0, 165, 216, 214, + 0, 0, 0, 257, 320, 782, 714, 0, 791, 211, + 0, 731, 792, 309, 234, 0, 0, 710, 768, 717, + 756, 705, 741, 662, 730, 786, 691, 737, 787, 0, + 0, 0, 0, 635, 0, 0, 0, 0, 0, 0, + 0, 0, 657, 0, 734, 780, 686, 736, 738, 641, + 733, 0, 648, 655, 796, 775, 677, 678, 679, 0, + 0, 0, 0, 0, 0, 0, 709, 718, 750, 702, + 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, + 0, 0, 0, 1935, 0, 675, 0, 728, 0, 0, + 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, + 640, 676, 752, 0, 638, 187, 235, 144, 757, 774, + 704, 199, 350, 778, 701, 700, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 749, 291, 688, + 639, 761, 672, 684, 166, 680, 283, 254, 339, 0, + 725, 282, 212, 329, 745, 779, 338, 693, 800, 347, + 352, 0, 715, 659, 306, 176, 0, 133, 0, 268, + 171, 204, 703, 740, 673, 163, 747, 729, 767, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 699, 294, 293, + 694, 195, 755, 732, 645, 276, 743, 200, 132, 318, + 355, 149, 206, 323, 637, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 685, 744, 754, + 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, + 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, + 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, + 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, + 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, + 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, + 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, + 217, 221, 0, 646, 0, 311, 342, 357, 153, 668, + 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, + 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, + 307, 666, 667, 664, 0, 665, 720, 721, 788, 789, + 790, 753, 658, 0, 769, 770, 0, 0, 0, 0, + 0, 759, 776, 777, 742, 798, 696, 663, 647, 650, + 651, 652, 660, 711, 712, 724, 727, 765, 764, 763, + 766, 771, 794, 793, 795, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 723, 131, 140, 210, + 799, 275, 182, 343, 642, 173, 0, 713, 716, 726, + 748, 129, 141, 152, 158, 172, 177, 181, 190, 193, + 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, + 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, + 264, 272, 746, 280, 286, 288, 289, 290, 292, 301, + 302, 303, 304, 312, 317, 330, 331, 349, 351, 773, + 781, 758, 321, 706, 784, 670, 692, 797, 695, 698, + 739, 653, 719, 250, 690, 654, 0, 674, 643, 683, + 644, 671, 708, 175, 669, 760, 722, 783, 208, 735, + 0, 165, 216, 214, 0, 0, 0, 257, 320, 782, + 714, 0, 791, 211, 0, 731, 792, 309, 234, 0, + 0, 710, 768, 717, 756, 705, 741, 662, 730, 786, + 691, 737, 787, 0, 0, 0, 0, 126, 0, 0, + 0, 0, 0, 0, 0, 0, 657, 0, 734, 780, + 686, 736, 738, 641, 733, 0, 648, 655, 796, 775, + 677, 678, 679, 0, 0, 0, 0, 0, 0, 0, + 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, + 689, 0, 0, 0, 0, 0, 0, 1489, 0, 675, + 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, + 0, 0, 0, 661, 640, 676, 752, 0, 638, 187, + 235, 144, 757, 774, 704, 199, 350, 778, 701, 700, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 749, 291, 688, 639, 761, 672, 684, 166, 680, + 283, 254, 339, 0, 725, 282, 212, 329, 745, 779, + 338, 693, 800, 347, 352, 0, 715, 659, 306, 176, + 0, 133, 0, 268, 171, 204, 703, 740, 673, 163, + 747, 729, 767, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 699, 294, 293, 694, 195, 755, 732, 645, 276, + 743, 200, 132, 318, 355, 149, 206, 323, 637, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 685, 744, 754, 274, 296, 325, 151, 313, 681, + 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, + 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, + 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, + 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, + 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, + 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, + 192, 237, 236, 238, 217, 221, 0, 646, 0, 311, + 342, 357, 153, 668, 299, 324, 0, 0, 154, 184, + 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, + 253, 284, 157, 341, 307, 666, 667, 664, 0, 665, + 720, 721, 788, 789, 790, 753, 658, 0, 769, 770, + 0, 0, 0, 0, 0, 759, 776, 777, 742, 798, + 696, 663, 647, 650, 651, 652, 660, 711, 712, 724, + 727, 765, 764, 763, 766, 771, 794, 793, 795, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 723, 131, 140, 210, 799, 275, 182, 343, 642, 173, + 0, 713, 716, 726, 748, 129, 141, 152, 158, 172, + 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, + 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, + 259, 260, 262, 263, 264, 272, 746, 280, 286, 288, + 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, + 331, 349, 351, 773, 781, 758, 321, 706, 784, 670, + 692, 797, 695, 698, 739, 653, 719, 250, 690, 654, + 0, 674, 643, 683, 644, 671, 708, 175, 669, 760, + 722, 783, 208, 735, 0, 165, 216, 214, 0, 0, + 0, 257, 320, 782, 714, 0, 791, 211, 0, 731, + 792, 309, 234, 0, 0, 710, 768, 717, 756, 705, + 741, 662, 730, 786, 691, 737, 787, 0, 0, 0, + 0, 503, 0, 0, 0, 0, 0, 0, 0, 0, + 657, 0, 734, 780, 686, 736, 738, 641, 733, 0, + 648, 655, 796, 775, 677, 678, 679, 0, 0, 0, + 0, 0, 0, 0, 709, 718, 750, 702, 340, 261, + 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, + 0, 1349, 0, 675, 0, 728, 0, 0, 0, 656, + 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, + 752, 0, 638, 187, 235, 144, 757, 774, 704, 199, + 350, 778, 701, 700, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 749, 291, 688, 639, 761, + 672, 684, 166, 680, 283, 254, 339, 0, 725, 282, + 212, 329, 745, 779, 338, 693, 800, 347, 352, 0, + 715, 659, 306, 176, 0, 133, 0, 268, 171, 204, + 703, 740, 673, 163, 747, 729, 767, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 699, 294, 293, 694, 195, + 755, 732, 645, 276, 743, 200, 132, 318, 355, 149, + 206, 323, 637, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 685, 744, 754, 274, 296, + 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, + 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, + 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, + 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, + 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, + 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, + 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, + 0, 646, 0, 311, 342, 357, 153, 668, 299, 324, + 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, + 205, 213, 278, 354, 253, 284, 157, 341, 307, 666, + 667, 664, 0, 665, 720, 721, 788, 789, 790, 753, + 658, 0, 769, 770, 0, 0, 0, 0, 0, 759, + 776, 777, 742, 798, 696, 663, 647, 650, 651, 652, + 660, 711, 712, 724, 727, 765, 764, 763, 766, 771, + 794, 793, 795, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 723, 131, 140, 210, 799, 275, + 182, 343, 642, 173, 0, 713, 716, 726, 748, 129, + 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, + 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, + 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, + 746, 280, 286, 288, 289, 290, 292, 301, 302, 303, + 304, 312, 317, 330, 331, 349, 351, 773, 781, 758, + 321, 706, 784, 670, 692, 797, 695, 698, 739, 653, + 719, 250, 690, 654, 0, 674, 643, 683, 644, 671, + 708, 175, 669, 760, 722, 783, 208, 735, 0, 165, + 216, 214, 0, 0, 0, 257, 320, 782, 714, 0, + 791, 211, 0, 731, 792, 309, 234, 0, 0, 710, + 768, 717, 756, 705, 741, 662, 730, 786, 691, 737, + 787, 0, 0, 0, 0, 635, 0, 0, 0, 0, + 0, 0, 0, 0, 657, 0, 734, 780, 686, 736, + 738, 641, 733, 0, 648, 655, 796, 775, 677, 678, + 679, 0, 0, 0, 0, 0, 0, 0, 709, 718, + 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, + 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, + 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, + 0, 661, 640, 676, 752, 0, 638, 187, 235, 144, + 757, 774, 704, 199, 350, 778, 701, 700, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 749, + 291, 688, 639, 761, 672, 684, 166, 680, 283, 254, + 339, 0, 725, 282, 212, 329, 745, 779, 338, 693, + 800, 347, 352, 0, 715, 659, 306, 176, 0, 133, + 0, 268, 171, 204, 703, 740, 673, 163, 747, 729, + 767, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 699, + 294, 293, 694, 195, 755, 732, 645, 276, 743, 200, + 132, 318, 355, 149, 206, 323, 637, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 685, + 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, + 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, + 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, + 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, + 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, + 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, + 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, + 236, 238, 217, 221, 0, 646, 0, 311, 342, 357, + 153, 668, 299, 324, 0, 0, 154, 184, 178, 265, + 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, + 157, 341, 307, 666, 667, 664, 0, 665, 720, 721, + 788, 789, 790, 753, 658, 0, 769, 770, 0, 0, + 0, 0, 0, 759, 776, 777, 742, 798, 696, 663, + 647, 650, 651, 652, 660, 711, 712, 724, 727, 765, + 764, 763, 766, 771, 794, 793, 795, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 723, 131, + 140, 210, 799, 275, 182, 343, 642, 173, 0, 713, + 716, 726, 748, 129, 141, 152, 158, 172, 177, 181, + 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, + 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, + 262, 263, 264, 272, 746, 280, 286, 288, 289, 290, + 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, + 351, 773, 781, 758, 321, 706, 784, 670, 692, 797, + 695, 698, 739, 653, 719, 250, 690, 654, 0, 674, + 643, 683, 644, 671, 708, 175, 669, 760, 722, 783, + 208, 735, 0, 165, 216, 214, 0, 0, 0, 257, + 320, 782, 714, 0, 791, 211, 0, 731, 792, 309, + 234, 0, 0, 710, 768, 717, 756, 705, 741, 662, + 730, 786, 691, 737, 787, 0, 0, 0, 0, 503, + 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, + 734, 780, 686, 736, 738, 641, 733, 0, 648, 655, + 796, 775, 677, 678, 679, 0, 0, 0, 0, 0, + 0, 0, 709, 718, 750, 702, 340, 261, 277, 297, + 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, + 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, + 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, + 638, 187, 235, 144, 757, 774, 704, 199, 350, 778, + 701, 700, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 749, 291, 688, 639, 761, 672, 684, + 166, 680, 283, 254, 339, 0, 725, 282, 212, 329, + 745, 779, 338, 693, 800, 347, 352, 0, 715, 659, + 306, 176, 0, 133, 0, 268, 171, 204, 703, 740, + 673, 163, 747, 729, 767, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 699, 294, 293, 694, 195, 755, 732, + 645, 276, 743, 200, 132, 318, 355, 149, 206, 323, + 637, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 685, 744, 754, 274, 296, 325, 151, + 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, + 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, + 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, + 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, + 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, + 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, + 215, 267, 192, 237, 236, 238, 217, 221, 0, 646, + 0, 311, 342, 357, 153, 668, 299, 324, 0, 0, + 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, + 278, 354, 253, 284, 157, 341, 307, 666, 667, 664, + 0, 665, 720, 721, 788, 789, 790, 753, 658, 0, + 769, 770, 0, 0, 0, 0, 0, 759, 776, 777, + 742, 798, 696, 663, 647, 650, 651, 652, 660, 711, + 712, 724, 727, 765, 764, 763, 766, 771, 794, 793, + 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 723, 131, 140, 210, 799, 275, 182, 343, + 642, 173, 0, 713, 716, 726, 748, 129, 141, 152, + 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, + 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, + 252, 258, 259, 260, 262, 263, 264, 272, 746, 280, + 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, + 317, 330, 331, 349, 351, 773, 781, 758, 321, 706, + 784, 670, 692, 797, 695, 698, 739, 653, 719, 250, + 690, 654, 0, 674, 643, 683, 644, 671, 708, 175, + 669, 760, 722, 783, 208, 735, 0, 165, 216, 214, + 0, 0, 0, 257, 320, 1521, 1525, 0, 791, 211, + 0, 731, 792, 309, 234, 0, 0, 710, 768, 717, + 756, 705, 741, 662, 730, 786, 691, 737, 787, 0, + 0, 0, 0, 635, 0, 0, 0, 0, 0, 0, + 0, 0, 657, 0, 734, 780, 686, 736, 738, 641, + 733, 0, 648, 655, 796, 775, 677, 678, 679, 0, + 0, 0, 0, 0, 0, 0, 709, 718, 750, 702, + 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, + 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, + 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, + 640, 676, 752, 0, 638, 187, 235, 144, 757, 774, + 1524, 199, 350, 778, 701, 700, 1519, 0, 1520, 189, + 209, 634, 128, 142, 1517, 1523, 246, 749, 291, 688, + 639, 761, 672, 684, 166, 680, 283, 254, 339, 0, + 725, 282, 212, 329, 745, 779, 338, 693, 800, 347, + 352, 0, 715, 659, 306, 176, 0, 133, 0, 268, + 171, 204, 703, 740, 673, 163, 747, 729, 767, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 699, 294, 293, + 694, 195, 755, 732, 645, 276, 743, 200, 132, 318, + 355, 149, 206, 323, 637, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 685, 744, 754, + 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, + 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, + 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, + 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, + 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, + 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, + 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, + 217, 221, 0, 646, 0, 311, 342, 357, 153, 668, + 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, + 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, + 307, 666, 667, 664, 0, 665, 720, 721, 788, 789, + 790, 753, 658, 0, 769, 770, 0, 0, 0, 0, + 0, 759, 776, 777, 742, 798, 696, 663, 647, 650, + 651, 652, 660, 711, 712, 724, 727, 765, 764, 763, + 766, 771, 794, 793, 795, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 723, 131, 140, 210, + 799, 275, 182, 343, 642, 173, 0, 713, 716, 726, + 748, 129, 141, 152, 158, 172, 177, 181, 190, 193, + 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, + 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, + 264, 272, 746, 280, 286, 288, 289, 290, 292, 301, + 302, 303, 304, 312, 317, 330, 331, 349, 351, 773, + 781, 758, 321, 706, 784, 670, 692, 797, 695, 698, + 739, 653, 719, 250, 690, 654, 0, 674, 643, 683, + 644, 671, 708, 175, 669, 760, 722, 783, 208, 735, + 0, 165, 216, 214, 0, 0, 0, 257, 320, 782, + 714, 0, 791, 211, 0, 731, 792, 309, 234, 0, + 0, 710, 768, 717, 756, 705, 741, 662, 730, 786, + 691, 737, 787, 0, 0, 0, 0, 126, 0, 0, + 0, 0, 0, 0, 0, 0, 657, 0, 734, 780, + 686, 736, 738, 641, 733, 0, 648, 655, 796, 775, + 677, 678, 679, 0, 0, 0, 0, 0, 0, 0, + 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, + 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, + 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, + 0, 0, 0, 661, 640, 676, 752, 0, 638, 187, + 235, 144, 757, 774, 704, 199, 350, 778, 701, 700, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 749, 291, 688, 639, 761, 672, 684, 166, 680, + 283, 254, 339, 0, 725, 282, 212, 329, 745, 779, + 338, 693, 800, 347, 352, 0, 715, 659, 306, 176, + 0, 133, 0, 268, 171, 204, 703, 740, 673, 163, + 747, 729, 767, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 699, 294, 293, 694, 195, 755, 732, 645, 276, + 743, 200, 132, 318, 355, 149, 206, 323, 637, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 685, 744, 754, 274, 296, 325, 151, 313, 681, + 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, + 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, + 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, + 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, + 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, + 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, + 192, 237, 236, 238, 217, 221, 0, 646, 0, 311, + 342, 357, 153, 668, 299, 324, 0, 0, 154, 184, + 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, + 253, 284, 157, 341, 307, 666, 667, 664, 0, 665, + 720, 721, 788, 789, 790, 753, 658, 0, 769, 770, + 0, 0, 0, 0, 0, 759, 776, 777, 742, 798, + 696, 663, 647, 650, 651, 652, 660, 711, 712, 724, + 727, 765, 764, 763, 766, 771, 794, 793, 795, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 723, 131, 140, 210, 799, 275, 182, 343, 642, 173, + 0, 713, 716, 726, 748, 129, 141, 152, 158, 172, + 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, + 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, + 259, 260, 262, 263, 264, 272, 746, 280, 286, 288, + 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, + 331, 349, 351, 773, 781, 758, 321, 706, 784, 670, + 692, 797, 695, 698, 739, 653, 719, 250, 690, 654, + 0, 674, 643, 683, 644, 671, 708, 175, 669, 760, + 722, 783, 208, 735, 0, 165, 216, 214, 0, 0, + 0, 257, 320, 782, 714, 0, 791, 211, 0, 731, + 792, 309, 234, 0, 0, 710, 768, 717, 756, 705, + 741, 662, 730, 786, 691, 737, 787, 0, 0, 0, + 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 657, 0, 734, 780, 686, 736, 738, 641, 733, 0, + 648, 655, 796, 775, 677, 678, 679, 0, 0, 0, + 0, 0, 0, 0, 709, 718, 750, 702, 340, 261, + 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, + 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, + 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, + 752, 0, 638, 187, 235, 144, 757, 774, 704, 199, + 350, 778, 701, 700, 271, 0, 315, 189, 209, 634, + 128, 142, 630, 188, 246, 749, 291, 688, 639, 761, + 672, 684, 166, 680, 283, 254, 339, 0, 725, 282, + 212, 329, 745, 779, 338, 693, 800, 347, 352, 0, + 715, 659, 306, 176, 0, 133, 0, 268, 171, 204, + 703, 740, 673, 163, 747, 729, 767, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 699, 294, 293, 694, 195, + 755, 732, 645, 276, 743, 200, 132, 318, 355, 149, + 206, 323, 637, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 685, 744, 754, 274, 296, + 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, + 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, + 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, + 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, + 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, + 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, + 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, + 0, 646, 0, 311, 342, 357, 153, 668, 299, 324, + 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, + 205, 213, 278, 354, 253, 284, 157, 341, 307, 666, + 667, 664, 0, 665, 720, 721, 788, 789, 790, 753, + 658, 0, 769, 770, 0, 0, 0, 0, 0, 759, + 776, 777, 742, 798, 696, 663, 647, 650, 651, 652, + 660, 711, 712, 724, 727, 765, 764, 763, 766, 771, + 794, 793, 795, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 723, 131, 140, 210, 799, 275, + 182, 343, 642, 173, 0, 713, 716, 726, 748, 129, + 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, + 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, + 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, + 746, 280, 286, 288, 289, 290, 292, 301, 302, 303, + 304, 312, 317, 330, 331, 349, 351, 773, 321, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 0, 0, 0, 0, 0, 505, 0, 0, 0, 175, + 502, 0, 0, 0, 208, 0, 0, 165, 216, 214, + 0, 0, 0, 257, 320, 0, 0, 0, 580, 211, + 0, 0, 482, 309, 234, 0, 0, 0, 0, 567, + 568, 0, 0, 0, 0, 0, 0, 1499, 0, 81, + 0, 0, 0, 503, 527, 526, 529, 530, 531, 532, + 0, 0, 486, 528, 533, 562, 563, 1500, 0, 0, + 500, 518, 0, 579, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, + 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, + 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 235, 144, 570, 0, + 0, 199, 350, 0, 0, 592, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 577, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 569, + 0, 282, 212, 329, 0, 0, 338, 0, 476, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, + 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, + 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, + 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, + 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, + 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, + 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, + 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, + 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, + 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, + 307, 581, 593, 587, 589, 588, 585, 586, 584, 583, + 582, 595, 571, 572, 573, 574, 575, 0, 0, 0, + 578, 0, 590, 591, 0, 0, 0, 0, 534, 535, + 536, 537, 538, 542, 543, 547, 548, 556, 555, 554, + 557, 558, 560, 559, 561, 539, 540, 541, 544, 545, + 546, 549, 550, 553, 551, 552, 576, 131, 140, 210, + 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, + 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, + 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, + 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, + 302, 303, 304, 312, 317, 330, 331, 349, 351, 36, + 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 250, 0, 0, 0, 0, 0, 505, 0, 0, + 0, 175, 502, 0, 0, 0, 208, 0, 0, 165, + 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, + 580, 211, 0, 0, 482, 309, 234, 0, 0, 0, + 0, 567, 568, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 503, 527, 526, 529, 530, + 531, 532, 0, 0, 486, 528, 533, 562, 563, 0, + 0, 0, 500, 518, 0, 579, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, + 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, + 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 235, 144, + 570, 0, 0, 199, 350, 0, 0, 592, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, + 291, 577, 0, 0, 0, 0, 166, 0, 283, 254, + 339, 569, 0, 282, 212, 329, 0, 0, 338, 0, + 476, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 0, + 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, + 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, + 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, + 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, + 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, + 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, + 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, + 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, + 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, + 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, + 157, 341, 307, 581, 593, 587, 589, 588, 585, 586, + 584, 583, 582, 595, 571, 572, 573, 574, 575, 0, + 0, 0, 578, 0, 590, 591, 0, 0, 0, 0, + 534, 535, 536, 537, 538, 542, 543, 547, 548, 556, + 555, 554, 557, 558, 560, 559, 561, 539, 540, 541, + 544, 545, 546, 549, 550, 553, 551, 552, 576, 131, + 140, 210, 79, 275, 182, 343, 0, 173, 0, 0, + 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, + 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, + 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, + 262, 263, 264, 272, 0, 280, 286, 288, 289, 290, + 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, + 351, 321, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 0, 0, 0, 0, 505, 0, + 0, 0, 175, 502, 0, 0, 0, 208, 0, 0, + 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, + 0, 580, 211, 0, 0, 482, 309, 234, 0, 0, + 0, 0, 567, 568, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 0, 0, 0, 503, 527, 526, 529, + 530, 531, 532, 0, 0, 486, 528, 533, 562, 563, + 0, 0, 0, 500, 518, 0, 579, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, + 0, 0, 0, 0, 515, 516, 496, 0, 0, 0, + 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 235, + 144, 570, 0, 0, 199, 350, 0, 0, 592, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 0, 291, 577, 0, 0, 0, 0, 166, 0, 283, + 254, 339, 569, 0, 282, 212, 329, 0, 0, 338, + 0, 476, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, + 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, + 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, + 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, + 270, 332, 333, 167, 356, 145, 346, 139, 146, 345, + 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, + 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, + 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, + 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, + 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, + 284, 157, 341, 307, 581, 593, 587, 589, 588, 585, + 586, 584, 583, 582, 595, 571, 572, 573, 574, 575, + 0, 0, 0, 578, 0, 590, 591, 0, 0, 0, + 0, 534, 535, 536, 537, 538, 542, 543, 547, 548, + 556, 555, 554, 557, 558, 560, 559, 561, 539, 540, + 541, 544, 545, 546, 549, 550, 553, 551, 552, 576, + 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, + 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, + 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, + 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, + 260, 262, 263, 264, 272, 0, 280, 286, 288, 289, + 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, + 349, 351, 321, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 250, 0, 0, 0, 0, 0, 505, + 0, 0, 0, 175, 502, 0, 0, 0, 208, 0, + 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, + 0, 0, 580, 211, 0, 0, 482, 309, 234, 0, + 0, 0, 0, 567, 568, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 961, 0, 503, 527, 526, + 529, 530, 531, 532, 0, 0, 486, 528, 533, 562, + 563, 0, 0, 0, 500, 518, 0, 579, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, + 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, + 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 235, 144, 570, 0, 0, 199, 350, 0, 0, 592, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 0, 291, 577, 0, 0, 0, 0, 166, 0, + 283, 254, 339, 569, 0, 282, 212, 329, 0, 0, + 338, 0, 476, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 0, 0, 0, 274, 296, 325, 151, 313, 0, + 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, + 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, + 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, + 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, + 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, + 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, + 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, + 342, 357, 153, 0, 299, 324, 0, 0, 154, 184, + 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, + 253, 284, 157, 341, 307, 581, 593, 587, 589, 588, + 585, 586, 584, 583, 582, 595, 571, 572, 573, 574, + 575, 0, 0, 0, 578, 0, 590, 591, 0, 0, + 0, 0, 534, 535, 536, 537, 538, 542, 543, 547, + 548, 556, 555, 554, 557, 558, 560, 559, 561, 539, + 540, 541, 544, 545, 546, 549, 550, 553, 551, 552, + 576, 131, 140, 210, 0, 275, 182, 343, 0, 173, + 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, + 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, + 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, + 259, 260, 262, 263, 264, 272, 0, 280, 286, 288, + 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, + 331, 349, 351, 321, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, + 505, 0, 0, 0, 175, 502, 0, 0, 0, 208, + 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, + 0, 0, 0, 580, 211, 0, 0, 482, 309, 234, + 0, 0, 0, 0, 567, 568, 0, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 503, 527, + 526, 529, 530, 531, 532, 0, 0, 486, 528, 533, + 562, 563, 0, 0, 0, 500, 518, 0, 579, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 340, 261, 277, 297, 0, + 269, 0, 0, 0, 0, 0, 515, 516, 1387, 0, + 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, + 519, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 235, 144, 570, 0, 0, 199, 350, 0, 0, + 592, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 0, 291, 577, 0, 0, 0, 0, 166, + 0, 283, 254, 339, 569, 0, 282, 212, 329, 0, + 0, 338, 0, 476, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 0, 0, 0, 274, 296, 325, 151, 313, + 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, + 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, + 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, + 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, + 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, + 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, + 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, + 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, + 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, + 354, 253, 284, 157, 341, 307, 581, 593, 587, 589, + 588, 585, 586, 584, 583, 582, 595, 571, 572, 573, + 574, 575, 0, 0, 0, 578, 0, 590, 591, 0, + 0, 0, 0, 534, 535, 536, 537, 538, 542, 543, + 547, 548, 556, 555, 554, 557, 558, 560, 559, 561, + 539, 540, 541, 544, 545, 546, 549, 550, 553, 551, + 552, 576, 131, 140, 210, 0, 275, 182, 343, 0, + 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, + 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, + 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, + 258, 259, 260, 262, 263, 264, 272, 0, 280, 286, + 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, + 330, 331, 349, 351, 321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, + 0, 505, 0, 0, 0, 175, 502, 0, 0, 0, + 208, 0, 0, 165, 216, 214, 0, 0, 0, 257, + 320, 0, 0, 0, 580, 211, 0, 0, 482, 309, + 234, 0, 0, 0, 0, 567, 568, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 0, 0, 0, 503, + 527, 1431, 529, 530, 531, 532, 0, 0, 486, 528, + 533, 562, 563, 0, 0, 0, 500, 518, 0, 579, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 340, 261, 277, 297, + 0, 269, 0, 0, 0, 0, 0, 515, 516, 1387, + 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, + 514, 519, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 235, 144, 570, 0, 0, 199, 350, 0, + 0, 592, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 0, 291, 577, 0, 0, 0, 0, + 166, 0, 283, 254, 339, 569, 0, 282, 212, 329, + 0, 0, 338, 0, 476, 347, 352, 0, 0, 0, + 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, + 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, + 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, + 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 0, 0, 0, 274, 296, 325, 151, + 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, + 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, + 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, + 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, + 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, + 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, + 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, + 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, + 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, + 278, 354, 253, 284, 157, 341, 307, 581, 593, 587, + 589, 588, 585, 586, 584, 583, 582, 595, 571, 572, + 573, 574, 575, 0, 0, 0, 578, 0, 590, 591, + 0, 0, 0, 0, 534, 535, 536, 537, 538, 542, + 543, 547, 548, 556, 555, 554, 557, 558, 560, 559, + 561, 539, 540, 541, 544, 545, 546, 549, 550, 553, + 551, 552, 576, 131, 140, 210, 0, 275, 182, 343, + 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, + 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, + 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, + 252, 258, 259, 260, 262, 263, 264, 272, 0, 280, + 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, + 317, 330, 331, 349, 351, 321, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, + 0, 0, 505, 0, 0, 0, 175, 502, 0, 0, + 0, 208, 0, 0, 165, 216, 214, 0, 0, 0, + 257, 320, 0, 0, 0, 580, 211, 0, 0, 482, + 309, 234, 0, 0, 0, 0, 567, 568, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, + 503, 527, 1428, 529, 530, 531, 532, 0, 0, 486, + 528, 533, 562, 563, 0, 0, 0, 500, 518, 0, + 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 340, 261, 277, + 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, + 1387, 0, 0, 0, 594, 0, 517, 0, 0, 512, + 513, 514, 519, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 235, 144, 570, 0, 0, 199, 350, + 0, 0, 592, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 0, 291, 577, 0, 0, 0, + 0, 166, 0, 283, 254, 339, 569, 0, 282, 212, + 329, 0, 0, 338, 0, 476, 347, 352, 0, 0, + 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, + 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, + 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, + 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 0, 0, 0, 274, 296, 325, + 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, + 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, + 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, + 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, + 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, + 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, + 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, + 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, + 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, + 213, 278, 354, 253, 284, 157, 341, 307, 581, 593, + 587, 589, 588, 585, 586, 584, 583, 582, 595, 571, + 572, 573, 574, 575, 0, 0, 0, 578, 0, 590, + 591, 0, 0, 0, 0, 534, 535, 536, 537, 538, + 542, 543, 547, 548, 556, 555, 554, 557, 558, 560, + 559, 561, 539, 540, 541, 544, 545, 546, 549, 550, + 553, 551, 552, 576, 131, 140, 210, 0, 275, 182, + 343, 0, 173, 0, 0, 0, 0, 0, 129, 141, + 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, + 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, + 251, 252, 258, 259, 260, 262, 263, 264, 272, 0, + 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, + 312, 317, 330, 331, 349, 351, 321, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, + 0, 0, 0, 505, 0, 0, 0, 175, 502, 0, + 0, 0, 208, 0, 0, 165, 216, 214, 0, 0, + 0, 257, 320, 0, 0, 0, 580, 211, 0, 0, + 482, 309, 234, 0, 0, 0, 0, 567, 568, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 1274, + 0, 503, 527, 526, 529, 530, 531, 532, 0, 0, + 486, 528, 533, 562, 563, 0, 0, 0, 500, 518, + 0, 579, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 340, 261, + 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, + 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, + 512, 513, 514, 519, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 235, 144, 570, 0, 0, 199, + 350, 0, 0, 592, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 0, 291, 577, 0, 0, + 0, 0, 166, 0, 283, 254, 339, 569, 0, 282, + 212, 329, 0, 0, 338, 0, 476, 347, 352, 0, + 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, + 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, + 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, + 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 0, 0, 0, 274, 296, + 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, + 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, + 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, + 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, + 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, + 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, + 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, + 0, 0, 0, 311, 342, 357, 153, 0, 299, 324, + 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, + 205, 213, 278, 354, 253, 284, 157, 341, 307, 581, + 593, 587, 589, 588, 585, 586, 584, 583, 582, 595, + 571, 572, 573, 574, 575, 0, 0, 0, 578, 0, + 590, 591, 0, 0, 0, 0, 534, 535, 536, 537, + 538, 542, 543, 547, 548, 556, 555, 554, 557, 558, + 560, 559, 561, 539, 540, 541, 544, 545, 546, 549, + 550, 553, 551, 552, 576, 131, 140, 210, 0, 275, + 182, 343, 0, 173, 0, 0, 0, 0, 0, 129, + 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, + 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, + 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, + 0, 280, 286, 288, 289, 290, 292, 301, 302, 303, + 304, 312, 317, 330, 331, 349, 351, 321, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, + 0, 0, 0, 0, 505, 0, 0, 0, 175, 502, + 0, 0, 0, 208, 0, 0, 165, 216, 214, 0, + 0, 0, 257, 320, 0, 0, 0, 580, 211, 0, + 0, 482, 309, 234, 0, 0, 0, 0, 567, 568, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 0, 0, 503, 527, 526, 529, 530, 531, 532, 0, + 0, 486, 528, 533, 562, 563, 0, 0, 0, 500, + 518, 0, 579, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, + 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, + 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, + 0, 512, 513, 514, 519, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 235, 144, 570, 0, 0, + 199, 350, 0, 0, 592, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 577, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 569, 0, + 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 0, 0, 0, 274, + 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, + 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, + 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, + 174, 186, 169, 249, 0, 185, 270, 332, 333, 167, + 356, 145, 346, 139, 146, 345, 242, 0, 241, 348, + 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, + 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, + 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, + 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, + 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, + 581, 593, 587, 589, 588, 585, 586, 584, 583, 582, + 595, 571, 572, 573, 574, 575, 0, 0, 0, 578, + 0, 590, 591, 0, 0, 0, 0, 534, 535, 536, + 537, 538, 542, 543, 547, 548, 556, 555, 554, 557, + 558, 560, 559, 561, 539, 540, 541, 544, 545, 546, + 549, 550, 553, 551, 552, 576, 131, 140, 210, 0, + 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, + 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, + 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, + 247, 248, 251, 252, 258, 259, 260, 262, 263, 264, + 272, 0, 280, 286, 288, 289, 290, 292, 301, 302, + 303, 304, 312, 317, 330, 331, 349, 351, 321, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 0, 0, 0, 208, 0, 0, 165, 216, 214, + 0, 0, 0, 257, 320, 0, 0, 0, 580, 211, + 0, 0, 482, 309, 234, 0, 0, 0, 0, 567, + 568, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 0, 0, 503, 527, 526, 529, 530, 531, 532, + 0, 0, 486, 528, 533, 562, 563, 0, 0, 0, + 0, 518, 0, 579, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, + 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, + 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 235, 144, 570, 0, + 0, 199, 350, 0, 0, 592, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 577, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 569, + 0, 282, 212, 329, 0, 0, 338, 0, 476, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, + 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, + 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, + 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, + 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, + 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, + 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, + 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, + 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, + 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, + 307, 581, 593, 587, 589, 588, 585, 586, 584, 583, + 582, 595, 571, 572, 573, 574, 575, 1434, 1435, 1436, + 578, 0, 590, 591, 0, 0, 0, 0, 534, 535, + 536, 537, 538, 542, 543, 547, 548, 556, 555, 554, + 557, 558, 560, 559, 561, 539, 540, 541, 544, 545, + 546, 549, 550, 553, 551, 552, 576, 131, 140, 210, + 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, + 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, + 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, + 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, + 302, 303, 304, 312, 317, 330, 331, 349, 351, 321, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 208, 0, 0, 165, 216, + 214, 0, 0, 0, 257, 320, 0, 0, 0, 580, + 211, 0, 0, 482, 309, 234, 0, 0, 0, 0, + 567, 568, 0, 0, 0, 0, 0, 0, 0, 0, + 81, 0, 0, 0, 503, 527, 526, 529, 530, 531, + 532, 0, 0, 486, 528, 533, 562, 563, 0, 0, + 0, 0, 518, 0, 579, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, + 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, + 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 235, 144, 570, + 0, 0, 199, 350, 0, 0, 592, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, + 577, 0, 0, 0, 0, 166, 0, 283, 254, 339, + 569, 2724, 282, 212, 329, 0, 0, 338, 0, 476, + 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, + 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, + 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, + 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 0, 0, + 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, + 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, + 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, + 136, 279, 174, 186, 169, 249, 0, 185, 270, 332, + 333, 167, 356, 145, 346, 139, 146, 345, 242, 0, + 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, + 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, + 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, + 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, + 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, + 341, 307, 581, 593, 587, 589, 588, 585, 586, 584, + 583, 582, 595, 571, 572, 573, 574, 575, 0, 0, + 0, 578, 0, 590, 591, 0, 0, 0, 0, 534, + 535, 536, 537, 538, 542, 543, 547, 548, 556, 555, + 554, 557, 558, 560, 559, 561, 539, 540, 541, 544, + 545, 546, 549, 550, 553, 551, 552, 576, 131, 140, + 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, + 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, + 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, + 243, 244, 247, 248, 251, 252, 258, 259, 260, 262, + 263, 264, 272, 0, 280, 286, 288, 289, 290, 292, + 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, + 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 0, 0, 0, 208, 0, 0, 165, + 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, + 580, 211, 0, 0, 482, 309, 234, 0, 0, 0, + 0, 567, 568, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 961, 0, 503, 527, 526, 529, 530, + 531, 532, 0, 0, 486, 528, 533, 562, 563, 0, + 0, 0, 0, 518, 0, 579, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, + 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, + 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 235, 144, + 570, 0, 0, 199, 350, 0, 0, 592, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, + 291, 577, 0, 0, 0, 0, 166, 0, 283, 254, + 339, 569, 0, 282, 212, 329, 0, 0, 338, 0, + 476, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 0, + 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, + 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, + 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, + 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, + 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, + 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, + 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, + 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, + 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, + 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, + 157, 341, 307, 581, 593, 587, 589, 588, 585, 586, + 584, 583, 582, 595, 571, 572, 573, 574, 575, 0, + 0, 0, 578, 0, 590, 591, 0, 0, 0, 0, + 534, 535, 536, 537, 538, 542, 543, 547, 548, 556, + 555, 554, 557, 558, 560, 559, 561, 539, 540, 541, + 544, 545, 546, 549, 550, 553, 551, 552, 576, 131, + 140, 210, 0, 275, 182, 343, 0, 173, 0, 0, + 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, + 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, + 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, + 262, 263, 264, 272, 0, 280, 286, 288, 289, 290, + 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, + 351, 321, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 0, 0, 0, 208, 0, 0, + 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, + 0, 580, 211, 0, 0, 482, 309, 234, 0, 0, + 0, 0, 567, 568, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 0, 0, 0, 503, 527, 526, 529, + 530, 531, 532, 0, 0, 486, 528, 533, 562, 563, + 0, 0, 0, 0, 518, 0, 579, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, + 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, + 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 235, + 144, 570, 0, 0, 199, 350, 0, 0, 592, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 0, 291, 577, 0, 0, 0, 0, 166, 0, 283, + 254, 339, 569, 0, 282, 212, 329, 0, 0, 338, + 0, 476, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, + 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, + 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, + 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, + 270, 332, 333, 167, 356, 145, 346, 139, 146, 345, + 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, + 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, + 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, + 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, + 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, + 284, 157, 341, 307, 581, 593, 587, 589, 588, 585, + 586, 584, 583, 582, 595, 571, 572, 573, 574, 575, + 0, 0, 0, 578, 0, 590, 591, 0, 0, 0, + 0, 534, 535, 536, 537, 538, 542, 543, 547, 548, + 556, 555, 554, 557, 558, 560, 559, 561, 539, 540, + 541, 544, 545, 546, 549, 550, 553, 551, 552, 576, + 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, + 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, + 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, + 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, + 260, 262, 263, 264, 272, 0, 280, 286, 288, 289, + 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, + 349, 351, 321, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 250, 0, 0, 0, 0, 1477, 0, + 0, 0, 0, 175, 0, 0, 0, 0, 208, 0, + 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, + 0, 0, 0, 211, 0, 0, 482, 309, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1479, + 1481, 0, 0, 0, 0, 0, 0, 126, 0, 455, + 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 235, 144, 0, 0, 0, 199, 350, 0, 1480, 0, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, + 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, + 338, 0, 476, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 0, 0, 0, 274, 296, 325, 151, 313, 0, + 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, + 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, + 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, + 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, + 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, + 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, + 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, + 342, 357, 153, 0, 299, 324, 0, 0, 154, 184, + 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, + 253, 284, 157, 341, 307, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 456, 457, 458, 459, 460, 464, 465, 469, + 470, 479, 478, 477, 480, 481, 484, 483, 485, 461, + 462, 463, 466, 467, 468, 471, 472, 475, 473, 474, + 0, 131, 140, 210, 0, 275, 182, 343, 0, 173, + 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, + 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, + 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, + 259, 260, 262, 263, 264, 272, 0, 280, 286, 288, + 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, + 331, 349, 351, 321, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 250, 0, 0, 0, 0, 1477, + 0, 0, 0, 0, 175, 0, 0, 0, 0, 208, + 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, + 0, 0, 0, 0, 211, 0, 0, 482, 309, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1479, 1481, 0, 0, 0, 0, 0, 0, 126, 0, + 455, 0, 0, 0, 0, 0, 0, 486, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 340, 1475, 277, 297, 0, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 235, 144, 0, 0, 0, 199, 350, 0, 1480, + 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, + 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, + 0, 338, 0, 476, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 0, 0, 0, 274, 296, 325, 151, 313, + 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, + 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, + 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, + 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, + 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, + 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, + 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, + 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, + 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, + 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 456, 457, 458, 459, 460, 464, 465, + 469, 470, 479, 478, 477, 480, 481, 484, 483, 485, + 461, 462, 463, 466, 467, 468, 471, 472, 475, 473, + 474, 0, 131, 140, 210, 0, 275, 182, 343, 0, + 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, + 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, + 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, + 258, 259, 260, 262, 263, 264, 272, 0, 280, 286, + 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, + 330, 331, 349, 351, 321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, + 983, 0, 0, 0, 0, 175, 0, 0, 0, 0, + 208, 0, 0, 165, 216, 214, 0, 0, 0, 257, + 320, 0, 0, 0, 0, 211, 0, 0, 482, 309, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 984, + 0, 987, 0, 0, 0, 0, 0, 0, 486, 0, + 0, 0, 0, 0, 980, 979, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 981, 0, 0, 0, 340, 261, 277, 297, + 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 235, 144, 0, 0, 0, 199, 350, 0, + 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, + 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, + 0, 0, 338, 0, 476, 347, 352, 0, 0, 0, + 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, + 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, + 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, + 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 0, 0, 0, 274, 296, 325, 151, + 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, + 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, + 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, + 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, + 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, + 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, + 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, + 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, + 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, + 278, 354, 253, 284, 157, 341, 307, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 456, 457, 458, 459, 460, 464, + 465, 469, 470, 479, 478, 477, 480, 481, 484, 483, + 485, 461, 462, 463, 466, 467, 468, 471, 472, 475, + 473, 474, 0, 131, 140, 210, 0, 275, 182, 343, + 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, + 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, + 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, + 252, 258, 259, 260, 262, 263, 264, 272, 0, 280, + 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, + 317, 330, 331, 349, 351, 321, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, + 0, 208, 0, 0, 165, 216, 214, 0, 0, 0, + 257, 320, 0, 0, 0, 0, 211, 0, 0, 482, + 309, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 126, 0, 455, 0, 0, 0, 0, 0, 0, 486, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 340, 261, 277, + 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 235, 144, 0, 0, 0, 199, 350, + 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, + 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, + 329, 0, 0, 338, 0, 476, 347, 352, 0, 0, + 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, + 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, + 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, + 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 0, 0, 0, 274, 296, 325, + 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, + 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, + 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, + 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, + 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, + 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, + 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, + 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, + 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, + 213, 278, 354, 253, 284, 157, 341, 307, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 456, 457, 458, 459, 460, + 464, 465, 469, 470, 479, 478, 477, 480, 481, 484, + 483, 485, 461, 462, 463, 466, 467, 468, 471, 472, + 475, 473, 474, 0, 131, 140, 210, 0, 275, 182, + 343, 0, 173, 0, 0, 0, 0, 450, 129, 141, + 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, + 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, + 251, 252, 258, 259, 260, 262, 263, 264, 272, 0, + 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, + 312, 317, 330, 331, 349, 351, 321, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, + 0, 0, 208, 1772, 0, 165, 216, 214, 0, 0, + 0, 257, 320, 0, 0, 0, 0, 211, 0, 0, + 482, 309, 234, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 126, 0, 455, 0, 0, 0, 0, 0, 0, + 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 340, 261, + 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 235, 144, 0, 0, 0, 199, + 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, + 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, + 212, 329, 0, 0, 338, 0, 476, 347, 352, 0, + 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, + 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, + 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, + 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 0, 0, 0, 274, 296, + 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, + 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, + 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, + 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, + 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, + 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, + 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, + 0, 0, 0, 311, 342, 357, 153, 0, 299, 324, + 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, + 205, 213, 278, 354, 253, 284, 157, 341, 307, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 456, 457, 458, 459, + 460, 464, 465, 469, 470, 479, 478, 477, 480, 481, + 484, 483, 485, 461, 462, 463, 466, 467, 468, 471, + 472, 475, 473, 474, 0, 131, 140, 210, 0, 275, + 182, 343, 0, 173, 0, 0, 0, 0, 0, 129, + 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, + 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, + 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, + 0, 280, 286, 288, 289, 290, 292, 301, 302, 303, + 304, 312, 317, 330, 331, 349, 351, 321, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 0, 0, 0, 208, 0, 0, 165, 216, 214, 0, + 0, 0, 257, 320, 0, 0, 0, 0, 211, 0, + 0, 482, 309, 234, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 126, 0, 455, 0, 0, 0, 0, 0, + 0, 486, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, + 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 235, 144, 0, 0, 0, + 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, + 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 0, 0, 0, 274, + 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, + 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, + 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, + 174, 186, 169, 249, 0, 185, 270, 332, 333, 167, + 356, 145, 346, 139, 146, 345, 242, 0, 241, 348, + 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, + 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, + 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, + 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, + 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 456, 457, 458, + 459, 460, 464, 465, 469, 470, 479, 478, 477, 480, + 481, 484, 483, 485, 461, 462, 463, 466, 467, 468, + 471, 472, 475, 473, 474, 0, 131, 140, 210, 0, + 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, + 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, + 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, + 247, 248, 251, 252, 258, 259, 260, 262, 263, 264, + 272, 0, 280, 286, 288, 289, 290, 292, 301, 302, + 303, 304, 312, 317, 330, 331, 349, 351, 321, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 0, 0, 0, 208, 0, 0, 165, 216, 214, + 0, 0, 0, 257, 320, 0, 0, 0, 0, 211, + 0, 0, 482, 309, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 984, 0, 987, 0, 0, 0, 0, + 0, 0, 486, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 235, 144, 0, 0, + 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, + 0, 282, 212, 329, 0, 0, 338, 0, 476, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, + 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, + 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, + 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, + 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, + 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, + 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, + 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, + 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, + 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, + 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 456, 457, + 458, 459, 460, 464, 465, 469, 470, 479, 478, 477, + 480, 481, 484, 483, 485, 461, 462, 463, 466, 467, + 468, 471, 472, 475, 473, 474, 0, 131, 140, 210, + 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, + 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, + 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, + 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, + 302, 303, 304, 312, 317, 330, 331, 349, 351, 321, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 208, 0, 0, 165, 216, + 214, 0, 0, 0, 257, 320, 0, 0, 0, 0, + 211, 0, 0, 482, 309, 234, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 635, 0, 0, 0, 0, 0, + 0, 0, 0, 486, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 235, 144, 0, + 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, + 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, + 0, 0, 282, 212, 329, 0, 0, 338, 0, 476, + 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, + 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, + 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, + 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 0, 0, + 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, + 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, + 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, + 136, 279, 174, 186, 169, 249, 0, 185, 270, 332, + 333, 167, 356, 145, 346, 139, 146, 345, 242, 0, + 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, + 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, + 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, + 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, + 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, + 341, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, + 457, 458, 459, 460, 464, 465, 469, 470, 479, 478, + 477, 480, 481, 484, 483, 485, 461, 462, 463, 466, + 467, 468, 471, 472, 475, 473, 474, 0, 131, 140, + 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, + 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, + 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, + 243, 244, 247, 248, 251, 252, 258, 259, 260, 262, + 263, 264, 272, 0, 280, 286, 288, 289, 290, 292, + 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, + 427, 321, 421, 432, 415, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 0, 438, 0, 0, 0, 0, + 0, 0, 175, 0, 0, 422, 0, 208, 0, 0, + 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, + 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 436, 0, 435, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 414, 413, 416, 0, 0, 0, 187, 235, + 144, 0, 0, 420, 199, 350, 0, 0, 0, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 424, 291, 0, 0, 428, 0, 0, 166, 0, 283, + 254, 339, 0, 0, 282, 212, 329, 0, 431, 338, + 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 441, 296, 325, 151, 313, 417, 418, + 419, 425, 426, 429, 430, 433, 134, 319, 337, 156, + 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, + 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, + 270, 332, 333, 167, 356, 145, 346, 139, 146, 345, + 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, + 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, + 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, + 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, + 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, + 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, + 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, + 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, + 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, + 260, 262, 263, 264, 272, 423, 280, 286, 288, 289, + 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, + 349, 351, 427, 321, 421, 432, 415, 0, 0, 0, + 0, 0, 0, 0, 250, 0, 0, 407, 0, 0, + 0, 0, 0, 0, 175, 0, 0, 422, 0, 208, + 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, + 0, 0, 0, 0, 211, 0, 0, 0, 309, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 436, 0, + 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 340, 261, 277, 297, 0, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 414, 413, 416, 0, 0, 0, + 187, 235, 144, 0, 0, 420, 199, 350, 0, 0, + 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 424, 291, 0, 0, 428, 0, 0, 166, + 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, + 431, 338, 0, 0, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 0, 0, 0, 410, 296, 325, 151, 313, + 417, 418, 419, 425, 426, 429, 430, 433, 134, 319, + 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, + 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, + 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, + 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, + 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, + 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, + 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, + 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, + 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 140, 210, 0, 275, 182, 343, 0, + 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, + 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, + 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, + 258, 259, 260, 262, 263, 264, 272, 423, 280, 286, + 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, + 330, 331, 349, 351, 321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, + 208, 0, 0, 165, 216, 214, 0, 0, 0, 257, + 320, 0, 0, 0, 0, 211, 0, 0, 0, 309, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 340, 261, 277, 297, + 0, 269, 0, 997, 996, 1006, 1007, 999, 1000, 1001, + 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 235, 144, 0, 0, 0, 199, 350, 0, + 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, + 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, + 0, 0, 338, 0, 0, 347, 352, 0, 0, 0, + 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, + 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, + 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, + 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 0, 0, 0, 274, 296, 325, 151, + 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, + 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, + 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, + 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, + 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, + 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, + 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, + 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, + 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, + 278, 354, 253, 284, 157, 341, 307, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 140, 210, 0, 275, 182, 343, + 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, + 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, + 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, + 252, 258, 259, 260, 262, 263, 264, 272, 0, 280, + 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, + 317, 330, 331, 349, 351, 321, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 250, 0, 0, 2649, + 0, 0, 0, 0, 0, 0, 175, 2647, 0, 0, + 0, 208, 0, 0, 165, 216, 214, 0, 0, 0, + 257, 320, 0, 0, 0, 0, 211, 0, 0, 0, + 309, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 436, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 340, 261, 277, + 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 235, 144, 0, 0, 0, 199, 350, + 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, + 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, + 329, 0, 0, 338, 0, 0, 347, 352, 0, 0, + 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, + 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, + 2648, 0, 276, 0, 200, 132, 318, 355, 149, 206, + 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 0, 0, 0, 274, 296, 325, + 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, + 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, + 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, + 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, + 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, + 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, + 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, + 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, + 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, + 213, 278, 354, 253, 284, 157, 341, 307, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 140, 210, 0, 275, 182, + 343, 0, 173, 0, 0, 0, 0, 0, 129, 141, + 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, + 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, + 251, 252, 258, 259, 260, 262, 263, 264, 272, 0, + 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, + 312, 317, 330, 331, 349, 351, 36, 321, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 0, 0, 0, 208, 0, 0, 165, 216, 214, 0, + 0, 0, 257, 320, 0, 0, 0, 1472, 211, 0, + 0, 0, 309, 234, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, + 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 235, 144, 0, 0, 0, + 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, + 282, 212, 329, 0, 0, 338, 0, 0, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 0, 0, 0, 274, + 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, + 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, + 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, + 174, 186, 169, 249, 0, 185, 270, 332, 333, 167, + 356, 145, 346, 139, 146, 345, 242, 0, 241, 348, + 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, + 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, + 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, + 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, + 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 140, 210, 79, + 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, + 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, + 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, + 247, 248, 251, 252, 258, 259, 260, 262, 263, 264, + 272, 0, 280, 286, 288, 289, 290, 292, 301, 302, + 303, 304, 312, 317, 330, 331, 349, 351, 321, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 0, 0, 0, 208, 0, 0, 165, 216, 214, + 0, 0, 0, 257, 320, 0, 0, 0, 0, 211, + 0, 0, 0, 309, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 436, 0, 435, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 235, 144, 0, 0, + 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, + 0, 282, 212, 329, 0, 0, 338, 0, 0, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, + 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, + 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, + 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, + 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, + 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, + 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, + 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, + 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, + 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, + 307, 0, 0, 0, 1261, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 140, 210, + 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, + 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, + 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, + 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, + 302, 303, 304, 312, 317, 330, 331, 349, 351, 321, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 1133, 0, 0, 0, 208, 0, 0, 165, 216, + 214, 0, 0, 0, 257, 320, 0, 0, 0, 0, + 211, 0, 0, 0, 309, 234, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 635, 0, 1132, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 235, 144, 0, + 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, + 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, + 0, 0, 282, 212, 329, 0, 0, 338, 0, 0, + 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, + 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, + 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, + 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 0, 0, + 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, + 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, + 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, + 136, 279, 174, 186, 169, 249, 0, 185, 270, 332, + 333, 167, 356, 145, 346, 139, 146, 345, 242, 0, + 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, + 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, + 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, + 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, + 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, + 341, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, + 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, + 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, + 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, + 243, 244, 247, 248, 251, 252, 258, 259, 260, 262, + 263, 264, 272, 0, 280, 286, 288, 289, 290, 292, + 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, + 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 0, 0, 0, 208, 0, 0, 165, + 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, + 0, 211, 0, 0, 0, 309, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 436, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 235, 144, + 0, 0, 0, 199, 350, 0, 0, 0, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, + 291, 0, 0, 0, 0, 0, 166, 0, 283, 254, + 339, 0, 0, 282, 212, 329, 0, 0, 338, 0, + 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 0, + 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, + 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, + 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, + 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, + 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, + 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, + 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, + 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, + 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, + 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, + 157, 341, 307, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 140, 210, 0, 275, 182, 343, 0, 173, 0, 0, + 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, + 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, + 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, + 262, 263, 264, 272, 0, 280, 286, 288, 289, 290, + 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, + 351, 321, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 0, 0, 0, 208, 0, 0, + 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, + 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 0, 0, 0, 126, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 235, + 144, 0, 0, 0, 199, 350, 0, 0, 0, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, + 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, + 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, + 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, + 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, + 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, + 270, 332, 333, 167, 356, 145, 346, 139, 146, 345, + 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, + 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, + 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, + 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, + 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, + 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, + 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, + 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, + 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, + 260, 262, 263, 264, 272, 0, 280, 286, 288, 289, + 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, + 349, 351, 321, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 0, 0, 0, 208, 0, + 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, + 0, 0, 0, 211, 0, 0, 0, 309, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 635, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, + 0, 0, 0, 0, 0, 0, 0, 2114, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 235, 144, 0, 0, 0, 199, 350, 0, 0, 0, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, + 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, + 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 0, 0, 0, 274, 296, 325, 151, 313, 0, + 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, + 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, + 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, + 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, + 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, + 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, + 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, + 342, 357, 153, 0, 299, 324, 0, 0, 154, 184, + 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, + 253, 284, 157, 341, 307, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 140, 210, 0, 275, 182, 343, 0, 173, + 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, + 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, + 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, + 259, 260, 262, 263, 264, 272, 0, 280, 286, 288, + 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, + 331, 349, 351, 321, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 0, 0, 0, 208, + 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, + 0, 0, 0, 0, 211, 0, 0, 0, 309, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 635, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 340, 261, 277, 297, 0, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 235, 144, 0, 0, 0, 199, 350, 0, 0, + 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, + 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, + 0, 338, 0, 0, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 0, 0, 0, 274, 296, 325, 151, 313, + 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, + 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, + 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, + 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, + 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, + 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, + 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, + 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, + 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, + 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 140, 210, 0, 275, 182, 343, 0, + 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, + 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, + 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, + 258, 259, 260, 262, 263, 264, 272, 0, 280, 286, + 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, + 330, 331, 349, 351, 321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, + 208, 0, 0, 165, 216, 214, 0, 0, 0, 257, + 320, 0, 0, 0, 0, 211, 0, 0, 0, 309, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 340, 261, 277, 297, + 0, 269, 0, 0, 0, 0, 0, 0, 0, 1622, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 235, 144, 0, 0, 0, 199, 350, 0, + 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, + 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, + 0, 0, 338, 0, 0, 347, 352, 0, 0, 0, + 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, + 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, + 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, + 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 0, 0, 0, 274, 296, 325, 151, + 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, + 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, + 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, + 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, + 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, + 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, + 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, + 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, + 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, + 278, 354, 253, 284, 157, 341, 307, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 140, 210, 0, 275, 182, 343, + 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, + 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, + 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, + 252, 258, 259, 260, 262, 263, 264, 272, 0, 280, + 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, + 317, 330, 331, 349, 351, 321, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, + 0, 0, 0, 0, 0, 1102, 175, 0, 0, 0, + 0, 208, 0, 0, 165, 216, 214, 0, 0, 0, + 257, 320, 0, 0, 0, 0, 211, 0, 0, 0, + 309, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 340, 261, 277, + 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 235, 144, 0, 0, 0, 199, 350, + 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, + 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, + 329, 0, 0, 338, 0, 0, 347, 352, 0, 0, + 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, + 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, + 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, + 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 0, 0, 0, 274, 296, 325, + 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, + 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, + 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, + 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, + 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, + 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, + 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, + 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, + 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, + 213, 278, 354, 253, 284, 157, 341, 307, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 140, 210, 0, 275, 182, + 343, 0, 173, 0, 0, 0, 0, 0, 129, 141, + 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, + 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, + 251, 252, 258, 259, 260, 262, 263, 264, 272, 0, + 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, + 312, 317, 330, 331, 349, 351, 321, 0, 0, 0, + 598, 0, 0, 0, 0, 0, 0, 250, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, + 0, 0, 208, 0, 0, 165, 216, 214, 0, 0, + 0, 257, 320, 0, 0, 0, 0, 211, 0, 0, + 0, 309, 234, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 340, 261, + 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 235, 144, 0, 0, 0, 199, + 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, + 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, + 212, 329, 0, 0, 338, 0, 0, 347, 352, 0, + 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, + 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, + 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, + 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 0, 0, 0, 274, 296, + 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, + 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, + 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, + 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, + 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, + 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, + 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, + 0, 0, 0, 311, 342, 357, 153, 0, 299, 324, + 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, + 205, 213, 278, 354, 253, 284, 157, 341, 307, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 140, 210, 0, 275, + 182, 343, 0, 173, 0, 0, 0, 0, 0, 129, + 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, + 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, + 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, + 0, 280, 286, 288, 289, 290, 292, 301, 302, 303, + 304, 312, 317, 330, 331, 349, 351, 321, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 0, 0, 0, 208, 0, 0, 165, 216, 214, 0, + 0, 0, 257, 320, 0, 0, 0, 0, 211, 0, + 0, 0, 309, 234, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, + 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 235, 144, 0, 123, 0, + 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, + 282, 212, 329, 0, 0, 338, 0, 0, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 0, 0, 0, 274, + 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, + 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, + 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, + 174, 186, 169, 249, 0, 185, 270, 332, 333, 167, + 356, 145, 346, 139, 146, 345, 242, 0, 241, 348, + 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, + 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, + 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, + 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, + 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 140, 210, 0, + 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, + 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, + 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, + 247, 248, 251, 252, 258, 259, 260, 262, 263, 264, + 272, 0, 280, 286, 288, 289, 290, 292, 301, 302, + 303, 304, 312, 317, 330, 331, 349, 351, 321, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 0, 0, 0, 208, 0, 0, 165, 216, 214, + 0, 0, 0, 257, 320, 0, 0, 0, 0, 211, + 0, 0, 0, 309, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 635, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 235, 144, 0, 0, + 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, + 0, 282, 212, 329, 0, 0, 338, 0, 0, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, + 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, + 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, + 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, + 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, + 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, + 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, + 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, + 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, + 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, + 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 140, 210, + 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, + 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, + 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, + 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, + 302, 303, 304, 312, 317, 330, 331, 349, 351, 321, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 208, 0, 0, 165, 216, + 214, 0, 0, 0, 257, 320, 0, 0, 0, 0, + 211, 0, 0, 0, 309, 234, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 235, 144, 0, + 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, + 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, + 0, 0, 282, 212, 329, 0, 0, 338, 0, 0, + 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, + 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, + 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, + 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 0, 0, + 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, + 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, + 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, + 136, 279, 174, 186, 169, 249, 0, 185, 270, 332, + 333, 167, 356, 145, 346, 139, 146, 345, 242, 0, + 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, + 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, + 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, + 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, + 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, + 341, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, + 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, + 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, + 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, + 243, 244, 247, 248, 251, 252, 258, 259, 260, 262, + 263, 264, 272, 0, 280, 286, 288, 289, 290, 292, + 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, + 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 0, 0, 0, 208, 0, 0, 165, + 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, + 0, 211, 0, 0, 0, 309, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 503, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 235, 144, + 0, 0, 0, 199, 350, 0, 0, 0, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, + 291, 0, 0, 0, 0, 0, 166, 0, 283, 254, + 339, 0, 0, 282, 212, 329, 0, 0, 338, 0, + 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 0, + 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, + 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, + 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, + 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, + 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, + 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, + 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, + 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, + 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, + 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, + 157, 341, 307, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 140, 210, 0, 275, 182, 343, 0, 173, 0, 0, + 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, + 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, + 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, + 262, 263, 264, 272, 0, 280, 286, 288, 289, 290, + 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, + 351, 321, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 0, 0, 0, 208, 0, 0, + 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, + 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 503, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 235, + 144, 0, 0, 0, 199, 350, 0, 0, 0, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, + 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, + 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, + 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, + 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, + 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, + 270, 332, 333, 167, 356, 145, 346, 139, 618, 345, + 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, + 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, + 237, 236, 238, 614, 221, 0, 0, 0, 311, 342, + 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, + 265, 619, 617, 608, 609, 205, 213, 278, 354, 253, + 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, + 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, + 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, + 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, + 260, 262, 615, 616, 272, 0, 280, 286, 288, 289, + 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, + 349, 351, 321, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 0, 0, 0, 208, 0, + 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, + 0, 0, 0, 211, 0, 0, 0, 309, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 235, 144, 0, 0, 0, 199, 350, 0, 0, 0, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, + 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, + 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 0, 0, 0, 274, 296, 325, 151, 313, 0, + 0, 0, 0, 285, 0, 0, 0, 134, 319, 1127, + 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, + 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, + 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, + 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, + 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, + 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, + 342, 357, 153, 0, 299, 324, 0, 0, 154, 184, + 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, + 253, 284, 157, 341, 307, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 140, 210, 0, 275, 182, 343, 0, 173, + 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, + 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, + 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, + 259, 260, 262, 263, 264, 272, 0, 280, 286, 288, + 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, + 331, 349, 351, 321, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 0, 0, 0, 208, + 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, + 0, 0, 0, 0, 211, 0, 0, 0, 309, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 340, 261, 277, 297, 0, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 235, 144, 0, 0, 0, 199, 350, 0, 0, + 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, + 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, + 0, 338, 0, 0, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 0, 0, 0, 274, 296, 325, 151, 313, + 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, + 605, 156, 295, 298, 353, 281, 137, 335, 314, 231, + 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, + 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, + 618, 345, 242, 0, 241, 348, 328, 336, 232, 220, + 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, + 267, 192, 237, 236, 238, 614, 221, 0, 0, 0, + 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, + 184, 178, 265, 619, 617, 608, 609, 205, 213, 278, + 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, + 0, 0, 131, 140, 210, 0, 275, 182, 343, 0, + 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, + 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, + 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, + 258, 259, 260, 262, 615, 616, 272, 0, 280, 286, + 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, + 330, 331, 349, 351, } var yyPact = [...]int{ - 242, -1000, -314, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 4030, -1000, -318, -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, 1745, -1000, -1000, -1000, -1000, -1000, - -1000, 898, 269, -1000, 267, 247, 28846, 628, 3707, 29808, - -1000, -1000, -1000, 175, 505, 29808, 419, 422, 1219, 1630, - 1217, 41, -45, -47, 133, 22592, 22110, -1000, 1798, 1800, - -1000, -1000, 571, 45, -1000, -1000, -1000, 19704, 203, -1000, - -1000, 1721, 1743, 1542, -1000, 12970, 571, 571, 28365, 31732, - -1000, 1797, 29808, 11525, -1000, 620, 29808, -134, 550, 550, - 339, 550, 550, 626, -1000, 838, -1000, -1000, -1000, -1000, - 29808, 25479, 551, 29327, 551, 551, 551, 551, 551, 551, - 551, 29808, -1000, 695, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1712, -1000, -1000, -1000, -1000, + -1000, -1000, 856, 263, -1000, 274, 291, 28960, 626, 4060, + 29922, -1000, -1000, -1000, 168, 503, 29922, 409, 452, 1175, + 1597, 1174, 52, -71, -72, 103, 22706, 22224, 85, -1000, + 1781, 1783, -1000, -1000, 574, 58, -1000, -1000, -1000, 19818, + 183, -1000, -1000, 1692, 1710, 1507, -1000, 13084, 574, 574, + 28479, 31846, -1000, 1732, 29922, 11639, -1000, 616, 29922, -158, + 557, 557, 477, 557, 557, 624, -1000, 828, -1000, -1000, + -1000, -1000, 29922, 25593, 558, 29441, 558, 558, 558, 558, + 558, 558, 558, 29922, -1000, 700, -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, @@ -4580,35 +4557,36 @@ 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, -1000, -1000, 29808, 1216, 1657, 887, - 116, -1000, -1000, -1000, 916, -1000, 334, 333, 331, 306, - 119, 923, 1718, -1000, 1440, 1721, 1721, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 327, 607, 220, 203, 834, -1000, - 1656, 1652, 1120, 1649, 499, 1648, 1476, -24, -1000, 1210, - 29808, -1000, -1000, 1065, 1064, 1495, 1369, 666, 1494, -1000, - -1000, 353, 556, 1470, 408, 1470, 1470, 1470, 1470, 1470, - -51, 1470, 1470, 1470, 85, 1470, 157, 1470, 1470, 1470, - 1470, 1470, 1272, -1000, -1000, -1000, 380, 1368, 1420, 1491, - -1000, 1501, 1707, 623, -1000, -81, 1421, 20666, -1000, 1440, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 29922, 1173, + 1622, 863, 126, -1000, -1000, -1000, 859, -1000, 450, 437, + 342, 338, 105, 866, 1689, -1000, 1377, 1692, 1692, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 244, 602, 200, 183, + 804, -1000, 1618, 1617, 1058, 1616, 854, 1615, 1434, -54, + -1000, 1170, 29922, -1000, -1000, 1029, 1028, 1475, 1330, 660, + 1473, -1000, -1000, 334, 552, 1413, 410, 1413, 1413, 1413, + 1413, 1413, -90, 1413, 1413, 1413, 71, 1413, 125, 1413, + 1413, 1413, 1413, 1413, 1226, -1000, -1000, -1000, 357, 1328, + 1384, 1469, -1000, -1000, 1436, 1678, 623, -1000, -127, 1362, + 20780, -1000, 1377, -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, 1188, 1619, 977, + 15970, 1554, -1000, -1000, 917, 1757, -1000, 19337, 698, -1000, + 15970, 3639, 1377, -1000, -1000, 1377, -1000, -1000, -1000, 671, + -1000, -1000, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1222, 1654, 944, 15856, 1608, -1000, - -1000, 932, 1785, -1000, 19223, 694, -1000, 15856, 2787, 1440, - -1000, -1000, 1440, -1000, -1000, -1000, 650, -1000, -1000, 17780, - 17780, 17780, 17780, 17780, 17780, 17780, 17780, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1377, 1377, 1377, 1377, 1377, 1377, + 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, + 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, + 1377, 1377, -1000, -1000, 1377, -1000, 12603, 1377, 1377, 1377, + 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 15970, + 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, + 1377, 1377, 1377, 1377, 1377, 1377, 27998, 26074, 29922, 1367, + 1319, -1000, -1000, 697, 1372, -94, 31365, -1000, -1000, -1000, + -1000, 30403, 25112, 801, -1000, -1000, -1000, -1000, 1610, -1000, + -1000, 696, -1000, 1712, -1000, -1000, 1291, 547, -1000, 3291, + 4820, -1000, -1000, -1000, 1433, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, - 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, - 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, -1000, - -1000, 1440, -1000, 12489, 1440, 1440, 1440, 1440, 1440, 1440, - 1440, 1440, 1440, 1440, 1440, 1440, 15856, 1440, 1440, 1440, - 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, - 1440, 1440, 1440, 27884, 25960, 29808, 1403, 1380, -1000, -1000, - 693, 1436, -102, 31251, -1000, -1000, -1000, -1000, 30289, 24998, - 826, -1000, -1000, -1000, -1000, 1647, -1000, -1000, 687, -1000, - 1745, -1000, -1000, 1341, 522, -1000, 3060, 4695, -1000, -1000, - -1000, 1475, -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, -1000, -1000, @@ -4624,377 +4602,356 @@ 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, -1000, -1000, -1000, -1000, 29327, 1704, - 579, 1208, 853, 1205, 1204, 1203, 25479, 25479, 550, 1202, - 1434, 604, 1433, 600, 1117, 29808, 1682, 1490, 29808, 1201, - 1200, 1192, 1191, 25479, 25479, -1000, 11041, -1000, -1000, 887, - -1000, 1142, 15856, 550, 550, 29808, 29808, 29808, 29808, -1000, - -1000, 887, 887, 887, 887, 861, 1784, 861, -1000, 861, - -1000, -1000, 15856, -1000, 17780, 24517, 721, -1000, -1000, -1000, - 1189, 325, -1000, -1000, -1000, -1000, -1000, -1000, 1185, 499, - 499, -1000, 1139, 499, 1411, -1000, 803, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 499, - -1000, 15375, -310, -1000, -1000, 1431, -1000, 271, -1000, -1000, - 539, 539, 181, 25479, 25479, 25479, -1000, 1470, 29327, -1000, - 1470, 1470, 1470, -53, 1470, 1470, -1000, -1000, 1470, -1000, - -1000, -1000, -1000, -1000, 1470, -1000, -1000, -1000, 1470, 1470, - -1000, 1470, 1470, -1000, -1000, -1000, -1000, -1000, 25479, 539, - 152, 1430, 539, 25479, 25479, 1542, -1000, -1000, 203, -1000, - -1000, 29808, -72, 20666, 1421, 1702, 9589, -1000, -1000, -1000, - 1793, 767, 1407, -1000, -1000, 1419, -1000, 927, 686, 1114, - 1557, -1000, -1000, -1000, 29808, -1000, 15856, 15856, 1047, -1000, - 21147, -1000, -1000, -1000, -1000, 9105, 779, 17780, 963, 788, - 17780, 17780, 17780, 17780, 17780, 17780, 17780, 17780, 17780, 17780, - 17780, 17780, 17780, 17780, 17780, 1049, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1184, -1000, 203, 1221, 1221, 705, - 705, 705, 705, 705, 705, 705, 23073, 1697, 13932, 13932, - 13932, 1697, 1222, 1222, 13932, 13932, 13932, 13932, 13932, 13932, - 1697, 1697, 13932, 1222, 1222, 1222, 1222, 13932, 13932, 13932, - 13932, 1697, 13932, 13932, 13932, 1697, 1222, 1339, 956, 12489, - 13932, 13932, 13932, 1222, 15856, 15856, 14894, 14413, 16337, 13932, - 13932, 1697, 844, 956, 30289, -1000, -1000, 17299, -1000, -1000, - -1000, -1000, -1000, 1222, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 29327, 29327, 13932, 13932, 13932, 13932, 758, 29808, - -1000, 1385, 1435, -1000, -1000, -1000, 1700, 24036, 18742, -1000, - 758, 1357, 25960, 29808, -1000, -1000, 25960, 29808, 8621, 30770, - 1398, -1000, -77, -75, -102, -1000, -1000, 703, -1000, -1000, - -1000, 12007, -1000, 10073, 1721, 1542, 6201, 10557, -1000, 4695, - 1475, -1000, -34, -1000, -1000, -1000, 1452, -1000, 1452, 282, - 34, 1452, 1452, 1452, 1452, 1452, 2, 2, 2, 2, - 10, -1000, -1000, -1000, -1000, -1000, 1474, 1472, -1000, 1452, - 1452, 1452, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 29441, 1670, 587, 1169, 855, 1168, 1167, 1165, 25593, + 25593, 557, 1164, 1370, 599, 1369, 597, 1214, 29922, 1649, + 1468, 29922, 1163, 1160, 1157, 1150, 25593, 25593, -1000, 11155, + -1000, -1000, 863, -1000, 1094, 15970, 557, 557, 29922, 29922, + 29922, 29922, -1000, -1000, 863, 863, 863, 863, 852, 1756, + 852, -1000, 852, -1000, -1000, 15970, -1000, 17894, 24631, 726, + -1000, -1000, -1000, 1149, 240, -1000, -1000, -1000, -1000, -1000, + -1000, 1147, 854, 854, -1000, 1093, 854, 1357, -1000, 799, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1466, 300, 1461, 1461, 1461, 1461, 1461, 467, 467, - -1000, 15856, 1437, -1000, 29808, -1000, 1679, -1000, 317, 1471, - 1393, -1000, 174, 1359, 29808, -1000, 29808, 29808, 25479, 25479, - 25479, 564, -1000, 29808, 1418, -1000, -1000, -1000, -1000, -1000, - 1376, -1000, 1359, -1000, -1000, -1000, -1000, -1000, 956, 1182, - 1181, -1000, -1000, -1000, 886, -1000, -1000, -1000, -1000, 887, - 29808, 29808, 29808, 1698, 887, 956, 950, 1478, 1440, 1222, - -1000, -1000, 1180, -1000, 1411, 1411, -1000, 1411, 499, 1221, - 1411, -1000, 1335, 1671, 1135, 29808, -1000, 20666, -25, -1000, - -111, 27403, -1000, -1000, -1000, 27403, -1000, 85, 170, -1000, - 589, -1000, 1333, -1000, -1000, -1000, -1000, 1470, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27403, 105, 150, - 27403, 1376, 1783, 1697, 1222, 295, -1000, -1000, -1000, 1440, - 1301, 685, -1000, 1552, 944, 944, 15856, -1000, -1000, -1000, - 10073, 1722, -1000, 1574, 1572, 1524, -1000, -1000, 779, 793, - -1000, -1000, 979, -1000, -1000, -1000, -1000, 684, 1440, -1000, - 3050, -1000, -1000, -1000, -1000, 963, 17780, 17780, 17780, 950, - 3050, 3376, 789, 860, 705, 737, 737, 704, 704, 704, - 704, 704, 876, 876, -1000, -1000, -1000, 1222, -1000, -1000, - -1000, 13932, 1329, -1000, -1000, 956, 679, 1329, 1329, 13932, - -152, -152, 1222, 1329, 1329, 1329, 1222, 1329, 13932, 13932, - 1329, -152, -152, -152, -152, 1329, 1329, 1329, 1329, 13932, - 1329, 1329, 1329, 13932, -1000, 15856, -1000, 1222, 1329, 1329, - 1329, -1000, 856, 1022, 797, 1781, 1329, 792, 1779, 1329, - 2373, 17780, 17780, 17780, 1329, 1329, 13932, 855, -1000, 15856, - 1222, -1000, 2287, 1410, 1409, 1329, 1222, 1399, 1329, 1329, - 230, 1440, -1000, 10073, 25960, 25960, 25960, 25960, 25960, -1000, - 1534, 1533, -1000, 1514, 1512, 1518, 20666, 1331, 1222, 293, - 24036, -1000, 1440, -1000, 20185, 631, 618, 617, 612, 1754, - 25960, 1360, -1000, 1360, -1000, 671, -1000, -1000, 30289, -102, - -83, -1000, -1000, 1398, -1000, 1096, -1000, -1000, 956, -1000, - 665, 1654, 1697, 1397, 5717, -1000, -1000, -1000, -1000, 522, - -1000, -1000, -1000, 1467, 3153, -1000, 1600, 717, 727, 1156, - 1593, -1000, -1000, 609, -39, -1000, -1000, 1060, 2, 2, - 1452, 1452, 258, 1452, -1000, 2, -1000, -1000, -1000, 703, - 1642, 703, 703, 703, 703, 2, 1133, 1133, -1000, -1000, - -1000, -1000, 1059, -1000, 1466, -1000, 1031, -1000, -1000, -1000, - -1000, -1000, -1000, 904, 1488, 29327, 203, 1688, -1000, 1778, - -1000, -1000, 578, 64, 25479, 171, 363, 179, -1000, 588, - -1000, 586, -1000, -1000, -1000, -1000, -1000, -1000, 29808, 25479, - -1000, -1000, 1754, 1172, 1171, -1000, -1000, -1000, 861, 887, - 1634, -1000, -1000, 17780, 25479, -1000, 326, -1000, -1000, -1000, - -1000, 758, 622, -1000, -1000, -62, -1000, -1000, 584, 661, - 655, 581, -1000, 84, 25479, -1000, 29327, -1000, 1772, 1765, - 103, 1761, 25479, 1557, -1000, 1391, -1000, 689, 649, 698, - 535, 535, -1000, 791, 535, 738, -1000, 219, -1000, 9589, - 9589, 1548, -1000, -1000, -1000, 29808, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 8137, 13932, -1000, 950, 3050, - 3209, -1000, 17780, -1000, 1329, 13932, -152, 7653, -152, -152, - 1329, -1000, 26922, -1000, -152, -152, -152, -152, -152, -152, - 1329, 1329, -152, -1000, -1000, -1000, -1000, -152, -152, -152, - -152, 1329, -152, -152, -152, 1222, 956, -1000, -1000, -1000, - -1000, 466, 1049, 466, 17780, 17780, -1000, 17780, 17780, -1000, - -1000, 17780, 3682, 3657, 2904, -195, -1000, 1406, 790, -1000, - 15856, 1032, -1000, -1000, 17780, 17780, -1000, -1000, -1000, -1000, - 1487, 10073, 1440, 6685, -1000, 29327, 1408, -1000, 802, 794, - 1435, 1465, 1486, 1322, -1000, -1000, -1000, -1000, 1527, -1000, - 1526, -1000, -1000, 1446, -1000, -1000, 1384, 1440, 29327, 17780, - 631, -1000, 1440, 1440, 1440, 1745, 15856, 1360, -1000, -1000, - 715, -1000, -1000, -82, -98, -1000, -1000, -1000, 9589, -1000, - 6201, -1000, 6201, -1000, 21628, 529, 1602, 517, -1000, 1156, - -1000, -1000, 1156, -1000, -1000, -1000, 1462, -1000, 924, -1000, - -1000, -1000, -1000, -1000, 17780, 1792, -1000, 1599, -1000, 1594, - 1131, -1000, -1000, 1336, 703, 703, 2, -1000, -1000, 1452, - -1000, 703, -1000, 752, -1000, -1000, -1000, -1000, 703, 1327, - -1000, 1324, 1379, -1000, 1317, 115, 29808, -1000, -1000, -1000, - 1485, -1000, -1000, -1000, 1275, 1377, -1000, 3060, 1170, 1168, - 1167, -222, 259, -1000, 25479, 120, 174, 400, 1166, 29808, - 25479, -1000, -1000, -1000, -1000, -1000, 887, -1000, 17780, 3050, - 1359, -1000, -1000, 2, 29808, -1000, 25479, 714, 26441, 25479, - 102, 169, -1000, 25479, 25479, 1756, 25479, 1376, 1524, 295, - 3114, 1156, 644, -1000, -1000, 542, -1000, 2851, 1593, 1165, - 22094, 4793, 29327, 1591, 1590, 1163, 29808, 29327, -1000, -1000, - 4746, 1162, 15856, -1000, 29327, 29327, 653, -1000, -1000, -1000, - 1364, 12970, -1000, -1000, 1222, -1000, 17780, 3050, -152, -1000, - -1000, -1000, -1000, 646, -1000, -1000, -152, -1000, -1000, 1160, - -1000, -1000, -1000, -1000, -1000, -1000, -152, -152, -1000, -1000, - -1000, -1000, -1000, -152, -1000, -1000, -1000, -1000, 1222, 1452, - 1452, -1000, 1452, 1461, -1000, 1452, 28, 1452, 22, 1222, - 1222, 3330, 3169, 3096, 2987, 2287, 17780, 17780, 17780, 1440, - -148, -1000, 956, 15856, 2689, 2659, -1000, 1666, 1281, 1375, - -1000, -1000, 13451, 1222, 1569, 1301, -1000, 19704, 1299, -1000, - 1745, 10073, 15856, 15856, -1000, -1000, 15856, 1459, -1000, 15856, - -1000, -1000, -1000, -1000, 29327, 275, -1000, 15856, 1299, 1237, - -1000, 29327, 29327, 29327, 1721, 956, -1000, -1000, -1000, -1000, - 5717, -1000, 1296, -1000, 1452, 1452, 1588, -1000, 717, -1000, - -1000, -1000, 29327, -1000, 3050, -37, -1000, -1000, -1000, -1000, - -1000, -1000, 703, -1000, -1000, -1000, -1000, -1000, 2, 1126, - 2, 1028, -1000, 1026, -1000, -1000, -263, 1449, -1000, 203, - 29808, 166, 578, -1000, 3060, 3060, 3060, 232, 114, -1000, - 880, -1000, -1000, -1000, 1125, 1122, 1119, 1359, 182, 877, - 140, -1000, 1686, -1000, -1000, -1000, 3050, -58, -1000, 169, - -1000, -1000, -1000, 169, -1000, -1000, 147, 1376, 1376, 25479, - 1376, -1000, -1000, 4746, 511, 3060, 3060, 1437, 717, 1586, - 517, -1000, -1000, -1000, -1000, -1000, -1000, 1158, -1000, 706, - -1000, 576, 511, 4746, 956, 748, 1668, 9589, 1752, 25960, - -1000, -1000, -1000, 3050, -1000, 7169, -1000, 734, -1000, -1000, - -1000, -1000, -1000, -1000, 289, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 17780, 17780, 17780, 17780, -1000, 2287, 2287, - 2287, 17780, 1222, 1116, 956, 17780, 17780, 1578, -1000, 1440, - -1000, -1000, 1440, 190, -1000, 29327, 1721, -1000, 956, 956, - 956, 29327, 956, 1269, -1000, 1440, 18261, -1000, 20666, 1267, - 1267, 1267, -1000, 656, 21628, 1675, 1675, -1000, 1156, -1000, - 1265, -1000, -1000, 703, -1000, 703, 1270, 1253, -1000, 21628, - -1000, 1717, -1000, 166, -1000, 1113, 240, 234, -1000, 238, - 237, 225, 199, 221, -1000, -1000, -1000, -1000, 399, 232, - -1000, -57, 1020, 771, 1638, 114, -1000, 1017, 1015, 1009, - 1006, 153, -1000, -1000, -1000, -1000, 178, 174, -1000, 392, - 1104, 1621, 1615, 1687, 1687, 95, 1376, 1405, 1239, -1000, - -1000, 1157, -1000, -1000, 1448, 1156, 1447, -1000, 1155, -1000, - -1000, 29327, -1000, 511, 1663, 1660, 1440, -1000, 1747, 1742, - 1360, 12970, -1000, -1000, 1745, 1740, -1000, -1000, 2287, 2287, - 2287, 2287, -1000, -1000, -1000, 97, -1000, -1000, 2287, 2287, - 1790, -1000, 1375, 1440, -1000, 203, -1000, -1000, 1263, -1000, - 29327, -1000, -1000, 631, -1000, -1000, -1000, 656, -1000, 1154, - 791, 1103, -1000, -1000, -1000, -1000, 459, -1000, -1000, -1000, - -1000, 1259, -1000, 298, 32135, -1000, -1000, -1000, -1000, -1000, - -1000, 1629, 1624, 290, -1000, 1099, 1098, -1000, 361, 1058, - 651, -164, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 369, 1147, -1000, 129, -1000, -1000, 553, - 1604, 1607, 1738, -1000, 25479, -1000, -1000, 25960, -1000, -1000, - 609, 609, 21628, 1437, 21628, -1000, -1000, -1000, 17780, -1000, - 729, -159, 15856, 15856, 1752, -1000, 766, 15856, -1000, -1000, - -1000, -1000, 1222, 177, -237, -1000, -1000, 10073, 1375, 1222, - -1000, -1000, -1000, -1000, -1000, 983, -1000, 29808, 656, 253, + -1000, -1000, 854, -1000, 15489, -316, -1000, -1000, 1364, -1000, + 290, -1000, -1000, 473, 473, 209, 25593, 25593, 25593, -1000, + 1413, 29441, -1000, 1413, 1413, 1413, -97, 1413, 1413, -1000, + -1000, 1413, -1000, -1000, -1000, -1000, -1000, 1413, -1000, -1000, + -1000, 1413, 1413, -1000, 1413, 1413, -1000, -1000, -1000, -1000, + -1000, 25593, 473, 165, 1363, 473, 25593, 25593, 1507, -1000, + -1000, 183, -1000, -1000, 29922, -102, 20780, 1362, 1665, 9703, + -1000, -1000, -1000, 1776, 757, 1375, -1000, -1000, 1359, -1000, + 889, 694, 976, 1524, -1000, -1000, -1000, 29922, -1000, 15970, + 15970, 1023, -1000, 21261, -1000, -1000, -1000, -1000, 9219, 761, + 17894, 928, 766, 17894, 17894, 17894, 17894, 17894, 17894, 17894, + 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 1021, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1144, -1000, 183, + 1048, 1048, 713, 713, 713, 713, 713, 713, 713, 23187, + 1669, 14046, 14046, 14046, 1669, 1188, 1188, 14046, 14046, 14046, + 14046, 14046, 14046, 1669, 1669, 14046, 1188, 1188, 1188, 1188, + 14046, 14046, 14046, 14046, 1669, 14046, 14046, 14046, 1669, 1188, + 1289, 905, 12603, 14046, 14046, 14046, 1188, 15970, 15970, 15008, + 14527, 16451, 14046, 14046, 1669, 836, 905, 30403, -1000, -1000, + 17413, -1000, -1000, -1000, -1000, -1000, 1188, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 29441, 29441, 14046, 14046, 14046, + 14046, 752, 29922, -1000, 1360, 1449, -1000, -1000, -1000, 1662, + 24150, 18856, -1000, 752, 1322, 26074, 29922, -1000, -1000, 26074, + 29922, 8735, 30884, 1346, -1000, -119, -117, -94, -1000, -1000, + 710, -1000, -1000, -1000, 12121, -1000, 10187, 1692, 1507, 6315, + 10671, -1000, 4820, 1433, -1000, -62, -1000, -1000, -1000, 1401, + -1000, 1401, 284, -25, 1401, 1401, 1401, 1401, 1401, -20, + -20, -20, -20, -21, -1000, -1000, -1000, -1000, -1000, 1419, + 1417, -1000, 1401, 1401, 1401, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1407, 293, 1404, 1404, 1404, 1404, + 1404, 524, 524, -1000, 15970, 1450, -1000, 29922, -1000, 1639, + -1000, 281, 1414, 1355, -1000, 175, 1323, 29922, -1000, 29922, + 29922, 25593, 25593, 25593, 586, -1000, 29922, 1358, -1000, -1000, + -1000, -1000, -1000, 1337, -1000, 1323, -1000, -1000, -1000, -1000, + -1000, 905, 1143, 1140, -1000, -1000, -1000, 858, -1000, -1000, + -1000, -1000, 863, 29922, 29922, 29922, 1659, 863, 905, 1373, + 1451, 1377, 1188, -1000, -1000, 1139, -1000, 1357, 1357, -1000, + 1357, 854, 1048, 1357, -1000, 1287, 1642, 1092, 29922, -1000, + 20780, -57, -1000, -136, 27517, -1000, -1000, -1000, 27517, -1000, + 71, 172, -1000, 591, -1000, 1280, -1000, -1000, -1000, -1000, + 1413, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 27517, 109, 164, 27517, 1337, 1753, 1669, 1188, 553, -1000, + -1000, -1000, 1377, 1235, 692, -1000, 1520, 977, 977, 15970, + -1000, -1000, -1000, 10187, 1686, -1000, 1536, 1533, 1422, -1000, + -1000, 761, 793, -1000, -1000, 873, -1000, -1000, -1000, -1000, + 689, 1377, -1000, 4319, -1000, -1000, -1000, -1000, 928, 17894, + 17894, 17894, 1373, 4319, 4271, 861, 1825, 713, 691, 691, + 711, 711, 711, 711, 711, 879, 879, -1000, -1000, -1000, + 1188, -1000, -1000, -1000, 14046, 1270, -1000, -1000, 905, 684, + 1270, 1270, 14046, -173, -173, 1188, 1270, 1270, 1270, 1188, + 1270, 14046, 14046, 1270, -173, -173, -173, -173, 1270, 1270, + 1270, 1270, 14046, 1270, 1270, 1270, 14046, -1000, 15970, -1000, + 1188, 1270, 1270, 1270, -1000, 813, 995, 774, 1745, 1270, + 767, 1744, 1270, 1249, 17894, 17894, 17894, 1270, 1270, 14046, + 841, -1000, 15970, 1188, -1000, 2717, 1356, 1351, 1270, 1188, + 1348, 1270, 1270, 177, 1377, -1000, 10187, 26074, 26074, 26074, + 26074, 26074, -1000, 1501, 1490, -1000, 1493, 1487, 1497, 20780, + 1273, 1188, 304, 24150, -1000, 1377, -1000, 20299, 650, 615, + 613, 607, 1718, 26074, 1312, -1000, 1312, -1000, 674, -1000, + -1000, 30403, -94, -105, -1000, -1000, 1346, -1000, 1045, -1000, + -1000, 905, -1000, 669, 1619, 1669, 1345, 5831, -1000, -1000, + -1000, -1000, 547, -1000, -1000, -1000, 1412, 4621, -1000, 1565, + 715, 685, 1109, 1556, -1000, -1000, 347, -65, -1000, -1000, + 1026, -20, -20, 1401, 1401, 247, 1401, -1000, -20, -1000, + -1000, -1000, 710, 1609, 710, 710, 710, 710, -20, 1071, + 1071, -1000, -1000, -1000, -1000, 1017, -1000, 1407, -1000, 1014, + -1000, -1000, -1000, -1000, -1000, -1000, 971, 1467, 29441, 183, + 1658, -1000, 1723, -1000, -1000, 578, 77, 25593, 171, 359, + 186, -1000, 588, -1000, 585, -1000, -1000, -1000, -1000, -1000, + -1000, 29922, 25593, -1000, -1000, 1718, 1138, 1133, -1000, -1000, + -1000, 852, 863, 1600, -1000, -1000, 17894, 25593, -1000, 318, + -1000, -1000, -1000, -1000, 752, 622, -1000, -1000, -98, -1000, + -1000, 584, 666, 664, 580, -1000, 91, 25593, -1000, 29441, + -1000, 1739, 1733, 106, 1729, 25593, 1524, -1000, 1344, -1000, + 642, 603, 690, 529, 529, -1000, 769, 529, 751, -1000, + 182, -1000, 9703, 9703, 1511, -1000, -1000, -1000, 29922, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 8251, 14046, + -1000, 1373, 4319, 3773, -1000, 17894, -1000, 1270, 14046, -173, + 7767, -173, -173, 1270, -1000, 27036, -1000, -173, -173, -173, + -173, -173, -173, 1270, 1270, -173, -1000, -1000, -1000, -1000, + -173, -173, -173, -173, 1270, -173, -173, -173, 1188, 905, + -1000, -1000, -1000, -1000, 466, 1021, 466, 17894, 17894, -1000, + 17894, 17894, -1000, -1000, 17894, 3965, 3788, 3517, -213, -1000, + 1368, 826, -1000, 15970, 992, -1000, -1000, 17894, 17894, -1000, + -1000, -1000, -1000, 1466, 10187, 1377, 6799, -1000, 29441, 1350, + -1000, 789, 773, 1449, 1411, 1465, 1269, -1000, -1000, -1000, + -1000, 1489, -1000, 1486, -1000, -1000, 1380, -1000, -1000, 1342, + 1377, 29441, 17894, 650, -1000, 1377, 1377, 1377, 1712, 15970, + 1312, -1000, -1000, 708, -1000, -1000, -140, -141, -1000, -1000, + -1000, 9703, -1000, 6315, -1000, 6315, -1000, 21742, 540, 1567, + 518, -1000, 1109, -1000, -1000, 1109, -1000, -1000, -1000, 1405, + -1000, 912, -1000, -1000, -1000, -1000, -1000, 17894, 1772, -1000, + 1564, -1000, 1557, 1069, -1000, -1000, 1276, 710, 710, -20, + -1000, -1000, 1401, -1000, 710, -1000, 753, -1000, -1000, -1000, + -1000, 710, 1268, -1000, 1248, 1340, -1000, 1241, 87, 29922, + -1000, -1000, -1000, 1464, -1000, -1000, -1000, 1242, 1339, -1000, + 3291, 1131, 1130, 1129, -218, 271, -1000, 25593, 115, 175, + 402, 1127, 29922, 25593, -1000, -1000, -1000, -1000, -1000, 863, + -1000, 17894, 4319, 1323, -1000, -1000, -20, 29922, -1000, 25593, + 704, 26555, 25593, 102, 134, -1000, 25593, 25593, 1728, 25593, + 1337, 1422, 553, 2823, 1109, 639, -1000, -1000, 535, -1000, + 2964, 1556, 1126, 4768, 3423, 29441, 1555, 1553, 1125, 29922, + 29441, -1000, -1000, 3374, 1124, 15970, -1000, 29441, 29441, 657, + -1000, -1000, -1000, 1295, 13084, -1000, -1000, 1188, -1000, 17894, + 4319, -173, -1000, -1000, -1000, -1000, 655, -1000, -1000, -173, + -1000, -1000, 1123, -1000, -1000, -1000, -1000, -1000, -1000, -173, + -173, -1000, -1000, -1000, -1000, -1000, -173, -1000, -1000, -1000, + -1000, 1188, 1401, 1401, -1000, 1401, 1404, -1000, 1401, 16, + 1401, 13, 1188, 1188, 3285, 3140, 3089, 2763, 2717, 17894, + 17894, 17894, 1377, -169, -1000, 905, 15970, 3066, 2795, -1000, + 1632, 1316, 1336, -1000, -1000, 13565, 1188, 1531, 1235, -1000, + 19818, 1230, -1000, 1712, 10187, 15970, 15970, -1000, -1000, 15970, + 1402, -1000, 15970, -1000, -1000, -1000, -1000, 29441, 301, -1000, + 15970, 1230, 2292, -1000, 29441, 29441, 29441, 1692, 905, -1000, + -1000, -1000, -1000, 5831, -1000, 1225, -1000, 1401, 1401, 1547, + -1000, 715, -1000, -1000, -1000, 29441, -1000, 4319, -74, -1000, + -1000, -1000, -1000, -1000, -1000, 710, -1000, -1000, -1000, -1000, + -1000, -20, 1067, -20, 1010, -1000, 1009, -1000, -1000, -268, + 1400, -1000, 183, 29922, 191, 578, -1000, 3291, 3291, 3291, + 119, 154, -1000, 867, -1000, -1000, -1000, 1066, 1065, 1064, + 1323, 188, 865, 139, -1000, 1656, -1000, -1000, -1000, 4319, + -83, -1000, 134, -1000, -1000, -1000, 134, -1000, -1000, 149, + 1337, 1337, 25593, 1337, -1000, -1000, 3374, 506, 3291, 3291, + 1450, 715, 1542, 518, -1000, -1000, -1000, -1000, -1000, -1000, + 1120, -1000, 695, -1000, 576, 506, 3374, 905, 746, 1641, + 9703, 1716, 26074, -1000, -1000, -1000, 4319, -1000, 7283, -1000, + 749, -1000, -1000, -1000, -1000, -1000, -1000, 220, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 17894, 17894, 17894, 17894, + -1000, 2717, 2717, 2717, 17894, 1188, 1063, 905, 17894, 17894, + 1540, -1000, 1377, -1000, -1000, 1377, 178, -1000, 29441, 1692, + -1000, 905, 905, 905, 29441, 905, 1222, -1000, 1377, 18375, + -1000, 20780, 1213, 1213, 1213, -1000, 610, 21742, 1636, 1636, + -1000, 1109, -1000, 1211, -1000, -1000, 710, -1000, 710, 1238, + 1231, -1000, 21742, -1000, 1687, -1000, 191, -1000, 1062, 237, + 257, -1000, 236, 230, 228, 227, 225, -1000, -1000, -1000, + -1000, 399, 119, -1000, -63, 1006, 783, 1605, 154, -1000, + 970, 968, 955, 950, 215, -1000, -1000, -1000, -1000, 185, + 175, -1000, 397, 1061, 1589, 1585, 1657, 1657, 98, 1337, + 1343, 1207, -1000, -1000, 1112, -1000, -1000, 1399, 1109, 1396, + -1000, 1108, -1000, -1000, 29441, -1000, 506, 1628, 1627, 1377, + -1000, 1714, 1707, 1312, 13084, -1000, -1000, 1712, 1706, -1000, + -1000, 2717, 2717, 2717, 2717, -1000, -1000, -1000, 211, -1000, + -1000, 2717, 2717, 1766, -1000, 1336, 1377, -1000, 183, -1000, + -1000, 1206, -1000, 29441, -1000, -1000, 650, -1000, -1000, -1000, + 610, -1000, 1107, 769, 1059, -1000, -1000, -1000, -1000, 491, + -1000, -1000, -1000, -1000, 1201, -1000, 307, 4919, -1000, -1000, + -1000, -1000, -1000, -1000, 1594, 1593, 292, -1000, 1055, 1053, + -1000, 376, 1002, 702, -182, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 372, 1104, -1000, 135, + -1000, -1000, 564, 1569, 1574, 1702, -1000, 25593, -1000, -1000, + 26074, -1000, -1000, 347, 347, 21742, 1450, 21742, -1000, -1000, + -1000, 17894, -1000, 743, -178, 15970, 15970, 1716, -1000, 744, + 15970, -1000, -1000, -1000, -1000, 1188, 181, -231, -1000, -1000, + 10187, 1336, 1188, -1000, -1000, -1000, -1000, -1000, 949, -1000, + 29922, 610, 300, -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, - 15856, 15856, 5233, 32135, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 981, -1000, -1000, 984, 371, 121, -1000, 1685, - -1000, 1446, 965, 1615, 1737, 1613, 1611, -1000, 1088, -223, - 1360, 1252, 1445, 1246, 3050, 1243, -1000, 29327, -1000, 29327, - -1000, 956, 1374, -1000, 956, 1747, -1000, 1222, 200, 200, - 1372, -1000, 1547, -218, -245, 1371, -1000, -1000, 1441, -1000, - 656, 299, -1000, 1076, 1024, 198, 191, 3865, -1000, -1000, - -1000, -1000, -315, -1000, 108, -1000, 107, -1000, -1000, -1000, - 1069, -1000, 1619, -1000, 1033, -1000, 1734, 1724, -1000, 155, - 1752, 656, 21628, 656, -1000, 729, 1567, 1367, -1000, 1684, - 15856, -159, -1000, -1000, 209, -1000, 756, 233, 741, -1000, - 1221, -1000, -1000, 1546, -1000, 29327, -1000, 1146, 1145, 862, - -1000, 15856, 32135, 1716, 1715, 1712, 1659, 9589, 4850, -1000, - -1000, -1000, -1000, -1000, 1023, 1012, 23554, 1747, -1000, 1238, - -1000, -1000, 349, 29327, 1440, -1000, -1000, 798, -1000, -1000, - -1000, -1000, -1000, 29327, -226, 1236, 235, -1000, -1000, 868, - 32135, -1000, 1011, -317, 404, 203, 583, 17780, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 90, 1359, -159, 656, 330, - -1000, -1000, 209, -1000, -238, 1484, -1000, -1000, -1000, -1000, - -1000, -1000, 32135, -1000, -318, 32135, 4199, -1000, -1000, -1000, - 3594, -1000, -1000, -1000, -1000, 185, -1000, -1000, 3050, 25479, - -1000, -1000, 1440, -1000, -246, 1483, 1482, 1771, -1000, -319, - 4760, -320, 549, 32135, 850, -1000, 15856, -1000, 583, -1000, - 1359, 16818, -1000, -1000, 1789, -1000, 1787, 627, 627, 4492, - 866, 32135, -1000, -322, 547, 32135, -1000, 995, -1000, 2287, - 1222, -1000, -1000, -1000, 513, 996, -1000, -1000, -1000, 4467, - -1000, -323, 32135, -1000, -1000, -1000, -1000, -1000, 546, 4291, - -324, -1000, 545, 32135, -1000, + -1000, -1000, -1000, -1000, 15970, 15970, 5347, 4919, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 937, -1000, -1000, 987, + 352, 133, -1000, 1653, -1000, 1380, 871, 1585, 1697, 1583, + 1581, -1000, 1044, -225, 1312, 1194, 1379, 1187, 4319, 1185, + -1000, 29441, -1000, 29441, -1000, 905, 1334, -1000, 905, 1714, + -1000, 1188, 231, 231, 1333, -1000, 1510, -216, -239, 1332, + -1000, -1000, 1378, -1000, 610, 296, -1000, 834, 860, 205, + 198, 3222, -1000, -1000, -1000, -1000, -319, -1000, 118, -1000, + 104, -1000, -1000, -1000, 1040, -1000, 1588, -1000, 1039, -1000, + 1695, 1694, -1000, 170, 1716, 610, 21742, 610, -1000, 743, + 1530, 1331, -1000, 1652, 15970, -178, -1000, -1000, 248, -1000, + 737, 266, 735, -1000, 1048, -1000, -1000, 1506, -1000, 29441, + -1000, 1101, 1099, 922, -1000, 15970, 4919, 1682, 1676, 1673, + 1626, 9703, 4827, -1000, -1000, -1000, -1000, -1000, 1036, 1024, + 23668, 1714, -1000, 1182, -1000, -1000, 457, 29441, 1377, -1000, + -1000, 862, -1000, -1000, -1000, -1000, -1000, 29441, -229, 1180, + 222, -1000, -1000, 853, 4919, -1000, 844, -320, 404, 183, + 560, 17894, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 95, + 1323, -178, 610, 323, -1000, -1000, 248, -1000, -237, 1463, + -1000, -1000, -1000, -1000, -1000, -1000, 4919, -1000, -322, 4919, + 229, -1000, -1000, -1000, 4671, -1000, -1000, -1000, -1000, 195, + -1000, -1000, 4319, 25593, -1000, -1000, 1377, -1000, -244, 1456, + 1453, 1727, -1000, -323, 4581, -324, 555, 4919, 794, -1000, + 15970, -1000, 560, -1000, 1323, 16932, -1000, -1000, 1765, -1000, + 1759, 621, 621, 4444, 845, 4919, -1000, -327, 554, 4919, + -1000, 825, -1000, 2717, 1188, -1000, -1000, -1000, 482, 939, + -1000, -1000, -1000, 4337, -1000, -330, 4919, -1000, -1000, -1000, + -1000, -1000, 548, 4043, -331, -1000, 543, 4919, -1000, } var yyPgo = [...]int{ - 0, 2167, 2166, 233, 2165, 184, 2162, 2161, 2160, 24, - 22, 20, 27, 2156, 1902, 1900, 1898, 1884, 1873, 2155, - 5, 2154, 2153, 1864, 2152, 2151, 1851, 1849, 1847, 1842, - 2149, 2148, 2144, 1840, 1836, 26, 2143, 16, 2139, 4, - 138, 156, 2138, 3, 2137, 2136, 10, 2135, 2134, 1831, - 2133, 2132, 2129, 94, 2127, 1829, 1827, 2126, 1823, 1820, - 2125, 2121, 1817, 1815, 1806, 2120, 161, 2118, 2117, 2116, - 169, 98, 142, 2114, 2113, 2111, 109, 63, 2031, 104, - 46, 103, 353, 2110, 14, 78, 183, 2109, 140, 135, - 2108, 150, 2106, 130, 107, 92, 2104, 2096, 157, 2095, - 2094, 2093, 127, 2089, 2088, 2391, 2087, 2079, 149, 2078, - 60, 43, 44, 2077, 2076, 2075, 2072, 2071, 30, 153, - 2070, 2069, 139, 2065, 2062, 90, 2061, 2057, 174, 2056, - 2055, 2051, 128, 39, 2050, 2049, 48, 2046, 76, 62, - 2045, 47, 2043, 120, 2042, 2041, 35, 19, 2040, 57, - 2039, 52, 2034, 134, 832, 1052, 2033, 8, 11, 18, - 2027, 34, 7, 13, 36, 61, 77, 126, 95, 2022, - 49, 32, 112, 91, 93, 40, 2021, 143, 2020, 89, - 146, 123, 125, 145, 2017, 2016, 2009, 967, 2008, 114, - 71, 2004, 96, 918, 154, 118, 2003, 85, 1999, 1998, - 1993, 101, 106, 1989, 1987, 42, 66, 630, 1392, 64, - 147, 1986, 45, 1982, 1981, 1980, 2875, 99, 105, 100, - 1976, 97, 37, 53, 1974, 1971, 1970, 1965, 1964, 1958, - 1712, 1957, 1954, 1952, 1950, 88, 65, 1949, 1948, 121, - 129, 1947, 1946, 1945, 1944, 119, 86, 141, 1943, 108, - 117, 124, 1942, 70, 1941, 1939, 83, 41, 1935, 1934, - 1933, 102, 74, 1930, 69, 31, 33, 58, 9, 80, - 111, 1929, 29, 1928, 2, 6, 12, 1927, 1926, 1925, - 1924, 1922, 1920, 1919, 75, 1918, 1917, 59, 1916, 1914, - 1912, 38, 1911, 1910, 1906, 136, 110, 50, 152, 72, - 17, 1905, 1896, 15, 1894, 115, 1892, 73, 1887, 54, - 1879, 1870, 51, 1866, 1858, 55, 1856, 1854, 148, 1546, - 2726, 1845, 151, 131, 56, 87, 1838, 1834, 0, 617, - 165, 164, 1825, 1809, + 0, 2169, 2168, 233, 2167, 181, 2166, 2163, 2162, 26, + 23, 20, 28, 2161, 1907, 1905, 1903, 1856, 1854, 2160, + 5, 2159, 2158, 1850, 2156, 2155, 1848, 1846, 1840, 1833, + 2152, 2151, 2149, 1830, 1824, 1822, 15, 2148, 19, 2147, + 4, 132, 155, 2146, 3, 2142, 2141, 14, 2140, 2139, + 1810, 2138, 2136, 2135, 87, 2134, 1808, 1806, 2132, 1804, + 1801, 2131, 2129, 1799, 1791, 1789, 2128, 156, 2127, 2121, + 2120, 169, 90, 139, 2119, 2117, 2115, 108, 79, 2046, + 103, 43, 104, 353, 2113, 30, 54, 174, 2112, 121, + 137, 2111, 145, 2107, 140, 107, 96, 2104, 2100, 151, + 2099, 2098, 2097, 126, 2096, 2082, 2910, 2081, 2080, 147, + 2079, 63, 58, 36, 2076, 2075, 2074, 2073, 2072, 25, + 153, 2071, 2065, 128, 2064, 2062, 78, 2060, 2059, 158, + 2058, 2057, 2054, 124, 40, 2053, 2052, 55, 2049, 48, + 75, 2048, 94, 2045, 130, 2044, 2043, 34, 10, 2042, + 64, 2037, 56, 2036, 135, 309, 1115, 2034, 11, 16, + 18, 2030, 32, 7, 13, 44, 47, 70, 116, 98, + 2025, 49, 38, 106, 97, 88, 39, 2024, 141, 2023, + 80, 143, 127, 122, 142, 2022, 2020, 2019, 971, 2012, + 110, 84, 2010, 95, 916, 152, 112, 2007, 93, 2006, + 2004, 1989, 83, 109, 1988, 1985, 53, 66, 636, 1649, + 89, 144, 1984, 42, 1983, 1981, 1979, 2894, 101, 82, + 102, 1977, 99, 35, 59, 1976, 1974, 1973, 1972, 1969, + 1968, 1341, 1967, 1965, 1962, 1961, 288, 60, 1960, 1957, + 113, 115, 1953, 1938, 1937, 1936, 119, 67, 138, 1933, + 125, 118, 120, 1932, 68, 1931, 1930, 91, 41, 1929, + 1928, 1925, 92, 86, 1923, 62, 31, 33, 65, 8, + 69, 100, 1922, 22, 1921, 2, 6, 12, 1919, 1918, + 1915, 1914, 1913, 1911, 1910, 71, 1909, 1900, 61, 1898, + 1893, 1890, 37, 1887, 1883, 1879, 131, 105, 50, 149, + 284, 17, 1876, 1873, 9, 1867, 111, 1863, 57, 1861, + 52, 1859, 1852, 46, 1844, 1842, 51, 1835, 1828, 150, + 1516, 2747, 1826, 148, 129, 45, 74, 1814, 1812, 0, + 617, 154, 136, 1797, 1793, } var yyR1 = [...]int{ - 0, 327, 327, 1, 1, 1, 1, 1, 1, 1, + 0, 328, 328, 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, 65, 3, 3, 8, 4, - 4, 4, 5, 5, 87, 87, 86, 86, 91, 6, - 6, 7, 7, 9, 9, 69, 69, 10, 11, 11, - 11, 11, 330, 330, 100, 100, 98, 98, 99, 99, - 172, 172, 12, 12, 12, 177, 177, 182, 182, 182, - 185, 185, 185, 185, 163, 164, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 301, 301, - 310, 310, 310, 311, 311, 309, 309, 309, 309, 309, - 313, 313, 314, 314, 312, 312, 312, 312, 316, 316, - 317, 317, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 315, 304, 304, 304, 33, - 33, 33, 33, 34, 34, 34, 34, 34, 34, 318, - 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - 319, 319, 320, 320, 321, 321, 322, 322, 322, 322, - 323, 323, 323, 323, 323, 324, 324, 324, 324, 324, - 324, 324, 325, 325, 326, 326, 2, 282, 282, 283, - 283, 284, 284, 284, 284, 285, 285, 286, 286, 287, - 287, 287, 287, 287, 287, 287, 287, 287, 287, 24, - 204, 204, 303, 303, 303, 297, 297, 297, 299, 299, - 298, 298, 298, 300, 300, 305, 305, 305, 305, 305, - 307, 307, 307, 307, 307, 307, 308, 308, 308, 306, - 306, 47, 47, 48, 48, 48, 152, 152, 152, 13, - 13, 13, 13, 13, 19, 21, 21, 36, 36, 37, - 22, 22, 22, 22, 38, 38, 39, 25, 25, 25, - 25, 25, 25, 45, 45, 45, 44, 44, 43, 43, - 43, 43, 43, 43, 23, 23, 23, 23, 46, 46, - 41, 41, 40, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 26, 26, 26, 26, 26, - 26, 18, 281, 281, 281, 35, 35, 20, 20, 20, + 1, 1, 1, 1, 1, 1, 66, 3, 3, 8, + 4, 4, 4, 5, 5, 88, 88, 87, 87, 92, + 6, 6, 7, 7, 9, 9, 70, 70, 10, 11, + 11, 11, 11, 331, 331, 101, 101, 99, 99, 100, + 100, 173, 173, 12, 12, 12, 178, 178, 183, 183, + 183, 186, 186, 186, 186, 164, 165, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 302, + 302, 311, 311, 311, 312, 312, 310, 310, 310, 310, + 310, 314, 314, 315, 315, 313, 313, 313, 313, 317, + 317, 318, 318, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 305, 305, 305, + 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, + 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, + 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, + 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, + 319, 320, 320, 321, 321, 322, 322, 323, 323, 323, + 323, 324, 324, 324, 324, 324, 325, 325, 325, 325, + 325, 325, 325, 326, 326, 327, 327, 2, 283, 283, + 284, 284, 285, 285, 285, 285, 286, 286, 287, 287, + 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, + 24, 205, 205, 304, 304, 304, 298, 298, 298, 300, + 300, 299, 299, 299, 301, 301, 306, 306, 306, 306, + 306, 308, 308, 308, 308, 308, 308, 309, 309, 309, + 307, 307, 48, 48, 49, 49, 49, 153, 153, 153, + 13, 13, 13, 13, 13, 19, 21, 21, 37, 37, + 38, 22, 22, 22, 22, 39, 39, 40, 25, 25, + 25, 25, 25, 25, 46, 46, 46, 45, 45, 44, + 44, 44, 44, 44, 44, 23, 23, 23, 23, 47, + 47, 42, 42, 41, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 26, 26, 26, 26, + 26, 26, 18, 282, 282, 282, 36, 36, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 51, 258, 259, 259, - 259, 259, 259, 259, 259, 259, 246, 246, 247, 223, - 223, 223, 223, 223, 223, 223, 223, 222, 222, 222, - 222, 226, 226, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 225, 225, 225, 225, 225, 225, 225, - 225, 227, 227, 227, 227, 227, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 229, 229, 229, 229, 229, 229, 229, 229, 245, - 245, 230, 230, 239, 239, 240, 240, 240, 237, 237, - 238, 238, 233, 234, 241, 235, 235, 235, 236, 236, - 236, 244, 244, 244, 244, 231, 248, 248, 268, 268, - 267, 267, 266, 266, 266, 257, 257, 263, 263, 263, - 263, 263, 263, 263, 252, 252, 252, 251, 251, 253, - 253, 256, 256, 265, 265, 264, 264, 249, 249, 249, - 269, 269, 269, 269, 269, 250, 250, 250, 250, 270, - 254, 254, 255, 255, 255, 275, 276, 274, 274, 274, - 274, 274, 115, 115, 115, 260, 260, 260, 261, 261, - 261, 262, 262, 262, 279, 279, 278, 278, 49, 50, - 54, 54, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 151, 151, 151, 202, - 202, 273, 271, 271, 272, 272, 15, 15, 52, 52, - 302, 302, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 277, 277, 277, 17, 17, 55, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 83, 191, 191, 190, 190, 189, 189, 189, 192, - 192, 192, 220, 220, 220, 57, 57, 61, 61, 64, - 64, 64, 62, 63, 27, 28, 28, 28, 28, 29, - 203, 203, 59, 59, 60, 60, 60, 60, 75, 75, - 332, 332, 58, 333, 66, 67, 67, 68, 68, 68, - 195, 195, 72, 72, 72, 70, 70, 70, 71, 71, - 77, 77, 81, 81, 81, 81, 80, 80, 80, 80, - 154, 154, 159, 213, 213, 135, 135, 155, 155, 160, - 160, 160, 161, 161, 162, 162, 162, 162, 162, 157, - 157, 156, 156, 158, 123, 123, 211, 211, 211, 210, - 210, 210, 210, 85, 85, 88, 88, 89, 89, 89, - 89, 92, 137, 137, 109, 109, 110, 110, 110, 110, - 110, 121, 121, 171, 171, 170, 170, 173, 173, 90, - 90, 90, 90, 95, 95, 96, 96, 97, 97, 201, - 201, 218, 218, 218, 101, 101, 101, 103, 102, 102, - 102, 102, 104, 104, 106, 107, 107, 105, 105, 108, - 111, 111, 111, 111, 112, 112, 82, 82, 82, 82, - 82, 82, 82, 188, 188, 114, 114, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 131, 131, 131, - 131, 131, 131, 116, 116, 116, 116, 116, 116, 116, - 76, 76, 132, 132, 132, 94, 93, 93, 79, 79, - 78, 78, 133, 133, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 126, - 126, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 20, 20, 20, 20, 20, 20, 20, 20, 52, 259, + 260, 260, 260, 260, 260, 260, 260, 260, 247, 247, + 248, 224, 224, 224, 224, 224, 224, 224, 224, 223, + 223, 223, 223, 227, 227, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 226, 226, 226, 226, 226, + 226, 226, 226, 228, 228, 228, 228, 228, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 230, 230, 230, 230, 230, 230, 230, + 230, 246, 246, 231, 231, 240, 240, 241, 241, 241, + 238, 238, 239, 239, 234, 235, 242, 236, 236, 236, + 237, 237, 237, 245, 245, 245, 245, 232, 249, 249, + 269, 269, 268, 268, 267, 267, 267, 258, 258, 264, + 264, 264, 264, 264, 264, 264, 253, 253, 253, 252, + 252, 254, 254, 257, 257, 266, 266, 265, 265, 250, + 250, 250, 270, 270, 270, 270, 270, 251, 251, 251, + 251, 271, 255, 255, 256, 256, 256, 276, 277, 275, + 275, 275, 275, 275, 116, 116, 116, 261, 261, 261, + 262, 262, 262, 263, 263, 263, 280, 280, 279, 279, + 50, 51, 55, 55, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 152, 152, + 152, 203, 203, 274, 272, 272, 273, 273, 15, 15, + 53, 53, 303, 303, 35, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 278, 278, 278, 17, 17, 56, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 84, 192, 192, 191, 191, 190, + 190, 190, 193, 193, 193, 221, 221, 221, 58, 58, + 62, 62, 65, 65, 65, 63, 64, 27, 28, 28, + 28, 28, 29, 204, 204, 60, 60, 61, 61, 61, + 61, 76, 76, 333, 333, 59, 334, 67, 68, 68, + 69, 69, 69, 196, 196, 73, 73, 73, 71, 71, + 71, 72, 72, 78, 78, 82, 82, 82, 82, 81, + 81, 81, 81, 155, 155, 160, 214, 214, 136, 136, + 156, 156, 161, 161, 161, 162, 162, 163, 163, 163, + 163, 163, 158, 158, 157, 157, 159, 124, 124, 212, + 212, 212, 211, 211, 211, 211, 86, 86, 89, 89, + 90, 90, 90, 90, 93, 138, 138, 110, 110, 111, + 111, 111, 111, 111, 122, 122, 172, 172, 171, 171, + 174, 174, 91, 91, 91, 91, 96, 96, 97, 97, + 98, 98, 202, 202, 219, 219, 219, 102, 102, 102, + 104, 103, 103, 103, 103, 105, 105, 107, 108, 108, + 106, 106, 109, 112, 112, 112, 112, 113, 113, 83, + 83, 83, 83, 83, 83, 83, 189, 189, 115, 115, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 132, 132, 132, 132, 132, 132, 117, 117, 117, 117, + 117, 117, 117, 77, 77, 133, 133, 133, 95, 94, + 94, 80, 80, 79, 79, 134, 134, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 127, 127, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 331, 331, 128, - 127, 127, 127, 127, 127, 127, 73, 73, 73, 73, - 73, 219, 219, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 144, 144, 74, 74, - 142, 142, 143, 145, 145, 141, 141, 141, 118, 118, - 118, 118, 118, 118, 118, 118, 120, 120, 120, 146, - 146, 134, 134, 84, 147, 147, 148, 149, 149, 150, - 150, 153, 165, 165, 165, 166, 166, 166, 166, 122, - 122, 167, 167, 167, 117, 117, 117, 117, 117, 117, - 117, 169, 169, 168, 168, 168, 168, 174, 174, 136, - 136, 139, 139, 138, 140, 175, 175, 179, 179, 176, - 176, 180, 180, 180, 180, 183, 183, 184, 184, 184, - 181, 181, 181, 178, 178, 178, 215, 215, 215, 186, - 186, 196, 196, 193, 193, 194, 194, 187, 187, 232, - 232, 200, 200, 199, 199, 199, 197, 197, 197, 198, - 198, 212, 212, 208, 208, 214, 214, 209, 209, 216, - 216, 217, 217, 280, 280, 242, 242, 290, 290, 243, - 243, 291, 291, 293, 293, 288, 288, 289, 289, 292, - 292, 30, 294, 294, 295, 295, 296, 296, 296, 296, - 31, 32, 32, 32, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 332, 332, 129, 128, 128, 128, 128, 128, 128, 74, + 74, 74, 74, 74, 220, 220, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 145, + 145, 75, 75, 143, 143, 144, 146, 146, 142, 142, + 142, 119, 119, 119, 119, 119, 119, 119, 119, 121, + 121, 121, 147, 147, 135, 135, 85, 148, 148, 149, + 150, 150, 151, 151, 154, 166, 166, 166, 167, 167, + 167, 167, 123, 123, 168, 168, 168, 118, 118, 118, + 118, 118, 118, 118, 170, 170, 169, 169, 169, 169, + 175, 175, 137, 137, 140, 140, 139, 141, 176, 176, + 180, 180, 177, 177, 181, 181, 181, 181, 184, 184, + 185, 185, 185, 182, 182, 182, 179, 179, 179, 216, + 216, 216, 187, 187, 197, 197, 194, 194, 195, 195, + 188, 188, 233, 233, 201, 201, 200, 200, 200, 198, + 198, 198, 199, 199, 213, 213, 209, 209, 215, 215, + 210, 210, 217, 217, 218, 218, 281, 281, 243, 243, + 291, 291, 244, 244, 292, 292, 294, 294, 289, 289, + 290, 290, 293, 293, 30, 295, 295, 296, 296, 297, + 297, 297, 297, 31, 32, 32, 32, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, @@ -5011,131 +4968,151 @@ var yyR1 = [...]int{ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 207, 207, + 206, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 328, - 329, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 329, 330, } var yyR2 = [...]int{ 0, 1, 2, 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, 11, 4, 7, 5, 1, - 14, 3, 11, 13, 2, 3, 1, 3, 4, 1, - 3, 1, 3, 7, 8, 1, 1, 9, 8, 7, - 6, 6, 1, 1, 1, 3, 1, 3, 1, 3, - 0, 4, 3, 4, 5, 1, 3, 3, 2, 2, - 2, 2, 2, 1, 0, 0, 2, 3, 3, 11, - 7, 9, 4, 4, 15, 11, 9, 4, 0, 3, - 0, 2, 2, 1, 3, 1, 1, 2, 2, 2, - 0, 2, 1, 2, 2, 2, 2, 2, 0, 1, - 1, 2, 3, 3, 5, 3, 3, 4, 5, 4, - 4, 2, 2, 2, 2, 2, 0, 2, 2, 9, - 9, 5, 7, 7, 7, 7, 8, 4, 6, 2, - 3, 2, 3, 3, 3, 4, 3, 3, 2, 2, - 3, 2, 2, 2, 2, 2, 3, 2, 2, 2, - 3, 3, 2, 3, 3, 2, 2, 2, 2, 2, - 1, 3, 0, 3, 1, 3, 0, 1, 1, 1, - 1, 3, 1, 3, 3, 0, 2, 5, 5, 5, - 7, 5, 0, 3, 0, 3, 4, 0, 1, 1, - 3, 2, 3, 3, 3, 0, 1, 1, 2, 2, - 2, 2, 1, 2, 2, 3, 3, 3, 3, 4, - 0, 3, 1, 1, 1, 3, 2, 1, 1, 3, - 3, 2, 1, 1, 3, 1, 2, 5, 4, 6, - 4, 3, 3, 6, 5, 5, 4, 3, 5, 1, - 3, 1, 1, 1, 1, 1, 0, 2, 2, 1, - 1, 1, 1, 1, 4, 5, 8, 1, 2, 5, - 7, 10, 8, 11, 1, 2, 5, 5, 5, 5, - 6, 3, 5, 1, 1, 1, 1, 3, 1, 1, - 1, 2, 1, 1, 2, 4, 2, 4, 2, 3, - 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 4, 3, 2, - 4, 3, 0, 2, 3, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 11, 4, 7, 5, + 1, 14, 3, 11, 13, 2, 3, 1, 3, 4, + 1, 3, 1, 3, 7, 8, 1, 1, 9, 8, + 7, 6, 6, 1, 1, 1, 3, 1, 3, 1, + 3, 0, 4, 3, 4, 5, 1, 3, 3, 2, + 2, 2, 2, 2, 1, 0, 0, 2, 3, 3, + 11, 7, 9, 4, 4, 15, 11, 9, 4, 0, + 3, 0, 2, 2, 1, 3, 1, 1, 2, 2, + 2, 0, 2, 1, 2, 2, 2, 2, 2, 0, + 1, 1, 2, 3, 3, 5, 3, 3, 4, 5, + 4, 4, 2, 2, 2, 2, 2, 0, 2, 2, + 9, 9, 5, 7, 7, 7, 7, 8, 4, 6, + 2, 3, 2, 3, 3, 3, 4, 3, 3, 2, + 2, 3, 2, 2, 2, 2, 2, 3, 2, 2, + 2, 3, 3, 2, 3, 3, 2, 2, 2, 2, + 2, 1, 3, 0, 3, 1, 3, 0, 1, 1, + 1, 1, 3, 1, 3, 3, 0, 2, 5, 5, + 5, 7, 5, 0, 3, 0, 3, 4, 0, 1, + 1, 3, 2, 3, 3, 3, 0, 1, 1, 2, + 2, 2, 2, 1, 2, 2, 3, 3, 3, 3, + 4, 0, 3, 1, 1, 1, 3, 2, 1, 1, + 3, 3, 2, 1, 1, 3, 1, 2, 5, 4, + 6, 4, 3, 3, 6, 5, 5, 4, 3, 5, + 1, 3, 1, 1, 1, 1, 1, 0, 2, 2, + 1, 1, 1, 1, 1, 4, 5, 8, 1, 2, + 5, 7, 10, 8, 11, 1, 2, 5, 5, 5, + 5, 6, 3, 5, 1, 1, 1, 1, 3, 1, + 1, 1, 2, 1, 1, 2, 4, 2, 4, 2, + 3, 1, 3, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 4, 3, + 2, 4, 3, 0, 2, 3, 1, 3, 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, 5, 4, 1, 1, - 2, 3, 4, 3, 3, 3, 3, 3, 3, 0, - 2, 3, 2, 2, 2, 2, 2, 3, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, - 2, 1, 2, 2, 2, 1, 4, 4, 3, 3, - 2, 4, 5, 2, 3, 4, 2, 2, 3, 3, - 3, 3, 3, 4, 1, 1, 1, 1, 1, 6, - 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 0, 3, 0, 5, 0, 3, 5, 0, 1, - 0, 1, 2, 3, 1, 0, 3, 3, 0, 2, - 2, 2, 1, 2, 1, 2, 5, 4, 0, 1, - 1, 2, 2, 3, 2, 0, 1, 2, 4, 3, - 5, 3, 2, 2, 1, 1, 1, 1, 1, 0, - 1, 0, 1, 1, 3, 3, 3, 3, 3, 1, - 10, 11, 11, 12, 12, 3, 3, 2, 1, 5, - 1, 1, 0, 2, 2, 3, 3, 1, 1, 2, - 2, 2, 0, 1, 2, 0, 1, 3, 1, 2, - 3, 1, 1, 1, 0, 2, 0, 2, 1, 5, - 1, 3, 5, 4, 3, 5, 3, 8, 10, 3, - 3, 3, 3, 3, 5, 4, 5, 1, 2, 2, - 4, 3, 6, 5, 3, 8, 0, 1, 2, 0, - 1, 7, 1, 3, 8, 8, 3, 3, 3, 5, - 3, 5, 5, 5, 4, 4, 4, 4, 4, 4, - 4, 0, 1, 1, 3, 2, 3, 3, 4, 3, - 5, 5, 4, 4, 4, 2, 2, 2, 6, 2, - 4, 4, 4, 5, 7, 6, 3, 5, 4, 2, - 4, 3, 2, 4, 5, 6, 2, 6, 6, 3, - 3, 3, 0, 1, 1, 1, 0, 2, 2, 0, - 2, 2, 0, 1, 1, 2, 1, 1, 1, 2, - 4, 4, 1, 1, 2, 3, 4, 4, 5, 3, - 1, 1, 3, 3, 1, 1, 1, 1, 0, 3, - 1, 1, 2, 0, 2, 0, 2, 1, 2, 2, - 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, - 3, 5, 1, 1, 3, 5, 1, 2, 3, 5, - 2, 2, 6, 0, 1, 0, 3, 0, 1, 0, - 2, 2, 4, 1, 2, 2, 2, 2, 2, 0, - 2, 1, 3, 3, 1, 3, 0, 1, 2, 1, - 1, 1, 1, 1, 3, 1, 1, 1, 4, 1, - 3, 2, 2, 4, 2, 6, 1, 4, 6, 3, - 2, 0, 3, 0, 3, 1, 3, 1, 3, 4, - 4, 4, 3, 2, 4, 0, 1, 0, 2, 0, - 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, - 2, 3, 2, 2, 3, 2, 1, 1, 3, 3, - 0, 5, 5, 5, 0, 2, 1, 3, 3, 2, - 3, 1, 2, 0, 3, 1, 1, 3, 3, 4, - 4, 5, 3, 4, 5, 6, 2, 1, 2, 1, - 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 0, 2, 1, 1, 1, 3, 1, 3, 0, 1, - 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, - 2, 2, 3, 1, 1, 1, 1, 1, 1, 5, - 6, 6, 6, 5, 5, 5, 6, 5, 5, 6, - 5, 5, 5, 5, 6, 5, 5, 5, 4, 4, - 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, - 4, 4, 3, 6, 6, 6, 8, 8, 8, 8, - 4, 6, 7, 7, 7, 9, 4, 7, 5, 4, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 8, 8, 0, 2, 3, - 4, 4, 4, 4, 4, 4, 0, 3, 4, 7, - 3, 1, 1, 2, 3, 3, 1, 2, 2, 1, - 2, 1, 2, 2, 1, 2, 0, 1, 0, 2, - 1, 2, 4, 0, 2, 1, 3, 5, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, - 3, 1, 3, 1, 0, 2, 1, 0, 3, 1, - 3, 2, 0, 1, 1, 0, 2, 4, 4, 1, - 1, 0, 2, 4, 2, 4, 1, 3, 5, 4, - 6, 0, 3, 1, 3, 3, 5, 0, 5, 1, - 3, 1, 2, 3, 1, 1, 3, 3, 3, 1, - 3, 1, 2, 2, 3, 1, 1, 1, 1, 1, - 3, 3, 3, 1, 2, 1, 1, 1, 1, 1, - 1, 0, 1, 0, 2, 0, 3, 0, 1, 0, - 3, 1, 1, 0, 1, 1, 1, 1, 1, 0, - 1, 0, 2, 1, 1, 1, 3, 1, 1, 1, - 1, 1, 1, 0, 2, 0, 1, 0, 4, 0, - 1, 0, 3, 0, 3, 0, 4, 0, 3, 0, - 3, 3, 1, 3, 2, 4, 1, 2, 1, 2, - 2, 2, 3, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, + 1, 1, 2, 3, 4, 3, 3, 3, 3, 3, + 3, 0, 2, 3, 2, 2, 2, 2, 2, 3, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 3, 2, 2, + 2, 2, 2, 1, 2, 2, 2, 1, 4, 4, + 3, 3, 2, 4, 5, 2, 3, 4, 2, 2, + 3, 3, 3, 3, 3, 4, 1, 1, 1, 1, + 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 0, 3, 0, 5, 0, 3, 5, + 0, 1, 0, 1, 2, 3, 1, 0, 3, 3, + 0, 2, 2, 2, 1, 2, 1, 2, 5, 4, + 0, 1, 1, 2, 2, 3, 2, 0, 1, 2, + 4, 3, 5, 3, 2, 2, 1, 1, 1, 1, + 1, 0, 1, 0, 1, 1, 3, 3, 3, 3, + 3, 1, 10, 11, 11, 12, 12, 3, 3, 2, + 1, 5, 1, 1, 0, 2, 2, 3, 3, 1, + 1, 2, 2, 2, 0, 1, 2, 0, 1, 3, + 1, 2, 3, 1, 1, 1, 0, 2, 0, 2, + 1, 5, 1, 3, 5, 4, 3, 5, 3, 8, + 10, 3, 3, 3, 3, 3, 5, 4, 5, 1, + 2, 2, 4, 3, 6, 5, 3, 8, 0, 1, + 2, 0, 1, 7, 1, 3, 8, 8, 3, 3, + 3, 5, 3, 5, 2, 5, 5, 4, 4, 4, + 4, 4, 4, 4, 0, 1, 1, 3, 2, 3, + 3, 4, 3, 5, 5, 4, 4, 4, 2, 2, + 2, 6, 2, 4, 4, 4, 5, 7, 6, 3, + 5, 4, 2, 4, 3, 2, 4, 5, 6, 2, + 6, 6, 3, 3, 3, 0, 1, 1, 1, 0, + 2, 2, 0, 2, 2, 0, 1, 1, 2, 1, + 1, 1, 2, 4, 4, 1, 1, 2, 3, 4, + 4, 5, 3, 1, 1, 3, 3, 1, 1, 1, + 1, 0, 3, 1, 1, 2, 0, 2, 0, 2, + 1, 2, 2, 0, 1, 0, 1, 1, 0, 1, + 1, 0, 1, 3, 5, 1, 1, 3, 5, 1, + 2, 3, 5, 2, 2, 6, 0, 1, 0, 3, + 0, 1, 0, 2, 2, 4, 1, 2, 2, 2, + 2, 2, 0, 2, 1, 3, 3, 1, 3, 0, + 1, 2, 1, 1, 1, 1, 1, 3, 1, 1, + 1, 4, 1, 3, 2, 2, 4, 2, 6, 1, + 4, 6, 3, 2, 0, 3, 0, 3, 1, 3, + 1, 3, 4, 4, 4, 3, 2, 4, 0, 1, + 0, 2, 0, 1, 1, 1, 1, 1, 2, 2, + 1, 2, 3, 2, 3, 2, 2, 3, 2, 1, + 1, 3, 3, 0, 5, 5, 5, 0, 2, 1, + 3, 3, 2, 3, 1, 2, 0, 3, 1, 1, + 3, 3, 4, 4, 5, 3, 4, 5, 6, 2, + 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 0, 2, 1, 1, 1, 3, 1, + 3, 0, 1, 1, 3, 1, 3, 1, 1, 1, + 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 2, 2, 2, 3, 1, 1, 1, 1, + 1, 1, 5, 6, 6, 6, 5, 5, 5, 6, + 5, 5, 6, 5, 5, 5, 5, 6, 5, 5, + 5, 4, 4, 5, 5, 5, 5, 5, 4, 4, + 4, 4, 4, 4, 4, 3, 6, 6, 6, 8, + 8, 8, 8, 4, 6, 7, 7, 7, 9, 4, + 7, 5, 4, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 8, 8, + 0, 2, 3, 4, 4, 4, 4, 4, 4, 0, + 3, 4, 7, 3, 1, 1, 2, 3, 3, 1, + 2, 2, 1, 2, 1, 2, 2, 1, 2, 0, + 1, 0, 2, 1, 2, 4, 0, 2, 1, 3, + 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 0, 3, 1, 3, 1, 0, 2, 1, + 0, 3, 1, 3, 2, 0, 1, 1, 0, 2, + 4, 4, 1, 1, 0, 2, 4, 2, 4, 1, + 3, 5, 4, 6, 0, 3, 1, 3, 3, 5, + 0, 5, 1, 3, 1, 2, 3, 1, 1, 3, + 3, 3, 1, 3, 1, 2, 2, 3, 1, 1, + 1, 1, 1, 3, 3, 3, 1, 2, 1, 1, + 1, 1, 1, 1, 0, 1, 0, 2, 0, 3, + 0, 1, 0, 3, 1, 1, 0, 1, 1, 1, + 1, 1, 0, 1, 0, 2, 1, 1, 1, 3, + 1, 1, 1, 1, 1, 1, 0, 2, 0, 1, + 0, 4, 0, 1, 0, 3, 0, 3, 0, 4, + 0, 3, 0, 3, 3, 1, 3, 2, 4, 1, + 2, 1, 2, 2, 2, 3, 3, 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, @@ -5178,352 +5155,352 @@ 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, } var yyChk = [...]int{ - -1000, -327, -1, -3, -8, -9, -10, -11, -12, -14, - -49, -15, -16, -17, -55, -56, -57, -61, -62, -63, - -59, -58, -23, -26, -18, -65, -27, -28, -29, -30, - -31, -32, -33, -34, -4, 6, 7, -69, 9, 10, - 30, -51, 138, -50, 141, 140, 177, 142, 170, 64, - 282, -64, 285, 286, -332, -203, 222, 223, 20, 37, - 287, 289, 31, 32, 191, 239, 241, -5, -87, -6, - 8, 380, 139, 283, 172, 171, 26, 429, -328, 68, - 490, -149, 15, -66, -333, -66, -66, -66, -66, -66, - -258, -201, 106, 68, 23, -198, 151, 87, 371, 147, - -204, 235, 237, -196, -197, 199, 209, 44, 158, 157, - 148, 235, 148, 149, 151, 371, 147, 184, 183, 235, - 237, 148, -105, -216, 72, -206, 161, 440, 260, 426, - 247, 196, 282, 296, 298, 290, 325, 313, 427, 441, - 162, 217, 146, 311, 314, 358, 160, 250, 210, 272, - 442, 347, 353, 220, 285, 367, 443, 163, 214, 216, - 215, 204, 221, 36, 173, 309, 256, 302, 225, 199, - 444, 434, 300, 28, 194, 445, 355, 330, 259, 446, - 431, 254, 354, 305, 301, 144, 164, 158, 447, 331, - 335, 448, 359, 240, 449, 450, 451, 150, 246, 294, - 295, 452, 200, 361, 251, 329, 33, 159, 428, 48, - 181, 362, 38, 333, 37, 339, 453, 328, 323, 340, - 454, 455, 456, 457, 264, 262, 263, 265, 327, 293, - 322, 212, 53, 145, 337, 336, 338, 213, 357, 318, - 316, 458, 459, 255, 165, 460, 461, 303, 18, 462, - 463, 365, 176, 257, 258, 42, 464, 465, 466, 110, - 467, 468, 469, 356, 332, 334, 198, 114, 306, 155, - 470, 261, 269, 430, 244, 111, 363, 299, 472, 289, - 180, 175, 366, 278, 473, 223, 474, 475, 476, 167, - 477, 238, 237, 286, 270, 112, 287, 349, 218, 478, - 479, 480, 481, 208, 193, 369, 360, 52, 222, 344, - 482, 273, 292, 157, 224, 483, 248, 283, 43, 7, - 211, 252, 350, 271, 219, 209, 320, 182, 484, 485, - 307, 308, 326, 291, 321, 284, 185, 177, 109, 368, - 345, 432, 235, 315, 312, 188, 319, 486, 151, 487, - 189, 288, 364, 249, 310, 346, 148, 131, 314, 358, - 138, 348, 349, 355, -252, 356, 183, 186, -220, 148, - -191, 347, 240, 261, 401, 189, 190, 149, 150, 33, - 360, 359, 351, -216, 152, 288, -75, 142, 178, -105, - -46, 72, 224, -46, 30, 72, 72, 36, 72, 287, - 350, 350, 75, 430, 192, 21, -319, -300, 269, -318, - -298, 139, 138, 10, 140, 274, 275, 276, 149, 8, - 31, 471, 166, 277, 278, 6, 170, 279, 280, 184, - 9, 281, -303, 74, 72, -206, 21, -319, -300, 269, - 6, -68, 5, -187, 153, 284, -86, 439, -91, -218, - -216, -207, 74, 397, 398, 399, 400, 401, 414, 415, - 416, 402, 403, 417, 418, 419, 404, 405, 420, 421, - 423, 424, 422, 187, 408, 407, 406, 409, 410, 51, - 412, 411, 413, 81, -3, -166, 17, 16, -72, 54, - 55, -67, -80, 122, -82, -216, -113, 89, -119, 29, - 72, -206, 24, -118, -207, -114, -141, -140, -94, 131, - 132, 133, 120, 121, 128, 90, 134, -126, -124, -125, - -127, -129, -130, 74, 73, 82, 75, 76, 77, 78, - 83, 397, 398, 399, 400, 401, 414, 415, 416, 402, - 403, 417, 418, 419, 404, 405, 420, 421, 423, 424, - 422, 408, 407, 406, 409, 410, 412, 411, 413, 84, - 85, -208, -138, -328, 58, 59, 178, 147, 381, 382, - 383, 384, 385, 425, 168, 389, 92, 47, 370, 379, - 378, 377, 375, 376, 372, 374, 373, 391, 392, 154, - 371, 126, 380, -187, -187, 11, -98, -99, -105, -108, - -216, -176, 284, -183, -180, 359, 360, -181, -184, -178, - -141, 339, 468, 469, 358, 314, 357, -208, -216, -2, - -5, 6, -105, -259, -247, -250, -209, 163, -270, -208, - -205, 160, 72, -206, 253, 143, 169, 139, 88, 433, - 23, 25, 243, 342, 397, 91, 131, 398, 399, 400, - 16, 20, 92, 130, 81, 381, 192, 401, 138, 62, - 396, 372, 374, 370, 371, 348, 29, 10, 26, 171, - 203, 22, 124, 140, 95, 96, 97, 174, 274, 275, - 24, 172, 266, 85, 276, 168, 115, 19, 65, 11, - 186, 239, 13, 395, 113, 14, 236, 154, 153, 108, - 201, 149, 60, 8, 134, 27, 105, 56, 402, 403, - 436, 45, 191, 437, 58, 106, 17, 375, 376, 31, - 425, 404, 179, 438, 405, 126, 206, 63, 50, 242, - 89, 83, 34, 86, 66, 87, 15, 202, 61, 393, - 245, 267, 183, 471, 205, 439, 166, 107, 277, 141, - 380, 268, 241, 59, 147, 6, 390, 30, 170, 279, - 408, 407, 406, 409, 207, 57, 383, 384, 410, 280, - 488, 148, 94, 391, 392, 152, 184, 84, 5, 44, - 32, 9, 281, 64, 67, 377, 378, 379, 47, 51, - 412, 411, 413, 93, 12, 394, 429, 187, 149, -105, - 380, -194, 154, -194, 184, 183, -194, -194, 148, 98, - -52, -105, -302, -297, -303, -193, 154, -208, -193, -193, - -193, -193, -193, -193, -193, -105, 135, -105, 72, 30, - -192, 106, 12, 371, 147, 148, 184, 151, -254, 11, - 108, 187, 187, 187, 188, 187, -190, 350, 352, 185, - 353, 354, 12, -83, 106, 19, -328, -166, -166, 72, - 287, 152, -60, -3, -11, -9, -10, -3, 98, 30, - 30, 74, 51, 30, -41, -40, -42, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 30, - -281, 68, -242, 339, 72, -294, -295, -105, 75, 75, - 66, 66, 69, 152, 69, 66, -320, 270, 68, -320, - 237, 270, 271, 209, 235, 151, -320, -320, 237, -320, - -320, -320, -320, -320, 350, -320, -320, -320, 272, 273, - -320, 348, 151, -320, -320, -320, -320, -320, 71, 66, - 69, 261, 66, 11, 66, -66, -7, -5, -328, 21, - 22, 148, 363, 69, -86, -169, -328, -329, 70, -167, - 19, 31, -122, 75, 78, -150, -153, -82, -216, 50, - -70, 21, 22, 80, 11, -211, 88, 87, 105, -210, - 23, 72, -206, -207, 74, 135, -82, -116, 108, 89, - 106, 107, 91, 117, 116, 127, 120, 121, 122, 123, - 124, 125, 126, 118, 119, 130, 98, 99, 100, 101, - 102, 103, 104, -188, -328, -94, -328, 136, 137, -119, - -119, -119, -119, -119, -119, -119, -119, -328, -328, -328, - -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, - -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, - -328, -328, -328, -328, -328, -328, -3, -133, -82, -328, - -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, - -328, -328, -144, -82, -328, -331, -128, -328, -331, -128, - -331, -128, -331, -328, -331, -128, -331, -128, -331, -331, - -128, -331, -328, -328, -328, -328, -328, -328, -107, 27, - -105, -85, -88, -89, -90, -109, -93, -328, -105, -94, - -105, -98, -330, 69, 11, 67, -330, 69, 135, 69, - -177, -182, 361, 363, 284, -181, -181, -215, -208, 74, - 29, 98, 30, 135, -149, -66, 70, 69, -250, 163, - 160, -222, -226, -228, -227, -229, -224, -225, 311, 314, - 318, 316, 312, 317, 131, 315, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 30, 173, 307, - 308, 309, 310, 331, 332, 333, 334, 335, 336, 337, - 338, 290, 313, 427, 291, 292, 293, 294, 295, 296, - 298, 299, 300, 301, 302, 303, 304, 305, 72, -207, - -270, 68, -208, 23, 151, 72, 89, 72, 72, 72, - -306, -305, -297, -300, -194, 72, 69, 152, 69, 152, - 71, -98, 24, 66, -100, -105, 72, 72, 72, 72, - -299, -297, -300, -217, -216, -205, -192, 74, -82, -194, - -194, -105, -105, -105, -105, -192, -192, -192, -192, -189, - 11, 108, 11, -189, -189, -82, -119, -297, 373, 122, - 72, 72, 287, 72, -41, -41, 74, -41, 69, 98, - -41, 70, -133, -280, 489, 69, -296, 23, 363, 364, - 340, -322, 148, 186, 183, -322, -318, 278, -299, -298, - -297, -320, -321, -208, -320, -320, -320, 350, -320, -320, - -320, -320, -320, -320, -320, -320, -303, -322, 239, 69, - -322, -299, -297, -72, -3, -105, 364, 365, -91, 23, - -168, -209, 9, 108, 69, 18, 69, -165, 25, 26, - 135, -120, 51, 75, 78, -195, 49, -105, -82, -82, - -131, 83, 89, 84, 85, -210, 122, -217, -209, -205, - -119, -132, -138, -94, 79, 108, 106, 107, 91, -119, - -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, -119, -219, 72, 74, 72, -118, -118, - -208, -70, -78, -81, 122, -82, -216, -78, -78, -70, - -329, -329, -81, -78, -78, -78, -81, -78, -70, -70, - -78, -329, -329, -329, -329, -78, -78, -78, -78, -70, - -78, -78, -78, -70, -329, 69, -329, -3, -78, -78, - -78, -329, -82, -82, -141, 74, -78, -141, 74, -78, - -119, 386, 387, 388, -78, -78, -70, -142, -143, 93, - -141, -329, -119, -208, -208, -78, -79, -78, -78, -78, - -172, 110, -105, 30, 69, -101, -103, -102, -104, 56, - 60, 62, 57, 58, 59, 63, -201, -85, -92, 47, - -328, -110, 110, -111, 23, -218, 64, 153, 65, -172, - 67, -85, -105, -85, -108, -216, 122, -180, -183, 69, - 362, 364, 365, -177, -236, 130, 66, 86, -82, -209, - -217, -166, -72, -260, -261, -262, -209, 74, 75, -247, - -248, -249, -250, -263, 163, -269, 155, 157, 44, -251, - 164, 149, 45, -223, -237, 345, -230, 68, -230, -230, - 319, 311, 314, 312, -230, -230, -230, -230, -230, -235, - 314, -235, -235, -235, -235, 312, 68, 68, -230, -230, - -230, -239, 68, -239, 306, -240, 68, -240, -240, -240, - -240, -270, -270, -82, -212, 67, -163, -105, 24, -47, - 196, 169, 68, -301, 69, 29, -307, 236, -105, -105, - -105, -297, -297, -303, -277, 167, 162, -105, 69, 69, - 72, 72, -255, 11, 108, -192, -216, -216, -105, -121, - 23, -192, -76, 174, 67, -331, -329, 72, -40, -118, - 70, -106, 27, 74, -295, -218, 339, 364, -323, 122, - -208, -323, -326, 429, 152, 70, 69, -320, -323, 257, - 239, -323, 11, -70, -329, -54, -53, 143, 140, 141, - 145, 146, -273, 342, 139, 180, -93, -328, -329, 69, - 135, 52, -122, -122, -153, -186, 19, 11, 47, 47, - -71, 57, 83, 84, 85, 135, -328, -132, -119, -119, - -119, -76, 88, -329, -78, 69, -329, 135, -329, -329, - -78, -154, 393, -154, -329, -329, -329, -329, -329, -329, - -78, -78, -329, -154, -154, -154, -154, -329, -329, -329, - -329, -78, -329, -329, -329, -79, -82, -329, -329, -329, - -329, 69, 67, 23, 11, 11, -329, 11, 11, -329, - -329, 11, -119, -119, -119, -329, -329, -78, -145, -143, - 95, -82, -329, -329, 69, 69, -329, -329, -329, -329, - -117, 30, 47, -328, -3, -328, -175, -179, -141, -205, - -88, -89, -89, -88, -89, 56, 56, 56, 61, 56, - 61, 56, -102, -218, -329, -329, -137, 195, -328, 34, - -218, -111, 149, 149, 149, -112, 12, -85, -112, -112, - 135, -182, -185, 366, 363, 369, 72, 74, 135, -167, - 69, -262, 98, -250, 68, 72, -256, -207, 45, -251, - 149, 45, -251, -256, 72, -256, 45, 83, 89, -233, - -234, -241, -244, -231, 29, 66, 342, 155, 45, 44, - 81, -238, 346, 75, -235, -235, -230, -230, -230, 319, - -230, -235, -236, 30, -236, -236, -236, -236, -235, -245, - 74, -245, 75, -239, 75, 70, 66, -208, -3, 23, - -48, 8, 9, 10, -282, -283, -284, 72, 108, 201, - 202, -310, 268, -305, 237, 246, 88, 16, 429, 152, - 152, -105, -297, -112, 72, 72, -189, -192, 34, -119, - -300, 189, 190, -172, 148, -296, 152, 135, 135, 152, - 260, -299, -208, 11, 11, 257, 11, -299, -195, 69, - -202, -251, -279, -249, -250, -278, 156, 163, 164, -202, - 163, 160, -251, 164, 155, 156, -199, -251, 152, 23, - -202, -202, -257, 98, -202, 110, -209, -209, 53, -105, - -77, -164, 122, -209, -79, -76, 88, -119, -329, -81, - -155, -154, 122, -217, -155, -155, -329, -208, -159, -328, - -154, -155, -155, -154, -154, -154, -329, -329, -154, -155, - -155, -155, -155, -329, -155, -155, -155, -329, -221, 131, - 311, 173, 309, 302, 329, 316, 344, 307, 345, -219, - -221, -119, -119, -119, -119, -119, 11, 11, 11, 426, - -149, 97, -82, 94, -119, -119, -174, 66, -175, -136, - -139, -138, -328, -3, -329, -168, 6, 429, -173, -208, - -112, 69, 98, 98, -96, -95, 66, 67, -97, 66, - -95, 56, 56, -171, 68, 69, -138, -328, -173, -119, - -111, -328, -328, -328, -149, -82, -112, 363, 367, 368, - -261, -262, -265, -264, -208, -207, 155, -269, 44, -269, - -256, -256, 68, 83, -119, 9, 45, 45, 74, 70, - -236, -236, -235, -230, -236, 72, 131, -236, 70, 69, - 70, 69, 70, 69, -115, 445, 89, -105, -163, -163, - 66, 70, 69, -222, 72, 72, 72, -313, 429, 242, - -311, -309, 248, 249, 250, 251, 252, -300, 247, -307, - 244, 74, 72, -105, -297, -192, -119, -235, -105, -299, - 122, 122, -208, -299, 257, -325, 429, -299, -299, 11, - -299, -71, -53, 68, -246, 72, -207, -256, -197, 155, - 72, 72, 72, -207, 72, -207, -208, 45, 45, 72, - -105, -208, -246, 72, -82, -208, -208, 135, -112, 11, - 69, -80, -329, -119, -155, 135, -155, -213, 72, -155, - -155, -155, -329, -230, -230, -230, -240, -230, 295, -230, - 295, -329, -329, 19, 19, 19, 19, -329, -119, -119, - -119, -328, -74, 390, -82, 69, 69, 28, -174, 69, - -329, -329, 47, -329, -329, 69, -149, -179, -82, -82, - -82, 68, -82, -170, -208, 195, -329, -111, -201, -170, - -170, -170, -166, 70, 69, -230, -230, 45, -253, -251, - -170, -125, -236, -235, 74, -235, 75, 75, 445, 68, - -3, -105, -285, -286, -287, 81, 428, 89, 203, 204, - 165, 205, 206, 207, -284, -222, -222, -222, -316, -317, - -315, 245, 266, 267, 253, -314, -312, 262, 263, 264, - 265, 88, 74, 74, 74, -308, 236, 88, 245, 16, - 23, -288, -190, -325, -325, 239, -299, -77, -246, -151, - 168, 169, -222, -222, -212, -253, 45, 72, -200, 152, - 23, 152, -151, -246, 30, 140, 27, -209, -146, 13, - -85, -164, -164, 122, -135, 110, -235, 72, -119, -119, - -119, -119, -329, -329, -329, -119, -329, 74, -119, -119, - 45, -139, -136, 47, -3, -328, -208, -166, -170, 70, - 69, -138, -110, -218, -329, -329, -329, -267, -266, 67, - 159, 81, -264, -165, -165, -256, 70, -236, -236, 70, - 70, -265, -163, 19, -163, -287, 74, 207, 203, 207, - 207, 207, 207, 208, -304, 81, 243, -315, 254, 450, - 238, 268, 75, 75, 109, 31, 32, -312, 75, 75, - 75, 75, -309, 16, 429, -307, 244, 74, 74, -289, - 38, -291, 39, -324, 23, -324, 257, 11, 70, 72, - -223, -223, 68, -256, 68, 72, -208, -151, 29, 29, - -328, -147, 14, 16, -112, -80, -149, 16, -329, -329, - -329, -329, -73, 108, 429, -329, -329, 9, -136, -3, - 70, -208, -111, -266, 72, -257, 74, 166, 70, 194, - -20, -3, -9, -10, -11, -12, -14, -49, -15, -16, - -21, -22, -17, -55, -56, -64, -62, -63, -59, -58, - -25, -23, -26, -18, -27, -28, -29, -33, -34, -24, - 92, 154, 225, 282, 36, 36, 199, 200, 74, 74, - 29, 255, 134, 29, 75, 134, 396, 244, 74, 72, - 245, -232, 153, -292, 43, -290, -243, 42, 16, -297, - -85, -265, -212, -265, -119, -271, -272, 110, -157, 394, - -148, -82, -134, -84, -82, -146, -164, -160, 112, 111, - -133, -329, 427, 63, 430, -175, -329, 75, -105, -268, - -267, 195, -163, -82, -82, 72, -45, -214, 228, 229, - 230, -209, -35, -20, 75, 29, 75, 29, 258, 245, - 23, -171, 75, -291, 16, -293, 40, 41, 74, 429, - -112, 70, 68, 70, -329, 69, -208, -156, -158, -208, - 69, -147, -329, -161, 91, -162, 109, 396, -123, 75, - 134, -161, 53, 428, 431, 68, -152, 197, 198, -36, - -37, 93, 94, 226, 227, 231, -222, 69, 490, 256, - 256, 74, 38, 74, 16, 16, 237, -146, -268, -265, - -268, -272, 47, 69, 23, -84, -157, -162, 114, 115, - 195, 114, 115, -118, 53, -170, -163, 72, 72, 97, - 95, -37, -82, -35, 19, 19, 19, 29, -209, 97, - -20, 74, 74, 29, 242, 21, -300, -147, 70, 181, - -158, -159, 88, -208, 429, 70, -13, -19, -12, -9, - -10, -11, 282, 92, -35, 94, 490, -46, 75, -3, - -44, -43, 75, -46, 233, 89, 234, 72, -119, 259, - -157, -268, 182, -162, 430, -275, -276, 66, -163, -35, - 490, -35, 97, 95, -38, -39, 96, -20, 69, 232, - -300, -328, 431, -276, 66, -275, 66, 10, 9, 490, - 97, 490, 154, -35, 97, 95, -39, -82, -43, -119, - 179, -274, 167, 162, 165, 30, -274, 97, 92, 490, - 154, -35, 94, -329, -329, 161, 29, 83, 97, 490, - -35, 154, 97, 490, 154, + -1000, -328, -1, -3, -8, -9, -10, -11, -12, -14, + -50, -15, -16, -17, -56, -57, -58, -62, -63, -64, + -60, -59, -23, -26, -18, -66, -27, -28, -29, -30, + -31, -32, -33, -34, -35, -4, 6, 7, -70, 9, + 10, 30, -52, 138, -51, 141, 140, 177, 142, 170, + 64, 282, -65, 285, 286, -333, -204, 222, 223, 20, + 37, 287, 289, 31, 32, 191, 239, 241, 144, -5, + -88, -6, 8, 380, 139, 283, 172, 171, 26, 429, + -329, 68, 490, -150, 15, -67, -334, -67, -67, -67, + -67, -67, -259, -202, 106, 68, 23, -199, 151, 87, + 371, 147, -205, 235, 237, -197, -198, 199, 209, 44, + 158, 157, 148, 235, 148, 149, 151, 371, 147, 184, + 183, 235, 237, 148, -106, -217, 72, -207, 161, 440, + 260, 426, 247, 196, 282, 296, 298, 290, 325, 313, + 427, 441, 162, 217, 146, 311, 314, 358, 160, 250, + 210, 272, 442, 347, 353, 220, 285, 367, 443, 163, + 214, 216, 215, 204, 221, 36, 173, 309, 256, 302, + 225, 199, 444, 434, 300, 28, 194, 445, 355, 330, + 259, 446, 431, 254, 354, 305, 301, 144, 164, 158, + 447, 331, 335, 448, 359, 240, 449, 450, 451, 150, + 246, 294, 295, 452, 200, 361, 251, 329, 33, 159, + 428, 48, 181, 362, 38, 333, 37, 339, 453, 328, + 323, 340, 454, 455, 456, 457, 264, 262, 263, 265, + 327, 293, 322, 212, 53, 145, 337, 336, 338, 213, + 357, 318, 316, 458, 459, 255, 165, 460, 461, 303, + 18, 462, 463, 365, 176, 257, 258, 42, 464, 465, + 466, 110, 467, 468, 469, 356, 332, 334, 198, 114, + 306, 155, 470, 261, 269, 430, 244, 111, 363, 299, + 472, 289, 180, 175, 366, 278, 473, 223, 474, 475, + 476, 167, 477, 238, 237, 286, 270, 112, 287, 349, + 218, 478, 479, 480, 481, 208, 193, 369, 360, 52, + 222, 344, 482, 273, 292, 157, 224, 483, 248, 283, + 43, 7, 211, 252, 350, 271, 219, 209, 320, 182, + 484, 485, 307, 308, 326, 291, 321, 284, 185, 177, + 109, 368, 345, 432, 235, 315, 312, 188, 319, 486, + 151, 487, 189, 288, 364, 249, 310, 346, 148, 131, + 314, 358, 138, 348, 349, 355, -253, 356, 183, 186, + -221, 148, -192, 347, 240, 261, 401, 189, 190, 149, + 150, 33, 360, 359, 351, -217, 152, 288, -76, 142, + 178, -106, -47, 72, 224, -47, 30, 72, 72, 36, + 72, 287, 350, 350, 75, 430, 192, 21, -320, -301, + 269, -319, -299, 139, 138, 10, 140, 274, 275, 276, + 149, 8, 31, 471, 166, 277, 278, 6, 170, 279, + 280, 184, 9, 281, -304, 74, 72, -207, 21, -320, + -301, 269, 261, 6, -69, 5, -188, 153, 284, -87, + 439, -92, -219, -217, -208, 74, 397, 398, 399, 400, + 401, 414, 415, 416, 402, 403, 417, 418, 419, 404, + 405, 420, 421, 423, 424, 422, 187, 408, 407, 406, + 409, 410, 51, 412, 411, 413, 81, -3, -167, 17, + 16, -73, 54, 55, -68, -81, 122, -83, -217, -114, + 89, -120, 29, 72, -207, 24, -119, -208, -115, -142, + -141, -95, 131, 132, 133, 120, 121, 128, 90, 134, + -127, -125, -126, -128, -130, -131, 74, 73, 82, 75, + 76, 77, 78, 83, 397, 398, 399, 400, 401, 414, + 415, 416, 402, 403, 417, 418, 419, 404, 405, 420, + 421, 423, 424, 422, 408, 407, 406, 409, 410, 412, + 411, 413, 84, 85, -209, -139, -329, 58, 59, 178, + 147, 381, 382, 383, 384, 385, 425, 168, 389, 92, + 47, 370, 379, 378, 377, 375, 376, 372, 374, 373, + 391, 392, 154, 371, 126, 380, -188, -188, 11, -99, + -100, -106, -109, -217, -177, 284, -184, -181, 359, 360, + -182, -185, -179, -142, 339, 468, 469, 358, 314, 357, + -209, -217, -2, -5, 6, -106, -260, -248, -251, -210, + 163, -271, -209, -206, 160, 72, -207, 253, 143, 169, + 139, 88, 433, 23, 25, 243, 342, 397, 91, 131, + 398, 399, 400, 16, 20, 92, 130, 81, 381, 192, + 401, 138, 62, 396, 372, 374, 370, 371, 348, 29, + 10, 26, 171, 203, 22, 124, 140, 95, 96, 97, + 174, 274, 275, 24, 172, 266, 85, 276, 168, 115, + 19, 65, 11, 186, 239, 13, 395, 113, 14, 236, + 154, 153, 108, 201, 149, 60, 8, 134, 27, 105, + 56, 402, 403, 436, 45, 191, 437, 58, 106, 17, + 375, 376, 31, 425, 404, 179, 438, 405, 126, 206, + 63, 50, 242, 89, 83, 34, 86, 66, 87, 15, + 202, 61, 393, 245, 267, 183, 471, 205, 439, 166, + 107, 277, 141, 380, 268, 241, 59, 147, 6, 390, + 30, 170, 279, 408, 407, 406, 409, 207, 57, 383, + 384, 410, 280, 488, 148, 94, 391, 392, 152, 184, + 84, 5, 44, 32, 9, 281, 64, 67, 377, 378, + 379, 47, 51, 412, 411, 413, 93, 12, 394, 429, + 187, 149, -106, 380, -195, 154, -195, 184, 183, -195, + -195, 148, 98, -53, -106, -303, -298, -304, -194, 154, + -209, -194, -194, -194, -194, -194, -194, -194, -106, 135, + -106, 72, 30, -193, 106, 12, 371, 147, 148, 184, + 151, -255, 11, 108, 187, 187, 187, 188, 187, -191, + 350, 352, 185, 353, 354, 12, -84, 106, 19, -329, + -167, -167, 72, 287, 152, -61, -3, -11, -9, -10, + -3, 98, 30, 30, 74, 51, 30, -42, -41, -43, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 30, -282, 68, -243, 339, 72, -295, -296, + -106, 75, 75, 66, 66, 69, 152, 69, 66, -321, + 270, 68, -321, 237, 270, 271, 209, 235, 151, -321, + -321, 237, -321, -321, -321, -321, -321, 350, -321, -321, + -321, 272, 273, -321, 348, 151, -321, -321, -321, -321, + -321, 71, 66, 69, 261, 66, 11, 66, -67, -7, + -5, -329, 21, 22, 148, 363, 69, -87, -170, -329, + -330, 70, -168, 19, 31, -123, 75, 78, -151, -154, + -83, -217, 50, -71, 21, 22, 80, 11, -212, 88, + 87, 105, -211, 23, 72, -207, -208, 74, 135, -83, + -117, 108, 89, 106, 107, 91, 117, 116, 127, 120, + 121, 122, 123, 124, 125, 126, 118, 119, 130, 98, + 99, 100, 101, 102, 103, 104, -189, -329, -95, -329, + 136, 137, -120, -120, -120, -120, -120, -120, -120, -120, + -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, + -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, + -329, -329, -329, -329, -329, -329, -329, -329, -329, -3, + -134, -83, -329, -329, -329, -329, -329, -329, -329, -329, + -329, -329, -329, -329, -329, -145, -83, -329, -332, -129, + -329, -332, -129, -332, -129, -332, -329, -332, -129, -332, + -129, -332, -332, -129, -332, -329, -329, -329, -329, -329, + -329, -108, 27, -106, -86, -89, -90, -91, -110, -94, + -329, -106, -95, -106, -99, -331, 69, 11, 67, -331, + 69, 135, 69, -178, -183, 361, 363, 284, -182, -182, + -216, -209, 74, 29, 98, 30, 135, -150, -67, 70, + 69, -251, 163, 160, -223, -227, -229, -228, -230, -225, + -226, 311, 314, 318, 316, 312, 317, 131, 315, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 30, 173, 307, 308, 309, 310, 331, 332, 333, 334, + 335, 336, 337, 338, 290, 313, 427, 291, 292, 293, + 294, 295, 296, 298, 299, 300, 301, 302, 303, 304, + 305, 72, -208, -271, 68, -209, 23, 151, 72, 89, + 72, 72, 72, -307, -306, -298, -301, -195, 72, 69, + 152, 69, 152, 71, -99, 24, 66, -101, -106, 72, + 72, 72, 72, -300, -298, -301, -218, -217, -206, -193, + 74, -83, -195, -195, -106, -106, -106, -106, -193, -193, + -193, -193, -190, 11, 108, 11, -190, -190, -83, -120, + -298, 373, 122, 72, 72, 287, 72, -42, -42, 74, + -42, 69, 98, -42, 70, -134, -281, 489, 69, -297, + 23, 363, 364, 340, -323, 148, 186, 183, -323, -319, + 278, -300, -299, -298, -321, -322, -209, -321, -321, -321, + 350, -321, -321, -321, -321, -321, -321, -321, -321, -304, + -323, 239, 69, -323, -300, -298, -73, -3, -106, 364, + 365, -92, 23, -169, -210, 9, 108, 69, 18, 69, + -166, 25, 26, 135, -121, 51, 75, 78, -196, 49, + -106, -83, -83, -132, 83, 89, 84, 85, -211, 122, + -218, -210, -206, -120, -133, -139, -95, 79, 108, 106, + 107, 91, -120, -120, -120, -120, -120, -120, -120, -120, + -120, -120, -120, -120, -120, -120, -120, -220, 72, 74, + 72, -119, -119, -209, -71, -79, -82, 122, -83, -217, + -79, -79, -71, -330, -330, -82, -79, -79, -79, -82, + -79, -71, -71, -79, -330, -330, -330, -330, -79, -79, + -79, -79, -71, -79, -79, -79, -71, -330, 69, -330, + -3, -79, -79, -79, -330, -83, -83, -142, 74, -79, + -142, 74, -79, -120, 386, 387, 388, -79, -79, -71, + -143, -144, 93, -142, -330, -120, -209, -209, -79, -80, + -79, -79, -79, -173, 110, -106, 30, 69, -102, -104, + -103, -105, 56, 60, 62, 57, 58, 59, 63, -202, + -86, -93, 47, -329, -111, 110, -112, 23, -219, 64, + 153, 65, -173, 67, -86, -106, -86, -109, -217, 122, + -181, -184, 69, 362, 364, 365, -178, -237, 130, 66, + 86, -83, -210, -218, -167, -73, -261, -262, -263, -210, + 74, 75, -248, -249, -250, -251, -264, 163, -270, 155, + 157, 44, -252, 164, 149, 45, -224, -238, 345, -231, + 68, -231, -231, 319, 311, 314, 312, -231, -231, -231, + -231, -231, -236, 314, -236, -236, -236, -236, 312, 68, + 68, -231, -231, -231, -240, 68, -240, 306, -241, 68, + -241, -241, -241, -241, -271, -271, -83, -213, 67, -164, + -106, 24, -48, 196, 169, 68, -302, 69, 29, -308, + 236, -106, -106, -106, -298, -298, -304, -278, 167, 162, + -106, 69, 69, 72, 72, -256, 11, 108, -193, -217, + -217, -106, -122, 23, -193, -77, 174, 67, -332, -330, + 72, -41, -119, 70, -107, 27, 74, -296, -219, 339, + 364, -324, 122, -209, -324, -327, 429, 152, 70, 69, + -321, -324, 257, 239, -324, 11, -71, -330, -55, -54, + 143, 140, 141, 145, 146, -274, 342, 139, 180, -94, + -329, -330, 69, 135, 52, -123, -123, -154, -187, 19, + 11, 47, 47, -72, 57, 83, 84, 85, 135, -329, + -133, -120, -120, -120, -77, 88, -330, -79, 69, -330, + 135, -330, -330, -79, -155, 393, -155, -330, -330, -330, + -330, -330, -330, -79, -79, -330, -155, -155, -155, -155, + -330, -330, -330, -330, -79, -330, -330, -330, -80, -83, + -330, -330, -330, -330, 69, 67, 23, 11, 11, -330, + 11, 11, -330, -330, 11, -120, -120, -120, -330, -330, + -79, -146, -144, 95, -83, -330, -330, 69, 69, -330, + -330, -330, -330, -118, 30, 47, -329, -3, -329, -176, + -180, -142, -206, -89, -90, -90, -89, -90, 56, 56, + 56, 61, 56, 61, 56, -103, -219, -330, -330, -138, + 195, -329, 34, -219, -112, 149, 149, 149, -113, 12, + -86, -113, -113, 135, -183, -186, 366, 363, 369, 72, + 74, 135, -168, 69, -263, 98, -251, 68, 72, -257, + -208, 45, -252, 149, 45, -252, -257, 72, -257, 45, + 83, 89, -234, -235, -242, -245, -232, 29, 66, 342, + 155, 45, 44, 81, -239, 346, 75, -236, -236, -231, + -231, -231, 319, -231, -236, -237, 30, -237, -237, -237, + -237, -236, -246, 74, -246, 75, -240, 75, 70, 66, + -209, -3, 23, -49, 8, 9, 10, -283, -284, -285, + 72, 108, 201, 202, -311, 268, -306, 237, 246, 88, + 16, 429, 152, 152, -106, -298, -113, 72, 72, -190, + -193, 34, -120, -301, 189, 190, -173, 148, -297, 152, + 135, 135, 152, 260, -300, -209, 11, 11, 257, 11, + -300, -196, 69, -203, -252, -280, -250, -251, -279, 156, + 163, 164, -203, 163, 160, -252, 164, 155, 156, -200, + -252, 152, 23, -203, -203, -258, 98, -203, 110, -210, + -210, 53, -106, -78, -165, 122, -210, -80, -77, 88, + -120, -330, -82, -156, -155, 122, -218, -156, -156, -330, + -209, -160, -329, -155, -156, -156, -155, -155, -155, -330, + -330, -155, -156, -156, -156, -156, -330, -156, -156, -156, + -330, -222, 131, 311, 173, 309, 302, 329, 316, 344, + 307, 345, -220, -222, -120, -120, -120, -120, -120, 11, + 11, 11, 426, -150, 97, -83, 94, -120, -120, -175, + 66, -176, -137, -140, -139, -329, -3, -330, -169, 6, + 429, -174, -209, -113, 69, 98, 98, -97, -96, 66, + 67, -98, 66, -96, 56, 56, -172, 68, 69, -139, + -329, -174, -120, -112, -329, -329, -329, -150, -83, -113, + 363, 367, 368, -262, -263, -266, -265, -209, -208, 155, + -270, 44, -270, -257, -257, 68, 83, -120, 9, 45, + 45, 74, 70, -237, -237, -236, -231, -237, 72, 131, + -237, 70, 69, 70, 69, 70, 69, -116, 445, 89, + -106, -164, -164, 66, 70, 69, -223, 72, 72, 72, + -314, 429, 242, -312, -310, 248, 249, 250, 251, 252, + -301, 247, -308, 244, 74, 72, -106, -298, -193, -120, + -236, -106, -300, 122, 122, -209, -300, 257, -326, 429, + -300, -300, 11, -300, -72, -54, 68, -247, 72, -208, + -257, -198, 155, 72, 72, 72, -208, 72, -208, -209, + 45, 45, 72, -106, -209, -247, 72, -83, -209, -209, + 135, -113, 11, 69, -81, -330, -120, -156, 135, -156, + -214, 72, -156, -156, -156, -330, -231, -231, -231, -241, + -231, 295, -231, 295, -330, -330, 19, 19, 19, 19, + -330, -120, -120, -120, -329, -75, 390, -83, 69, 69, + 28, -175, 69, -330, -330, 47, -330, -330, 69, -150, + -180, -83, -83, -83, 68, -83, -171, -209, 195, -330, + -112, -202, -171, -171, -171, -167, 70, 69, -231, -231, + 45, -254, -252, -171, -126, -237, -236, 74, -236, 75, + 75, 445, 68, -3, -106, -286, -287, -288, 81, 428, + 89, 203, 204, 165, 205, 206, 207, -285, -223, -223, + -223, -317, -318, -316, 245, 266, 267, 253, -315, -313, + 262, 263, 264, 265, 88, 74, 74, 74, -309, 236, + 88, 245, 16, 23, -289, -191, -326, -326, 239, -300, + -78, -247, -152, 168, 169, -223, -223, -213, -254, 45, + 72, -201, 152, 23, 152, -152, -247, 30, 140, 27, + -210, -147, 13, -86, -165, -165, 122, -136, 110, -236, + 72, -120, -120, -120, -120, -330, -330, -330, -120, -330, + 74, -120, -120, 45, -140, -137, 47, -3, -329, -209, + -167, -171, 70, 69, -139, -111, -219, -330, -330, -330, + -268, -267, 67, 159, 81, -265, -166, -166, -257, 70, + -237, -237, 70, 70, -266, -164, 19, -164, -288, 74, + 207, 203, 207, 207, 207, 207, 208, -305, 81, 243, + -316, 254, 450, 238, 268, 75, 75, 109, 31, 32, + -313, 75, 75, 75, 75, -310, 16, 429, -308, 244, + 74, 74, -290, 38, -292, 39, -325, 23, -325, 257, + 11, 70, 72, -224, -224, 68, -257, 68, 72, -209, + -152, 29, 29, -329, -148, 14, 16, -113, -81, -150, + 16, -330, -330, -330, -330, -74, 108, 429, -330, -330, + 9, -137, -3, 70, -209, -112, -267, 72, -258, 74, + 166, 70, 194, -20, -3, -9, -10, -11, -12, -14, + -50, -15, -16, -21, -22, -17, -56, -57, -65, -63, + -64, -60, -59, -25, -23, -26, -18, -27, -28, -29, + -33, -34, -24, -35, 92, 154, 225, 282, 36, 36, + 199, 200, 74, 74, 29, 255, 134, 29, 75, 134, + 396, 244, 74, 72, 245, -233, 153, -293, 43, -291, + -244, 42, 16, -298, -86, -266, -213, -266, -120, -272, + -273, 110, -158, 394, -149, -83, -135, -85, -83, -147, + -165, -161, 112, 111, -134, -330, 427, 63, 430, -176, + -330, 75, -106, -269, -268, 195, -164, -83, -83, 72, + -46, -215, 228, 229, 230, -210, -36, -20, 75, 29, + 75, 29, 258, 245, 23, -172, 75, -292, 16, -294, + 40, 41, 74, 429, -113, 70, 68, 70, -330, 69, + -209, -157, -159, -209, 69, -148, -330, -162, 91, -163, + 109, 396, -124, 75, 134, -162, 53, 428, 431, 68, + -153, 197, 198, -37, -38, 93, 94, 226, 227, 231, + -223, 69, 490, 256, 256, 74, 38, 74, 16, 16, + 237, -147, -269, -266, -269, -273, 47, 69, 23, -85, + -158, -163, 114, 115, 195, 114, 115, -119, 53, -171, + -164, 72, 72, 97, 95, -38, -83, -36, 19, 19, + 19, 29, -210, 97, -20, 74, 74, 29, 242, 21, + -301, -148, 70, 181, -159, -160, 88, -209, 429, 70, + -13, -19, -12, -9, -10, -11, 282, 92, -36, 94, + 490, -47, 75, -3, -45, -44, 75, -47, 233, 89, + 234, 72, -120, 259, -158, -269, 182, -163, 430, -276, + -277, 66, -164, -36, 490, -36, 97, 95, -39, -40, + 96, -20, 69, 232, -301, -329, 431, -277, 66, -276, + 66, 10, 9, 490, 97, 490, 154, -36, 97, 95, + -40, -83, -44, -120, 179, -275, 167, 162, 165, 30, + -275, 97, 92, 490, 154, -36, 94, -330, -330, 161, + 29, 83, 97, 490, -36, 154, 97, 490, 154, } var yyDef = [...]int{ - 34, -2, 1, 3, 4, 5, 6, 7, 8, 9, + 35, -2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, -2, 683, 683, 683, 683, 683, - 683, 779, -2, 548, 0, 0, 0, 0, -2, 656, - 657, 658, 662, 663, 678, 680, 0, 325, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, - 55, 56, 1087, 0, 681, 670, 671, 0, 0, 1569, - 2, 1025, 0, 692, 685, 0, 1087, 1087, 0, 0, - 86, 0, 0, 0, 780, 0, 0, 0, 1085, 1085, - 0, 1085, 1085, 0, 1100, 0, 1082, 1096, 1097, 1098, - 0, 0, 1083, 0, 1083, 1083, 1083, 1083, 1083, 1083, - 1083, 0, 605, 797, 1109, 1110, 1308, 1309, 1310, 1311, - 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, - 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, - 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, - 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, - 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, - 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, - 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, - 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, - 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, - 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, - 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, - 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, - 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, - 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, - 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, - 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, - 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, - 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, - 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, - 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, - 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, - 1532, 1533, 1534, 1535, 1536, 1537, 0, 0, 0, 649, - 0, 615, 616, 617, 0, 619, 0, 0, 0, 0, - 0, 629, 632, 636, 0, 1025, 1025, 494, 495, 496, - 653, 654, 643, 655, 0, 0, 0, 0, 0, 682, - 304, 306, 0, 326, 0, 329, 332, 1115, 664, 0, - 0, 1140, 1141, 0, 0, 0, 0, 0, 1454, 180, - 243, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 0, 182, 182, 182, 1465, 182, 0, 182, 182, 182, - 182, 182, 242, 232, 233, 234, 0, 0, 0, 1454, - 683, 0, 687, 0, 1088, 659, 44, 0, 46, 1041, - 781, 782, 783, 1538, 1539, 1540, 1541, 1542, 1543, 1544, + 30, 31, 32, 33, 34, -2, 686, 686, 686, 686, + 686, 686, 782, -2, 550, 0, 0, 0, 0, -2, + 659, 660, 661, 665, 666, 681, 683, 0, 326, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, + 0, 0, 56, 57, 1090, 0, 684, 673, 674, 0, + 0, 1572, 2, 1028, 0, 695, 688, 0, 1090, 1090, + 0, 0, 87, 0, 0, 0, 783, 0, 0, 0, + 1088, 1088, 0, 1088, 1088, 0, 1103, 0, 1085, 1099, + 1100, 1101, 0, 0, 1086, 0, 1086, 1086, 1086, 1086, + 1086, 1086, 1086, 0, 608, 800, 1112, 1113, 1311, 1312, + 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, + 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, + 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, + 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, + 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, + 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, + 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, + 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, + 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, + 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, + 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, + 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, + 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, + 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, + 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, + 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, + 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, + 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, + 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, + 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, + 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 0, 0, + 0, 652, 0, 618, 619, 620, 0, 622, 0, 0, + 0, 0, 0, 632, 635, 639, 0, 1028, 1028, 496, + 497, 498, 656, 657, 646, 658, 0, 0, 0, 0, + 0, 685, 305, 307, 0, 327, 0, 330, 333, 1118, + 667, 0, 0, 1143, 1144, 0, 0, 0, 0, 0, + 1457, 181, 244, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 0, 183, 183, 183, 1468, 183, 0, 183, + 183, 183, 183, 183, 243, 233, 234, 235, 0, 0, + 0, 1457, 594, 686, 0, 690, 0, 1091, 662, 45, + 0, 47, 1044, 784, 785, 786, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, - 1565, 1566, 1567, 1568, 0, 1031, 0, 0, 695, 693, - 694, 684, 0, 706, 736, 0, 806, 0, 811, 813, - -2, -2, 0, 854, 855, 856, 857, 858, 859, 0, - 0, 0, 0, 0, 0, 0, 0, 883, 884, 885, - 886, 887, 888, 998, 999, 1000, 1001, 1002, 1003, 1004, - 1005, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, + 1565, 1566, 1567, 1568, 1569, 1570, 1571, 0, 1034, 0, + 0, 698, 696, 697, 687, 0, 709, 739, 0, 809, + 0, 814, 816, -2, -2, 0, 857, 858, 859, 860, + 861, 862, 0, 0, 0, 0, 0, 0, 0, 0, + 886, 887, 888, 889, 890, 891, 1001, 1002, 1003, 1004, + 1005, 1006, 1007, 1008, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, - 1557, 1559, 1560, 1561, 1562, 1563, 1565, 1566, 1567, 815, - 816, 995, 1054, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 986, 0, 957, 957, - 957, 957, 957, 957, 957, 957, 957, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 68, - 797, 72, 1517, 0, 1059, -2, -2, 1061, 0, 0, - 0, -2, -2, -2, -2, 1326, -2, 995, 0, 87, - 1017, 683, 88, 0, 368, 369, 0, 1339, 518, 1107, - 1108, 1328, 1103, 1104, 1144, 1145, 1146, 1147, 1148, 1149, + 1557, 1558, 1559, 1560, 1562, 1563, 1564, 1565, 1566, 1568, + 1569, 1570, 818, 819, 998, 1057, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 989, + 0, 960, 960, 960, 960, 960, 960, 960, 960, 960, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 67, 69, 800, 73, 1520, 0, 1062, -2, -2, + 1064, 0, 0, 0, -2, -2, -2, -2, 1329, -2, + 998, 0, 88, 1020, 686, 89, 0, 370, 371, 0, + 1342, 520, 1110, 1111, 1331, 1106, 1107, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, @@ -5539,202 +5516,202 @@ var yyDef = [...]int{ 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1085, 0, - 586, 0, 587, 0, 237, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 604, 0, 606, 607, 649, - 609, 0, 0, 1085, 1085, 0, 0, 0, 0, 520, - 521, 649, 649, 649, 649, 646, 0, 646, 626, 646, - 644, 645, 0, 631, 0, 0, 0, 639, 640, 665, - 0, 0, 672, 674, 675, 676, 677, 673, 0, 0, - 0, 308, 0, 0, 328, 310, 0, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, - 331, 0, 1113, 1116, 669, 1131, 1132, 0, 1142, 1143, - 186, 186, 0, 0, 0, 0, 149, 182, 0, 151, - 182, 182, 182, 0, 182, 182, 158, 159, 182, 161, - 162, 163, 164, 165, 182, 167, 168, 169, 182, 182, - 172, 182, 182, 175, 176, 177, 178, 179, 241, 186, - 0, 0, 186, 0, 0, 692, 41, 51, 0, 688, - 689, 0, 0, 0, 45, 0, 0, 50, 1570, 36, - 0, 0, 1026, 1029, 1030, 1018, 1019, 1022, 0, 0, - 690, 696, 697, 686, 0, 707, 0, 0, 0, 737, - 0, 739, 740, 741, 742, 0, 809, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 833, 834, 835, 836, - 837, 838, 839, 812, 0, 826, 0, 0, 0, 875, - 876, 877, 878, 879, 880, 881, 0, 695, 0, 0, - 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, - 695, 695, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 695, 0, 0, 0, 695, 0, 0, 852, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 695, 0, 987, 0, 940, 949, 0, 941, 950, - 942, 951, 943, 0, 944, 952, 945, 953, 946, 947, - 954, 948, 0, 0, 0, 848, 0, 0, 70, 0, - 796, 0, 743, 745, 746, 747, -2, 0, 800, 846, - -2, 0, 0, 0, 62, 63, 0, 0, 0, 0, - 73, 75, 0, 0, 1517, 1062, 1063, 468, 1076, 1077, - 1078, 0, 1074, 0, 1025, 692, 535, 0, 370, 0, - 0, 379, 458, 388, 389, 390, 451, 392, 451, 451, - 0, 451, 451, 451, 451, 451, 465, 465, 465, 465, - 465, 434, 435, 436, 437, 438, 0, 0, 411, 451, - 451, 451, 415, 441, 442, 443, 444, 445, 446, 447, - 448, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 453, 453, 455, 455, 455, 455, 455, 0, 0, - 517, 0, 1101, 84, 0, 92, 0, 93, 0, 0, - 98, 259, 245, 97, 0, 231, 0, 0, 0, 0, - 236, 601, 1084, 0, 594, 64, 595, 596, 597, 598, - 599, 238, 600, 798, 1111, 1112, 608, 650, 651, 0, - 0, 612, 613, 614, 522, 620, 621, 622, 628, 649, - 0, 0, 0, 761, 649, 630, 840, 633, 957, 0, - 667, 666, 0, 679, 305, 307, 309, 327, 0, 0, - 330, 333, 0, 0, 0, 0, 1134, 0, 1136, 1138, - 0, 0, 187, 188, 189, 0, 181, 0, 204, 244, - 0, 150, 0, 184, 152, 153, 154, 182, 156, 157, - 160, 166, 170, 171, 173, 174, 240, 0, 0, 0, - 0, 147, 0, 695, 0, 0, 660, 661, 47, 0, - 0, 1043, 1032, 0, 0, 0, 0, 1021, 1023, 1024, - 0, 0, 1006, 0, 0, 698, 691, 38, 807, 808, - 810, 827, 0, 829, 831, 738, 708, 0, 996, -2, - 817, 818, 842, 843, 844, 0, 0, 0, 0, 840, - 822, 0, 860, 861, 862, 863, 864, 865, 866, 867, - 868, 869, 870, 871, 874, 971, 972, 0, 872, 873, - 882, 0, 0, 850, 702, 703, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 848, 845, 0, 1053, 0, 0, 0, - 0, 922, 0, 0, 857, 998, 0, 857, 998, 0, - 0, 0, 0, 0, 0, 0, 0, 993, 990, 0, - 0, 958, 0, 0, 0, 0, 0, 849, 0, 0, - 0, 0, 795, 0, 0, 0, 0, 0, 0, 784, - 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, - 0, 754, 1441, 756, 0, 800, 0, 0, 0, 804, - 0, 804, 67, 804, 69, 0, 799, 1060, 0, 0, - 0, 78, 79, 74, 1064, 0, 1070, 1071, 1072, 996, - 0, 1031, 695, 367, 536, 538, 541, 542, 543, 371, - 373, 374, 375, 0, -2, 509, 1451, 1495, -2, 501, - 1368, -2, -2, 378, 460, 459, 391, 0, 465, 465, - 451, 451, 451, 451, 420, 465, 423, 426, 427, 468, - 0, 468, 468, 468, 468, 465, 0, 0, 412, 413, - 414, 403, 0, 404, 453, 406, 0, 407, 408, 409, - 410, 515, 516, 0, 0, 0, 0, 0, 1086, 0, - 261, 262, 207, 100, 0, 0, 246, 0, 366, 0, - 588, 0, 590, 235, 592, 602, 603, 593, 0, 0, - 610, 611, 804, 0, 0, 623, 647, 648, 646, 649, - 0, 627, 641, 0, 0, 634, 0, 668, 311, 312, - 334, 70, 0, 1114, 1133, 0, 1137, 1139, 0, 190, - 192, 0, 141, 0, 0, 183, 0, 155, 0, 0, - 0, 0, 0, 690, 52, 549, 550, -2, 579, 1093, - 579, 579, 567, 485, 579, 0, 48, 0, 1042, 0, - 0, 0, 1027, 1028, 1020, 0, 1079, 1080, 1007, 1008, - 85, 699, 828, 830, 832, 0, 848, 819, 840, 823, - 0, 820, 0, 814, 0, 0, 717, 0, 717, 717, - 0, 908, 0, 909, 0, 717, 717, 0, 0, 0, - 0, 0, 0, 915, 916, 917, 918, 717, 717, 717, - 717, 0, 717, 717, 717, 0, 853, -2, 919, 920, - 921, 0, 0, 0, 0, 0, 964, 0, 0, 965, - 930, 0, 0, 0, 0, 0, 936, 1017, 0, 991, - 0, 0, 939, 959, 0, 0, 960, 961, 962, 963, - 1047, 0, 0, 0, 1036, 0, 804, 1055, 0, 0, - 744, 775, 777, 0, 772, 785, 786, 788, 0, 790, - 0, 792, 793, 763, 750, 847, 751, 0, 0, 0, - 800, 760, 0, 0, 0, 1017, 0, 804, 60, 61, - 0, 76, 77, 0, 0, 83, 469, 470, 0, 206, - 0, 539, 0, 372, 0, 502, 0, 0, 487, 501, - 497, 498, 501, 492, 502, 493, 0, 380, 0, 382, - 383, 384, 385, 386, 0, 0, 464, 0, 472, 474, - 0, 387, 461, 0, 468, 468, 465, 418, 419, 451, - 424, 468, 428, 0, 429, 430, 431, 432, 468, 0, - 449, 0, 0, 405, 0, 532, 0, 1102, 84, 84, - 0, 263, 264, 265, 0, 208, 209, 0, 0, 0, - 0, 110, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 65, 239, 618, 523, 524, 649, 625, 0, 841, - 635, 637, 638, 465, 0, 1135, 0, 0, 0, 0, - 0, 202, 185, 0, 0, 0, 0, 148, 698, 0, - 0, 501, 0, 568, 569, 0, 580, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1094, 1095, - 0, 0, 0, 486, 0, 0, 1045, 1044, 1033, 37, - 804, 0, 709, 997, 0, 821, 0, 824, 717, 851, - 893, 718, 704, 0, 894, 895, 717, 710, 711, 713, - 910, 897, 898, 911, 912, 913, 717, 717, 914, 902, - 901, 900, 903, 717, 906, 905, 907, 889, 0, 451, - 451, 976, 451, 455, 979, 451, 981, 451, 984, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 988, 938, 994, 0, 0, 0, 53, 0, 1047, 1034, - 1049, 1051, 0, 0, 0, 0, -2, 1306, 0, 767, - 1017, 0, 0, 0, 769, 776, 0, 0, 770, 0, - 771, 789, 791, 748, 0, 0, 752, 0, 0, -2, - 759, 0, 0, 0, 1025, 805, 59, 80, 81, 82, - 537, 540, 0, 503, 451, 451, 0, 507, 499, 508, - 489, 491, 0, 381, 462, 0, 471, 473, 475, 452, - 416, 417, 468, 425, 421, 466, 467, 433, 465, 0, - 465, 0, 456, 0, 519, 533, 0, 0, 90, 0, - 0, 215, 0, 211, 0, 0, 0, 118, 0, 101, - 102, 103, 105, 106, 0, 0, 0, 99, 0, 248, - 0, 251, 252, 589, 591, 624, 762, 1125, 794, 202, - 191, 193, 194, 202, 205, 142, 0, 143, 145, 0, - 144, 85, 551, 0, 576, 0, 0, 1101, 499, 0, - -2, 554, 559, 560, 561, 562, 563, 0, 574, 0, - 556, 0, 576, 0, 571, 0, 0, 0, 1009, 0, - 85, 85, 890, 825, 892, 0, 896, 715, 714, 891, - 899, 904, 923, 973, 465, 977, 978, 980, 982, 983, - 985, 925, 924, 0, 0, 0, 0, 931, 0, 0, - 0, 0, 0, 0, 992, 0, 0, 0, 54, 0, - 1052, -2, 0, 0, 71, 0, 1025, 1056, 1057, 1058, - 773, 0, 778, 0, 765, 0, 800, 757, 0, 0, - 0, 0, 58, 477, 0, 1022, 1022, 488, 501, 500, - 0, 463, 422, 468, 450, 468, 0, 0, 534, 0, - 84, 0, 84, 216, 217, 0, 0, 0, 222, 0, - 0, 0, 0, 0, 210, 212, 213, 214, 136, 119, - 120, 0, 0, 0, 0, 111, 112, 0, 0, 0, - 0, 0, 107, 108, 109, 247, 0, 0, 250, 0, - 0, 1127, 1121, 195, 195, 0, 146, 0, 0, 553, - 577, 0, 379, 379, 0, 501, 0, 570, 0, 1091, - 1092, 0, 565, 576, 0, 0, 0, 1046, 1014, 0, - 804, 0, 700, 705, 1017, 0, 974, 975, 0, 0, - 0, 0, 932, 933, 934, 966, 937, 989, 0, 0, - 0, 1050, 1035, 0, 1039, 0, 768, 57, 0, 764, - 0, 753, 755, 800, 801, 802, 803, 476, 480, 0, - 485, 0, 504, 505, 506, 490, 0, 439, 440, 454, - 457, 0, 91, 0, 0, 218, 219, 220, 221, 223, - 224, 0, 0, 0, 96, 0, 0, 121, 0, 0, - 0, 0, 131, 132, 133, 134, 135, 113, 114, 115, - 116, 117, 104, 0, 0, 249, 0, 254, 255, 1089, - 1129, -2, 0, 139, 0, 140, 203, 0, 552, 578, - 376, 377, 0, 1101, 0, 555, 564, 566, 0, 573, - 0, 729, 0, 0, 1009, 85, 719, 0, 926, 928, - 927, 929, 0, 0, 0, 955, 956, 0, 1038, 0, - 774, 766, 758, 481, 482, 0, 484, 0, 478, 0, - 84, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 0, 0, 0, 0, 225, 226, 227, 228, 137, 138, - 122, 123, 0, 125, 126, 0, 0, 0, 257, 0, - 253, 763, 0, 1121, 0, 1123, 0, 1120, 0, 196, - 804, 0, 0, 0, 572, 0, 582, 0, 42, 0, - 1015, 1016, 1010, 1011, 1013, 1014, 701, 0, 0, 0, - 716, 935, 0, 0, 0, 1048, -2, 483, 0, 89, - 479, 266, 95, 0, 0, 1103, 0, 0, 293, 294, - 295, 1105, 0, 335, 0, 127, 0, 129, 130, 256, - 0, 35, 0, 1128, 0, 1126, 0, 0, 1122, 0, - 1009, 478, 0, 478, 581, 0, 0, 730, 731, 0, - 0, 729, 712, 720, 0, 723, 0, 0, 0, 734, - 0, 721, 967, 0, 970, 0, 84, 0, 0, 0, - 277, 0, 0, 0, 0, 0, 291, 0, 0, 124, - 128, 258, 1090, 1130, 0, 0, 0, 1014, 557, 0, - 575, 583, 0, 0, 0, 1012, 43, 0, 724, 725, - 726, 727, 728, 0, 968, 0, 0, 267, 268, 0, - 0, 278, 0, 0, 0, 0, 0, 0, 1106, 229, - 336, 1124, 1118, 197, 198, 199, 201, 729, 478, 0, - 732, 733, 0, 735, 0, 510, 84, 269, 270, 271, - 272, 273, 0, 275, 0, 0, 0, 287, 288, 289, - 0, 296, 298, 299, 300, 0, 302, 303, 292, 0, - 40, 558, 0, 722, 0, 511, 512, 0, 94, 0, - 0, 0, 0, 0, 0, 284, 0, 290, 0, 301, - 200, 0, 969, 513, 0, 514, 0, 0, 0, 0, - 0, 279, 280, 0, 0, 0, 285, 0, 297, 0, - 0, 525, 527, 528, 0, 0, 526, 274, 276, 0, - 282, 0, 0, 584, 585, 529, 530, 531, 0, 0, - 0, 281, 0, 286, 283, + 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1088, 0, 588, 0, 589, 0, 238, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 607, 0, + 609, 610, 652, 612, 0, 0, 1088, 1088, 0, 0, + 0, 0, 522, 523, 652, 652, 652, 652, 649, 0, + 649, 629, 649, 647, 648, 0, 634, 0, 0, 0, + 642, 643, 668, 0, 0, 675, 677, 678, 679, 680, + 676, 0, 0, 0, 309, 0, 0, 329, 311, 0, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 332, 0, 1116, 1119, 672, 1134, 1135, + 0, 1145, 1146, 187, 187, 0, 0, 0, 0, 150, + 183, 0, 152, 183, 183, 183, 0, 183, 183, 159, + 160, 183, 162, 163, 164, 165, 166, 183, 168, 169, + 170, 183, 183, 173, 183, 183, 176, 177, 178, 179, + 180, 242, 187, 0, 0, 187, 0, 0, 695, 42, + 52, 0, 691, 692, 0, 0, 0, 46, 0, 0, + 51, 1573, 37, 0, 0, 1029, 1032, 1033, 1021, 1022, + 1025, 0, 0, 693, 699, 700, 689, 0, 710, 0, + 0, 0, 740, 0, 742, 743, 744, 745, 0, 812, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, + 837, 838, 839, 840, 841, 842, 815, 0, 829, 0, + 0, 0, 878, 879, 880, 881, 882, 883, 884, 0, + 698, 0, 0, 0, 698, 0, 0, 0, 0, 0, + 0, 0, 0, 698, 698, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 698, 0, 0, 0, 698, 0, + 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 698, 0, 990, 0, 943, 952, + 0, 944, 953, 945, 954, 946, 0, 947, 955, 948, + 956, 949, 950, 957, 951, 0, 0, 0, 851, 0, + 0, 71, 0, 799, 0, 746, 748, 749, 750, -2, + 0, 803, 849, -2, 0, 0, 0, 63, 64, 0, + 0, 0, 0, 74, 76, 0, 0, 1520, 1065, 1066, + 470, 1079, 1080, 1081, 0, 1077, 0, 1028, 695, 537, + 0, 372, 0, 0, 381, 460, 390, 391, 392, 453, + 394, 453, 453, 0, 453, 453, 453, 453, 453, 467, + 467, 467, 467, 467, 436, 437, 438, 439, 440, 0, + 0, 413, 453, 453, 453, 417, 443, 444, 445, 446, + 447, 448, 449, 450, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 455, 455, 457, 457, 457, 457, + 457, 0, 0, 519, 0, 1104, 85, 0, 93, 0, + 94, 0, 0, 99, 260, 246, 98, 0, 232, 0, + 0, 0, 0, 237, 604, 1087, 0, 597, 65, 598, + 599, 600, 601, 602, 239, 603, 801, 1114, 1115, 611, + 653, 654, 0, 0, 615, 616, 617, 524, 623, 624, + 625, 631, 652, 0, 0, 0, 764, 652, 633, 843, + 636, 960, 0, 670, 669, 0, 682, 306, 308, 310, + 328, 0, 0, 331, 334, 0, 0, 0, 0, 1137, + 0, 1139, 1141, 0, 0, 188, 189, 190, 0, 182, + 0, 205, 245, 0, 151, 0, 185, 153, 154, 155, + 183, 157, 158, 161, 167, 171, 172, 174, 175, 241, + 0, 0, 0, 0, 148, 0, 698, 0, 0, 663, + 664, 48, 0, 0, 1046, 1035, 0, 0, 0, 0, + 1024, 1026, 1027, 0, 0, 1009, 0, 0, 701, 694, + 39, 810, 811, 813, 830, 0, 832, 834, 741, 711, + 0, 999, -2, 820, 821, 845, 846, 847, 0, 0, + 0, 0, 843, 825, 0, 863, 864, 865, 866, 867, + 868, 869, 870, 871, 872, 873, 874, 877, 974, 975, + 0, 875, 876, 885, 0, 0, 853, 705, 706, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 851, 848, 0, 1056, + 0, 0, 0, 0, 925, 0, 0, 860, 1001, 0, + 860, 1001, 0, 0, 0, 0, 0, 0, 0, 0, + 996, 993, 0, 0, 961, 0, 0, 0, 0, 0, + 852, 0, 0, 0, 0, 798, 0, 0, 0, 0, + 0, 0, 787, 0, 0, 790, 0, 0, 0, 0, + 0, 0, 0, 0, 757, 1444, 759, 0, 803, 0, + 0, 0, 807, 0, 807, 68, 807, 70, 0, 802, + 1063, 0, 0, 0, 79, 80, 75, 1067, 0, 1073, + 1074, 1075, 999, 0, 1034, 698, 369, 538, 540, 543, + 544, 545, 373, 375, 376, 377, 0, -2, 511, 1454, + 1498, -2, 503, 1371, -2, -2, 380, 462, 461, 393, + 0, 467, 467, 453, 453, 453, 453, 422, 467, 425, + 428, 429, 470, 0, 470, 470, 470, 470, 467, 0, + 0, 414, 415, 416, 405, 0, 406, 455, 408, 0, + 409, 410, 411, 412, 517, 518, 0, 0, 0, 0, + 0, 1089, 0, 262, 263, 208, 101, 0, 0, 247, + 0, 368, 0, 590, 0, 592, 236, 595, 605, 606, + 596, 0, 0, 613, 614, 807, 0, 0, 626, 650, + 651, 649, 652, 0, 630, 644, 0, 0, 637, 0, + 671, 312, 313, 335, 71, 0, 1117, 1136, 0, 1140, + 1142, 0, 191, 193, 0, 142, 0, 0, 184, 0, + 156, 0, 0, 0, 0, 0, 693, 53, 551, 552, + -2, 581, 1096, 581, 581, 569, 487, 581, 0, 49, + 0, 1045, 0, 0, 0, 1030, 1031, 1023, 0, 1082, + 1083, 1010, 1011, 86, 702, 831, 833, 835, 0, 851, + 822, 843, 826, 0, 823, 0, 817, 0, 0, 720, + 0, 720, 720, 0, 911, 0, 912, 0, 720, 720, + 0, 0, 0, 0, 0, 0, 918, 919, 920, 921, + 720, 720, 720, 720, 0, 720, 720, 720, 0, 856, + -2, 922, 923, 924, 0, 0, 0, 0, 0, 967, + 0, 0, 968, 933, 0, 0, 0, 0, 0, 939, + 1020, 0, 994, 0, 0, 942, 962, 0, 0, 963, + 964, 965, 966, 1050, 0, 0, 0, 1039, 0, 807, + 1058, 0, 0, 747, 778, 780, 0, 775, 788, 789, + 791, 0, 793, 0, 795, 796, 766, 753, 850, 754, + 0, 0, 0, 803, 763, 0, 0, 0, 1020, 0, + 807, 61, 62, 0, 77, 78, 0, 0, 84, 471, + 472, 0, 207, 0, 541, 0, 374, 0, 504, 0, + 0, 489, 503, 499, 500, 503, 494, 504, 495, 0, + 382, 0, 384, 385, 386, 387, 388, 0, 0, 466, + 0, 474, 476, 0, 389, 463, 0, 470, 470, 467, + 420, 421, 453, 426, 470, 430, 0, 431, 432, 433, + 434, 470, 0, 451, 0, 0, 407, 0, 534, 0, + 1105, 85, 85, 0, 264, 265, 266, 0, 209, 210, + 0, 0, 0, 0, 111, 0, 261, 0, 0, 0, + 0, 0, 0, 0, 66, 240, 621, 525, 526, 652, + 628, 0, 844, 638, 640, 641, 467, 0, 1138, 0, + 0, 0, 0, 0, 203, 186, 0, 0, 0, 0, + 149, 701, 0, 0, 503, 0, 570, 571, 0, 582, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1097, 1098, 0, 0, 0, 488, 0, 0, 1048, + 1047, 1036, 38, 807, 0, 712, 1000, 0, 824, 0, + 827, 720, 854, 896, 721, 707, 0, 897, 898, 720, + 713, 714, 716, 913, 900, 901, 914, 915, 916, 720, + 720, 917, 905, 904, 903, 906, 720, 909, 908, 910, + 892, 0, 453, 453, 979, 453, 457, 982, 453, 984, + 453, 987, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 991, 941, 997, 0, 0, 0, 54, + 0, 1050, 1037, 1052, 1054, 0, 0, 0, 0, -2, + 1309, 0, 770, 1020, 0, 0, 0, 772, 779, 0, + 0, 773, 0, 774, 792, 794, 751, 0, 0, 755, + 0, 0, -2, 762, 0, 0, 0, 1028, 808, 60, + 81, 82, 83, 539, 542, 0, 505, 453, 453, 0, + 509, 501, 510, 491, 493, 0, 383, 464, 0, 473, + 475, 477, 454, 418, 419, 470, 427, 423, 468, 469, + 435, 467, 0, 467, 0, 458, 0, 521, 535, 0, + 0, 91, 0, 0, 216, 0, 212, 0, 0, 0, + 119, 0, 102, 103, 104, 106, 107, 0, 0, 0, + 100, 0, 249, 0, 252, 253, 591, 593, 627, 765, + 1128, 797, 203, 192, 194, 195, 203, 206, 143, 0, + 144, 146, 0, 145, 86, 553, 0, 578, 0, 0, + 1104, 501, 0, -2, 556, 561, 562, 563, 564, 565, + 0, 576, 0, 558, 0, 578, 0, 573, 0, 0, + 0, 1012, 0, 86, 86, 893, 828, 895, 0, 899, + 718, 717, 894, 902, 907, 926, 976, 467, 980, 981, + 983, 985, 986, 988, 928, 927, 0, 0, 0, 0, + 934, 0, 0, 0, 0, 0, 0, 995, 0, 0, + 0, 55, 0, 1055, -2, 0, 0, 72, 0, 1028, + 1059, 1060, 1061, 776, 0, 781, 0, 768, 0, 803, + 760, 0, 0, 0, 0, 59, 479, 0, 1025, 1025, + 490, 503, 502, 0, 465, 424, 470, 452, 470, 0, + 0, 536, 0, 85, 0, 85, 217, 218, 0, 0, + 0, 223, 0, 0, 0, 0, 0, 211, 213, 214, + 215, 137, 120, 121, 0, 0, 0, 0, 112, 113, + 0, 0, 0, 0, 0, 108, 109, 110, 248, 0, + 0, 251, 0, 0, 1130, 1124, 196, 196, 0, 147, + 0, 0, 555, 579, 0, 381, 381, 0, 503, 0, + 572, 0, 1094, 1095, 0, 567, 578, 0, 0, 0, + 1049, 1017, 0, 807, 0, 703, 708, 1020, 0, 977, + 978, 0, 0, 0, 0, 935, 936, 937, 969, 940, + 992, 0, 0, 0, 1053, 1038, 0, 1042, 0, 771, + 58, 0, 767, 0, 756, 758, 803, 804, 805, 806, + 478, 482, 0, 487, 0, 506, 507, 508, 492, 0, + 441, 442, 456, 459, 0, 92, 0, 0, 219, 220, + 221, 222, 224, 225, 0, 0, 0, 97, 0, 0, + 122, 0, 0, 0, 0, 132, 133, 134, 135, 136, + 114, 115, 116, 117, 118, 105, 0, 0, 250, 0, + 255, 256, 1092, 1132, -2, 0, 140, 0, 141, 204, + 0, 554, 580, 378, 379, 0, 1104, 0, 557, 566, + 568, 0, 575, 0, 732, 0, 0, 1012, 86, 722, + 0, 929, 931, 930, 932, 0, 0, 0, 958, 959, + 0, 1041, 0, 777, 769, 761, 483, 484, 0, 486, + 0, 480, 0, 85, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 0, 0, 0, 0, 226, 227, + 228, 229, 138, 139, 123, 124, 0, 126, 127, 0, + 0, 0, 258, 0, 254, 766, 0, 1124, 0, 1126, + 0, 1123, 0, 197, 807, 0, 0, 0, 574, 0, + 584, 0, 43, 0, 1018, 1019, 1013, 1014, 1016, 1017, + 704, 0, 0, 0, 719, 938, 0, 0, 0, 1051, + -2, 485, 0, 90, 481, 267, 96, 0, 0, 1106, + 0, 0, 294, 295, 296, 1108, 0, 336, 0, 128, + 0, 130, 131, 257, 0, 36, 0, 1131, 0, 1129, + 0, 0, 1125, 0, 1012, 480, 0, 480, 583, 0, + 0, 733, 734, 0, 0, 732, 715, 723, 0, 726, + 0, 0, 0, 737, 0, 724, 970, 0, 973, 0, + 85, 0, 0, 0, 278, 0, 0, 0, 0, 0, + 292, 0, 0, 125, 129, 259, 1093, 1133, 0, 0, + 0, 1017, 559, 0, 577, 585, 0, 0, 0, 1015, + 44, 0, 727, 728, 729, 730, 731, 0, 971, 0, + 0, 268, 269, 0, 0, 279, 0, 0, 0, 0, + 0, 0, 1109, 230, 337, 1127, 1121, 198, 199, 200, + 202, 732, 480, 0, 735, 736, 0, 738, 0, 512, + 85, 270, 271, 272, 273, 274, 0, 276, 0, 0, + 0, 288, 289, 290, 0, 297, 299, 300, 301, 0, + 303, 304, 293, 0, 41, 560, 0, 725, 0, 513, + 514, 0, 95, 0, 0, 0, 0, 0, 0, 285, + 0, 291, 0, 302, 201, 0, 972, 515, 0, 516, + 0, 0, 0, 0, 0, 280, 281, 0, 0, 0, + 286, 0, 298, 0, 0, 527, 529, 530, 0, 0, + 528, 275, 277, 0, 283, 0, 0, 586, 587, 531, + 532, 533, 0, 0, 0, 282, 0, 287, 284, } var yyTok1 = [...]int{ @@ -6184,135 +6161,135 @@ yydefault: { yyVAL.statement = yyDollar[1].selStmt } - case 34: + case 35: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:519 +//line sql.y:520 { setParseTree(yylex, nil) } - case 35: + case 36: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:525 +//line sql.y:526 { yyVAL.statement = &Load{Local: yyDollar[3].boolVal, Infile: yyDollar[4].str, Table: yyDollar[5].tableName, Partition: yyDollar[6].partitions, Charset: yyDollar[7].str, Fields: yyDollar[8].Fields, Lines: yyDollar[9].Lines, IgnoreNum: yyDollar[10].sqlVal, Columns: yyDollar[11].columns} } - case 36: + case 37: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:531 +//line sql.y:532 { yyDollar[1].selStmt.SetOrderBy(yyDollar[2].orderBy) yyDollar[1].selStmt.SetLimit(yyDollar[3].limit) yyDollar[1].selStmt.SetLock(yyDollar[4].str) yyVAL.selStmt = yyDollar[1].selStmt } - case 37: + case 38: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:538 +//line sql.y:539 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, SelectExprs: SelectExprs{Nextval{Expr: yyDollar[5].expr}}, From: TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}} } - case 38: + case 39: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:544 +//line sql.y:545 { yyVAL.statement = &Stream{Comments: Comments(yyDollar[2].bytes2), SelectExpr: yyDollar[3].selectExpr, Table: yyDollar[5].tableName} } - case 39: + case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:551 +//line sql.y:552 { yyVAL.selStmt = yyDollar[1].selStmt } - case 40: + case 41: yyDollar = yyS[yypt-14 : yypt+1] -//line sql.y:555 +//line sql.y:556 { yyVAL.selStmt = &Select{With: yyDollar[1].with, Comments: Comments(yyDollar[3].bytes2), Cache: yyDollar[4].str, Distinct: yyDollar[5].str, Hints: yyDollar[7].str, SelectExprs: yyDollar[8].selectExprs, From: yyDollar[10].tableExprs, Where: NewWhere(WhereStr, yyDollar[11].expr), GroupBy: GroupBy(yyDollar[12].exprs), Having: NewWhere(HavingStr, yyDollar[13].expr), Window: yyDollar[14].window} if yyDollar[6].byt == 1 { yyVAL.selStmt.(*Select).CalcFoundRows = true } } - case 41: + case 42: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:562 +//line sql.y:563 { yyVAL.selStmt = &Union{Type: yyDollar[2].str, Left: yyDollar[1].selStmt, Right: yyDollar[3].selStmt} } - case 42: + case 43: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:568 +//line sql.y:569 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[6].str, SelectExprs: yyDollar[7].selectExprs, From: TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}}, Where: NewWhere(WhereStr, yyDollar[8].expr), GroupBy: GroupBy(yyDollar[9].exprs), Having: NewWhere(HavingStr, yyDollar[10].expr), Window: yyDollar[11].window} if yyDollar[5].byt == 1 { yyVAL.selStmt.(*Select).CalcFoundRows = true } } - case 43: + case 44: yyDollar = yyS[yypt-13 : yypt+1] -//line sql.y:575 +//line sql.y:576 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[6].str, SelectExprs: yyDollar[7].selectExprs, From: yyDollar[9].tableExprs, Where: NewWhere(WhereStr, yyDollar[10].expr), GroupBy: GroupBy(yyDollar[11].exprs), Having: NewWhere(HavingStr, yyDollar[12].expr), Window: yyDollar[13].window} if yyDollar[5].byt == 1 { yyVAL.selStmt.(*Select).CalcFoundRows = true } } - case 44: + case 45: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:584 +//line sql.y:585 { yyVAL.with = &With{Ctes: yyDollar[2].tableExprs, Recursive: false} } - case 45: + case 46: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:588 +//line sql.y:589 { yyVAL.with = &With{Ctes: yyDollar[3].tableExprs, Recursive: true} } - case 46: + case 47: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:594 +//line sql.y:595 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 47: + case 48: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:598 +//line sql.y:599 { yyVAL.tableExprs = append(yyDollar[1].tableExprs, yyDollar[3].tableExpr) } - case 48: + case 49: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:604 +//line sql.y:605 { yyVAL.tableExpr = &CommonTableExpr{&AliasedTableExpr{Expr: yyDollar[4].simpleTableExpr, As: yyDollar[1].tableIdent}, yyDollar[2].columns} } - case 49: + case 50: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:610 +//line sql.y:611 { yyVAL.selStmt = yyDollar[1].selStmt } - case 50: + case 51: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:614 +//line sql.y:615 { yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt} } - case 51: + case 52: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:620 +//line sql.y:621 { yyVAL.selStmt = yyDollar[1].selStmt } - case 52: + case 53: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:624 +//line sql.y:625 { yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt} } - case 53: + case 54: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:630 +//line sql.y:631 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].ins @@ -6324,9 +6301,9 @@ yydefault: ins.OnDup = OnDup(yyDollar[7].assignExprs) yyVAL.statement = ins } - case 54: + case 55: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:642 +//line sql.y:643 { cols := make(Columns, 0, len(yyDollar[7].assignExprs)) vals := make(ValTuple, 0, len(yyDollar[8].assignExprs)) @@ -6336,52 +6313,47 @@ yydefault: } yyVAL.statement = &Insert{Action: yyDollar[1].str, Comments: Comments(yyDollar[2].bytes2), Ignore: yyDollar[3].str, Table: yyDollar[4].tableName, Partitions: yyDollar[5].partitions, Columns: cols, Rows: Values{vals}, OnDup: OnDup(yyDollar[8].assignExprs)} } - case 55: + case 56: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:654 +//line sql.y:655 { yyVAL.str = InsertStr } - case 56: + case 57: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:658 +//line sql.y:659 { yyVAL.str = ReplaceStr } - case 57: + case 58: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:664 +//line sql.y:665 { yyVAL.statement = &Update{Comments: Comments(yyDollar[2].bytes2), Ignore: yyDollar[3].str, TableExprs: yyDollar[4].tableExprs, Exprs: yyDollar[6].assignExprs, Where: NewWhere(WhereStr, yyDollar[7].expr), OrderBy: yyDollar[8].orderBy, Limit: yyDollar[9].limit} } - case 58: + case 59: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:670 +//line sql.y:671 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[4].tableName}}, Partitions: yyDollar[5].partitions, Where: NewWhere(WhereStr, yyDollar[6].expr), OrderBy: yyDollar[7].orderBy, Limit: yyDollar[8].limit} } - case 59: + case 60: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:674 +//line sql.y:675 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[4].tableNames, TableExprs: yyDollar[6].tableExprs, Where: NewWhere(WhereStr, yyDollar[7].expr)} } - case 60: - yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:678 - { - yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} - } case 61: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:682 +//line sql.y:679 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} } case 62: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:687 + yyDollar = yyS[yypt-6 : yypt+1] +//line sql.y:683 { + yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} } case 63: yyDollar = yyS[yypt-1 : yypt+1] @@ -6390,145 +6362,150 @@ yydefault: } case 64: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:692 +//line sql.y:689 { - yyVAL.tableNames = TableNames{yyDollar[1].tableName.ToViewName()} } case 65: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:693 + { + yyVAL.tableNames = TableNames{yyDollar[1].tableName.ToViewName()} + } + case 66: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:696 +//line sql.y:697 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName.ToViewName()) } - case 66: + case 67: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:702 +//line sql.y:703 { yyVAL.tableNames = TableNames{yyDollar[1].tableName} } - case 67: + case 68: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:706 +//line sql.y:707 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName) } - case 68: + case 69: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:712 +//line sql.y:713 { yyVAL.tableNames = TableNames{yyDollar[1].tableName} } - case 69: + case 70: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:716 +//line sql.y:717 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName) } - case 70: + case 71: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:721 +//line sql.y:722 { yyVAL.partitions = nil } - case 71: + case 72: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:725 +//line sql.y:726 { yyVAL.partitions = yyDollar[3].partitions } - case 72: + case 73: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:731 +//line sql.y:732 { yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Exprs: yyDollar[3].setVarExprs} } - case 73: + case 74: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:735 +//line sql.y:736 { for i := 0; i < len(yyDollar[4].setVarExprs); i++ { yyDollar[4].setVarExprs[i].Scope = SetScope_None } yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Exprs: yyDollar[4].setVarExprs} } - case 74: + case 75: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:742 +//line sql.y:743 { for i := 0; i < len(yyDollar[5].setVarExprs); i++ { yyDollar[5].setVarExprs[i].Scope = yyDollar[3].setScope } yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Exprs: yyDollar[5].setVarExprs} } - case 75: + case 76: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:751 +//line sql.y:752 { yyVAL.setVarExprs = SetVarExprs{yyDollar[1].setVarExpr} } - case 76: + case 77: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:755 +//line sql.y:756 { yyVAL.setVarExprs = append(yyVAL.setVarExprs, yyDollar[3].setVarExpr) } - case 77: + case 78: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:761 +//line sql.y:762 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(yyDollar[3].str))} } - case 78: + case 79: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:765 +//line sql.y:766 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(TxReadWrite))} } - case 79: + case 80: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:769 +//line sql.y:770 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(TxReadOnly))} } - case 80: + case 81: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:775 +//line sql.y:776 { yyVAL.str = IsolationLevelRepeatableRead } - case 81: + case 82: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:779 +//line sql.y:780 { yyVAL.str = IsolationLevelReadCommitted } - case 82: + case 83: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:783 +//line sql.y:784 { yyVAL.str = IsolationLevelReadUncommitted } - case 83: + case 84: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:787 +//line sql.y:788 { yyVAL.str = IsolationLevelSerializable } - case 84: + case 85: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:792 +//line sql.y:793 { yyVAL.int = yyPosition(yylex) } - case 85: + case 86: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:797 +//line sql.y:798 { yyVAL.int = yyOldPosition(yylex) } - case 86: + case 87: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:803 +//line sql.y:804 { yyDollar[1].ddl.TableSpec = yyDollar[2].TableSpec if len(yyDollar[1].ddl.TableSpec.Constraints) > 0 { @@ -6536,41 +6513,41 @@ yydefault: } yyVAL.statement = yyDollar[1].ddl } - case 87: + case 88: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:812 +//line sql.y:813 { yyDollar[1].ddl.OptSelect = &OptSelect{Select: yyDollar[3].selStmt} yyVAL.statement = yyDollar[1].ddl } - case 88: + case 89: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:817 +//line sql.y:818 { yyDollar[1].ddl.OptLike = &OptLike{LikeTable: yyDollar[3].tableName} yyVAL.statement = yyDollar[1].ddl } - case 89: + case 90: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:822 +//line sql.y:823 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[7].tableName, IndexSpec: &IndexSpec{Action: CreateStr, ToName: yyDollar[4].colIdent, Using: yyDollar[5].colIdent, Type: yyDollar[2].str, Columns: yyDollar[9].indexColumns, Options: yyDollar[11].indexOptions}} } - case 90: + case 91: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:826 +//line sql.y:827 { yyVAL.statement = &DDL{Action: CreateStr, View: yyDollar[3].tableName.ToViewName(), ViewExpr: yyDollar[6].selStmt, SubStatementPositionStart: yyDollar[5].int, SubStatementPositionEnd: yyDollar[7].int - 1} } - case 91: + case 92: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:830 +//line sql.y:831 { yyVAL.statement = &DDL{Action: CreateStr, View: yyDollar[5].tableName.ToViewName(), ViewExpr: yyDollar[8].selStmt, SubStatementPositionStart: yyDollar[7].int, SubStatementPositionEnd: yyDollar[9].int - 1, OrReplace: true} } - case 92: + case 93: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:834 +//line sql.y:835 { var ne bool if yyDollar[3].byt != 0 { @@ -6578,9 +6555,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: CreateStr, DBName: string(yyDollar[4].bytes), IfNotExists: ne} } - case 93: + case 94: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:842 +//line sql.y:843 { var ne bool if yyDollar[3].byt != 0 { @@ -6588,21 +6565,21 @@ yydefault: } yyVAL.statement = &DBDDL{Action: CreateStr, DBName: string(yyDollar[4].bytes), IfNotExists: ne} } - case 94: + case 95: yyDollar = yyS[yypt-15 : yypt+1] -//line sql.y:850 +//line sql.y:851 { yyVAL.statement = &DDL{Action: CreateStr, Table: yyDollar[8].tableName, TriggerSpec: &TriggerSpec{Name: string(yyDollar[4].bytes), Time: yyDollar[5].str, Event: yyDollar[6].str, Order: yyDollar[12].triggerOrder, Body: yyDollar[14].statement}, SubStatementPositionStart: yyDollar[13].int, SubStatementPositionEnd: yyDollar[15].int - 1} } - case 95: + case 96: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:854 +//line sql.y:855 { yyVAL.statement = &DDL{Action: CreateStr, ProcedureSpec: &ProcedureSpec{Name: string(yyDollar[4].bytes), Definer: yyDollar[2].str, Params: yyDollar[6].procedureParams, Characteristics: yyDollar[8].characteristics, Body: yyDollar[10].statement}, SubStatementPositionStart: yyDollar[9].int, SubStatementPositionEnd: yyDollar[11].int - 1} } - case 96: + case 97: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:858 +//line sql.y:859 { var notExists bool if yyDollar[3].byt != 0 { @@ -6621,9 +6598,9 @@ yydefault: passwordOptions, locked := NewPasswordOptionsWithLock(yyDollar[8].passLockItems) yyVAL.statement = &CreateUser{IfNotExists: notExists, Users: yyDollar[4].accountsWithAuth, DefaultRoles: yyDollar[5].accountNames, TLSOptions: tlsOptions, AccountLimits: accountLimits, PasswordOptions: passwordOptions, Locked: locked, Attribute: yyDollar[9].str} } - case 97: + case 98: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:877 +//line sql.y:878 { var notExists bool if yyDollar[3].byt != 0 { @@ -6631,837 +6608,837 @@ yydefault: } yyVAL.statement = &CreateRole{IfNotExists: notExists, Roles: yyDollar[4].accountNames} } - case 98: + case 99: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:886 +//line sql.y:887 { yyVAL.accountNames = nil } - case 99: + case 100: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:890 +//line sql.y:891 { yyVAL.accountNames = yyDollar[3].accountNames } - case 100: + case 101: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:895 +//line sql.y:896 { yyVAL.tlsOptionItems = nil } - case 101: + case 102: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:899 +//line sql.y:900 { yyVAL.tlsOptionItems = nil } - case 102: + case 103: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:903 +//line sql.y:904 { yyVAL.tlsOptionItems = yyDollar[2].tlsOptionItems } - case 103: + case 104: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:909 +//line sql.y:910 { yyVAL.tlsOptionItems = []TLSOptionItem{yyDollar[1].tlsOptionItem} } - case 104: + case 105: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:913 +//line sql.y:914 { yyVAL.tlsOptionItems = append(yyDollar[1].tlsOptionItems, yyDollar[3].tlsOptionItem) } - case 105: + case 106: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:919 +//line sql.y:920 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_SSL, ItemData: ""} } - case 106: + case 107: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:923 +//line sql.y:924 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_X509, ItemData: ""} } - case 107: + case 108: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:927 +//line sql.y:928 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Cipher, ItemData: string(yyDollar[2].bytes)} } - case 108: + case 109: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:931 +//line sql.y:932 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Issuer, ItemData: string(yyDollar[2].bytes)} } - case 109: + case 110: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:935 +//line sql.y:936 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Subject, ItemData: string(yyDollar[2].bytes)} } - case 110: + case 111: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:940 +//line sql.y:941 { yyVAL.accountLimitItems = nil } - case 111: + case 112: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:944 +//line sql.y:945 { yyVAL.accountLimitItems = yyDollar[2].accountLimitItems } - case 112: + case 113: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:950 +//line sql.y:951 { yyVAL.accountLimitItems = []AccountLimitItem{yyDollar[1].accountLimitItem} } - case 113: + case 114: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:954 +//line sql.y:955 { yyVAL.accountLimitItems = append(yyDollar[1].accountLimitItems, yyDollar[2].accountLimitItem) } - case 114: + case 115: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:960 +//line sql.y:961 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Queries_PH, Count: NewIntVal(yyDollar[2].bytes)} } - case 115: + case 116: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:964 +//line sql.y:965 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Updates_PH, Count: NewIntVal(yyDollar[2].bytes)} } - case 116: + case 117: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:968 +//line sql.y:969 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Connections_PH, Count: NewIntVal(yyDollar[2].bytes)} } - case 117: + case 118: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:972 +//line sql.y:973 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Connections, Count: NewIntVal(yyDollar[2].bytes)} } - case 118: + case 119: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:977 +//line sql.y:978 { yyVAL.passLockItems = nil } - case 119: + case 120: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:981 +//line sql.y:982 { yyVAL.passLockItems = yyDollar[1].passLockItems } - case 120: + case 121: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:987 +//line sql.y:988 { yyVAL.passLockItems = []PassLockItem{yyDollar[1].passLockItem} } - case 121: + case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:991 +//line sql.y:992 { yyVAL.passLockItems = append(yyDollar[1].passLockItems, yyDollar[2].passLockItem) } - case 122: + case 123: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:997 +//line sql.y:998 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireDefault, Value: nil} } - case 123: + case 124: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1001 +//line sql.y:1002 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireNever, Value: nil} } - case 124: + case 125: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1005 +//line sql.y:1006 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireInterval, Value: NewIntVal(yyDollar[4].bytes)} } - case 125: + case 126: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1009 +//line sql.y:1010 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassHistory, Value: nil} } - case 126: + case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1013 +//line sql.y:1014 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassHistory, Value: NewIntVal(yyDollar[3].bytes)} } - case 127: + case 128: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1017 +//line sql.y:1018 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReuseInterval, Value: nil} } - case 128: + case 129: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1021 +//line sql.y:1022 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReuseInterval, Value: NewIntVal(yyDollar[4].bytes)} } - case 129: + case 130: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1025 +//line sql.y:1026 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReqCurrentDefault, Value: nil} } - case 130: + case 131: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1029 +//line sql.y:1030 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReqCurrentOptional, Value: nil} } - case 131: + case 132: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1033 +//line sql.y:1034 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassFailedLogins, Value: NewIntVal(yyDollar[2].bytes)} } - case 132: + case 133: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1037 +//line sql.y:1038 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassLockTime, Value: NewIntVal(yyDollar[2].bytes)} } - case 133: + case 134: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1041 +//line sql.y:1042 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassLockTime, Value: nil} } - case 134: + case 135: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1045 +//line sql.y:1046 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_AccountLock, Value: nil} } - case 135: + case 136: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1049 +//line sql.y:1050 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_AccountUnlock, Value: nil} } - case 136: + case 137: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1054 +//line sql.y:1055 { yyVAL.str = "" } - case 137: + case 138: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1058 +//line sql.y:1059 { comment := string(yyDollar[2].bytes) yyVAL.str = `{"comment": "` + escapeDoubleQuotes(comment) + `"}` } - case 138: + case 139: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1063 +//line sql.y:1064 { yyVAL.str = string(yyDollar[2].bytes) } - case 139: + case 140: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1069 +//line sql.y:1070 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &GrantPrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, To: yyDollar[7].accountNames, WithGrantOption: yyDollar[8].boolean, As: yyDollar[9].grantAssumption} } - case 140: + case 141: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1074 +//line sql.y:1075 { yyVAL.statement = &GrantPrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, To: yyDollar[7].accountNames, WithGrantOption: yyDollar[8].boolean, As: yyDollar[9].grantAssumption} } - case 141: + case 142: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1078 +//line sql.y:1079 { yyVAL.statement = &GrantRole{Roles: yyDollar[2].accountNames, To: yyDollar[4].accountNames, WithAdminOption: yyDollar[5].boolean} } - case 142: + case 143: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1082 +//line sql.y:1083 { yyVAL.statement = &GrantProxy{On: yyDollar[4].accountName, To: yyDollar[6].accountNames, WithGrantOption: yyDollar[7].boolean} } - case 143: + case 144: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1088 +//line sql.y:1089 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &RevokePrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } - case 144: + case 145: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1093 +//line sql.y:1094 { yyVAL.statement = &RevokePrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } - case 145: + case 146: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1097 +//line sql.y:1098 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[7].accountNames} } - case 146: + case 147: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1101 +//line sql.y:1102 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[8].accountNames} } - case 147: + case 148: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1105 +//line sql.y:1106 { yyVAL.statement = &RevokeRole{Roles: yyDollar[2].accountNames, From: yyDollar[4].accountNames} } - case 148: + case 149: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1109 +//line sql.y:1110 { yyVAL.statement = &RevokeProxy{On: yyDollar[4].accountName, From: yyDollar[6].accountNames} } - case 149: + case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1115 +//line sql.y:1116 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Alter, Columns: yyDollar[2].strs} } - case 150: + case 151: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1119 +//line sql.y:1120 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_AlterRoutine, Columns: yyDollar[3].strs} } - case 151: + case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1123 +//line sql.y:1124 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Create, Columns: yyDollar[2].strs} } - case 152: + case 153: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1127 +//line sql.y:1128 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRole, Columns: yyDollar[3].strs} } - case 153: + case 154: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1131 +//line sql.y:1132 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRoutine, Columns: yyDollar[3].strs} } - case 154: + case 155: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1135 +//line sql.y:1136 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTablespace, Columns: yyDollar[3].strs} } - case 155: + case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1139 +//line sql.y:1140 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTemporaryTables, Columns: yyDollar[4].strs} } - case 156: + case 157: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1143 +//line sql.y:1144 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateUser, Columns: yyDollar[3].strs} } - case 157: + case 158: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1147 +//line sql.y:1148 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateView, Columns: yyDollar[3].strs} } - case 158: + case 159: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1151 +//line sql.y:1152 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Delete, Columns: yyDollar[2].strs} } - case 159: + case 160: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1155 +//line sql.y:1156 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Drop, Columns: yyDollar[2].strs} } - case 160: + case 161: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1159 +//line sql.y:1160 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_DropRole, Columns: yyDollar[3].strs} } - case 161: + case 162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1163 +//line sql.y:1164 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Event, Columns: yyDollar[2].strs} } - case 162: + case 163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1167 +//line sql.y:1168 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Execute, Columns: yyDollar[2].strs} } - case 163: + case 164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1171 +//line sql.y:1172 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_File, Columns: yyDollar[2].strs} } - case 164: + case 165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1175 +//line sql.y:1176 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Index, Columns: yyDollar[2].strs} } - case 165: + case 166: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1179 +//line sql.y:1180 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Insert, Columns: yyDollar[2].strs} } - case 166: + case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1183 +//line sql.y:1184 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_LockTables, Columns: yyDollar[3].strs} } - case 167: + case 168: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1187 +//line sql.y:1188 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Process, Columns: yyDollar[2].strs} } - case 168: + case 169: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1191 +//line sql.y:1192 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_References, Columns: yyDollar[2].strs} } - case 169: + case 170: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1195 +//line sql.y:1196 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Reload, Columns: yyDollar[2].strs} } - case 170: + case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1199 +//line sql.y:1200 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationClient, Columns: yyDollar[3].strs} } - case 171: + case 172: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1203 +//line sql.y:1204 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationSlave, Columns: yyDollar[3].strs} } - case 172: + case 173: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1207 +//line sql.y:1208 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Select, Columns: yyDollar[2].strs} } - case 173: + case 174: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1211 +//line sql.y:1212 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowDatabases, Columns: yyDollar[3].strs} } - case 174: + case 175: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1215 +//line sql.y:1216 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowView, Columns: yyDollar[3].strs} } - case 175: + case 176: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1219 +//line sql.y:1220 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Shutdown, Columns: yyDollar[2].strs} } - case 176: + case 177: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1223 +//line sql.y:1224 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Super, Columns: yyDollar[2].strs} } - case 177: + case 178: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1227 +//line sql.y:1228 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Trigger, Columns: yyDollar[2].strs} } - case 178: + case 179: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1231 +//line sql.y:1232 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Update, Columns: yyDollar[2].strs} } - case 179: + case 180: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1235 +//line sql.y:1236 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Usage, Columns: yyDollar[2].strs} } - case 180: + case 181: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1241 +//line sql.y:1242 { yyVAL.grantPrivileges = []Privilege{yyDollar[1].grantPrivilege} } - case 181: + case 182: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1245 +//line sql.y:1246 { yyVAL.grantPrivileges = append(yyDollar[1].grantPrivileges, yyDollar[3].grantPrivilege) } - case 182: + case 183: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1250 +//line sql.y:1251 { yyVAL.strs = nil } - case 183: + case 184: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1254 +//line sql.y:1255 { yyVAL.strs = yyDollar[2].strs } - case 184: + case 185: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1260 +//line sql.y:1261 { yyVAL.strs = []string{yyDollar[1].colIdent.String()} } - case 185: + case 186: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1264 +//line sql.y:1265 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].colIdent.String()) } - case 186: + case 187: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1269 +//line sql.y:1270 { yyVAL.grantObjectType = GrantObjectType_Any } - case 187: + case 188: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1273 +//line sql.y:1274 { yyVAL.grantObjectType = GrantObjectType_Table } - case 188: + case 189: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1277 +//line sql.y:1278 { yyVAL.grantObjectType = GrantObjectType_Function } - case 189: + case 190: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1281 +//line sql.y:1282 { yyVAL.grantObjectType = GrantObjectType_Procedure } - case 190: + case 191: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1287 +//line sql.y:1288 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: "*"} } - case 191: + case 192: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1291 +//line sql.y:1292 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "*", TableRoutine: "*"} } - case 192: + case 193: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1295 +//line sql.y:1296 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: yyDollar[1].colIdent.String()} } - case 193: + case 194: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1299 +//line sql.y:1300 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: "*"} } - case 194: + case 195: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1303 +//line sql.y:1304 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: yyDollar[3].colIdent.String()} } - case 195: + case 196: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1308 +//line sql.y:1309 { yyVAL.grantAssumption = nil } - case 196: + case 197: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1312 +//line sql.y:1313 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } - case 197: + case 198: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1316 +//line sql.y:1317 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } - case 198: + case 199: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1320 +//line sql.y:1321 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_None, User: yyDollar[2].accountName, Roles: nil} } - case 199: + case 200: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1324 +//line sql.y:1325 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_All, User: yyDollar[2].accountName, Roles: nil} } - case 200: + case 201: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1328 +//line sql.y:1329 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_AllExcept, User: yyDollar[2].accountName, Roles: yyDollar[7].accountNames} } - case 201: + case 202: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1332 +//line sql.y:1333 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Roles, User: yyDollar[2].accountName, Roles: yyDollar[5].accountNames} } - case 202: + case 203: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1337 +//line sql.y:1338 { yyVAL.boolean = false } - case 203: + case 204: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1341 +//line sql.y:1342 { yyVAL.boolean = true } - case 204: + case 205: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1346 +//line sql.y:1347 { yyVAL.boolean = false } - case 205: + case 206: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1350 +//line sql.y:1351 { yyVAL.boolean = true } - case 206: + case 207: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1357 +//line sql.y:1358 { yyDollar[1].selStmt.SetOrderBy(yyDollar[2].orderBy) yyDollar[1].selStmt.SetLimit(yyDollar[3].limit) yyDollar[1].selStmt.SetLock(yyDollar[4].str) yyVAL.selStmt = yyDollar[1].selStmt } - case 207: + case 208: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1365 +//line sql.y:1366 { yyVAL.procedureParams = nil } - case 208: + case 209: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1369 +//line sql.y:1370 { yyVAL.procedureParams = yyDollar[1].procedureParams } - case 209: + case 210: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1375 +//line sql.y:1376 { yyVAL.procedureParams = []ProcedureParam{yyDollar[1].procedureParam} } - case 210: + case 211: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1379 +//line sql.y:1380 { yyVAL.procedureParams = append(yyVAL.procedureParams, yyDollar[3].procedureParam) } - case 211: + case 212: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1385 +//line sql.y:1386 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[1].bytes), Type: yyDollar[2].columnType} } - case 212: + case 213: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1389 +//line sql.y:1390 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 213: + case 214: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1393 +//line sql.y:1394 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Inout, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 214: + case 215: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1397 +//line sql.y:1398 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Out, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 215: + case 216: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1402 +//line sql.y:1403 { yyVAL.characteristics = nil } - case 216: + case 217: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1406 +//line sql.y:1407 { yyVAL.characteristics = yyDollar[1].characteristics } - case 217: + case 218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1412 +//line sql.y:1413 { yyVAL.characteristics = []Characteristic{yyDollar[1].characteristic} } - case 218: + case 219: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1416 +//line sql.y:1417 { yyVAL.characteristics = append(yyVAL.characteristics, yyDollar[2].characteristic) } - case 219: + case 220: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1422 +//line sql.y:1423 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Comment, Comment: string(yyDollar[2].bytes)} } - case 220: + case 221: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1426 +//line sql.y:1427 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_LanguageSql} } - case 221: + case 222: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1430 +//line sql.y:1431 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NotDeterministic} } - case 222: + case 223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1434 +//line sql.y:1435 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Deterministic} } - case 223: + case 224: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1438 +//line sql.y:1439 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ContainsSql} } - case 224: + case 225: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1442 +//line sql.y:1443 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NoSql} } - case 225: + case 226: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1446 +//line sql.y:1447 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ReadsSqlData} } - case 226: + case 227: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1450 +//line sql.y:1451 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ModifiesSqlData} } - case 227: + case 228: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1454 +//line sql.y:1455 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityDefiner} } - case 228: + case 229: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1458 +//line sql.y:1459 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityInvoker} } - case 229: + case 230: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1464 +//line sql.y:1465 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } - case 230: + case 231: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1469 +//line sql.y:1470 { yyVAL.str = "" } - case 231: + case 232: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1473 +//line sql.y:1474 { yyVAL.str = string(yyDollar[3].bytes) } - case 232: + case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1479 +//line sql.y:1480 { yyVAL.str = string(yyDollar[1].bytes) } - case 233: + case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1483 +//line sql.y:1484 { yyVAL.str = string(yyDollar[1].bytes) } - case 234: + case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1487 +//line sql.y:1488 { yyVAL.str = string(yyDollar[1].bytes) } - case 235: + case 236: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1493 +//line sql.y:1494 { anyHost := false if yyDollar[3].str == "%" { @@ -7469,33 +7446,33 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: yyDollar[3].str, AnyHost: anyHost} } - case 236: + case 237: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1501 +//line sql.y:1502 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: false} } - case 237: + case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1505 +//line sql.y:1506 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: true} } - case 238: + case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1511 +//line sql.y:1512 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } - case 239: + case 240: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1515 +//line sql.y:1516 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } - case 240: + case 241: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1521 +//line sql.y:1522 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7503,9 +7480,9 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: yyDollar[3].str, AnyHost: false} } - case 241: + case 242: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1529 +//line sql.y:1530 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7513,9 +7490,9 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: false} } - case 242: + case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1537 +//line sql.y:1538 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7523,562 +7500,562 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: true} } - case 243: + case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1547 +//line sql.y:1548 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } - case 244: + case 245: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1551 +//line sql.y:1552 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } - case 245: + case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1557 +//line sql.y:1558 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName} } - case 246: + case 247: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1561 +//line sql.y:1562 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication} } - case 247: + case 248: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1565 +//line sql.y:1566 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, AuthInitial: yyDollar[5].authentication} } - case 248: + case 249: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1569 +//line sql.y:1570 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication} } - case 249: + case 250: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1573 +//line sql.y:1574 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication, Auth3: yyDollar[6].authentication} } - case 250: + case 251: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1579 +//line sql.y:1580 { yyVAL.authentication = &Authentication{RandomPassword: true} } - case 251: + case 252: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1583 +//line sql.y:1584 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } - case 252: + case 253: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1587 +//line sql.y:1588 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes)} } - case 253: + case 254: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1591 +//line sql.y:1592 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), RandomPassword: true} } - case 254: + case 255: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1595 +//line sql.y:1596 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Password: string(yyDollar[5].bytes)} } - case 255: + case 256: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1599 +//line sql.y:1600 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } - case 256: + case 257: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1605 +//line sql.y:1606 { yyVAL.authentication = &Authentication{RandomPassword: true} } - case 257: + case 258: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1609 +//line sql.y:1610 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } - case 258: + case 259: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1613 +//line sql.y:1614 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } - case 259: + case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1619 +//line sql.y:1620 { yyVAL.accountsWithAuth = []AccountWithAuth{yyDollar[1].accountWithAuth} } - case 260: + case 261: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1623 +//line sql.y:1624 { yyVAL.accountsWithAuth = append(yyDollar[1].accountsWithAuth, yyDollar[3].accountWithAuth) } - case 261: + case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1629 +//line sql.y:1630 { yyVAL.str = BeforeStr } - case 262: + case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1633 +//line sql.y:1634 { yyVAL.str = AfterStr } - case 263: + case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1639 +//line sql.y:1640 { yyVAL.str = InsertStr } - case 264: + case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1643 +//line sql.y:1644 { yyVAL.str = UpdateStr } - case 265: + case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1647 +//line sql.y:1648 { yyVAL.str = DeleteStr } - case 266: + case 267: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1652 +//line sql.y:1653 { yyVAL.triggerOrder = nil } - case 267: + case 268: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1656 +//line sql.y:1657 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: FollowsStr, OtherTriggerName: string(yyDollar[2].bytes)} } - case 268: + case 269: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1660 +//line sql.y:1661 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: PrecedesStr, OtherTriggerName: string(yyDollar[2].bytes)} } - case 269: + case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1666 +//line sql.y:1667 { yyVAL.statement = yyDollar[1].statement } - case 274: + case 275: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1676 +//line sql.y:1677 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } - case 275: + case 276: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1682 +//line sql.y:1683 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases} } - case 276: + case 277: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1686 +//line sql.y:1687 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases, Else: yyDollar[5].statements} } - case 277: + case 278: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1692 +//line sql.y:1693 { yyVAL.caseStatementCases = []CaseStatementCase{yyDollar[1].caseStatementCase} } - case 278: + case 279: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1696 +//line sql.y:1697 { yyVAL.caseStatementCases = append(yyVAL.caseStatementCases, yyDollar[2].caseStatementCase) } - case 279: + case 280: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1702 +//line sql.y:1703 { yyVAL.caseStatementCase = CaseStatementCase{Case: yyDollar[2].expr, Statements: yyDollar[4].statements} } - case 280: + case 281: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1708 +//line sql.y:1709 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds} } - case 281: + case 282: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:1713 +//line sql.y:1714 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds, Else: yyDollar[7].statements} } - case 282: + case 283: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1718 +//line sql.y:1719 { conds := yyDollar[6].ifStatementConditions conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) yyVAL.statement = &IfStatement{Conditions: conds} } - case 283: + case 284: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:1724 +//line sql.y:1725 { conds := yyDollar[6].ifStatementConditions conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) yyVAL.statement = &IfStatement{Conditions: conds, Else: yyDollar[8].statements} } - case 284: + case 285: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1732 +//line sql.y:1733 { yyVAL.ifStatementConditions = []IfStatementCondition{yyDollar[1].ifStatementCondition} } - case 285: + case 286: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1736 +//line sql.y:1737 { yyVAL.ifStatementConditions = append(yyVAL.ifStatementConditions, yyDollar[2].ifStatementCondition) } - case 286: + case 287: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1742 +//line sql.y:1743 { yyVAL.ifStatementCondition = IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements} } - case 287: + case 288: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1748 +//line sql.y:1749 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), SqlStateValue: string(yyDollar[5].bytes)}} } - case 288: + case 289: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1752 +//line sql.y:1753 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), MysqlErrorCode: NewIntVal(yyDollar[5].bytes)}} } - case 289: + case 290: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1756 +//line sql.y:1757 { yyVAL.statement = &Declare{Cursor: &DeclareCursor{Name: string(yyDollar[2].bytes), SelectStmt: yyDollar[5].selStmt}} } - case 290: + case 291: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1760 +//line sql.y:1761 { yyVAL.statement = &Declare{Handler: &DeclareHandler{Action: yyDollar[2].declareHandlerAction, ConditionValues: yyDollar[5].declareHandlerConditions, Statement: yyDollar[6].statement}} } - case 291: + case 292: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1764 +//line sql.y:1765 { yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } - case 292: + case 293: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1768 +//line sql.y:1769 { yyDollar[3].columnType.Default = yyDollar[5].expr yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } - case 293: + case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1775 +//line sql.y:1776 { yyVAL.declareHandlerAction = DeclareHandlerAction_Continue } - case 294: + case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1779 +//line sql.y:1780 { yyVAL.declareHandlerAction = DeclareHandlerAction_Exit } - case 295: + case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1783 +//line sql.y:1784 { yyVAL.declareHandlerAction = DeclareHandlerAction_Undo } - case 296: + case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1789 +//line sql.y:1790 { yyVAL.declareHandlerConditions = []DeclareHandlerCondition{yyDollar[1].declareHandlerCondition} } - case 297: + case 298: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1793 +//line sql.y:1794 { yyVAL.declareHandlerConditions = append(yyVAL.declareHandlerConditions, yyDollar[3].declareHandlerCondition) } - case 298: + case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1799 +//line sql.y:1800 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_MysqlErrorCode, MysqlErrorCode: NewIntVal(yyDollar[1].bytes)} } - case 299: + case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1803 +//line sql.y:1804 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlState, String: string(yyDollar[1].bytes)} } - case 300: + case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1807 +//line sql.y:1808 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlWarning} } - case 301: + case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1811 +//line sql.y:1812 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_NotFound} } - case 302: + case 303: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1815 +//line sql.y:1816 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlException} } - case 303: + case 304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1819 +//line sql.y:1820 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_ConditionName, String: string(yyDollar[1].bytes)} } - case 304: + case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1825 +//line sql.y:1826 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes)} } - case 305: + case 306: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1829 +//line sql.y:1830 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } - case 306: + case 307: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1833 +//line sql.y:1834 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes)} } - case 307: + case 308: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1837 +//line sql.y:1838 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } - case 308: + case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1843 +//line sql.y:1844 { yyVAL.bytes = yyDollar[2].bytes } - case 309: + case 310: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1847 +//line sql.y:1848 { yyVAL.bytes = yyDollar[3].bytes } - case 310: + case 311: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1853 +//line sql.y:1854 { yyVAL.signalInfos = []SignalInfo{yyDollar[1].signalInfo} } - case 311: + case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1857 +//line sql.y:1858 { yyVAL.signalInfos = append(yyVAL.signalInfos, yyDollar[3].signalInfo) } - case 312: + case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1863 +//line sql.y:1864 { yyVAL.signalInfo = SignalInfo{ConditionItemName: yyDollar[1].signalConditionItemName, Value: yyDollar[3].expr.(*SQLVal)} } - case 313: + case 314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1869 +//line sql.y:1870 { yyVAL.signalConditionItemName = SignalConditionItemName_ClassOrigin } - case 314: + case 315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1873 +//line sql.y:1874 { yyVAL.signalConditionItemName = SignalConditionItemName_SubclassOrigin } - case 315: + case 316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1877 +//line sql.y:1878 { yyVAL.signalConditionItemName = SignalConditionItemName_MessageText } - case 316: + case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1881 +//line sql.y:1882 { yyVAL.signalConditionItemName = SignalConditionItemName_MysqlErrno } - case 317: + case 318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1885 +//line sql.y:1886 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintCatalog } - case 318: + case 319: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1889 +//line sql.y:1890 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintSchema } - case 319: + case 320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1893 +//line sql.y:1894 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintName } - case 320: + case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1897 +//line sql.y:1898 { yyVAL.signalConditionItemName = SignalConditionItemName_CatalogName } - case 321: + case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1901 +//line sql.y:1902 { yyVAL.signalConditionItemName = SignalConditionItemName_SchemaName } - case 322: + case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1905 +//line sql.y:1906 { yyVAL.signalConditionItemName = SignalConditionItemName_TableName } - case 323: + case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1909 +//line sql.y:1910 { yyVAL.signalConditionItemName = SignalConditionItemName_ColumnName } - case 324: + case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1913 +//line sql.y:1914 { yyVAL.signalConditionItemName = SignalConditionItemName_CursorName } - case 325: + case 326: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1919 +//line sql.y:1920 { yyVAL.statement = &Resignal{} } - case 326: + case 327: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1923 +//line sql.y:1924 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes)}} } - case 327: + case 328: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1927 +//line sql.y:1928 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } - case 328: + case 329: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1931 +//line sql.y:1932 { yyVAL.statement = &Resignal{Signal{Info: yyDollar[3].signalInfos}} } - case 329: + case 330: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1935 +//line sql.y:1936 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes)}} } - case 330: + case 331: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1939 +//line sql.y:1940 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } - case 331: + case 332: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1945 +//line sql.y:1946 { yyVAL.statement = &Call{FuncName: string(yyDollar[2].bytes), Params: yyDollar[3].exprs} } - case 332: + case 333: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1950 +//line sql.y:1951 { yyVAL.exprs = nil } - case 333: + case 334: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1954 +//line sql.y:1955 { yyVAL.exprs = nil } - case 334: + case 335: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1958 +//line sql.y:1959 { yyVAL.exprs = yyDollar[2].exprs } - case 335: + case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1964 +//line sql.y:1965 { yyVAL.statements = Statements{yyDollar[1].statement} } - case 336: + case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1968 +//line sql.y:1969 { yyVAL.statements = append(yyVAL.statements, yyDollar[3].statement) } - case 337: + case 338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1974 +//line sql.y:1975 { yyVAL.statement = yyDollar[1].selStmt } - case 366: + case 368: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2008 +//line sql.y:2010 { var ne bool if yyDollar[4].byt != 0 { @@ -8092,69 +8069,69 @@ yydefault: yyVAL.ddl = &DDL{Action: CreateStr, Table: yyDollar[5].tableName, IfNotExists: ne, Temporary: neTemp} } - case 367: + case 369: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2024 +//line sql.y:2026 { yyVAL.TableSpec = yyDollar[2].TableSpec yyVAL.TableSpec.Options = yyDollar[4].str } - case 368: + case 370: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2031 +//line sql.y:2033 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) } - case 369: + case 371: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2036 +//line sql.y:2038 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddConstraint(yyDollar[1].constraintDefinition) } - case 370: + case 372: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2041 +//line sql.y:2043 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) yyVAL.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) } - case 371: + case 373: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2047 +//line sql.y:2049 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) } - case 372: + case 374: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2051 +//line sql.y:2053 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) yyVAL.TableSpec.AddConstraint(yyDollar[4].constraintDefinition) } - case 373: + case 375: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2056 +//line sql.y:2058 { yyVAL.TableSpec.AddIndex(yyDollar[3].indexDefinition) } - case 374: + case 376: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2060 +//line sql.y:2062 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } - case 375: + case 377: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2064 +//line sql.y:2066 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } - case 376: + case 378: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2070 +//line sql.y:2072 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8162,9 +8139,9 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: NewColIdent(string(yyDollar[1].bytes)), Type: yyDollar[2].columnType} } - case 377: + case 379: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2078 +//line sql.y:2080 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8172,9 +8149,9 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: NewColIdent(string(yyDollar[1].bytes)), Type: yyDollar[2].columnType} } - case 378: + case 380: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2088 +//line sql.y:2090 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8182,15 +8159,15 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType} } - case 379: + case 381: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2097 +//line sql.y:2099 { yyVAL.columnType = ColumnType{} } - case 380: + case 382: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2101 +//line sql.y:2103 { opt := ColumnType{Null: BoolVal(true), NotNull: BoolVal(false), sawnull: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8199,9 +8176,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 381: + case 383: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2110 +//line sql.y:2112 { opt := ColumnType{Null: BoolVal(false), NotNull: BoolVal(true), sawnull: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8210,9 +8187,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 382: + case 384: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2119 +//line sql.y:2121 { opt := ColumnType{Default: yyDollar[2].optVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8221,9 +8198,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 383: + case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2128 +//line sql.y:2130 { opt := ColumnType{OnUpdate: yyDollar[2].optVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8232,9 +8209,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 384: + case 386: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2137 +//line sql.y:2139 { opt := ColumnType{Autoincrement: yyDollar[2].boolVal, sawai: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8243,9 +8220,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 385: + case 387: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2146 +//line sql.y:2148 { opt := ColumnType{KeyOpt: yyDollar[2].colKeyOpt} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8254,9 +8231,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 386: + case 388: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2155 +//line sql.y:2157 { opt := ColumnType{Comment: yyDollar[2].sqlVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8265,638 +8242,638 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 387: + case 389: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2166 +//line sql.y:2168 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].boolVal yyVAL.columnType.Zerofill = yyDollar[3].boolVal } - case 391: + case 393: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2177 +//line sql.y:2179 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].sqlVal } - case 392: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2182 - { - yyVAL.columnType = yyDollar[1].columnType - } - case 393: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2188 - { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} - } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2192 +//line sql.y:2184 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + yyVAL.columnType = yyDollar[1].columnType } case 395: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2196 +//line sql.y:2190 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2200 +//line sql.y:2194 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 397: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2204 +//line sql.y:2198 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 398: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2208 +//line sql.y:2202 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 399: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2212 +//line sql.y:2206 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 400: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2216 +//line sql.y:2210 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 401: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2220 +//line sql.y:2214 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 402: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2224 +//line sql.y:2218 { - yyVAL.columnType = ColumnType{Type: "bigint", Unsigned: true, NotNull: true, Autoincrement: true, KeyOpt: colKeyUnique} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 403: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2222 + { + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + } + case 404: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2226 + { + yyVAL.columnType = ColumnType{Type: "bigint", Unsigned: true, NotNull: true, Autoincrement: true, KeyOpt: colKeyUnique} + } + case 405: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2230 +//line sql.y:2232 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 404: + case 406: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2236 +//line sql.y:2238 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 405: + case 407: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2242 +//line sql.y:2244 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} yyVAL.columnType.Length = yyDollar[3].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[3].LengthScaleOption.Scale } - case 406: + case 408: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2248 +//line sql.y:2250 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 407: + case 409: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2254 +//line sql.y:2256 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 408: + case 410: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2260 +//line sql.y:2262 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 409: + case 411: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2266 +//line sql.y:2268 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 410: + case 412: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2272 +//line sql.y:2274 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 411: + case 413: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2280 +//line sql.y:2282 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 412: + case 414: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2284 +//line sql.y:2286 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 413: + case 415: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2288 +//line sql.y:2290 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 414: + case 416: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2292 +//line sql.y:2294 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 415: + case 417: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2296 +//line sql.y:2298 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 416: + case 418: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2302 +//line sql.y:2304 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 417: + case 419: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2306 +//line sql.y:2308 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 418: + case 420: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2310 +//line sql.y:2312 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } - case 419: + case 421: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2314 +//line sql.y:2316 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } - case 420: + case 422: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2318 +//line sql.y:2320 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 421: + case 423: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2322 +//line sql.y:2324 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 422: + case 424: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2326 +//line sql.y:2328 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal, Charset: yyDollar[4].str, Collate: yyDollar[5].str} } - case 423: + case 425: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2330 +//line sql.y:2332 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 424: + case 426: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2334 +//line sql.y:2336 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } - case 425: + case 427: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2338 +//line sql.y:2340 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Length: yyDollar[4].sqlVal} } - case 426: + case 428: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2342 +//line sql.y:2344 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 427: + case 429: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2346 +//line sql.y:2348 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 428: + case 430: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2350 +//line sql.y:2352 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 429: + case 431: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2354 +//line sql.y:2356 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 430: + case 432: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2358 +//line sql.y:2360 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 431: + case 433: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2362 +//line sql.y:2364 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 432: + case 434: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2366 +//line sql.y:2368 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 433: + case 435: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2370 +//line sql.y:2372 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 434: + case 436: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2374 +//line sql.y:2376 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 435: + case 437: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2378 +//line sql.y:2380 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 436: + case 438: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2382 +//line sql.y:2384 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 437: + case 439: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2386 +//line sql.y:2388 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 438: + case 440: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2390 +//line sql.y:2392 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 439: + case 441: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2394 +//line sql.y:2396 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } - case 440: + case 442: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2399 +//line sql.y:2401 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } - case 441: + case 443: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2405 +//line sql.y:2407 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 442: + case 444: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2409 +//line sql.y:2411 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 443: + case 445: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2413 +//line sql.y:2415 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 444: + case 446: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2417 +//line sql.y:2419 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 445: + case 447: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2421 +//line sql.y:2423 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 446: + case 448: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2425 +//line sql.y:2427 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 447: + case 449: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2429 +//line sql.y:2431 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 448: + case 450: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2433 +//line sql.y:2435 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 449: + case 451: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2439 +//line sql.y:2441 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, string(yyDollar[1].bytes)) } - case 450: + case 452: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2444 +//line sql.y:2446 { yyVAL.strs = append(yyDollar[1].strs, string(yyDollar[3].bytes)) } - case 451: + case 453: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2449 +//line sql.y:2451 { yyVAL.sqlVal = nil } - case 452: + case 454: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2453 +//line sql.y:2455 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } - case 453: + case 455: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2458 +//line sql.y:2460 { yyVAL.LengthScaleOption = LengthScaleOption{} } - case 454: + case 456: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2462 +//line sql.y:2464 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), Scale: NewIntVal(yyDollar[4].bytes), } } - case 455: + case 457: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2470 +//line sql.y:2472 { yyVAL.LengthScaleOption = LengthScaleOption{} } - case 456: + case 458: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2474 +//line sql.y:2476 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), } } - case 457: + case 459: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2480 +//line sql.y:2482 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), Scale: NewIntVal(yyDollar[4].bytes), } } - case 458: + case 460: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2488 +//line sql.y:2490 { yyVAL.boolVal = BoolVal(false) } - case 459: + case 461: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2492 +//line sql.y:2494 { yyVAL.boolVal = BoolVal(true) } - case 460: + case 462: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2497 +//line sql.y:2499 { yyVAL.boolVal = BoolVal(false) } - case 461: + case 463: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2501 +//line sql.y:2503 { yyVAL.boolVal = BoolVal(true) } - case 462: + case 464: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2507 +//line sql.y:2509 { yyVAL.optVal = yyDollar[2].expr } - case 463: + case 465: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2513 +//line sql.y:2515 { yyVAL.optVal = yyDollar[3].expr } - case 464: + case 466: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2519 +//line sql.y:2521 { yyVAL.boolVal = BoolVal(true) } - case 465: + case 467: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2524 +//line sql.y:2526 { yyVAL.str = "" } - case 466: + case 468: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2528 +//line sql.y:2530 { yyVAL.str = string(yyDollar[3].bytes) } - case 467: + case 469: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2532 +//line sql.y:2534 { yyVAL.str = string(yyDollar[3].bytes) } - case 468: + case 470: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2537 +//line sql.y:2539 { yyVAL.str = "" } - case 469: + case 471: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2541 +//line sql.y:2543 { yyVAL.str = string(yyDollar[2].bytes) } - case 470: + case 472: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2545 +//line sql.y:2547 { yyVAL.str = string(yyDollar[2].bytes) } - case 471: + case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2551 +//line sql.y:2553 { yyVAL.colKeyOpt = colKeyPrimary } - case 472: + case 474: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2555 +//line sql.y:2557 { yyVAL.colKeyOpt = colKey } - case 473: + case 475: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2559 +//line sql.y:2561 { yyVAL.colKeyOpt = colKeyUniqueKey } - case 474: + case 476: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2563 +//line sql.y:2565 { yyVAL.colKeyOpt = colKeyUnique } - case 475: + case 477: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2569 +//line sql.y:2571 { yyVAL.sqlVal = NewStrVal(yyDollar[2].bytes) } - case 476: + case 478: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2575 +//line sql.y:2577 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Options: yyDollar[5].indexOptions} } - case 477: + case 479: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2579 +//line sql.y:2581 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns} } - case 478: + case 480: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2584 +//line sql.y:2586 { yyVAL.indexOptions = nil } - case 479: + case 481: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2588 +//line sql.y:2590 { yyVAL.indexOptions = yyDollar[1].indexOptions } - case 480: + case 482: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2594 +//line sql.y:2596 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 481: + case 483: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2598 +//line sql.y:2600 { yyVAL.indexOptions = append(yyVAL.indexOptions, yyDollar[2].indexOption) } - case 482: + case 484: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2604 +//line sql.y:2606 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Using: string(yyDollar[2].bytes)} } - case 483: + case 485: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2608 +//line sql.y:2610 { // should not be string yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewIntVal(yyDollar[3].bytes)} } - case 484: + case 486: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2613 +//line sql.y:2615 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewStrVal(yyDollar[2].bytes)} } - case 485: + case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2619 +//line sql.y:2621 { yyVAL.str = "" } - case 486: + case 488: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2623 +//line sql.y:2625 { yyVAL.str = string(yyDollar[1].bytes) } - case 487: + case 489: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2629 +//line sql.y:2631 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } - case 488: + case 490: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2633 +//line sql.y:2635 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].bytes), Name: NewColIdent(string(yyDollar[2].bytes)), Primary: true, Unique: true} } - case 489: + case 491: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2637 +//line sql.y:2639 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } - case 490: + case 492: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2641 +//line sql.y:2643 { var name string name = yyDollar[2].str @@ -8905,351 +8882,351 @@ yydefault: } yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].str), Name: NewColIdent(name), Unique: true} } - case 491: + case 493: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2650 +//line sql.y:2652 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Unique: true} } - case 492: + case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2654 +//line sql.y:2656 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes), Name: NewColIdent(yyDollar[2].str), Unique: true} } - case 493: + case 495: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2658 +//line sql.y:2660 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } - case 494: + case 496: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2664 +//line sql.y:2666 { yyVAL.str = string(yyDollar[1].bytes) } - case 495: + case 497: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2668 +//line sql.y:2670 { yyVAL.str = string(yyDollar[1].bytes) } - case 496: + case 498: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2672 +//line sql.y:2674 { yyVAL.str = string(yyDollar[1].bytes) } - case 497: + case 499: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2678 +//line sql.y:2680 { yyVAL.str = string(yyDollar[1].bytes) } - case 498: + case 500: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2682 +//line sql.y:2684 { yyVAL.str = string(yyDollar[1].bytes) } - case 499: + case 501: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2687 +//line sql.y:2689 { yyVAL.str = "" } - case 500: + case 502: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2691 +//line sql.y:2693 { yyVAL.str = yyDollar[1].str } - case 501: + case 503: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2696 +//line sql.y:2698 { yyVAL.str = "" } - case 502: + case 504: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2700 +//line sql.y:2702 { yyVAL.str = string(yyDollar[1].bytes) } - case 503: + case 505: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2706 +//line sql.y:2708 { yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn} } - case 504: + case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2710 +//line sql.y:2712 { yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn) } - case 505: + case 507: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2716 +//line sql.y:2718 { yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } - case 506: + case 508: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2720 +//line sql.y:2722 { yyVAL.indexColumn = &IndexColumn{Column: NewColIdent(string(yyDollar[1].bytes)), Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } - case 507: + case 509: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2726 +//line sql.y:2728 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 508: + case 510: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2730 +//line sql.y:2732 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 509: + case 511: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2734 +//line sql.y:2736 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 510: + case 512: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2740 +//line sql.y:2742 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns} } - case 511: + case 513: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2744 +//line sql.y:2746 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction} } - case 512: + case 514: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2748 +//line sql.y:2750 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnUpdate: yyDollar[11].ReferenceAction} } - case 513: + case 515: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2752 +//line sql.y:2754 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction, OnUpdate: yyDollar[12].ReferenceAction} } - case 514: + case 516: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2756 +//line sql.y:2758 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[12].ReferenceAction, OnUpdate: yyDollar[11].ReferenceAction} } - case 515: + case 517: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2762 +//line sql.y:2764 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 516: + case 518: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2766 +//line sql.y:2768 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 517: + case 519: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2770 +//line sql.y:2772 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[2].constraintInfo} } - case 518: + case 520: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2774 +//line sql.y:2776 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 519: + case 521: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2780 +//line sql.y:2782 { yyVAL.constraintInfo = &CheckConstraintDefinition{Expr: yyDollar[3].expr, Enforced: yyDollar[5].boolean} } - case 520: + case 522: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2786 +//line sql.y:2788 { yyVAL.str = string(yyDollar[1].bytes) } - case 521: + case 523: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2790 +//line sql.y:2792 { yyVAL.str = string(yyDollar[1].bytes) } - case 522: + case 524: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2795 +//line sql.y:2797 { yyVAL.str = "" } - case 523: + case 525: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2799 +//line sql.y:2801 { yyVAL.str = string(yyDollar[2].bytes) } - case 524: + case 526: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2803 +//line sql.y:2805 { yyVAL.str = string(yyDollar[2].bytes) } - case 525: + case 527: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2809 +//line sql.y:2811 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 526: + case 528: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2815 +//line sql.y:2817 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 527: + case 529: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2821 +//line sql.y:2823 { yyVAL.ReferenceAction = Restrict } - case 528: + case 530: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2825 +//line sql.y:2827 { yyVAL.ReferenceAction = Cascade } - case 529: + case 531: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2829 +//line sql.y:2831 { yyVAL.ReferenceAction = NoAction } - case 530: + case 532: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2833 +//line sql.y:2835 { yyVAL.ReferenceAction = SetDefault } - case 531: + case 533: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2837 +//line sql.y:2839 { yyVAL.ReferenceAction = SetNull } - case 532: + case 534: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2842 +//line sql.y:2844 { yyVAL.boolean = true } - case 533: + case 535: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2846 +//line sql.y:2848 { yyVAL.boolean = true } - case 534: + case 536: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2850 +//line sql.y:2852 { yyVAL.boolean = false } - case 535: + case 537: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2855 +//line sql.y:2857 { yyVAL.str = "" } - case 536: + case 538: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2859 +//line sql.y:2861 { yyVAL.str = " " + string(yyDollar[1].str) } - case 537: + case 539: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2863 +//line sql.y:2865 { yyVAL.str = string(yyDollar[1].str) + ", " + string(yyDollar[3].str) } - case 538: + case 540: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2871 +//line sql.y:2873 { yyVAL.str = yyDollar[1].str } - case 539: + case 541: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2875 +//line sql.y:2877 { yyVAL.str = yyDollar[1].str + " " + yyDollar[2].str } - case 540: + case 542: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2879 +//line sql.y:2881 { yyVAL.str = yyDollar[1].str + "=" + yyDollar[3].str } - case 541: + case 543: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2885 +//line sql.y:2887 { yyVAL.str = yyDollar[1].colIdent.String() } - case 542: + case 544: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2889 +//line sql.y:2891 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'" } - case 543: + case 545: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2893 +//line sql.y:2895 { yyVAL.str = string(yyDollar[1].bytes) } - case 544: + case 546: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2898 +//line sql.y:2900 { yyVAL.str = "" } - case 545: + case 547: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2902 +//line sql.y:2904 { yyVAL.str = string(yyDollar[2].bytes) } - case 546: + case 548: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2907 +//line sql.y:2909 { yyVAL.str = string("") } - case 547: + case 549: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2911 +//line sql.y:2913 { yyVAL.str = string(yyDollar[2].bytes) } - case 549: + case 551: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2920 +//line sql.y:2922 { for i := 0; i < len(yyDollar[5].ddls); i++ { if yyDollar[5].ddls[i].Action == RenameStr { @@ -9260,279 +9237,285 @@ yydefault: } yyVAL.statement = &MultiAlterDDL{Table: yyDollar[4].tableName, Statements: yyDollar[5].ddls} } - case 550: + case 552: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2933 +//line sql.y:2935 { yyVAL.ddls = []*DDL{yyDollar[1].ddl} } - case 551: + case 553: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2937 +//line sql.y:2939 { yyVAL.ddls = append(yyVAL.ddls, yyDollar[3].ddl) } - case 552: + case 554: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2943 +//line sql.y:2945 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) ddl.Column = yyDollar[4].columnDefinition.Name yyVAL.ddl = ddl } - case 553: + case 555: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2950 +//line sql.y:2952 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 554: + case 556: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2957 +//line sql.y:2959 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: DropStr, Column: NewColIdent(string(yyDollar[3].bytes))} } - case 555: + case 557: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2961 +//line sql.y:2963 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: RenameStr, Column: NewColIdent(string(yyDollar[3].bytes)), ToColumn: NewColIdent(string(yyDollar[5].bytes))} } - case 556: + case 558: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2965 +//line sql.y:2967 { // Change this to a rename statement yyVAL.ddl = &DDL{Action: RenameStr, ToTables: TableNames{yyDollar[3].tableName}} } - case 557: + case 559: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2970 +//line sql.y:2972 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[3].str), Using: yyDollar[4].colIdent, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions}} } - case 558: + case 560: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2974 +//line sql.y:2976 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[5].str), Type: yyDollar[3].str, Using: yyDollar[6].colIdent, Columns: yyDollar[8].indexColumns, Options: yyDollar[10].indexOptions}} } - case 559: + case 561: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2978 +//line sql.y:2980 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 560: + case 562: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2983 +//line sql.y:2985 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 561: + case 563: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2988 +//line sql.y:2990 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 562: + case 564: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2993 +//line sql.y:2995 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 563: + case 565: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2998 +//line sql.y:3000 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 564: + case 566: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3002 +//line sql.y:3004 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: RenameStr, FromName: yyDollar[3].colIdent, ToName: yyDollar[5].colIdent}} } - case 565: + case 567: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3006 +//line sql.y:3008 { ddl := &DDL{Action: AlterStr, ColumnAction: ModifyStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 566: + case 568: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3013 +//line sql.y:3015 { ddl := &DDL{Action: AlterStr, ColumnAction: ChangeStr, TableSpec: &TableSpec{}, Column: NewColIdent(string(yyDollar[3].bytes)), ColumnOrder: yyDollar[5].columnOrder} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) yyVAL.ddl = ddl } - case 567: + case 569: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3019 +//line sql.y:3021 { yyVAL.ddl = &DDL{Action: AlterStr, PartitionSpec: yyDollar[1].partSpec} } - case 568: + case 570: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3023 +//line sql.y:3025 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 569: + case 571: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3029 +//line sql.y:3031 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 570: + case 572: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3035 +//line sql.y:3037 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[4].bytes), Details: &ForeignKeyDefinition{}}}}} } - case 571: + case 573: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3040 +//line sql.y:3042 { yyVAL.ddl = &DDL{Action: AlterStr, AutoIncSpec: &AutoIncSpec{Value: yyDollar[3].expr}} } - case 572: + case 574: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3044 +//line sql.y:3046 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: SetStr, Column: yyDollar[3].colIdent, Value: yyDollar[6].expr}} } - case 573: + case 575: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3048 +//line sql.y:3050 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: DropStr, Column: yyDollar[3].colIdent}} } - case 574: + case 576: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3052 +//line sql.y:3054 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, Type: PrimaryStr}} } - case 575: + case 577: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3056 +//line sql.y:3058 { ddl := &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr}} ddl.IndexSpec = &IndexSpec{Action: CreateStr, Using: NewColIdent(""), ToName: NewColIdent(yyDollar[2].str), Type: PrimaryStr, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions} yyVAL.ddl = ddl } - case 576: + case 578: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3063 +//line sql.y:3065 { yyVAL.columnOrder = nil } - case 577: + case 579: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3067 +//line sql.y:3069 { yyVAL.columnOrder = &ColumnOrder{First: true} } - case 578: + case 580: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3071 +//line sql.y:3073 { yyVAL.columnOrder = &ColumnOrder{AfterColumn: NewColIdent(string(yyDollar[2].bytes))} } - case 579: + case 581: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3076 +//line sql.y:3078 { } - case 580: + case 582: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3078 +//line sql.y:3080 { } - case 581: + case 583: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3082 +//line sql.y:3084 { yyVAL.partSpec = &PartitionSpec{Action: ReorganizeStr, Name: yyDollar[3].colIdent, Definitions: yyDollar[6].partDefs} } - case 582: + case 584: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3088 +//line sql.y:3090 { yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef} } - case 583: + case 585: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3092 +//line sql.y:3094 { yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef) } - case 584: + case 586: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3098 +//line sql.y:3100 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr} } - case 585: + case 587: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3102 +//line sql.y:3104 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} } - case 586: + case 588: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3108 +//line sql.y:3110 { yyVAL.statement = yyDollar[3].ddl } - case 587: + case 589: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3112 +//line sql.y:3114 { yyVAL.statement = &RenameUser{Accounts: yyDollar[3].accountRenames} } - case 588: + case 590: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3118 +//line sql.y:3120 { yyVAL.ddl = &DDL{Action: RenameStr, FromTables: TableNames{yyDollar[1].tableName}, ToTables: TableNames{yyDollar[3].tableName}} } - case 589: + case 591: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3122 +//line sql.y:3124 { yyVAL.ddl = yyDollar[1].ddl yyVAL.ddl.FromTables = append(yyVAL.ddl.FromTables, yyDollar[3].tableName) yyVAL.ddl.ToTables = append(yyVAL.ddl.ToTables, yyDollar[5].tableName) } - case 590: + case 592: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3130 +//line sql.y:3132 { yyVAL.accountRenames = []AccountRename{{From: yyDollar[1].accountName, To: yyDollar[3].accountName}} } - case 591: + case 593: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3134 +//line sql.y:3136 { yyVAL.accountRenames = append(yyDollar[1].accountRenames, AccountRename{From: yyDollar[3].accountName, To: yyDollar[5].accountName}) } - case 592: + case 594: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:3142 + { + yyVAL.statement = &FlushPrivileges{} + } + case 595: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3140 +//line sql.y:3148 { var exists bool if yyDollar[3].byt != 0 { @@ -9540,15 +9523,15 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromTables: yyDollar[4].tableNames, IfExists: exists} } - case 593: + case 596: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3148 +//line sql.y:3156 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[5].tableName, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 594: + case 597: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3152 +//line sql.y:3160 { var exists bool if yyDollar[3].byt != 0 { @@ -9556,9 +9539,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromViews: yyDollar[4].tableNames, IfExists: exists} } - case 595: + case 598: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3160 +//line sql.y:3168 { var exists bool if yyDollar[3].byt != 0 { @@ -9566,9 +9549,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes), IfExists: exists} } - case 596: + case 599: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3168 +//line sql.y:3176 { var exists bool if yyDollar[3].byt != 0 { @@ -9576,9 +9559,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes), IfExists: exists} } - case 597: + case 600: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3176 +//line sql.y:3184 { var exists bool if yyDollar[3].byt != 0 { @@ -9586,9 +9569,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, TriggerSpec: &TriggerSpec{Name: string(yyDollar[4].bytes)}, IfExists: exists} } - case 598: + case 601: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3184 +//line sql.y:3192 { var exists bool if yyDollar[3].byt != 0 { @@ -9596,9 +9579,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, ProcedureSpec: &ProcedureSpec{Name: string(yyDollar[4].bytes)}, IfExists: exists} } - case 599: + case 602: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3192 +//line sql.y:3200 { var exists bool if yyDollar[3].byt != 0 { @@ -9606,9 +9589,9 @@ yydefault: } yyVAL.statement = &DropUser{IfExists: exists, AccountNames: yyDollar[4].accountNames} } - case 600: + case 603: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3200 +//line sql.y:3208 { var exists bool if yyDollar[3].byt != 0 { @@ -9616,193 +9599,193 @@ yydefault: } yyVAL.statement = &DropRole{IfExists: exists, Roles: yyDollar[4].accountNames} } - case 601: + case 604: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3209 +//line sql.y:3217 { } - case 602: + case 605: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3213 +//line sql.y:3221 { yyVAL.ReferenceAction = Restrict } - case 603: + case 606: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3217 +//line sql.y:3225 { yyVAL.ReferenceAction = Cascade } - case 604: + case 607: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3223 +//line sql.y:3231 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[3].tableName} } - case 605: + case 608: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3227 +//line sql.y:3235 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[2].tableName} } - case 606: + case 609: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3232 +//line sql.y:3240 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[3].tableName} } - case 607: + case 610: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3238 +//line sql.y:3246 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } - case 608: + case 611: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3243 +//line sql.y:3251 { yyVAL.statement = &Show{Type: CharsetStr, Filter: yyDollar[4].showFilter} } - case 609: + case 612: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3247 +//line sql.y:3255 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Filter: yyDollar[3].showFilter} } - case 610: + case 613: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3251 +//line sql.y:3259 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), IfNotExists: yyDollar[4].byt == 1, Database: string(yyDollar[5].bytes)} } - case 611: + case 614: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3255 +//line sql.y:3263 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), IfNotExists: yyDollar[4].byt == 1, Database: string(yyDollar[5].bytes)} } - case 612: + case 615: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3259 +//line sql.y:3267 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } - case 613: + case 616: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3263 +//line sql.y:3271 { yyVAL.statement = &Show{Type: CreateTriggerStr, Table: yyDollar[4].tableName} } - case 614: + case 617: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3267 +//line sql.y:3275 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } - case 615: + case 618: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3271 +//line sql.y:3279 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 616: + case 619: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3275 +//line sql.y:3283 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 617: + case 620: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3279 +//line sql.y:3287 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 618: + case 621: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3283 +//line sql.y:3291 { yyVAL.statement = &Show{Type: IndexStr, Table: yyDollar[4].tableName, Database: yyDollar[5].str, ShowIndexFilterOpt: yyDollar[6].expr} } - case 619: + case 622: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3287 +//line sql.y:3295 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 620: + case 623: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3291 +//line sql.y:3299 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 621: + case 624: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3295 +//line sql.y:3303 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 622: + case 625: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3299 +//line sql.y:3307 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 623: + case 626: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3303 +//line sql.y:3311 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Database: yyDollar[4].str, Filter: yyDollar[5].showFilter} } - case 624: + case 627: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3307 +//line sql.y:3315 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Full: yyDollar[2].boolean} } - case 625: + case 628: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3312 +//line sql.y:3320 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[4].str, Filter: yyDollar[6].showFilter, AsOf: yyDollar[5].expr} yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt, Full: yyDollar[2].boolean} } - case 626: + case 629: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3317 +//line sql.y:3325 { yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), Full: yyDollar[2].boolean} } - case 627: + case 630: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3321 +//line sql.y:3329 { yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), ShowTablesOpt: &ShowTablesOpt{DbName: yyDollar[4].str, Filter: yyDollar[5].showFilter}, Full: yyDollar[2].boolean} } - case 628: + case 631: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3325 +//line sql.y:3333 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 629: + case 632: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3329 +//line sql.y:3337 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 630: + case 633: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3333 +//line sql.y:3341 { // Cannot dereference $4 directly, or else the parser stackcannot be pooled. See yyParsePooled showCollationFilterOpt := yyDollar[4].expr yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &showCollationFilterOpt} } - case 631: + case 634: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3339 +//line sql.y:3347 { // Cannot dereference $3 directly, or else the parser stackcannot be pooled. See yyParsePooled cmp := yyDollar[3].expr.(*ComparisonExpr) @@ -9810,388 +9793,388 @@ yydefault: var ex Expr = cmp yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &ex} } - case 632: + case 635: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3347 +//line sql.y:3355 { yyVAL.statement = &ShowGrants{} } - case 633: + case 636: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3351 +//line sql.y:3359 { an := yyDollar[4].accountName yyVAL.statement = &ShowGrants{For: &an} } - case 634: + case 637: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3356 +//line sql.y:3364 { yyVAL.statement = &ShowGrants{CurrentUser: true} } - case 635: + case 638: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3360 +//line sql.y:3368 { an := yyDollar[4].accountName yyVAL.statement = &ShowGrants{For: &an, Using: yyDollar[6].accountNames} } - case 636: + case 639: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3365 +//line sql.y:3373 { yyVAL.statement = &ShowPrivileges{} } - case 637: + case 640: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3369 +//line sql.y:3377 { yyVAL.statement = &Show{Type: string(yyDollar[6].bytes), CountStar: true} } - case 638: + case 641: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3373 +//line sql.y:3381 { yyVAL.statement = &Show{Type: string(yyDollar[6].bytes), CountStar: true} } - case 639: + case 642: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3377 +//line sql.y:3385 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Limit: yyDollar[3].limit} } - case 640: + case 643: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3381 +//line sql.y:3389 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Limit: yyDollar[3].limit} } - case 641: + case 644: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3387 +//line sql.y:3395 { yyVAL.expr = &ComparisonExpr{Operator: LikeStr, Right: yyDollar[2].expr, Escape: yyDollar[3].expr} } - case 642: + case 645: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3393 +//line sql.y:3401 { yyVAL.boolean = false } - case 643: + case 646: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3397 +//line sql.y:3405 { yyVAL.boolean = true } - case 644: + case 647: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3403 +//line sql.y:3411 { yyVAL.str = string(yyDollar[1].bytes) } - case 645: + case 648: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3407 +//line sql.y:3415 { yyVAL.str = string(yyDollar[1].bytes) } - case 646: + case 649: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3413 +//line sql.y:3421 { yyVAL.str = "" } - case 647: + case 650: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3417 +//line sql.y:3425 { yyVAL.str = yyDollar[2].tableIdent.v } - case 648: + case 651: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3421 +//line sql.y:3429 { yyVAL.str = yyDollar[2].tableIdent.v } - case 649: + case 652: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3427 +//line sql.y:3435 { yyVAL.showFilter = nil } - case 650: + case 653: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3431 +//line sql.y:3439 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 651: + case 654: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3435 +//line sql.y:3443 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } - case 652: + case 655: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3441 +//line sql.y:3449 { yyVAL.str = "" } - case 653: + case 656: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3445 +//line sql.y:3453 { yyVAL.str = SessionStr } - case 654: + case 657: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3449 +//line sql.y:3457 { yyVAL.str = GlobalStr } - case 655: + case 658: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3455 +//line sql.y:3463 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } - case 656: + case 659: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3459 +//line sql.y:3467 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } - case 657: + case 660: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3465 +//line sql.y:3473 { yyVAL.statement = &Begin{} } - case 658: + case 661: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3469 +//line sql.y:3477 { yyVAL.statement = yyDollar[1].statement } - case 659: + case 662: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3475 +//line sql.y:3483 { yyVAL.statement = &Begin{} } - case 660: + case 663: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3479 +//line sql.y:3487 { yyVAL.statement = &Begin{TransactionCharacteristic: TxReadWrite} } - case 661: + case 664: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3483 +//line sql.y:3491 { yyVAL.statement = &Begin{TransactionCharacteristic: TxReadOnly} } - case 662: + case 665: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3489 +//line sql.y:3497 { yyVAL.statement = &Commit{} } - case 663: + case 666: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3495 +//line sql.y:3503 { yyVAL.statement = &Rollback{} } - case 664: + case 667: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3501 +//line sql.y:3509 { yyVAL.statement = &Savepoint{Identifier: string(yyDollar[2].bytes)} } - case 665: + case 668: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3507 +//line sql.y:3515 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[3].bytes)} } - case 666: + case 669: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3511 +//line sql.y:3519 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[4].bytes)} } - case 667: + case 670: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3515 +//line sql.y:3523 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[4].bytes)} } - case 668: + case 671: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3519 +//line sql.y:3527 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[5].bytes)} } - case 669: + case 672: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3525 +//line sql.y:3533 { yyVAL.statement = &ReleaseSavepoint{Identifier: string(yyDollar[3].bytes)} } - case 670: + case 673: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3530 +//line sql.y:3538 { } - case 671: + case 674: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3531 +//line sql.y:3539 { } - case 672: + case 675: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3535 +//line sql.y:3543 { yyVAL.statement = &Explain{ExplainFormat: yyDollar[2].str, Statement: yyDollar[3].statement} } - case 673: + case 676: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3539 +//line sql.y:3547 { yyVAL.statement = &Explain{Analyze: true, ExplainFormat: TreeStr, Statement: yyDollar[3].selStmt} } - case 674: + case 677: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3545 +//line sql.y:3553 { yyVAL.statement = yyDollar[1].selStmt } - case 678: + case 681: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3553 +//line sql.y:3561 { yyVAL.str = "" } - case 679: + case 682: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3557 +//line sql.y:3565 { yyVAL.str = string(yyDollar[3].bytes) } - case 682: + case 685: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3568 +//line sql.y:3576 { yyVAL.statement = &Show{Type: "columns", OnTable: yyDollar[2].tableName} } - case 683: + case 686: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3573 +//line sql.y:3581 { setAllowComments(yylex, true) } - case 684: + case 687: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3577 +//line sql.y:3585 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 685: + case 688: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3583 +//line sql.y:3591 { yyVAL.bytes2 = nil } - case 686: + case 689: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3587 +//line sql.y:3595 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 687: + case 690: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3593 +//line sql.y:3601 { yyVAL.str = UnionStr } - case 688: + case 691: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3597 +//line sql.y:3605 { yyVAL.str = UnionAllStr } - case 689: + case 692: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3601 +//line sql.y:3609 { yyVAL.str = UnionDistinctStr } - case 690: + case 693: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3606 +//line sql.y:3614 { yyVAL.byt = 0 } - case 691: + case 694: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3610 +//line sql.y:3618 { yyVAL.byt = 1 } - case 692: + case 695: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3615 +//line sql.y:3623 { yyVAL.str = "" } - case 693: + case 696: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3619 +//line sql.y:3627 { yyVAL.str = SQLNoCacheStr } - case 694: + case 697: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3623 +//line sql.y:3631 { yyVAL.str = SQLCacheStr } - case 695: + case 698: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3628 +//line sql.y:3636 { yyVAL.str = "" } - case 696: + case 699: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3632 +//line sql.y:3640 { yyVAL.str = "" } - case 697: + case 700: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3636 +//line sql.y:3644 { yyVAL.str = DistinctStr } - case 698: + case 701: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3641 +//line sql.y:3649 { yyVAL.str = "" } - case 699: + case 702: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3645 +//line sql.y:3653 { yyVAL.str = StraightJoinHint } - case 700: + case 703: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3651 +//line sql.y:3659 { if ae, ok := yyDollar[2].selectExpr.(*AliasedExpr); ok { ae.StartParsePos = yyDollar[1].int @@ -10199,9 +10182,9 @@ yydefault: } yyVAL.selectExprs = SelectExprs{yyDollar[2].selectExpr} } - case 701: + case 704: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3659 +//line sql.y:3667 { if ae, ok := yyDollar[4].selectExpr.(*AliasedExpr); ok { ae.StartParsePos = yyDollar[3].int @@ -10209,129 +10192,129 @@ yydefault: } yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[4].selectExpr) } - case 702: + case 705: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3670 +//line sql.y:3678 { yyVAL.selectExpr = &StarExpr{} } - case 703: + case 706: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3674 +//line sql.y:3682 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr} } - case 704: + case 707: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3678 +//line sql.y:3686 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 705: + case 708: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3682 +//line sql.y:3690 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 706: + case 709: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3688 +//line sql.y:3696 { yyVAL.selectExpr = &StarExpr{} } - case 707: + case 710: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3692 +//line sql.y:3700 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 708: + case 711: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3696 +//line sql.y:3704 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 709: + case 712: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3700 +//line sql.y:3708 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 710: + case 713: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3706 +//line sql.y:3714 { yyVAL.over = &Over{NameRef: yyDollar[2].colIdent} } - case 711: + case 714: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3710 +//line sql.y:3718 { yyVAL.over = (*Over)(yyDollar[2].windowDef) } - case 712: + case 715: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3716 +//line sql.y:3724 { yyVAL.windowDef = &WindowDef{NameRef: yyDollar[2].colIdent, PartitionBy: yyDollar[3].exprs, OrderBy: yyDollar[4].orderBy, Frame: yyDollar[5].frame} } - case 713: + case 716: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3721 +//line sql.y:3729 { yyVAL.colIdent = ColIdent{} } - case 714: + case 717: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3724 +//line sql.y:3732 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 715: + case 718: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3729 +//line sql.y:3737 { yyVAL.exprs = nil } - case 716: + case 719: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3733 +//line sql.y:3741 { yyVAL.exprs = yyDollar[3].exprs } - case 717: + case 720: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3738 +//line sql.y:3746 { yyVAL.over = nil } - case 718: + case 721: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3742 +//line sql.y:3750 { yyVAL.over = yyDollar[1].over } - case 719: + case 722: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3747 +//line sql.y:3755 { yyVAL.frame = nil } - case 720: + case 723: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3751 +//line sql.y:3759 { yyVAL.frame = &Frame{Unit: RowsUnit, Extent: yyDollar[2].frameExtent} } - case 721: + case 724: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3755 +//line sql.y:3763 { yyVAL.frame = &Frame{Unit: RangeUnit, Extent: yyDollar[2].frameExtent} } - case 722: + case 725: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3762 +//line sql.y:3770 { startBound := yyDollar[2].frameBound endBound := yyDollar[4].frameBound @@ -10354,9 +10337,9 @@ yydefault: } yyVAL.frameExtent = &FrameExtent{Start: startBound, End: endBound} } - case 723: + case 726: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3785 +//line sql.y:3793 { startBound := yyDollar[1].frameBound switch { @@ -10369,149 +10352,149 @@ yydefault: } yyVAL.frameExtent = &FrameExtent{Start: startBound} } - case 724: + case 727: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3800 +//line sql.y:3808 { yyVAL.frameBound = &FrameBound{Type: UnboundedPreceding} } - case 725: + case 728: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3804 +//line sql.y:3812 { yyVAL.frameBound = &FrameBound{Type: UnboundedFollowing} } - case 726: + case 729: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3808 +//line sql.y:3816 { yyVAL.frameBound = &FrameBound{Type: CurrentRow} } - case 727: + case 730: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3812 +//line sql.y:3820 { yyVAL.frameBound = &FrameBound{ Expr: yyDollar[1].expr, Type: ExprPreceding, } } - case 728: + case 731: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3819 +//line sql.y:3827 { yyVAL.frameBound = &FrameBound{ Expr: yyDollar[1].expr, Type: ExprFollowing, } } - case 729: + case 732: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3827 +//line sql.y:3835 { yyVAL.window = nil } - case 730: + case 733: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3830 +//line sql.y:3838 { yyVAL.window = yyDollar[2].window } - case 731: + case 734: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3836 +//line sql.y:3844 { yyVAL.window = Window{yyDollar[1].windowDef} } - case 732: + case 735: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3839 +//line sql.y:3847 { yyVAL.window = append(yyDollar[1].window, yyDollar[3].windowDef) } - case 733: + case 736: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3845 +//line sql.y:3853 { def := yyDollar[3].windowDef def.Name = yyDollar[1].colIdent yyVAL.windowDef = def } - case 734: + case 737: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3854 +//line sql.y:3862 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 735: + case 738: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3858 +//line sql.y:3866 { yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 736: + case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3863 +//line sql.y:3871 { yyVAL.colIdent = ColIdent{} } - case 737: + case 740: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3867 +//line sql.y:3875 { yyVAL.colIdent = yyDollar[1].colIdent } - case 738: + case 741: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3871 +//line sql.y:3879 { yyVAL.colIdent = yyDollar[2].colIdent } - case 739: + case 742: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3877 +//line sql.y:3885 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 740: + case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3881 +//line sql.y:3889 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 741: + case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3885 +//line sql.y:3893 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 742: + case 745: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3889 +//line sql.y:3897 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 743: + case 746: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3895 +//line sql.y:3903 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 744: + case 747: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3899 +//line sql.y:3907 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 747: + case 750: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3909 +//line sql.y:3917 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 748: + case 751: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3913 +//line sql.y:3921 { switch n := yyDollar[1].simpleTableExpr.(type) { case *Subquery: @@ -10521,272 +10504,272 @@ yydefault: } yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].simpleTableExpr, As: yyDollar[3].tableIdent} } - case 749: + case 752: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3923 +//line sql.y:3931 { // missed alias for subquery yylex.Error("Every derived table must have its own alias") return 1 } - case 750: + case 753: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3929 +//line sql.y:3937 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 751: + case 754: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3935 +//line sql.y:3943 { yyVAL.simpleTableExpr = &ValuesStatement{Rows: yyDollar[2].values} } - case 752: + case 755: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3941 +//line sql.y:3949 { yyVAL.values = Values{yyDollar[2].valTuple} } - case 753: + case 756: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3945 +//line sql.y:3953 { yyVAL.values = append(yyVAL.values, yyDollar[4].valTuple) } - case 754: + case 757: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3951 +//line sql.y:3959 { yyVAL.aliasedTableName = yyDollar[2].aliasedTableName yyVAL.aliasedTableName.Expr = yyDollar[1].tableName } - case 755: + case 758: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3956 +//line sql.y:3964 { yyVAL.aliasedTableName = yyDollar[6].aliasedTableName yyVAL.aliasedTableName.Expr = yyDollar[1].tableName yyVAL.aliasedTableName.Partitions = yyDollar[4].partitions } - case 756: + case 759: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3967 +//line sql.y:3975 { yyVAL.aliasedTableName = &AliasedTableExpr{Hints: yyDollar[1].indexHints} } - case 757: + case 760: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3971 +//line sql.y:3979 { yyVAL.aliasedTableName = &AliasedTableExpr{AsOf: &AsOf{Time: yyDollar[3].expr}, Hints: yyDollar[4].indexHints} } - case 758: + case 761: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3975 +//line sql.y:3983 { yyVAL.aliasedTableName = &AliasedTableExpr{AsOf: &AsOf{Time: yyDollar[3].expr}, As: yyDollar[5].tableIdent, Hints: yyDollar[6].indexHints} } - case 759: + case 762: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3979 +//line sql.y:3987 { yyVAL.aliasedTableName = &AliasedTableExpr{As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 760: + case 763: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3983 +//line sql.y:3991 { yyVAL.aliasedTableName = &AliasedTableExpr{As: yyDollar[1].tableIdent, Hints: yyDollar[2].indexHints} } - case 761: + case 764: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3994 +//line sql.y:4002 { yyVAL.expr = nil } - case 762: + case 765: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3998 +//line sql.y:4006 { yyVAL.expr = yyDollar[3].expr } - case 763: + case 766: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4003 +//line sql.y:4011 { yyVAL.columns = nil } - case 764: + case 767: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4007 +//line sql.y:4015 { yyVAL.columns = yyDollar[2].columns } - case 765: + case 768: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4013 +//line sql.y:4021 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 766: + case 769: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4017 +//line sql.y:4025 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 767: + case 770: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4023 +//line sql.y:4031 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 768: + case 771: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4027 +//line sql.y:4035 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 769: + case 772: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4040 +//line sql.y:4048 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 770: + case 773: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4044 +//line sql.y:4052 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 771: + case 774: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4048 +//line sql.y:4056 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 772: + case 775: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4052 +//line sql.y:4060 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr} } - case 773: + case 776: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4058 +//line sql.y:4066 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 774: + case 777: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4060 +//line sql.y:4068 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 775: + case 778: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4064 +//line sql.y:4072 { yyVAL.joinCondition = JoinCondition{} } - case 776: + case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4066 +//line sql.y:4074 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 777: + case 780: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4070 +//line sql.y:4078 { yyVAL.joinCondition = JoinCondition{} } - case 778: + case 781: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4072 +//line sql.y:4080 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 779: + case 782: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4075 +//line sql.y:4083 { yyVAL.empty = struct{}{} } - case 780: + case 783: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4077 +//line sql.y:4085 { yyVAL.empty = struct{}{} } - case 782: + case 785: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4082 +//line sql.y:4090 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 783: + case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4086 +//line sql.y:4094 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 784: + case 787: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4092 +//line sql.y:4100 { yyVAL.str = JoinStr } - case 785: + case 788: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4096 +//line sql.y:4104 { yyVAL.str = JoinStr } - case 786: + case 789: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4100 +//line sql.y:4108 { yyVAL.str = JoinStr } - case 787: + case 790: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4106 +//line sql.y:4114 { yyVAL.str = StraightJoinStr } - case 788: + case 791: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4112 +//line sql.y:4120 { yyVAL.str = LeftJoinStr } - case 789: + case 792: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4116 +//line sql.y:4124 { yyVAL.str = LeftJoinStr } - case 790: + case 793: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4120 +//line sql.y:4128 { yyVAL.str = RightJoinStr } - case 791: + case 794: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4124 +//line sql.y:4132 { yyVAL.str = RightJoinStr } - case 792: + case 795: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4130 +//line sql.y:4138 { yyVAL.str = NaturalJoinStr } - case 793: + case 796: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4134 +//line sql.y:4142 { if yyDollar[2].str == LeftJoinStr { yyVAL.str = NaturalLeftJoinStr @@ -10794,507 +10777,507 @@ yydefault: yyVAL.str = NaturalRightJoinStr } } - case 794: + case 797: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4144 +//line sql.y:4152 { yyVAL.tableName = yyDollar[3].tableName } - case 795: + case 798: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4150 +//line sql.y:4158 { yyVAL.tableName = yyDollar[2].tableName } - case 796: + case 799: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4154 +//line sql.y:4162 { yyVAL.tableName = yyDollar[1].tableName } - case 797: + case 800: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4160 +//line sql.y:4168 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 798: + case 801: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4164 +//line sql.y:4172 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 799: + case 802: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4170 +//line sql.y:4178 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 800: + case 803: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4175 +//line sql.y:4183 { yyVAL.indexHints = nil } - case 801: + case 804: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4179 +//line sql.y:4187 { yyVAL.indexHints = &IndexHints{Type: UseStr, Indexes: yyDollar[4].columns} } - case 802: + case 805: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4183 +//line sql.y:4191 { yyVAL.indexHints = &IndexHints{Type: IgnoreStr, Indexes: yyDollar[4].columns} } - case 803: + case 806: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4187 +//line sql.y:4195 { yyVAL.indexHints = &IndexHints{Type: ForceStr, Indexes: yyDollar[4].columns} } - case 804: + case 807: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4192 +//line sql.y:4200 { yyVAL.expr = nil } - case 805: + case 808: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4196 +//line sql.y:4204 { yyVAL.expr = yyDollar[2].expr } - case 806: + case 809: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4202 +//line sql.y:4210 { yyVAL.expr = yyDollar[1].expr } - case 807: + case 810: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4206 +//line sql.y:4214 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 808: + case 811: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4210 +//line sql.y:4218 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 809: + case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4214 +//line sql.y:4222 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 810: + case 813: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4218 +//line sql.y:4226 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].str, Expr: yyDollar[1].expr} } - case 811: + case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4222 +//line sql.y:4230 { yyVAL.expr = yyDollar[1].expr } - case 812: + case 815: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4226 +//line sql.y:4234 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 813: + case 816: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4232 +//line sql.y:4240 { yyVAL.str = "" } - case 814: + case 817: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4236 +//line sql.y:4244 { yyVAL.str = string(yyDollar[2].bytes) } - case 815: + case 818: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4242 +//line sql.y:4250 { yyVAL.boolVal = BoolVal(true) } - case 816: + case 819: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4246 +//line sql.y:4254 { yyVAL.boolVal = BoolVal(false) } - case 817: + case 820: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4252 +//line sql.y:4260 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].str, Right: yyDollar[3].expr} } - case 818: + case 821: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4256 +//line sql.y:4264 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InStr, Right: yyDollar[3].colTuple} } - case 819: + case 822: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4260 +//line sql.y:4268 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInStr, Right: yyDollar[4].colTuple} } - case 820: + case 823: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4264 +//line sql.y:4272 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeStr, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } - case 821: + case 824: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4268 +//line sql.y:4276 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeStr, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } - case 822: + case 825: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4272 +//line sql.y:4280 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpStr, Right: yyDollar[3].expr} } - case 823: + case 826: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4276 +//line sql.y:4284 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpStr, Right: yyDollar[4].expr} } - case 824: + case 827: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4280 +//line sql.y:4288 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenStr, From: yyDollar[3].expr, To: yyDollar[5].expr} } - case 825: + case 828: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4284 +//line sql.y:4292 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenStr, From: yyDollar[4].expr, To: yyDollar[6].expr} } - case 826: + case 829: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4288 +//line sql.y:4296 { yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } - case 827: + case 830: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4294 +//line sql.y:4302 { yyVAL.str = IsNullStr } - case 828: + case 831: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4298 +//line sql.y:4306 { yyVAL.str = IsNotNullStr } - case 829: + case 832: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4302 +//line sql.y:4310 { yyVAL.str = IsTrueStr } - case 830: + case 833: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4306 +//line sql.y:4314 { yyVAL.str = IsNotTrueStr } - case 831: + case 834: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4310 +//line sql.y:4318 { yyVAL.str = IsFalseStr } - case 832: + case 835: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4314 +//line sql.y:4322 { yyVAL.str = IsNotFalseStr } - case 833: + case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4320 +//line sql.y:4328 { yyVAL.str = EqualStr } - case 834: + case 837: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4324 +//line sql.y:4332 { yyVAL.str = LessThanStr } - case 835: + case 838: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4328 +//line sql.y:4336 { yyVAL.str = GreaterThanStr } - case 836: + case 839: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4332 +//line sql.y:4340 { yyVAL.str = LessEqualStr } - case 837: + case 840: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4336 +//line sql.y:4344 { yyVAL.str = GreaterEqualStr } - case 838: + case 841: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4340 +//line sql.y:4348 { yyVAL.str = NotEqualStr } - case 839: + case 842: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4344 +//line sql.y:4352 { yyVAL.str = NullSafeEqualStr } - case 840: + case 843: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4349 +//line sql.y:4357 { yyVAL.expr = nil } - case 841: + case 844: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4353 +//line sql.y:4361 { yyVAL.expr = yyDollar[2].expr } - case 842: + case 845: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4359 +//line sql.y:4367 { yyVAL.colTuple = yyDollar[1].valTuple } - case 843: + case 846: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4363 +//line sql.y:4371 { yyVAL.colTuple = yyDollar[1].subquery } - case 844: + case 847: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4367 +//line sql.y:4375 { yyVAL.colTuple = ListArg(yyDollar[1].bytes) } - case 845: + case 848: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4373 +//line sql.y:4381 { yyVAL.subquery = &Subquery{Select: yyDollar[2].selStmt} } - case 846: + case 849: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4379 +//line sql.y:4387 { yyVAL.simpleTableExpr = yyDollar[1].subquery } - case 847: + case 850: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4383 +//line sql.y:4391 { yyVAL.simpleTableExpr = yyDollar[2].simpleTableExpr } - case 848: + case 851: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4389 +//line sql.y:4397 { yyVAL.selectExprs = nil } - case 850: + case 853: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4396 +//line sql.y:4404 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 851: + case 854: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4400 +//line sql.y:4408 { yyVAL.selectExprs = append(yyDollar[1].selectExprs, yyDollar[3].selectExpr) } - case 852: + case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4406 +//line sql.y:4414 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 853: + case 856: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4410 +//line sql.y:4418 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 854: + case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4416 +//line sql.y:4424 { yyVAL.expr = yyDollar[1].expr } - case 855: + case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4420 +//line sql.y:4428 { yyVAL.expr = &ColName{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 856: + case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4424 +//line sql.y:4432 { yyVAL.expr = yyDollar[1].boolVal } - case 857: + case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4428 +//line sql.y:4436 { yyVAL.expr = yyDollar[1].colName } - case 858: + case 861: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4432 +//line sql.y:4440 { yyVAL.expr = yyDollar[1].expr } - case 859: + case 862: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4436 +//line sql.y:4444 { yyVAL.expr = yyDollar[1].subquery } - case 860: + case 863: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4440 +//line sql.y:4448 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr} } - case 861: + case 864: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4444 +//line sql.y:4452 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr} } - case 862: + case 865: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4448 +//line sql.y:4456 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr} } - case 863: + case 866: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4452 +//line sql.y:4460 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr} } - case 864: + case 867: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4456 +//line sql.y:4464 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr} } - case 865: + case 868: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4460 +//line sql.y:4468 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr} } - case 866: + case 869: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4464 +//line sql.y:4472 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr} } - case 867: + case 870: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4468 +//line sql.y:4476 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr} } - case 868: + case 871: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4472 +//line sql.y:4480 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } - case 869: + case 872: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4476 +//line sql.y:4484 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } - case 870: + case 873: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4480 +//line sql.y:4488 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr} } - case 871: + case 874: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4484 +//line sql.y:4492 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr} } - case 872: + case 875: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4488 +//line sql.y:4496 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } - case 873: + case 876: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4492 +//line sql.y:4500 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } - case 874: + case 877: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4496 +//line sql.y:4504 { yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } - case 875: + case 878: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4500 +//line sql.y:4508 { yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr} } - case 876: + case 879: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4504 +//line sql.y:4512 { yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr} } - case 877: + case 880: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4508 +//line sql.y:4516 { yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr} } - case 878: + case 881: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4512 +//line sql.y:4520 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { yyVAL.expr = num @@ -11302,9 +11285,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusStr, Expr: yyDollar[2].expr} } } - case 879: + case 882: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4520 +//line sql.y:4528 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { // Handle double negative @@ -11318,21 +11301,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusStr, Expr: yyDollar[2].expr} } } - case 880: + case 883: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4534 +//line sql.y:4542 { yyVAL.expr = &UnaryExpr{Operator: TildaStr, Expr: yyDollar[2].expr} } - case 881: + case 884: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4538 +//line sql.y:4546 { yyVAL.expr = &UnaryExpr{Operator: BangStr, Expr: yyDollar[2].expr} } - case 882: + case 885: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4542 +//line sql.y:4550 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -11340,991 +11323,991 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 889: + case 892: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4562 +//line sql.y:4570 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: yyDollar[3].str == DistinctStr, Exprs: yyDollar[4].selectExprs} } - case 890: + case 893: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4566 +//line sql.y:4574 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 891: + case 894: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4576 +//line sql.y:4584 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 892: + case 895: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4580 +//line sql.y:4588 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 893: + case 896: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4584 +//line sql.y:4592 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 894: + case 897: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4588 +//line sql.y:4596 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 895: + case 898: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4592 +//line sql.y:4600 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 896: + case 899: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4596 +//line sql.y:4604 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 897: + case 900: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4600 +//line sql.y:4608 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 898: + case 901: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4604 +//line sql.y:4612 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 899: + case 902: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4608 +//line sql.y:4616 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 900: + case 903: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4612 +//line sql.y:4620 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 901: + case 904: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4616 +//line sql.y:4624 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 902: + case 905: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4620 +//line sql.y:4628 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 903: + case 906: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4624 +//line sql.y:4632 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 904: + case 907: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4628 +//line sql.y:4636 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 905: + case 908: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4632 +//line sql.y:4640 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 906: + case 909: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4636 +//line sql.y:4644 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 907: + case 910: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4640 +//line sql.y:4648 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 908: + case 911: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4649 +//line sql.y:4657 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 909: + case 912: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4653 +//line sql.y:4661 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 910: + case 913: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4657 +//line sql.y:4665 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: SelectExprs{yyDollar[3].selectExpr}, Over: yyDollar[5].over} } - case 911: + case 914: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4661 +//line sql.y:4669 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 912: + case 915: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4665 +//line sql.y:4673 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: SelectExprs{yyDollar[3].selectExpr}, Over: yyDollar[5].over} } - case 913: + case 916: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4669 +//line sql.y:4677 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 914: + case 917: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4673 +//line sql.y:4681 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 915: + case 918: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4677 +//line sql.y:4685 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 916: + case 919: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4681 +//line sql.y:4689 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 917: + case 920: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4685 +//line sql.y:4693 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 918: + case 921: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4689 +//line sql.y:4697 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 919: + case 922: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4700 +//line sql.y:4708 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 920: + case 923: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4704 +//line sql.y:4712 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 921: + case 924: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4708 +//line sql.y:4716 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 922: + case 925: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4712 +//line sql.y:4720 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 923: + case 926: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4716 +//line sql.y:4724 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 924: + case 927: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4720 +//line sql.y:4728 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 925: + case 928: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4724 +//line sql.y:4732 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } - case 926: + case 929: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4728 +//line sql.y:4736 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 927: + case 930: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4732 +//line sql.y:4740 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 928: + case 931: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4736 +//line sql.y:4744 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 929: + case 932: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4740 +//line sql.y:4748 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 930: + case 933: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4744 +//line sql.y:4752 { yyVAL.expr = &TrimExpr{Pattern: NewStrVal([]byte(" ")), Str: yyDollar[3].expr, Dir: Both} } - case 931: + case 934: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4748 +//line sql.y:4756 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[3].expr, Str: yyDollar[5].expr, Dir: Both} } - case 932: + case 935: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4752 +//line sql.y:4760 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Leading} } - case 933: + case 936: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4756 +//line sql.y:4764 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Trailing} } - case 934: + case 937: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4760 +//line sql.y:4768 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Both} } - case 935: + case 938: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:4764 +//line sql.y:4772 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].str} } - case 936: + case 939: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4768 +//line sql.y:4776 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 937: + case 940: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4772 +//line sql.y:4780 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].str, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str} } - case 938: + case 941: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4776 +//line sql.y:4784 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } - case 939: + case 942: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4780 +//line sql.y:4788 { yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } - case 940: + case 943: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4790 +//line sql.y:4798 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 941: + case 944: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4794 +//line sql.y:4802 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 942: + case 945: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4798 +//line sql.y:4806 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 943: + case 946: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4803 +//line sql.y:4811 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 944: + case 947: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4808 +//line sql.y:4816 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 945: + case 948: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4813 +//line sql.y:4821 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 946: + case 949: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4819 +//line sql.y:4827 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 947: + case 950: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4824 +//line sql.y:4832 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 948: + case 951: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4828 +//line sql.y:4836 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 949: + case 952: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4833 +//line sql.y:4841 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 950: + case 953: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4837 +//line sql.y:4845 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 951: + case 954: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4841 +//line sql.y:4849 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 952: + case 955: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4846 +//line sql.y:4854 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 953: + case 956: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4851 +//line sql.y:4859 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 954: + case 957: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4856 +//line sql.y:4864 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 955: + case 958: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4860 +//line sql.y:4868 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 956: + case 959: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4864 +//line sql.y:4872 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 959: + case 962: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4875 +//line sql.y:4883 { yyVAL.expr = yyDollar[2].expr } - case 960: + case 963: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4885 +//line sql.y:4893 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 961: + case 964: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4889 +//line sql.y:4897 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 962: + case 965: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4893 +//line sql.y:4901 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 963: + case 966: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4897 +//line sql.y:4905 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 964: + case 967: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4901 +//line sql.y:4909 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 965: + case 968: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4905 +//line sql.y:4913 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 966: + case 969: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4911 +//line sql.y:4919 { yyVAL.str = "" } - case 967: + case 970: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4915 +//line sql.y:4923 { yyVAL.str = BooleanModeStr } - case 968: + case 971: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4919 +//line sql.y:4927 { yyVAL.str = NaturalLanguageModeStr } - case 969: + case 972: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4923 +//line sql.y:4931 { yyVAL.str = NaturalLanguageModeWithQueryExpansionStr } - case 970: + case 973: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4927 +//line sql.y:4935 { yyVAL.str = QueryExpansionStr } - case 971: + case 974: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4933 +//line sql.y:4941 { yyVAL.str = string(yyDollar[1].bytes) } - case 972: + case 975: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4937 +//line sql.y:4945 { yyVAL.str = string(yyDollar[1].bytes) } - case 973: + case 976: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4943 +//line sql.y:4951 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 974: + case 977: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4947 +//line sql.y:4955 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Operator: CharacterSetStr} } - case 975: + case 978: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4951 +//line sql.y:4959 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: string(yyDollar[3].bytes)} } - case 976: + case 979: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4955 +//line sql.y:4963 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 977: + case 980: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4959 +//line sql.y:4967 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 978: + case 981: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4963 +//line sql.y:4971 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 979: + case 982: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4969 +//line sql.y:4977 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 980: + case 983: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4973 +//line sql.y:4981 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 981: + case 984: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4977 +//line sql.y:4985 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 982: + case 985: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4981 +//line sql.y:4989 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 983: + case 986: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4985 +//line sql.y:4993 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 984: + case 987: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4989 +//line sql.y:4997 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 985: + case 988: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4993 +//line sql.y:5001 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 986: + case 989: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4998 +//line sql.y:5006 { yyVAL.expr = nil } - case 987: + case 990: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5002 +//line sql.y:5010 { yyVAL.expr = yyDollar[1].expr } - case 988: + case 991: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5007 +//line sql.y:5015 { yyVAL.str = string("") } - case 989: + case 992: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5011 +//line sql.y:5019 { yyVAL.str = string(yyDollar[2].bytes) } - case 990: + case 993: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5017 +//line sql.y:5025 { yyVAL.whens = []*When{yyDollar[1].when} } - case 991: + case 994: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5021 +//line sql.y:5029 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 992: + case 995: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5027 +//line sql.y:5035 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 993: + case 996: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5032 +//line sql.y:5040 { yyVAL.expr = nil } - case 994: + case 997: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5036 +//line sql.y:5044 { yyVAL.expr = yyDollar[2].expr } - case 995: + case 998: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5042 +//line sql.y:5050 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 996: + case 999: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5046 +//line sql.y:5054 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 997: + case 1000: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5050 +//line sql.y:5058 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 998: + case 1001: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5056 +//line sql.y:5064 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 999: + case 1002: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5060 +//line sql.y:5068 { yyVAL.expr = NewHexVal(yyDollar[1].bytes) } - case 1000: + case 1003: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5064 +//line sql.y:5072 { yyVAL.expr = NewBitVal(yyDollar[1].bytes) } - case 1001: + case 1004: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5068 +//line sql.y:5076 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1002: + case 1005: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5072 +//line sql.y:5080 { yyVAL.expr = NewFloatVal(yyDollar[1].bytes) } - case 1003: + case 1006: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5076 +//line sql.y:5084 { yyVAL.expr = NewHexNum(yyDollar[1].bytes) } - case 1004: + case 1007: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5080 +//line sql.y:5088 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1005: + case 1008: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5084 +//line sql.y:5092 { yyVAL.expr = &NullVal{} } - case 1006: + case 1009: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5090 +//line sql.y:5098 { yyVAL.expr = NewIntVal([]byte("1")) } - case 1007: + case 1010: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5094 +//line sql.y:5102 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1008: + case 1011: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5098 +//line sql.y:5106 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1009: + case 1012: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5103 +//line sql.y:5111 { yyVAL.exprs = nil } - case 1010: + case 1013: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5107 +//line sql.y:5115 { yyVAL.exprs = yyDollar[3].exprs } - case 1011: + case 1014: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5113 +//line sql.y:5121 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 1012: + case 1015: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5117 +//line sql.y:5125 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 1013: + case 1016: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5123 +//line sql.y:5131 { yyVAL.expr = yyDollar[1].expr } - case 1014: + case 1017: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5128 +//line sql.y:5136 { yyVAL.expr = nil } - case 1015: + case 1018: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5132 +//line sql.y:5140 { yyVAL.expr = yyDollar[2].expr } - case 1016: + case 1019: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5138 +//line sql.y:5146 { yyVAL.expr = yyDollar[1].expr } - case 1017: + case 1020: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5143 +//line sql.y:5151 { yyVAL.orderBy = nil } - case 1018: + case 1021: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5147 +//line sql.y:5155 { yyVAL.orderBy = yyDollar[3].orderBy } - case 1019: + case 1022: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5153 +//line sql.y:5161 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 1020: + case 1023: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5157 +//line sql.y:5165 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 1021: + case 1024: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5163 +//line sql.y:5171 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].str} } - case 1022: + case 1025: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5168 +//line sql.y:5176 { yyVAL.str = AscScr } - case 1023: + case 1026: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5172 +//line sql.y:5180 { yyVAL.str = AscScr } - case 1024: + case 1027: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5176 +//line sql.y:5184 { yyVAL.str = DescScr } - case 1025: + case 1028: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5181 +//line sql.y:5189 { yyVAL.limit = nil } - case 1026: + case 1029: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5185 +//line sql.y:5193 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 1027: + case 1030: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5189 +//line sql.y:5197 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 1028: + case 1031: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5193 +//line sql.y:5201 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 1029: + case 1032: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5199 +//line sql.y:5207 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1030: + case 1033: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5203 +//line sql.y:5211 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1031: + case 1034: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5208 +//line sql.y:5216 { yyVAL.str = "" } - case 1032: + case 1035: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5212 +//line sql.y:5220 { yyVAL.str = ForUpdateStr } - case 1033: + case 1036: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5216 +//line sql.y:5224 { yyVAL.str = ShareModeStr } - case 1034: + case 1037: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5229 +//line sql.y:5237 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 1035: + case 1038: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5233 +//line sql.y:5241 { yyVAL.ins = &Insert{Columns: []ColIdent{}, Rows: yyDollar[4].values} } - case 1036: + case 1039: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5237 +//line sql.y:5245 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 1037: + case 1040: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5241 +//line sql.y:5249 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Rows: yyDollar[2].selStmt} } - case 1038: + case 1041: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5246 +//line sql.y:5254 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 1039: + case 1042: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5250 +//line sql.y:5258 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 1040: + case 1043: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:5254 +//line sql.y:5262 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].selStmt} } - case 1041: + case 1044: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5260 +//line sql.y:5268 { yyVAL.columns = nil } - case 1042: + case 1045: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5264 +//line sql.y:5272 { yyVAL.columns = yyDollar[2].columns } - case 1043: + case 1046: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5270 +//line sql.y:5278 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 1044: + case 1047: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5274 +//line sql.y:5282 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 1045: + case 1048: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5278 +//line sql.y:5286 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 1046: + case 1049: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5282 +//line sql.y:5290 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 1047: + case 1050: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5287 +//line sql.y:5295 { yyVAL.assignExprs = nil } - case 1048: + case 1051: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5291 +//line sql.y:5299 { yyVAL.assignExprs = yyDollar[5].assignExprs } - case 1049: + case 1052: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5297 +//line sql.y:5305 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 1050: + case 1053: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5301 +//line sql.y:5309 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 1051: + case 1054: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5307 +//line sql.y:5315 { yyVAL.valTuple = yyDollar[1].valTuple } - case 1052: + case 1055: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5311 +//line sql.y:5319 { yyVAL.valTuple = ValTuple{} } - case 1053: + case 1056: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5317 +//line sql.y:5325 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 1054: + case 1057: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5323 +//line sql.y:5331 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = &ParenExpr{yyDollar[1].valTuple[0]} @@ -12332,45 +12315,45 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 1055: + case 1058: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5333 +//line sql.y:5341 { yyVAL.assignExprs = AssignmentExprs{yyDollar[1].assignExpr} } - case 1056: + case 1059: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5337 +//line sql.y:5345 { yyVAL.assignExprs = append(yyDollar[1].assignExprs, yyDollar[3].assignExpr) } - case 1057: + case 1060: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5343 +//line sql.y:5351 { yyVAL.assignExpr = &AssignmentExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 1058: + case 1061: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5346 +//line sql.y:5354 { yyVAL.assignExpr = &AssignmentExpr{Name: &ColName{Name: NewColIdent(string(yyDollar[1].bytes))}, Expr: yyDollar[3].expr} } - case 1059: + case 1062: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5352 +//line sql.y:5360 { yyVAL.setVarExprs = SetVarExprs{yyDollar[1].setVarExpr} } - case 1060: + case 1063: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5356 +//line sql.y:5364 { yyVAL.setVarExprs = append(yyDollar[1].setVarExprs, yyDollar[3].setVarExpr) } - case 1061: + case 1064: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5362 +//line sql.y:5370 { colName, scope, err := VarScopeForColName(yyDollar[1].setVarExpr.Name) if err != nil { @@ -12381,9 +12364,9 @@ yydefault: yyDollar[1].setVarExpr.Scope = scope yyVAL.setVarExpr = yyDollar[1].setVarExpr } - case 1062: + case 1065: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5373 +//line sql.y:5381 { _, scope, err := VarScopeForColName(yyDollar[2].setVarExpr.Name) if err != nil { @@ -12396,9 +12379,9 @@ yydefault: yyDollar[2].setVarExpr.Scope = yyDollar[1].setScope yyVAL.setVarExpr = yyDollar[2].setVarExpr } - case 1063: + case 1066: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5386 +//line sql.y:5394 { _, scope, err := VarScopeForColName(yyDollar[2].setVarExpr.Name) if err != nil { @@ -12411,462 +12394,462 @@ yydefault: yyDollar[2].setVarExpr.Scope = yyDollar[1].setScope yyVAL.setVarExpr = yyDollar[2].setVarExpr } - case 1064: + case 1067: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5399 +//line sql.y:5407 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(string(yyDollar[1].bytes)), Expr: yyDollar[2].expr, Scope: SetScope_Session} } - case 1065: + case 1068: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5405 +//line sql.y:5413 { yyVAL.setScope = SetScope_Global } - case 1066: + case 1069: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5409 +//line sql.y:5417 { yyVAL.setScope = SetScope_Session } - case 1067: + case 1070: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5415 +//line sql.y:5423 { yyVAL.setScope = SetScope_Session } - case 1068: + case 1071: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5419 +//line sql.y:5427 { yyVAL.setScope = SetScope_Persist } - case 1069: + case 1072: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5423 +//line sql.y:5431 { yyVAL.setScope = SetScope_PersistOnly } - case 1070: + case 1073: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5429 +//line sql.y:5437 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: NewStrVal(yyDollar[3].bytes), Scope: SetScope_None} } - case 1071: + case 1074: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5433 +//line sql.y:5441 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: NewStrVal(yyDollar[3].bytes), Scope: SetScope_None} } - case 1072: + case 1075: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5437 +//line sql.y:5445 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr, Scope: SetScope_None} } - case 1074: + case 1077: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5444 +//line sql.y:5452 { yyVAL.bytes = []byte("charset") } - case 1076: + case 1079: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5451 +//line sql.y:5459 { yyVAL.expr = NewStrVal([]byte(yyDollar[1].colIdent.String())) } - case 1077: + case 1080: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5455 +//line sql.y:5463 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 1078: + case 1081: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5459 +//line sql.y:5467 { yyVAL.expr = &Default{} } - case 1081: + case 1084: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5468 +//line sql.y:5476 { yyVAL.byt = 0 } - case 1082: + case 1085: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5470 +//line sql.y:5478 { yyVAL.byt = 1 } - case 1083: + case 1086: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5473 +//line sql.y:5481 { yyVAL.byt = 0 } - case 1084: + case 1087: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5475 +//line sql.y:5483 { yyVAL.byt = 1 } - case 1085: + case 1088: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5478 +//line sql.y:5486 { yyVAL.byt = 0 } - case 1086: + case 1089: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5480 +//line sql.y:5488 { yyVAL.byt = 1 } - case 1087: + case 1090: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5483 +//line sql.y:5491 { yyVAL.str = "" } - case 1088: + case 1091: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5485 +//line sql.y:5493 { yyVAL.str = IgnoreStr } - case 1089: + case 1092: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5488 +//line sql.y:5496 { yyVAL.sqlVal = nil } - case 1090: + case 1093: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5490 +//line sql.y:5498 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } - case 1091: + case 1094: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5494 +//line sql.y:5502 { yyVAL.empty = struct{}{} } - case 1092: + case 1095: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5496 +//line sql.y:5504 { yyVAL.empty = struct{}{} } - case 1093: + case 1096: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5499 +//line sql.y:5507 { yyVAL.empty = struct{}{} } - case 1094: + case 1097: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5501 +//line sql.y:5509 { yyVAL.empty = struct{}{} } - case 1095: + case 1098: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5503 +//line sql.y:5511 { yyVAL.empty = struct{}{} } - case 1096: + case 1099: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5507 +//line sql.y:5515 { yyVAL.str = UniqueStr } - case 1097: + case 1100: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5509 +//line sql.y:5517 { yyVAL.str = FulltextStr } - case 1098: + case 1101: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5511 +//line sql.y:5519 { yyVAL.str = SpatialStr } - case 1099: + case 1102: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5514 +//line sql.y:5522 { yyVAL.str = "" } - case 1100: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5516 +//line sql.y:5524 { yyVAL.str = yyDollar[1].str } - case 1101: + case 1104: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5519 +//line sql.y:5527 { yyVAL.colIdent = ColIdent{} } - case 1102: + case 1105: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5521 +//line sql.y:5529 { yyVAL.colIdent = yyDollar[2].colIdent } - case 1103: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5525 +//line sql.y:5533 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1104: + case 1107: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5529 +//line sql.y:5537 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1105: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5535 +//line sql.y:5543 { yyVAL.colIdents = []ColIdent{yyDollar[1].colIdent} } - case 1106: + case 1109: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5539 +//line sql.y:5547 { yyVAL.colIdents = append(yyVAL.colIdents, yyDollar[3].colIdent) } - case 1108: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5546 +//line sql.y:5554 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1109: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5552 +//line sql.y:5560 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1110: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5556 +//line sql.y:5564 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1112: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5563 +//line sql.y:5571 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1113: + case 1116: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5568 +//line sql.y:5576 { yyVAL.str = string("") } - case 1114: + case 1117: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5570 +//line sql.y:5578 { yyVAL.str = string(yyDollar[2].bytes) } - case 1115: + case 1118: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5573 +//line sql.y:5581 { yyVAL.boolVal = BoolVal(false) } - case 1116: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5575 +//line sql.y:5583 { yyVAL.boolVal = BoolVal(true) } - case 1117: + case 1120: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5578 +//line sql.y:5586 { yyVAL.EnclosedBy = nil } - case 1118: + case 1121: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5582 +//line sql.y:5590 { yyVAL.EnclosedBy = &EnclosedBy{Optionally: yyDollar[1].boolVal, Delim: NewStrVal(yyDollar[4].bytes)} } - case 1119: + case 1122: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5587 +//line sql.y:5595 { yyVAL.boolVal = BoolVal(false) } - case 1120: + case 1123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5591 +//line sql.y:5599 { yyVAL.boolVal = BoolVal(true) } - case 1121: + case 1124: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5596 +//line sql.y:5604 { yyVAL.sqlVal = nil } - case 1122: + case 1125: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5600 +//line sql.y:5608 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1123: + case 1126: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5605 +//line sql.y:5613 { yyVAL.sqlVal = nil } - case 1124: + case 1127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5609 +//line sql.y:5617 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1125: + case 1128: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5614 +//line sql.y:5622 { yyVAL.Fields = nil } - case 1126: + case 1129: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5618 +//line sql.y:5626 { yyVAL.Fields = &Fields{TerminatedBy: yyDollar[2].sqlVal, EnclosedBy: yyDollar[3].EnclosedBy, EscapedBy: yyDollar[4].sqlVal} } - case 1127: + case 1130: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5623 +//line sql.y:5631 { yyVAL.Lines = nil } - case 1128: + case 1131: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5627 +//line sql.y:5635 { yyVAL.Lines = &Lines{StartingBy: yyDollar[2].sqlVal, TerminatedBy: yyDollar[3].sqlVal} } - case 1129: + case 1132: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5632 +//line sql.y:5640 { yyVAL.sqlVal = nil } - case 1130: + case 1133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5636 +//line sql.y:5644 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1131: + case 1134: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5642 +//line sql.y:5650 { yyVAL.statement = &LockTables{Tables: yyDollar[3].tableAndLockTypes} } - case 1132: + case 1135: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5648 +//line sql.y:5656 { yyVAL.tableAndLockTypes = TableAndLockTypes{yyDollar[1].tableAndLockType} } - case 1133: + case 1136: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5652 +//line sql.y:5660 { yyVAL.tableAndLockTypes = append(yyDollar[1].tableAndLockTypes, yyDollar[3].tableAndLockType) } - case 1134: + case 1137: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5658 +//line sql.y:5666 { yyVAL.tableAndLockType = &TableAndLockType{Table: &AliasedTableExpr{Expr: yyDollar[1].tableName}, Lock: yyDollar[2].lockType} } - case 1135: + case 1138: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5662 +//line sql.y:5670 { yyVAL.tableAndLockType = &TableAndLockType{Table: &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[3].tableIdent}, Lock: yyDollar[4].lockType} } - case 1136: + case 1139: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5668 +//line sql.y:5676 { yyVAL.lockType = LockRead } - case 1137: + case 1140: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5672 +//line sql.y:5680 { yyVAL.lockType = LockReadLocal } - case 1138: + case 1141: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5676 +//line sql.y:5684 { yyVAL.lockType = LockWrite } - case 1139: + case 1142: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5680 +//line sql.y:5688 { yyVAL.lockType = LockLowPriorityWrite } - case 1140: + case 1143: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5686 +//line sql.y:5694 { yyVAL.statement = &UnlockTables{} } - case 1141: + case 1144: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5692 +//line sql.y:5700 { yyVAL.statement = &Kill{Connection: true, ConnID: NewIntVal(yyDollar[2].bytes)} } - case 1142: + case 1145: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5696 +//line sql.y:5704 { yyVAL.statement = &Kill{ConnID: NewIntVal(yyDollar[3].bytes)} } - case 1143: + case 1146: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5700 +//line sql.y:5708 { yyVAL.statement = &Kill{Connection: true, ConnID: NewIntVal(yyDollar[3].bytes)} } - case 1569: + case 1572: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6155 +//line sql.y:6163 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1570: + case 1573: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6164 +//line sql.y:6172 { decNesting(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index caf23861405..9e24a58e65a 100755 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -303,7 +303,7 @@ func yyOldPosition(yylex interface{}) int { %type trigger_begin_end_block statement_list_statement case_statement if_statement signal_statement %type begin_end_block declare_statement resignal_statement %type savepoint_statement rollback_savepoint_statement release_savepoint_statement -%type lock_statement unlock_statement kill_statement grant_statement revoke_statement +%type lock_statement unlock_statement kill_statement grant_statement revoke_statement flush_statement %type statement_list %type case_statement_case_list %type case_statement_case @@ -515,6 +515,7 @@ command: | kill_statement | grant_statement | revoke_statement +| flush_statement | /*empty*/ { setParseTree(yylex, nil) @@ -2002,6 +2003,7 @@ statement_list_statement: | grant_statement | revoke_statement | begin_end_block +| flush_statement create_table_prefix: CREATE temp_opt TABLE not_exists_opt table_name @@ -3135,6 +3137,12 @@ rename_user_list: $$ = append($1, AccountRename{From: $3, To: $5}) } +flush_statement: + FLUSH PRIVILEGES + { + $$ = &FlushPrivileges{} + } + drop_statement: DROP TABLE exists_opt table_name_list drop_statement_action { From 16b0c5c2defa31cd39f8d21dc41c4a713de12635 Mon Sep 17 00:00:00 2001 From: jennifersp Date: Tue, 1 Mar 2022 12:15:08 -0800 Subject: [PATCH 2/6] update --- go/vt/sqlparser/sql.go | 5475 ++++++++++++++++++++-------------------- go/vt/sqlparser/sql.y | 16 +- 2 files changed, 2767 insertions(+), 2724 deletions(-) diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 753a7839271..2f4b924bf3d 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -285,128 +285,128 @@ const DROP = 57464 const RENAME = 57465 const ANALYZE = 57466 const ADD = 57467 -const FLUSH = 57468 -const MODIFY = 57469 -const CHANGE = 57470 -const SCHEMA = 57471 -const TABLE = 57472 -const INDEX = 57473 -const INDEXES = 57474 -const VIEW = 57475 -const TO = 57476 -const IGNORE = 57477 -const IF = 57478 -const PRIMARY = 57479 -const COLUMN = 57480 -const SPATIAL = 57481 -const FULLTEXT = 57482 -const KEY_BLOCK_SIZE = 57483 -const CHECK = 57484 -const ACTION = 57485 -const CASCADE = 57486 -const CONSTRAINT = 57487 -const FOREIGN = 57488 -const NO = 57489 -const REFERENCES = 57490 -const RESTRICT = 57491 -const FIRST = 57492 -const AFTER = 57493 -const SHOW = 57494 -const DESCRIBE = 57495 -const EXPLAIN = 57496 -const DATE = 57497 -const ESCAPE = 57498 -const REPAIR = 57499 -const OPTIMIZE = 57500 -const TRUNCATE = 57501 -const FORMAT = 57502 -const MAXVALUE = 57503 -const REORGANIZE = 57504 -const LESS = 57505 -const THAN = 57506 -const PROCEDURE = 57507 -const TRIGGER = 57508 -const TRIGGERS = 57509 -const FUNCTION = 57510 -const STATUS = 57511 -const VARIABLES = 57512 -const WARNINGS = 57513 -const ERRORS = 57514 -const KILL = 57515 -const CONNECTION = 57516 -const SEQUENCE = 57517 -const EACH = 57518 -const ROW = 57519 -const BEFORE = 57520 -const FOLLOWS = 57521 -const PRECEDES = 57522 -const DEFINER = 57523 -const INVOKER = 57524 -const INOUT = 57525 -const OUT = 57526 -const DETERMINISTIC = 57527 -const CONTAINS = 57528 -const READS = 57529 -const MODIFIES = 57530 -const SQL = 57531 -const SECURITY = 57532 -const TEMPORARY = 57533 -const CLASS_ORIGIN = 57534 -const SUBCLASS_ORIGIN = 57535 -const MESSAGE_TEXT = 57536 -const MYSQL_ERRNO = 57537 -const CONSTRAINT_CATALOG = 57538 -const CONSTRAINT_SCHEMA = 57539 -const CONSTRAINT_NAME = 57540 -const CATALOG_NAME = 57541 -const SCHEMA_NAME = 57542 -const TABLE_NAME = 57543 -const COLUMN_NAME = 57544 -const CURSOR_NAME = 57545 -const SIGNAL = 57546 -const RESIGNAL = 57547 -const SQLSTATE = 57548 -const DECLARE = 57549 -const CONDITION = 57550 -const CURSOR = 57551 -const CONTINUE = 57552 -const EXIT = 57553 -const UNDO = 57554 -const HANDLER = 57555 -const FOUND = 57556 -const SQLWARNING = 57557 -const SQLEXCEPTION = 57558 -const USER = 57559 -const IDENTIFIED = 57560 -const ROLE = 57561 -const REUSE = 57562 -const GRANT = 57563 -const GRANTS = 57564 -const REVOKE = 57565 -const NONE = 57566 -const ATTRIBUTE = 57567 -const RANDOM = 57568 -const PASSWORD = 57569 -const INITIAL = 57570 -const AUTHENTICATION = 57571 -const SSL = 57572 -const X509 = 57573 -const CIPHER = 57574 -const ISSUER = 57575 -const SUBJECT = 57576 -const ACCOUNT = 57577 -const EXPIRE = 57578 -const NEVER = 57579 -const DAY = 57580 -const OPTION = 57581 -const OPTIONAL = 57582 -const EXCEPT = 57583 -const ADMIN = 57584 -const PRIVILEGES = 57585 -const MAX_QUERIES_PER_HOUR = 57586 -const MAX_UPDATES_PER_HOUR = 57587 -const MAX_CONNECTIONS_PER_HOUR = 57588 -const MAX_USER_CONNECTIONS = 57589 +const MODIFY = 57468 +const CHANGE = 57469 +const SCHEMA = 57470 +const TABLE = 57471 +const INDEX = 57472 +const INDEXES = 57473 +const VIEW = 57474 +const TO = 57475 +const IGNORE = 57476 +const IF = 57477 +const PRIMARY = 57478 +const COLUMN = 57479 +const SPATIAL = 57480 +const FULLTEXT = 57481 +const KEY_BLOCK_SIZE = 57482 +const CHECK = 57483 +const ACTION = 57484 +const CASCADE = 57485 +const CONSTRAINT = 57486 +const FOREIGN = 57487 +const NO = 57488 +const REFERENCES = 57489 +const RESTRICT = 57490 +const FIRST = 57491 +const AFTER = 57492 +const SHOW = 57493 +const DESCRIBE = 57494 +const EXPLAIN = 57495 +const DATE = 57496 +const ESCAPE = 57497 +const REPAIR = 57498 +const OPTIMIZE = 57499 +const TRUNCATE = 57500 +const FORMAT = 57501 +const MAXVALUE = 57502 +const REORGANIZE = 57503 +const LESS = 57504 +const THAN = 57505 +const PROCEDURE = 57506 +const TRIGGER = 57507 +const TRIGGERS = 57508 +const FUNCTION = 57509 +const STATUS = 57510 +const VARIABLES = 57511 +const WARNINGS = 57512 +const ERRORS = 57513 +const KILL = 57514 +const CONNECTION = 57515 +const SEQUENCE = 57516 +const EACH = 57517 +const ROW = 57518 +const BEFORE = 57519 +const FOLLOWS = 57520 +const PRECEDES = 57521 +const DEFINER = 57522 +const INVOKER = 57523 +const INOUT = 57524 +const OUT = 57525 +const DETERMINISTIC = 57526 +const CONTAINS = 57527 +const READS = 57528 +const MODIFIES = 57529 +const SQL = 57530 +const SECURITY = 57531 +const TEMPORARY = 57532 +const CLASS_ORIGIN = 57533 +const SUBCLASS_ORIGIN = 57534 +const MESSAGE_TEXT = 57535 +const MYSQL_ERRNO = 57536 +const CONSTRAINT_CATALOG = 57537 +const CONSTRAINT_SCHEMA = 57538 +const CONSTRAINT_NAME = 57539 +const CATALOG_NAME = 57540 +const SCHEMA_NAME = 57541 +const TABLE_NAME = 57542 +const COLUMN_NAME = 57543 +const CURSOR_NAME = 57544 +const SIGNAL = 57545 +const RESIGNAL = 57546 +const SQLSTATE = 57547 +const DECLARE = 57548 +const CONDITION = 57549 +const CURSOR = 57550 +const CONTINUE = 57551 +const EXIT = 57552 +const UNDO = 57553 +const HANDLER = 57554 +const FOUND = 57555 +const SQLWARNING = 57556 +const SQLEXCEPTION = 57557 +const USER = 57558 +const IDENTIFIED = 57559 +const ROLE = 57560 +const REUSE = 57561 +const GRANT = 57562 +const GRANTS = 57563 +const REVOKE = 57564 +const NONE = 57565 +const ATTRIBUTE = 57566 +const RANDOM = 57567 +const PASSWORD = 57568 +const INITIAL = 57569 +const AUTHENTICATION = 57570 +const SSL = 57571 +const X509 = 57572 +const CIPHER = 57573 +const ISSUER = 57574 +const SUBJECT = 57575 +const ACCOUNT = 57576 +const EXPIRE = 57577 +const NEVER = 57578 +const DAY = 57579 +const OPTION = 57580 +const OPTIONAL = 57581 +const EXCEPT = 57582 +const ADMIN = 57583 +const PRIVILEGES = 57584 +const MAX_QUERIES_PER_HOUR = 57585 +const MAX_UPDATES_PER_HOUR = 57586 +const MAX_CONNECTIONS_PER_HOUR = 57587 +const MAX_USER_CONNECTIONS = 57588 +const FLUSH = 57589 const FAILED_LOGIN_ATTEMPTS = 57590 const PASSWORD_LOCK_TIME = 57591 const REQUIRE = 57592 @@ -776,7 +776,6 @@ var yyToknames = [...]string{ "RENAME", "ANALYZE", "ADD", - "FLUSH", "MODIFY", "CHANGE", "SCHEMA", @@ -898,6 +897,7 @@ var yyToknames = [...]string{ "MAX_UPDATES_PER_HOUR", "MAX_CONNECTIONS_PER_HOUR", "MAX_USER_CONNECTIONS", + "FLUSH", "FAILED_LOGIN_ATTEMPTS", "PASSWORD_LOCK_TIME", "REQUIRE", @@ -1140,12 +1140,12 @@ var yyExca = [...]int{ 5, 50, -2, 1020, -1, 43, - 148, 1084, - 149, 1102, - -2, 231, + 147, 1084, + 148, 1102, + -2, 232, -1, 49, + 186, 655, 187, 655, - 188, 655, -2, 645, -1, 503, 135, 1112, @@ -1214,25 +1214,25 @@ var yyExca = [...]int{ 135, 1115, -2, 1111, -1, 1517, - 44, 503, + 44, 504, -2, 1342, -1, 1521, - 68, 503, + 68, 504, -2, 1292, -1, 1524, - 68, 499, - 72, 499, - -2, 1214, - -1, 1525, 68, 500, 72, 500, + -2, 1214, + -1, 1525, + 68, 501, + 72, 501, -2, 1224, -1, 1640, - 44, 546, - 155, 548, - 157, 546, - 158, 546, - -2, 581, + 44, 547, + 154, 549, + 156, 547, + 157, 547, + -2, 582, -1, 1710, 5, 51, -2, 848, @@ -1267,8 +1267,8 @@ var yyExca = [...]int{ 490, 803, -2, 782, -1, 2133, - 155, 549, - -2, 547, + 154, 550, + -2, 548, -1, 2194, 5, 51, -2, 1040, @@ -1282,7 +1282,7 @@ var yyExca = [...]int{ const yyPrivate = 57344 -const yyLast = 32334 +const yyLast = 32769 var yyAct = [...]int{ 566, 80, 2725, 2675, 2699, 2547, 2689, 2579, 2533, 817, @@ -1302,206 +1302,206 @@ var yyAct = [...]int{ 1109, 1123, 606, 607, 982, 451, 127, 602, 1284, 412, 411, 599, 804, 501, 1115, 877, 85, 127, 1079, 2747, 2743, 127, 636, 2733, 816, 127, 2715, 2713, 2694, 973, - 2670, 2602, 82, 1277, 449, 2373, 2079, 2231, 404, 127, - 437, 69, 636, 36, 36, 629, 613, 2706, 36, 36, - 127, 2371, 2588, 2688, 87, 88, 89, 90, 91, 2528, - 2658, 2386, 1870, 1592, 2563, 2374, 36, 1744, 72, 39, - 40, 2091, 2587, 1992, 2490, 427, 2513, 421, 432, 415, - 1685, 2186, 803, 2040, 1745, 2326, 2041, 2042, 1620, 1472, - 72, 39, 40, 2444, 3, 36, 955, 72, 39, 40, - 422, 1592, 1283, 1493, 2527, 81, 81, 1494, 1495, 59, - 81, 81, 41, 1300, 806, 78, 809, 810, 1787, 41, - 927, 1786, 1319, 1320, 1788, 1281, 1282, 1125, 81, 1126, - 853, 854, 2238, 837, 838, 623, 935, 840, 403, 402, - 2240, 1825, 1619, 1528, 1233, 896, 1534, 1536, 1542, 1535, - 852, 1548, 2310, 1543, 1543, 406, 581, 81, 587, 589, - 588, 585, 586, 584, 583, 582, 2583, 109, 2173, 1944, - 839, 2171, 1264, 1280, 487, 1530, 862, 590, 591, 2426, - 386, 2474, 2578, 2583, 2697, 2700, 2696, 997, 996, 1006, - 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 401, - 2580, 1008, 448, 931, 932, 1865, 442, 414, 413, 416, - 99, 1893, 1530, 1388, 2683, 2399, 2243, 2580, 420, 2117, - 2604, 1555, 2101, 1898, 2254, 2584, 1632, 43, 74, 46, - 45, 48, 2257, 68, 2603, 424, 1817, 859, 2553, 428, - 2494, 2551, 2584, 2475, 2271, 2255, 2256, 2372, 2278, 80, - 80, 1822, 1821, 431, 2241, 2242, 2244, 2245, 2246, 49, - 77, 76, 911, 1633, 1311, 2484, 47, 2610, 1867, 867, - 101, 1580, 869, 1818, 98, 868, 2260, 2261, 2262, 2263, - 111, 110, 112, 942, 2269, 127, 943, 2703, 1823, 2599, - 1810, 2597, 2598, 2366, 2365, 2364, 1811, 2363, 118, 114, - 115, 497, 116, 2362, 2360, 951, 2492, 1869, 860, 861, - 1574, 57, 58, 959, 2476, 850, 387, 851, 853, 854, - 2361, 2624, 107, 2095, 2096, 2097, 2098, 2099, 66, 127, - 67, 2390, 108, 934, 120, 119, 2104, 1573, 911, 2672, - 2368, 393, 396, 417, 418, 419, 425, 1290, 429, 430, - 433, 2480, 2481, 2591, 2592, 2535, 2208, 836, 103, 1770, - 104, 2442, 1820, 1017, 2666, 2686, 1019, 1884, 1885, 113, - 2486, 2477, 75, 2092, 53, 54, 61, 127, 62, 2095, - 2096, 2097, 2098, 2099, 397, 848, 121, 1265, 122, 846, - 847, 863, 2078, 405, 1543, 1030, 1031, 1032, 1033, 1034, + 2670, 2602, 82, 1277, 449, 2079, 69, 2231, 404, 127, + 437, 2706, 636, 36, 2373, 629, 613, 36, 2588, 427, + 127, 421, 432, 415, 87, 88, 89, 90, 91, 2688, + 2371, 36, 2528, 36, 2658, 2386, 1592, 1870, 2426, 2563, + 2091, 1744, 2587, 1992, 422, 2374, 997, 996, 1006, 1007, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 1745, 2490, + 1008, 2513, 1685, 2444, 3, 36, 2186, 72, 39, 40, + 803, 1592, 2326, 2527, 1472, 81, 2041, 2042, 1620, 81, + 2238, 1494, 1495, 1125, 806, 1126, 809, 810, 2240, 2583, + 2040, 1787, 1283, 81, 1786, 81, 955, 1788, 1493, 581, + 623, 587, 589, 588, 585, 586, 584, 583, 582, 1319, + 1320, 1300, 2583, 927, 1233, 1281, 1282, 1280, 1542, 403, + 590, 591, 109, 2580, 406, 837, 838, 81, 2578, 840, + 402, 935, 852, 118, 114, 115, 1825, 116, 1528, 1944, + 853, 854, 1619, 896, 487, 1548, 2580, 1543, 2584, 1543, + 2173, 414, 413, 416, 2171, 72, 39, 40, 401, 448, + 386, 420, 839, 2243, 1865, 99, 931, 932, 442, 120, + 119, 2584, 1534, 1536, 1893, 1535, 2683, 41, 424, 2399, + 2604, 1530, 428, 1388, 1530, 2260, 2261, 2262, 2263, 2254, + 2117, 911, 1898, 1632, 1817, 2603, 431, 2257, 2101, 2310, + 1555, 2241, 2242, 2244, 2245, 2246, 2553, 859, 2494, 1822, + 1821, 2255, 2256, 2271, 2551, 2278, 1633, 1580, 1311, 80, + 80, 121, 2610, 122, 101, 1867, 2269, 2372, 98, 1264, + 862, 1818, 2703, 112, 111, 110, 2484, 2366, 2599, 867, + 2597, 2598, 869, 1574, 2365, 868, 1823, 2364, 1810, 2363, + 2362, 2360, 2361, 2442, 1811, 127, 1647, 1641, 1642, 848, + 1640, 1643, 1644, 2480, 2481, 2686, 942, 2591, 2592, 943, + 1573, 497, 2653, 2624, 2535, 951, 107, 2208, 860, 861, + 2440, 1770, 2739, 959, 1884, 1885, 108, 417, 418, 419, + 425, 1290, 429, 430, 433, 2492, 1648, 387, 850, 127, + 851, 853, 854, 2390, 2104, 1869, 2368, 1972, 911, 1143, + 846, 847, 103, 396, 104, 2092, 1285, 2672, 393, 1820, + 113, 2095, 2096, 2097, 2098, 2099, 845, 844, 1909, 934, + 808, 807, 2748, 1017, 2283, 2284, 1019, 1143, 2132, 2745, + 1142, 2486, 2095, 2096, 2097, 2098, 2099, 127, 1974, 1143, + 836, 1287, 2734, 1911, 1286, 397, 2716, 805, 117, 2427, + 2496, 2078, 819, 405, 911, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, - 1055, 1056, 1057, 2119, 985, 1058, 1832, 1062, 1063, 1064, + 1055, 1056, 1057, 910, 985, 1058, 2119, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - 73, 1077, 1080, 1080, 1080, 1086, 1080, 1080, 1086, 1080, - 1086, 1095, 1096, 1097, 1098, 1099, 1100, 1972, 1110, 1557, - 948, 1626, 73, 1533, 910, 1868, 79, 79, 2526, 73, - 2552, 79, 79, 1018, 2387, 1871, 2491, 1444, 944, 2239, - 911, 1285, 866, 870, 845, 957, 950, 2581, 394, 79, - 1283, 2485, 2681, 394, 100, 2676, 507, 844, 2653, 1974, - 2427, 2389, 2369, 2739, 2581, 389, 2103, 921, 1804, 2679, - 1860, 2729, 1104, 1281, 1282, 1116, 1287, 2440, 79, 1286, - 808, 807, 117, 127, 127, 127, 1022, 1023, 1024, 1025, - 1026, 1027, 1028, 1029, 2283, 2284, 394, 2342, 1143, 636, - 423, 390, 1911, 109, 1143, 1909, 1861, 1804, 1137, 1819, - 2132, 2344, 1647, 1641, 1642, 2049, 1640, 2748, 1643, 1644, - 1143, 613, 2745, 918, 1911, 1112, 613, 1143, 2734, 2716, - 1142, 805, 819, 1922, 1479, 1481, 454, 2496, 2293, 1081, - 1083, 1085, 1087, 1089, 1091, 1092, 1094, 447, 2294, 907, - 1804, 1203, 1892, 1648, 1128, 1804, 1889, 1873, 1207, 1129, - 1872, 1082, 1084, 1627, 1088, 1090, 1141, 1093, 1589, 1222, - 1114, 1220, 1803, 1588, 864, 1119, 1777, 1807, 1917, 1909, - 1804, 916, 1776, 1914, 1775, 801, 1913, 1916, 1976, 2343, - 1887, 954, 811, 1980, 358, 1975, 2297, 1973, 1720, 1862, - 1863, 1138, 1978, 2727, 394, 1717, 2728, 917, 2726, 913, - 2158, 1803, 2150, 2678, 2680, 1977, 111, 110, 1909, 1891, - 1059, 1890, 1143, 1480, 1791, 1910, 1911, 1020, 1021, 1783, - 1979, 1981, 906, 1001, 1002, 1003, 1004, 1005, 998, 1680, - 434, 1008, 914, 915, 1668, 2068, 2113, 1653, 1216, 1333, - 1489, 1136, 1121, 988, 1803, 829, 2489, 434, 998, 1803, - 1498, 1008, 1921, 1008, 970, 1235, 1918, 2292, 1262, 2625, - 2626, 2622, 2623, 2511, 989, 2523, 2522, 1361, 2376, 2308, - 1215, 1928, 1454, 1253, 1803, 1326, 981, 1926, 636, 1596, - 842, 2016, 1359, 1360, 1358, 835, 437, 437, 855, 96, - 1715, 979, 1714, 1238, 2069, 127, 2298, 2015, 127, 2719, - 2700, 2718, 2377, 437, 437, 1646, 127, 1272, 981, 1134, - 980, 979, 871, 1020, 1021, 127, 127, 127, 127, 1260, - 1020, 1021, 980, 979, 1331, 1332, 818, 434, 981, 2736, - 1061, 980, 979, 1994, 95, 437, 812, 2595, 1239, 1442, - 981, 980, 979, 1076, 1442, 1275, 1733, 2732, 2669, 981, - 1248, 1249, 1250, 1251, 1209, 2667, 2556, 980, 979, 981, - 2656, 1309, 80, 2270, 2596, 2264, 1665, 1666, 1667, 1293, - 1254, 1256, 94, 1257, 1217, 981, 1597, 843, 2740, 834, - 1224, 446, 857, 437, 437, 437, 980, 979, 636, 1006, + 2581, 1077, 1080, 1080, 1080, 1086, 1080, 1080, 1086, 1080, + 1086, 1095, 1096, 1097, 1098, 1099, 1100, 2239, 1110, 2666, + 948, 1626, 1832, 2581, 1283, 1533, 79, 2526, 1557, 73, + 79, 1543, 2552, 1018, 1265, 863, 918, 1444, 2387, 100, + 1871, 950, 866, 870, 79, 957, 79, 1281, 1282, 1646, + 944, 2485, 1868, 447, 2491, 394, 507, 2369, 1116, 394, + 109, 2729, 2389, 2103, 2681, 1860, 921, 2676, 1976, 389, + 2293, 2049, 1104, 1980, 423, 1975, 1143, 1973, 79, 2294, + 1911, 2679, 1978, 127, 127, 127, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 916, 1977, 394, 1819, 1892, 636, + 2342, 1861, 1479, 1481, 390, 1889, 907, 1873, 1137, 1872, + 1979, 1981, 1627, 1922, 2344, 1222, 1804, 73, 1804, 1220, + 917, 613, 913, 864, 1207, 1112, 613, 1777, 1804, 1776, + 1775, 801, 1887, 954, 811, 1804, 454, 358, 2158, 1081, + 1083, 1085, 1087, 1089, 1091, 1092, 1094, 1804, 2297, 2150, + 1589, 1203, 1720, 1891, 1128, 1588, 914, 915, 1717, 1129, + 1890, 1082, 1084, 1791, 1088, 1090, 1141, 1093, 1020, 1021, + 1114, 1783, 111, 110, 1807, 1119, 880, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 891, 906, 1680, + 1480, 2343, 2727, 1862, 1863, 2728, 1668, 2726, 2292, 1653, + 1333, 1138, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 998, 1136, 394, 1008, 1121, 2489, 1803, + 1059, 1803, 988, 829, 2678, 2680, 1909, 1917, 1909, 1498, + 1143, 1803, 1914, 1910, 1911, 1913, 1916, 1008, 1803, 2113, + 434, 1921, 2068, 998, 1489, 1918, 1008, 818, 1216, 1262, + 1803, 2625, 2626, 2622, 2623, 2523, 2522, 434, 2298, 1606, + 2511, 2308, 1928, 1454, 970, 1235, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 998, 989, 2376, 1008, 1020, 1021, 1253, + 1215, 1596, 1326, 1020, 1021, 842, 980, 979, 636, 1848, + 1001, 1002, 1003, 1004, 1005, 998, 437, 437, 1008, 981, + 1926, 2069, 1361, 1238, 981, 127, 980, 979, 127, 2377, + 2016, 1331, 1332, 437, 437, 2015, 127, 1359, 1360, 1358, + 1272, 1715, 835, 1714, 981, 127, 127, 127, 127, 1260, + 855, 980, 979, 980, 979, 979, 1134, 434, 2736, 2595, + 1061, 980, 979, 96, 1442, 437, 871, 812, 1239, 981, + 1994, 981, 981, 1076, 2732, 1275, 2719, 2700, 2718, 981, + 1248, 1249, 1250, 1251, 821, 822, 823, 824, 825, 826, + 827, 1309, 80, 980, 979, 1442, 1254, 1733, 1597, 1293, + 1724, 1256, 843, 1257, 1217, 2595, 2667, 2634, 95, 2633, + 1224, 981, 446, 437, 437, 437, 1209, 2656, 636, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 1242, - 1243, 1008, 980, 979, 981, 2056, 81, 976, 1315, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 998, 1357, 437, 1008, - 981, 1259, 2548, 437, 437, 2595, 2549, 2634, 1716, 2633, - 80, 127, 2741, 127, 2531, 2384, 636, 1335, 1267, 1268, - 2383, 2487, 1270, 821, 822, 823, 824, 825, 826, 827, - 1355, 1848, 1352, 2382, 127, 2381, 1381, 1382, 1273, 1324, - 985, 1336, 966, 1288, 1337, 967, 1289, 1292, 980, 979, - 596, 597, 2550, 1062, 880, 881, 882, 883, 884, 885, - 886, 887, 888, 889, 890, 891, 981, 2488, 1351, 980, - 979, 2375, 980, 979, 2230, 2229, 1996, 454, 1316, 1847, - 1350, 1310, 1845, 1378, 1313, 1379, 636, 981, 2646, 1356, - 981, 1826, 1321, 902, 901, 960, 1344, 1346, 1347, 875, - 2645, 1473, 1345, 2607, 2605, 1943, 1110, 1789, 2562, 1790, - 1110, 527, 526, 529, 530, 531, 532, 2483, 1348, 2482, - 528, 533, 874, 2439, 986, 2391, 2359, 2320, 2267, 2266, - 2265, 2227, 1395, 2061, 1353, 1843, 1399, 1362, 1363, 1364, + 1243, 1008, 980, 979, 980, 979, 834, 2270, 1315, 2669, + 2264, 2596, 2056, 976, 857, 2556, 94, 2548, 437, 2549, + 981, 1259, 981, 437, 437, 980, 979, 2531, 1716, 961, + 80, 127, 1996, 127, 1223, 2384, 636, 2740, 1267, 1268, + 2383, 2382, 1270, 981, 81, 1344, 1346, 1347, 2487, 2381, + 1355, 1345, 1352, 2375, 127, 1357, 1381, 1382, 1273, 1324, + 985, 966, 2230, 1288, 967, 2550, 1289, 1292, 1665, 1666, + 1667, 596, 597, 1062, 2229, 997, 996, 1006, 1007, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 998, 1335, 1351, 1008, + 1847, 2741, 980, 979, 2488, 1845, 1826, 454, 1316, 902, + 1350, 1310, 901, 1378, 1313, 1379, 636, 2646, 2645, 1356, + 981, 1336, 1321, 2607, 1337, 960, 1789, 2605, 1790, 875, + 2562, 1473, 2483, 2482, 2439, 1943, 1110, 2391, 2359, 2320, + 1110, 527, 526, 529, 530, 531, 532, 2267, 1348, 2266, + 528, 533, 874, 2265, 986, 2227, 2061, 1843, 1616, 1269, + 1240, 2632, 1395, 2631, 1353, 2493, 1399, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, - 1375, 1376, 636, 636, 1427, 1430, 1616, 1269, 1240, 127, - 1484, 2632, 1443, 2631, 1486, 1238, 2493, 127, 127, 2437, - 2408, 1807, 127, 127, 2402, 1317, 127, 127, 127, 1241, - 1352, 1291, 2290, 1469, 1478, 2161, 2146, 2142, 2134, 2105, - 1384, 2089, 2088, 2087, 1392, 1878, 636, 636, 1504, 1258, - 1877, 1610, 1594, 1401, 1402, 1593, 1380, 613, 1112, 1266, - 1482, 1263, 1232, 1112, 1412, 1433, 1502, 1112, 1416, 1231, - 629, 1314, 1230, 1586, 1445, 1229, 1218, 1212, 1503, 1211, - 1210, 1208, 897, 1203, 1439, 831, 400, 398, 1061, 2333, - 2659, 2217, 2652, 1059, 2569, 961, 2217, 2567, 961, 1515, - 1724, 1522, 1086, 2217, 2565, 1491, 1490, 1202, 1487, 1496, - 2217, 2441, 1584, 1585, 127, 2333, 2433, 2401, 1505, 1512, - 2333, 2349, 2333, 961, 127, 1223, 127, 127, 437, 437, - 437, 2333, 2332, 127, 2217, 2216, 1420, 941, 1612, 2198, - 961, 2353, 1564, 1565, 1652, 961, 2152, 1779, 2352, 1556, - 2076, 2075, 2084, 1560, 1561, 1562, 1563, 2072, 2073, 961, - 127, 127, 127, 1650, 1779, 1462, 1465, 1466, 1467, 1463, - 1117, 1464, 1468, 1341, 1342, 2019, 2020, 2072, 2071, 1678, - 961, 1529, 1457, 961, 1059, 127, 2062, 127, 1598, 1629, - 1628, 636, 1669, 1604, 2400, 636, 1418, 1613, 1418, 961, - 1140, 1139, 1779, 1618, 2153, 997, 996, 1006, 1007, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 998, 636, 1117, 1008, - 636, 1457, 2000, 84, 1578, 2014, 1118, 1352, 1120, 1483, - 1456, 1116, 907, 1328, 945, 946, 904, 905, 1608, 905, - 2617, 2014, 1418, 2574, 1611, 2192, 1592, 1355, 2085, 2074, - 1617, 2028, 2153, 1902, 1793, 1492, 1061, 1678, 1624, 2014, - 1738, 1425, 1426, 1351, 1577, 1737, 1271, 1591, 1329, 1457, - 1112, 956, 1312, 1278, 1118, 1503, 1116, 1678, 1221, 1219, - 1631, 1122, 624, 1634, 1327, 81, 2589, 2566, 2027, 1544, - 1545, 1546, 1547, 907, 1746, 1748, 1655, 1656, 1110, 1110, - 1110, 1110, 1110, 1649, 2407, 1657, 1356, 2405, 2232, 1530, - 2204, 1674, 1559, 2055, 1473, 1555, 1771, 2019, 2020, 1664, - 1797, 911, 1575, 1670, 1110, 1550, 1636, 1549, 1501, 997, - 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 998, 1204, 894, 1008, 81, 1462, 1465, 1466, 1467, 1463, - 1752, 1464, 1468, 1671, 1672, 1673, 408, 1568, 1607, 2710, - 1708, 1781, 2708, 1782, 127, 127, 127, 127, 127, 2691, - 2083, 2022, 2000, 1849, 1226, 947, 127, 1774, 1780, 908, - 127, 903, 2025, 1762, 127, 2024, 1759, 1606, 1763, 1760, - 127, 1751, 1766, 1764, 1761, 1466, 1467, 1758, 1566, 2628, - 1773, 492, 493, 2586, 1931, 1112, 1112, 1112, 1112, 1112, - 80, 1732, 1654, 1339, 636, 974, 975, 2616, 2195, 1753, - 1662, 1112, 1756, 1661, 439, 2323, 613, 2289, 1725, 1726, - 1727, 1112, 2220, 454, 1794, 1765, 1754, 1755, 2141, 1757, - 2140, 1809, 2060, 1835, 972, 1837, 1838, 1839, 1840, 2059, - 1801, 2051, 2498, 1806, 1808, 1784, 2501, 434, 1203, 1128, - 986, 1792, 2561, 2560, 2395, 1883, 2606, 2393, 1215, 2479, - 2478, 1796, 1876, 399, 1881, 636, 2378, 2379, 963, 1836, - 1135, 1802, 1805, 1875, 437, 892, 876, 873, 872, 564, - 964, 80, 832, 1393, 1394, 2641, 2412, 2411, 127, 437, - 2190, 1331, 1332, 1571, 1404, 1405, 1406, 1407, 2299, 1615, - 1844, 1846, 2272, 1225, 437, 2618, 2554, 1417, 1419, 2273, - 2397, 1852, 1603, 970, 1424, 96, 1952, 1747, 1322, 1866, - 974, 975, 2640, 1206, 437, 2639, 636, 1660, 1880, 952, - 953, 2638, 437, 1684, 1686, 1659, 2356, 1420, 858, 489, - 2609, 2608, 1879, 2558, 1696, 1697, 1698, 1699, 2502, 636, - 636, 1886, 2420, 2416, 1888, 127, 490, 84, 2415, 2302, - 1779, 1854, 1855, 1856, 1352, 636, 2712, 2711, 624, 2122, - 1899, 620, 1929, 1930, 1897, 632, 2005, 80, 454, 1901, - 1896, 1912, 636, 1923, 1924, 1721, 1718, 1927, 1936, 1907, - 1882, 1904, 1915, 1920, 1635, 820, 1906, 1255, 977, 2711, - 1351, 2030, 1709, 1937, 2712, 2430, 2034, 2035, 2036, 1202, - 1938, 2058, 1946, 1942, 2001, 1325, 2013, 443, 445, 2458, - 52, 2460, 19, 86, 2004, 1993, 1734, 55, 1752, 2459, - 18, 2461, 20, 1851, 2462, 21, 2457, 15, 2456, 14, - 2450, 10, 1, 636, 1625, 636, 1983, 2039, 1982, 2029, - 1827, 1828, 2473, 34, 2471, 33, 1295, 1834, 2252, 1940, - 2470, 32, 2033, 2469, 28, 2251, 1324, 1841, 636, 1751, - 2468, 27, 2258, 2037, 2090, 2008, 2467, 26, 2465, 23, - 2464, 22, 2093, 2023, 2466, 24, 2455, 13, 636, 1864, - 636, 2268, 636, 1213, 636, 2081, 2082, 2367, 2050, 2031, - 2052, 1984, 1985, 815, 1986, 1987, 1576, 434, 1988, 898, - 1609, 1936, 2044, 2559, 1059, 2100, 2043, 2497, 2063, 2064, - 2499, 1997, 1998, 2392, 2053, 2067, 2086, 2054, 2274, 1564, - 2236, 1565, 2070, 2452, 12, 2451, 11, 2449, 9, 2235, - 1858, 1857, 1894, 893, 1276, 1905, 127, 454, 1908, 1587, - 1900, 1645, 2509, 1516, 2107, 1506, 2032, 2102, 626, 92, - 1595, 841, 366, 1513, 437, 1637, 1815, 2500, 895, 127, + 1375, 1376, 636, 636, 1427, 1430, 2437, 2408, 1807, 127, + 1484, 2402, 1443, 2290, 1486, 1238, 2161, 127, 127, 2146, + 2142, 2134, 127, 127, 2105, 1317, 127, 127, 127, 1241, + 1352, 1291, 2089, 1469, 1478, 2088, 2087, 1878, 1877, 1610, + 1384, 1594, 1593, 1380, 1392, 1266, 636, 636, 1504, 1258, + 1263, 1232, 1231, 1401, 1402, 1230, 1229, 613, 1112, 1218, + 1482, 1212, 1211, 1112, 1412, 1433, 1502, 1112, 1416, 1210, + 629, 1314, 1208, 1586, 1445, 897, 831, 400, 1503, 398, + 2333, 2659, 961, 1203, 1439, 2217, 2652, 2401, 1061, 2569, + 961, 2217, 2567, 1059, 2217, 2565, 2217, 2441, 2353, 1515, + 941, 1522, 1086, 2333, 2433, 1491, 1490, 1202, 1487, 1496, + 2333, 2349, 1584, 1585, 127, 2333, 961, 2352, 1505, 1512, + 2333, 2332, 2217, 2216, 127, 2084, 127, 127, 437, 437, + 437, 2198, 961, 127, 1652, 961, 1420, 1779, 1612, 2152, + 1779, 2062, 1564, 1565, 2076, 2075, 2072, 2073, 84, 1556, + 2072, 2071, 907, 1560, 1561, 1562, 1563, 1483, 961, 1116, + 127, 127, 127, 1650, 2400, 1462, 1465, 1466, 1467, 1463, + 1117, 1464, 1468, 1341, 1342, 2019, 2020, 1678, 961, 1457, + 961, 1529, 1629, 1628, 1059, 127, 1779, 127, 1598, 1418, + 1613, 636, 1669, 1604, 1457, 636, 1117, 2153, 1418, 961, + 1140, 1139, 1678, 1618, 997, 996, 1006, 1007, 999, 1000, + 1001, 1002, 1003, 1004, 1005, 998, 2000, 636, 1008, 2014, + 636, 1456, 2153, 1328, 1578, 2617, 1118, 1352, 1120, 946, + 945, 904, 2014, 905, 905, 1418, 2574, 2192, 1608, 1592, + 96, 2085, 2074, 2014, 1611, 2028, 1902, 1355, 1793, 1492, + 1617, 1678, 1118, 1738, 1116, 1737, 1061, 1271, 1624, 1591, + 1457, 1425, 1426, 1351, 1577, 1462, 1465, 1466, 1467, 1463, + 1112, 1464, 1468, 1329, 1327, 1503, 956, 1312, 408, 1278, + 1631, 1479, 1481, 1634, 1221, 1219, 624, 907, 1122, 1544, + 1545, 1546, 1547, 81, 1746, 1748, 1655, 1656, 1110, 1110, + 1110, 1110, 1110, 1649, 2589, 1657, 1356, 2566, 2027, 2407, + 2405, 1674, 2232, 1530, 1473, 2204, 1771, 1559, 2055, 2019, + 2020, 2710, 1555, 1670, 1110, 1797, 1636, 911, 1501, 1575, + 1550, 1549, 1204, 997, 996, 1006, 1007, 999, 1000, 1001, + 1002, 1003, 1004, 1005, 998, 894, 439, 1008, 81, 1568, + 1752, 1607, 2708, 1671, 1672, 1673, 2691, 2083, 2022, 2000, + 1708, 1781, 1849, 1782, 127, 127, 127, 127, 127, 1480, + 1226, 947, 908, 903, 1762, 2025, 127, 1774, 1780, 1763, + 127, 1760, 1654, 1664, 127, 1764, 1761, 1466, 1467, 2024, + 127, 1751, 1766, 1759, 1758, 492, 493, 2628, 1566, 2586, + 1773, 1931, 1339, 974, 975, 1112, 1112, 1112, 1112, 1112, + 80, 1732, 2616, 2195, 636, 1662, 1661, 2323, 2289, 1753, + 2220, 1112, 1756, 2141, 2140, 1809, 613, 2051, 1725, 1726, + 1727, 1112, 972, 454, 1794, 1765, 1754, 1755, 2060, 1757, + 2059, 1801, 2498, 1835, 2501, 1837, 1838, 1839, 1840, 2561, + 2560, 2395, 2606, 1806, 1808, 1784, 2393, 434, 1203, 1128, + 986, 1792, 2479, 2478, 399, 1883, 1881, 963, 1215, 2378, + 2379, 1796, 1876, 1836, 1135, 636, 892, 876, 2641, 964, + 873, 1802, 1805, 1875, 437, 872, 832, 2412, 2411, 564, + 2190, 80, 2299, 1393, 1394, 1331, 1332, 2618, 127, 437, + 1615, 2272, 1571, 1225, 1404, 1405, 1406, 1407, 2273, 2554, + 1844, 1846, 2397, 1852, 437, 974, 975, 1417, 1419, 1603, + 96, 1322, 1206, 970, 1424, 1660, 1952, 1747, 489, 1866, + 952, 953, 2640, 1659, 437, 2639, 636, 2638, 1880, 2356, + 858, 2609, 437, 1684, 1686, 2608, 2558, 1420, 2502, 2420, + 2416, 490, 1879, 84, 1696, 1697, 1698, 1699, 2415, 636, + 636, 1886, 2302, 1779, 1888, 127, 1854, 1855, 1856, 2712, + 2711, 86, 2122, 1899, 1352, 636, 1897, 1896, 1721, 1718, + 1635, 620, 1929, 1930, 1255, 632, 2005, 80, 454, 1901, + 977, 1912, 636, 1923, 1924, 2711, 2712, 1927, 1936, 1907, + 1882, 1904, 1915, 1920, 2430, 820, 1906, 2058, 1325, 624, + 1351, 2030, 1709, 1937, 443, 445, 2034, 2035, 2036, 1202, + 1938, 55, 1946, 1942, 2001, 1, 2013, 2458, 52, 2460, + 19, 2459, 18, 1625, 2004, 1993, 1734, 1295, 1752, 2461, + 20, 2462, 21, 1851, 2457, 15, 2456, 14, 2450, 10, + 2473, 34, 2252, 636, 2251, 636, 1983, 2039, 1982, 2029, + 1827, 1828, 2471, 33, 2470, 32, 2258, 1834, 2090, 1940, + 2469, 28, 2033, 2468, 27, 2093, 1324, 1841, 636, 1751, + 2467, 26, 1864, 2037, 2268, 2008, 2465, 23, 2464, 22, + 2466, 24, 1213, 2023, 2455, 13, 2452, 12, 636, 2367, + 636, 815, 636, 1576, 636, 2081, 2082, 898, 2050, 2031, + 2052, 1984, 1985, 2559, 1986, 1987, 2497, 434, 1988, 2499, + 1609, 1936, 2044, 2392, 1059, 2100, 2043, 2274, 2063, 2064, + 2236, 1997, 1998, 2235, 2053, 2067, 2086, 2054, 1858, 1564, + 1857, 1565, 2070, 2451, 11, 2449, 9, 893, 1276, 1905, + 1908, 1587, 1894, 1645, 2509, 1516, 127, 454, 1506, 626, + 1900, 92, 1595, 841, 2107, 366, 2032, 2102, 1513, 1815, + 2500, 895, 1814, 1824, 437, 1637, 1527, 1813, 1812, 127, 437, 1651, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 998, 1814, 127, 1008, 437, 1824, 636, 437, - 1527, 1813, 1812, 437, 437, 2495, 437, 1816, 1148, 1146, - 2151, 2057, 1147, 1145, 1150, 2108, 1149, 370, 2154, 1130, - 2006, 2541, 636, 2160, 978, 102, 127, 636, 56, 2291, + 1004, 1005, 998, 2495, 127, 1008, 437, 1816, 636, 437, + 1148, 1146, 1147, 437, 437, 1145, 437, 1150, 1149, 370, + 2151, 2057, 1130, 2541, 2160, 2108, 978, 102, 2154, 56, + 2006, 2291, 636, 1919, 97, 105, 127, 636, 372, 1016, 2125, 2145, 2124, 2184, 636, 636, 2130, 1953, 1676, 2131, - 1956, 1957, 1958, 1679, 1919, 1961, 97, 105, 1681, 1682, - 372, 1203, 1016, 1687, 1688, 1689, 1690, 1691, 1692, 1658, - 1785, 1695, 611, 612, 604, 958, 1700, 1701, 1702, 1703, - 2521, 1705, 1706, 1707, 2571, 2109, 2590, 968, 1710, 1711, - 1712, 1713, 2514, 1731, 1075, 1440, 1450, 1719, 510, 1769, - 1722, 1723, 2307, 2516, 1343, 1728, 1729, 525, 524, 523, - 520, 1735, 521, 1736, 2582, 1602, 1739, 1740, 1752, 1741, - 1742, 1334, 1743, 990, 2077, 508, 499, 127, 2199, 1108, - 1101, 1614, 1461, 80, 2212, 2213, 2214, 1995, 1767, 1768, - 2191, 2210, 2169, 2156, 636, 2200, 1459, 1458, 1227, 600, - 2021, 636, 636, 636, 2017, 2223, 454, 1471, 2215, 1751, - 636, 1107, 70, 856, 454, 388, 2211, 2185, 2065, 2425, - 38, 444, 636, 2248, 2249, 2250, 2225, 494, 25, 17, - 1794, 865, 16, 2038, 1638, 813, 42, 2224, 44, 1853, - 1572, 2540, 2674, 2181, 2182, 2183, 879, 2698, 2593, 31, - 127, 30, 29, 1110, 1800, 2463, 2472, 2247, 2454, 2453, - 2661, 2660, 4, 949, 2285, 2286, 71, 35, 622, 2, + 1956, 1957, 1958, 1679, 1658, 1961, 1785, 611, 1681, 1682, + 612, 1203, 604, 1687, 1688, 1689, 1690, 1691, 1692, 958, + 2521, 1695, 2571, 2590, 968, 2514, 1700, 1701, 1702, 1703, + 1731, 1705, 1706, 1707, 1075, 2109, 1440, 510, 1710, 1711, + 1712, 1713, 1769, 2307, 2516, 1343, 1450, 1719, 525, 524, + 1722, 1723, 523, 520, 521, 1728, 1729, 2582, 1602, 1334, + 1743, 1735, 990, 1736, 2077, 508, 1739, 1740, 1752, 1741, + 1742, 499, 1108, 1101, 1614, 1461, 1459, 127, 2199, 1458, + 1227, 600, 2021, 80, 2212, 2213, 2214, 1995, 1767, 1768, + 2191, 2210, 2169, 2156, 636, 2200, 2017, 1471, 1107, 70, + 856, 636, 636, 636, 388, 2223, 454, 2185, 2215, 1751, + 636, 2425, 38, 444, 454, 494, 2211, 25, 2065, 17, + 865, 16, 636, 2248, 2249, 2250, 2225, 1638, 813, 42, + 1794, 44, 1853, 2038, 1572, 2540, 2674, 2224, 879, 2698, + 2593, 31, 30, 2181, 2182, 2183, 29, 2463, 2472, 2454, + 127, 2453, 2661, 1110, 1800, 2660, 4, 2247, 949, 71, + 35, 622, 2, 0, 2285, 2286, 0, 0, 0, 0, 0, 0, 0, 2287, 2112, 2110, 0, 2116, 0, 0, 0, 2120, 2121, 0, 2123, 0, 0, 2276, 0, 437, 0, 2277, 0, 2005, 2281, 2275, 2005, 2328, 2304, 2305, @@ -1516,20 +1516,20 @@ var yyAct = [...]int{ 2345, 0, 2340, 0, 636, 0, 0, 2350, 497, 2351, 0, 0, 1478, 0, 2336, 1941, 0, 0, 2358, 636, 2413, 1949, 0, 0, 2370, 2380, 0, 0, 0, 0, - 0, 1959, 1960, 2348, 0, 96, 2233, 2385, 0, 0, + 0, 1959, 1960, 2348, 0, 0, 2233, 2385, 0, 0, 0, 0, 1966, 2398, 0, 0, 1970, 2005, 2388, 80, 2311, 2312, 2313, 2314, 0, 0, 0, 0, 2318, 0, 2417, 0, 2321, 2322, 0, 2403, 2404, 0, 2418, 0, - 2187, 0, 0, 2410, 0, 0, 1479, 1481, 80, 1061, - 2226, 636, 2228, 2443, 2007, 0, 0, 0, 0, 2201, + 2187, 0, 0, 2410, 0, 0, 0, 0, 80, 1061, + 2226, 636, 2228, 2443, 2007, 2189, 0, 0, 0, 2201, 2202, 0, 2419, 2203, 2436, 2004, 2205, 0, 0, 0, 2406, 0, 2431, 0, 1061, 2438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2435, 0, 0, 0, 0, - 636, 1110, 0, 0, 0, 0, 0, 2279, 997, 996, - 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, - 0, 0, 1008, 0, 0, 0, 0, 0, 0, 0, + 636, 1110, 0, 0, 0, 0, 0, 2279, 0, 0, + 0, 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, 2327, 0, 0, 0, 2048, 0, 0, 2505, 0, 2507, - 0, 0, 0, 0, 0, 1480, 0, 0, 2503, 2506, + 0, 0, 0, 0, 0, 0, 0, 0, 2503, 2506, 0, 1205, 2519, 0, 0, 2504, 2309, 2536, 0, 0, 0, 2524, 0, 2520, 437, 0, 0, 127, 0, 0, 2529, 0, 636, 0, 636, 0, 0, 0, 80, 0, @@ -1558,12 +1558,12 @@ var yyAct = [...]int{ 2644, 2704, 2707, 2720, 0, 0, 2722, 0, 0, 0, 0, 0, 0, 2717, 80, 2730, 80, 0, 0, 2644, 80, 2644, 0, 0, 0, 0, 0, 620, 0, 0, - 0, 0, 0, 0, 80, 2735, 0, 80, 0, 2644, + 0, 0, 0, 0, 80, 2735, 2179, 80, 0, 2644, 0, 0, 0, 0, 80, 1446, 1447, 909, 80, 2644, 437, 0, 2744, 2644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2129, 0, 0, 0, 0, 0, 2515, 2518, 0, 620, 0, 1061, 0, 0, 0, 0, 0, - 0, 0, 2179, 2129, 0, 0, 632, 961, 0, 632, + 0, 0, 0, 2129, 0, 0, 632, 0, 0, 632, 632, 0, 0, 0, 0, 2682, 0, 1947, 1948, 2315, 2316, 2317, 0, 2319, 1954, 1955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1962, 1963, 1964, 1965, @@ -1571,13 +1571,13 @@ var yyAct = [...]int{ 2337, 2338, 2339, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 454, 1008, 454, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0, 2723, - 0, 0, 0, 0, 2189, 0, 0, 0, 0, 2048, - 0, 0, 0, 2673, 482, 1829, 1830, 1831, 1833, 997, - 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 998, 2126, 0, 1008, 971, 2128, 0, 0, 0, 0, - 0, 0, 0, 0, 486, 0, 0, 0, 0, 0, - 1111, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 998, 0, 0, 1008, 0, 0, 2518, 2421, + 0, 0, 0, 0, 0, 2188, 0, 0, 0, 2048, + 992, 0, 995, 2673, 0, 1829, 1830, 1831, 1833, 1009, + 1010, 1011, 1012, 1013, 1014, 1015, 0, 993, 994, 991, + 0, 0, 0, 0, 971, 0, 0, 997, 996, 1006, + 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, + 1111, 1008, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 998, 0, 0, 1008, 0, 2518, 2421, 2422, 2423, 2424, 0, 1623, 0, 0, 0, 1623, 2428, 2429, 0, 125, 0, 0, 385, 0, 0, 0, 2636, 0, 125, 0, 0, 0, 0, 0, 0, 124, 0, @@ -1586,240 +1586,240 @@ var yyAct = [...]int{ 0, 0, 498, 632, 0, 603, 621, 0, 0, 125, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 625, 0, 125, 0, 802, - 476, 0, 0, 0, 0, 482, 0, 0, 125, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 828, 0, 2133, 0, 0, 0, - 0, 0, 2048, 2525, 2048, 486, 0, 0, 0, 0, + 0, 0, 0, 0, 828, 0, 0, 0, 0, 0, + 0, 0, 2048, 2525, 2048, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 2721, 0, 0, 2157, 0, 0, 0, 0, 0, 0, 0, 2159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2162, 2163, 0, 1385, 1390, - 1391, 0, 2164, 0, 0, 1396, 1397, 1398, 0, 1400, + 1391, 0, 2164, 0, 0, 1396, 1397, 1398, 2178, 1400, 0, 0, 1403, 0, 0, 0, 0, 1408, 1409, 1410, - 1411, 0, 1413, 1414, 1415, 0, 620, 0, 2178, 0, + 1411, 0, 1413, 1414, 1415, 0, 620, 0, 2177, 0, 1421, 1422, 1423, 0, 0, 0, 1429, 1432, 0, 1437, - 1438, 0, 0, 0, 1143, 0, 0, 2568, 0, 0, - 0, 0, 0, 0, 0, 2188, 0, 0, 0, 2576, + 1438, 0, 0, 2176, 0, 0, 0, 2568, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2576, 0, 620, 0, 0, 1448, 0, 1451, 1452, 0, 0, - 0, 476, 0, 0, 0, 0, 0, 632, 0, 2177, + 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 912, 919, 920, 922, 923, 924, 925, 926, - 0, 928, 929, 930, 2066, 933, 0, 936, 937, 938, - 939, 940, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, + 0, 928, 929, 930, 2066, 933, 1991, 936, 937, 938, + 939, 940, 0, 0, 0, 997, 996, 1006, 1007, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, 2048, 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 1850, 1008, - 456, 457, 458, 459, 460, 464, 465, 469, 470, 479, - 478, 477, 480, 481, 484, 483, 485, 461, 462, 463, - 466, 467, 468, 471, 472, 475, 473, 474, 0, 0, - 0, 0, 1170, 125, 0, 0, 997, 996, 1006, 1007, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 830, - 1008, 0, 0, 0, 0, 0, 0, 0, 0, 1895, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2601, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 632, 632, 2176, 0, 0, 0, 0, 0, + 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, + 1005, 998, 0, 0, 1008, 0, 36, 37, 72, 39, + 40, 0, 1990, 0, 0, 0, 0, 0, 0, 0, + 59, 0, 0, 125, 0, 0, 78, 0, 0, 0, + 41, 63, 64, 0, 0, 0, 0, 60, 1989, 830, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1895, + 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 998, 0, 50, 1008, 0, 125, 81, 0, + 0, 0, 632, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 900, 2166, 2167, 0, 2168, 632, 0, 2170, 1170, 2172, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 1950, 0, 0, 0, 0, - 0, 2737, 2738, 0, 0, 453, 0, 0, 0, 0, - 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, - 0, 456, 457, 458, 459, 460, 464, 465, 469, 470, - 479, 478, 477, 480, 481, 484, 483, 485, 461, 462, - 463, 466, 467, 468, 471, 472, 475, 473, 474, 2218, - 2219, 0, 0, 0, 620, 1171, 632, 0, 2012, 0, - 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, 0, - 0, 2012, 1157, 0, 0, 482, 0, 0, 0, 0, - 0, 1677, 0, 0, 0, 0, 0, 0, 0, 1683, - 0, 632, 0, 632, 0, 632, 2128, 2047, 1693, 1694, - 0, 0, 0, 0, 0, 486, 0, 0, 0, 1704, - 0, 0, 0, 0, 1171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 482, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1730, 0, 0, 0, - 0, 125, 125, 125, 0, 2137, 0, 0, 0, 0, - 0, 621, 0, 0, 486, 0, 621, 1103, 0, 1113, - 0, 0, 1184, 1187, 1188, 1189, 1190, 1191, 1192, 0, - 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1991, 1172, - 1173, 1174, 1175, 1151, 1155, 1185, 1152, 1158, 1154, 1156, - 1153, 2115, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, - 1167, 1168, 1169, 1176, 1177, 1178, 1179, 1180, 1181, 1182, - 1183, 476, 0, 0, 0, 2139, 0, 0, 0, 0, - 2144, 0, 0, 0, 0, 0, 0, 2148, 2149, 0, + 0, 2737, 2738, 0, 0, 453, 0, 997, 996, 1006, + 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, + 2601, 1008, 0, 0, 0, 0, 0, 0, 43, 74, + 46, 45, 48, 997, 996, 1006, 1007, 999, 1000, 1001, + 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, 2218, + 2219, 0, 0, 0, 620, 0, 632, 0, 2012, 49, + 77, 76, 0, 0, 0, 0, 47, 0, 0, 0, + 0, 0, 482, 0, 0, 0, 0, 0, 0, 0, + 65, 2012, 1157, 0, 0, 0, 0, 0, 0, 0, + 0, 1677, 0, 2133, 0, 0, 0, 0, 0, 1683, + 0, 632, 486, 632, 0, 632, 1939, 2047, 1693, 1694, + 0, 57, 58, 0, 0, 0, 0, 0, 0, 1704, + 0, 0, 0, 1171, 0, 0, 0, 0, 66, 0, + 67, 0, 0, 0, 997, 996, 1006, 1007, 999, 1000, + 1001, 1002, 1003, 1004, 1005, 998, 1730, 0, 1008, 0, + 0, 125, 125, 125, 1675, 68, 0, 0, 0, 0, + 0, 621, 0, 0, 0, 0, 621, 1103, 0, 1113, + 0, 0, 51, 75, 0, 53, 54, 61, 0, 62, + 1143, 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, + 0, 2115, 0, 482, 0, 0, 0, 476, 997, 996, + 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, + 2126, 0, 1008, 0, 2128, 2139, 0, 0, 0, 0, + 2144, 0, 0, 486, 0, 0, 0, 2148, 2149, 0, 0, 1184, 1187, 1188, 1189, 1190, 1191, 1192, 0, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 0, 1172, 1173, 1174, 1175, 1151, 1155, 1185, 1152, 1158, 1154, 1156, 1153, - 476, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, + 73, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 0, 0, 0, 997, 996, 1006, 1007, 999, 1000, 1001, - 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, 1186, - 0, 0, 0, 0, 0, 0, 0, 0, 1294, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1294, 79, 0, 1297, 1298, 1299, 620, 1301, 1302, 0, 0, 1303, - 0, 0, 0, 0, 0, 1304, 0, 2207, 0, 1305, + 0, 0, 0, 0, 0, 1304, 0, 2207, 476, 1305, 1306, 0, 1307, 1308, 2207, 2207, 2207, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2207, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 125, 0, 1186, 0, - 0, 0, 0, 0, 1237, 0, 0, 0, 992, 601, - 995, 0, 1228, 125, 125, 125, 125, 1009, 1010, 1011, - 1012, 1013, 1014, 1015, 0, 993, 994, 991, 0, 1244, - 1245, 1246, 1247, 0, 0, 997, 996, 1006, 1007, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, - 0, 456, 457, 458, 459, 460, 464, 465, 469, 470, - 479, 478, 477, 480, 481, 484, 483, 485, 461, 462, - 463, 466, 467, 468, 471, 472, 475, 473, 474, 1990, + 0, 0, 0, 0, 1237, 0, 0, 0, 0, 601, + 0, 0, 1228, 125, 125, 125, 125, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, + 1245, 1246, 1247, 0, 0, 0, 0, 0, 456, 457, + 458, 459, 460, 464, 465, 469, 470, 479, 478, 477, + 480, 481, 484, 483, 485, 461, 462, 463, 466, 467, + 468, 471, 472, 475, 473, 474, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 456, 457, 458, 459, 460, 464, 465, 469, 470, 479, - 478, 477, 480, 481, 484, 483, 485, 461, 462, 463, - 466, 467, 468, 471, 472, 475, 473, 474, 2329, 125, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2329, 125, 0, 453, 0, 0, 2207, 0, 0, 0, 0, 0, - 0, 1939, 0, 0, 0, 1318, 0, 2047, 0, 0, + 0, 0, 0, 0, 0, 1318, 0, 2047, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2047, 1237, 0, 0, 0, 0, 1340, 997, - 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 998, 0, 0, 1008, 997, 996, 1006, 1007, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, + 0, 0, 2047, 1237, 0, 0, 0, 0, 1340, 456, + 457, 458, 459, 460, 464, 465, 469, 470, 479, 478, + 477, 480, 481, 484, 483, 485, 461, 462, 463, 466, + 467, 468, 471, 472, 475, 473, 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1389, 1389, 1389, 0, 0, 0, 1389, 1389, 1389, 1389, 1389, 1389, 0, 0, 1389, 0, 0, 0, 2409, 1389, 1389, 1389, 1389, 0, 1389, 1389, 1389, 0, 0, 0, 0, 0, 1389, 1389, 1389, 0, 0, 0, 1389, 1389, 0, 1389, 1389, 0, - 0, 0, 621, 0, 0, 0, 1989, 0, 0, 0, + 0, 0, 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434, 0, 0, 0, 0, 0, 0, - 0, 0, 1389, 1389, 1389, 1389, 0, 125, 0, 0, + 381, 0, 1389, 1389, 1389, 1389, 0, 125, 0, 0, 0, 0, 0, 0, 0, 125, 453, 0, 0, 0, 125, 125, 0, 1455, 125, 1488, 1237, 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1485, 0, 0, - 0, 1237, 0, 0, 0, 0, 36, 37, 72, 39, - 40, 0, 0, 0, 0, 0, 0, 0, 1630, 36, - 59, 72, 39, 40, 0, 2047, 78, 2047, 0, 0, - 41, 63, 64, 59, 0, 0, 0, 60, 0, 78, - 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, - 620, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 998, 381, 50, 1008, 0, 0, 81, 0, - 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 125, 0, 125, 125, 0, 0, 1570, 0, - 0, 125, 0, 0, 0, 0, 632, 0, 1581, 0, - 1582, 1583, 0, 0, 0, 2474, 0, 1590, 0, 0, - 2746, 0, 0, 0, 0, 0, 0, 0, 1599, 1600, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2570, 0, 2573, 0, 0, 1601, 0, 43, 74, - 46, 45, 48, 125, 68, 453, 0, 0, 0, 0, - 0, 43, 74, 46, 45, 48, 0, 68, 0, 900, - 0, 359, 0, 0, 0, 0, 0, 2475, 362, 0, - 49, 77, 76, 0, 0, 0, 0, 47, 371, 379, - 380, 0, 0, 49, 77, 76, 2047, 0, 0, 0, - 47, 65, 0, 0, 0, 0, 0, 0, 1237, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2207, - 0, 0, 0, 368, 0, 0, 369, 0, 0, 377, - 378, 632, 57, 58, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 57, 58, 2573, 2476, 66, - 0, 67, 0, 0, 0, 0, 0, 2657, 0, 1389, - 0, 0, 66, 0, 67, 0, 0, 1389, 0, 0, - 0, 0, 0, 0, 0, 0, 1389, 1389, 0, 0, - 374, 0, 0, 0, 0, 0, 0, 1389, 0, 0, - 0, 1389, 51, 75, 0, 53, 54, 61, 0, 62, - 0, 375, 0, 0, 0, 2477, 75, 0, 53, 54, - 61, 0, 62, 0, 1389, 0, 0, 0, 0, 0, - 0, 0, 0, 36, 0, 72, 39, 40, 0, 0, - 0, 621, 125, 125, 125, 125, 125, 59, 0, 1675, - 0, 0, 0, 78, 453, 0, 0, 41, 125, 0, - 0, 0, 453, 0, 360, 0, 0, 0, 125, 0, - 0, 0, 0, 0, 0, 0, 621, 997, 996, 1006, - 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, - 0, 1008, 0, 0, 0, 81, 0, 373, 363, 364, - 73, 384, 0, 0, 0, 365, 367, 0, 361, 383, - 382, 0, 0, 73, 0, 0, 0, 0, 0, 2474, - 0, 0, 0, 0, 2742, 997, 996, 1006, 1007, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, - 36, 0, 72, 39, 40, 0, 0, 0, 0, 79, - 0, 376, 0, 0, 59, 0, 0, 0, 0, 0, - 78, 0, 79, 0, 41, 43, 74, 46, 45, 48, - 0, 68, 0, 0, 0, 0, 125, 0, 0, 0, - 0, 2475, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1874, 0, 0, 0, 0, 49, 77, 76, - 0, 0, 81, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2474, 0, 0, 0, - 0, 2731, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 0, 0, 57, - 58, 0, 2476, 0, 1389, 0, 0, 0, 0, 1932, - 0, 0, 0, 1389, 0, 1237, 66, 0, 67, 0, - 0, 0, 43, 74, 46, 45, 48, 36, 68, 72, - 39, 40, 0, 0, 0, 0, 0, 0, 2475, 0, - 0, 59, 0, 0, 0, 0, 0, 78, 0, 0, - 0, 41, 0, 0, 49, 77, 76, 0, 0, 2477, - 75, 47, 53, 54, 61, 0, 62, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 57, 58, 0, 2476, - 0, 0, 482, 2474, 0, 0, 0, 36, 2714, 72, - 39, 40, 0, 66, 0, 67, 0, 0, 0, 0, - 0, 59, 0, 1798, 0, 0, 0, 78, 0, 0, - 0, 41, 486, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 73, 0, 43, - 74, 46, 45, 48, 0, 68, 2477, 75, 0, 53, - 54, 61, 0, 62, 0, 2475, 0, 0, 0, 81, - 2702, 0, 0, 0, 125, 0, 0, 0, 0, 0, - 0, 49, 77, 76, 0, 0, 0, 0, 47, 0, - 2080, 0, 0, 2474, 0, 0, 79, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1143, 125, 2106, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, - 0, 0, 0, 57, 58, 0, 2476, 0, 476, 43, - 74, 46, 45, 48, 125, 68, 0, 0, 0, 482, - 66, 0, 67, 0, 73, 2475, 0, 0, 0, 498, - 2143, 0, 0, 36, 0, 72, 39, 40, 0, 0, - 2135, 49, 77, 76, 0, 0, 0, 59, 47, 486, - 0, 0, 0, 78, 0, 0, 0, 41, 0, 0, + 0, 1237, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1630, 0, + 0, 0, 0, 0, 0, 2047, 0, 2047, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 36, 0, 72, + 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, + 620, 59, 0, 0, 0, 0, 0, 78, 359, 0, + 0, 41, 0, 0, 0, 362, 0, 0, 0, 0, + 0, 0, 125, 0, 371, 379, 380, 0, 0, 0, + 0, 0, 125, 0, 125, 125, 0, 0, 1570, 1170, + 0, 125, 0, 0, 0, 0, 632, 0, 1581, 81, + 1582, 1583, 0, 0, 0, 0, 0, 1590, 0, 368, + 0, 0, 369, 0, 0, 377, 378, 0, 1599, 1600, + 125, 0, 0, 2474, 0, 0, 2697, 2700, 2696, 0, + 0, 2570, 0, 2573, 0, 0, 1601, 0, 0, 0, + 0, 0, 0, 125, 0, 453, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 900, + 0, 0, 0, 0, 0, 0, 374, 0, 0, 43, + 74, 46, 45, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2475, 0, 2047, 375, 0, 0, + 1157, 0, 0, 0, 0, 0, 0, 0, 1237, 0, + 49, 77, 76, 0, 0, 0, 0, 47, 0, 2207, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1171, 0, 0, 0, 0, 0, 2573, 0, 0, + 0, 360, 0, 0, 0, 0, 0, 2657, 0, 1389, + 0, 0, 57, 58, 0, 2476, 0, 1389, 0, 0, + 0, 0, 0, 0, 0, 0, 1389, 1389, 0, 66, + 0, 67, 0, 0, 373, 363, 364, 1389, 384, 0, + 0, 1389, 365, 367, 0, 361, 383, 382, 0, 0, + 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, + 0, 0, 0, 0, 1389, 0, 0, 0, 0, 0, 0, 0, 0, 2477, 75, 0, 53, 54, 61, 0, - 62, 482, 0, 79, 0, 0, 0, 0, 0, 0, + 62, 621, 125, 125, 125, 125, 125, 0, 376, 0, + 0, 0, 0, 0, 453, 0, 0, 0, 125, 0, + 0, 0, 453, 0, 0, 0, 0, 0, 125, 1184, + 1187, 1188, 1189, 1190, 1191, 1192, 621, 1193, 1194, 1195, + 1196, 1197, 1198, 1199, 1200, 0, 1172, 1173, 1174, 1175, + 1151, 1155, 1185, 1152, 1158, 1154, 1156, 1153, 0, 1159, + 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, + 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 73, 0, 0, 36, 0, 72, 39, 40, 0, + 0, 0, 36, 0, 72, 39, 40, 0, 59, 0, + 0, 0, 0, 0, 78, 0, 59, 0, 41, 0, + 0, 0, 78, 0, 0, 0, 41, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1874, 0, 0, 0, 81, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 1186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2474, 0, 0, 0, 0, 2746, 0, 0, 2474, 0, + 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1389, 0, 0, 0, 0, 1932, + 0, 0, 0, 1389, 0, 1237, 43, 74, 46, 45, + 48, 0, 0, 0, 43, 74, 46, 45, 48, 0, + 0, 2475, 0, 0, 0, 0, 0, 0, 0, 2475, + 0, 0, 0, 0, 0, 0, 0, 49, 77, 76, + 0, 0, 0, 0, 47, 49, 77, 76, 0, 0, + 0, 36, 47, 72, 39, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 59, 0, 0, 0, 621, + 0, 78, 0, 0, 0, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, + 58, 0, 2476, 0, 0, 0, 0, 57, 58, 0, + 2476, 0, 0, 0, 0, 0, 66, 0, 67, 0, + 0, 0, 0, 81, 66, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 68, 0, 0, 0, 2474, 0, 0, + 0, 68, 2731, 0, 0, 0, 0, 0, 0, 0, + 2477, 75, 0, 53, 54, 61, 0, 62, 2477, 75, + 0, 53, 54, 61, 0, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, + 0, 0, 0, 43, 74, 46, 45, 48, 0, 0, + 2080, 0, 0, 0, 0, 0, 0, 125, 2475, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 482, 0, + 0, 0, 125, 2106, 49, 77, 76, 0, 0, 0, + 0, 47, 36, 0, 72, 39, 40, 0, 2111, 1798, + 0, 36, 0, 72, 39, 40, 59, 0, 486, 0, + 0, 0, 78, 0, 125, 59, 41, 0, 73, 0, + 0, 78, 0, 0, 0, 41, 73, 0, 0, 498, + 2143, 0, 0, 0, 0, 0, 57, 58, 0, 2476, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 66, 81, 67, 0, 0, 0, 0, + 0, 0, 0, 81, 2702, 0, 0, 79, 0, 0, + 0, 0, 0, 0, 0, 79, 0, 0, 2474, 0, + 68, 0, 0, 2714, 0, 482, 1143, 2474, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2477, 75, 0, + 53, 54, 61, 0, 62, 453, 1201, 0, 0, 621, + 0, 0, 0, 476, 0, 486, 0, 482, 0, 0, + 0, 0, 0, 0, 43, 74, 46, 45, 48, 0, + 0, 0, 0, 43, 74, 46, 45, 48, 2128, 2475, + 0, 0, 0, 0, 0, 0, 0, 486, 2475, 0, + 0, 482, 0, 0, 0, 49, 77, 76, 0, 0, + 0, 0, 47, 0, 49, 77, 76, 0, 0, 0, + 0, 47, 2137, 0, 0, 0, 0, 0, 125, 0, + 0, 486, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1143, 2234, 73, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 57, 58, 0, + 2476, 0, 0, 0, 0, 0, 57, 58, 0, 2476, + 476, 0, 0, 0, 66, 0, 67, 0, 0, 0, + 0, 0, 0, 66, 0, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 0, 0, 125, 0, 0, + 0, 68, 476, 0, 0, 0, 0, 0, 0, 0, + 68, 0, 0, 0, 0, 0, 0, 0, 2477, 75, + 0, 53, 54, 61, 0, 62, 0, 2477, 75, 0, + 53, 54, 61, 0, 62, 0, 476, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 453, 0, 453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1201, 57, 58, 81, 2476, 0, 0, 0, - 0, 486, 0, 0, 0, 453, 0, 0, 0, 621, - 66, 0, 67, 0, 0, 0, 0, 0, 0, 2474, - 0, 0, 0, 0, 2643, 36, 0, 72, 39, 40, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, - 0, 0, 0, 0, 0, 78, 0, 0, 0, 41, - 0, 0, 0, 2477, 75, 476, 53, 54, 61, 0, - 62, 73, 0, 0, 0, 43, 74, 46, 45, 48, - 0, 68, 0, 0, 0, 0, 0, 0, 125, 0, - 1143, 2475, 0, 0, 0, 0, 0, 81, 0, 0, - 0, 0, 0, 0, 2234, 0, 0, 49, 77, 76, - 0, 0, 0, 0, 47, 0, 0, 476, 0, 0, - 79, 2474, 0, 0, 0, 0, 0, 0, 456, 457, - 458, 459, 460, 464, 465, 469, 470, 479, 478, 477, - 480, 481, 484, 483, 485, 461, 462, 463, 466, 467, - 468, 471, 472, 475, 473, 474, 0, 125, 0, 57, - 58, 73, 2476, 0, 0, 0, 0, 43, 74, 46, - 45, 48, 0, 68, 0, 0, 66, 0, 67, 0, - 0, 0, 0, 2475, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, - 77, 76, 0, 0, 0, 0, 47, 0, 0, 0, - 79, 0, 0, 0, 453, 0, 453, 0, 0, 2477, - 75, 0, 53, 54, 61, 0, 62, 0, 0, 0, + 0, 0, 0, 0, 456, 457, 458, 459, 460, 464, + 465, 469, 470, 479, 478, 477, 480, 481, 484, 483, + 485, 461, 462, 463, 466, 467, 468, 471, 472, 475, + 473, 474, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, + 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 58, 0, 2476, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, - 67, 0, 0, 0, 0, 456, 457, 458, 459, 460, - 464, 465, 469, 470, 479, 478, 477, 480, 481, 484, - 483, 485, 461, 462, 463, 466, 467, 468, 471, 472, - 475, 473, 474, 0, 0, 0, 0, 0, 0, 498, - 0, 2477, 75, 0, 53, 54, 61, 73, 62, 0, - 0, 0, 0, 0, 0, 0, 0, 456, 457, 458, + 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, + 0, 456, 457, 458, 459, 460, 464, 465, 469, 470, + 479, 478, 477, 480, 481, 484, 483, 485, 461, 462, + 463, 466, 467, 468, 471, 472, 475, 473, 474, 0, + 0, 0, 0, 456, 457, 458, 459, 460, 464, 465, + 469, 470, 479, 478, 477, 480, 481, 484, 483, 485, + 461, 462, 463, 466, 467, 468, 471, 472, 475, 473, + 474, 0, 0, 0, 0, 125, 0, 456, 457, 458, 459, 460, 464, 465, 469, 470, 479, 478, 477, 480, 481, 484, 483, 485, 461, 462, 463, 466, 467, 468, - 471, 472, 475, 473, 474, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 73, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 621, 0, 0, 0, 0, + 471, 472, 475, 473, 474, 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2532, 781, 758, 321, 706, 784, 670, 692, 797, 695, 698, 739, 653, 719, 250, 690, 654, 0, 674, 643, 683, 644, 671, 708, 175, 669, 760, 722, 783, @@ -1834,19 +1834,19 @@ var yyAct = [...]int{ 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, - 638, 187, 235, 144, 757, 774, 704, 199, 350, 778, - 701, 700, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 749, 291, 688, 639, 761, 672, 684, - 166, 680, 283, 254, 339, 0, 725, 282, 212, 329, - 745, 779, 338, 693, 800, 347, 352, 0, 715, 659, - 306, 176, 0, 133, 0, 268, 171, 204, 703, 740, - 673, 163, 747, 729, 767, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 2542, 2543, 2544, 0, 0, - 0, 0, 344, 699, 294, 293, 694, 195, 755, 732, - 645, 276, 743, 200, 132, 318, 355, 149, 206, 323, - 637, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 685, 744, 754, 274, 296, 325, 151, + 638, 235, 144, 757, 774, 704, 199, 350, 778, 701, + 700, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 749, 291, 688, 639, 761, 672, 684, 166, + 680, 283, 254, 339, 0, 725, 282, 212, 329, 745, + 779, 338, 693, 800, 347, 352, 0, 715, 659, 306, + 176, 0, 133, 0, 268, 171, 204, 703, 740, 673, + 163, 747, 729, 767, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 2542, 2543, 2544, 0, 0, 0, + 0, 344, 699, 294, 293, 694, 195, 755, 732, 645, + 276, 743, 200, 132, 318, 355, 149, 206, 323, 637, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, @@ -1882,19 +1882,19 @@ var yyAct = [...]int{ 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, - 640, 676, 752, 0, 638, 187, 235, 144, 757, 774, - 704, 199, 350, 778, 701, 700, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 749, 291, 688, - 639, 761, 672, 684, 166, 680, 283, 254, 339, 0, - 725, 282, 212, 329, 745, 779, 338, 693, 800, 347, - 352, 0, 715, 659, 306, 176, 0, 133, 0, 268, - 171, 204, 703, 740, 673, 163, 747, 729, 767, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 699, 294, 293, - 694, 195, 755, 732, 645, 276, 743, 200, 132, 318, - 355, 149, 206, 323, 637, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 685, 744, 754, + 640, 676, 752, 0, 638, 235, 144, 757, 774, 704, + 199, 350, 778, 701, 700, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 749, 291, 688, 639, + 761, 672, 684, 166, 680, 283, 254, 339, 0, 725, + 282, 212, 329, 745, 779, 338, 693, 800, 347, 352, + 0, 715, 659, 306, 176, 0, 133, 0, 268, 171, + 204, 703, 740, 673, 163, 747, 729, 767, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 699, 294, 293, 694, + 195, 755, 732, 645, 276, 743, 200, 132, 318, 355, + 149, 206, 323, 637, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, @@ -1930,20 +1930,20 @@ var yyAct = [...]int{ 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, - 0, 0, 0, 661, 640, 676, 752, 0, 638, 187, - 235, 144, 757, 774, 704, 199, 350, 778, 701, 700, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 749, 291, 688, 639, 761, 672, 684, 166, 680, - 283, 254, 339, 0, 725, 282, 212, 329, 745, 779, - 338, 693, 800, 347, 352, 0, 715, 659, 306, 176, - 0, 133, 0, 268, 171, 204, 703, 740, 673, 163, - 747, 729, 767, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 699, 294, 293, 694, 195, 755, 732, 645, 276, - 743, 200, 132, 318, 355, 149, 206, 323, 637, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 685, 744, 754, 274, 296, 325, 151, 313, 681, + 0, 0, 0, 661, 640, 676, 752, 0, 638, 235, + 144, 757, 774, 704, 199, 350, 778, 701, 700, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 749, 291, 688, 639, 761, 672, 684, 166, 680, 283, + 254, 339, 0, 725, 282, 212, 329, 745, 779, 338, + 693, 800, 347, 352, 0, 715, 659, 306, 176, 0, + 133, 0, 268, 171, 204, 703, 740, 673, 163, 747, + 729, 767, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 699, 294, 293, 694, 195, 755, 732, 645, 276, 743, + 200, 132, 318, 355, 149, 206, 323, 637, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, @@ -1979,19 +1979,19 @@ var yyAct = [...]int{ 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, - 752, 0, 638, 187, 235, 144, 757, 774, 704, 199, - 350, 778, 701, 700, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 749, 291, 688, 639, 761, - 672, 684, 166, 680, 283, 254, 339, 0, 725, 282, - 212, 329, 745, 779, 338, 693, 800, 347, 352, 0, - 715, 659, 306, 176, 0, 133, 0, 268, 171, 204, - 703, 740, 673, 163, 747, 729, 767, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 699, 294, 293, 694, 195, - 755, 732, 645, 276, 743, 200, 132, 318, 355, 149, - 206, 323, 637, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 685, 744, 754, 274, 296, + 752, 0, 638, 235, 144, 757, 774, 704, 199, 350, + 778, 701, 700, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 749, 291, 688, 639, 761, 672, + 684, 166, 680, 283, 254, 339, 0, 725, 282, 212, + 329, 745, 779, 338, 693, 800, 347, 352, 0, 715, + 659, 306, 176, 0, 133, 0, 268, 171, 204, 703, + 740, 673, 163, 747, 729, 767, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 699, 294, 293, 694, 195, 755, + 732, 645, 276, 743, 200, 132, 318, 355, 149, 206, + 323, 637, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, @@ -2027,19 +2027,19 @@ var yyAct = [...]int{ 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 2306, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, - 0, 661, 640, 676, 752, 0, 638, 187, 235, 144, - 757, 774, 704, 199, 350, 778, 701, 700, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 749, - 291, 688, 639, 761, 672, 684, 166, 680, 283, 254, - 339, 0, 725, 282, 212, 329, 745, 779, 338, 693, - 800, 347, 352, 0, 715, 659, 306, 176, 0, 133, - 0, 268, 171, 204, 703, 740, 673, 163, 747, 729, - 767, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 699, - 294, 293, 694, 195, 755, 732, 645, 276, 743, 200, - 132, 318, 355, 149, 206, 323, 637, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 685, + 0, 661, 640, 676, 752, 0, 638, 235, 144, 757, + 774, 704, 199, 350, 778, 701, 700, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 749, 291, + 688, 639, 761, 672, 684, 166, 680, 283, 254, 339, + 0, 725, 282, 212, 329, 745, 779, 338, 693, 800, + 347, 352, 0, 715, 659, 306, 176, 0, 133, 0, + 268, 171, 204, 703, 740, 673, 163, 747, 729, 767, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 699, 294, + 293, 694, 195, 755, 732, 645, 276, 743, 200, 132, + 318, 355, 149, 206, 323, 637, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, @@ -2076,19 +2076,19 @@ var yyAct = [...]int{ 697, 269, 689, 0, 0, 0, 0, 0, 0, 1945, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, - 638, 187, 235, 144, 757, 774, 704, 199, 350, 778, - 701, 700, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 749, 291, 688, 639, 761, 672, 684, - 166, 680, 283, 254, 339, 0, 725, 282, 212, 329, - 745, 779, 338, 693, 800, 347, 352, 0, 715, 659, - 306, 176, 0, 133, 0, 268, 171, 204, 703, 740, - 673, 163, 747, 729, 767, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 699, 294, 293, 694, 195, 755, 732, - 645, 276, 743, 200, 132, 318, 355, 149, 206, 323, - 637, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 685, 744, 754, 274, 296, 325, 151, + 638, 235, 144, 757, 774, 704, 199, 350, 778, 701, + 700, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 749, 291, 688, 639, 761, 672, 684, 166, + 680, 283, 254, 339, 0, 725, 282, 212, 329, 745, + 779, 338, 693, 800, 347, 352, 0, 715, 659, 306, + 176, 0, 133, 0, 268, 171, 204, 703, 740, 673, + 163, 747, 729, 767, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 699, 294, 293, 694, 195, 755, 732, 645, + 276, 743, 200, 132, 318, 355, 149, 206, 323, 637, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, @@ -2124,19 +2124,19 @@ var yyAct = [...]int{ 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 1935, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, - 640, 676, 752, 0, 638, 187, 235, 144, 757, 774, - 704, 199, 350, 778, 701, 700, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 749, 291, 688, - 639, 761, 672, 684, 166, 680, 283, 254, 339, 0, - 725, 282, 212, 329, 745, 779, 338, 693, 800, 347, - 352, 0, 715, 659, 306, 176, 0, 133, 0, 268, - 171, 204, 703, 740, 673, 163, 747, 729, 767, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 699, 294, 293, - 694, 195, 755, 732, 645, 276, 743, 200, 132, 318, - 355, 149, 206, 323, 637, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 685, 744, 754, + 640, 676, 752, 0, 638, 235, 144, 757, 774, 704, + 199, 350, 778, 701, 700, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 749, 291, 688, 639, + 761, 672, 684, 166, 680, 283, 254, 339, 0, 725, + 282, 212, 329, 745, 779, 338, 693, 800, 347, 352, + 0, 715, 659, 306, 176, 0, 133, 0, 268, 171, + 204, 703, 740, 673, 163, 747, 729, 767, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 699, 294, 293, 694, + 195, 755, 732, 645, 276, 743, 200, 132, 318, 355, + 149, 206, 323, 637, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, @@ -2172,20 +2172,20 @@ var yyAct = [...]int{ 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 1489, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, - 0, 0, 0, 661, 640, 676, 752, 0, 638, 187, - 235, 144, 757, 774, 704, 199, 350, 778, 701, 700, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 749, 291, 688, 639, 761, 672, 684, 166, 680, - 283, 254, 339, 0, 725, 282, 212, 329, 745, 779, - 338, 693, 800, 347, 352, 0, 715, 659, 306, 176, - 0, 133, 0, 268, 171, 204, 703, 740, 673, 163, - 747, 729, 767, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 699, 294, 293, 694, 195, 755, 732, 645, 276, - 743, 200, 132, 318, 355, 149, 206, 323, 637, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 685, 744, 754, 274, 296, 325, 151, 313, 681, + 0, 0, 0, 661, 640, 676, 752, 0, 638, 235, + 144, 757, 774, 704, 199, 350, 778, 701, 700, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 749, 291, 688, 639, 761, 672, 684, 166, 680, 283, + 254, 339, 0, 725, 282, 212, 329, 745, 779, 338, + 693, 800, 347, 352, 0, 715, 659, 306, 176, 0, + 133, 0, 268, 171, 204, 703, 740, 673, 163, 747, + 729, 767, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 699, 294, 293, 694, 195, 755, 732, 645, 276, 743, + 200, 132, 318, 355, 149, 206, 323, 637, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, @@ -2221,19 +2221,19 @@ var yyAct = [...]int{ 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 1349, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, - 752, 0, 638, 187, 235, 144, 757, 774, 704, 199, - 350, 778, 701, 700, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 749, 291, 688, 639, 761, - 672, 684, 166, 680, 283, 254, 339, 0, 725, 282, - 212, 329, 745, 779, 338, 693, 800, 347, 352, 0, - 715, 659, 306, 176, 0, 133, 0, 268, 171, 204, - 703, 740, 673, 163, 747, 729, 767, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 699, 294, 293, 694, 195, - 755, 732, 645, 276, 743, 200, 132, 318, 355, 149, - 206, 323, 637, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 685, 744, 754, 274, 296, + 752, 0, 638, 235, 144, 757, 774, 704, 199, 350, + 778, 701, 700, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 749, 291, 688, 639, 761, 672, + 684, 166, 680, 283, 254, 339, 0, 725, 282, 212, + 329, 745, 779, 338, 693, 800, 347, 352, 0, 715, + 659, 306, 176, 0, 133, 0, 268, 171, 204, 703, + 740, 673, 163, 747, 729, 767, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 699, 294, 293, 694, 195, 755, + 732, 645, 276, 743, 200, 132, 318, 355, 149, 206, + 323, 637, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, @@ -2269,19 +2269,19 @@ var yyAct = [...]int{ 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, - 0, 661, 640, 676, 752, 0, 638, 187, 235, 144, - 757, 774, 704, 199, 350, 778, 701, 700, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 749, - 291, 688, 639, 761, 672, 684, 166, 680, 283, 254, - 339, 0, 725, 282, 212, 329, 745, 779, 338, 693, - 800, 347, 352, 0, 715, 659, 306, 176, 0, 133, - 0, 268, 171, 204, 703, 740, 673, 163, 747, 729, - 767, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 699, - 294, 293, 694, 195, 755, 732, 645, 276, 743, 200, - 132, 318, 355, 149, 206, 323, 637, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 685, + 0, 661, 640, 676, 752, 0, 638, 235, 144, 757, + 774, 704, 199, 350, 778, 701, 700, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 749, 291, + 688, 639, 761, 672, 684, 166, 680, 283, 254, 339, + 0, 725, 282, 212, 329, 745, 779, 338, 693, 800, + 347, 352, 0, 715, 659, 306, 176, 0, 133, 0, + 268, 171, 204, 703, 740, 673, 163, 747, 729, 767, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 699, 294, + 293, 694, 195, 755, 732, 645, 276, 743, 200, 132, + 318, 355, 149, 206, 323, 637, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, @@ -2318,19 +2318,19 @@ var yyAct = [...]int{ 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, - 638, 187, 235, 144, 757, 774, 704, 199, 350, 778, - 701, 700, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 749, 291, 688, 639, 761, 672, 684, - 166, 680, 283, 254, 339, 0, 725, 282, 212, 329, - 745, 779, 338, 693, 800, 347, 352, 0, 715, 659, - 306, 176, 0, 133, 0, 268, 171, 204, 703, 740, - 673, 163, 747, 729, 767, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 699, 294, 293, 694, 195, 755, 732, - 645, 276, 743, 200, 132, 318, 355, 149, 206, 323, - 637, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 685, 744, 754, 274, 296, 325, 151, + 638, 235, 144, 757, 774, 704, 199, 350, 778, 701, + 700, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 749, 291, 688, 639, 761, 672, 684, 166, + 680, 283, 254, 339, 0, 725, 282, 212, 329, 745, + 779, 338, 693, 800, 347, 352, 0, 715, 659, 306, + 176, 0, 133, 0, 268, 171, 204, 703, 740, 673, + 163, 747, 729, 767, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 699, 294, 293, 694, 195, 755, 732, 645, + 276, 743, 200, 132, 318, 355, 149, 206, 323, 637, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, @@ -2366,19 +2366,19 @@ var yyAct = [...]int{ 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, - 640, 676, 752, 0, 638, 187, 235, 144, 757, 774, - 1524, 199, 350, 778, 701, 700, 1519, 0, 1520, 189, - 209, 634, 128, 142, 1517, 1523, 246, 749, 291, 688, - 639, 761, 672, 684, 166, 680, 283, 254, 339, 0, - 725, 282, 212, 329, 745, 779, 338, 693, 800, 347, - 352, 0, 715, 659, 306, 176, 0, 133, 0, 268, - 171, 204, 703, 740, 673, 163, 747, 729, 767, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 699, 294, 293, - 694, 195, 755, 732, 645, 276, 743, 200, 132, 318, - 355, 149, 206, 323, 637, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 685, 744, 754, + 640, 676, 752, 0, 638, 235, 144, 757, 774, 1524, + 199, 350, 778, 701, 700, 1519, 0, 1520, 189, 209, + 634, 128, 142, 1517, 1523, 246, 749, 291, 688, 639, + 761, 672, 684, 166, 680, 283, 254, 339, 0, 725, + 282, 212, 329, 745, 779, 338, 693, 800, 347, 352, + 0, 715, 659, 306, 176, 0, 133, 0, 268, 171, + 204, 703, 740, 673, 163, 747, 729, 767, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 699, 294, 293, 694, + 195, 755, 732, 645, 276, 743, 200, 132, 318, 355, + 149, 206, 323, 637, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, @@ -2414,20 +2414,20 @@ var yyAct = [...]int{ 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, - 0, 0, 0, 661, 640, 676, 752, 0, 638, 187, - 235, 144, 757, 774, 704, 199, 350, 778, 701, 700, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 749, 291, 688, 639, 761, 672, 684, 166, 680, - 283, 254, 339, 0, 725, 282, 212, 329, 745, 779, - 338, 693, 800, 347, 352, 0, 715, 659, 306, 176, - 0, 133, 0, 268, 171, 204, 703, 740, 673, 163, - 747, 729, 767, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 699, 294, 293, 694, 195, 755, 732, 645, 276, - 743, 200, 132, 318, 355, 149, 206, 323, 637, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 685, 744, 754, 274, 296, 325, 151, 313, 681, + 0, 0, 0, 661, 640, 676, 752, 0, 638, 235, + 144, 757, 774, 704, 199, 350, 778, 701, 700, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 749, 291, 688, 639, 761, 672, 684, 166, 680, 283, + 254, 339, 0, 725, 282, 212, 329, 745, 779, 338, + 693, 800, 347, 352, 0, 715, 659, 306, 176, 0, + 133, 0, 268, 171, 204, 703, 740, 673, 163, 747, + 729, 767, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 699, 294, 293, 694, 195, 755, 732, 645, 276, 743, + 200, 132, 318, 355, 149, 206, 323, 637, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, @@ -2463,19 +2463,19 @@ var yyAct = [...]int{ 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, - 752, 0, 638, 187, 235, 144, 757, 774, 704, 199, - 350, 778, 701, 700, 271, 0, 315, 189, 209, 634, - 128, 142, 630, 188, 246, 749, 291, 688, 639, 761, - 672, 684, 166, 680, 283, 254, 339, 0, 725, 282, - 212, 329, 745, 779, 338, 693, 800, 347, 352, 0, - 715, 659, 306, 176, 0, 133, 0, 268, 171, 204, - 703, 740, 673, 163, 747, 729, 767, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 699, 294, 293, 694, 195, - 755, 732, 645, 276, 743, 200, 132, 318, 355, 149, - 206, 323, 637, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 685, 744, 754, 274, 296, + 752, 0, 638, 235, 144, 757, 774, 704, 199, 350, + 778, 701, 700, 271, 0, 315, 189, 209, 634, 128, + 142, 630, 188, 246, 749, 291, 688, 639, 761, 672, + 684, 166, 680, 283, 254, 339, 0, 725, 282, 212, + 329, 745, 779, 338, 693, 800, 347, 352, 0, 715, + 659, 306, 176, 0, 133, 0, 268, 171, 204, 703, + 740, 673, 163, 747, 729, 767, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 699, 294, 293, 694, 195, 755, + 732, 645, 276, 743, 200, 132, 318, 355, 149, 206, + 323, 637, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, @@ -2511,19 +2511,19 @@ var yyAct = [...]int{ 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 235, 144, 570, 0, - 0, 199, 350, 0, 0, 592, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 577, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 569, - 0, 282, 212, 329, 0, 0, 338, 0, 476, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 144, 570, 0, 0, + 199, 350, 0, 0, 592, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 577, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 569, 0, + 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, @@ -2559,19 +2559,19 @@ var yyAct = [...]int{ 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 235, 144, - 570, 0, 0, 199, 350, 0, 0, 592, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, - 291, 577, 0, 0, 0, 0, 166, 0, 283, 254, - 339, 569, 0, 282, 212, 329, 0, 0, 338, 0, - 476, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 144, 570, + 0, 0, 199, 350, 0, 0, 592, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, + 577, 0, 0, 0, 0, 166, 0, 283, 254, 339, + 569, 0, 282, 212, 329, 0, 0, 338, 0, 476, + 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, + 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, + 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, + 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, @@ -2607,19 +2607,19 @@ var yyAct = [...]int{ 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 496, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 235, - 144, 570, 0, 0, 199, 350, 0, 0, 592, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 0, 291, 577, 0, 0, 0, 0, 166, 0, 283, - 254, 339, 569, 0, 282, 212, 329, 0, 0, 338, - 0, 476, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 235, 144, + 570, 0, 0, 199, 350, 0, 0, 592, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, + 291, 577, 0, 0, 0, 0, 166, 0, 283, 254, + 339, 569, 0, 282, 212, 329, 0, 0, 338, 0, + 476, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, @@ -2655,20 +2655,20 @@ var yyAct = [...]int{ 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 235, 144, 570, 0, 0, 199, 350, 0, 0, 592, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 0, 291, 577, 0, 0, 0, 0, 166, 0, - 283, 254, 339, 569, 0, 282, 212, 329, 0, 0, - 338, 0, 476, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 0, 0, 0, 274, 296, 325, 151, 313, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 144, 570, 0, 0, 199, 350, 0, 0, 592, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 0, 291, 577, 0, 0, 0, 0, 166, 0, 283, + 254, 339, 569, 0, 282, 212, 329, 0, 0, 338, + 0, 476, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, @@ -2704,19 +2704,19 @@ var yyAct = [...]int{ 269, 0, 0, 0, 0, 0, 515, 516, 1387, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 235, 144, 570, 0, 0, 199, 350, 0, 0, - 592, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 0, 291, 577, 0, 0, 0, 0, 166, - 0, 283, 254, 339, 569, 0, 282, 212, 329, 0, - 0, 338, 0, 476, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 0, 0, 0, 274, 296, 325, 151, 313, + 235, 144, 570, 0, 0, 199, 350, 0, 0, 592, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 0, 291, 577, 0, 0, 0, 0, 166, 0, + 283, 254, 339, 569, 0, 282, 212, 329, 0, 0, + 338, 0, 476, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, @@ -2752,24 +2752,24 @@ var yyAct = [...]int{ 0, 269, 0, 0, 0, 0, 0, 515, 516, 1387, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 235, 144, 570, 0, 0, 199, 350, 0, - 0, 592, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 0, 291, 577, 0, 0, 0, 0, - 166, 0, 283, 254, 339, 569, 0, 282, 212, 329, - 0, 0, 338, 0, 476, 347, 352, 0, 0, 0, - 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, - 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, - 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, - 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 0, 0, 0, 274, 296, 325, 151, - 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, - 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, - 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, - 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, - 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, + 0, 235, 144, 570, 0, 0, 199, 350, 0, 0, + 592, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 0, 291, 577, 0, 0, 0, 0, 166, + 0, 283, 254, 339, 569, 0, 282, 212, 329, 0, + 0, 338, 0, 476, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, + 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, + 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, + 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, + 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, + 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, @@ -2800,19 +2800,19 @@ var yyAct = [...]int{ 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 1387, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 235, 144, 570, 0, 0, 199, 350, - 0, 0, 592, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 0, 291, 577, 0, 0, 0, - 0, 166, 0, 283, 254, 339, 569, 0, 282, 212, - 329, 0, 0, 338, 0, 476, 347, 352, 0, 0, - 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, - 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, - 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, - 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 0, 0, 0, 274, 296, 325, + 0, 0, 235, 144, 570, 0, 0, 199, 350, 0, + 0, 592, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 0, 291, 577, 0, 0, 0, 0, + 166, 0, 283, 254, 339, 569, 0, 282, 212, 329, + 0, 0, 338, 0, 476, 347, 352, 0, 0, 0, + 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, + 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, + 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, + 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, @@ -2848,19 +2848,19 @@ var yyAct = [...]int{ 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 235, 144, 570, 0, 0, 199, - 350, 0, 0, 592, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 0, 291, 577, 0, 0, - 0, 0, 166, 0, 283, 254, 339, 569, 0, 282, - 212, 329, 0, 0, 338, 0, 476, 347, 352, 0, - 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, - 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, - 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, - 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 0, 0, 0, 274, 296, + 0, 0, 0, 235, 144, 570, 0, 0, 199, 350, + 0, 0, 592, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 0, 291, 577, 0, 0, 0, + 0, 166, 0, 283, 254, 339, 569, 0, 282, 212, + 329, 0, 0, 338, 0, 476, 347, 352, 0, 0, + 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, + 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, + 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, + 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, @@ -2896,19 +2896,19 @@ var yyAct = [...]int{ 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 235, 144, 570, 0, 0, - 199, 350, 0, 0, 592, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 577, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 569, 0, - 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 0, 0, 0, 274, + 0, 0, 0, 0, 235, 144, 570, 0, 0, 199, + 350, 0, 0, 592, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 0, 291, 577, 0, 0, + 0, 0, 166, 0, 283, 254, 339, 569, 0, 282, + 212, 329, 0, 0, 338, 0, 476, 347, 352, 0, + 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, + 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, + 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, + 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, @@ -2944,19 +2944,19 @@ var yyAct = [...]int{ 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 235, 144, 570, 0, - 0, 199, 350, 0, 0, 592, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 577, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 569, - 0, 282, 212, 329, 0, 0, 338, 0, 476, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 144, 570, 0, 0, + 199, 350, 0, 0, 592, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 577, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 569, 0, + 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, @@ -2992,19 +2992,19 @@ var yyAct = [...]int{ 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 235, 144, 570, - 0, 0, 199, 350, 0, 0, 592, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, - 577, 0, 0, 0, 0, 166, 0, 283, 254, 339, - 569, 2724, 282, 212, 329, 0, 0, 338, 0, 476, - 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, - 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, - 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, - 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 144, 570, 0, + 0, 199, 350, 0, 0, 592, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 577, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 569, + 2724, 282, 212, 329, 0, 0, 338, 0, 476, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, @@ -3040,19 +3040,19 @@ var yyAct = [...]int{ 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 235, 144, - 570, 0, 0, 199, 350, 0, 0, 592, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, - 291, 577, 0, 0, 0, 0, 166, 0, 283, 254, - 339, 569, 0, 282, 212, 329, 0, 0, 338, 0, - 476, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 144, 570, + 0, 0, 199, 350, 0, 0, 592, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, + 577, 0, 0, 0, 0, 166, 0, 283, 254, 339, + 569, 0, 282, 212, 329, 0, 0, 338, 0, 476, + 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, + 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, + 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, + 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, @@ -3088,19 +3088,19 @@ var yyAct = [...]int{ 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 235, - 144, 570, 0, 0, 199, 350, 0, 0, 592, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 0, 291, 577, 0, 0, 0, 0, 166, 0, 283, - 254, 339, 569, 0, 282, 212, 329, 0, 0, 338, - 0, 476, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 235, 144, + 570, 0, 0, 199, 350, 0, 0, 592, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, + 291, 577, 0, 0, 0, 0, 166, 0, 283, 254, + 339, 569, 0, 282, 212, 329, 0, 0, 338, 0, + 476, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, @@ -3136,20 +3136,20 @@ var yyAct = [...]int{ 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 235, 144, 0, 0, 0, 199, 350, 0, 1480, 0, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, - 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, - 338, 0, 476, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 0, 0, 0, 274, 296, 325, 151, 313, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 144, 0, 0, 0, 199, 350, 0, 1480, 0, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, + 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, + 0, 476, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, @@ -3185,19 +3185,19 @@ var yyAct = [...]int{ 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 235, 144, 0, 0, 0, 199, 350, 0, 1480, - 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, - 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, - 0, 338, 0, 476, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 0, 0, 0, 274, 296, 325, 151, 313, + 235, 144, 0, 0, 0, 199, 350, 0, 1480, 0, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, + 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, + 338, 0, 476, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, @@ -3233,19 +3233,19 @@ var yyAct = [...]int{ 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 235, 144, 0, 0, 0, 199, 350, 0, - 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, - 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, - 0, 0, 338, 0, 476, 347, 352, 0, 0, 0, - 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, - 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, - 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, - 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 0, 0, 0, 274, 296, 325, 151, + 0, 235, 144, 0, 0, 0, 199, 350, 0, 0, + 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, + 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, + 0, 338, 0, 476, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, @@ -3281,28 +3281,28 @@ var yyAct = [...]int{ 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 235, 144, 0, 0, 0, 199, 350, - 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, - 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, - 329, 0, 0, 338, 0, 476, 347, 352, 0, 0, - 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, - 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, - 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, - 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 0, 0, 0, 274, 296, 325, - 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, - 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, - 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, - 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, - 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, - 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, - 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, - 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, - 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, + 0, 0, 235, 144, 0, 0, 0, 199, 350, 0, + 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, + 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, + 0, 0, 338, 0, 476, 347, 352, 0, 0, 0, + 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, + 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, + 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, + 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, + 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, + 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, + 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, + 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, + 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, + 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, + 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, + 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, + 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3329,19 +3329,19 @@ var yyAct = [...]int{ 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 235, 144, 0, 0, 0, 199, - 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, - 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, - 212, 329, 0, 0, 338, 0, 476, 347, 352, 0, - 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, - 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, - 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, - 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 0, 0, 0, 274, 296, + 0, 0, 0, 235, 144, 0, 0, 0, 199, 350, + 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, + 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, + 329, 0, 0, 338, 0, 476, 347, 352, 0, 0, + 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, + 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, + 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, + 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, @@ -3377,19 +3377,19 @@ var yyAct = [...]int{ 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 235, 144, 0, 0, 0, - 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, - 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 0, 0, 0, 274, + 0, 0, 0, 0, 235, 144, 0, 0, 0, 199, + 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, + 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, + 212, 329, 0, 0, 338, 0, 476, 347, 352, 0, + 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, + 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, + 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, + 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, @@ -3425,19 +3425,19 @@ var yyAct = [...]int{ 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 235, 144, 0, 0, - 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, - 0, 282, 212, 329, 0, 0, 338, 0, 476, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 144, 0, 0, 0, + 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, + 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, @@ -3473,19 +3473,19 @@ var yyAct = [...]int{ 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 235, 144, 0, - 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, - 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, - 0, 0, 282, 212, 329, 0, 0, 338, 0, 476, - 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, - 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, - 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, - 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 144, 0, 0, + 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, + 0, 282, 212, 329, 0, 0, 338, 0, 476, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, @@ -3510,10 +3510,10 @@ var yyAct = [...]int{ 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, 427, 321, 421, 432, 415, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 438, 0, 0, 0, 0, - 0, 0, 175, 0, 0, 422, 0, 208, 0, 0, + 0, 0, 175, 0, 0, 422, 0, 208, 0, 482, 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2135, 0, 0, 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, 0, 0, 0, 436, 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3521,19 +3521,19 @@ var yyAct = [...]int{ 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 414, 413, 416, 0, 0, 0, 187, 235, - 144, 0, 0, 420, 199, 350, 0, 0, 0, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 424, 291, 0, 0, 428, 0, 0, 166, 0, 283, - 254, 339, 0, 0, 282, 212, 329, 0, 431, 338, - 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 414, 413, 416, 0, 0, 0, 235, 144, + 0, 0, 420, 199, 350, 0, 0, 0, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 424, + 291, 0, 0, 428, 476, 0, 166, 0, 283, 254, + 339, 0, 0, 282, 212, 329, 0, 431, 338, 0, + 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 441, 296, 325, 151, 313, 417, 418, 419, 425, 426, 429, 430, 433, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, @@ -3545,10 +3545,10 @@ var yyAct = [...]int{ 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 456, 457, 458, 459, 460, + 464, 465, 469, 470, 479, 478, 477, 480, 481, 484, + 483, 485, 461, 462, 463, 466, 467, 468, 471, 472, + 475, 473, 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, @@ -3570,19 +3570,19 @@ var yyAct = [...]int{ 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 413, 416, 0, 0, 0, - 187, 235, 144, 0, 0, 420, 199, 350, 0, 0, - 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 424, 291, 0, 0, 428, 0, 0, 166, - 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, - 431, 338, 0, 0, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 0, 0, 0, 410, 296, 325, 151, 313, + 235, 144, 0, 0, 420, 199, 350, 0, 0, 0, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 424, 291, 0, 0, 428, 0, 0, 166, 0, + 283, 254, 339, 0, 0, 282, 212, 329, 0, 431, + 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 187, 0, 0, 0, 410, 296, 325, 151, 313, 417, 418, 419, 425, 426, 429, 430, 433, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, @@ -3618,19 +3618,19 @@ var yyAct = [...]int{ 0, 269, 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 235, 144, 0, 0, 0, 199, 350, 0, - 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, - 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, - 0, 0, 338, 0, 0, 347, 352, 0, 0, 0, - 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, - 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, - 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, - 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 0, 0, 0, 274, 296, 325, 151, + 0, 235, 144, 0, 0, 0, 199, 350, 0, 0, + 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, + 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, + 0, 338, 0, 0, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, @@ -3666,19 +3666,19 @@ var yyAct = [...]int{ 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 235, 144, 0, 0, 0, 199, 350, - 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, - 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, - 329, 0, 0, 338, 0, 0, 347, 352, 0, 0, - 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, - 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, - 2648, 0, 276, 0, 200, 132, 318, 355, 149, 206, - 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 0, 0, 0, 274, 296, 325, + 0, 0, 235, 144, 0, 0, 0, 199, 350, 0, + 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, + 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, + 0, 0, 338, 0, 0, 347, 352, 0, 0, 0, + 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, + 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 294, 293, 0, 195, 0, 2648, + 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, + 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, @@ -3714,19 +3714,19 @@ var yyAct = [...]int{ 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 235, 144, 0, 0, 0, - 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, - 282, 212, 329, 0, 0, 338, 0, 0, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 0, 0, 0, 274, + 0, 0, 0, 0, 235, 144, 0, 0, 0, 199, + 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, + 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, + 212, 329, 0, 0, 338, 0, 0, 347, 352, 0, + 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, + 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, + 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, + 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, @@ -3762,19 +3762,19 @@ var yyAct = [...]int{ 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 235, 144, 0, 0, - 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, - 0, 282, 212, 329, 0, 0, 338, 0, 0, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 144, 0, 0, 0, + 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, + 282, 212, 329, 0, 0, 338, 0, 0, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, @@ -3810,19 +3810,19 @@ var yyAct = [...]int{ 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 235, 144, 0, - 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, - 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, - 0, 0, 282, 212, 329, 0, 0, 338, 0, 0, - 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, - 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, - 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, - 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 144, 0, 0, + 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, + 0, 282, 212, 329, 0, 0, 338, 0, 0, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, @@ -3858,19 +3858,19 @@ var yyAct = [...]int{ 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 235, 144, - 0, 0, 0, 199, 350, 0, 0, 0, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, - 291, 0, 0, 0, 0, 0, 166, 0, 283, 254, - 339, 0, 0, 282, 212, 329, 0, 0, 338, 0, - 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 144, 0, + 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, + 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, + 0, 0, 282, 212, 329, 0, 0, 338, 0, 0, + 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, + 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, + 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, + 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, @@ -3904,21 +3904,21 @@ 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, 340, 261, 277, 297, 0, 269, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 235, - 144, 0, 0, 0, 199, 350, 0, 0, 0, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, - 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, - 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 235, 144, + 0, 0, 0, 199, 350, 0, 0, 0, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, + 291, 0, 0, 0, 0, 0, 166, 0, 283, 254, + 339, 0, 0, 282, 212, 329, 0, 0, 338, 0, + 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, @@ -3954,20 +3954,20 @@ var yyAct = [...]int{ 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 235, 144, 0, 0, 0, 199, 350, 0, 0, 0, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, - 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, - 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 0, 0, 0, 274, 296, 325, 151, 313, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 144, 0, 0, 0, 199, 350, 0, 0, 0, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, + 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, + 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, @@ -4003,19 +4003,19 @@ var yyAct = [...]int{ 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 235, 144, 0, 0, 0, 199, 350, 0, 0, - 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, - 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, - 0, 338, 0, 0, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 0, 0, 0, 274, 296, 325, 151, 313, + 235, 144, 0, 0, 0, 199, 350, 0, 0, 0, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, + 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, + 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, @@ -4051,19 +4051,19 @@ var yyAct = [...]int{ 0, 269, 0, 0, 0, 0, 0, 0, 0, 1622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 235, 144, 0, 0, 0, 199, 350, 0, - 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, - 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, - 0, 0, 338, 0, 0, 347, 352, 0, 0, 0, - 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, - 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, - 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, - 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 0, 0, 0, 274, 296, 325, 151, + 0, 235, 144, 0, 0, 0, 199, 350, 0, 0, + 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, + 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, + 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, + 0, 338, 0, 0, 347, 352, 0, 0, 0, 306, + 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, + 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, + 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, + 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, + 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, + 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, + 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, @@ -4099,19 +4099,19 @@ var yyAct = [...]int{ 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 235, 144, 0, 0, 0, 199, 350, - 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, - 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, - 329, 0, 0, 338, 0, 0, 347, 352, 0, 0, - 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, - 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, - 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, - 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 0, 0, 0, 274, 296, 325, + 0, 0, 235, 144, 0, 0, 0, 199, 350, 0, + 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, + 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, + 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, + 0, 0, 338, 0, 0, 347, 352, 0, 0, 0, + 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, + 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, + 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, + 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, + 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, + 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, + 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, @@ -4147,19 +4147,19 @@ var yyAct = [...]int{ 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 235, 144, 0, 0, 0, 199, - 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, - 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, - 212, 329, 0, 0, 338, 0, 0, 347, 352, 0, - 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, - 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, - 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, - 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 0, 0, 0, 274, 296, + 0, 0, 0, 235, 144, 0, 0, 0, 199, 350, + 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, + 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, + 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, + 329, 0, 0, 338, 0, 0, 347, 352, 0, 0, + 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, + 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, + 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, + 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, + 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, + 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, + 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, @@ -4195,19 +4195,19 @@ var yyAct = [...]int{ 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 235, 144, 0, 123, 0, - 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, - 282, 212, 329, 0, 0, 338, 0, 0, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 0, 0, 0, 274, + 0, 0, 0, 0, 235, 144, 0, 123, 0, 199, + 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, + 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, + 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, + 212, 329, 0, 0, 338, 0, 0, 347, 352, 0, + 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, + 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, + 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, + 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, + 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, + 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, + 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, @@ -4243,19 +4243,19 @@ var yyAct = [...]int{ 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 235, 144, 0, 0, - 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, - 0, 282, 212, 329, 0, 0, 338, 0, 0, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 144, 0, 0, 0, + 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, + 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, + 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, + 282, 212, 329, 0, 0, 338, 0, 0, 347, 352, + 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, + 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, + 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, + 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, + 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, + 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, + 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, @@ -4291,19 +4291,19 @@ var yyAct = [...]int{ 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 235, 144, 0, - 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, - 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, - 0, 0, 282, 212, 329, 0, 0, 338, 0, 0, - 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, - 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, - 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, - 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 144, 0, 0, + 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, + 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, + 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, + 0, 282, 212, 329, 0, 0, 338, 0, 0, 347, + 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, + 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, + 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, + 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, + 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, + 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, + 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, @@ -4339,19 +4339,19 @@ var yyAct = [...]int{ 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 235, 144, - 0, 0, 0, 199, 350, 0, 0, 0, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, - 291, 0, 0, 0, 0, 0, 166, 0, 283, 254, - 339, 0, 0, 282, 212, 329, 0, 0, 338, 0, - 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 144, 0, + 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, + 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, + 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, + 0, 0, 282, 212, 329, 0, 0, 338, 0, 0, + 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, + 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, + 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, + 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, + 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, + 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, + 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, @@ -4387,19 +4387,19 @@ var yyAct = [...]int{ 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 235, - 144, 0, 0, 0, 199, 350, 0, 0, 0, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, - 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, - 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 235, 144, + 0, 0, 0, 199, 350, 0, 0, 0, 271, 0, + 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, + 291, 0, 0, 0, 0, 0, 166, 0, 283, 254, + 339, 0, 0, 282, 212, 329, 0, 0, 338, 0, + 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, + 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, + 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, + 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, + 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, + 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, + 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, @@ -4428,27 +4428,27 @@ var yyAct = [...]int{ 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 235, 144, 0, 0, 0, 199, 350, 0, 0, 0, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, - 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, - 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 0, 0, 0, 274, 296, 325, 151, 313, 0, + 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 144, 0, 0, 0, 199, 350, 0, 0, 0, 271, + 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, + 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, + 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, + 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, + 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, + 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, + 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, + 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, + 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, + 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 1127, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, @@ -4484,19 +4484,19 @@ var yyAct = [...]int{ 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 235, 144, 0, 0, 0, 199, 350, 0, 0, - 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, - 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, - 0, 338, 0, 0, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 0, 0, 0, 274, 296, 325, 151, 313, + 235, 144, 0, 0, 0, 199, 350, 0, 0, 0, + 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, + 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, + 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, + 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, + 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, + 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, + 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, + 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, + 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, + 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, 605, 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, @@ -4510,31 +4510,74 @@ 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, 0, 0, - 0, 0, 131, 140, 210, 0, 275, 182, 343, 0, + 0, 0, 0, 0, 0, 36, 0, 72, 39, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, + 0, 0, 131, 140, 210, 78, 275, 182, 343, 41, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, - 258, 259, 260, 262, 615, 616, 272, 0, 280, 286, + 258, 259, 260, 262, 615, 616, 272, 81, 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, - 330, 331, 349, 351, + 330, 331, 349, 351, 0, 0, 0, 0, 0, 0, + 0, 2474, 0, 0, 0, 36, 2643, 72, 39, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, + 0, 0, 0, 0, 0, 78, 0, 0, 0, 41, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 43, 74, 46, + 45, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2475, 0, 0, 0, 0, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 77, + 76, 0, 0, 0, 0, 47, 0, 0, 0, 0, + 0, 2474, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 57, 58, 0, 2476, 0, 0, 0, 43, 74, 46, + 45, 48, 0, 0, 0, 0, 0, 66, 0, 67, + 0, 0, 2475, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 77, + 76, 0, 0, 0, 68, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2477, 75, 0, 53, 54, 61, 0, 62, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 57, 58, 0, 2476, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 66, 0, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2477, 75, 0, 53, 54, 61, 0, 62, 73, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, } var yyPact = [...]int{ - 4030, -1000, -318, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3230, -1000, -318, -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, 1712, -1000, -1000, -1000, -1000, - -1000, -1000, 856, 263, -1000, 274, 291, 28960, 626, 4060, - 29922, -1000, -1000, -1000, 168, 503, 29922, 409, 452, 1175, - 1597, 1174, 52, -71, -72, 103, 22706, 22224, 85, -1000, - 1781, 1783, -1000, -1000, 574, 58, -1000, -1000, -1000, 19818, - 183, -1000, -1000, 1692, 1710, 1507, -1000, 13084, 574, 574, - 28479, 31846, -1000, 1732, 29922, 11639, -1000, 616, 29922, -158, - 557, 557, 477, 557, 557, 624, -1000, 828, -1000, -1000, - -1000, -1000, 29922, 25593, 558, 29441, 558, 558, 558, 558, - 558, 558, 558, 29922, -1000, 700, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1698, -1000, -1000, -1000, -1000, + -1000, -1000, 900, 248, -1000, 256, 157, 28960, 570, 3957, + 29922, -1000, -1000, -1000, 179, 507, 29922, 416, 453, 1167, + 1588, 1165, 41, -50, -61, 103, 22706, 22224, 78, -1000, + 1768, 1770, -1000, -1000, 481, 45, -1000, -1000, -1000, 19818, + 177, -1000, -1000, 1671, 1695, 1501, -1000, 13084, 481, 481, + 28479, 31846, -1000, 1763, 29922, 11639, -1000, 563, 29922, -140, + 374, 374, 318, 374, 374, 567, -1000, 829, -1000, -1000, + -1000, -1000, 29922, 25593, 379, 29441, 379, 379, 379, 379, + 379, 379, 379, 29922, -1000, 668, -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, @@ -4557,35 +4600,35 @@ 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, -1000, -1000, -1000, -1000, 29922, 1173, - 1622, 863, 126, -1000, -1000, -1000, 859, -1000, 450, 437, - 342, 338, 105, 866, 1689, -1000, 1377, 1692, 1692, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 244, 602, 200, 183, - 804, -1000, 1618, 1617, 1058, 1616, 854, 1615, 1434, -54, - -1000, 1170, 29922, -1000, -1000, 1029, 1028, 1475, 1330, 660, - 1473, -1000, -1000, 334, 552, 1413, 410, 1413, 1413, 1413, - 1413, 1413, -90, 1413, 1413, 1413, 71, 1413, 125, 1413, - 1413, 1413, 1413, 1413, 1226, -1000, -1000, -1000, 357, 1328, - 1384, 1469, -1000, -1000, 1436, 1678, 623, -1000, -127, 1362, - 20780, -1000, 1377, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 29922, 1164, + 1616, 890, 149, -1000, -1000, -1000, 854, -1000, 311, 310, + 294, 243, 118, 898, 1681, -1000, 1385, 1671, 1671, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 328, 552, 229, 177, + 828, -1000, 1615, 1610, 1058, 1607, 547, 1606, 1437, -26, + -1000, 1163, 29922, -1000, -1000, 1017, 1014, 1467, 1325, 617, + 1466, -1000, -1000, 293, 466, 1419, 410, 1419, 1419, 1419, + 1419, 1419, -67, 1419, 1419, 1419, 64, 1419, 151, 1419, + 1419, 1419, 1419, 1419, 1189, -1000, -1000, -1000, 370, 1324, + 1378, 1465, -1000, -1000, 1440, 1669, 566, -1000, -97, 1367, + 20780, -1000, 1385, -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, 1188, 1619, 977, - 15970, 1554, -1000, -1000, 917, 1757, -1000, 19337, 698, -1000, - 15970, 3639, 1377, -1000, -1000, 1377, -1000, -1000, -1000, 671, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1172, 1608, 976, + 15970, 1542, -1000, -1000, 923, 1739, -1000, 19337, 667, -1000, + 15970, 2781, 1385, -1000, -1000, 1385, -1000, -1000, -1000, 612, -1000, -1000, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1377, 1377, 1377, 1377, 1377, 1377, - 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, - 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, - 1377, 1377, -1000, -1000, 1377, -1000, 12603, 1377, 1377, 1377, - 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 15970, - 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, - 1377, 1377, 1377, 1377, 1377, 1377, 27998, 26074, 29922, 1367, - 1319, -1000, -1000, 697, 1372, -94, 31365, -1000, -1000, -1000, - -1000, 30403, 25112, 801, -1000, -1000, -1000, -1000, 1610, -1000, - -1000, 696, -1000, 1712, -1000, -1000, 1291, 547, -1000, 3291, - 4820, -1000, -1000, -1000, 1433, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1385, 1385, 1385, 1385, 1385, 1385, + 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, + 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, + 1385, 1385, -1000, -1000, 1385, -1000, 12603, 1385, 1385, 1385, + 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 15970, + 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, + 1385, 1385, 1385, 1385, 1385, 1385, 27998, 26074, 29922, 1345, + 1319, -1000, -1000, 662, 1379, -108, 31365, -1000, -1000, -1000, + -1000, 30403, 25112, 818, -1000, -1000, -1000, -1000, 1604, -1000, + -1000, 659, -1000, 1698, -1000, -1000, 1291, 348, -1000, 4089, + 4834, -1000, -1000, -1000, 1424, -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, @@ -4602,238 +4645,238 @@ 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, 29441, 1670, 587, 1169, 855, 1168, 1167, 1165, 25593, - 25593, 557, 1164, 1370, 599, 1369, 597, 1214, 29922, 1649, - 1468, 29922, 1163, 1160, 1157, 1150, 25593, 25593, -1000, 11155, - -1000, -1000, 863, -1000, 1094, 15970, 557, 557, 29922, 29922, - 29922, 29922, -1000, -1000, 863, 863, 863, 863, 852, 1756, - 852, -1000, 852, -1000, -1000, 15970, -1000, 17894, 24631, 726, - -1000, -1000, -1000, 1149, 240, -1000, -1000, -1000, -1000, -1000, - -1000, 1147, 854, 854, -1000, 1093, 854, 1357, -1000, 799, + -1000, 29441, 1659, 554, 1160, 887, 1157, 1150, 1149, 25593, + 25593, 374, 1147, 1376, 548, 1375, 544, 953, 29922, 1639, + 1464, 29922, 1144, 1143, 1140, 1139, 25593, 25593, -1000, 11155, + -1000, -1000, 890, -1000, 1066, 15970, 374, 374, 29922, 29922, + 29922, 29922, -1000, -1000, 890, 890, 890, 890, 848, 1733, + 848, -1000, 848, -1000, -1000, 15970, -1000, 17894, 24631, 707, + -1000, -1000, -1000, 1138, 327, -1000, -1000, -1000, -1000, -1000, + -1000, 1133, 547, 547, -1000, 1065, 547, 1348, -1000, 802, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 854, -1000, 15489, -316, -1000, -1000, 1364, -1000, - 290, -1000, -1000, 473, 473, 209, 25593, 25593, 25593, -1000, - 1413, 29441, -1000, 1413, 1413, 1413, -97, 1413, 1413, -1000, - -1000, 1413, -1000, -1000, -1000, -1000, -1000, 1413, -1000, -1000, - -1000, 1413, 1413, -1000, 1413, 1413, -1000, -1000, -1000, -1000, - -1000, 25593, 473, 165, 1363, 473, 25593, 25593, 1507, -1000, - -1000, 183, -1000, -1000, 29922, -102, 20780, 1362, 1665, 9703, - -1000, -1000, -1000, 1776, 757, 1375, -1000, -1000, 1359, -1000, - 889, 694, 976, 1524, -1000, -1000, -1000, 29922, -1000, 15970, - 15970, 1023, -1000, 21261, -1000, -1000, -1000, -1000, 9219, 761, - 17894, 928, 766, 17894, 17894, 17894, 17894, 17894, 17894, 17894, + -1000, -1000, 547, -1000, 15489, -316, -1000, -1000, 1370, -1000, + 264, -1000, -1000, 339, 339, 183, 25593, 25593, 25593, -1000, + 1419, 29441, -1000, 1419, 1419, 1419, -69, 1419, 1419, -1000, + -1000, 1419, -1000, -1000, -1000, -1000, -1000, 1419, -1000, -1000, + -1000, 1419, 1419, -1000, 1419, 1419, -1000, -1000, -1000, -1000, + -1000, 25593, 339, 150, 1368, 339, 25593, 25593, 1501, -1000, + -1000, 177, -1000, -1000, 29922, -85, 20780, 1367, 1658, 9703, + -1000, -1000, -1000, 1759, 754, 1365, -1000, -1000, 1364, -1000, + 866, 645, 1026, 1513, -1000, -1000, -1000, 29922, -1000, 15970, + 15970, 952, -1000, 21261, -1000, -1000, -1000, -1000, 9219, 774, + 17894, 966, 791, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 1021, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1144, -1000, 183, - 1048, 1048, 713, 713, 713, 713, 713, 713, 713, 23187, - 1669, 14046, 14046, 14046, 1669, 1188, 1188, 14046, 14046, 14046, - 14046, 14046, 14046, 1669, 1669, 14046, 1188, 1188, 1188, 1188, - 14046, 14046, 14046, 14046, 1669, 14046, 14046, 14046, 1669, 1188, - 1289, 905, 12603, 14046, 14046, 14046, 1188, 15970, 15970, 15008, - 14527, 16451, 14046, 14046, 1669, 836, 905, 30403, -1000, -1000, - 17413, -1000, -1000, -1000, -1000, -1000, 1188, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1131, -1000, 177, + 1048, 1048, 687, 687, 687, 687, 687, 687, 687, 23187, + 1654, 14046, 14046, 14046, 1654, 1172, 1172, 14046, 14046, 14046, + 14046, 14046, 14046, 1654, 1654, 14046, 1172, 1172, 1172, 1172, + 14046, 14046, 14046, 14046, 1654, 14046, 14046, 14046, 1654, 1172, + 1289, 779, 12603, 14046, 14046, 14046, 1172, 15970, 15970, 15008, + 14527, 16451, 14046, 14046, 1654, 831, 779, 30403, -1000, -1000, + 17413, -1000, -1000, -1000, -1000, -1000, 1172, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 29441, 29441, 14046, 14046, 14046, - 14046, 752, 29922, -1000, 1360, 1449, -1000, -1000, -1000, 1662, - 24150, 18856, -1000, 752, 1322, 26074, 29922, -1000, -1000, 26074, - 29922, 8735, 30884, 1346, -1000, -119, -117, -94, -1000, -1000, - 710, -1000, -1000, -1000, 12121, -1000, 10187, 1692, 1507, 6315, - 10671, -1000, 4820, 1433, -1000, -62, -1000, -1000, -1000, 1401, - -1000, 1401, 284, -25, 1401, 1401, 1401, 1401, 1401, -20, - -20, -20, -20, -21, -1000, -1000, -1000, -1000, -1000, 1419, - 1417, -1000, 1401, 1401, 1401, -1000, -1000, -1000, -1000, -1000, + 14046, 733, 29922, -1000, 1351, 1369, -1000, -1000, -1000, 1657, + 24150, 18856, -1000, 733, 1250, 26074, 29922, -1000, -1000, 26074, + 29922, 8735, 30884, 1340, -1000, -94, -113, -108, -1000, -1000, + 679, -1000, -1000, -1000, 12121, -1000, 10187, 1671, 1501, 6315, + 10671, -1000, 4834, 1424, -1000, -37, -1000, -1000, -1000, 1405, + -1000, 1405, 286, 31, 1405, 1405, 1405, 1405, 1405, 5, + 5, 5, 5, 3, -1000, -1000, -1000, -1000, -1000, 1423, + 1422, -1000, 1405, 1405, 1405, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1407, 293, 1404, 1404, 1404, 1404, - 1404, 524, 524, -1000, 15970, 1450, -1000, 29922, -1000, 1639, - -1000, 281, 1414, 1355, -1000, 175, 1323, 29922, -1000, 29922, - 29922, 25593, 25593, 25593, 586, -1000, 29922, 1358, -1000, -1000, - -1000, -1000, -1000, 1337, -1000, 1323, -1000, -1000, -1000, -1000, - -1000, 905, 1143, 1140, -1000, -1000, -1000, 858, -1000, -1000, - -1000, -1000, 863, 29922, 29922, 29922, 1659, 863, 905, 1373, - 1451, 1377, 1188, -1000, -1000, 1139, -1000, 1357, 1357, -1000, - 1357, 854, 1048, 1357, -1000, 1287, 1642, 1092, 29922, -1000, - 20780, -57, -1000, -136, 27517, -1000, -1000, -1000, 27517, -1000, - 71, 172, -1000, 591, -1000, 1280, -1000, -1000, -1000, -1000, - 1413, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 27517, 109, 164, 27517, 1337, 1753, 1669, 1188, 553, -1000, - -1000, -1000, 1377, 1235, 692, -1000, 1520, 977, 977, 15970, - -1000, -1000, -1000, 10187, 1686, -1000, 1536, 1533, 1422, -1000, - -1000, 761, 793, -1000, -1000, 873, -1000, -1000, -1000, -1000, - 689, 1377, -1000, 4319, -1000, -1000, -1000, -1000, 928, 17894, - 17894, 17894, 1373, 4319, 4271, 861, 1825, 713, 691, 691, - 711, 711, 711, 711, 711, 879, 879, -1000, -1000, -1000, - 1188, -1000, -1000, -1000, 14046, 1270, -1000, -1000, 905, 684, - 1270, 1270, 14046, -173, -173, 1188, 1270, 1270, 1270, 1188, - 1270, 14046, 14046, 1270, -173, -173, -173, -173, 1270, 1270, - 1270, 1270, 14046, 1270, 1270, 1270, 14046, -1000, 15970, -1000, - 1188, 1270, 1270, 1270, -1000, 813, 995, 774, 1745, 1270, - 767, 1744, 1270, 1249, 17894, 17894, 17894, 1270, 1270, 14046, - 841, -1000, 15970, 1188, -1000, 2717, 1356, 1351, 1270, 1188, - 1348, 1270, 1270, 177, 1377, -1000, 10187, 26074, 26074, 26074, - 26074, 26074, -1000, 1501, 1490, -1000, 1493, 1487, 1497, 20780, - 1273, 1188, 304, 24150, -1000, 1377, -1000, 20299, 650, 615, - 613, 607, 1718, 26074, 1312, -1000, 1312, -1000, 674, -1000, - -1000, 30403, -94, -105, -1000, -1000, 1346, -1000, 1045, -1000, - -1000, 905, -1000, 669, 1619, 1669, 1345, 5831, -1000, -1000, - -1000, -1000, 547, -1000, -1000, -1000, 1412, 4621, -1000, 1565, - 715, 685, 1109, 1556, -1000, -1000, 347, -65, -1000, -1000, - 1026, -20, -20, 1401, 1401, 247, 1401, -1000, -20, -1000, - -1000, -1000, 710, 1609, 710, 710, 710, 710, -20, 1071, - 1071, -1000, -1000, -1000, -1000, 1017, -1000, 1407, -1000, 1014, - -1000, -1000, -1000, -1000, -1000, -1000, 971, 1467, 29441, 183, - 1658, -1000, 1723, -1000, -1000, 578, 77, 25593, 171, 359, - 186, -1000, 588, -1000, 585, -1000, -1000, -1000, -1000, -1000, - -1000, 29922, 25593, -1000, -1000, 1718, 1138, 1133, -1000, -1000, - -1000, 852, 863, 1600, -1000, -1000, 17894, 25593, -1000, 318, - -1000, -1000, -1000, -1000, 752, 622, -1000, -1000, -98, -1000, - -1000, 584, 666, 664, 580, -1000, 91, 25593, -1000, 29441, - -1000, 1739, 1733, 106, 1729, 25593, 1524, -1000, 1344, -1000, - 642, 603, 690, 529, 529, -1000, 769, 529, 751, -1000, - 182, -1000, 9703, 9703, 1511, -1000, -1000, -1000, 29922, -1000, + -1000, -1000, -1000, -1000, 1414, 302, 1409, 1409, 1409, 1409, + 1409, 320, 320, -1000, 15970, 1442, -1000, 29922, -1000, 1638, + -1000, 245, 1421, 1355, -1000, 152, 1243, 29922, -1000, 29922, + 29922, 25593, 25593, 25593, 569, -1000, 29922, 1350, -1000, -1000, + -1000, -1000, -1000, 1330, -1000, 1243, -1000, -1000, -1000, -1000, + -1000, 779, 1130, 1129, -1000, -1000, -1000, 850, -1000, -1000, + -1000, -1000, 890, 29922, 29922, 29922, 1656, 890, 779, 666, + 1444, 1385, 1172, -1000, -1000, 1127, -1000, 1348, 1348, -1000, + 1348, 547, 1048, 1348, -1000, 1280, 1633, 1064, 29922, -1000, + 20780, -27, -1000, -116, 27517, -1000, -1000, -1000, 27517, -1000, + 64, 172, -1000, 541, -1000, 1273, -1000, -1000, -1000, -1000, + 1419, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 27517, 107, 148, 27517, 1330, 1729, 1654, 1172, 287, -1000, + -1000, -1000, 1385, 1225, 644, -1000, 1490, 976, 976, 15970, + -1000, -1000, -1000, 10187, 1674, -1000, 1529, 1528, 1486, -1000, + -1000, 774, 827, -1000, -1000, 975, -1000, -1000, -1000, -1000, + 641, 1385, -1000, 3432, -1000, -1000, -1000, -1000, 966, 17894, + 17894, 17894, 666, 3432, 3406, 861, 1825, 687, 748, 748, + 696, 696, 696, 696, 696, 726, 726, -1000, -1000, -1000, + 1172, -1000, -1000, -1000, 14046, 1268, -1000, -1000, 779, 634, + 1268, 1268, 14046, -161, -161, 1172, 1268, 1268, 1268, 1172, + 1268, 14046, 14046, 1268, -161, -161, -161, -161, 1268, 1268, + 1268, 1268, 14046, 1268, 1268, 1268, 14046, -1000, 15970, -1000, + 1172, 1268, 1268, 1268, -1000, 834, 995, 727, 1728, 1268, + 721, 1727, 1268, 949, 17894, 17894, 17894, 1268, 1268, 14046, + 862, -1000, 15970, 1172, -1000, 1248, 1346, 1344, 1268, 1172, + 1342, 1268, 1268, 181, 1385, -1000, 10187, 26074, 26074, 26074, + 26074, 26074, -1000, 1498, 1497, -1000, 1485, 1478, 1489, 20780, + 1270, 1172, 257, 24150, -1000, 1385, -1000, 20299, 618, 562, + 561, 559, 1711, 26074, 1285, -1000, 1285, -1000, 616, -1000, + -1000, 30403, -108, -102, -1000, -1000, 1340, -1000, 1034, -1000, + -1000, 779, -1000, 608, 1608, 1654, 1339, 5831, -1000, -1000, + -1000, -1000, 348, -1000, -1000, -1000, 1417, 4727, -1000, 1556, + 663, 682, 1096, 1540, -1000, -1000, 335, -40, -1000, -1000, + 1011, 5, 5, 1405, 1405, 283, 1405, -1000, 5, -1000, + -1000, -1000, 679, 1603, 679, 679, 679, 679, 5, 1063, + 1063, -1000, -1000, -1000, -1000, 1010, -1000, 1414, -1000, 1005, + -1000, -1000, -1000, -1000, -1000, -1000, 799, 1456, 29441, 177, + 1650, -1000, 1718, -1000, -1000, 573, 66, 25593, 159, 387, + 191, -1000, 538, -1000, 536, -1000, -1000, -1000, -1000, -1000, + -1000, 29922, 25593, -1000, -1000, 1711, 1126, 1125, -1000, -1000, + -1000, 848, 890, 1592, -1000, -1000, 17894, 25593, -1000, 266, + -1000, -1000, -1000, -1000, 733, 565, -1000, -1000, -78, -1000, + -1000, 534, 605, 598, 527, -1000, 85, 25593, -1000, 29441, + -1000, 1726, 1725, 106, 1722, 25593, 1513, -1000, 1337, -1000, + 651, 653, 670, 343, 343, -1000, 782, 343, 732, -1000, + 197, -1000, 9703, 9703, 1508, -1000, -1000, -1000, 29922, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 8251, 14046, - -1000, 1373, 4319, 3773, -1000, 17894, -1000, 1270, 14046, -173, - 7767, -173, -173, 1270, -1000, 27036, -1000, -173, -173, -173, - -173, -173, -173, 1270, 1270, -173, -1000, -1000, -1000, -1000, - -173, -173, -173, -173, 1270, -173, -173, -173, 1188, 905, - -1000, -1000, -1000, -1000, 466, 1021, 466, 17894, 17894, -1000, - 17894, 17894, -1000, -1000, 17894, 3965, 3788, 3517, -213, -1000, - 1368, 826, -1000, 15970, 992, -1000, -1000, 17894, 17894, -1000, - -1000, -1000, -1000, 1466, 10187, 1377, 6799, -1000, 29441, 1350, - -1000, 789, 773, 1449, 1411, 1465, 1269, -1000, -1000, -1000, - -1000, 1489, -1000, 1486, -1000, -1000, 1380, -1000, -1000, 1342, - 1377, 29441, 17894, 650, -1000, 1377, 1377, 1377, 1712, 15970, - 1312, -1000, -1000, 708, -1000, -1000, -140, -141, -1000, -1000, - -1000, 9703, -1000, 6315, -1000, 6315, -1000, 21742, 540, 1567, - 518, -1000, 1109, -1000, -1000, 1109, -1000, -1000, -1000, 1405, - -1000, 912, -1000, -1000, -1000, -1000, -1000, 17894, 1772, -1000, - 1564, -1000, 1557, 1069, -1000, -1000, 1276, 710, 710, -20, - -1000, -1000, 1401, -1000, 710, -1000, 753, -1000, -1000, -1000, - -1000, 710, 1268, -1000, 1248, 1340, -1000, 1241, 87, 29922, - -1000, -1000, -1000, 1464, -1000, -1000, -1000, 1242, 1339, -1000, - 3291, 1131, 1130, 1129, -218, 271, -1000, 25593, 115, 175, - 402, 1127, 29922, 25593, -1000, -1000, -1000, -1000, -1000, 863, - -1000, 17894, 4319, 1323, -1000, -1000, -20, 29922, -1000, 25593, - 704, 26555, 25593, 102, 134, -1000, 25593, 25593, 1728, 25593, - 1337, 1422, 553, 2823, 1109, 639, -1000, -1000, 535, -1000, - 2964, 1556, 1126, 4768, 3423, 29441, 1555, 1553, 1125, 29922, - 29441, -1000, -1000, 3374, 1124, 15970, -1000, 29441, 29441, 657, - -1000, -1000, -1000, 1295, 13084, -1000, -1000, 1188, -1000, 17894, - 4319, -173, -1000, -1000, -1000, -1000, 655, -1000, -1000, -173, - -1000, -1000, 1123, -1000, -1000, -1000, -1000, -1000, -1000, -173, - -173, -1000, -1000, -1000, -1000, -1000, -173, -1000, -1000, -1000, - -1000, 1188, 1401, 1401, -1000, 1401, 1404, -1000, 1401, 16, - 1401, 13, 1188, 1188, 3285, 3140, 3089, 2763, 2717, 17894, - 17894, 17894, 1377, -169, -1000, 905, 15970, 3066, 2795, -1000, - 1632, 1316, 1336, -1000, -1000, 13565, 1188, 1531, 1235, -1000, - 19818, 1230, -1000, 1712, 10187, 15970, 15970, -1000, -1000, 15970, - 1402, -1000, 15970, -1000, -1000, -1000, -1000, 29441, 301, -1000, - 15970, 1230, 2292, -1000, 29441, 29441, 29441, 1692, 905, -1000, - -1000, -1000, -1000, 5831, -1000, 1225, -1000, 1401, 1401, 1547, - -1000, 715, -1000, -1000, -1000, 29441, -1000, 4319, -74, -1000, - -1000, -1000, -1000, -1000, -1000, 710, -1000, -1000, -1000, -1000, - -1000, -20, 1067, -20, 1010, -1000, 1009, -1000, -1000, -268, - 1400, -1000, 183, 29922, 191, 578, -1000, 3291, 3291, 3291, - 119, 154, -1000, 867, -1000, -1000, -1000, 1066, 1065, 1064, - 1323, 188, 865, 139, -1000, 1656, -1000, -1000, -1000, 4319, - -83, -1000, 134, -1000, -1000, -1000, 134, -1000, -1000, 149, - 1337, 1337, 25593, 1337, -1000, -1000, 3374, 506, 3291, 3291, - 1450, 715, 1542, 518, -1000, -1000, -1000, -1000, -1000, -1000, - 1120, -1000, 695, -1000, 576, 506, 3374, 905, 746, 1641, - 9703, 1716, 26074, -1000, -1000, -1000, 4319, -1000, 7283, -1000, - 749, -1000, -1000, -1000, -1000, -1000, -1000, 220, -1000, -1000, + -1000, 666, 3432, 3358, -1000, 17894, -1000, 1268, 14046, -161, + 7767, -161, -161, 1268, -1000, 27036, -1000, -161, -161, -161, + -161, -161, -161, 1268, 1268, -161, -1000, -1000, -1000, -1000, + -161, -161, -161, -161, 1268, -161, -161, -161, 1172, 779, + -1000, -1000, -1000, -1000, 346, 1021, 346, 17894, 17894, -1000, + 17894, 17894, -1000, -1000, 17894, 3257, 3231, 3165, -213, -1000, + 1293, 833, -1000, 15970, 928, -1000, -1000, 17894, 17894, -1000, + -1000, -1000, -1000, 1453, 10187, 1385, 6799, -1000, 29441, 1334, + -1000, 797, 792, 1369, 1413, 1452, 1269, -1000, -1000, -1000, + -1000, 1493, -1000, 1479, -1000, -1000, 1400, -1000, -1000, 1336, + 1385, 29441, 17894, 618, -1000, 1385, 1385, 1385, 1698, 15970, + 1285, -1000, -1000, 702, -1000, -1000, -103, -121, -1000, -1000, + -1000, 9703, -1000, 6315, -1000, 6315, -1000, 21742, 497, 1543, + 360, -1000, 1096, -1000, -1000, 1096, -1000, -1000, -1000, 1410, + -1000, 919, -1000, -1000, -1000, -1000, -1000, 17894, 1758, -1000, + 1555, -1000, 1553, 1062, -1000, -1000, 1231, 679, 679, 5, + -1000, -1000, 1405, -1000, 679, -1000, 750, -1000, -1000, -1000, + -1000, 679, 1241, -1000, 1237, 1333, -1000, 1235, 86, 29922, + -1000, -1000, -1000, 1451, -1000, -1000, -1000, 1215, 1332, -1000, + 4089, 1124, 1123, 1120, -219, 244, -1000, 25593, 122, 152, + 400, 1112, 29922, 25593, -1000, -1000, -1000, -1000, -1000, 890, + -1000, 17894, 3432, 1243, -1000, -1000, 5, 29922, -1000, 25593, + 697, 26555, 25593, 104, 137, -1000, 25593, 25593, 1721, 25593, + 1330, 1486, 287, 3492, 1096, 596, -1000, -1000, 354, -1000, + 3361, 1540, 1109, 22208, 4900, 29441, 1539, 1538, 1108, 29922, + 29441, -1000, -1000, 4866, 1107, 15970, -1000, 29441, 29441, 594, + -1000, -1000, -1000, 1288, 13084, -1000, -1000, 1172, -1000, 17894, + 3432, -161, -1000, -1000, -1000, -1000, 583, -1000, -1000, -161, + -1000, -1000, 1104, -1000, -1000, -1000, -1000, -1000, -1000, -161, + -161, -1000, -1000, -1000, -1000, -1000, -161, -1000, -1000, -1000, + -1000, 1172, 1405, 1405, -1000, 1405, 1409, -1000, 1405, 29, + 1405, 25, 1172, 1172, 3104, 3089, 3069, 2717, 1248, 17894, + 17894, 17894, 1385, -154, -1000, 779, 15970, 2796, 2296, -1000, + 1622, 1310, 1328, -1000, -1000, 13565, 1172, 1526, 1225, -1000, + 19818, 1222, -1000, 1698, 10187, 15970, 15970, -1000, -1000, 15970, + 1407, -1000, 15970, -1000, -1000, -1000, -1000, 29441, 253, -1000, + 15970, 1222, 1377, -1000, 29441, 29441, 29441, 1671, 779, -1000, + -1000, -1000, -1000, 5831, -1000, 1213, -1000, 1405, 1405, 1535, + -1000, 663, -1000, -1000, -1000, 29441, -1000, 3432, -101, -1000, + -1000, -1000, -1000, -1000, -1000, 679, -1000, -1000, -1000, -1000, + -1000, 5, 1061, 5, 989, -1000, 977, -1000, -1000, -268, + 1404, -1000, 177, 29922, 169, 573, -1000, 4089, 4089, 4089, + 115, 94, -1000, 912, -1000, -1000, -1000, 1059, 1055, 1053, + 1243, 161, 909, 139, -1000, 1645, -1000, -1000, -1000, 3432, + -43, -1000, 137, -1000, -1000, -1000, 137, -1000, -1000, 147, + 1330, 1330, 25593, 1330, -1000, -1000, 4866, 337, 4089, 4089, + 1442, 663, 1533, 360, -1000, -1000, -1000, -1000, -1000, -1000, + 1101, -1000, 627, -1000, 508, 337, 4866, 779, 698, 1625, + 9703, 1709, 26074, -1000, -1000, -1000, 3432, -1000, 7283, -1000, + 731, -1000, -1000, -1000, -1000, -1000, -1000, 297, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17894, 17894, 17894, 17894, - -1000, 2717, 2717, 2717, 17894, 1188, 1063, 905, 17894, 17894, - 1540, -1000, 1377, -1000, -1000, 1377, 178, -1000, 29441, 1692, - -1000, 905, 905, 905, 29441, 905, 1222, -1000, 1377, 18375, - -1000, 20780, 1213, 1213, 1213, -1000, 610, 21742, 1636, 1636, - -1000, 1109, -1000, 1211, -1000, -1000, 710, -1000, 710, 1238, - 1231, -1000, 21742, -1000, 1687, -1000, 191, -1000, 1062, 237, - 257, -1000, 236, 230, 228, 227, 225, -1000, -1000, -1000, - -1000, 399, 119, -1000, -63, 1006, 783, 1605, 154, -1000, - 970, 968, 955, 950, 215, -1000, -1000, -1000, -1000, 185, - 175, -1000, 397, 1061, 1589, 1585, 1657, 1657, 98, 1337, - 1343, 1207, -1000, -1000, 1112, -1000, -1000, 1399, 1109, 1396, - -1000, 1108, -1000, -1000, 29441, -1000, 506, 1628, 1627, 1377, - -1000, 1714, 1707, 1312, 13084, -1000, -1000, 1712, 1706, -1000, - -1000, 2717, 2717, 2717, 2717, -1000, -1000, -1000, 211, -1000, - -1000, 2717, 2717, 1766, -1000, 1336, 1377, -1000, 183, -1000, - -1000, 1206, -1000, 29441, -1000, -1000, 650, -1000, -1000, -1000, - 610, -1000, 1107, 769, 1059, -1000, -1000, -1000, -1000, 491, - -1000, -1000, -1000, -1000, 1201, -1000, 307, 4919, -1000, -1000, - -1000, -1000, -1000, -1000, 1594, 1593, 292, -1000, 1055, 1053, - -1000, 376, 1002, 702, -182, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 372, 1104, -1000, 135, - -1000, -1000, 564, 1569, 1574, 1702, -1000, 25593, -1000, -1000, - 26074, -1000, -1000, 347, 347, 21742, 1450, 21742, -1000, -1000, - -1000, 17894, -1000, 743, -178, 15970, 15970, 1716, -1000, 744, - 15970, -1000, -1000, -1000, -1000, 1188, 181, -231, -1000, -1000, - 10187, 1336, 1188, -1000, -1000, -1000, -1000, -1000, 949, -1000, - 29922, 610, 300, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1248, 1248, 1248, 17894, 1172, 1045, 779, 17894, 17894, + 1532, -1000, 1385, -1000, -1000, 1385, 195, -1000, 29441, 1671, + -1000, 779, 779, 779, 29441, 779, 1211, -1000, 1385, 18375, + -1000, 20780, 1206, 1206, 1206, -1000, 613, 21742, 1630, 1630, + -1000, 1096, -1000, 1201, -1000, -1000, 679, -1000, 679, 1207, + 1188, -1000, 21742, -1000, 1680, -1000, 169, -1000, 1044, 215, + 220, -1000, 214, 213, 211, 208, 200, -1000, -1000, -1000, + -1000, 395, 115, -1000, -53, 968, 780, 1598, 94, -1000, + 964, 956, 955, 950, 265, -1000, -1000, -1000, -1000, 189, + 152, -1000, 399, 1043, 1578, 1572, 1649, 1649, 93, 1330, + 1313, 1177, -1000, -1000, 1099, -1000, -1000, 1402, 1096, 1401, + -1000, 1095, -1000, -1000, 29441, -1000, 337, 1619, 1618, 1385, + -1000, 1704, 1694, 1285, 13084, -1000, -1000, 1698, 1693, -1000, + -1000, 1248, 1248, 1248, 1248, -1000, -1000, -1000, 100, -1000, + -1000, 1248, 1248, 1755, -1000, 1328, 1385, -1000, 177, -1000, + -1000, 1194, -1000, 29441, -1000, -1000, 618, -1000, -1000, -1000, + 613, -1000, 1094, 782, 1040, -1000, -1000, -1000, -1000, 285, + -1000, -1000, -1000, -1000, 1187, -1000, 230, 32339, -1000, -1000, + -1000, -1000, -1000, -1000, 1587, 1586, 235, -1000, 1039, 1038, + -1000, 377, 1009, 664, -167, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 391, 1073, -1000, 134, + -1000, -1000, 378, 1559, 1562, 1692, -1000, 25593, -1000, -1000, + 26074, -1000, -1000, 335, 335, 21742, 1442, 21742, -1000, -1000, + -1000, 17894, -1000, 730, -163, 15970, 15970, 1709, -1000, 724, + 15970, -1000, -1000, -1000, -1000, 1172, 180, -228, -1000, -1000, + 10187, 1328, 1172, -1000, -1000, -1000, -1000, -1000, 942, -1000, + 29922, 613, 250, -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, 15970, 15970, 5347, 4919, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 937, -1000, -1000, 987, - 352, 133, -1000, 1653, -1000, 1380, 871, 1585, 1697, 1583, - 1581, -1000, 1044, -225, 1312, 1194, 1379, 1187, 4319, 1185, - -1000, 29441, -1000, 29441, -1000, 905, 1334, -1000, 905, 1714, - -1000, 1188, 231, 231, 1333, -1000, 1510, -216, -239, 1332, - -1000, -1000, 1378, -1000, 610, 296, -1000, 834, 860, 205, - 198, 3222, -1000, -1000, -1000, -1000, -319, -1000, 118, -1000, - 104, -1000, -1000, -1000, 1040, -1000, 1588, -1000, 1039, -1000, - 1695, 1694, -1000, 170, 1716, 610, 21742, 610, -1000, 743, - 1530, 1331, -1000, 1652, 15970, -178, -1000, -1000, 248, -1000, - 737, 266, 735, -1000, 1048, -1000, -1000, 1506, -1000, 29441, - -1000, 1101, 1099, 922, -1000, 15970, 4919, 1682, 1676, 1673, - 1626, 9703, 4827, -1000, -1000, -1000, -1000, -1000, 1036, 1024, - 23668, 1714, -1000, 1182, -1000, -1000, 457, 29441, 1377, -1000, - -1000, 862, -1000, -1000, -1000, -1000, -1000, 29441, -229, 1180, - 222, -1000, -1000, 853, 4919, -1000, 844, -320, 404, 183, - 560, 17894, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 95, - 1323, -178, 610, 323, -1000, -1000, 248, -1000, -237, 1463, - -1000, -1000, -1000, -1000, -1000, -1000, 4919, -1000, -322, 4919, - 229, -1000, -1000, -1000, 4671, -1000, -1000, -1000, -1000, 195, - -1000, -1000, 4319, 25593, -1000, -1000, 1377, -1000, -244, 1456, - 1453, 1727, -1000, -323, 4581, -324, 555, 4919, 794, -1000, - 15970, -1000, 560, -1000, 1323, 16932, -1000, -1000, 1765, -1000, - 1759, 621, 621, 4444, 845, 4919, -1000, -327, 554, 4919, - -1000, 825, -1000, 2717, 1188, -1000, -1000, -1000, 482, 939, - -1000, -1000, -1000, 4337, -1000, -330, 4919, -1000, -1000, -1000, - -1000, -1000, 548, 4043, -331, -1000, 543, 4919, -1000, + -1000, -1000, -1000, -1000, 15970, 15970, 5347, 32339, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 932, -1000, -1000, 980, + 355, 132, -1000, 1646, -1000, 1400, 930, 1572, 1690, 1570, + 1568, -1000, 1036, -220, 1285, 1185, 1399, 1182, 3432, 1180, + -1000, 29441, -1000, 29441, -1000, 779, 1327, -1000, 779, 1704, + -1000, 1172, 207, 207, 1326, -1000, 1506, -216, -243, 1323, + -1000, -1000, 1396, -1000, 613, 241, -1000, 826, 907, 185, + 178, 3291, -1000, -1000, -1000, -1000, -319, -1000, 110, -1000, + 95, -1000, -1000, -1000, 1033, -1000, 1574, -1000, 1029, -1000, + 1689, 1685, -1000, 156, 1709, 613, 21742, 613, -1000, 730, + 1525, 1316, -1000, 1634, 15970, -163, -1000, -1000, 184, -1000, + 719, 249, 717, -1000, 1048, -1000, -1000, 1504, -1000, 29441, + -1000, 1071, 1069, 872, -1000, 15970, 32339, 1678, 1676, 1673, + 1609, 9703, 32249, -1000, -1000, -1000, -1000, -1000, 1024, 1023, + 23668, 1704, -1000, 1176, -1000, -1000, 262, 29441, 1385, -1000, + -1000, 889, -1000, -1000, -1000, -1000, -1000, 29441, -225, 1171, + 317, -1000, -1000, 874, 32339, -1000, 905, -320, 412, 177, + 572, 17894, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 88, + 1243, -163, 613, 254, -1000, -1000, 184, -1000, -231, 1450, + -1000, -1000, -1000, -1000, -1000, -1000, 32339, -1000, -322, 32339, + 4061, -1000, -1000, -1000, 4795, -1000, -1000, -1000, -1000, 171, + -1000, -1000, 3432, 25593, -1000, -1000, 1385, -1000, -250, 1446, + 1415, 1720, -1000, -323, 4786, -324, 373, 32339, 841, -1000, + 15970, -1000, 572, -1000, 1243, 16932, -1000, -1000, 1747, -1000, + 1745, 611, 611, 4615, 842, 32339, -1000, -327, 369, 32339, + -1000, 824, -1000, 1248, 1172, -1000, -1000, -1000, 292, 998, + -1000, -1000, -1000, 4446, -1000, -330, 32339, -1000, -1000, -1000, + -1000, -1000, 356, 4438, -331, -1000, 349, 32339, -1000, } var yyPgo = [...]int{ - 0, 2169, 2168, 233, 2167, 181, 2166, 2163, 2162, 26, - 23, 20, 28, 2161, 1907, 1905, 1903, 1856, 1854, 2160, - 5, 2159, 2158, 1850, 2156, 2155, 1848, 1846, 1840, 1833, - 2152, 2151, 2149, 1830, 1824, 1822, 15, 2148, 19, 2147, - 4, 132, 155, 2146, 3, 2142, 2141, 14, 2140, 2139, - 1810, 2138, 2136, 2135, 87, 2134, 1808, 1806, 2132, 1804, - 1801, 2131, 2129, 1799, 1791, 1789, 2128, 156, 2127, 2121, - 2120, 169, 90, 139, 2119, 2117, 2115, 108, 79, 2046, - 103, 43, 104, 353, 2113, 30, 54, 174, 2112, 121, - 137, 2111, 145, 2107, 140, 107, 96, 2104, 2100, 151, - 2099, 2098, 2097, 126, 2096, 2082, 2910, 2081, 2080, 147, - 2079, 63, 58, 36, 2076, 2075, 2074, 2073, 2072, 25, - 153, 2071, 2065, 128, 2064, 2062, 78, 2060, 2059, 158, - 2058, 2057, 2054, 124, 40, 2053, 2052, 55, 2049, 48, - 75, 2048, 94, 2045, 130, 2044, 2043, 34, 10, 2042, - 64, 2037, 56, 2036, 135, 309, 1115, 2034, 11, 16, - 18, 2030, 32, 7, 13, 44, 47, 70, 116, 98, - 2025, 49, 38, 106, 97, 88, 39, 2024, 141, 2023, - 80, 143, 127, 122, 142, 2022, 2020, 2019, 971, 2012, - 110, 84, 2010, 95, 916, 152, 112, 2007, 93, 2006, - 2004, 1989, 83, 109, 1988, 1985, 53, 66, 636, 1649, - 89, 144, 1984, 42, 1983, 1981, 1979, 2894, 101, 82, - 102, 1977, 99, 35, 59, 1976, 1974, 1973, 1972, 1969, - 1968, 1341, 1967, 1965, 1962, 1961, 288, 60, 1960, 1957, - 113, 115, 1953, 1938, 1937, 1936, 119, 67, 138, 1933, - 125, 118, 120, 1932, 68, 1931, 1930, 91, 41, 1929, - 1928, 1925, 92, 86, 1923, 62, 31, 33, 65, 8, - 69, 100, 1922, 22, 1921, 2, 6, 12, 1919, 1918, - 1915, 1914, 1913, 1911, 1910, 71, 1909, 1900, 61, 1898, - 1893, 1890, 37, 1887, 1883, 1879, 131, 105, 50, 149, - 284, 17, 1876, 1873, 9, 1867, 111, 1863, 57, 1861, - 52, 1859, 1852, 46, 1844, 1842, 51, 1835, 1828, 150, - 1516, 2747, 1826, 148, 129, 45, 74, 1814, 1812, 0, - 617, 154, 136, 1797, 1793, + 0, 2162, 2161, 233, 2160, 176, 2159, 2158, 2156, 26, + 23, 20, 28, 2155, 1905, 1903, 1856, 1854, 1850, 2152, + 5, 2151, 2149, 1848, 2148, 2147, 1846, 1840, 1833, 1830, + 2146, 2142, 2141, 1824, 1822, 1810, 15, 2140, 19, 2139, + 4, 132, 155, 2138, 3, 2136, 2135, 14, 2134, 2132, + 1808, 2131, 2129, 2128, 87, 2127, 1806, 1804, 2121, 1801, + 1799, 2120, 2119, 1791, 1789, 1787, 2117, 156, 2115, 2113, + 2112, 169, 90, 139, 2111, 2107, 2104, 108, 79, 2046, + 103, 43, 104, 353, 2100, 30, 54, 174, 2099, 121, + 137, 2098, 145, 2097, 140, 107, 96, 2096, 2082, 151, + 2081, 2080, 2079, 126, 2076, 2075, 2910, 2074, 2073, 147, + 2072, 63, 58, 36, 2071, 2065, 2064, 2062, 2060, 25, + 153, 2059, 2058, 128, 2057, 2054, 78, 2053, 2052, 158, + 2049, 2048, 2045, 124, 40, 2044, 2043, 55, 2042, 48, + 75, 2037, 94, 2036, 130, 2034, 2030, 34, 10, 2025, + 64, 2024, 56, 2023, 135, 309, 1115, 2022, 11, 16, + 18, 2020, 32, 7, 13, 44, 47, 70, 116, 98, + 2019, 49, 38, 106, 97, 88, 39, 2012, 141, 2010, + 80, 143, 127, 122, 142, 2007, 2006, 2004, 972, 1989, + 110, 84, 1988, 95, 827, 152, 112, 1985, 93, 1984, + 1983, 1981, 83, 109, 1979, 1977, 53, 66, 636, 1649, + 89, 144, 1976, 42, 1974, 1973, 1972, 2894, 101, 82, + 102, 1969, 99, 35, 59, 1968, 1967, 1965, 1962, 1961, + 1960, 1341, 1957, 1953, 1938, 1937, 288, 60, 1936, 1933, + 113, 115, 1932, 1931, 1930, 1929, 119, 67, 138, 1928, + 125, 118, 120, 1925, 68, 1923, 1922, 91, 41, 1921, + 1919, 1918, 92, 86, 1915, 62, 31, 33, 65, 8, + 69, 100, 1914, 22, 1913, 2, 6, 12, 1911, 1910, + 1909, 1908, 1907, 1900, 1898, 71, 1893, 1890, 61, 1887, + 1883, 1879, 37, 1876, 1873, 1867, 131, 105, 50, 149, + 284, 17, 1863, 1861, 9, 1859, 111, 1852, 57, 1844, + 52, 1842, 1835, 46, 1828, 1826, 51, 1814, 1812, 150, + 1438, 2747, 1797, 148, 129, 45, 74, 1793, 1785, 0, + 617, 154, 136, 1781, 1731, } var yyR1 = [...]int{ @@ -4851,52 +4894,52 @@ var yyR1 = [...]int{ 310, 314, 314, 315, 315, 313, 313, 313, 313, 317, 317, 318, 318, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 305, 305, 305, - 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, + 33, 33, 33, 33, 35, 34, 34, 34, 34, 34, + 34, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 320, 320, 321, 321, 322, 322, 323, 323, 323, - 323, 324, 324, 324, 324, 324, 325, 325, 325, 325, - 325, 325, 325, 326, 326, 327, 327, 2, 283, 283, - 284, 284, 285, 285, 285, 285, 286, 286, 287, 287, - 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 24, 205, 205, 304, 304, 304, 298, 298, 298, 300, - 300, 299, 299, 299, 301, 301, 306, 306, 306, 306, - 306, 308, 308, 308, 308, 308, 308, 309, 309, 309, - 307, 307, 48, 48, 49, 49, 49, 153, 153, 153, - 13, 13, 13, 13, 13, 19, 21, 21, 37, 37, - 38, 22, 22, 22, 22, 39, 39, 40, 25, 25, - 25, 25, 25, 25, 46, 46, 46, 45, 45, 44, - 44, 44, 44, 44, 44, 23, 23, 23, 23, 47, - 47, 42, 42, 41, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 26, 26, 26, 26, - 26, 26, 18, 282, 282, 282, 36, 36, 20, 20, + 319, 319, 320, 320, 321, 321, 322, 322, 323, 323, + 323, 323, 324, 324, 324, 324, 324, 325, 325, 325, + 325, 325, 325, 325, 326, 326, 327, 327, 2, 283, + 283, 284, 284, 285, 285, 285, 285, 286, 286, 287, + 287, 288, 288, 288, 288, 288, 288, 288, 288, 288, + 288, 24, 205, 205, 304, 304, 304, 298, 298, 298, + 300, 300, 299, 299, 299, 301, 301, 306, 306, 306, + 306, 306, 308, 308, 308, 308, 308, 308, 309, 309, + 309, 307, 307, 48, 48, 49, 49, 49, 153, 153, + 153, 13, 13, 13, 13, 13, 19, 21, 21, 37, + 37, 38, 22, 22, 22, 22, 39, 39, 40, 25, + 25, 25, 25, 25, 25, 46, 46, 46, 45, 45, + 44, 44, 44, 44, 44, 44, 23, 23, 23, 23, + 47, 47, 42, 42, 41, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 26, 26, 26, + 26, 26, 26, 18, 282, 282, 282, 36, 36, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 52, 259, - 260, 260, 260, 260, 260, 260, 260, 260, 247, 247, - 248, 224, 224, 224, 224, 224, 224, 224, 224, 223, - 223, 223, 223, 227, 227, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 226, 226, 226, 226, 226, - 226, 226, 226, 228, 228, 228, 228, 228, 229, 229, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 52, + 259, 260, 260, 260, 260, 260, 260, 260, 260, 247, + 247, 248, 224, 224, 224, 224, 224, 224, 224, 224, + 223, 223, 223, 223, 227, 227, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 226, 226, 226, 226, + 226, 226, 226, 226, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 230, 230, 230, 230, 230, 230, 230, - 230, 246, 246, 231, 231, 240, 240, 241, 241, 241, - 238, 238, 239, 239, 234, 235, 242, 236, 236, 236, - 237, 237, 237, 245, 245, 245, 245, 232, 249, 249, - 269, 269, 268, 268, 267, 267, 267, 258, 258, 264, - 264, 264, 264, 264, 264, 264, 253, 253, 253, 252, - 252, 254, 254, 257, 257, 266, 266, 265, 265, 250, - 250, 250, 270, 270, 270, 270, 270, 251, 251, 251, - 251, 271, 255, 255, 256, 256, 256, 276, 277, 275, - 275, 275, 275, 275, 116, 116, 116, 261, 261, 261, - 262, 262, 262, 263, 263, 263, 280, 280, 279, 279, - 50, 51, 55, 55, 54, 54, 54, 54, 54, 54, + 229, 229, 229, 229, 230, 230, 230, 230, 230, 230, + 230, 230, 246, 246, 231, 231, 240, 240, 241, 241, + 241, 238, 238, 239, 239, 234, 235, 242, 236, 236, + 236, 237, 237, 237, 245, 245, 245, 245, 232, 249, + 249, 269, 269, 268, 268, 267, 267, 267, 258, 258, + 264, 264, 264, 264, 264, 264, 264, 253, 253, 253, + 252, 252, 254, 254, 257, 257, 266, 266, 265, 265, + 250, 250, 250, 270, 270, 270, 270, 270, 251, 251, + 251, 251, 271, 255, 255, 256, 256, 256, 276, 277, + 275, 275, 275, 275, 275, 116, 116, 116, 261, 261, + 261, 262, 262, 262, 263, 263, 263, 280, 280, 279, + 279, 50, 51, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 152, 152, - 152, 203, 203, 274, 272, 272, 273, 273, 15, 15, - 53, 53, 303, 303, 35, 16, 16, 16, 16, 16, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 152, + 152, 152, 203, 203, 274, 272, 272, 273, 273, 15, + 15, 53, 53, 303, 303, 16, 16, 16, 16, 16, 16, 16, 16, 16, 278, 278, 278, 17, 17, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, @@ -5012,52 +5055,52 @@ var yyR2 = [...]int{ 2, 0, 2, 1, 2, 2, 2, 2, 2, 0, 1, 1, 2, 3, 3, 5, 3, 3, 4, 5, 4, 4, 2, 2, 2, 2, 2, 0, 2, 2, - 9, 9, 5, 7, 7, 7, 7, 8, 4, 6, - 2, 3, 2, 3, 3, 3, 4, 3, 3, 2, - 2, 3, 2, 2, 2, 2, 2, 3, 2, 2, - 2, 3, 3, 2, 3, 3, 2, 2, 2, 2, - 2, 1, 3, 0, 3, 1, 3, 0, 1, 1, - 1, 1, 3, 1, 3, 3, 0, 2, 5, 5, - 5, 7, 5, 0, 3, 0, 3, 4, 0, 1, - 1, 3, 2, 3, 3, 3, 0, 1, 1, 2, - 2, 2, 2, 1, 2, 2, 3, 3, 3, 3, - 4, 0, 3, 1, 1, 1, 3, 2, 1, 1, - 3, 3, 2, 1, 1, 3, 1, 2, 5, 4, - 6, 4, 3, 3, 6, 5, 5, 4, 3, 5, - 1, 3, 1, 1, 1, 1, 1, 0, 2, 2, - 1, 1, 1, 1, 1, 4, 5, 8, 1, 2, - 5, 7, 10, 8, 11, 1, 2, 5, 5, 5, - 5, 6, 3, 5, 1, 1, 1, 1, 3, 1, - 1, 1, 2, 1, 1, 2, 4, 2, 4, 2, - 3, 1, 3, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 4, 3, - 2, 4, 3, 0, 2, 3, 1, 3, 1, 1, + 9, 9, 5, 7, 2, 7, 7, 7, 8, 4, + 6, 2, 3, 2, 3, 3, 3, 4, 3, 3, + 2, 2, 3, 2, 2, 2, 2, 2, 3, 2, + 2, 2, 3, 3, 2, 3, 3, 2, 2, 2, + 2, 2, 1, 3, 0, 3, 1, 3, 0, 1, + 1, 1, 1, 3, 1, 3, 3, 0, 2, 5, + 5, 5, 7, 5, 0, 3, 0, 3, 4, 0, + 1, 1, 3, 2, 3, 3, 3, 0, 1, 1, + 2, 2, 2, 2, 1, 2, 2, 3, 3, 3, + 3, 4, 0, 3, 1, 1, 1, 3, 2, 1, + 1, 3, 3, 2, 1, 1, 3, 1, 2, 5, + 4, 6, 4, 3, 3, 6, 5, 5, 4, 3, + 5, 1, 3, 1, 1, 1, 1, 1, 0, 2, + 2, 1, 1, 1, 1, 1, 4, 5, 8, 1, + 2, 5, 7, 10, 8, 11, 1, 2, 5, 5, + 5, 5, 6, 3, 5, 1, 1, 1, 1, 3, + 1, 1, 1, 2, 1, 1, 2, 4, 2, 4, + 2, 3, 1, 3, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, + 3, 2, 4, 3, 0, 2, 3, 1, 3, 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, 5, 4, - 1, 1, 2, 3, 4, 3, 3, 3, 3, 3, - 3, 0, 2, 3, 2, 2, 2, 2, 2, 3, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 3, 2, 2, - 2, 2, 2, 1, 2, 2, 2, 1, 4, 4, - 3, 3, 2, 4, 5, 2, 3, 4, 2, 2, - 3, 3, 3, 3, 3, 4, 1, 1, 1, 1, - 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 3, 0, 5, 0, 3, 5, - 0, 1, 0, 1, 2, 3, 1, 0, 3, 3, - 0, 2, 2, 2, 1, 2, 1, 2, 5, 4, - 0, 1, 1, 2, 2, 3, 2, 0, 1, 2, - 4, 3, 5, 3, 2, 2, 1, 1, 1, 1, - 1, 0, 1, 0, 1, 1, 3, 3, 3, 3, - 3, 1, 10, 11, 11, 12, 12, 3, 3, 2, - 1, 5, 1, 1, 0, 2, 2, 3, 3, 1, - 1, 2, 2, 2, 0, 1, 2, 0, 1, 3, - 1, 2, 3, 1, 1, 1, 0, 2, 0, 2, - 1, 5, 1, 3, 5, 4, 3, 5, 3, 8, - 10, 3, 3, 3, 3, 3, 5, 4, 5, 1, - 2, 2, 4, 3, 6, 5, 3, 8, 0, 1, - 2, 0, 1, 7, 1, 3, 8, 8, 3, 3, - 3, 5, 3, 5, 2, 5, 5, 4, 4, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, + 4, 1, 1, 2, 3, 4, 3, 3, 3, 3, + 3, 3, 0, 2, 3, 2, 2, 2, 2, 2, + 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 3, 2, + 2, 2, 2, 2, 1, 2, 2, 2, 1, 4, + 4, 3, 3, 2, 4, 5, 2, 3, 4, 2, + 2, 3, 3, 3, 3, 3, 4, 1, 1, 1, + 1, 1, 6, 6, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 0, 3, 0, 5, 0, 3, + 5, 0, 1, 0, 1, 2, 3, 1, 0, 3, + 3, 0, 2, 2, 2, 1, 2, 1, 2, 5, + 4, 0, 1, 1, 2, 2, 3, 2, 0, 1, + 2, 4, 3, 5, 3, 2, 2, 1, 1, 1, + 1, 1, 0, 1, 0, 1, 1, 3, 3, 3, + 3, 3, 1, 10, 11, 11, 12, 12, 3, 3, + 2, 1, 5, 1, 1, 0, 2, 2, 3, 3, + 1, 1, 2, 2, 2, 0, 1, 2, 0, 1, + 3, 1, 2, 3, 1, 1, 1, 0, 2, 0, + 2, 1, 5, 1, 3, 5, 4, 3, 5, 3, + 8, 10, 3, 3, 3, 3, 3, 5, 4, 5, + 1, 2, 2, 4, 3, 6, 5, 3, 8, 0, + 1, 2, 0, 1, 7, 1, 3, 8, 8, 3, + 3, 3, 5, 3, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 0, 1, 1, 3, 2, 3, 3, 4, 3, 5, 5, 4, 4, 4, 2, 2, 2, 6, 2, 4, 4, 4, 5, 7, 6, 3, @@ -5163,50 +5206,50 @@ var yyChk = [...]int{ -50, -15, -16, -17, -56, -57, -58, -62, -63, -64, -60, -59, -23, -26, -18, -66, -27, -28, -29, -30, -31, -32, -33, -34, -35, -4, 6, 7, -70, 9, - 10, 30, -52, 138, -51, 141, 140, 177, 142, 170, - 64, 282, -65, 285, 286, -333, -204, 222, 223, 20, - 37, 287, 289, 31, 32, 191, 239, 241, 144, -5, - -88, -6, 8, 380, 139, 283, 172, 171, 26, 429, + 10, 30, -52, 138, -51, 141, 140, 176, 142, 169, + 64, 282, -65, 285, 286, -333, -204, 221, 222, 20, + 37, 287, 289, 31, 32, 190, 238, 240, 265, -5, + -88, -6, 8, 380, 139, 283, 171, 170, 26, 429, -329, 68, 490, -150, 15, -67, -334, -67, -67, -67, - -67, -67, -259, -202, 106, 68, 23, -199, 151, 87, - 371, 147, -205, 235, 237, -197, -198, 199, 209, 44, - 158, 157, 148, 235, 148, 149, 151, 371, 147, 184, - 183, 235, 237, 148, -106, -217, 72, -207, 161, 440, - 260, 426, 247, 196, 282, 296, 298, 290, 325, 313, - 427, 441, 162, 217, 146, 311, 314, 358, 160, 250, - 210, 272, 442, 347, 353, 220, 285, 367, 443, 163, - 214, 216, 215, 204, 221, 36, 173, 309, 256, 302, - 225, 199, 444, 434, 300, 28, 194, 445, 355, 330, - 259, 446, 431, 254, 354, 305, 301, 144, 164, 158, - 447, 331, 335, 448, 359, 240, 449, 450, 451, 150, - 246, 294, 295, 452, 200, 361, 251, 329, 33, 159, - 428, 48, 181, 362, 38, 333, 37, 339, 453, 328, - 323, 340, 454, 455, 456, 457, 264, 262, 263, 265, - 327, 293, 322, 212, 53, 145, 337, 336, 338, 213, - 357, 318, 316, 458, 459, 255, 165, 460, 461, 303, - 18, 462, 463, 365, 176, 257, 258, 42, 464, 465, - 466, 110, 467, 468, 469, 356, 332, 334, 198, 114, - 306, 155, 470, 261, 269, 430, 244, 111, 363, 299, - 472, 289, 180, 175, 366, 278, 473, 223, 474, 475, - 476, 167, 477, 238, 237, 286, 270, 112, 287, 349, - 218, 478, 479, 480, 481, 208, 193, 369, 360, 52, - 222, 344, 482, 273, 292, 157, 224, 483, 248, 283, - 43, 7, 211, 252, 350, 271, 219, 209, 320, 182, - 484, 485, 307, 308, 326, 291, 321, 284, 185, 177, - 109, 368, 345, 432, 235, 315, 312, 188, 319, 486, - 151, 487, 189, 288, 364, 249, 310, 346, 148, 131, - 314, 358, 138, 348, 349, 355, -253, 356, 183, 186, - -221, 148, -192, 347, 240, 261, 401, 189, 190, 149, - 150, 33, 360, 359, 351, -217, 152, 288, -76, 142, - 178, -106, -47, 72, 224, -47, 30, 72, 72, 36, - 72, 287, 350, 350, 75, 430, 192, 21, -320, -301, + -67, -67, -259, -202, 106, 68, 23, -199, 150, 87, + 371, 146, -205, 234, 236, -197, -198, 198, 208, 44, + 157, 156, 147, 234, 147, 148, 150, 371, 146, 183, + 182, 234, 236, 147, -106, -217, 72, -207, 160, 440, + 259, 426, 246, 195, 282, 296, 298, 290, 325, 313, + 427, 441, 161, 216, 145, 311, 314, 358, 159, 249, + 209, 272, 442, 347, 353, 219, 285, 367, 443, 162, + 213, 215, 214, 203, 220, 36, 172, 309, 255, 302, + 224, 198, 444, 434, 300, 28, 193, 445, 355, 330, + 258, 446, 431, 253, 354, 305, 301, 265, 163, 157, + 447, 331, 335, 448, 359, 239, 449, 450, 451, 149, + 245, 294, 295, 452, 199, 361, 250, 329, 33, 158, + 428, 48, 180, 362, 38, 333, 37, 339, 453, 328, + 323, 340, 454, 455, 456, 457, 263, 261, 262, 264, + 327, 293, 322, 211, 53, 144, 337, 336, 338, 212, + 357, 318, 316, 458, 459, 254, 164, 460, 461, 303, + 18, 462, 463, 365, 175, 256, 257, 42, 464, 465, + 466, 110, 467, 468, 469, 356, 332, 334, 197, 114, + 306, 154, 470, 260, 269, 430, 243, 111, 363, 299, + 472, 289, 179, 174, 366, 278, 473, 222, 474, 475, + 476, 166, 477, 237, 236, 286, 270, 112, 287, 349, + 217, 478, 479, 480, 481, 207, 192, 369, 360, 52, + 221, 344, 482, 273, 292, 156, 223, 483, 247, 283, + 43, 7, 210, 251, 350, 271, 218, 208, 320, 181, + 484, 485, 307, 308, 326, 291, 321, 284, 184, 176, + 109, 368, 345, 432, 234, 315, 312, 187, 319, 486, + 150, 487, 188, 288, 364, 248, 310, 346, 147, 131, + 314, 358, 138, 348, 349, 355, -253, 356, 182, 185, + -221, 147, -192, 347, 239, 260, 401, 188, 189, 148, + 149, 33, 360, 359, 351, -217, 151, 288, -76, 142, + 177, -106, -47, 72, 223, -47, 30, 72, 72, 36, + 72, 287, 350, 350, 75, 430, 191, 21, -320, -301, 269, -319, -299, 139, 138, 10, 140, 274, 275, 276, - 149, 8, 31, 471, 166, 277, 278, 6, 170, 279, - 280, 184, 9, 281, -304, 74, 72, -207, 21, -320, - -301, 269, 261, 6, -69, 5, -188, 153, 284, -87, + 148, 8, 31, 471, 165, 277, 278, 6, 169, 279, + 280, 183, 9, 281, -304, 74, 72, -207, 21, -320, + -301, 269, 260, 6, -69, 5, -188, 152, 284, -87, 439, -92, -219, -217, -208, 74, 397, 398, 399, 400, 401, 414, 415, 416, 402, 403, 417, 418, 419, 404, - 405, 420, 421, 423, 424, 422, 187, 408, 407, 406, + 405, 420, 421, 423, 424, 422, 186, 408, 407, 406, 409, 410, 51, 412, 411, 413, 81, -3, -167, 17, 16, -73, 54, 55, -68, -81, 122, -83, -217, -114, 89, -120, 29, 72, -207, 24, -119, -208, -115, -142, @@ -5215,46 +5258,46 @@ var yyChk = [...]int{ 76, 77, 78, 83, 397, 398, 399, 400, 401, 414, 415, 416, 402, 403, 417, 418, 419, 404, 405, 420, 421, 423, 424, 422, 408, 407, 406, 409, 410, 412, - 411, 413, 84, 85, -209, -139, -329, 58, 59, 178, - 147, 381, 382, 383, 384, 385, 425, 168, 389, 92, + 411, 413, 84, 85, -209, -139, -329, 58, 59, 177, + 146, 381, 382, 383, 384, 385, 425, 167, 389, 92, 47, 370, 379, 378, 377, 375, 376, 372, 374, 373, - 391, 392, 154, 371, 126, 380, -188, -188, 11, -99, + 391, 392, 153, 371, 126, 380, -188, -188, 11, -99, -100, -106, -109, -217, -177, 284, -184, -181, 359, 360, -182, -185, -179, -142, 339, 468, 469, 358, 314, 357, -209, -217, -2, -5, 6, -106, -260, -248, -251, -210, - 163, -271, -209, -206, 160, 72, -207, 253, 143, 169, - 139, 88, 433, 23, 25, 243, 342, 397, 91, 131, - 398, 399, 400, 16, 20, 92, 130, 81, 381, 192, + 162, -271, -209, -206, 159, 72, -207, 252, 143, 168, + 139, 88, 433, 23, 25, 242, 342, 397, 91, 131, + 398, 399, 400, 16, 20, 92, 130, 81, 381, 191, 401, 138, 62, 396, 372, 374, 370, 371, 348, 29, - 10, 26, 171, 203, 22, 124, 140, 95, 96, 97, - 174, 274, 275, 24, 172, 266, 85, 276, 168, 115, - 19, 65, 11, 186, 239, 13, 395, 113, 14, 236, - 154, 153, 108, 201, 149, 60, 8, 134, 27, 105, - 56, 402, 403, 436, 45, 191, 437, 58, 106, 17, - 375, 376, 31, 425, 404, 179, 438, 405, 126, 206, - 63, 50, 242, 89, 83, 34, 86, 66, 87, 15, - 202, 61, 393, 245, 267, 183, 471, 205, 439, 166, - 107, 277, 141, 380, 268, 241, 59, 147, 6, 390, - 30, 170, 279, 408, 407, 406, 409, 207, 57, 383, - 384, 410, 280, 488, 148, 94, 391, 392, 152, 184, + 10, 26, 170, 202, 22, 124, 140, 95, 96, 97, + 173, 274, 275, 24, 171, 266, 85, 276, 167, 115, + 19, 65, 11, 185, 238, 13, 395, 113, 14, 235, + 153, 152, 108, 200, 148, 60, 8, 134, 27, 105, + 56, 402, 403, 436, 45, 190, 437, 58, 106, 17, + 375, 376, 31, 425, 404, 178, 438, 405, 126, 205, + 63, 50, 241, 89, 83, 34, 86, 66, 87, 15, + 201, 61, 393, 244, 267, 182, 471, 204, 439, 165, + 107, 277, 141, 380, 268, 240, 59, 146, 6, 390, + 30, 169, 279, 408, 407, 406, 409, 206, 57, 383, + 384, 410, 280, 488, 147, 94, 391, 392, 151, 183, 84, 5, 44, 32, 9, 281, 64, 67, 377, 378, 379, 47, 51, 412, 411, 413, 93, 12, 394, 429, - 187, 149, -106, 380, -195, 154, -195, 184, 183, -195, - -195, 148, 98, -53, -106, -303, -298, -304, -194, 154, + 186, 148, -106, 380, -195, 153, -195, 183, 182, -195, + -195, 147, 98, -53, -106, -303, -298, -304, -194, 153, -209, -194, -194, -194, -194, -194, -194, -194, -106, 135, - -106, 72, 30, -193, 106, 12, 371, 147, 148, 184, - 151, -255, 11, 108, 187, 187, 187, 188, 187, -191, - 350, 352, 185, 353, 354, 12, -84, 106, 19, -329, - -167, -167, 72, 287, 152, -61, -3, -11, -9, -10, + -106, 72, 30, -193, 106, 12, 371, 146, 147, 183, + 150, -255, 11, 108, 186, 186, 186, 187, 186, -191, + 350, 352, 184, 353, 354, 12, -84, 106, 19, -329, + -167, -167, 72, 287, 151, -61, -3, -11, -9, -10, -3, 98, 30, 30, 74, 51, 30, -42, -41, -43, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 30, -282, 68, -243, 339, 72, -295, -296, - -106, 75, 75, 66, 66, 69, 152, 69, 66, -321, - 270, 68, -321, 237, 270, 271, 209, 235, 151, -321, - -321, 237, -321, -321, -321, -321, -321, 350, -321, -321, - -321, 272, 273, -321, 348, 151, -321, -321, -321, -321, - -321, 71, 66, 69, 261, 66, 11, 66, -67, -7, - -5, -329, 21, 22, 148, 363, 69, -87, -170, -329, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 30, -282, 68, -243, 339, 72, -295, -296, + -106, 75, 75, 66, 66, 69, 151, 69, 66, -321, + 270, 68, -321, 236, 270, 271, 208, 234, 150, -321, + -321, 236, -321, -321, -321, -321, -321, 350, -321, -321, + -321, 272, 273, -321, 348, 150, -321, -321, -321, -321, + -321, 71, 66, 69, 260, 66, 11, 66, -67, -7, + -5, -329, 21, 22, 147, 363, 69, -87, -170, -329, -330, 70, -168, 19, 31, -123, 75, 78, -151, -154, -83, -217, 50, -71, 21, 22, 80, 11, -212, 88, 87, 105, -211, 23, 72, -207, -208, 74, 135, -83, @@ -5273,24 +5316,24 @@ var yyChk = [...]int{ -329, -106, -95, -106, -99, -331, 69, 11, 67, -331, 69, 135, 69, -178, -183, 361, 363, 284, -182, -182, -216, -209, 74, 29, 98, 30, 135, -150, -67, 70, - 69, -251, 163, 160, -223, -227, -229, -228, -230, -225, + 69, -251, 162, 159, -223, -227, -229, -228, -230, -225, -226, 311, 314, 318, 316, 312, 317, 131, 315, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 30, 173, 307, 308, 309, 310, 331, 332, 333, 334, + 30, 172, 307, 308, 309, 310, 331, 332, 333, 334, 335, 336, 337, 338, 290, 313, 427, 291, 292, 293, 294, 295, 296, 298, 299, 300, 301, 302, 303, 304, - 305, 72, -208, -271, 68, -209, 23, 151, 72, 89, + 305, 72, -208, -271, 68, -209, 23, 150, 72, 89, 72, 72, 72, -307, -306, -298, -301, -195, 72, 69, - 152, 69, 152, 71, -99, 24, 66, -101, -106, 72, + 151, 69, 151, 71, -99, 24, 66, -101, -106, 72, 72, 72, 72, -300, -298, -301, -218, -217, -206, -193, 74, -83, -195, -195, -106, -106, -106, -106, -193, -193, -193, -193, -190, 11, 108, 11, -190, -190, -83, -120, -298, 373, 122, 72, 72, 287, 72, -42, -42, 74, -42, 69, 98, -42, 70, -134, -281, 489, 69, -297, - 23, 363, 364, 340, -323, 148, 186, 183, -323, -319, + 23, 363, 364, 340, -323, 147, 185, 182, -323, -319, 278, -300, -299, -298, -321, -322, -209, -321, -321, -321, 350, -321, -321, -321, -321, -321, -321, -321, -321, -304, - -323, 239, 69, -323, -300, -298, -73, -3, -106, 364, + -323, 238, 69, -323, -300, -298, -73, -3, -106, 364, 365, -92, 23, -169, -210, 9, 108, 69, 18, 69, -166, 25, 26, 135, -121, 51, 75, 78, -196, 49, -106, -83, -83, -132, 83, 89, 84, 85, -211, 122, @@ -5307,23 +5350,23 @@ var yyChk = [...]int{ -79, -79, -79, -173, 110, -106, 30, 69, -102, -104, -103, -105, 56, 60, 62, 57, 58, 59, 63, -202, -86, -93, 47, -329, -111, 110, -112, 23, -219, 64, - 153, 65, -173, 67, -86, -106, -86, -109, -217, 122, + 152, 65, -173, 67, -86, -106, -86, -109, -217, 122, -181, -184, 69, 362, 364, 365, -178, -237, 130, 66, 86, -83, -210, -218, -167, -73, -261, -262, -263, -210, - 74, 75, -248, -249, -250, -251, -264, 163, -270, 155, - 157, 44, -252, 164, 149, 45, -224, -238, 345, -231, + 74, 75, -248, -249, -250, -251, -264, 162, -270, 154, + 156, 44, -252, 163, 148, 45, -224, -238, 345, -231, 68, -231, -231, 319, 311, 314, 312, -231, -231, -231, -231, -231, -236, 314, -236, -236, -236, -236, 312, 68, 68, -231, -231, -231, -240, 68, -240, 306, -241, 68, -241, -241, -241, -241, -271, -271, -83, -213, 67, -164, - -106, 24, -48, 196, 169, 68, -302, 69, 29, -308, - 236, -106, -106, -106, -298, -298, -304, -278, 167, 162, + -106, 24, -48, 195, 168, 68, -302, 69, 29, -308, + 235, -106, -106, -106, -298, -298, -304, -278, 166, 161, -106, 69, 69, 72, 72, -256, 11, 108, -193, -217, - -217, -106, -122, 23, -193, -77, 174, 67, -332, -330, + -217, -106, -122, 23, -193, -77, 173, 67, -332, -330, 72, -41, -119, 70, -107, 27, 74, -296, -219, 339, - 364, -324, 122, -209, -324, -327, 429, 152, 70, 69, - -321, -324, 257, 239, -324, 11, -71, -330, -55, -54, - 143, 140, 141, 145, 146, -274, 342, 139, 180, -94, + 364, -324, 122, -209, -324, -327, 429, 151, 70, 69, + -321, -324, 256, 238, -324, 11, -71, -330, -55, -54, + 143, 140, 141, 144, 145, -274, 342, 139, 179, -94, -329, -330, 69, 135, 52, -123, -123, -154, -187, 19, 11, 47, 47, -72, 57, 83, 84, 85, 135, -329, -133, -120, -120, -120, -77, 88, -330, -79, 69, -330, @@ -5336,104 +5379,104 @@ var yyChk = [...]int{ -330, -330, -330, -118, 30, 47, -329, -3, -329, -176, -180, -142, -206, -89, -90, -90, -89, -90, 56, 56, 56, 61, 56, 61, 56, -103, -219, -330, -330, -138, - 195, -329, 34, -219, -112, 149, 149, 149, -113, 12, + 194, -329, 34, -219, -112, 148, 148, 148, -113, 12, -86, -113, -113, 135, -183, -186, 366, 363, 369, 72, 74, 135, -168, 69, -263, 98, -251, 68, 72, -257, - -208, 45, -252, 149, 45, -252, -257, 72, -257, 45, + -208, 45, -252, 148, 45, -252, -257, 72, -257, 45, 83, 89, -234, -235, -242, -245, -232, 29, 66, 342, - 155, 45, 44, 81, -239, 346, 75, -236, -236, -231, + 154, 45, 44, 81, -239, 346, 75, -236, -236, -231, -231, -231, 319, -231, -236, -237, 30, -237, -237, -237, -237, -236, -246, 74, -246, 75, -240, 75, 70, 66, -209, -3, 23, -49, 8, 9, 10, -283, -284, -285, - 72, 108, 201, 202, -311, 268, -306, 237, 246, 88, - 16, 429, 152, 152, -106, -298, -113, 72, 72, -190, - -193, 34, -120, -301, 189, 190, -173, 148, -297, 152, - 135, 135, 152, 260, -300, -209, 11, 11, 257, 11, - -300, -196, 69, -203, -252, -280, -250, -251, -279, 156, - 163, 164, -203, 163, 160, -252, 164, 155, 156, -200, - -252, 152, 23, -203, -203, -258, 98, -203, 110, -210, + 72, 108, 200, 201, -311, 268, -306, 236, 245, 88, + 16, 429, 151, 151, -106, -298, -113, 72, 72, -190, + -193, 34, -120, -301, 188, 189, -173, 147, -297, 151, + 135, 135, 151, 259, -300, -209, 11, 11, 256, 11, + -300, -196, 69, -203, -252, -280, -250, -251, -279, 155, + 162, 163, -203, 162, 159, -252, 163, 154, 155, -200, + -252, 151, 23, -203, -203, -258, 98, -203, 110, -210, -210, 53, -106, -78, -165, 122, -210, -80, -77, 88, -120, -330, -82, -156, -155, 122, -218, -156, -156, -330, -209, -160, -329, -155, -156, -156, -155, -155, -155, -330, -330, -155, -156, -156, -156, -156, -330, -156, -156, -156, - -330, -222, 131, 311, 173, 309, 302, 329, 316, 344, + -330, -222, 131, 311, 172, 309, 302, 329, 316, 344, 307, 345, -220, -222, -120, -120, -120, -120, -120, 11, 11, 11, 426, -150, 97, -83, 94, -120, -120, -175, 66, -176, -137, -140, -139, -329, -3, -330, -169, 6, 429, -174, -209, -113, 69, 98, 98, -97, -96, 66, 67, -98, 66, -96, 56, 56, -172, 68, 69, -139, -329, -174, -120, -112, -329, -329, -329, -150, -83, -113, - 363, 367, 368, -262, -263, -266, -265, -209, -208, 155, + 363, 367, 368, -262, -263, -266, -265, -209, -208, 154, -270, 44, -270, -257, -257, 68, 83, -120, 9, 45, 45, 74, 70, -237, -237, -236, -231, -237, 72, 131, -237, 70, 69, 70, 69, 70, 69, -116, 445, 89, -106, -164, -164, 66, 70, 69, -223, 72, 72, 72, - -314, 429, 242, -312, -310, 248, 249, 250, 251, 252, - -301, 247, -308, 244, 74, 72, -106, -298, -193, -120, - -236, -106, -300, 122, 122, -209, -300, 257, -326, 429, + -314, 429, 241, -312, -310, 247, 248, 249, 250, 251, + -301, 246, -308, 243, 74, 72, -106, -298, -193, -120, + -236, -106, -300, 122, 122, -209, -300, 256, -326, 429, -300, -300, 11, -300, -72, -54, 68, -247, 72, -208, - -257, -198, 155, 72, 72, 72, -208, 72, -208, -209, + -257, -198, 154, 72, 72, 72, -208, 72, -208, -209, 45, 45, 72, -106, -209, -247, 72, -83, -209, -209, 135, -113, 11, 69, -81, -330, -120, -156, 135, -156, -214, 72, -156, -156, -156, -330, -231, -231, -231, -241, -231, 295, -231, 295, -330, -330, 19, 19, 19, 19, -330, -120, -120, -120, -329, -75, 390, -83, 69, 69, 28, -175, 69, -330, -330, 47, -330, -330, 69, -150, - -180, -83, -83, -83, 68, -83, -171, -209, 195, -330, + -180, -83, -83, -83, 68, -83, -171, -209, 194, -330, -112, -202, -171, -171, -171, -167, 70, 69, -231, -231, 45, -254, -252, -171, -126, -237, -236, 74, -236, 75, 75, 445, 68, -3, -106, -286, -287, -288, 81, 428, - 89, 203, 204, 165, 205, 206, 207, -285, -223, -223, - -223, -317, -318, -316, 245, 266, 267, 253, -315, -313, - 262, 263, 264, 265, 88, 74, 74, 74, -309, 236, - 88, 245, 16, 23, -289, -191, -326, -326, 239, -300, - -78, -247, -152, 168, 169, -223, -223, -213, -254, 45, - 72, -201, 152, 23, 152, -152, -247, 30, 140, 27, + 89, 202, 203, 164, 204, 205, 206, -285, -223, -223, + -223, -317, -318, -316, 244, 266, 267, 252, -315, -313, + 261, 262, 263, 264, 88, 74, 74, 74, -309, 235, + 88, 244, 16, 23, -289, -191, -326, -326, 238, -300, + -78, -247, -152, 167, 168, -223, -223, -213, -254, 45, + 72, -201, 151, 23, 151, -152, -247, 30, 140, 27, -210, -147, 13, -86, -165, -165, 122, -136, 110, -236, 72, -120, -120, -120, -120, -330, -330, -330, -120, -330, 74, -120, -120, 45, -140, -137, 47, -3, -329, -209, -167, -171, 70, 69, -139, -111, -219, -330, -330, -330, - -268, -267, 67, 159, 81, -265, -166, -166, -257, 70, + -268, -267, 67, 158, 81, -265, -166, -166, -257, 70, -237, -237, 70, 70, -266, -164, 19, -164, -288, 74, - 207, 203, 207, 207, 207, 207, 208, -305, 81, 243, - -316, 254, 450, 238, 268, 75, 75, 109, 31, 32, - -313, 75, 75, 75, 75, -310, 16, 429, -308, 244, - 74, 74, -290, 38, -292, 39, -325, 23, -325, 257, + 206, 202, 206, 206, 206, 206, 207, -305, 81, 242, + -316, 253, 450, 237, 268, 75, 75, 109, 31, 32, + -313, 75, 75, 75, 75, -310, 16, 429, -308, 243, + 74, 74, -290, 38, -292, 39, -325, 23, -325, 256, 11, 70, 72, -224, -224, 68, -257, 68, 72, -209, -152, 29, 29, -329, -148, 14, 16, -113, -81, -150, 16, -330, -330, -330, -330, -74, 108, 429, -330, -330, 9, -137, -3, 70, -209, -112, -267, 72, -258, 74, - 166, 70, 194, -20, -3, -9, -10, -11, -12, -14, + 165, 70, 193, -20, -3, -9, -10, -11, -12, -14, -50, -15, -16, -21, -22, -17, -56, -57, -65, -63, -64, -60, -59, -25, -23, -26, -18, -27, -28, -29, - -33, -34, -24, -35, 92, 154, 225, 282, 36, 36, - 199, 200, 74, 74, 29, 255, 134, 29, 75, 134, - 396, 244, 74, 72, 245, -233, 153, -293, 43, -291, + -33, -34, -24, -35, 92, 153, 224, 282, 36, 36, + 198, 199, 74, 74, 29, 254, 134, 29, 75, 134, + 396, 243, 74, 72, 244, -233, 152, -293, 43, -291, -244, 42, 16, -298, -86, -266, -213, -266, -120, -272, -273, 110, -158, 394, -149, -83, -135, -85, -83, -147, -165, -161, 112, 111, -134, -330, 427, 63, 430, -176, - -330, 75, -106, -269, -268, 195, -164, -83, -83, 72, - -46, -215, 228, 229, 230, -210, -36, -20, 75, 29, - 75, 29, 258, 245, 23, -172, 75, -292, 16, -294, + -330, 75, -106, -269, -268, 194, -164, -83, -83, 72, + -46, -215, 227, 228, 229, -210, -36, -20, 75, 29, + 75, 29, 257, 244, 23, -172, 75, -292, 16, -294, 40, 41, 74, 429, -113, 70, 68, 70, -330, 69, -209, -157, -159, -209, 69, -148, -330, -162, 91, -163, 109, 396, -124, 75, 134, -162, 53, 428, 431, 68, - -153, 197, 198, -37, -38, 93, 94, 226, 227, 231, - -223, 69, 490, 256, 256, 74, 38, 74, 16, 16, - 237, -147, -269, -266, -269, -273, 47, 69, 23, -85, - -158, -163, 114, 115, 195, 114, 115, -119, 53, -171, + -153, 196, 197, -37, -38, 93, 94, 225, 226, 230, + -223, 69, 490, 255, 255, 74, 38, 74, 16, 16, + 236, -147, -269, -266, -269, -273, 47, 69, 23, -85, + -158, -163, 114, 115, 194, 114, 115, -119, 53, -171, -164, 72, 72, 97, 95, -38, -83, -36, 19, 19, - 19, 29, -210, 97, -20, 74, 74, 29, 242, 21, - -301, -148, 70, 181, -159, -160, 88, -209, 429, 70, + 19, 29, -210, 97, -20, 74, 74, 29, 241, 21, + -301, -148, 70, 180, -159, -160, 88, -209, 429, 70, -13, -19, -12, -9, -10, -11, 282, 92, -36, 94, - 490, -47, 75, -3, -45, -44, 75, -47, 233, 89, - 234, 72, -120, 259, -158, -269, 182, -163, 430, -276, + 490, -47, 75, -3, -45, -44, 75, -47, 232, 89, + 233, 72, -120, 258, -158, -269, 181, -163, 430, -276, -277, 66, -164, -36, 490, -36, 97, 95, -39, -40, - 96, -20, 69, 232, -301, -329, 431, -277, 66, -276, - 66, 10, 9, 490, 97, 490, 154, -36, 97, 95, - -40, -83, -44, -120, 179, -275, 167, 162, 165, 30, - -275, 97, 92, 490, 154, -36, 94, -330, -330, 161, - 29, 83, 97, 490, -36, 154, 97, 490, 154, + 96, -20, 69, 231, -301, -329, 431, -277, 66, -276, + 66, 10, 9, 490, 97, 490, 153, -36, 97, 95, + -40, -83, -44, -120, 178, -275, 166, 161, 164, 30, + -275, 97, 92, 490, 153, -36, 94, -330, -330, 160, + 29, 83, 97, 490, -36, 153, 97, 490, 153, } var yyDef = [...]int{ @@ -5441,8 +5484,8 @@ var yyDef = [...]int{ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -2, 686, 686, 686, 686, - 686, 686, 782, -2, 550, 0, 0, 0, 0, -2, - 659, 660, 661, 665, 666, 681, 683, 0, 326, 0, + 686, 686, 782, -2, 551, 0, 0, 0, 0, -2, + 659, 660, 661, 665, 666, 681, 683, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 56, 57, 1090, 0, 684, 673, 674, 0, 0, 1572, 2, 1028, 0, 695, 688, 0, 1090, 1090, @@ -5474,14 +5517,14 @@ var yyDef = [...]int{ 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 0, 0, 0, 652, 0, 618, 619, 620, 0, 622, 0, 0, - 0, 0, 0, 632, 635, 639, 0, 1028, 1028, 496, - 497, 498, 656, 657, 646, 658, 0, 0, 0, 0, - 0, 685, 305, 307, 0, 327, 0, 330, 333, 1118, + 0, 0, 0, 632, 635, 639, 0, 1028, 1028, 497, + 498, 499, 656, 657, 646, 658, 0, 0, 0, 0, + 0, 685, 306, 308, 0, 328, 0, 331, 334, 1118, 667, 0, 0, 1143, 1144, 0, 0, 0, 0, 0, - 1457, 181, 244, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 0, 183, 183, 183, 1468, 183, 0, 183, - 183, 183, 183, 183, 243, 233, 234, 235, 0, 0, - 0, 1457, 594, 686, 0, 690, 0, 1091, 662, 45, + 1457, 182, 245, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 0, 184, 184, 184, 1468, 184, 0, 184, + 184, 184, 184, 184, 244, 234, 235, 236, 0, 0, + 0, 1457, 144, 686, 0, 690, 0, 1091, 662, 45, 0, 47, 1044, 784, 785, 786, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, @@ -5499,8 +5542,8 @@ var yyDef = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 69, 800, 73, 1520, 0, 1062, -2, -2, 1064, 0, 0, 0, -2, -2, -2, -2, 1329, -2, - 998, 0, 88, 1020, 686, 89, 0, 370, 371, 0, - 1342, 520, 1110, 1111, 1331, 1106, 1107, 1147, 1148, 1149, + 998, 0, 88, 1020, 686, 89, 0, 371, 372, 0, + 1342, 521, 1110, 1111, 1331, 1106, 1107, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, @@ -5518,20 +5561,20 @@ var yyDef = [...]int{ 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1088, 0, 588, 0, 589, 0, 238, 0, 0, + 0, 1088, 0, 589, 0, 590, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 607, 0, 609, 610, 652, 612, 0, 0, 1088, 1088, 0, 0, - 0, 0, 522, 523, 652, 652, 652, 652, 649, 0, + 0, 0, 523, 524, 652, 652, 652, 652, 649, 0, 649, 629, 649, 647, 648, 0, 634, 0, 0, 0, 642, 643, 668, 0, 0, 675, 677, 678, 679, 680, - 676, 0, 0, 0, 309, 0, 0, 329, 311, 0, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 0, 332, 0, 1116, 1119, 672, 1134, 1135, - 0, 1145, 1146, 187, 187, 0, 0, 0, 0, 150, - 183, 0, 152, 183, 183, 183, 0, 183, 183, 159, - 160, 183, 162, 163, 164, 165, 166, 183, 168, 169, - 170, 183, 183, 173, 183, 183, 176, 177, 178, 179, - 180, 242, 187, 0, 0, 187, 0, 0, 695, 42, + 676, 0, 0, 0, 310, 0, 0, 330, 312, 0, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 0, 333, 0, 1116, 1119, 672, 1134, 1135, + 0, 1145, 1146, 188, 188, 0, 0, 0, 0, 151, + 184, 0, 153, 184, 184, 184, 0, 184, 184, 160, + 161, 184, 163, 164, 165, 166, 167, 184, 169, 170, + 171, 184, 184, 174, 184, 184, 177, 178, 179, 180, + 181, 243, 188, 0, 0, 188, 0, 0, 695, 42, 52, 0, 691, 692, 0, 0, 0, 46, 0, 0, 51, 1573, 37, 0, 0, 1029, 1032, 1033, 1021, 1022, 1025, 0, 0, 693, 699, 700, 689, 0, 710, 0, @@ -5550,25 +5593,25 @@ var yyDef = [...]int{ 0, 71, 0, 799, 0, 746, 748, 749, 750, -2, 0, 803, 849, -2, 0, 0, 0, 63, 64, 0, 0, 0, 0, 74, 76, 0, 0, 1520, 1065, 1066, - 470, 1079, 1080, 1081, 0, 1077, 0, 1028, 695, 537, - 0, 372, 0, 0, 381, 460, 390, 391, 392, 453, - 394, 453, 453, 0, 453, 453, 453, 453, 453, 467, - 467, 467, 467, 467, 436, 437, 438, 439, 440, 0, - 0, 413, 453, 453, 453, 417, 443, 444, 445, 446, - 447, 448, 449, 450, 395, 396, 397, 398, 399, 400, - 401, 402, 403, 404, 455, 455, 457, 457, 457, 457, - 457, 0, 0, 519, 0, 1104, 85, 0, 93, 0, - 94, 0, 0, 99, 260, 246, 98, 0, 232, 0, - 0, 0, 0, 237, 604, 1087, 0, 597, 65, 598, - 599, 600, 601, 602, 239, 603, 801, 1114, 1115, 611, - 653, 654, 0, 0, 615, 616, 617, 524, 623, 624, + 471, 1079, 1080, 1081, 0, 1077, 0, 1028, 695, 538, + 0, 373, 0, 0, 382, 461, 391, 392, 393, 454, + 395, 454, 454, 0, 454, 454, 454, 454, 454, 468, + 468, 468, 468, 468, 437, 438, 439, 440, 441, 0, + 0, 414, 454, 454, 454, 418, 444, 445, 446, 447, + 448, 449, 450, 451, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 456, 456, 458, 458, 458, 458, + 458, 0, 0, 520, 0, 1104, 85, 0, 93, 0, + 94, 0, 0, 99, 261, 247, 98, 0, 233, 0, + 0, 0, 0, 238, 604, 1087, 0, 597, 65, 598, + 599, 600, 601, 602, 240, 603, 801, 1114, 1115, 611, + 653, 654, 0, 0, 615, 616, 617, 525, 623, 624, 625, 631, 652, 0, 0, 0, 764, 652, 633, 843, - 636, 960, 0, 670, 669, 0, 682, 306, 308, 310, - 328, 0, 0, 331, 334, 0, 0, 0, 0, 1137, - 0, 1139, 1141, 0, 0, 188, 189, 190, 0, 182, - 0, 205, 245, 0, 151, 0, 185, 153, 154, 155, - 183, 157, 158, 161, 167, 171, 172, 174, 175, 241, - 0, 0, 0, 0, 148, 0, 698, 0, 0, 663, + 636, 960, 0, 670, 669, 0, 682, 307, 309, 311, + 329, 0, 0, 332, 335, 0, 0, 0, 0, 1137, + 0, 1139, 1141, 0, 0, 189, 190, 191, 0, 183, + 0, 206, 246, 0, 152, 0, 186, 154, 155, 156, + 184, 158, 159, 162, 168, 172, 173, 175, 176, 242, + 0, 0, 0, 0, 149, 0, 698, 0, 0, 663, 664, 48, 0, 0, 1046, 1035, 0, 0, 0, 0, 1024, 1026, 1027, 0, 0, 1009, 0, 0, 701, 694, 39, 810, 811, 813, 830, 0, 832, 834, 741, 711, @@ -5587,21 +5630,21 @@ var yyDef = [...]int{ 0, 0, 0, 0, 757, 1444, 759, 0, 803, 0, 0, 0, 807, 0, 807, 68, 807, 70, 0, 802, 1063, 0, 0, 0, 79, 80, 75, 1067, 0, 1073, - 1074, 1075, 999, 0, 1034, 698, 369, 538, 540, 543, - 544, 545, 373, 375, 376, 377, 0, -2, 511, 1454, - 1498, -2, 503, 1371, -2, -2, 380, 462, 461, 393, - 0, 467, 467, 453, 453, 453, 453, 422, 467, 425, - 428, 429, 470, 0, 470, 470, 470, 470, 467, 0, - 0, 414, 415, 416, 405, 0, 406, 455, 408, 0, - 409, 410, 411, 412, 517, 518, 0, 0, 0, 0, - 0, 1089, 0, 262, 263, 208, 101, 0, 0, 247, - 0, 368, 0, 590, 0, 592, 236, 595, 605, 606, + 1074, 1075, 999, 0, 1034, 698, 370, 539, 541, 544, + 545, 546, 374, 376, 377, 378, 0, -2, 512, 1454, + 1498, -2, 504, 1371, -2, -2, 381, 463, 462, 394, + 0, 468, 468, 454, 454, 454, 454, 423, 468, 426, + 429, 430, 471, 0, 471, 471, 471, 471, 468, 0, + 0, 415, 416, 417, 406, 0, 407, 456, 409, 0, + 410, 411, 412, 413, 518, 519, 0, 0, 0, 0, + 0, 1089, 0, 263, 264, 209, 101, 0, 0, 248, + 0, 369, 0, 591, 0, 593, 237, 595, 605, 606, 596, 0, 0, 613, 614, 807, 0, 0, 626, 650, 651, 649, 652, 0, 630, 644, 0, 0, 637, 0, - 671, 312, 313, 335, 71, 0, 1117, 1136, 0, 1140, - 1142, 0, 191, 193, 0, 142, 0, 0, 184, 0, - 156, 0, 0, 0, 0, 0, 693, 53, 551, 552, - -2, 581, 1096, 581, 581, 569, 487, 581, 0, 49, + 671, 313, 314, 336, 71, 0, 1117, 1136, 0, 1140, + 1142, 0, 192, 194, 0, 142, 0, 0, 185, 0, + 157, 0, 0, 0, 0, 0, 693, 53, 552, 553, + -2, 582, 1096, 582, 582, 570, 488, 582, 0, 49, 0, 1045, 0, 0, 0, 1030, 1031, 1023, 0, 1082, 1083, 1010, 1011, 86, 702, 831, 833, 835, 0, 851, 822, 843, 826, 0, 823, 0, 817, 0, 0, 720, @@ -5615,103 +5658,103 @@ var yyDef = [...]int{ 1058, 0, 0, 747, 778, 780, 0, 775, 788, 789, 791, 0, 793, 0, 795, 796, 766, 753, 850, 754, 0, 0, 0, 803, 763, 0, 0, 0, 1020, 0, - 807, 61, 62, 0, 77, 78, 0, 0, 84, 471, - 472, 0, 207, 0, 541, 0, 374, 0, 504, 0, - 0, 489, 503, 499, 500, 503, 494, 504, 495, 0, - 382, 0, 384, 385, 386, 387, 388, 0, 0, 466, - 0, 474, 476, 0, 389, 463, 0, 470, 470, 467, - 420, 421, 453, 426, 470, 430, 0, 431, 432, 433, - 434, 470, 0, 451, 0, 0, 407, 0, 534, 0, - 1105, 85, 85, 0, 264, 265, 266, 0, 209, 210, - 0, 0, 0, 0, 111, 0, 261, 0, 0, 0, - 0, 0, 0, 0, 66, 240, 621, 525, 526, 652, - 628, 0, 844, 638, 640, 641, 467, 0, 1138, 0, - 0, 0, 0, 0, 203, 186, 0, 0, 0, 0, - 149, 701, 0, 0, 503, 0, 570, 571, 0, 582, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1097, 1098, 0, 0, 0, 488, 0, 0, 1048, + 807, 61, 62, 0, 77, 78, 0, 0, 84, 472, + 473, 0, 208, 0, 542, 0, 375, 0, 505, 0, + 0, 490, 504, 500, 501, 504, 495, 505, 496, 0, + 383, 0, 385, 386, 387, 388, 389, 0, 0, 467, + 0, 475, 477, 0, 390, 464, 0, 471, 471, 468, + 421, 422, 454, 427, 471, 431, 0, 432, 433, 434, + 435, 471, 0, 452, 0, 0, 408, 0, 535, 0, + 1105, 85, 85, 0, 265, 266, 267, 0, 210, 211, + 0, 0, 0, 0, 111, 0, 262, 0, 0, 0, + 0, 0, 0, 0, 66, 241, 621, 526, 527, 652, + 628, 0, 844, 638, 640, 641, 468, 0, 1138, 0, + 0, 0, 0, 0, 204, 187, 0, 0, 0, 0, + 150, 701, 0, 0, 504, 0, 571, 572, 0, 583, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1097, 1098, 0, 0, 0, 489, 0, 0, 1048, 1047, 1036, 38, 807, 0, 712, 1000, 0, 824, 0, 827, 720, 854, 896, 721, 707, 0, 897, 898, 720, 713, 714, 716, 913, 900, 901, 914, 915, 916, 720, 720, 917, 905, 904, 903, 906, 720, 909, 908, 910, - 892, 0, 453, 453, 979, 453, 457, 982, 453, 984, - 453, 987, 0, 0, 0, 0, 0, 0, 0, 0, + 892, 0, 454, 454, 979, 454, 458, 982, 454, 984, + 454, 987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 991, 941, 997, 0, 0, 0, 54, 0, 1050, 1037, 1052, 1054, 0, 0, 0, 0, -2, 1309, 0, 770, 1020, 0, 0, 0, 772, 779, 0, 0, 773, 0, 774, 792, 794, 751, 0, 0, 755, 0, 0, -2, 762, 0, 0, 0, 1028, 808, 60, - 81, 82, 83, 539, 542, 0, 505, 453, 453, 0, - 509, 501, 510, 491, 493, 0, 383, 464, 0, 473, - 475, 477, 454, 418, 419, 470, 427, 423, 468, 469, - 435, 467, 0, 467, 0, 458, 0, 521, 535, 0, - 0, 91, 0, 0, 216, 0, 212, 0, 0, 0, + 81, 82, 83, 540, 543, 0, 506, 454, 454, 0, + 510, 502, 511, 492, 494, 0, 384, 465, 0, 474, + 476, 478, 455, 419, 420, 471, 428, 424, 469, 470, + 436, 468, 0, 468, 0, 459, 0, 522, 536, 0, + 0, 91, 0, 0, 217, 0, 213, 0, 0, 0, 119, 0, 102, 103, 104, 106, 107, 0, 0, 0, - 100, 0, 249, 0, 252, 253, 591, 593, 627, 765, - 1128, 797, 203, 192, 194, 195, 203, 206, 143, 0, - 144, 146, 0, 145, 86, 553, 0, 578, 0, 0, - 1104, 501, 0, -2, 556, 561, 562, 563, 564, 565, - 0, 576, 0, 558, 0, 578, 0, 573, 0, 0, + 100, 0, 250, 0, 253, 254, 592, 594, 627, 765, + 1128, 797, 204, 193, 195, 196, 204, 207, 143, 0, + 145, 147, 0, 146, 86, 554, 0, 579, 0, 0, + 1104, 502, 0, -2, 557, 562, 563, 564, 565, 566, + 0, 577, 0, 559, 0, 579, 0, 574, 0, 0, 0, 1012, 0, 86, 86, 893, 828, 895, 0, 899, - 718, 717, 894, 902, 907, 926, 976, 467, 980, 981, + 718, 717, 894, 902, 907, 926, 976, 468, 980, 981, 983, 985, 986, 988, 928, 927, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 995, 0, 0, 0, 55, 0, 1055, -2, 0, 0, 72, 0, 1028, 1059, 1060, 1061, 776, 0, 781, 0, 768, 0, 803, - 760, 0, 0, 0, 0, 59, 479, 0, 1025, 1025, - 490, 503, 502, 0, 465, 424, 470, 452, 470, 0, - 0, 536, 0, 85, 0, 85, 217, 218, 0, 0, - 0, 223, 0, 0, 0, 0, 0, 211, 213, 214, - 215, 137, 120, 121, 0, 0, 0, 0, 112, 113, - 0, 0, 0, 0, 0, 108, 109, 110, 248, 0, - 0, 251, 0, 0, 1130, 1124, 196, 196, 0, 147, - 0, 0, 555, 579, 0, 381, 381, 0, 503, 0, - 572, 0, 1094, 1095, 0, 567, 578, 0, 0, 0, + 760, 0, 0, 0, 0, 59, 480, 0, 1025, 1025, + 491, 504, 503, 0, 466, 425, 471, 453, 471, 0, + 0, 537, 0, 85, 0, 85, 218, 219, 0, 0, + 0, 224, 0, 0, 0, 0, 0, 212, 214, 215, + 216, 137, 120, 121, 0, 0, 0, 0, 112, 113, + 0, 0, 0, 0, 0, 108, 109, 110, 249, 0, + 0, 252, 0, 0, 1130, 1124, 197, 197, 0, 148, + 0, 0, 556, 580, 0, 382, 382, 0, 504, 0, + 573, 0, 1094, 1095, 0, 568, 579, 0, 0, 0, 1049, 1017, 0, 807, 0, 703, 708, 1020, 0, 977, 978, 0, 0, 0, 0, 935, 936, 937, 969, 940, 992, 0, 0, 0, 1053, 1038, 0, 1042, 0, 771, 58, 0, 767, 0, 756, 758, 803, 804, 805, 806, - 478, 482, 0, 487, 0, 506, 507, 508, 492, 0, - 441, 442, 456, 459, 0, 92, 0, 0, 219, 220, - 221, 222, 224, 225, 0, 0, 0, 97, 0, 0, + 479, 483, 0, 488, 0, 507, 508, 509, 493, 0, + 442, 443, 457, 460, 0, 92, 0, 0, 220, 221, + 222, 223, 225, 226, 0, 0, 0, 97, 0, 0, 122, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 114, 115, 116, 117, 118, 105, 0, 0, 250, 0, - 255, 256, 1092, 1132, -2, 0, 140, 0, 141, 204, - 0, 554, 580, 378, 379, 0, 1104, 0, 557, 566, - 568, 0, 575, 0, 732, 0, 0, 1012, 86, 722, + 114, 115, 116, 117, 118, 105, 0, 0, 251, 0, + 256, 257, 1092, 1132, -2, 0, 140, 0, 141, 205, + 0, 555, 581, 379, 380, 0, 1104, 0, 558, 567, + 569, 0, 576, 0, 732, 0, 0, 1012, 86, 722, 0, 929, 931, 930, 932, 0, 0, 0, 958, 959, - 0, 1041, 0, 777, 769, 761, 483, 484, 0, 486, - 0, 480, 0, 85, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 0, 0, 0, 0, 226, 227, - 228, 229, 138, 139, 123, 124, 0, 126, 127, 0, - 0, 0, 258, 0, 254, 766, 0, 1124, 0, 1126, - 0, 1123, 0, 197, 807, 0, 0, 0, 574, 0, - 584, 0, 43, 0, 1018, 1019, 1013, 1014, 1016, 1017, + 0, 1041, 0, 777, 769, 761, 484, 485, 0, 487, + 0, 481, 0, 85, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 0, 0, 0, 0, 227, 228, + 229, 230, 138, 139, 123, 124, 0, 126, 127, 0, + 0, 0, 259, 0, 255, 766, 0, 1124, 0, 1126, + 0, 1123, 0, 198, 807, 0, 0, 0, 575, 0, + 585, 0, 43, 0, 1018, 1019, 1013, 1014, 1016, 1017, 704, 0, 0, 0, 719, 938, 0, 0, 0, 1051, - -2, 485, 0, 90, 481, 267, 96, 0, 0, 1106, - 0, 0, 294, 295, 296, 1108, 0, 336, 0, 128, - 0, 130, 131, 257, 0, 36, 0, 1131, 0, 1129, - 0, 0, 1125, 0, 1012, 480, 0, 480, 583, 0, + -2, 486, 0, 90, 482, 268, 96, 0, 0, 1106, + 0, 0, 295, 296, 297, 1108, 0, 337, 0, 128, + 0, 130, 131, 258, 0, 36, 0, 1131, 0, 1129, + 0, 0, 1125, 0, 1012, 481, 0, 481, 584, 0, 0, 733, 734, 0, 0, 732, 715, 723, 0, 726, 0, 0, 0, 737, 0, 724, 970, 0, 973, 0, - 85, 0, 0, 0, 278, 0, 0, 0, 0, 0, - 292, 0, 0, 125, 129, 259, 1093, 1133, 0, 0, - 0, 1017, 559, 0, 577, 585, 0, 0, 0, 1015, + 85, 0, 0, 0, 279, 0, 0, 0, 0, 0, + 293, 0, 0, 125, 129, 260, 1093, 1133, 0, 0, + 0, 1017, 560, 0, 578, 586, 0, 0, 0, 1015, 44, 0, 727, 728, 729, 730, 731, 0, 971, 0, - 0, 268, 269, 0, 0, 279, 0, 0, 0, 0, - 0, 0, 1109, 230, 337, 1127, 1121, 198, 199, 200, - 202, 732, 480, 0, 735, 736, 0, 738, 0, 512, - 85, 270, 271, 272, 273, 274, 0, 276, 0, 0, - 0, 288, 289, 290, 0, 297, 299, 300, 301, 0, - 303, 304, 293, 0, 41, 560, 0, 725, 0, 513, - 514, 0, 95, 0, 0, 0, 0, 0, 0, 285, - 0, 291, 0, 302, 201, 0, 972, 515, 0, 516, - 0, 0, 0, 0, 0, 280, 281, 0, 0, 0, - 286, 0, 298, 0, 0, 527, 529, 530, 0, 0, - 528, 275, 277, 0, 283, 0, 0, 586, 587, 531, - 532, 533, 0, 0, 0, 282, 0, 287, 284, + 0, 269, 270, 0, 0, 280, 0, 0, 0, 0, + 0, 0, 1109, 231, 338, 1127, 1121, 199, 200, 201, + 203, 732, 481, 0, 735, 736, 0, 738, 0, 513, + 85, 271, 272, 273, 274, 275, 0, 277, 0, 0, + 0, 289, 290, 291, 0, 298, 300, 301, 302, 0, + 304, 305, 294, 0, 41, 561, 0, 725, 0, 514, + 515, 0, 95, 0, 0, 0, 0, 0, 0, 286, + 0, 292, 0, 303, 202, 0, 972, 516, 0, 517, + 0, 0, 0, 0, 0, 281, 282, 0, 0, 0, + 287, 0, 299, 0, 0, 528, 530, 531, 0, 0, + 529, 276, 278, 0, 284, 0, 0, 587, 588, 532, + 533, 534, 0, 0, 0, 283, 0, 288, 285, } var yyTok1 = [...]int{ @@ -6881,564 +6924,570 @@ yydefault: yyVAL.statement = &GrantProxy{On: yyDollar[4].accountName, To: yyDollar[6].accountNames, WithGrantOption: yyDollar[7].boolean} } case 144: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1089 + { + yyVAL.statement = &FlushPrivileges{} + } + case 145: + yyDollar = yyS[yypt-7 : yypt+1] +//line sql.y:1095 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &RevokePrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } - case 145: + case 146: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1094 +//line sql.y:1100 { yyVAL.statement = &RevokePrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } - case 146: + case 147: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1098 +//line sql.y:1104 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[7].accountNames} } - case 147: + case 148: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1102 +//line sql.y:1108 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[8].accountNames} } - case 148: + case 149: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1106 +//line sql.y:1112 { yyVAL.statement = &RevokeRole{Roles: yyDollar[2].accountNames, From: yyDollar[4].accountNames} } - case 149: + case 150: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1110 +//line sql.y:1116 { yyVAL.statement = &RevokeProxy{On: yyDollar[4].accountName, From: yyDollar[6].accountNames} } - case 150: + case 151: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1116 +//line sql.y:1122 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Alter, Columns: yyDollar[2].strs} } - case 151: + case 152: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1120 +//line sql.y:1126 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_AlterRoutine, Columns: yyDollar[3].strs} } - case 152: + case 153: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1124 +//line sql.y:1130 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Create, Columns: yyDollar[2].strs} } - case 153: + case 154: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1128 +//line sql.y:1134 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRole, Columns: yyDollar[3].strs} } - case 154: + case 155: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1132 +//line sql.y:1138 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRoutine, Columns: yyDollar[3].strs} } - case 155: + case 156: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1136 +//line sql.y:1142 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTablespace, Columns: yyDollar[3].strs} } - case 156: + case 157: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1140 +//line sql.y:1146 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTemporaryTables, Columns: yyDollar[4].strs} } - case 157: + case 158: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1144 +//line sql.y:1150 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateUser, Columns: yyDollar[3].strs} } - case 158: + case 159: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1148 +//line sql.y:1154 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateView, Columns: yyDollar[3].strs} } - case 159: + case 160: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1152 +//line sql.y:1158 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Delete, Columns: yyDollar[2].strs} } - case 160: + case 161: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1156 +//line sql.y:1162 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Drop, Columns: yyDollar[2].strs} } - case 161: + case 162: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1160 +//line sql.y:1166 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_DropRole, Columns: yyDollar[3].strs} } - case 162: + case 163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1164 +//line sql.y:1170 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Event, Columns: yyDollar[2].strs} } - case 163: + case 164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1168 +//line sql.y:1174 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Execute, Columns: yyDollar[2].strs} } - case 164: + case 165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1172 +//line sql.y:1178 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_File, Columns: yyDollar[2].strs} } - case 165: + case 166: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1176 +//line sql.y:1182 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Index, Columns: yyDollar[2].strs} } - case 166: + case 167: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1180 +//line sql.y:1186 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Insert, Columns: yyDollar[2].strs} } - case 167: + case 168: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1184 +//line sql.y:1190 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_LockTables, Columns: yyDollar[3].strs} } - case 168: + case 169: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1188 +//line sql.y:1194 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Process, Columns: yyDollar[2].strs} } - case 169: + case 170: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1192 +//line sql.y:1198 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_References, Columns: yyDollar[2].strs} } - case 170: + case 171: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1196 +//line sql.y:1202 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Reload, Columns: yyDollar[2].strs} } - case 171: + case 172: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1200 +//line sql.y:1206 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationClient, Columns: yyDollar[3].strs} } - case 172: + case 173: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1204 +//line sql.y:1210 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationSlave, Columns: yyDollar[3].strs} } - case 173: + case 174: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1208 +//line sql.y:1214 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Select, Columns: yyDollar[2].strs} } - case 174: + case 175: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1212 +//line sql.y:1218 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowDatabases, Columns: yyDollar[3].strs} } - case 175: + case 176: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1216 +//line sql.y:1222 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowView, Columns: yyDollar[3].strs} } - case 176: + case 177: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1220 +//line sql.y:1226 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Shutdown, Columns: yyDollar[2].strs} } - case 177: + case 178: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1224 +//line sql.y:1230 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Super, Columns: yyDollar[2].strs} } - case 178: + case 179: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1228 +//line sql.y:1234 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Trigger, Columns: yyDollar[2].strs} } - case 179: + case 180: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1232 +//line sql.y:1238 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Update, Columns: yyDollar[2].strs} } - case 180: + case 181: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1236 +//line sql.y:1242 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Usage, Columns: yyDollar[2].strs} } - case 181: + case 182: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1242 +//line sql.y:1248 { yyVAL.grantPrivileges = []Privilege{yyDollar[1].grantPrivilege} } - case 182: + case 183: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1246 +//line sql.y:1252 { yyVAL.grantPrivileges = append(yyDollar[1].grantPrivileges, yyDollar[3].grantPrivilege) } - case 183: + case 184: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1251 +//line sql.y:1257 { yyVAL.strs = nil } - case 184: + case 185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1255 +//line sql.y:1261 { yyVAL.strs = yyDollar[2].strs } - case 185: + case 186: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1261 +//line sql.y:1267 { yyVAL.strs = []string{yyDollar[1].colIdent.String()} } - case 186: + case 187: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1265 +//line sql.y:1271 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].colIdent.String()) } - case 187: + case 188: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1270 +//line sql.y:1276 { yyVAL.grantObjectType = GrantObjectType_Any } - case 188: + case 189: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1274 +//line sql.y:1280 { yyVAL.grantObjectType = GrantObjectType_Table } - case 189: + case 190: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1278 +//line sql.y:1284 { yyVAL.grantObjectType = GrantObjectType_Function } - case 190: + case 191: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1282 +//line sql.y:1288 { yyVAL.grantObjectType = GrantObjectType_Procedure } - case 191: + case 192: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1288 +//line sql.y:1294 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: "*"} } - case 192: + case 193: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1292 +//line sql.y:1298 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "*", TableRoutine: "*"} } - case 193: + case 194: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1296 +//line sql.y:1302 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: yyDollar[1].colIdent.String()} } - case 194: + case 195: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1300 +//line sql.y:1306 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: "*"} } - case 195: + case 196: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1304 +//line sql.y:1310 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: yyDollar[3].colIdent.String()} } - case 196: + case 197: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1309 +//line sql.y:1315 { yyVAL.grantAssumption = nil } - case 197: + case 198: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1313 +//line sql.y:1319 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } - case 198: + case 199: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1317 +//line sql.y:1323 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } - case 199: + case 200: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1321 +//line sql.y:1327 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_None, User: yyDollar[2].accountName, Roles: nil} } - case 200: + case 201: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1325 +//line sql.y:1331 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_All, User: yyDollar[2].accountName, Roles: nil} } - case 201: + case 202: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1329 +//line sql.y:1335 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_AllExcept, User: yyDollar[2].accountName, Roles: yyDollar[7].accountNames} } - case 202: + case 203: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1333 +//line sql.y:1339 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Roles, User: yyDollar[2].accountName, Roles: yyDollar[5].accountNames} } - case 203: + case 204: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1338 +//line sql.y:1344 { yyVAL.boolean = false } - case 204: + case 205: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1342 +//line sql.y:1348 { yyVAL.boolean = true } - case 205: + case 206: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1347 +//line sql.y:1353 { yyVAL.boolean = false } - case 206: + case 207: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1351 +//line sql.y:1357 { yyVAL.boolean = true } - case 207: + case 208: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1358 +//line sql.y:1364 { yyDollar[1].selStmt.SetOrderBy(yyDollar[2].orderBy) yyDollar[1].selStmt.SetLimit(yyDollar[3].limit) yyDollar[1].selStmt.SetLock(yyDollar[4].str) yyVAL.selStmt = yyDollar[1].selStmt } - case 208: + case 209: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1366 +//line sql.y:1372 { yyVAL.procedureParams = nil } - case 209: + case 210: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1370 +//line sql.y:1376 { yyVAL.procedureParams = yyDollar[1].procedureParams } - case 210: + case 211: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1376 +//line sql.y:1382 { yyVAL.procedureParams = []ProcedureParam{yyDollar[1].procedureParam} } - case 211: + case 212: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1380 +//line sql.y:1386 { yyVAL.procedureParams = append(yyVAL.procedureParams, yyDollar[3].procedureParam) } - case 212: + case 213: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1386 +//line sql.y:1392 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[1].bytes), Type: yyDollar[2].columnType} } - case 213: + case 214: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1390 +//line sql.y:1396 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 214: + case 215: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1394 +//line sql.y:1400 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Inout, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 215: + case 216: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1398 +//line sql.y:1404 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Out, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 216: + case 217: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1403 +//line sql.y:1409 { yyVAL.characteristics = nil } - case 217: + case 218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1407 +//line sql.y:1413 { yyVAL.characteristics = yyDollar[1].characteristics } - case 218: + case 219: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1413 +//line sql.y:1419 { yyVAL.characteristics = []Characteristic{yyDollar[1].characteristic} } - case 219: + case 220: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1417 +//line sql.y:1423 { yyVAL.characteristics = append(yyVAL.characteristics, yyDollar[2].characteristic) } - case 220: + case 221: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1423 +//line sql.y:1429 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Comment, Comment: string(yyDollar[2].bytes)} } - case 221: + case 222: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1427 +//line sql.y:1433 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_LanguageSql} } - case 222: + case 223: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1431 +//line sql.y:1437 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NotDeterministic} } - case 223: + case 224: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1435 +//line sql.y:1441 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Deterministic} } - case 224: + case 225: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1439 +//line sql.y:1445 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ContainsSql} } - case 225: + case 226: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1443 +//line sql.y:1449 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NoSql} } - case 226: + case 227: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1447 +//line sql.y:1453 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ReadsSqlData} } - case 227: + case 228: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1451 +//line sql.y:1457 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ModifiesSqlData} } - case 228: + case 229: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1455 +//line sql.y:1461 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityDefiner} } - case 229: + case 230: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1459 +//line sql.y:1465 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityInvoker} } - case 230: + case 231: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1465 +//line sql.y:1471 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } - case 231: + case 232: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1470 +//line sql.y:1476 { yyVAL.str = "" } - case 232: + case 233: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1474 +//line sql.y:1480 { yyVAL.str = string(yyDollar[3].bytes) } - case 233: + case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1480 +//line sql.y:1486 { yyVAL.str = string(yyDollar[1].bytes) } - case 234: + case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1484 +//line sql.y:1490 { yyVAL.str = string(yyDollar[1].bytes) } - case 235: + case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1488 +//line sql.y:1494 { yyVAL.str = string(yyDollar[1].bytes) } - case 236: + case 237: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1494 +//line sql.y:1500 { anyHost := false if yyDollar[3].str == "%" { @@ -7446,33 +7495,33 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: yyDollar[3].str, AnyHost: anyHost} } - case 237: + case 238: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1502 +//line sql.y:1508 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: false} } - case 238: + case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1506 +//line sql.y:1512 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: true} } - case 239: + case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1512 +//line sql.y:1518 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } - case 240: + case 241: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1516 +//line sql.y:1522 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } - case 241: + case 242: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1522 +//line sql.y:1528 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7480,9 +7529,9 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: yyDollar[3].str, AnyHost: false} } - case 242: + case 243: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1530 +//line sql.y:1536 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7490,9 +7539,9 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: false} } - case 243: + case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1538 +//line sql.y:1544 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7500,562 +7549,562 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: true} } - case 244: + case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1548 +//line sql.y:1554 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } - case 245: + case 246: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1552 +//line sql.y:1558 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } - case 246: + case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1558 +//line sql.y:1564 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName} } - case 247: + case 248: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1562 +//line sql.y:1568 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication} } - case 248: + case 249: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1566 +//line sql.y:1572 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, AuthInitial: yyDollar[5].authentication} } - case 249: + case 250: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1570 +//line sql.y:1576 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication} } - case 250: + case 251: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1574 +//line sql.y:1580 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication, Auth3: yyDollar[6].authentication} } - case 251: + case 252: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1580 +//line sql.y:1586 { yyVAL.authentication = &Authentication{RandomPassword: true} } - case 252: + case 253: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1584 +//line sql.y:1590 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } - case 253: + case 254: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1588 +//line sql.y:1594 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes)} } - case 254: + case 255: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1592 +//line sql.y:1598 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), RandomPassword: true} } - case 255: + case 256: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1596 +//line sql.y:1602 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Password: string(yyDollar[5].bytes)} } - case 256: + case 257: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1600 +//line sql.y:1606 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } - case 257: + case 258: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1606 +//line sql.y:1612 { yyVAL.authentication = &Authentication{RandomPassword: true} } - case 258: + case 259: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1610 +//line sql.y:1616 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } - case 259: + case 260: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1614 +//line sql.y:1620 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } - case 260: + case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1620 +//line sql.y:1626 { yyVAL.accountsWithAuth = []AccountWithAuth{yyDollar[1].accountWithAuth} } - case 261: + case 262: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1624 +//line sql.y:1630 { yyVAL.accountsWithAuth = append(yyDollar[1].accountsWithAuth, yyDollar[3].accountWithAuth) } - case 262: + case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1630 +//line sql.y:1636 { yyVAL.str = BeforeStr } - case 263: + case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1634 +//line sql.y:1640 { yyVAL.str = AfterStr } - case 264: + case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1640 +//line sql.y:1646 { yyVAL.str = InsertStr } - case 265: + case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1644 +//line sql.y:1650 { yyVAL.str = UpdateStr } - case 266: + case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1648 +//line sql.y:1654 { yyVAL.str = DeleteStr } - case 267: + case 268: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1653 +//line sql.y:1659 { yyVAL.triggerOrder = nil } - case 268: + case 269: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1657 +//line sql.y:1663 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: FollowsStr, OtherTriggerName: string(yyDollar[2].bytes)} } - case 269: + case 270: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1661 +//line sql.y:1667 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: PrecedesStr, OtherTriggerName: string(yyDollar[2].bytes)} } - case 270: + case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1667 +//line sql.y:1673 { yyVAL.statement = yyDollar[1].statement } - case 275: + case 276: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1677 +//line sql.y:1683 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } - case 276: + case 277: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1683 +//line sql.y:1689 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases} } - case 277: + case 278: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1687 +//line sql.y:1693 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases, Else: yyDollar[5].statements} } - case 278: + case 279: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1693 +//line sql.y:1699 { yyVAL.caseStatementCases = []CaseStatementCase{yyDollar[1].caseStatementCase} } - case 279: + case 280: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1697 +//line sql.y:1703 { yyVAL.caseStatementCases = append(yyVAL.caseStatementCases, yyDollar[2].caseStatementCase) } - case 280: + case 281: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1703 +//line sql.y:1709 { yyVAL.caseStatementCase = CaseStatementCase{Case: yyDollar[2].expr, Statements: yyDollar[4].statements} } - case 281: + case 282: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1709 +//line sql.y:1715 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds} } - case 282: + case 283: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:1714 +//line sql.y:1720 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds, Else: yyDollar[7].statements} } - case 283: + case 284: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1719 +//line sql.y:1725 { conds := yyDollar[6].ifStatementConditions conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) yyVAL.statement = &IfStatement{Conditions: conds} } - case 284: + case 285: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:1725 +//line sql.y:1731 { conds := yyDollar[6].ifStatementConditions conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) yyVAL.statement = &IfStatement{Conditions: conds, Else: yyDollar[8].statements} } - case 285: + case 286: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1733 +//line sql.y:1739 { yyVAL.ifStatementConditions = []IfStatementCondition{yyDollar[1].ifStatementCondition} } - case 286: + case 287: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1737 +//line sql.y:1743 { yyVAL.ifStatementConditions = append(yyVAL.ifStatementConditions, yyDollar[2].ifStatementCondition) } - case 287: + case 288: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1743 +//line sql.y:1749 { yyVAL.ifStatementCondition = IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements} } - case 288: + case 289: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1749 +//line sql.y:1755 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), SqlStateValue: string(yyDollar[5].bytes)}} } - case 289: + case 290: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1753 +//line sql.y:1759 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), MysqlErrorCode: NewIntVal(yyDollar[5].bytes)}} } - case 290: + case 291: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1757 +//line sql.y:1763 { yyVAL.statement = &Declare{Cursor: &DeclareCursor{Name: string(yyDollar[2].bytes), SelectStmt: yyDollar[5].selStmt}} } - case 291: + case 292: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1761 +//line sql.y:1767 { yyVAL.statement = &Declare{Handler: &DeclareHandler{Action: yyDollar[2].declareHandlerAction, ConditionValues: yyDollar[5].declareHandlerConditions, Statement: yyDollar[6].statement}} } - case 292: + case 293: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1765 +//line sql.y:1771 { yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } - case 293: + case 294: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1769 +//line sql.y:1775 { yyDollar[3].columnType.Default = yyDollar[5].expr yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } - case 294: + case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1776 +//line sql.y:1782 { yyVAL.declareHandlerAction = DeclareHandlerAction_Continue } - case 295: + case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1780 +//line sql.y:1786 { yyVAL.declareHandlerAction = DeclareHandlerAction_Exit } - case 296: + case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1784 +//line sql.y:1790 { yyVAL.declareHandlerAction = DeclareHandlerAction_Undo } - case 297: + case 298: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1790 +//line sql.y:1796 { yyVAL.declareHandlerConditions = []DeclareHandlerCondition{yyDollar[1].declareHandlerCondition} } - case 298: + case 299: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1794 +//line sql.y:1800 { yyVAL.declareHandlerConditions = append(yyVAL.declareHandlerConditions, yyDollar[3].declareHandlerCondition) } - case 299: + case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1800 +//line sql.y:1806 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_MysqlErrorCode, MysqlErrorCode: NewIntVal(yyDollar[1].bytes)} } - case 300: + case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1804 +//line sql.y:1810 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlState, String: string(yyDollar[1].bytes)} } - case 301: + case 302: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1808 +//line sql.y:1814 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlWarning} } - case 302: + case 303: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1812 +//line sql.y:1818 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_NotFound} } - case 303: + case 304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1816 +//line sql.y:1822 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlException} } - case 304: + case 305: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1820 +//line sql.y:1826 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_ConditionName, String: string(yyDollar[1].bytes)} } - case 305: + case 306: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1826 +//line sql.y:1832 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes)} } - case 306: + case 307: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1830 +//line sql.y:1836 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } - case 307: + case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1834 +//line sql.y:1840 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes)} } - case 308: + case 309: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1838 +//line sql.y:1844 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } - case 309: + case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1844 +//line sql.y:1850 { yyVAL.bytes = yyDollar[2].bytes } - case 310: + case 311: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1848 +//line sql.y:1854 { yyVAL.bytes = yyDollar[3].bytes } - case 311: + case 312: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1854 +//line sql.y:1860 { yyVAL.signalInfos = []SignalInfo{yyDollar[1].signalInfo} } - case 312: + case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1858 +//line sql.y:1864 { yyVAL.signalInfos = append(yyVAL.signalInfos, yyDollar[3].signalInfo) } - case 313: + case 314: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1864 +//line sql.y:1870 { yyVAL.signalInfo = SignalInfo{ConditionItemName: yyDollar[1].signalConditionItemName, Value: yyDollar[3].expr.(*SQLVal)} } - case 314: + case 315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1870 +//line sql.y:1876 { yyVAL.signalConditionItemName = SignalConditionItemName_ClassOrigin } - case 315: + case 316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1874 +//line sql.y:1880 { yyVAL.signalConditionItemName = SignalConditionItemName_SubclassOrigin } - case 316: + case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1878 +//line sql.y:1884 { yyVAL.signalConditionItemName = SignalConditionItemName_MessageText } - case 317: + case 318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1882 +//line sql.y:1888 { yyVAL.signalConditionItemName = SignalConditionItemName_MysqlErrno } - case 318: + case 319: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1886 +//line sql.y:1892 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintCatalog } - case 319: + case 320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1890 +//line sql.y:1896 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintSchema } - case 320: + case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1894 +//line sql.y:1900 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintName } - case 321: + case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1898 +//line sql.y:1904 { yyVAL.signalConditionItemName = SignalConditionItemName_CatalogName } - case 322: + case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1902 +//line sql.y:1908 { yyVAL.signalConditionItemName = SignalConditionItemName_SchemaName } - case 323: + case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1906 +//line sql.y:1912 { yyVAL.signalConditionItemName = SignalConditionItemName_TableName } - case 324: + case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1910 +//line sql.y:1916 { yyVAL.signalConditionItemName = SignalConditionItemName_ColumnName } - case 325: + case 326: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1914 +//line sql.y:1920 { yyVAL.signalConditionItemName = SignalConditionItemName_CursorName } - case 326: + case 327: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1920 +//line sql.y:1926 { yyVAL.statement = &Resignal{} } - case 327: + case 328: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1924 +//line sql.y:1930 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes)}} } - case 328: + case 329: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1928 +//line sql.y:1934 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } - case 329: + case 330: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1932 +//line sql.y:1938 { yyVAL.statement = &Resignal{Signal{Info: yyDollar[3].signalInfos}} } - case 330: + case 331: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1936 +//line sql.y:1942 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes)}} } - case 331: + case 332: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1940 +//line sql.y:1946 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } - case 332: + case 333: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1946 +//line sql.y:1952 { yyVAL.statement = &Call{FuncName: string(yyDollar[2].bytes), Params: yyDollar[3].exprs} } - case 333: + case 334: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1951 +//line sql.y:1957 { yyVAL.exprs = nil } - case 334: + case 335: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1955 +//line sql.y:1961 { yyVAL.exprs = nil } - case 335: + case 336: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1959 +//line sql.y:1965 { yyVAL.exprs = yyDollar[2].exprs } - case 336: + case 337: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1965 +//line sql.y:1971 { yyVAL.statements = Statements{yyDollar[1].statement} } - case 337: + case 338: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1969 +//line sql.y:1975 { yyVAL.statements = append(yyVAL.statements, yyDollar[3].statement) } - case 338: + case 339: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1975 +//line sql.y:1981 { yyVAL.statement = yyDollar[1].selStmt } - case 368: + case 369: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2010 +//line sql.y:2016 { var ne bool if yyDollar[4].byt != 0 { @@ -8069,69 +8118,69 @@ yydefault: yyVAL.ddl = &DDL{Action: CreateStr, Table: yyDollar[5].tableName, IfNotExists: ne, Temporary: neTemp} } - case 369: + case 370: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2026 +//line sql.y:2032 { yyVAL.TableSpec = yyDollar[2].TableSpec yyVAL.TableSpec.Options = yyDollar[4].str } - case 370: + case 371: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2033 +//line sql.y:2039 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) } - case 371: + case 372: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2038 +//line sql.y:2044 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddConstraint(yyDollar[1].constraintDefinition) } - case 372: + case 373: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2043 +//line sql.y:2049 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) yyVAL.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) } - case 373: + case 374: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2049 +//line sql.y:2055 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) } - case 374: + case 375: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2053 +//line sql.y:2059 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) yyVAL.TableSpec.AddConstraint(yyDollar[4].constraintDefinition) } - case 375: + case 376: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2058 +//line sql.y:2064 { yyVAL.TableSpec.AddIndex(yyDollar[3].indexDefinition) } - case 376: + case 377: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2062 +//line sql.y:2068 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } - case 377: + case 378: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2066 +//line sql.y:2072 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } - case 378: + case 379: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2072 +//line sql.y:2078 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8139,9 +8188,9 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: NewColIdent(string(yyDollar[1].bytes)), Type: yyDollar[2].columnType} } - case 379: + case 380: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2080 +//line sql.y:2086 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8149,9 +8198,9 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: NewColIdent(string(yyDollar[1].bytes)), Type: yyDollar[2].columnType} } - case 380: + case 381: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2090 +//line sql.y:2096 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8159,15 +8208,15 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType} } - case 381: + case 382: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2099 +//line sql.y:2105 { yyVAL.columnType = ColumnType{} } - case 382: + case 383: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2103 +//line sql.y:2109 { opt := ColumnType{Null: BoolVal(true), NotNull: BoolVal(false), sawnull: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8176,9 +8225,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 383: + case 384: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2112 +//line sql.y:2118 { opt := ColumnType{Null: BoolVal(false), NotNull: BoolVal(true), sawnull: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8187,9 +8236,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 384: + case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2121 +//line sql.y:2127 { opt := ColumnType{Default: yyDollar[2].optVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8198,9 +8247,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 385: + case 386: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2130 +//line sql.y:2136 { opt := ColumnType{OnUpdate: yyDollar[2].optVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8209,9 +8258,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 386: + case 387: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2139 +//line sql.y:2145 { opt := ColumnType{Autoincrement: yyDollar[2].boolVal, sawai: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8220,9 +8269,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 387: + case 388: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2148 +//line sql.y:2154 { opt := ColumnType{KeyOpt: yyDollar[2].colKeyOpt} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8231,9 +8280,9 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 388: + case 389: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2157 +//line sql.y:2163 { opt := ColumnType{Comment: yyDollar[2].sqlVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8242,94 +8291,86 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 389: + case 390: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2168 +//line sql.y:2174 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].boolVal yyVAL.columnType.Zerofill = yyDollar[3].boolVal } - case 393: + case 394: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2179 +//line sql.y:2185 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].sqlVal } - case 394: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2184 - { - yyVAL.columnType = yyDollar[1].columnType - } case 395: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2190 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + yyVAL.columnType = yyDollar[1].columnType } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2194 +//line sql.y:2196 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 397: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2198 +//line sql.y:2200 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 398: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2202 +//line sql.y:2204 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 399: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2206 +//line sql.y:2208 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 400: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2210 +//line sql.y:2212 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 401: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2214 +//line sql.y:2216 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 402: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2218 +//line sql.y:2220 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 403: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2222 +//line sql.y:2224 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 404: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2226 +//line sql.y:2228 { - yyVAL.columnType = ColumnType{Type: "bigint", Unsigned: true, NotNull: true, Autoincrement: true, KeyOpt: colKeyUnique} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 405: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2232 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} - yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length - yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale + yyVAL.columnType = ColumnType{Type: "bigint", Unsigned: true, NotNull: true, Autoincrement: true, KeyOpt: colKeyUnique} } case 406: yyDollar = yyS[yypt-2 : yypt+1] @@ -8340,20 +8381,20 @@ yydefault: yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } case 407: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2244 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} - yyVAL.columnType.Length = yyDollar[3].LengthScaleOption.Length - yyVAL.columnType.Scale = yyDollar[3].LengthScaleOption.Scale + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length + yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } case 408: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2250 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} - yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length - yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} + yyVAL.columnType.Length = yyDollar[3].LengthScaleOption.Length + yyVAL.columnType.Scale = yyDollar[3].LengthScaleOption.Scale } case 409: yyDollar = yyS[yypt-2 : yypt+1] @@ -8388,492 +8429,500 @@ yydefault: yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } case 413: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2282 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2280 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length + yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } case 414: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2286 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2288 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 415: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2290 +//line sql.y:2292 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 416: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2294 +//line sql.y:2296 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 417: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2298 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2300 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 418: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2304 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 419: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2308 +//line sql.y:2310 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 420: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2312 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:2314 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 421: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2316 +//line sql.y:2318 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } case 422: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2322 + { + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} + } + case 423: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2320 +//line sql.y:2326 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 423: + case 424: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2324 +//line sql.y:2330 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 424: + case 425: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2328 +//line sql.y:2334 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal, Charset: yyDollar[4].str, Collate: yyDollar[5].str} } - case 425: + case 426: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2332 +//line sql.y:2338 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 426: + case 427: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2336 +//line sql.y:2342 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } - case 427: + case 428: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2340 +//line sql.y:2346 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Length: yyDollar[4].sqlVal} } - case 428: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2344 - { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} - } case 429: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2348 +//line sql.y:2350 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 430: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2352 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2354 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 431: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2356 +//line sql.y:2358 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 432: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2360 +//line sql.y:2362 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 433: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2364 +//line sql.y:2366 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 434: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2368 +//line sql.y:2370 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 435: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2372 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2374 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Charset: yyDollar[3].str, Collate: yyDollar[4].str} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 436: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2376 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:2378 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 437: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2380 +//line sql.y:2382 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 438: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2384 +//line sql.y:2386 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 439: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2388 +//line sql.y:2390 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 440: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2392 +//line sql.y:2394 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 441: - yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2396 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2398 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 442: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2401 +//line sql.y:2402 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } case 443: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2407 { - yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } case 444: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2411 +//line sql.y:2413 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 445: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2415 +//line sql.y:2417 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 446: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2419 +//line sql.y:2421 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 447: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2423 +//line sql.y:2425 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 448: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2427 +//line sql.y:2429 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 449: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2431 +//line sql.y:2433 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 450: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2435 +//line sql.y:2437 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 451: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2441 + { + yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} + } + case 452: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2447 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, string(yyDollar[1].bytes)) } - case 452: + case 453: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2446 +//line sql.y:2452 { yyVAL.strs = append(yyDollar[1].strs, string(yyDollar[3].bytes)) } - case 453: + case 454: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2451 +//line sql.y:2457 { yyVAL.sqlVal = nil } - case 454: + case 455: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2455 +//line sql.y:2461 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } - case 455: + case 456: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2460 +//line sql.y:2466 { yyVAL.LengthScaleOption = LengthScaleOption{} } - case 456: + case 457: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2464 +//line sql.y:2470 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), Scale: NewIntVal(yyDollar[4].bytes), } } - case 457: + case 458: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2472 +//line sql.y:2478 { yyVAL.LengthScaleOption = LengthScaleOption{} } - case 458: + case 459: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2476 +//line sql.y:2482 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), } } - case 459: + case 460: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2482 +//line sql.y:2488 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), Scale: NewIntVal(yyDollar[4].bytes), } } - case 460: + case 461: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2490 +//line sql.y:2496 { yyVAL.boolVal = BoolVal(false) } - case 461: + case 462: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2494 +//line sql.y:2500 { yyVAL.boolVal = BoolVal(true) } - case 462: + case 463: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2499 +//line sql.y:2505 { yyVAL.boolVal = BoolVal(false) } - case 463: + case 464: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2503 +//line sql.y:2509 { yyVAL.boolVal = BoolVal(true) } - case 464: + case 465: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2509 +//line sql.y:2515 { yyVAL.optVal = yyDollar[2].expr } - case 465: + case 466: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2515 +//line sql.y:2521 { yyVAL.optVal = yyDollar[3].expr } - case 466: + case 467: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2521 +//line sql.y:2527 { yyVAL.boolVal = BoolVal(true) } - case 467: + case 468: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2526 +//line sql.y:2532 { yyVAL.str = "" } - case 468: + case 469: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2530 +//line sql.y:2536 { yyVAL.str = string(yyDollar[3].bytes) } - case 469: + case 470: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2534 +//line sql.y:2540 { yyVAL.str = string(yyDollar[3].bytes) } - case 470: + case 471: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2539 +//line sql.y:2545 { yyVAL.str = "" } - case 471: + case 472: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2543 +//line sql.y:2549 { yyVAL.str = string(yyDollar[2].bytes) } - case 472: + case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2547 +//line sql.y:2553 { yyVAL.str = string(yyDollar[2].bytes) } - case 473: + case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2553 +//line sql.y:2559 { yyVAL.colKeyOpt = colKeyPrimary } - case 474: + case 475: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2557 +//line sql.y:2563 { yyVAL.colKeyOpt = colKey } - case 475: + case 476: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2561 +//line sql.y:2567 { yyVAL.colKeyOpt = colKeyUniqueKey } - case 476: + case 477: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2565 +//line sql.y:2571 { yyVAL.colKeyOpt = colKeyUnique } - case 477: + case 478: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2571 +//line sql.y:2577 { yyVAL.sqlVal = NewStrVal(yyDollar[2].bytes) } - case 478: + case 479: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2577 +//line sql.y:2583 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Options: yyDollar[5].indexOptions} } - case 479: + case 480: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2581 +//line sql.y:2587 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns} } - case 480: + case 481: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2586 +//line sql.y:2592 { yyVAL.indexOptions = nil } - case 481: + case 482: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2590 +//line sql.y:2596 { yyVAL.indexOptions = yyDollar[1].indexOptions } - case 482: + case 483: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2596 +//line sql.y:2602 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 483: + case 484: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2600 +//line sql.y:2606 { yyVAL.indexOptions = append(yyVAL.indexOptions, yyDollar[2].indexOption) } - case 484: + case 485: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2606 +//line sql.y:2612 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Using: string(yyDollar[2].bytes)} } - case 485: + case 486: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2610 +//line sql.y:2616 { // should not be string yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewIntVal(yyDollar[3].bytes)} } - case 486: + case 487: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2615 +//line sql.y:2621 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewStrVal(yyDollar[2].bytes)} } - case 487: + case 488: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2621 +//line sql.y:2627 { yyVAL.str = "" } - case 488: + case 489: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2625 +//line sql.y:2631 { yyVAL.str = string(yyDollar[1].bytes) } - case 489: + case 490: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2631 +//line sql.y:2637 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } - case 490: + case 491: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2635 +//line sql.y:2641 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].bytes), Name: NewColIdent(string(yyDollar[2].bytes)), Primary: true, Unique: true} } - case 491: + case 492: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2639 +//line sql.y:2645 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } - case 492: + case 493: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2643 +//line sql.y:2649 { var name string name = yyDollar[2].str @@ -8882,39 +8931,33 @@ yydefault: } yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].str), Name: NewColIdent(name), Unique: true} } - case 493: + case 494: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2652 +//line sql.y:2658 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Unique: true} } - case 494: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2656 - { - yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes), Name: NewColIdent(yyDollar[2].str), Unique: true} - } case 495: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2660 +//line sql.y:2662 { - yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} + yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes), Name: NewColIdent(yyDollar[2].str), Unique: true} } case 496: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2666 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } case 497: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2670 +//line sql.y:2672 { yyVAL.str = string(yyDollar[1].bytes) } case 498: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2674 +//line sql.y:2676 { yyVAL.str = string(yyDollar[1].bytes) } @@ -8926,171 +8969,171 @@ yydefault: } case 500: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2684 +//line sql.y:2686 { yyVAL.str = string(yyDollar[1].bytes) } case 501: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2690 + { + yyVAL.str = string(yyDollar[1].bytes) + } + case 502: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2689 +//line sql.y:2695 { yyVAL.str = "" } - case 502: + case 503: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2693 +//line sql.y:2699 { yyVAL.str = yyDollar[1].str } - case 503: + case 504: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2698 +//line sql.y:2704 { yyVAL.str = "" } - case 504: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2702 - { - yyVAL.str = string(yyDollar[1].bytes) - } case 505: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2708 { - yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn} + yyVAL.str = string(yyDollar[1].bytes) } case 506: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2712 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2714 { - yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn) + yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn} } case 507: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2718 { - yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} + yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn) } case 508: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2722 +//line sql.y:2724 { - yyVAL.indexColumn = &IndexColumn{Column: NewColIdent(string(yyDollar[1].bytes)), Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} + yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } case 509: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2728 { - yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} + yyVAL.indexColumn = &IndexColumn{Column: NewColIdent(string(yyDollar[1].bytes)), Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } case 510: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2732 +//line sql.y:2734 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } case 511: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2738 + { + yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} + } + case 512: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2736 +//line sql.y:2742 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 512: + case 513: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2742 +//line sql.y:2748 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns} } - case 513: + case 514: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2746 +//line sql.y:2752 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction} } - case 514: + case 515: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2750 +//line sql.y:2756 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnUpdate: yyDollar[11].ReferenceAction} } - case 515: + case 516: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2754 +//line sql.y:2760 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction, OnUpdate: yyDollar[12].ReferenceAction} } - case 516: + case 517: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2758 +//line sql.y:2764 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[12].ReferenceAction, OnUpdate: yyDollar[11].ReferenceAction} } - case 517: + case 518: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2764 +//line sql.y:2770 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 518: + case 519: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2768 +//line sql.y:2774 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 519: + case 520: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2772 +//line sql.y:2778 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[2].constraintInfo} } - case 520: + case 521: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2776 +//line sql.y:2782 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 521: + case 522: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2782 +//line sql.y:2788 { yyVAL.constraintInfo = &CheckConstraintDefinition{Expr: yyDollar[3].expr, Enforced: yyDollar[5].boolean} } - case 522: + case 523: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2788 +//line sql.y:2794 { yyVAL.str = string(yyDollar[1].bytes) } - case 523: + case 524: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2792 +//line sql.y:2798 { yyVAL.str = string(yyDollar[1].bytes) } - case 524: + case 525: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2797 +//line sql.y:2803 { yyVAL.str = "" } - case 525: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2801 - { - yyVAL.str = string(yyDollar[2].bytes) - } case 526: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2805 +//line sql.y:2807 { yyVAL.str = string(yyDollar[2].bytes) } case 527: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2811 { - yyVAL.ReferenceAction = yyDollar[3].ReferenceAction + yyVAL.str = string(yyDollar[2].bytes) } case 528: yyDollar = yyS[yypt-3 : yypt+1] @@ -9099,134 +9142,140 @@ yydefault: yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } case 529: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2823 { - yyVAL.ReferenceAction = Restrict + yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } case 530: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2827 +//line sql.y:2829 { - yyVAL.ReferenceAction = Cascade + yyVAL.ReferenceAction = Restrict } case 531: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2833 + { + yyVAL.ReferenceAction = Cascade + } + case 532: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2831 +//line sql.y:2837 { yyVAL.ReferenceAction = NoAction } - case 532: + case 533: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2835 +//line sql.y:2841 { yyVAL.ReferenceAction = SetDefault } - case 533: + case 534: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2839 +//line sql.y:2845 { yyVAL.ReferenceAction = SetNull } - case 534: + case 535: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2844 +//line sql.y:2850 { yyVAL.boolean = true } - case 535: + case 536: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2848 +//line sql.y:2854 { yyVAL.boolean = true } - case 536: + case 537: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2852 +//line sql.y:2858 { yyVAL.boolean = false } - case 537: + case 538: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2857 +//line sql.y:2863 { yyVAL.str = "" } - case 538: + case 539: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2861 +//line sql.y:2867 { yyVAL.str = " " + string(yyDollar[1].str) } - case 539: + case 540: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2865 +//line sql.y:2871 { yyVAL.str = string(yyDollar[1].str) + ", " + string(yyDollar[3].str) } - case 540: + case 541: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2873 +//line sql.y:2879 { yyVAL.str = yyDollar[1].str } - case 541: + case 542: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2877 +//line sql.y:2883 { yyVAL.str = yyDollar[1].str + " " + yyDollar[2].str } - case 542: + case 543: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2881 +//line sql.y:2887 { yyVAL.str = yyDollar[1].str + "=" + yyDollar[3].str } - case 543: + case 544: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2887 +//line sql.y:2893 { yyVAL.str = yyDollar[1].colIdent.String() } - case 544: + case 545: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2891 +//line sql.y:2897 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'" } - case 545: + case 546: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2895 +//line sql.y:2901 { yyVAL.str = string(yyDollar[1].bytes) } - case 546: + case 547: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2900 +//line sql.y:2906 { yyVAL.str = "" } - case 547: + case 548: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2904 +//line sql.y:2910 { yyVAL.str = string(yyDollar[2].bytes) } - case 548: + case 549: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2909 +//line sql.y:2915 { yyVAL.str = string("") } - case 549: + case 550: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2913 +//line sql.y:2919 { yyVAL.str = string(yyDollar[2].bytes) } - case 551: + case 552: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2922 +//line sql.y:2928 { for i := 0; i < len(yyDollar[5].ddls); i++ { if yyDollar[5].ddls[i].Action == RenameStr { @@ -9237,281 +9286,275 @@ yydefault: } yyVAL.statement = &MultiAlterDDL{Table: yyDollar[4].tableName, Statements: yyDollar[5].ddls} } - case 552: + case 553: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2935 +//line sql.y:2941 { yyVAL.ddls = []*DDL{yyDollar[1].ddl} } - case 553: + case 554: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2939 +//line sql.y:2945 { yyVAL.ddls = append(yyVAL.ddls, yyDollar[3].ddl) } - case 554: + case 555: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2945 +//line sql.y:2951 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) ddl.Column = yyDollar[4].columnDefinition.Name yyVAL.ddl = ddl } - case 555: + case 556: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2952 +//line sql.y:2958 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 556: + case 557: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2959 +//line sql.y:2965 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: DropStr, Column: NewColIdent(string(yyDollar[3].bytes))} } - case 557: + case 558: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2963 +//line sql.y:2969 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: RenameStr, Column: NewColIdent(string(yyDollar[3].bytes)), ToColumn: NewColIdent(string(yyDollar[5].bytes))} } - case 558: + case 559: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2967 +//line sql.y:2973 { // Change this to a rename statement yyVAL.ddl = &DDL{Action: RenameStr, ToTables: TableNames{yyDollar[3].tableName}} } - case 559: + case 560: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2972 +//line sql.y:2978 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[3].str), Using: yyDollar[4].colIdent, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions}} } - case 560: + case 561: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2976 +//line sql.y:2982 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[5].str), Type: yyDollar[3].str, Using: yyDollar[6].colIdent, Columns: yyDollar[8].indexColumns, Options: yyDollar[10].indexOptions}} } - case 561: + case 562: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2980 +//line sql.y:2986 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 562: + case 563: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2985 +//line sql.y:2991 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 563: + case 564: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2990 +//line sql.y:2996 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 564: + case 565: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2995 +//line sql.y:3001 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 565: + case 566: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3000 +//line sql.y:3006 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 566: + case 567: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3004 +//line sql.y:3010 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: RenameStr, FromName: yyDollar[3].colIdent, ToName: yyDollar[5].colIdent}} } - case 567: + case 568: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3008 +//line sql.y:3014 { ddl := &DDL{Action: AlterStr, ColumnAction: ModifyStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 568: + case 569: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3015 +//line sql.y:3021 { ddl := &DDL{Action: AlterStr, ColumnAction: ChangeStr, TableSpec: &TableSpec{}, Column: NewColIdent(string(yyDollar[3].bytes)), ColumnOrder: yyDollar[5].columnOrder} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) yyVAL.ddl = ddl } - case 569: + case 570: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3021 +//line sql.y:3027 { yyVAL.ddl = &DDL{Action: AlterStr, PartitionSpec: yyDollar[1].partSpec} } - case 570: + case 571: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3025 +//line sql.y:3031 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 571: + case 572: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3031 +//line sql.y:3037 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 572: + case 573: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3037 +//line sql.y:3043 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[4].bytes), Details: &ForeignKeyDefinition{}}}}} } - case 573: + case 574: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3042 +//line sql.y:3048 { yyVAL.ddl = &DDL{Action: AlterStr, AutoIncSpec: &AutoIncSpec{Value: yyDollar[3].expr}} } - case 574: + case 575: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3046 +//line sql.y:3052 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: SetStr, Column: yyDollar[3].colIdent, Value: yyDollar[6].expr}} } - case 575: + case 576: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3050 +//line sql.y:3056 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: DropStr, Column: yyDollar[3].colIdent}} } - case 576: + case 577: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3054 +//line sql.y:3060 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, Type: PrimaryStr}} } - case 577: + case 578: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3058 +//line sql.y:3064 { ddl := &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr}} ddl.IndexSpec = &IndexSpec{Action: CreateStr, Using: NewColIdent(""), ToName: NewColIdent(yyDollar[2].str), Type: PrimaryStr, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions} yyVAL.ddl = ddl } - case 578: + case 579: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3065 +//line sql.y:3071 { yyVAL.columnOrder = nil } - case 579: + case 580: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3069 +//line sql.y:3075 { yyVAL.columnOrder = &ColumnOrder{First: true} } - case 580: + case 581: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3073 +//line sql.y:3079 { yyVAL.columnOrder = &ColumnOrder{AfterColumn: NewColIdent(string(yyDollar[2].bytes))} } - case 581: + case 582: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3078 +//line sql.y:3084 { } - case 582: + case 583: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3080 +//line sql.y:3086 { } - case 583: + case 584: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3084 +//line sql.y:3090 { yyVAL.partSpec = &PartitionSpec{Action: ReorganizeStr, Name: yyDollar[3].colIdent, Definitions: yyDollar[6].partDefs} } - case 584: + case 585: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3090 +//line sql.y:3096 { yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef} } - case 585: + case 586: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3094 +//line sql.y:3100 { yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef) } - case 586: + case 587: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3100 +//line sql.y:3106 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr} } - case 587: + case 588: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3104 +//line sql.y:3110 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} } - case 588: + case 589: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3110 +//line sql.y:3116 { yyVAL.statement = yyDollar[3].ddl } - case 589: + case 590: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3114 +//line sql.y:3120 { yyVAL.statement = &RenameUser{Accounts: yyDollar[3].accountRenames} } - case 590: + case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3120 +//line sql.y:3126 { yyVAL.ddl = &DDL{Action: RenameStr, FromTables: TableNames{yyDollar[1].tableName}, ToTables: TableNames{yyDollar[3].tableName}} } - case 591: + case 592: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3124 +//line sql.y:3130 { yyVAL.ddl = yyDollar[1].ddl yyVAL.ddl.FromTables = append(yyVAL.ddl.FromTables, yyDollar[3].tableName) yyVAL.ddl.ToTables = append(yyVAL.ddl.ToTables, yyDollar[5].tableName) } - case 592: + case 593: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3132 +//line sql.y:3138 { yyVAL.accountRenames = []AccountRename{{From: yyDollar[1].accountName, To: yyDollar[3].accountName}} } - case 593: - yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3136 - { - yyVAL.accountRenames = append(yyDollar[1].accountRenames, AccountRename{From: yyDollar[3].accountName, To: yyDollar[5].accountName}) - } case 594: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:3142 { - yyVAL.statement = &FlushPrivileges{} + yyVAL.accountRenames = append(yyDollar[1].accountRenames, AccountRename{From: yyDollar[3].accountName, To: yyDollar[5].accountName}) } case 595: yyDollar = yyS[yypt-5 : yypt+1] diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 9e24a58e65a..84847336f08 100755 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -218,7 +218,7 @@ func yyOldPosition(yylex interface{}) int { %token JSON_EXTRACT_OP JSON_UNQUOTE_EXTRACT_OP // DDL Tokens -%token CREATE ALTER DROP RENAME ANALYZE ADD FLUSH MODIFY CHANGE +%token CREATE ALTER DROP RENAME ANALYZE ADD MODIFY CHANGE %token SCHEMA TABLE INDEX INDEXES VIEW TO IGNORE IF PRIMARY COLUMN SPATIAL FULLTEXT KEY_BLOCK_SIZE CHECK %token ACTION CASCADE CONSTRAINT FOREIGN NO REFERENCES RESTRICT %token FIRST AFTER @@ -239,7 +239,7 @@ func yyOldPosition(yylex interface{}) int { // Permissions Tokens %token USER IDENTIFIED ROLE REUSE GRANT GRANTS REVOKE NONE ATTRIBUTE RANDOM PASSWORD INITIAL AUTHENTICATION %token SSL X509 CIPHER ISSUER SUBJECT ACCOUNT EXPIRE NEVER DAY OPTION OPTIONAL EXCEPT ADMIN PRIVILEGES -%token MAX_QUERIES_PER_HOUR MAX_UPDATES_PER_HOUR MAX_CONNECTIONS_PER_HOUR MAX_USER_CONNECTIONS +%token MAX_QUERIES_PER_HOUR MAX_UPDATES_PER_HOUR MAX_CONNECTIONS_PER_HOUR MAX_USER_CONNECTIONS FLUSH %token FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME UNBOUNDED REQUIRE PROXY ROUTINE TABLESPACE CLIENT SLAVE %token EVENT EXECUTE FILE RELOAD REPLICATION SHUTDOWN SUPER USAGE @@ -1084,6 +1084,12 @@ grant_statement: $$ = &GrantProxy{On: $4, To: $6, WithGrantOption: $7} } +flush_statement: + FLUSH PRIVILEGES + { + $$ = &FlushPrivileges{} + } + revoke_statement: REVOKE ALL ON grant_object_type grant_privilege_level FROM account_name_list { @@ -3137,12 +3143,6 @@ rename_user_list: $$ = append($1, AccountRename{From: $3, To: $5}) } -flush_statement: - FLUSH PRIVILEGES - { - $$ = &FlushPrivileges{} - } - drop_statement: DROP TABLE exists_opt table_name_list drop_statement_action { From 4b2f7785691ebe341ae1021cf4a276bedaae4d7b Mon Sep 17 00:00:00 2001 From: jennifersp Date: Tue, 1 Mar 2022 16:27:19 -0800 Subject: [PATCH 3/6] add flush options --- go/vt/sqlparser/ast.go | 29 +- go/vt/sqlparser/parse_test.go | 9 + go/vt/sqlparser/sql.go | 12764 ++++++++++++++++---------------- go/vt/sqlparser/sql.y | 100 +- go/vt/sqlparser/token.go | 12 +- 5 files changed, 6625 insertions(+), 6289 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 78f325216f5..27aa4a1367a 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -353,7 +353,7 @@ func (*Use) iStatement() {} func (*Begin) iStatement() {} func (*Commit) iStatement() {} func (*Rollback) iStatement() {} -func (*FlushPrivileges) iStatement() {} +func (*Flush) iStatement() {} func (*OtherRead) iStatement() {} func (*OtherAdmin) iStatement() {} func (*BeginEndBlock) iStatement() {} @@ -2819,12 +2819,31 @@ func (node *Rollback) Format(buf *TrackedBuffer) { buf.WriteString("rollback") } -// FlushPrivileges represents a FlushPrivileges statement. -type FlushPrivileges struct{} +// FlushOption is used for trailing options for indexes: COMMENT, KEY_BLOCK_SIZE, USING +type FlushOption struct { + Name string +} + +// Flush represents a Flush statement. +type Flush struct{ + Type string + Options []*FlushOption +} // Format formats the node. -func (node *FlushPrivileges) Format(buf *TrackedBuffer) { - buf.WriteString("flush privileges") +func (node *Flush) Format(buf *TrackedBuffer) { + flushStr := "flush" + if node.Type != "" { + flushStr = fmt.Sprintf("%s %s", flushStr, strings.ToLower(node.Type)) + } + + var opts []string + for _, opt := range node.Options { + opts = append(opts, strings.ToLower(opt.Name)) + } + flushStr = fmt.Sprintf("%s %s", flushStr, strings.Join(opts, " ")) + + buf.WriteString(flushStr) } // OtherRead represents a DESCRIBE, or EXPLAIN statement. diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index a9a31ac2fef..e823be43f4b 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -2306,6 +2306,15 @@ var ( }, { input: "FLUSH PRIVILEGES", output: "flush privileges", + }, { + input: "FLUSH BINARY LOGS", + output: "flush binary logs", + }, { + input: "FLUSH USER_RESOURCES", + output: "flush user_resources", + }, { + input: "FLUSH LOCAL HOSTS", + output: "flush local hosts", }, { input: "SHOW GRANTS", output: "show grants", diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 2f4b924bf3d..ff628237ee9 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -108,6 +108,8 @@ type yySymType struct { indexInfo *IndexInfo indexOption *IndexOption indexOptions []*IndexOption + flushOption *FlushOption + flushOptions []*FlushOption indexColumn *IndexColumn indexColumns []*IndexColumn constraintDefinition *ConstraintDefinition @@ -423,214 +425,224 @@ const REPLICATION = 57602 const SHUTDOWN = 57603 const SUPER = 57604 const USAGE = 57605 -const BEGIN = 57606 -const START = 57607 -const TRANSACTION = 57608 -const COMMIT = 57609 -const ROLLBACK = 57610 -const SAVEPOINT = 57611 -const WORK = 57612 -const RELEASE = 57613 -const BIT = 57614 -const TINYINT = 57615 -const SMALLINT = 57616 -const MEDIUMINT = 57617 -const INT = 57618 -const INTEGER = 57619 -const BIGINT = 57620 -const INTNUM = 57621 -const SERIAL = 57622 -const REAL = 57623 -const DOUBLE = 57624 -const FLOAT_TYPE = 57625 -const DECIMAL = 57626 -const NUMERIC = 57627 -const DEC = 57628 -const FIXED = 57629 -const PRECISION = 57630 -const TIME = 57631 -const TIMESTAMP = 57632 -const DATETIME = 57633 -const YEAR = 57634 -const CHAR = 57635 -const VARCHAR = 57636 -const BOOL = 57637 -const CHARACTER = 57638 -const VARBINARY = 57639 -const NCHAR = 57640 -const NVARCHAR = 57641 -const NATIONAL = 57642 -const VARYING = 57643 -const TEXT = 57644 -const TINYTEXT = 57645 -const MEDIUMTEXT = 57646 -const LONGTEXT = 57647 -const LONG = 57648 -const BLOB = 57649 -const TINYBLOB = 57650 -const MEDIUMBLOB = 57651 -const LONGBLOB = 57652 -const JSON = 57653 -const ENUM = 57654 -const GEOMETRY = 57655 -const POINT = 57656 -const LINESTRING = 57657 -const POLYGON = 57658 -const GEOMETRYCOLLECTION = 57659 -const MULTIPOINT = 57660 -const MULTILINESTRING = 57661 -const MULTIPOLYGON = 57662 -const LOCAL = 57663 -const LOW_PRIORITY = 57664 -const NULLX = 57665 -const AUTO_INCREMENT = 57666 -const APPROXNUM = 57667 -const SIGNED = 57668 -const UNSIGNED = 57669 -const ZEROFILL = 57670 -const COLLATION = 57671 -const DATABASES = 57672 -const SCHEMAS = 57673 -const TABLES = 57674 -const FULL = 57675 -const PROCESSLIST = 57676 -const COLUMNS = 57677 -const FIELDS = 57678 -const ENGINES = 57679 -const PLUGINS = 57680 -const NAMES = 57681 -const CHARSET = 57682 -const GLOBAL = 57683 -const SESSION = 57684 -const ISOLATION = 57685 -const LEVEL = 57686 -const READ = 57687 -const WRITE = 57688 -const ONLY = 57689 -const REPEATABLE = 57690 -const COMMITTED = 57691 -const UNCOMMITTED = 57692 -const SERIALIZABLE = 57693 -const CURRENT_TIMESTAMP = 57694 -const DATABASE = 57695 -const CURRENT_DATE = 57696 -const CURRENT_USER = 57697 -const CURRENT_TIME = 57698 -const LOCALTIME = 57699 -const LOCALTIMESTAMP = 57700 -const UTC_DATE = 57701 -const UTC_TIME = 57702 -const UTC_TIMESTAMP = 57703 -const REPLACE = 57704 -const CONVERT = 57705 -const CAST = 57706 -const SUBSTR = 57707 -const SUBSTRING = 57708 -const TRIM = 57709 -const LEADING = 57710 -const TRAILING = 57711 -const BOTH = 57712 -const GROUP_CONCAT = 57713 -const SEPARATOR = 57714 -const TIMESTAMPADD = 57715 -const TIMESTAMPDIFF = 57716 -const OVER = 57717 -const WINDOW = 57718 -const GROUPING = 57719 -const CURRENT = 57720 -const AVG = 57721 -const BIT_AND = 57722 -const BIT_OR = 57723 -const BIT_XOR = 57724 -const COUNT = 57725 -const JSON_ARRAYAGG = 57726 -const JSON_OBJECTAGG = 57727 -const MAX = 57728 -const MIN = 57729 -const STDDEV_POP = 57730 -const STDDEV = 57731 -const STD = 57732 -const STDDEV_SAMP = 57733 -const SUM = 57734 -const VAR_POP = 57735 -const VARIANCE = 57736 -const VAR_SAMP = 57737 -const CUME_DIST = 57738 -const DENSE_RANK = 57739 -const FIRST_VALUE = 57740 -const LAG = 57741 -const LAST_VALUE = 57742 -const LEAD = 57743 -const NTH_VALUE = 57744 -const NTILE = 57745 -const ROW_NUMBER = 57746 -const PERCENT_RANK = 57747 -const RANK = 57748 -const MATCH = 57749 -const AGAINST = 57750 -const BOOLEAN = 57751 -const LANGUAGE = 57752 -const WITH = 57753 -const QUERY = 57754 -const EXPANSION = 57755 -const UNUSED = 57756 -const ARRAY = 57757 -const DESCRIPTION = 57758 -const EMPTY = 57759 -const JSON_TABLE = 57760 -const LATERAL = 57761 -const MEMBER = 57762 -const RECURSIVE = 57763 -const ACTIVE = 57764 -const BUCKETS = 57765 -const CLONE = 57766 -const COMPONENT = 57767 -const DEFINITION = 57768 -const ENFORCED = 57769 -const EXCLUDE = 57770 -const GEOMCOLLECTION = 57771 -const GET_MASTER_PUBLIC_KEY = 57772 -const HISTOGRAM = 57773 -const HISTORY = 57774 -const INACTIVE = 57775 -const INVISIBLE = 57776 -const LOCKED = 57777 -const MASTER_COMPRESSION_ALGORITHMS = 57778 -const MASTER_PUBLIC_KEY_PATH = 57779 -const MASTER_TLS_CIPHERSUITES = 57780 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57781 -const NESTED = 57782 -const NETWORK_NAMESPACE = 57783 -const NOWAIT = 57784 -const NULLS = 57785 -const OJ = 57786 -const OLD = 57787 -const ORDINALITY = 57788 -const ORGANIZATION = 57789 -const OTHERS = 57790 -const PATH = 57791 -const PERSIST = 57792 -const PERSIST_ONLY = 57793 -const PRIVILEGE_CHECKS_USER = 57794 -const PROCESS = 57795 -const REFERENCE = 57796 -const REQUIRE_ROW_FORMAT = 57797 -const RESOURCE = 57798 -const RESPECT = 57799 -const RESTART = 57800 -const RETAIN = 57801 -const SECONDARY = 57802 -const SECONDARY_ENGINE = 57803 -const SECONDARY_LOAD = 57804 -const SECONDARY_UNLOAD = 57805 -const SKIP = 57806 -const SRID = 57807 -const THREAD_PRIORITY = 57808 -const TIES = 57809 -const VCPU = 57810 -const VISIBLE = 57811 -const SYSTEM = 57812 -const INFILE = 57813 +const LOGS = 57606 +const ENGINE = 57607 +const ERROR = 57608 +const GENERAL = 57609 +const HOSTS = 57610 +const OPTIMIZER_COSTS = 57611 +const RELAY = 57612 +const SLOW = 57613 +const USER_RESOURCES = 57614 +const NO_WRITE_TO_BINLOG = 57615 +const BEGIN = 57616 +const START = 57617 +const TRANSACTION = 57618 +const COMMIT = 57619 +const ROLLBACK = 57620 +const SAVEPOINT = 57621 +const WORK = 57622 +const RELEASE = 57623 +const BIT = 57624 +const TINYINT = 57625 +const SMALLINT = 57626 +const MEDIUMINT = 57627 +const INT = 57628 +const INTEGER = 57629 +const BIGINT = 57630 +const INTNUM = 57631 +const SERIAL = 57632 +const REAL = 57633 +const DOUBLE = 57634 +const FLOAT_TYPE = 57635 +const DECIMAL = 57636 +const NUMERIC = 57637 +const DEC = 57638 +const FIXED = 57639 +const PRECISION = 57640 +const TIME = 57641 +const TIMESTAMP = 57642 +const DATETIME = 57643 +const YEAR = 57644 +const CHAR = 57645 +const VARCHAR = 57646 +const BOOL = 57647 +const CHARACTER = 57648 +const VARBINARY = 57649 +const NCHAR = 57650 +const NVARCHAR = 57651 +const NATIONAL = 57652 +const VARYING = 57653 +const TEXT = 57654 +const TINYTEXT = 57655 +const MEDIUMTEXT = 57656 +const LONGTEXT = 57657 +const LONG = 57658 +const BLOB = 57659 +const TINYBLOB = 57660 +const MEDIUMBLOB = 57661 +const LONGBLOB = 57662 +const JSON = 57663 +const ENUM = 57664 +const GEOMETRY = 57665 +const POINT = 57666 +const LINESTRING = 57667 +const POLYGON = 57668 +const GEOMETRYCOLLECTION = 57669 +const MULTIPOINT = 57670 +const MULTILINESTRING = 57671 +const MULTIPOLYGON = 57672 +const LOCAL = 57673 +const LOW_PRIORITY = 57674 +const NULLX = 57675 +const AUTO_INCREMENT = 57676 +const APPROXNUM = 57677 +const SIGNED = 57678 +const UNSIGNED = 57679 +const ZEROFILL = 57680 +const COLLATION = 57681 +const DATABASES = 57682 +const SCHEMAS = 57683 +const TABLES = 57684 +const FULL = 57685 +const PROCESSLIST = 57686 +const COLUMNS = 57687 +const FIELDS = 57688 +const ENGINES = 57689 +const PLUGINS = 57690 +const NAMES = 57691 +const CHARSET = 57692 +const GLOBAL = 57693 +const SESSION = 57694 +const ISOLATION = 57695 +const LEVEL = 57696 +const READ = 57697 +const WRITE = 57698 +const ONLY = 57699 +const REPEATABLE = 57700 +const COMMITTED = 57701 +const UNCOMMITTED = 57702 +const SERIALIZABLE = 57703 +const CURRENT_TIMESTAMP = 57704 +const DATABASE = 57705 +const CURRENT_DATE = 57706 +const CURRENT_USER = 57707 +const CURRENT_TIME = 57708 +const LOCALTIME = 57709 +const LOCALTIMESTAMP = 57710 +const UTC_DATE = 57711 +const UTC_TIME = 57712 +const UTC_TIMESTAMP = 57713 +const REPLACE = 57714 +const CONVERT = 57715 +const CAST = 57716 +const SUBSTR = 57717 +const SUBSTRING = 57718 +const TRIM = 57719 +const LEADING = 57720 +const TRAILING = 57721 +const BOTH = 57722 +const GROUP_CONCAT = 57723 +const SEPARATOR = 57724 +const TIMESTAMPADD = 57725 +const TIMESTAMPDIFF = 57726 +const OVER = 57727 +const WINDOW = 57728 +const GROUPING = 57729 +const CURRENT = 57730 +const AVG = 57731 +const BIT_AND = 57732 +const BIT_OR = 57733 +const BIT_XOR = 57734 +const COUNT = 57735 +const JSON_ARRAYAGG = 57736 +const JSON_OBJECTAGG = 57737 +const MAX = 57738 +const MIN = 57739 +const STDDEV_POP = 57740 +const STDDEV = 57741 +const STD = 57742 +const STDDEV_SAMP = 57743 +const SUM = 57744 +const VAR_POP = 57745 +const VARIANCE = 57746 +const VAR_SAMP = 57747 +const CUME_DIST = 57748 +const DENSE_RANK = 57749 +const FIRST_VALUE = 57750 +const LAG = 57751 +const LAST_VALUE = 57752 +const LEAD = 57753 +const NTH_VALUE = 57754 +const NTILE = 57755 +const ROW_NUMBER = 57756 +const PERCENT_RANK = 57757 +const RANK = 57758 +const MATCH = 57759 +const AGAINST = 57760 +const BOOLEAN = 57761 +const LANGUAGE = 57762 +const WITH = 57763 +const QUERY = 57764 +const EXPANSION = 57765 +const UNUSED = 57766 +const ARRAY = 57767 +const DESCRIPTION = 57768 +const EMPTY = 57769 +const JSON_TABLE = 57770 +const LATERAL = 57771 +const MEMBER = 57772 +const RECURSIVE = 57773 +const ACTIVE = 57774 +const BUCKETS = 57775 +const CLONE = 57776 +const COMPONENT = 57777 +const DEFINITION = 57778 +const ENFORCED = 57779 +const EXCLUDE = 57780 +const GEOMCOLLECTION = 57781 +const GET_MASTER_PUBLIC_KEY = 57782 +const HISTOGRAM = 57783 +const HISTORY = 57784 +const INACTIVE = 57785 +const INVISIBLE = 57786 +const LOCKED = 57787 +const MASTER_COMPRESSION_ALGORITHMS = 57788 +const MASTER_PUBLIC_KEY_PATH = 57789 +const MASTER_TLS_CIPHERSUITES = 57790 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57791 +const NESTED = 57792 +const NETWORK_NAMESPACE = 57793 +const NOWAIT = 57794 +const NULLS = 57795 +const OJ = 57796 +const OLD = 57797 +const ORDINALITY = 57798 +const ORGANIZATION = 57799 +const OTHERS = 57800 +const PATH = 57801 +const PERSIST = 57802 +const PERSIST_ONLY = 57803 +const PRIVILEGE_CHECKS_USER = 57804 +const PROCESS = 57805 +const REFERENCE = 57806 +const REQUIRE_ROW_FORMAT = 57807 +const RESOURCE = 57808 +const RESPECT = 57809 +const RESTART = 57810 +const RETAIN = 57811 +const SECONDARY = 57812 +const SECONDARY_ENGINE = 57813 +const SECONDARY_LOAD = 57814 +const SECONDARY_UNLOAD = 57815 +const SKIP = 57816 +const SRID = 57817 +const THREAD_PRIORITY = 57818 +const TIES = 57819 +const VCPU = 57820 +const VISIBLE = 57821 +const SYSTEM = 57822 +const INFILE = 57823 var yyToknames = [...]string{ "$end", @@ -914,6 +926,16 @@ var yyToknames = [...]string{ "SHUTDOWN", "SUPER", "USAGE", + "LOGS", + "ENGINE", + "ERROR", + "GENERAL", + "HOSTS", + "OPTIMIZER_COSTS", + "RELAY", + "SLOW", + "USER_RESOURCES", + "NO_WRITE_TO_BINLOG", "BEGIN", "START", "TRANSACTION", @@ -1138,3446 +1160,3512 @@ var yyExca = [...]int{ -2, 0, -1, 35, 5, 50, - -2, 1020, + -2, 1038, -1, 43, - 147, 1084, - 148, 1102, - -2, 232, + 147, 1102, + 148, 1120, + -2, 231, -1, 49, - 186, 655, - 187, 655, - -2, 645, - -1, 503, - 135, 1112, - -2, 1106, - -1, 504, - 135, 1113, - -2, 1107, - -1, 608, - 98, 1377, - 135, 1377, - -2, 1068, - -1, 609, - 98, 1491, - 135, 1491, - -2, 1069, - -1, 614, - 98, 1400, - 135, 1400, - -2, 1070, - -1, 615, - 98, 1446, - 135, 1446, - -2, 1071, - -1, 616, - 98, 1447, - 135, 1447, - -2, 1072, - -1, 617, - 98, 1330, - 135, 1330, - -2, 1076, + 186, 673, + 187, 673, + -2, 663, + -1, 514, + 135, 1130, + -2, 1124, + -1, 515, + 135, 1131, + -2, 1125, -1, 619, + 98, 1399, + 135, 1399, + -2, 1086, + -1, 620, + 98, 1516, + 135, 1516, + -2, 1087, + -1, 625, 98, 1423, 135, 1423, - -2, 1078, - -1, 1109, - 1, 752, - 5, 752, - 12, 752, - 13, 752, - 14, 752, - 15, 752, - 17, 752, - 19, 752, - 30, 752, - 31, 752, - 56, 752, - 57, 752, - 58, 752, - 59, 752, - 60, 752, - 62, 752, - 63, 752, - 66, 752, - 67, 752, - 69, 752, - 70, 752, - 394, 752, - 490, 752, - -2, 782, - -1, 1113, + -2, 1088, + -1, 626, + 98, 1470, + 135, 1470, + -2, 1089, + -1, 627, + 98, 1471, + 135, 1471, + -2, 1090, + -1, 628, + 98, 1349, + 135, 1349, + -2, 1094, + -1, 630, + 98, 1447, + 135, 1447, + -2, 1096, + -1, 1135, + 1, 770, + 5, 770, + 12, 770, + 13, 770, + 14, 770, + 15, 770, + 17, 770, + 19, 770, + 30, 770, + 31, 770, + 56, 770, + 57, 770, + 58, 770, + 59, 770, + 60, 770, + 62, 770, + 63, 770, + 66, 770, + 67, 770, + 69, 770, + 70, 770, + 404, 770, + 500, 770, + -2, 800, + -1, 1139, 67, 67, 69, 67, -2, 71, - -1, 1352, - 135, 1115, - -2, 1111, - -1, 1517, - 44, 504, - -2, 1342, - -1, 1521, - 68, 504, - -2, 1292, - -1, 1524, - 68, 500, - 72, 500, - -2, 1214, - -1, 1525, - 68, 501, - 72, 501, - -2, 1224, - -1, 1640, - 44, 547, - 154, 549, - 156, 547, - 157, 547, - -2, 582, - -1, 1710, + -1, 1384, + 135, 1133, + -2, 1129, + -1, 1549, + 44, 522, + -2, 1361, + -1, 1553, + 68, 522, + -2, 1312, + -1, 1556, + 68, 518, + 72, 518, + -2, 1232, + -1, 1557, + 68, 519, + 72, 519, + -2, 1242, + -1, 1672, + 44, 565, + 154, 567, + 156, 565, + 157, 565, + -2, 600, + -1, 1742, 5, 51, - -2, 848, - -1, 2009, - 69, 1268, - 70, 1268, - 135, 1268, - -2, 686, - -1, 2032, - 1, 803, - 5, 803, - 12, 803, - 13, 803, - 14, 803, - 15, 803, - 17, 803, - 19, 803, - 30, 803, - 31, 803, - 56, 803, - 57, 803, - 58, 803, - 59, 803, - 60, 803, - 62, 803, - 63, 803, - 66, 803, - 67, 803, - 69, 803, - 70, 803, - 394, 803, - 490, 803, - -2, 782, - -1, 2133, - 154, 550, - -2, 548, - -1, 2194, + -2, 866, + -1, 2041, + 69, 1287, + 70, 1287, + 135, 1287, + -2, 704, + -1, 2064, + 1, 821, + 5, 821, + 12, 821, + 13, 821, + 14, 821, + 15, 821, + 17, 821, + 19, 821, + 30, 821, + 31, 821, + 56, 821, + 57, 821, + 58, 821, + 59, 821, + 60, 821, + 62, 821, + 63, 821, + 66, 821, + 67, 821, + 69, 821, + 70, 821, + 404, 821, + 500, 821, + -2, 800, + -1, 2165, + 154, 568, + -2, 566, + -1, 2226, 5, 51, - -2, 1040, - -1, 2394, - 41, 1122, - -2, 1120, - -1, 2530, + -2, 1058, + -1, 2426, + 41, 1140, + -2, 1138, + -1, 2562, 5, 51, - -2, 1043, + -2, 1061, } const yyPrivate = 57344 -const yyLast = 32769 +const yyLast = 33430 var yyAct = [...]int{ - 566, 80, 2725, 2675, 2699, 2547, 2689, 2579, 2533, 817, - 2414, 2512, 2690, 1569, 2677, 2546, 2572, 409, 1951, 2594, - 2447, 7, 2510, 2446, 6, 506, 2445, 5, 2448, 8, - 2517, 2045, 2577, 2341, 2301, 1144, 1778, 2394, 2026, 1749, - 1060, 1925, 1567, 495, 1934, 2396, 2259, 1330, 565, 2206, - 1234, 2253, 2094, 633, 1470, 2002, 2282, 1579, 1476, 1526, - 1497, 2237, 2046, 1474, 83, 2534, 504, 2127, 2221, 1518, - 488, 1859, 392, 395, 2118, 2003, 434, 434, 522, 1933, - 1750, 80, 452, 93, 849, 440, 1508, 1639, 1999, 1509, - 1663, 1799, 1507, 106, 509, 833, 2018, 2011, 1323, 1971, - 631, 1236, 1377, 1449, 1386, 1279, 1453, 511, 1605, 1903, - 1252, 1214, 1338, 1554, 127, 1558, 962, 127, 628, 1842, - 2222, 1105, 1124, 127, 1354, 1514, 1460, 610, 965, 1621, - 1441, 899, 878, 437, 437, 969, 1078, 1106, 627, 491, - 1109, 1123, 606, 607, 982, 451, 127, 602, 1284, 412, - 411, 599, 804, 501, 1115, 877, 85, 127, 1079, 2747, - 2743, 127, 636, 2733, 816, 127, 2715, 2713, 2694, 973, - 2670, 2602, 82, 1277, 449, 2079, 69, 2231, 404, 127, - 437, 2706, 636, 36, 2373, 629, 613, 36, 2588, 427, - 127, 421, 432, 415, 87, 88, 89, 90, 91, 2688, - 2371, 36, 2528, 36, 2658, 2386, 1592, 1870, 2426, 2563, - 2091, 1744, 2587, 1992, 422, 2374, 997, 996, 1006, 1007, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 1745, 2490, - 1008, 2513, 1685, 2444, 3, 36, 2186, 72, 39, 40, - 803, 1592, 2326, 2527, 1472, 81, 2041, 2042, 1620, 81, - 2238, 1494, 1495, 1125, 806, 1126, 809, 810, 2240, 2583, - 2040, 1787, 1283, 81, 1786, 81, 955, 1788, 1493, 581, - 623, 587, 589, 588, 585, 586, 584, 583, 582, 1319, - 1320, 1300, 2583, 927, 1233, 1281, 1282, 1280, 1542, 403, - 590, 591, 109, 2580, 406, 837, 838, 81, 2578, 840, - 402, 935, 852, 118, 114, 115, 1825, 116, 1528, 1944, - 853, 854, 1619, 896, 487, 1548, 2580, 1543, 2584, 1543, - 2173, 414, 413, 416, 2171, 72, 39, 40, 401, 448, - 386, 420, 839, 2243, 1865, 99, 931, 932, 442, 120, - 119, 2584, 1534, 1536, 1893, 1535, 2683, 41, 424, 2399, - 2604, 1530, 428, 1388, 1530, 2260, 2261, 2262, 2263, 2254, - 2117, 911, 1898, 1632, 1817, 2603, 431, 2257, 2101, 2310, - 1555, 2241, 2242, 2244, 2245, 2246, 2553, 859, 2494, 1822, - 1821, 2255, 2256, 2271, 2551, 2278, 1633, 1580, 1311, 80, - 80, 121, 2610, 122, 101, 1867, 2269, 2372, 98, 1264, - 862, 1818, 2703, 112, 111, 110, 2484, 2366, 2599, 867, - 2597, 2598, 869, 1574, 2365, 868, 1823, 2364, 1810, 2363, - 2362, 2360, 2361, 2442, 1811, 127, 1647, 1641, 1642, 848, - 1640, 1643, 1644, 2480, 2481, 2686, 942, 2591, 2592, 943, - 1573, 497, 2653, 2624, 2535, 951, 107, 2208, 860, 861, - 2440, 1770, 2739, 959, 1884, 1885, 108, 417, 418, 419, - 425, 1290, 429, 430, 433, 2492, 1648, 387, 850, 127, - 851, 853, 854, 2390, 2104, 1869, 2368, 1972, 911, 1143, - 846, 847, 103, 396, 104, 2092, 1285, 2672, 393, 1820, - 113, 2095, 2096, 2097, 2098, 2099, 845, 844, 1909, 934, - 808, 807, 2748, 1017, 2283, 2284, 1019, 1143, 2132, 2745, - 1142, 2486, 2095, 2096, 2097, 2098, 2099, 127, 1974, 1143, - 836, 1287, 2734, 1911, 1286, 397, 2716, 805, 117, 2427, - 2496, 2078, 819, 405, 911, 1030, 1031, 1032, 1033, 1034, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, - 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, - 1055, 1056, 1057, 910, 985, 1058, 2119, 1062, 1063, 1064, - 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - 2581, 1077, 1080, 1080, 1080, 1086, 1080, 1080, 1086, 1080, - 1086, 1095, 1096, 1097, 1098, 1099, 1100, 2239, 1110, 2666, - 948, 1626, 1832, 2581, 1283, 1533, 79, 2526, 1557, 73, - 79, 1543, 2552, 1018, 1265, 863, 918, 1444, 2387, 100, - 1871, 950, 866, 870, 79, 957, 79, 1281, 1282, 1646, - 944, 2485, 1868, 447, 2491, 394, 507, 2369, 1116, 394, - 109, 2729, 2389, 2103, 2681, 1860, 921, 2676, 1976, 389, - 2293, 2049, 1104, 1980, 423, 1975, 1143, 1973, 79, 2294, - 1911, 2679, 1978, 127, 127, 127, 1022, 1023, 1024, 1025, - 1026, 1027, 1028, 1029, 916, 1977, 394, 1819, 1892, 636, - 2342, 1861, 1479, 1481, 390, 1889, 907, 1873, 1137, 1872, - 1979, 1981, 1627, 1922, 2344, 1222, 1804, 73, 1804, 1220, - 917, 613, 913, 864, 1207, 1112, 613, 1777, 1804, 1776, - 1775, 801, 1887, 954, 811, 1804, 454, 358, 2158, 1081, - 1083, 1085, 1087, 1089, 1091, 1092, 1094, 1804, 2297, 2150, - 1589, 1203, 1720, 1891, 1128, 1588, 914, 915, 1717, 1129, - 1890, 1082, 1084, 1791, 1088, 1090, 1141, 1093, 1020, 1021, - 1114, 1783, 111, 110, 1807, 1119, 880, 881, 882, 883, - 884, 885, 886, 887, 888, 889, 890, 891, 906, 1680, - 1480, 2343, 2727, 1862, 1863, 2728, 1668, 2726, 2292, 1653, - 1333, 1138, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 998, 1136, 394, 1008, 1121, 2489, 1803, - 1059, 1803, 988, 829, 2678, 2680, 1909, 1917, 1909, 1498, - 1143, 1803, 1914, 1910, 1911, 1913, 1916, 1008, 1803, 2113, - 434, 1921, 2068, 998, 1489, 1918, 1008, 818, 1216, 1262, - 1803, 2625, 2626, 2622, 2623, 2523, 2522, 434, 2298, 1606, - 2511, 2308, 1928, 1454, 970, 1235, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 998, 989, 2376, 1008, 1020, 1021, 1253, - 1215, 1596, 1326, 1020, 1021, 842, 980, 979, 636, 1848, - 1001, 1002, 1003, 1004, 1005, 998, 437, 437, 1008, 981, - 1926, 2069, 1361, 1238, 981, 127, 980, 979, 127, 2377, - 2016, 1331, 1332, 437, 437, 2015, 127, 1359, 1360, 1358, - 1272, 1715, 835, 1714, 981, 127, 127, 127, 127, 1260, - 855, 980, 979, 980, 979, 979, 1134, 434, 2736, 2595, - 1061, 980, 979, 96, 1442, 437, 871, 812, 1239, 981, - 1994, 981, 981, 1076, 2732, 1275, 2719, 2700, 2718, 981, - 1248, 1249, 1250, 1251, 821, 822, 823, 824, 825, 826, - 827, 1309, 80, 980, 979, 1442, 1254, 1733, 1597, 1293, - 1724, 1256, 843, 1257, 1217, 2595, 2667, 2634, 95, 2633, - 1224, 981, 446, 437, 437, 437, 1209, 2656, 636, 1006, - 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 1242, - 1243, 1008, 980, 979, 980, 979, 834, 2270, 1315, 2669, - 2264, 2596, 2056, 976, 857, 2556, 94, 2548, 437, 2549, - 981, 1259, 981, 437, 437, 980, 979, 2531, 1716, 961, - 80, 127, 1996, 127, 1223, 2384, 636, 2740, 1267, 1268, - 2383, 2382, 1270, 981, 81, 1344, 1346, 1347, 2487, 2381, - 1355, 1345, 1352, 2375, 127, 1357, 1381, 1382, 1273, 1324, - 985, 966, 2230, 1288, 967, 2550, 1289, 1292, 1665, 1666, - 1667, 596, 597, 1062, 2229, 997, 996, 1006, 1007, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 998, 1335, 1351, 1008, - 1847, 2741, 980, 979, 2488, 1845, 1826, 454, 1316, 902, - 1350, 1310, 901, 1378, 1313, 1379, 636, 2646, 2645, 1356, - 981, 1336, 1321, 2607, 1337, 960, 1789, 2605, 1790, 875, - 2562, 1473, 2483, 2482, 2439, 1943, 1110, 2391, 2359, 2320, - 1110, 527, 526, 529, 530, 531, 532, 2267, 1348, 2266, - 528, 533, 874, 2265, 986, 2227, 2061, 1843, 1616, 1269, - 1240, 2632, 1395, 2631, 1353, 2493, 1399, 1362, 1363, 1364, - 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, - 1375, 1376, 636, 636, 1427, 1430, 2437, 2408, 1807, 127, - 1484, 2402, 1443, 2290, 1486, 1238, 2161, 127, 127, 2146, - 2142, 2134, 127, 127, 2105, 1317, 127, 127, 127, 1241, - 1352, 1291, 2089, 1469, 1478, 2088, 2087, 1878, 1877, 1610, - 1384, 1594, 1593, 1380, 1392, 1266, 636, 636, 1504, 1258, - 1263, 1232, 1231, 1401, 1402, 1230, 1229, 613, 1112, 1218, - 1482, 1212, 1211, 1112, 1412, 1433, 1502, 1112, 1416, 1210, - 629, 1314, 1208, 1586, 1445, 897, 831, 400, 1503, 398, - 2333, 2659, 961, 1203, 1439, 2217, 2652, 2401, 1061, 2569, - 961, 2217, 2567, 1059, 2217, 2565, 2217, 2441, 2353, 1515, - 941, 1522, 1086, 2333, 2433, 1491, 1490, 1202, 1487, 1496, - 2333, 2349, 1584, 1585, 127, 2333, 961, 2352, 1505, 1512, - 2333, 2332, 2217, 2216, 127, 2084, 127, 127, 437, 437, - 437, 2198, 961, 127, 1652, 961, 1420, 1779, 1612, 2152, - 1779, 2062, 1564, 1565, 2076, 2075, 2072, 2073, 84, 1556, - 2072, 2071, 907, 1560, 1561, 1562, 1563, 1483, 961, 1116, - 127, 127, 127, 1650, 2400, 1462, 1465, 1466, 1467, 1463, - 1117, 1464, 1468, 1341, 1342, 2019, 2020, 1678, 961, 1457, - 961, 1529, 1629, 1628, 1059, 127, 1779, 127, 1598, 1418, - 1613, 636, 1669, 1604, 1457, 636, 1117, 2153, 1418, 961, - 1140, 1139, 1678, 1618, 997, 996, 1006, 1007, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 998, 2000, 636, 1008, 2014, - 636, 1456, 2153, 1328, 1578, 2617, 1118, 1352, 1120, 946, - 945, 904, 2014, 905, 905, 1418, 2574, 2192, 1608, 1592, - 96, 2085, 2074, 2014, 1611, 2028, 1902, 1355, 1793, 1492, - 1617, 1678, 1118, 1738, 1116, 1737, 1061, 1271, 1624, 1591, - 1457, 1425, 1426, 1351, 1577, 1462, 1465, 1466, 1467, 1463, - 1112, 1464, 1468, 1329, 1327, 1503, 956, 1312, 408, 1278, - 1631, 1479, 1481, 1634, 1221, 1219, 624, 907, 1122, 1544, - 1545, 1546, 1547, 81, 1746, 1748, 1655, 1656, 1110, 1110, - 1110, 1110, 1110, 1649, 2589, 1657, 1356, 2566, 2027, 2407, - 2405, 1674, 2232, 1530, 1473, 2204, 1771, 1559, 2055, 2019, - 2020, 2710, 1555, 1670, 1110, 1797, 1636, 911, 1501, 1575, - 1550, 1549, 1204, 997, 996, 1006, 1007, 999, 1000, 1001, - 1002, 1003, 1004, 1005, 998, 894, 439, 1008, 81, 1568, - 1752, 1607, 2708, 1671, 1672, 1673, 2691, 2083, 2022, 2000, - 1708, 1781, 1849, 1782, 127, 127, 127, 127, 127, 1480, - 1226, 947, 908, 903, 1762, 2025, 127, 1774, 1780, 1763, - 127, 1760, 1654, 1664, 127, 1764, 1761, 1466, 1467, 2024, - 127, 1751, 1766, 1759, 1758, 492, 493, 2628, 1566, 2586, - 1773, 1931, 1339, 974, 975, 1112, 1112, 1112, 1112, 1112, - 80, 1732, 2616, 2195, 636, 1662, 1661, 2323, 2289, 1753, - 2220, 1112, 1756, 2141, 2140, 1809, 613, 2051, 1725, 1726, - 1727, 1112, 972, 454, 1794, 1765, 1754, 1755, 2060, 1757, - 2059, 1801, 2498, 1835, 2501, 1837, 1838, 1839, 1840, 2561, - 2560, 2395, 2606, 1806, 1808, 1784, 2393, 434, 1203, 1128, - 986, 1792, 2479, 2478, 399, 1883, 1881, 963, 1215, 2378, - 2379, 1796, 1876, 1836, 1135, 636, 892, 876, 2641, 964, - 873, 1802, 1805, 1875, 437, 872, 832, 2412, 2411, 564, - 2190, 80, 2299, 1393, 1394, 1331, 1332, 2618, 127, 437, - 1615, 2272, 1571, 1225, 1404, 1405, 1406, 1407, 2273, 2554, - 1844, 1846, 2397, 1852, 437, 974, 975, 1417, 1419, 1603, - 96, 1322, 1206, 970, 1424, 1660, 1952, 1747, 489, 1866, - 952, 953, 2640, 1659, 437, 2639, 636, 2638, 1880, 2356, - 858, 2609, 437, 1684, 1686, 2608, 2558, 1420, 2502, 2420, - 2416, 490, 1879, 84, 1696, 1697, 1698, 1699, 2415, 636, - 636, 1886, 2302, 1779, 1888, 127, 1854, 1855, 1856, 2712, - 2711, 86, 2122, 1899, 1352, 636, 1897, 1896, 1721, 1718, - 1635, 620, 1929, 1930, 1255, 632, 2005, 80, 454, 1901, - 977, 1912, 636, 1923, 1924, 2711, 2712, 1927, 1936, 1907, - 1882, 1904, 1915, 1920, 2430, 820, 1906, 2058, 1325, 624, - 1351, 2030, 1709, 1937, 443, 445, 2034, 2035, 2036, 1202, - 1938, 55, 1946, 1942, 2001, 1, 2013, 2458, 52, 2460, - 19, 2459, 18, 1625, 2004, 1993, 1734, 1295, 1752, 2461, - 20, 2462, 21, 1851, 2457, 15, 2456, 14, 2450, 10, - 2473, 34, 2252, 636, 2251, 636, 1983, 2039, 1982, 2029, - 1827, 1828, 2471, 33, 2470, 32, 2258, 1834, 2090, 1940, - 2469, 28, 2033, 2468, 27, 2093, 1324, 1841, 636, 1751, - 2467, 26, 1864, 2037, 2268, 2008, 2465, 23, 2464, 22, - 2466, 24, 1213, 2023, 2455, 13, 2452, 12, 636, 2367, - 636, 815, 636, 1576, 636, 2081, 2082, 898, 2050, 2031, - 2052, 1984, 1985, 2559, 1986, 1987, 2497, 434, 1988, 2499, - 1609, 1936, 2044, 2392, 1059, 2100, 2043, 2274, 2063, 2064, - 2236, 1997, 1998, 2235, 2053, 2067, 2086, 2054, 1858, 1564, - 1857, 1565, 2070, 2451, 11, 2449, 9, 893, 1276, 1905, - 1908, 1587, 1894, 1645, 2509, 1516, 127, 454, 1506, 626, - 1900, 92, 1595, 841, 2107, 366, 2032, 2102, 1513, 1815, - 2500, 895, 1814, 1824, 437, 1637, 1527, 1813, 1812, 127, - 437, 1651, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 998, 2495, 127, 1008, 437, 1816, 636, 437, - 1148, 1146, 1147, 437, 437, 1145, 437, 1150, 1149, 370, - 2151, 2057, 1130, 2541, 2160, 2108, 978, 102, 2154, 56, - 2006, 2291, 636, 1919, 97, 105, 127, 636, 372, 1016, - 2125, 2145, 2124, 2184, 636, 636, 2130, 1953, 1676, 2131, - 1956, 1957, 1958, 1679, 1658, 1961, 1785, 611, 1681, 1682, - 612, 1203, 604, 1687, 1688, 1689, 1690, 1691, 1692, 958, - 2521, 1695, 2571, 2590, 968, 2514, 1700, 1701, 1702, 1703, - 1731, 1705, 1706, 1707, 1075, 2109, 1440, 510, 1710, 1711, - 1712, 1713, 1769, 2307, 2516, 1343, 1450, 1719, 525, 524, - 1722, 1723, 523, 520, 521, 1728, 1729, 2582, 1602, 1334, - 1743, 1735, 990, 1736, 2077, 508, 1739, 1740, 1752, 1741, - 1742, 499, 1108, 1101, 1614, 1461, 1459, 127, 2199, 1458, - 1227, 600, 2021, 80, 2212, 2213, 2214, 1995, 1767, 1768, - 2191, 2210, 2169, 2156, 636, 2200, 2017, 1471, 1107, 70, - 856, 636, 636, 636, 388, 2223, 454, 2185, 2215, 1751, - 636, 2425, 38, 444, 454, 494, 2211, 25, 2065, 17, - 865, 16, 636, 2248, 2249, 2250, 2225, 1638, 813, 42, - 1794, 44, 1853, 2038, 1572, 2540, 2674, 2224, 879, 2698, - 2593, 31, 30, 2181, 2182, 2183, 29, 2463, 2472, 2454, - 127, 2453, 2661, 1110, 1800, 2660, 4, 2247, 949, 71, - 35, 622, 2, 0, 2285, 2286, 0, 0, 0, 0, - 0, 0, 0, 2287, 2112, 2110, 0, 2116, 0, 0, - 0, 2120, 2121, 0, 2123, 0, 0, 2276, 0, 437, - 0, 2277, 0, 2005, 2281, 2275, 2005, 2328, 2304, 2305, - 2288, 0, 2295, 2050, 2280, 0, 0, 2303, 0, 2030, - 0, 0, 0, 0, 2296, 0, 0, 636, 0, 127, - 0, 0, 0, 0, 0, 636, 0, 0, 0, 0, - 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, - 2300, 2004, 0, 0, 2004, 0, 0, 2355, 1936, 2357, - 0, 2325, 0, 0, 2331, 0, 620, 2334, 0, 0, - 1112, 620, 1131, 0, 2354, 636, 2346, 2347, 2324, 0, - 2330, 636, 0, 2335, 0, 0, 127, 0, 127, 2147, - 2345, 0, 2340, 0, 636, 0, 0, 2350, 497, 2351, - 0, 0, 1478, 0, 2336, 1941, 0, 0, 2358, 636, - 2413, 1949, 0, 0, 2370, 2380, 0, 0, 0, 0, - 0, 1959, 1960, 2348, 0, 0, 2233, 2385, 0, 0, - 0, 0, 1966, 2398, 0, 0, 1970, 2005, 2388, 80, - 2311, 2312, 2313, 2314, 0, 0, 0, 0, 2318, 0, - 2417, 0, 2321, 2322, 0, 2403, 2404, 0, 2418, 0, - 2187, 0, 0, 2410, 0, 0, 0, 0, 80, 1061, - 2226, 636, 2228, 2443, 2007, 2189, 0, 0, 0, 2201, - 2202, 0, 2419, 2203, 2436, 2004, 2205, 0, 0, 0, - 2406, 0, 2431, 0, 1061, 2438, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2435, 0, 0, 0, 0, - 636, 1110, 0, 0, 0, 0, 0, 2279, 0, 0, - 0, 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, - 2327, 0, 0, 0, 2048, 0, 0, 2505, 0, 2507, - 0, 0, 0, 0, 0, 0, 0, 0, 2503, 2506, - 0, 1205, 2519, 0, 0, 2504, 2309, 2536, 0, 0, - 0, 2524, 0, 2520, 437, 0, 0, 127, 0, 0, - 2529, 0, 636, 0, 636, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 1752, 0, 0, 0, 0, 0, - 0, 0, 0, 1531, 1532, 0, 1537, 1538, 1539, 1540, - 1541, 0, 0, 0, 0, 0, 0, 127, 1112, 0, - 0, 0, 0, 0, 1551, 1552, 1553, 0, 0, 0, - 0, 0, 0, 0, 0, 1751, 0, 0, 0, 0, - 2575, 0, 0, 0, 2555, 2557, 0, 0, 0, 0, - 2129, 2564, 0, 636, 0, 0, 0, 1800, 0, 0, - 2136, 2138, 0, 0, 0, 2155, 2585, 0, 0, 0, - 2129, 1296, 2432, 0, 0, 2508, 2545, 0, 2436, 0, - 0, 0, 0, 0, 2612, 0, 2614, 2600, 636, 0, - 636, 0, 0, 0, 0, 0, 2621, 2620, 0, 2165, - 0, 0, 2615, 0, 0, 0, 0, 80, 2613, 2611, - 2174, 2175, 0, 80, 2630, 2619, 2180, 0, 2644, 632, - 2627, 0, 2637, 2635, 0, 0, 0, 0, 0, 1952, - 434, 0, 2651, 2193, 2194, 0, 2196, 0, 2650, 2197, - 0, 0, 0, 636, 2654, 80, 0, 2655, 632, 2629, - 80, 0, 0, 0, 0, 0, 0, 454, 0, 2209, - 2668, 2665, 0, 2671, 2664, 0, 636, 2663, 497, 2662, - 0, 2685, 0, 2684, 2687, 0, 0, 80, 636, 0, - 80, 80, 0, 0, 2692, 80, 2644, 437, 0, 1383, - 2701, 0, 2693, 0, 636, 2695, 0, 2705, 0, 0, - 0, 2642, 0, 434, 636, 80, 0, 2709, 80, 0, - 2644, 2704, 2707, 2720, 0, 0, 2722, 0, 0, 0, - 0, 0, 0, 2717, 80, 2730, 80, 0, 0, 2644, - 80, 2644, 0, 0, 0, 0, 0, 620, 0, 0, - 0, 0, 0, 0, 80, 2735, 2179, 80, 0, 2644, - 0, 0, 0, 0, 80, 1446, 1447, 909, 80, 2644, - 437, 0, 2744, 2644, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2129, 0, 0, 0, 0, 0, 2515, - 2518, 0, 620, 0, 1061, 0, 0, 0, 0, 0, - 0, 0, 0, 2129, 0, 0, 632, 0, 0, 632, - 632, 0, 0, 0, 0, 2682, 0, 1947, 1948, 2315, - 2316, 2317, 0, 2319, 1954, 1955, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1962, 1963, 1964, 1965, - 0, 1967, 1968, 1969, 0, 0, 0, 0, 2537, 2538, - 2337, 2338, 2339, 997, 996, 1006, 1007, 999, 1000, 1001, - 1002, 1003, 1004, 1005, 998, 0, 454, 1008, 454, 0, - 0, 0, 0, 0, 2048, 0, 0, 0, 0, 2723, - 0, 0, 0, 0, 0, 2188, 0, 0, 0, 2048, - 992, 0, 995, 2673, 0, 1829, 1830, 1831, 1833, 1009, - 1010, 1011, 1012, 1013, 1014, 1015, 0, 993, 994, 991, - 0, 0, 0, 0, 971, 0, 0, 997, 996, 1006, - 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, - 1111, 1008, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 998, 0, 0, 1008, 0, 2518, 2421, - 2422, 2423, 2424, 0, 1623, 0, 0, 0, 1623, 2428, - 2429, 0, 125, 0, 0, 385, 0, 0, 0, 2636, - 0, 125, 0, 0, 0, 0, 0, 0, 124, 0, - 1623, 0, 0, 1623, 0, 0, 0, 391, 0, 0, - 0, 0, 0, 0, 453, 0, 0, 0, 0, 0, - 0, 0, 498, 632, 0, 603, 621, 0, 0, 125, - 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, - 0, 601, 0, 0, 0, 625, 0, 125, 0, 802, - 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, - 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 828, 0, 0, 0, 0, 0, - 0, 0, 2048, 2525, 2048, 0, 0, 0, 0, 0, - 2530, 0, 0, 0, 2721, 0, 0, 2157, 0, 0, - 0, 0, 0, 0, 0, 2159, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2162, 2163, 0, 1385, 1390, - 1391, 0, 2164, 0, 0, 1396, 1397, 1398, 2178, 1400, - 0, 0, 1403, 0, 0, 0, 0, 1408, 1409, 1410, - 1411, 0, 1413, 1414, 1415, 0, 620, 0, 2177, 0, - 1421, 1422, 1423, 0, 0, 0, 1429, 1432, 0, 1437, - 1438, 0, 0, 2176, 0, 0, 0, 2568, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2576, - 0, 620, 0, 0, 1448, 0, 1451, 1452, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, - 0, 0, 912, 919, 920, 922, 923, 924, 925, 926, - 0, 928, 929, 930, 2066, 933, 1991, 936, 937, 938, - 939, 940, 0, 0, 0, 997, 996, 1006, 1007, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 0, 1008, - 0, 0, 0, 2048, 0, 997, 996, 1006, 1007, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, 1850, 1008, - 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, - 1005, 998, 0, 0, 1008, 0, 36, 37, 72, 39, - 40, 0, 1990, 0, 0, 0, 0, 0, 0, 0, - 59, 0, 0, 125, 0, 0, 78, 0, 0, 0, - 41, 63, 64, 0, 0, 0, 0, 60, 1989, 830, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1895, - 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 998, 0, 50, 1008, 0, 125, 81, 0, - 0, 0, 632, 632, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 900, 2166, 2167, 0, 2168, 632, 0, - 2170, 1170, 2172, 0, 0, 0, 0, 0, 0, 0, - 632, 0, 0, 0, 0, 1950, 0, 0, 0, 0, - 0, 2737, 2738, 0, 0, 453, 0, 997, 996, 1006, - 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, 0, - 2601, 1008, 0, 0, 0, 0, 0, 0, 43, 74, - 46, 45, 48, 997, 996, 1006, 1007, 999, 1000, 1001, - 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, 2218, - 2219, 0, 0, 0, 620, 0, 632, 0, 2012, 49, + 577, 80, 2578, 2707, 2757, 2731, 2721, 2611, 2565, 2722, + 1983, 2544, 829, 2709, 2604, 2579, 2626, 417, 2549, 2446, + 2479, 7, 2478, 6, 1601, 2542, 2477, 5, 2480, 8, + 2238, 517, 2609, 2077, 2476, 3, 2333, 1170, 2426, 2058, + 2373, 1086, 1781, 1957, 1810, 1599, 1966, 2034, 644, 506, + 1831, 2291, 2314, 1541, 1508, 1502, 2428, 83, 1558, 2126, + 2285, 2269, 1362, 2566, 1506, 1611, 515, 1529, 2035, 2078, + 1965, 400, 403, 2253, 2150, 2159, 1891, 576, 533, 442, + 442, 80, 1550, 463, 1782, 448, 93, 1671, 1260, 1574, + 1540, 106, 499, 2031, 520, 861, 1695, 2043, 2050, 1539, + 1355, 1975, 1409, 2003, 1262, 1481, 1370, 1637, 1546, 1305, + 1278, 642, 1485, 1935, 127, 498, 1874, 127, 639, 1240, + 1132, 1586, 988, 127, 621, 1150, 1492, 1590, 1473, 1135, + 1386, 911, 1653, 445, 445, 1131, 845, 995, 1418, 890, + 991, 638, 502, 1149, 617, 618, 127, 1008, 613, 640, + 462, 962, 420, 512, 1310, 419, 2254, 127, 816, 85, + 610, 127, 647, 1141, 1104, 127, 2779, 2775, 2765, 889, + 2747, 2745, 2726, 2702, 1105, 2634, 82, 1303, 2405, 127, + 445, 2263, 647, 69, 2738, 460, 624, 522, 2270, 36, + 127, 1259, 36, 36, 2403, 2620, 2272, 87, 88, 89, + 90, 91, 828, 2720, 921, 2560, 2690, 1624, 2111, 2406, + 2458, 2595, 435, 1776, 429, 440, 423, 36, 1023, 1022, + 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, + 1777, 2418, 1034, 1420, 2358, 1902, 36, 430, 72, 39, + 40, 1624, 2123, 412, 2619, 2559, 2024, 2522, 2545, 1717, + 2218, 81, 815, 1819, 81, 81, 1818, 1652, 1504, 1820, + 818, 1525, 821, 822, 999, 2073, 2074, 1309, 118, 114, + 115, 2275, 116, 1526, 1527, 1351, 1352, 634, 592, 81, + 598, 600, 599, 596, 597, 595, 594, 593, 2072, 981, + 1307, 1308, 2615, 2615, 1151, 864, 1152, 1326, 81, 601, + 602, 947, 849, 850, 120, 119, 852, 939, 2610, 2273, + 2274, 2276, 2277, 2278, 865, 866, 411, 410, 1857, 1560, + 452, 508, 1306, 1651, 908, 1575, 2612, 2612, 2205, 2203, + 1562, 72, 39, 40, 109, 1566, 1568, 409, 1567, 851, + 1580, 963, 1575, 394, 422, 421, 424, 459, 1347, 1562, + 1346, 2616, 2616, 41, 428, 1345, 121, 1344, 122, 414, + 1343, 2342, 943, 944, 2286, 1897, 1849, 1925, 1587, 2431, + 2715, 432, 2289, 2149, 1930, 436, 2636, 99, 453, 1664, + 2635, 1854, 1853, 2133, 2585, 871, 2287, 2288, 2526, 439, + 2292, 2293, 2294, 2295, 2303, 2310, 972, 80, 80, 1665, + 1337, 2404, 2642, 1850, 1679, 1673, 1674, 2583, 1672, 1675, + 1676, 2127, 2128, 2129, 2130, 2131, 1290, 879, 1855, 881, + 1842, 1899, 2735, 880, 1612, 2301, 1843, 874, 2631, 2398, + 2516, 878, 882, 127, 112, 2397, 101, 2629, 2630, 2396, + 98, 2395, 2394, 2392, 1680, 2124, 111, 110, 2393, 923, + 2656, 2127, 2128, 2129, 2130, 2131, 977, 2512, 2513, 954, + 2400, 2567, 955, 2474, 985, 2623, 2624, 2240, 1802, 404, + 969, 862, 860, 863, 865, 866, 2718, 127, 872, 873, + 425, 426, 427, 433, 1316, 437, 438, 441, 107, 923, + 395, 1852, 968, 964, 965, 966, 967, 970, 108, 971, + 973, 2524, 1606, 117, 1901, 2713, 1916, 1917, 2708, 946, + 857, 405, 2704, 856, 1043, 2685, 2422, 1045, 2472, 2136, + 2771, 113, 2711, 1169, 103, 1169, 104, 1943, 127, 1605, + 1941, 858, 859, 820, 819, 2518, 1976, 848, 2315, 2316, + 401, 2459, 2164, 2780, 2777, 2271, 1056, 1057, 1058, 1059, + 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, + 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, + 1080, 1081, 1082, 1083, 2110, 1011, 1084, 2151, 1088, 1089, + 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, + 1100, 1864, 1103, 1106, 1106, 1106, 1112, 1106, 1106, 1112, + 1106, 1112, 1121, 1122, 1123, 1124, 1125, 1126, 413, 1136, + 1565, 1658, 1085, 1575, 974, 2698, 1589, 1678, 2004, 2558, + 73, 2401, 79, 2613, 2613, 79, 79, 924, 931, 932, + 934, 935, 936, 937, 938, 2584, 940, 941, 942, 976, + 945, 1291, 948, 949, 950, 951, 952, 983, 923, 1309, + 79, 922, 875, 956, 2419, 2517, 402, 933, 1903, 2006, + 402, 1900, 402, 1892, 1130, 2710, 2712, 1311, 397, 79, + 2523, 100, 1307, 1308, 127, 127, 127, 1048, 1049, 1050, + 1051, 1052, 1053, 1054, 1055, 2421, 2761, 431, 2135, 1851, + 647, 402, 1163, 1169, 2766, 2748, 1168, 1142, 817, 1893, + 2528, 2081, 1313, 398, 1044, 1312, 1169, 831, 458, 2326, + 1943, 1954, 624, 73, 1924, 109, 2325, 624, 892, 893, + 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, + 930, 1836, 1921, 1836, 2374, 996, 1905, 919, 1904, 1659, + 1248, 1246, 1154, 876, 1836, 1015, 1836, 1155, 2376, 1511, + 1513, 1233, 1809, 1229, 1808, 1807, 813, 1167, 1107, 1109, + 1111, 1113, 1115, 1117, 1118, 1120, 1836, 1919, 1108, 1110, + 1140, 1114, 1116, 980, 1119, 1145, 1023, 1022, 1032, 1033, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 928, 1621, + 1034, 1894, 1895, 1839, 1620, 1164, 1138, 823, 366, 2008, + 2190, 2329, 1046, 1047, 2012, 2182, 2007, 1923, 2005, 1922, + 1752, 1087, 1823, 2010, 929, 1815, 925, 2759, 1749, 918, + 2760, 2521, 2758, 1358, 1102, 2375, 2009, 111, 110, 1712, + 1700, 1685, 1365, 1638, 1835, 442, 1835, 1512, 1162, 1953, + 1242, 2011, 2013, 1950, 2324, 1147, 1014, 1835, 841, 1835, + 926, 927, 442, 1949, 1941, 2100, 1941, 1261, 1946, 1530, + 1169, 1945, 1948, 1942, 1943, 1024, 1034, 2145, 1034, 1835, + 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, + 647, 1521, 1034, 830, 1288, 2543, 2657, 2658, 445, 445, + 1264, 1027, 1028, 1029, 1030, 1031, 1024, 127, 2340, 1034, + 127, 2654, 2655, 2555, 2554, 445, 445, 2408, 127, 1958, + 1241, 2330, 1960, 1486, 2101, 1007, 1279, 127, 127, 127, + 127, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1024, 442, 2048, 1034, 1046, 1047, 445, 96, 2047, + 1298, 2409, 1160, 1046, 1047, 883, 1393, 1628, 1301, 824, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 2026, 1286, + 1034, 1391, 1392, 1390, 854, 1474, 1335, 1005, 847, 2764, + 1006, 1005, 867, 1282, 1474, 1283, 1765, 2768, 80, 2699, + 2221, 1265, 1243, 95, 1007, 445, 445, 445, 1007, 1235, + 647, 1250, 2688, 1274, 1275, 1276, 1277, 2302, 1476, 2772, + 833, 834, 835, 836, 837, 838, 839, 1268, 1269, 1319, + 2296, 2088, 1349, 1280, 518, 2751, 2732, 2750, 1002, 2588, + 445, 94, 1747, 1285, 1746, 445, 445, 1023, 1022, 1032, + 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 1356, + 81, 1034, 1006, 1005, 1629, 2678, 80, 127, 1341, 127, + 2580, 1389, 647, 2773, 1293, 1294, 992, 2563, 1296, 993, + 1007, 855, 846, 1384, 457, 96, 869, 2416, 1383, 2581, + 127, 1314, 1318, 1315, 1299, 2519, 1011, 2415, 1413, 1414, + 1085, 1267, 1006, 1005, 1006, 1005, 1006, 1005, 2627, 1088, + 2414, 2701, 2413, 2628, 465, 1387, 1006, 1005, 1006, 1005, + 1007, 1284, 1007, 2028, 1007, 2407, 1511, 1513, 1880, 1336, + 1317, 2262, 1339, 1342, 1007, 2582, 1007, 1348, 2261, 1382, + 1879, 2520, 647, 1452, 1877, 1006, 1005, 1320, 1748, 1858, + 1323, 1324, 1325, 1353, 1327, 1328, 914, 1505, 1329, 1410, + 1087, 1411, 1136, 1007, 1330, 1821, 1136, 1822, 1331, 1332, + 1340, 1333, 1334, 607, 608, 1363, 1364, 1380, 1023, 1022, + 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, + 1385, 1085, 1034, 1394, 1395, 1396, 1397, 1398, 1399, 1400, + 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 647, 647, + 1459, 1462, 1006, 1005, 1512, 127, 1264, 1516, 1475, 913, + 887, 1518, 1427, 127, 127, 1388, 1431, 2677, 127, 127, + 1007, 1384, 127, 127, 127, 2639, 1534, 1006, 1005, 2637, + 640, 1510, 1501, 886, 2627, 2594, 2666, 2664, 2665, 1697, + 1698, 1699, 647, 647, 1367, 1007, 1376, 1378, 1379, 1373, + 1374, 2515, 1377, 624, 538, 537, 540, 541, 542, 543, + 2514, 1465, 1514, 539, 544, 2471, 1536, 1249, 1368, 2423, + 1477, 1369, 1618, 2391, 2352, 2299, 2298, 1535, 2297, 2259, + 2093, 1875, 1648, 1295, 1266, 2663, 1576, 1577, 1578, 1579, + 1229, 2525, 2469, 2440, 1839, 1547, 2434, 2322, 1112, 2193, + 2178, 2174, 2166, 1523, 1522, 1519, 2137, 1528, 2121, 2120, + 127, 2119, 1910, 1909, 1642, 1626, 1625, 1537, 1544, 1412, + 127, 1292, 127, 127, 445, 445, 445, 1289, 1258, 127, + 1257, 1416, 1087, 1554, 1138, 1424, 1256, 1457, 1458, 1138, + 1644, 1255, 1244, 1138, 1433, 1434, 1616, 1617, 1238, 1596, + 1597, 1237, 1236, 1588, 1234, 1444, 127, 127, 127, 1448, + 909, 1592, 1593, 1594, 1595, 1682, 843, 408, 406, 1561, + 2365, 2691, 2249, 2684, 987, 1471, 2601, 987, 2249, 2599, + 2433, 127, 953, 127, 2385, 987, 2384, 647, 2249, 2597, + 2116, 647, 2249, 2473, 1701, 1494, 1497, 1498, 1499, 1495, + 1650, 1496, 1500, 2094, 1533, 2051, 2052, 2365, 2465, 2365, + 2381, 2365, 987, 647, 2365, 2364, 647, 2249, 2248, 2230, + 987, 1684, 987, 2432, 1384, 1630, 2184, 1811, 1811, 1383, + 1636, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, + 1030, 1031, 1024, 2108, 2107, 1034, 1649, 1643, 2104, 2105, + 2104, 2103, 1710, 987, 1489, 987, 1811, 1656, 1661, 1660, + 1450, 1645, 1640, 1450, 987, 1166, 1165, 1143, 84, 2032, + 1360, 1143, 2046, 919, 1598, 1610, 958, 2649, 1387, 1663, + 1535, 2185, 1666, 2046, 2185, 1489, 465, 1515, 957, 1142, + 1450, 917, 916, 1488, 1681, 917, 1778, 1780, 2606, 2224, + 1136, 1136, 1136, 1136, 1136, 1624, 2117, 986, 2106, 1689, + 1687, 1688, 1706, 2046, 2060, 1609, 1505, 1934, 1803, 1825, + 1524, 1359, 1710, 1144, 1710, 1146, 1136, 1144, 1770, 1142, + 1779, 1702, 1489, 1012, 919, 1769, 1494, 1497, 1498, 1499, + 1495, 1662, 1496, 1500, 1297, 1623, 1361, 1784, 982, 81, + 1452, 1338, 1138, 1304, 1247, 1703, 1704, 1705, 1245, 1148, + 2621, 2598, 2059, 635, 1740, 2439, 127, 127, 127, 127, + 127, 1813, 2437, 1814, 2264, 1806, 1562, 2236, 127, 1591, + 2087, 1812, 127, 2051, 2052, 416, 127, 1587, 1388, 1829, + 923, 1607, 127, 1783, 1582, 1798, 1581, 1230, 906, 1600, + 1639, 2742, 2740, 1805, 2723, 996, 2115, 2054, 2032, 1881, + 1252, 1764, 80, 959, 1838, 1840, 647, 920, 915, 1696, + 2057, 1786, 1787, 1668, 1789, 81, 2056, 1791, 624, 1794, + 1757, 1758, 1759, 1790, 1795, 1785, 1792, 1797, 1788, 1686, + 1826, 1793, 1796, 2660, 1498, 1499, 1883, 503, 504, 2618, + 1963, 1371, 1867, 447, 1869, 1870, 1871, 1872, 1154, 2648, + 1816, 2227, 442, 1859, 1860, 1694, 1228, 1915, 1693, 1824, + 1866, 1229, 2355, 1828, 2321, 1000, 1001, 647, 2252, 2173, + 1873, 2172, 1908, 1841, 2092, 2091, 445, 1138, 1138, 1138, + 1138, 1138, 1833, 80, 1741, 2083, 2530, 2533, 2593, 2592, + 127, 445, 2427, 1138, 998, 2638, 2425, 2511, 1241, 1876, + 2510, 407, 1913, 1138, 2410, 2411, 445, 989, 1766, 1834, + 1837, 1878, 1868, 1907, 1161, 904, 888, 1085, 1984, 990, + 885, 884, 844, 2673, 2444, 2443, 445, 2222, 647, 1898, + 1363, 1364, 2650, 2331, 445, 1647, 2304, 1603, 1961, 1962, + 1251, 2586, 2429, 2305, 1911, 1884, 1000, 1001, 1692, 1635, + 96, 647, 647, 1354, 1968, 1232, 1691, 127, 2672, 1918, + 1920, 1384, 978, 979, 2671, 2670, 1383, 647, 2388, 870, + 500, 1912, 2641, 2640, 2590, 1933, 2534, 2452, 2037, 80, + 2448, 1938, 501, 84, 647, 2447, 575, 1944, 2334, 1955, + 1956, 1939, 1914, 1959, 1811, 1886, 1887, 1888, 2744, 2743, + 86, 2154, 1931, 2062, 1929, 1928, 1753, 1969, 2066, 2067, + 2068, 1970, 1750, 2038, 1667, 1979, 1980, 1978, 1281, 2033, + 2025, 1003, 1986, 1987, 2743, 1784, 2045, 2744, 2462, 1936, + 1947, 1952, 1356, 2090, 1994, 1995, 1996, 1997, 1357, 1999, + 2000, 2001, 635, 454, 456, 647, 55, 647, 1, 1974, + 2014, 1926, 2015, 2490, 52, 2036, 1657, 2071, 1321, 1932, + 2065, 1972, 2492, 19, 2491, 18, 2493, 20, 2069, 2284, + 647, 1783, 2494, 21, 2489, 15, 2283, 1968, 631, 2040, + 2061, 2290, 643, 2488, 14, 2085, 2122, 2055, 2086, 2125, + 647, 1896, 647, 2300, 647, 1239, 647, 2482, 10, 2505, + 34, 2063, 832, 2016, 2017, 2399, 2018, 2019, 2113, 2114, + 2020, 827, 442, 2082, 1608, 2084, 910, 2132, 2076, 2503, + 33, 2502, 32, 2029, 2030, 2075, 2591, 2095, 2096, 2529, + 2118, 2501, 28, 2531, 2099, 2500, 27, 2499, 26, 2497, + 23, 2102, 1596, 2424, 1597, 2496, 22, 2306, 127, 2498, + 24, 2097, 2487, 13, 2484, 12, 2483, 11, 2064, 2481, + 9, 2268, 1716, 1718, 2267, 1890, 445, 2134, 1889, 905, + 1302, 127, 445, 1728, 1729, 1730, 1731, 1937, 1940, 1619, + 1677, 2541, 960, 961, 1548, 2220, 127, 2162, 445, 1538, + 647, 445, 637, 92, 2139, 445, 445, 465, 445, 2027, + 1627, 853, 374, 2089, 1545, 1847, 2532, 907, 2142, 1846, + 2183, 1856, 1559, 1845, 647, 1844, 2186, 2527, 127, 647, + 1848, 1174, 2157, 1172, 1012, 2216, 647, 647, 1173, 2163, + 2156, 2177, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, + 1029, 1030, 1031, 1024, 1171, 2070, 1034, 1176, 2140, 1175, + 1482, 378, 1156, 2573, 1229, 2192, 1004, 102, 56, 2323, + 1425, 1426, 1951, 450, 451, 97, 105, 2141, 380, 1042, + 1690, 1436, 1437, 1438, 1439, 2189, 1817, 622, 623, 615, + 984, 2553, 2603, 2191, 1449, 1451, 2622, 994, 2546, 1763, + 1101, 1456, 1472, 2194, 2195, 1784, 521, 2244, 2245, 2246, + 2196, 1801, 2339, 2231, 2548, 1375, 536, 535, 534, 127, + 531, 532, 2614, 2144, 1634, 80, 2148, 1366, 2255, 2242, + 2152, 2153, 1775, 2155, 1016, 2188, 647, 2223, 2109, 519, + 510, 2232, 1134, 647, 647, 647, 2201, 1127, 1646, 1493, + 1491, 1783, 647, 1490, 1253, 611, 2053, 2049, 1503, 2265, + 1133, 2243, 465, 70, 647, 868, 396, 2280, 2281, 2282, + 2217, 2457, 2247, 38, 455, 2257, 1826, 505, 25, 2256, + 17, 877, 16, 1670, 825, 2213, 2214, 2215, 42, 44, + 1885, 1604, 127, 1228, 2572, 1136, 2706, 891, 2730, 2625, + 31, 2179, 30, 2258, 2279, 2260, 29, 2495, 2317, 2318, + 508, 2504, 2486, 2485, 2693, 2692, 4, 975, 2319, 71, + 35, 633, 2, 0, 0, 0, 0, 0, 0, 2308, + 0, 445, 0, 2309, 0, 2037, 0, 2312, 2037, 2360, + 2327, 0, 2336, 2337, 2313, 0, 2332, 2320, 2307, 0, + 2335, 2062, 0, 0, 1968, 0, 0, 0, 2082, 647, + 0, 127, 0, 0, 2328, 0, 1985, 647, 0, 1988, + 1989, 1990, 2219, 2359, 1993, 0, 0, 2363, 0, 0, + 0, 1087, 0, 0, 0, 2357, 0, 1596, 0, 0, + 0, 2233, 2234, 0, 0, 2235, 0, 1641, 2237, 2341, + 2387, 0, 2389, 2356, 0, 0, 1087, 647, 2386, 0, + 0, 0, 2036, 647, 2380, 2036, 2367, 0, 127, 0, + 127, 0, 2372, 2378, 2379, 0, 647, 0, 2366, 2377, + 0, 465, 0, 0, 2362, 1510, 2382, 2368, 2383, 0, + 2390, 647, 2445, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2412, 0, 0, 2402, 2311, 0, 1669, 0, + 0, 0, 0, 0, 1683, 0, 2417, 0, 0, 2037, + 0, 80, 2343, 2344, 2345, 2346, 2430, 0, 2420, 0, + 2350, 2438, 1138, 0, 2353, 2354, 2435, 2436, 0, 0, + 2449, 2442, 0, 0, 0, 0, 2450, 0, 0, 0, + 80, 0, 0, 647, 0, 2464, 0, 2451, 0, 0, + 0, 0, 0, 0, 631, 2475, 2463, 0, 0, 631, + 1157, 1708, 0, 2468, 0, 0, 1711, 0, 0, 2470, + 0, 1713, 1714, 2467, 0, 0, 1719, 1720, 1721, 1722, + 1723, 1724, 647, 1136, 1727, 0, 2036, 0, 0, 1732, + 1733, 1734, 1735, 0, 1737, 1738, 1739, 0, 0, 0, + 0, 1742, 1743, 1744, 1745, 0, 0, 0, 0, 0, + 1751, 0, 0, 1754, 1755, 0, 0, 0, 1760, 1761, + 0, 2537, 0, 2539, 1767, 0, 1768, 0, 1137, 1771, + 1772, 0, 1773, 1774, 2538, 0, 2551, 0, 2536, 0, + 0, 0, 0, 0, 2556, 0, 445, 2552, 0, 127, + 2568, 1799, 1800, 0, 647, 2561, 647, 0, 0, 0, + 80, 1784, 0, 0, 0, 0, 465, 0, 2535, 0, + 0, 0, 0, 0, 465, 0, 124, 0, 0, 0, + 0, 0, 0, 0, 0, 399, 0, 1563, 1564, 127, + 1569, 1570, 1571, 1572, 1573, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1783, 1583, 1584, + 1585, 0, 2577, 0, 1832, 0, 0, 2587, 2589, 612, + 508, 2607, 0, 636, 0, 647, 0, 814, 0, 0, + 0, 2596, 0, 0, 0, 0, 0, 0, 2617, 0, + 0, 826, 0, 0, 0, 0, 0, 2540, 0, 0, + 1231, 0, 840, 0, 0, 0, 2644, 2468, 2646, 0, + 647, 2632, 647, 0, 0, 493, 0, 0, 2653, 2652, + 1138, 0, 0, 0, 0, 2651, 0, 2647, 0, 80, + 0, 2669, 2645, 2643, 0, 80, 2165, 0, 0, 0, + 0, 0, 2667, 0, 0, 497, 0, 2662, 2659, 0, + 2676, 1984, 2661, 0, 0, 442, 0, 0, 0, 0, + 2682, 2687, 0, 2683, 2686, 647, 0, 80, 0, 2700, + 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, + 0, 2547, 2550, 2697, 2703, 2696, 1087, 2674, 647, 2695, + 0, 2694, 0, 2717, 0, 2716, 2719, 1756, 0, 80, + 647, 2725, 80, 80, 2727, 0, 2705, 80, 1973, 445, + 1322, 0, 0, 0, 1981, 0, 647, 2724, 2676, 2737, + 0, 0, 2733, 1169, 1991, 1992, 647, 80, 442, 2741, + 80, 2739, 2749, 2736, 0, 1998, 2752, 0, 2754, 2002, + 2569, 2570, 2676, 0, 0, 0, 80, 0, 80, 2762, + 487, 2211, 80, 0, 2767, 0, 987, 0, 0, 0, + 0, 2676, 0, 2676, 0, 0, 80, 0, 0, 80, + 0, 2776, 643, 0, 0, 0, 80, 2039, 0, 0, + 80, 2676, 445, 0, 0, 0, 0, 0, 0, 0, + 0, 2676, 0, 0, 0, 2676, 0, 0, 0, 0, + 0, 643, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, + 1029, 1030, 1031, 1024, 0, 0, 1034, 0, 0, 997, + 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2550, 0, 1415, 0, 2080, 842, 0, 0, 1023, 1022, + 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, + 0, 2668, 1034, 0, 0, 0, 0, 125, 0, 0, + 393, 0, 0, 0, 0, 0, 125, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 912, + 631, 2755, 0, 0, 0, 0, 0, 0, 0, 464, + 0, 0, 0, 0, 0, 0, 0, 509, 1478, 1479, + 614, 632, 0, 0, 125, 0, 0, 0, 125, 0, + 0, 0, 0, 2210, 0, 1861, 1862, 1863, 1865, 0, + 0, 0, 125, 0, 0, 631, 0, 0, 0, 0, + 0, 0, 0, 125, 0, 0, 0, 0, 0, 643, + 2161, 0, 643, 643, 0, 0, 0, 1832, 0, 0, + 2168, 2170, 0, 0, 0, 0, 2753, 0, 2187, 0, + 2161, 467, 468, 469, 470, 471, 475, 476, 480, 481, + 490, 489, 488, 491, 492, 495, 494, 496, 472, 473, + 474, 477, 478, 479, 482, 483, 486, 484, 485, 0, + 0, 0, 2197, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2206, 2207, 0, 0, 0, 0, 2212, + 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1024, 0, 0, 1034, 0, 2225, 2226, 0, 2228, + 0, 1018, 2229, 1021, 0, 0, 0, 0, 0, 0, + 1035, 1036, 1037, 1038, 1039, 1040, 1041, 465, 1019, 1020, + 1017, 2209, 2241, 0, 0, 0, 0, 0, 1023, 1022, + 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, + 0, 0, 1034, 0, 0, 0, 1129, 0, 1139, 0, + 0, 0, 0, 0, 0, 0, 0, 1655, 2208, 0, + 0, 1655, 0, 0, 0, 0, 0, 0, 1417, 1422, + 1423, 0, 0, 0, 0, 1428, 1429, 1430, 0, 1432, + 0, 0, 1435, 1655, 0, 0, 1655, 1440, 1441, 1442, + 1443, 0, 1445, 1446, 1447, 0, 0, 0, 0, 0, + 1453, 1454, 1455, 0, 0, 0, 1461, 1464, 0, 1469, + 1470, 0, 643, 0, 0, 0, 0, 0, 1023, 1022, + 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, + 0, 0, 1034, 2161, 1480, 0, 1483, 1484, 2023, 0, + 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, + 0, 0, 0, 2161, 0, 1023, 1022, 1032, 1033, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1024, 0, 2022, 1034, + 0, 0, 2347, 2348, 2349, 0, 2351, 0, 0, 0, + 0, 0, 0, 0, 2098, 0, 0, 0, 0, 0, + 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2369, 2370, 2371, 36, 37, 72, 39, + 40, 0, 0, 0, 0, 0, 465, 0, 465, 0, + 59, 0, 0, 0, 2080, 0, 78, 0, 0, 0, + 41, 63, 64, 0, 0, 631, 0, 60, 0, 2080, + 0, 464, 0, 1023, 1022, 1032, 1033, 1025, 1026, 1027, + 1028, 1029, 1030, 1031, 1024, 0, 0, 1034, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 0, 81, 612, + 631, 0, 1254, 1023, 1022, 1032, 1033, 1025, 1026, 1027, + 1028, 1029, 1030, 1031, 1024, 493, 643, 1034, 0, 1270, + 1271, 1272, 1273, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2453, 2454, 2455, 2456, 1830, 0, 0, 0, + 0, 0, 2460, 2461, 0, 497, 0, 0, 0, 0, + 1971, 0, 0, 0, 2198, 2199, 0, 2200, 0, 0, + 2202, 0, 2204, 0, 0, 0, 0, 0, 43, 74, + 46, 45, 48, 0, 0, 0, 0, 1882, 1023, 1022, + 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, + 0, 2021, 1034, 0, 0, 0, 0, 0, 0, 49, 77, 76, 0, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 482, 0, 0, 0, 0, 0, 0, 0, - 65, 2012, 1157, 0, 0, 0, 0, 0, 0, 0, - 0, 1677, 0, 2133, 0, 0, 0, 0, 0, 1683, - 0, 632, 486, 632, 0, 632, 1939, 2047, 1693, 1694, - 0, 57, 58, 0, 0, 0, 0, 0, 0, 1704, - 0, 0, 0, 1171, 0, 0, 0, 0, 66, 0, - 67, 0, 0, 0, 997, 996, 1006, 1007, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 998, 1730, 0, 1008, 0, - 0, 125, 125, 125, 1675, 68, 0, 0, 0, 0, - 0, 621, 0, 0, 0, 0, 621, 1103, 0, 1113, + 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, + 65, 0, 0, 1169, 0, 0, 0, 632, 0, 2250, + 2251, 0, 632, 0, 0, 0, 0, 0, 1927, 0, + 0, 0, 2080, 0, 2080, 0, 2557, 0, 0, 1350, + 487, 57, 58, 2562, 0, 0, 0, 1709, 0, 0, + 0, 643, 643, 0, 0, 1715, 0, 0, 66, 0, + 67, 0, 1372, 0, 1725, 1726, 0, 643, 0, 0, + 0, 0, 0, 0, 0, 1736, 0, 0, 0, 643, + 0, 0, 0, 389, 1982, 68, 1023, 1022, 1032, 1033, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 0, 0, + 1034, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 75, 0, 53, 54, 61, 0, 62, - 1143, 0, 997, 996, 1006, 1007, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, 0, - 0, 2115, 0, 482, 0, 0, 0, 476, 997, 996, - 1006, 1007, 999, 1000, 1001, 1002, 1003, 1004, 1005, 998, - 2126, 0, 1008, 0, 2128, 2139, 0, 0, 0, 0, - 2144, 0, 0, 486, 0, 0, 0, 2148, 2149, 0, - 0, 1184, 1187, 1188, 1189, 1190, 1191, 1192, 0, 1193, - 1194, 1195, 1196, 1197, 1198, 1199, 1200, 0, 1172, 1173, - 1174, 1175, 1151, 1155, 1185, 1152, 1158, 1154, 1156, 1153, - 73, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, - 1168, 1169, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1294, 79, - 0, 1297, 1298, 1299, 620, 1301, 1302, 0, 0, 1303, - 0, 0, 0, 0, 0, 1304, 0, 2207, 476, 1305, - 1306, 0, 1307, 1308, 2207, 2207, 2207, 0, 0, 0, + 2600, 1707, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2608, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 631, 0, 643, 0, 2044, 0, 1023, + 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, + 1024, 0, 0, 1034, 0, 0, 0, 0, 0, 0, + 2044, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 367, 0, 0, 0, 0, 0, 1487, 370, 0, + 643, 0, 643, 2080, 643, 0, 2079, 379, 387, 388, + 0, 1517, 0, 0, 0, 0, 0, 0, 0, 0, + 73, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, + 1030, 1031, 1024, 0, 0, 1034, 0, 0, 0, 0, + 125, 0, 376, 125, 0, 377, 0, 0, 385, 386, + 0, 1263, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 125, 125, 125, 0, 0, 0, 0, 0, 79, + 0, 467, 468, 469, 470, 471, 475, 476, 480, 481, + 490, 489, 488, 491, 492, 495, 494, 496, 472, 473, + 474, 477, 478, 479, 482, 483, 486, 484, 485, 382, + 2147, 0, 1602, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1613, 0, 1614, 1615, 0, 0, 0, 0, + 383, 1622, 0, 0, 2171, 0, 0, 0, 0, 2176, + 0, 0, 0, 0, 0, 0, 2180, 2181, 0, 0, + 0, 0, 0, 0, 2769, 2770, 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, 912, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, + 125, 0, 464, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 125, 0, 0, 0, 381, 371, 372, + 0, 392, 0, 631, 1263, 373, 375, 0, 369, 391, + 390, 0, 0, 0, 0, 0, 2239, 0, 0, 0, + 0, 0, 0, 2239, 2239, 2239, 0, 0, 0, 0, + 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2239, 0, 0, 1421, 1421, 1421, + 0, 384, 0, 1421, 1421, 1421, 1421, 1421, 1421, 0, + 0, 1421, 0, 0, 0, 0, 1421, 1421, 1421, 1421, + 0, 1421, 1421, 1421, 0, 0, 0, 0, 0, 1421, + 1421, 1421, 0, 0, 0, 1421, 1421, 0, 1421, 1421, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2207, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 125, 0, 1186, 0, - 0, 0, 0, 0, 1237, 0, 0, 0, 0, 601, - 0, 0, 1228, 125, 125, 125, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, - 1245, 1246, 1247, 0, 0, 0, 0, 0, 456, 457, - 458, 459, 460, 464, 465, 469, 470, 479, 478, 477, - 480, 481, 484, 483, 485, 461, 462, 463, 466, 467, - 468, 471, 472, 475, 473, 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 632, 0, 0, 0, 0, 0, 0, 0, 632, 0, + 0, 0, 0, 1421, 1421, 1421, 1421, 0, 125, 0, + 0, 0, 0, 0, 0, 0, 125, 464, 0, 0, + 0, 125, 125, 0, 0, 125, 1520, 1263, 632, 643, + 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, + 0, 0, 1263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 36, 0, 72, 39, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 59, 0, 0, 0, 0, 0, 78, 2361, 0, 0, + 41, 0, 0, 2239, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2079, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2079, 0, 125, 0, 0, 0, 0, 81, 0, + 0, 0, 0, 125, 0, 125, 125, 0, 0, 0, + 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2506, 0, 0, 2729, 2732, 2728, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1631, + 1632, 125, 1906, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2441, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 125, 0, 464, 0, 43, 74, + 46, 45, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2507, 0, 0, 0, 0, 0, 0, + 0, 0, 2466, 0, 0, 0, 0, 0, 0, 49, + 77, 76, 0, 0, 0, 0, 47, 0, 0, 1964, + 0, 0, 0, 0, 0, 0, 0, 1196, 0, 0, + 0, 0, 0, 0, 0, 1263, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 57, 58, 0, 2508, 0, 2633, 0, 0, 0, + 0, 0, 0, 0, 2079, 0, 2079, 0, 66, 0, + 67, 0, 0, 0, 0, 0, 1421, 0, 0, 0, + 0, 0, 0, 0, 1421, 0, 0, 0, 0, 631, + 0, 0, 0, 1421, 1421, 68, 0, 0, 0, 0, + 0, 0, 0, 1196, 1421, 0, 0, 0, 1421, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1183, 0, + 0, 0, 2509, 75, 0, 53, 54, 61, 0, 62, + 0, 1421, 0, 0, 0, 643, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 632, 125, + 125, 125, 125, 125, 0, 0, 0, 0, 0, 1197, + 0, 464, 0, 0, 0, 125, 0, 0, 0, 464, + 2602, 0, 2605, 0, 0, 125, 0, 0, 0, 0, + 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2112, 0, 0, 0, 1183, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 73, 0, 0, 2138, 0, 2079, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2143, 0, + 0, 0, 0, 0, 0, 1197, 0, 0, 2239, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 643, 0, 0, 0, 0, 0, 0, 0, 0, 79, + 2175, 0, 0, 0, 0, 0, 2605, 0, 0, 0, + 0, 0, 0, 125, 0, 0, 2689, 1210, 1213, 1214, + 1215, 1216, 1217, 1218, 0, 1219, 1220, 1221, 1222, 1223, + 1224, 1225, 1226, 0, 1198, 1199, 1200, 1201, 1177, 1181, + 1211, 1178, 1184, 1180, 1182, 1179, 0, 1185, 1186, 1187, + 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1202, 1203, + 1204, 1205, 1206, 1207, 1208, 1209, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1421, 0, 0, 0, 0, 0, 0, 0, 0, + 1421, 0, 1263, 1210, 1213, 1214, 1215, 1216, 1217, 1218, + 0, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 0, + 1198, 1199, 1200, 1201, 1177, 1181, 1211, 1178, 1184, 1180, + 1182, 1179, 0, 1185, 1186, 1187, 1188, 1189, 1190, 1191, + 1192, 1193, 1194, 1195, 1202, 1203, 1204, 1205, 1206, 1207, + 1208, 1209, 0, 36, 1212, 72, 39, 40, 0, 0, + 0, 0, 0, 0, 2266, 0, 632, 59, 0, 0, + 0, 0, 0, 78, 0, 0, 0, 41, 0, 36, + 0, 72, 39, 40, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 59, 0, 0, 0, 0, 0, 78, + 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2506, + 1212, 81, 0, 0, 2778, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2506, 0, 0, 0, 0, + 2774, 125, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 43, 74, 46, 45, 48, + 0, 0, 0, 0, 125, 0, 0, 0, 493, 0, + 2507, 0, 0, 0, 0, 0, 0, 0, 0, 125, + 0, 43, 74, 46, 45, 48, 49, 77, 76, 1227, + 0, 0, 0, 47, 0, 0, 2507, 0, 497, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 125, 49, 77, 76, 0, 0, 0, 0, 47, + 0, 0, 0, 0, 0, 0, 509, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 57, 58, + 0, 2508, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 66, 0, 67, 0, 0, + 0, 0, 0, 0, 57, 58, 0, 2508, 0, 0, + 0, 0, 0, 0, 0, 0, 1169, 0, 0, 0, + 0, 66, 68, 67, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 464, 487, 0, 0, 632, 0, 68, 2509, + 75, 0, 53, 54, 61, 0, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2509, 75, 0, 53, 54, + 61, 36, 62, 72, 39, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, + 0, 78, 0, 0, 0, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2564, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2329, 125, - 0, 453, 0, 0, 2207, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1318, 0, 2047, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2047, 1237, 0, 0, 0, 0, 1340, 456, - 457, 458, 459, 460, 464, 465, 469, 470, 479, 478, - 477, 480, 481, 484, 483, 485, 461, 462, 463, 466, - 467, 468, 471, 472, 475, 473, 474, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1389, 1389, 1389, 0, - 0, 0, 1389, 1389, 1389, 1389, 1389, 1389, 0, 0, - 1389, 0, 0, 0, 2409, 1389, 1389, 1389, 1389, 0, - 1389, 1389, 1389, 0, 0, 0, 0, 0, 1389, 1389, - 1389, 0, 0, 0, 1389, 1389, 0, 1389, 1389, 0, - 0, 0, 621, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2434, 0, 0, 0, 0, 0, 0, - 381, 0, 1389, 1389, 1389, 1389, 0, 125, 0, 0, - 0, 0, 0, 0, 0, 125, 453, 0, 0, 0, - 125, 125, 0, 1455, 125, 1488, 1237, 621, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1485, 0, 0, - 0, 1237, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1630, 0, - 0, 0, 0, 0, 0, 2047, 0, 2047, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 36, 0, 72, - 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, - 620, 59, 0, 0, 0, 0, 0, 78, 359, 0, - 0, 41, 0, 0, 0, 362, 0, 0, 0, 0, - 0, 0, 125, 0, 371, 379, 380, 0, 0, 0, - 0, 0, 125, 0, 125, 125, 0, 0, 1570, 1170, - 0, 125, 0, 0, 0, 0, 632, 0, 1581, 81, - 1582, 1583, 0, 0, 0, 0, 0, 1590, 0, 368, - 0, 0, 369, 0, 0, 377, 378, 0, 1599, 1600, - 125, 0, 0, 2474, 0, 0, 2697, 2700, 2696, 0, - 0, 2570, 0, 2573, 0, 0, 1601, 0, 0, 0, - 0, 0, 0, 125, 0, 453, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 900, - 0, 0, 0, 0, 0, 0, 374, 0, 0, 43, - 74, 46, 45, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2475, 0, 2047, 375, 0, 0, - 1157, 0, 0, 0, 0, 0, 0, 0, 1237, 0, - 49, 77, 76, 0, 0, 0, 0, 47, 0, 2207, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1171, 0, 0, 0, 0, 0, 2573, 0, 0, - 0, 360, 0, 0, 0, 0, 0, 2657, 0, 1389, - 0, 0, 57, 58, 0, 2476, 0, 1389, 0, 0, - 0, 0, 0, 0, 0, 0, 1389, 1389, 0, 66, - 0, 67, 0, 0, 373, 363, 364, 1389, 384, 0, - 0, 1389, 365, 367, 0, 361, 383, 382, 0, 0, - 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, - 0, 0, 0, 0, 1389, 0, 0, 0, 0, 0, - 0, 0, 0, 2477, 75, 0, 53, 54, 61, 0, - 62, 621, 125, 125, 125, 125, 125, 0, 376, 0, - 0, 0, 0, 0, 453, 0, 0, 0, 125, 0, - 0, 0, 453, 0, 0, 0, 0, 0, 125, 1184, - 1187, 1188, 1189, 1190, 1191, 1192, 621, 1193, 1194, 1195, - 1196, 1197, 1198, 1199, 1200, 0, 1172, 1173, 1174, 1175, - 1151, 1155, 1185, 1152, 1158, 1154, 1156, 1153, 0, 1159, - 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, - 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 73, 0, 0, 36, 0, 72, 39, 40, 0, - 0, 0, 36, 0, 72, 39, 40, 0, 59, 0, - 0, 0, 0, 0, 78, 0, 59, 0, 41, 0, - 0, 0, 78, 0, 0, 0, 41, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, - 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1874, 0, 0, 0, 81, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 1186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2474, 0, 0, 0, 0, 2746, 0, 0, 2474, 0, - 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1389, 0, 0, 0, 0, 1932, - 0, 0, 0, 1389, 0, 1237, 43, 74, 46, 45, - 48, 0, 0, 0, 43, 74, 46, 45, 48, 0, - 0, 2475, 0, 0, 0, 0, 0, 0, 0, 2475, - 0, 0, 0, 0, 0, 0, 0, 49, 77, 76, - 0, 0, 0, 0, 47, 49, 77, 76, 0, 0, - 0, 36, 47, 72, 39, 40, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 59, 0, 0, 0, 621, - 0, 78, 0, 0, 0, 41, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, - 58, 0, 2476, 0, 0, 0, 0, 57, 58, 0, - 2476, 0, 0, 0, 0, 0, 66, 0, 67, 0, - 0, 0, 0, 81, 66, 0, 67, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 68, 0, 0, 0, 2474, 0, 0, - 0, 68, 2731, 0, 0, 0, 0, 0, 0, 0, - 2477, 75, 0, 53, 54, 61, 0, 62, 2477, 75, - 0, 53, 54, 61, 0, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2506, 0, 0, + 0, 0, 2763, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 74, 46, 45, 48, 0, 0, - 2080, 0, 0, 0, 0, 0, 0, 125, 2475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 482, 0, - 0, 0, 125, 2106, 49, 77, 76, 0, 0, 0, - 0, 47, 36, 0, 72, 39, 40, 0, 2111, 1798, - 0, 36, 0, 72, 39, 40, 59, 0, 486, 0, - 0, 0, 78, 0, 125, 59, 41, 0, 73, 0, - 0, 78, 0, 0, 0, 41, 73, 0, 0, 498, - 2143, 0, 0, 0, 0, 0, 57, 58, 0, 2476, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 66, 81, 67, 0, 0, 0, 0, - 0, 0, 0, 81, 2702, 0, 0, 79, 0, 0, - 0, 0, 0, 0, 0, 79, 0, 0, 2474, 0, - 68, 0, 0, 2714, 0, 482, 1143, 2474, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2477, 75, 0, - 53, 54, 61, 0, 62, 453, 1201, 0, 0, 621, - 0, 0, 0, 476, 0, 486, 0, 482, 0, 0, - 0, 0, 0, 0, 43, 74, 46, 45, 48, 0, - 0, 0, 0, 43, 74, 46, 45, 48, 2128, 2475, - 0, 0, 0, 0, 0, 0, 0, 486, 2475, 0, - 0, 482, 0, 0, 0, 49, 77, 76, 0, 0, - 0, 0, 47, 0, 49, 77, 76, 0, 0, 0, - 0, 47, 2137, 0, 0, 0, 0, 0, 125, 0, - 0, 486, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1143, 2234, 73, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 57, 58, 0, - 2476, 0, 0, 0, 0, 0, 57, 58, 0, 2476, - 476, 0, 0, 0, 66, 0, 67, 0, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 0, 2507, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 464, 0, 464, 49, 77, 76, 0, 0, 0, + 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 467, 468, 469, 470, 471, 475, + 476, 480, 481, 490, 489, 488, 491, 492, 495, 494, + 496, 472, 473, 474, 477, 478, 479, 482, 483, 486, + 484, 485, 0, 0, 0, 0, 57, 58, 0, 2508, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 79, 0, 0, 125, 0, 0, - 0, 68, 476, 0, 0, 0, 0, 0, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 2477, 75, - 0, 53, 54, 61, 0, 62, 0, 2477, 75, 0, - 53, 54, 61, 0, 62, 0, 476, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 453, 0, 453, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 456, 457, 458, 459, 460, 464, - 465, 469, 470, 479, 478, 477, 480, 481, 484, 483, - 485, 461, 462, 463, 466, 467, 468, 471, 472, 475, - 473, 474, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, - 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, - 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, - 0, 456, 457, 458, 459, 460, 464, 465, 469, 470, - 479, 478, 477, 480, 481, 484, 483, 485, 461, 462, - 463, 466, 467, 468, 471, 472, 475, 473, 474, 0, - 0, 0, 0, 456, 457, 458, 459, 460, 464, 465, - 469, 470, 479, 478, 477, 480, 481, 484, 483, 485, - 461, 462, 463, 466, 467, 468, 471, 472, 475, 473, - 474, 0, 0, 0, 0, 125, 0, 456, 457, 458, - 459, 460, 464, 465, 469, 470, 479, 478, 477, 480, - 481, 484, 483, 485, 461, 462, 463, 466, 467, 468, - 471, 472, 475, 473, 474, 621, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2532, 781, 758, 321, 706, 784, 670, 692, 797, - 695, 698, 739, 653, 719, 250, 690, 654, 0, 674, - 643, 683, 644, 671, 708, 175, 669, 760, 722, 783, - 208, 735, 0, 165, 216, 214, 0, 0, 0, 257, - 320, 782, 714, 0, 791, 211, 0, 731, 792, 309, - 234, 0, 0, 710, 768, 717, 756, 705, 741, 662, - 730, 786, 691, 737, 787, 0, 0, 0, 0, 2539, - 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, - 734, 780, 686, 736, 738, 641, 733, 0, 648, 655, - 796, 775, 677, 678, 679, 0, 0, 0, 0, 0, - 0, 0, 709, 718, 750, 702, 340, 261, 277, 297, - 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, - 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, - 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, - 638, 235, 144, 757, 774, 704, 199, 350, 778, 701, - 700, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 749, 291, 688, 639, 761, 672, 684, 166, - 680, 283, 254, 339, 0, 725, 282, 212, 329, 745, - 779, 338, 693, 800, 347, 352, 0, 715, 659, 306, - 176, 0, 133, 0, 268, 171, 204, 703, 740, 673, - 163, 747, 729, 767, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 2542, 2543, 2544, 0, 0, 0, - 0, 344, 699, 294, 293, 694, 195, 755, 732, 645, - 276, 743, 200, 132, 318, 355, 149, 206, 323, 637, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, - 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, - 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, - 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, - 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, - 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, - 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, - 215, 267, 192, 237, 236, 238, 217, 221, 0, 646, - 0, 311, 342, 357, 153, 668, 299, 324, 0, 0, - 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, - 278, 354, 253, 284, 157, 341, 307, 666, 667, 664, - 0, 665, 720, 721, 788, 789, 790, 753, 658, 0, - 769, 770, 0, 0, 0, 0, 0, 759, 776, 777, - 742, 798, 696, 663, 647, 650, 651, 652, 660, 711, - 712, 724, 727, 765, 764, 763, 766, 771, 794, 793, - 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 723, 131, 140, 210, 799, 275, 182, 343, - 642, 173, 0, 713, 716, 726, 748, 129, 141, 152, - 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, - 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, - 252, 258, 259, 260, 262, 263, 264, 272, 746, 280, - 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, - 317, 330, 331, 349, 351, 773, 781, 758, 321, 706, - 784, 670, 692, 797, 695, 698, 739, 653, 719, 250, - 690, 654, 0, 674, 643, 683, 644, 671, 708, 175, - 669, 760, 722, 783, 208, 735, 0, 165, 216, 214, - 0, 0, 0, 257, 320, 782, 714, 0, 791, 211, - 0, 731, 792, 309, 234, 0, 0, 710, 768, 717, - 756, 705, 741, 662, 730, 786, 691, 737, 787, 0, - 0, 0, 0, 635, 0, 1510, 1511, 0, 0, 0, - 0, 0, 657, 0, 734, 780, 686, 736, 738, 641, - 733, 0, 648, 655, 796, 775, 677, 678, 679, 1795, - 0, 0, 0, 0, 0, 0, 709, 718, 750, 702, - 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, - 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, - 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, - 640, 676, 752, 0, 638, 235, 144, 757, 774, 704, - 199, 350, 778, 701, 700, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 749, 291, 688, 639, - 761, 672, 684, 166, 680, 283, 254, 339, 0, 725, - 282, 212, 329, 745, 779, 338, 693, 800, 347, 352, - 0, 715, 659, 306, 176, 0, 133, 0, 268, 171, - 204, 703, 740, 673, 163, 747, 729, 767, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 699, 294, 293, 694, - 195, 755, 732, 645, 276, 743, 200, 132, 318, 355, - 149, 206, 323, 637, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 187, 685, 744, 754, - 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, - 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, - 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, - 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, - 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, - 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, - 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, - 217, 221, 0, 646, 0, 311, 342, 357, 153, 668, - 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, - 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, - 307, 666, 667, 664, 0, 665, 720, 721, 788, 789, - 790, 753, 658, 0, 769, 770, 0, 0, 0, 0, - 0, 759, 776, 777, 742, 798, 696, 663, 647, 650, - 651, 652, 660, 711, 712, 724, 727, 765, 764, 763, - 766, 771, 794, 793, 795, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 723, 131, 140, 210, - 799, 275, 182, 343, 642, 173, 0, 713, 716, 726, - 748, 129, 141, 152, 158, 172, 177, 181, 190, 193, - 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, - 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, - 264, 272, 746, 280, 286, 288, 289, 290, 292, 301, - 302, 303, 304, 312, 317, 330, 331, 349, 351, 773, - 781, 758, 321, 706, 784, 670, 692, 797, 695, 698, - 739, 653, 719, 250, 690, 654, 0, 674, 643, 683, - 644, 671, 708, 175, 669, 760, 722, 783, 208, 735, - 0, 165, 216, 214, 0, 0, 0, 257, 320, 782, - 714, 0, 791, 211, 0, 731, 792, 309, 234, 0, - 0, 710, 768, 717, 756, 705, 741, 662, 730, 786, - 691, 737, 787, 0, 0, 0, 0, 635, 0, 1510, - 1511, 0, 0, 0, 0, 0, 657, 0, 734, 780, - 686, 736, 738, 641, 733, 0, 648, 655, 796, 775, - 677, 678, 679, 0, 0, 0, 0, 0, 0, 0, - 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, - 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, - 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, - 0, 0, 0, 661, 640, 676, 752, 0, 638, 235, - 144, 757, 774, 704, 199, 350, 778, 701, 700, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 749, 291, 688, 639, 761, 672, 684, 166, 680, 283, - 254, 339, 0, 725, 282, 212, 329, 745, 779, 338, - 693, 800, 347, 352, 0, 715, 659, 306, 176, 0, - 133, 0, 268, 171, 204, 703, 740, 673, 163, 747, - 729, 767, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 699, 294, 293, 694, 195, 755, 732, 645, 276, 743, - 200, 132, 318, 355, 149, 206, 323, 637, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, - 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, - 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, - 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, - 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, - 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, - 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, - 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, - 192, 237, 236, 238, 217, 221, 0, 646, 0, 311, - 342, 357, 153, 668, 299, 324, 0, 0, 154, 184, - 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, - 253, 284, 157, 341, 307, 666, 667, 664, 0, 665, - 720, 721, 788, 789, 790, 753, 658, 0, 769, 770, - 0, 0, 0, 0, 0, 759, 776, 777, 742, 798, - 696, 663, 647, 650, 651, 652, 660, 711, 712, 724, - 727, 765, 764, 763, 766, 771, 794, 793, 795, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 723, 131, 140, 210, 799, 275, 182, 343, 642, 173, - 0, 713, 716, 726, 748, 129, 141, 152, 158, 172, - 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, - 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, - 259, 260, 262, 263, 264, 272, 746, 280, 286, 288, - 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, - 331, 349, 351, 773, 781, 2009, 321, 706, 784, 670, - 692, 797, 695, 698, 739, 653, 719, 250, 690, 654, - 0, 674, 643, 683, 644, 671, 708, 175, 669, 760, - 722, 783, 208, 735, 0, 165, 216, 214, 0, 0, - 0, 257, 320, 782, 714, 0, 791, 211, 0, 731, - 792, 309, 234, 0, 0, 710, 768, 717, 756, 705, - 741, 662, 730, 786, 691, 737, 787, 81, 0, 961, - 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 657, 0, 734, 780, 686, 736, 738, 641, 733, 0, - 648, 655, 796, 775, 677, 678, 679, 0, 0, 0, - 0, 0, 0, 0, 709, 718, 750, 702, 340, 261, - 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, - 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, - 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, - 752, 0, 638, 235, 144, 757, 774, 704, 199, 350, - 778, 701, 700, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 749, 291, 688, 639, 761, 672, - 684, 166, 680, 283, 254, 339, 0, 725, 282, 212, - 329, 745, 779, 338, 693, 800, 347, 352, 0, 715, - 659, 306, 176, 0, 133, 0, 268, 171, 204, 703, - 740, 673, 163, 747, 729, 767, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 699, 294, 293, 694, 195, 755, - 732, 645, 276, 743, 200, 132, 318, 355, 149, 206, - 323, 637, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, - 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, - 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, - 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, - 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, - 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, - 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, - 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, - 0, 646, 0, 311, 342, 357, 153, 668, 299, 324, - 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, - 205, 213, 278, 354, 253, 284, 157, 341, 307, 666, - 667, 664, 0, 665, 720, 721, 788, 789, 790, 753, - 658, 0, 769, 770, 0, 0, 0, 0, 0, 759, - 776, 777, 742, 798, 696, 663, 647, 650, 651, 652, - 660, 711, 712, 724, 727, 765, 764, 763, 766, 771, - 794, 793, 795, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 723, 131, 140, 210, 2010, 275, - 182, 343, 642, 173, 0, 713, 716, 726, 748, 129, - 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, - 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, - 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, - 746, 280, 286, 288, 289, 290, 292, 301, 302, 303, - 304, 312, 317, 330, 331, 349, 351, 773, 781, 758, - 321, 706, 784, 670, 692, 797, 695, 698, 739, 653, - 719, 250, 690, 654, 0, 674, 643, 683, 644, 671, - 708, 175, 669, 760, 722, 783, 208, 735, 0, 165, - 216, 214, 0, 0, 0, 257, 320, 782, 714, 0, - 791, 211, 0, 731, 792, 309, 234, 0, 0, 710, - 768, 717, 756, 705, 741, 662, 730, 786, 691, 737, - 787, 0, 0, 0, 0, 635, 0, 0, 0, 0, - 0, 0, 0, 0, 657, 0, 734, 780, 686, 736, - 738, 641, 733, 0, 648, 655, 796, 775, 677, 678, - 679, 0, 0, 0, 0, 0, 0, 0, 709, 718, - 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, - 0, 0, 0, 0, 0, 2306, 0, 675, 0, 728, - 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, - 0, 661, 640, 676, 752, 0, 638, 235, 144, 757, - 774, 704, 199, 350, 778, 701, 700, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 749, 291, - 688, 639, 761, 672, 684, 166, 680, 283, 254, 339, - 0, 725, 282, 212, 329, 745, 779, 338, 693, 800, - 347, 352, 0, 715, 659, 306, 176, 0, 133, 0, - 268, 171, 204, 703, 740, 673, 163, 747, 729, 767, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 699, 294, - 293, 694, 195, 755, 732, 645, 276, 743, 200, 132, - 318, 355, 149, 206, 323, 637, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 187, 685, - 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, - 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, - 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, - 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, - 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, - 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, - 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, - 236, 238, 217, 221, 0, 646, 0, 311, 342, 357, - 153, 668, 299, 324, 0, 0, 154, 184, 178, 265, - 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, - 157, 341, 307, 666, 667, 664, 0, 665, 720, 721, - 788, 789, 790, 753, 658, 0, 769, 770, 0, 0, - 0, 0, 0, 759, 776, 777, 742, 798, 696, 663, - 647, 650, 651, 652, 660, 711, 712, 724, 727, 765, - 764, 763, 766, 771, 794, 793, 795, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 723, 131, - 140, 210, 799, 275, 182, 343, 642, 173, 0, 713, - 716, 726, 748, 129, 141, 152, 158, 172, 177, 181, - 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, - 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, - 262, 263, 264, 272, 746, 280, 286, 288, 289, 290, - 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, - 351, 773, 781, 758, 321, 706, 784, 670, 692, 797, - 695, 698, 739, 653, 719, 250, 690, 654, 0, 674, - 643, 683, 644, 671, 708, 175, 669, 760, 722, 783, - 208, 735, 0, 165, 216, 214, 0, 0, 0, 257, - 320, 782, 714, 0, 791, 211, 0, 731, 792, 309, - 234, 0, 0, 710, 768, 717, 756, 705, 741, 662, - 730, 786, 691, 737, 787, 0, 0, 0, 0, 503, - 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, - 734, 780, 686, 736, 738, 641, 733, 0, 648, 655, - 796, 775, 677, 678, 679, 0, 0, 0, 0, 0, - 0, 0, 709, 718, 750, 702, 340, 261, 277, 297, - 697, 269, 689, 0, 0, 0, 0, 0, 0, 1945, - 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, - 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, - 638, 235, 144, 757, 774, 704, 199, 350, 778, 701, - 700, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 749, 291, 688, 639, 761, 672, 684, 166, - 680, 283, 254, 339, 0, 725, 282, 212, 329, 745, - 779, 338, 693, 800, 347, 352, 0, 715, 659, 306, - 176, 0, 133, 0, 268, 171, 204, 703, 740, 673, - 163, 747, 729, 767, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 699, 294, 293, 694, 195, 755, 732, 645, - 276, 743, 200, 132, 318, 355, 149, 206, 323, 637, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, - 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, - 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, - 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, - 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, - 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, - 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, - 215, 267, 192, 237, 236, 238, 217, 221, 0, 646, - 0, 311, 342, 357, 153, 668, 299, 324, 0, 0, - 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, - 278, 354, 253, 284, 157, 341, 307, 666, 667, 664, - 0, 665, 720, 721, 788, 789, 790, 753, 658, 0, - 769, 770, 0, 0, 0, 0, 0, 759, 776, 777, - 742, 798, 696, 663, 647, 650, 651, 652, 660, 711, - 712, 724, 727, 765, 764, 763, 766, 771, 794, 793, - 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 723, 131, 140, 210, 799, 275, 182, 343, - 642, 173, 0, 713, 716, 726, 748, 129, 141, 152, - 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, - 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, - 252, 258, 259, 260, 262, 263, 264, 272, 746, 280, - 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, - 317, 330, 331, 349, 351, 773, 781, 758, 321, 706, - 784, 670, 692, 797, 695, 698, 739, 653, 719, 250, - 690, 654, 0, 674, 643, 683, 644, 671, 708, 175, - 669, 760, 722, 783, 208, 735, 0, 165, 216, 214, - 0, 0, 0, 257, 320, 782, 714, 0, 791, 211, - 0, 731, 792, 309, 234, 0, 0, 710, 768, 717, - 756, 705, 741, 662, 730, 786, 691, 737, 787, 0, - 0, 0, 0, 635, 0, 0, 0, 0, 0, 0, - 0, 0, 657, 0, 734, 780, 686, 736, 738, 641, - 733, 0, 648, 655, 796, 775, 677, 678, 679, 0, - 0, 0, 0, 0, 0, 0, 709, 718, 750, 702, - 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, - 0, 0, 0, 1935, 0, 675, 0, 728, 0, 0, - 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, - 640, 676, 752, 0, 638, 235, 144, 757, 774, 704, - 199, 350, 778, 701, 700, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 749, 291, 688, 639, - 761, 672, 684, 166, 680, 283, 254, 339, 0, 725, - 282, 212, 329, 745, 779, 338, 693, 800, 347, 352, - 0, 715, 659, 306, 176, 0, 133, 0, 268, 171, - 204, 703, 740, 673, 163, 747, 729, 767, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 699, 294, 293, 694, - 195, 755, 732, 645, 276, 743, 200, 132, 318, 355, - 149, 206, 323, 637, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 187, 685, 744, 754, - 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, - 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, - 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, - 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, - 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, - 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, - 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, - 217, 221, 0, 646, 0, 311, 342, 357, 153, 668, - 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, - 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, - 307, 666, 667, 664, 0, 665, 720, 721, 788, 789, - 790, 753, 658, 0, 769, 770, 0, 0, 0, 0, - 0, 759, 776, 777, 742, 798, 696, 663, 647, 650, - 651, 652, 660, 711, 712, 724, 727, 765, 764, 763, - 766, 771, 794, 793, 795, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 723, 131, 140, 210, - 799, 275, 182, 343, 642, 173, 0, 713, 716, 726, - 748, 129, 141, 152, 158, 172, 177, 181, 190, 193, - 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, - 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, - 264, 272, 746, 280, 286, 288, 289, 290, 292, 301, - 302, 303, 304, 312, 317, 330, 331, 349, 351, 773, - 781, 758, 321, 706, 784, 670, 692, 797, 695, 698, - 739, 653, 719, 250, 690, 654, 0, 674, 643, 683, - 644, 671, 708, 175, 669, 760, 722, 783, 208, 735, - 0, 165, 216, 214, 0, 0, 0, 257, 320, 782, - 714, 0, 791, 211, 0, 731, 792, 309, 234, 0, - 0, 710, 768, 717, 756, 705, 741, 662, 730, 786, - 691, 737, 787, 0, 0, 0, 0, 126, 0, 0, - 0, 0, 0, 0, 0, 0, 657, 0, 734, 780, - 686, 736, 738, 641, 733, 0, 648, 655, 796, 775, - 677, 678, 679, 0, 0, 0, 0, 0, 0, 0, - 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, - 689, 0, 0, 0, 0, 0, 0, 1489, 0, 675, - 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, - 0, 0, 0, 661, 640, 676, 752, 0, 638, 235, - 144, 757, 774, 704, 199, 350, 778, 701, 700, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 749, 291, 688, 639, 761, 672, 684, 166, 680, 283, - 254, 339, 0, 725, 282, 212, 329, 745, 779, 338, - 693, 800, 347, 352, 0, 715, 659, 306, 176, 0, - 133, 0, 268, 171, 204, 703, 740, 673, 163, 747, - 729, 767, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 699, 294, 293, 694, 195, 755, 732, 645, 276, 743, - 200, 132, 318, 355, 149, 206, 323, 637, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, - 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, - 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, - 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, - 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, - 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, - 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, - 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, - 192, 237, 236, 238, 217, 221, 0, 646, 0, 311, - 342, 357, 153, 668, 299, 324, 0, 0, 154, 184, - 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, - 253, 284, 157, 341, 307, 666, 667, 664, 0, 665, - 720, 721, 788, 789, 790, 753, 658, 0, 769, 770, - 0, 0, 0, 0, 0, 759, 776, 777, 742, 798, - 696, 663, 647, 650, 651, 652, 660, 711, 712, 724, - 727, 765, 764, 763, 766, 771, 794, 793, 795, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 723, 131, 140, 210, 799, 275, 182, 343, 642, 173, - 0, 713, 716, 726, 748, 129, 141, 152, 158, 172, - 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, - 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, - 259, 260, 262, 263, 264, 272, 746, 280, 286, 288, - 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, - 331, 349, 351, 773, 781, 758, 321, 706, 784, 670, - 692, 797, 695, 698, 739, 653, 719, 250, 690, 654, - 0, 674, 643, 683, 644, 671, 708, 175, 669, 760, - 722, 783, 208, 735, 0, 165, 216, 214, 0, 0, - 0, 257, 320, 782, 714, 0, 791, 211, 0, 731, - 792, 309, 234, 0, 0, 710, 768, 717, 756, 705, - 741, 662, 730, 786, 691, 737, 787, 0, 0, 0, - 0, 503, 0, 0, 0, 0, 0, 0, 0, 0, - 657, 0, 734, 780, 686, 736, 738, 641, 733, 0, - 648, 655, 796, 775, 677, 678, 679, 0, 0, 0, - 0, 0, 0, 0, 709, 718, 750, 702, 340, 261, - 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, - 0, 1349, 0, 675, 0, 728, 0, 0, 0, 656, - 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, - 752, 0, 638, 235, 144, 757, 774, 704, 199, 350, - 778, 701, 700, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 749, 291, 688, 639, 761, 672, - 684, 166, 680, 283, 254, 339, 0, 725, 282, 212, - 329, 745, 779, 338, 693, 800, 347, 352, 0, 715, - 659, 306, 176, 0, 133, 0, 268, 171, 204, 703, - 740, 673, 163, 747, 729, 767, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 699, 294, 293, 694, 195, 755, - 732, 645, 276, 743, 200, 132, 318, 355, 149, 206, - 323, 637, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, - 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, - 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, - 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, - 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, - 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, - 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, - 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, - 0, 646, 0, 311, 342, 357, 153, 668, 299, 324, - 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, - 205, 213, 278, 354, 253, 284, 157, 341, 307, 666, - 667, 664, 0, 665, 720, 721, 788, 789, 790, 753, - 658, 0, 769, 770, 0, 0, 0, 0, 0, 759, - 776, 777, 742, 798, 696, 663, 647, 650, 651, 652, - 660, 711, 712, 724, 727, 765, 764, 763, 766, 771, - 794, 793, 795, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 723, 131, 140, 210, 799, 275, - 182, 343, 642, 173, 0, 713, 716, 726, 748, 129, - 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, - 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, - 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, - 746, 280, 286, 288, 289, 290, 292, 301, 302, 303, - 304, 312, 317, 330, 331, 349, 351, 773, 781, 758, - 321, 706, 784, 670, 692, 797, 695, 698, 739, 653, - 719, 250, 690, 654, 0, 674, 643, 683, 644, 671, - 708, 175, 669, 760, 722, 783, 208, 735, 0, 165, - 216, 214, 0, 0, 0, 257, 320, 782, 714, 0, - 791, 211, 0, 731, 792, 309, 234, 0, 0, 710, - 768, 717, 756, 705, 741, 662, 730, 786, 691, 737, - 787, 0, 0, 0, 0, 635, 0, 0, 0, 0, - 0, 0, 0, 0, 657, 0, 734, 780, 686, 736, - 738, 641, 733, 0, 648, 655, 796, 775, 677, 678, - 679, 0, 0, 0, 0, 0, 0, 0, 709, 718, - 750, 702, 340, 261, 277, 297, 697, 269, 689, 0, - 0, 0, 0, 0, 0, 0, 0, 675, 0, 728, - 0, 0, 0, 656, 649, 0, 0, 707, 0, 0, - 0, 661, 640, 676, 752, 0, 638, 235, 144, 757, - 774, 704, 199, 350, 778, 701, 700, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 749, 291, - 688, 639, 761, 672, 684, 166, 680, 283, 254, 339, - 0, 725, 282, 212, 329, 745, 779, 338, 693, 800, - 347, 352, 0, 715, 659, 306, 176, 0, 133, 0, - 268, 171, 204, 703, 740, 673, 163, 747, 729, 767, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 699, 294, - 293, 694, 195, 755, 732, 645, 276, 743, 200, 132, - 318, 355, 149, 206, 323, 637, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 187, 685, - 744, 754, 274, 296, 325, 151, 313, 681, 682, 687, - 751, 285, 762, 772, 785, 134, 319, 337, 156, 295, - 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, - 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, - 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, - 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, - 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, - 236, 238, 217, 221, 0, 646, 0, 311, 342, 357, - 153, 668, 299, 324, 0, 0, 154, 184, 178, 265, - 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, - 157, 341, 307, 666, 667, 664, 0, 665, 720, 721, - 788, 789, 790, 753, 658, 0, 769, 770, 0, 0, - 0, 0, 0, 759, 776, 777, 742, 798, 696, 663, - 647, 650, 651, 652, 660, 711, 712, 724, 727, 765, - 764, 763, 766, 771, 794, 793, 795, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 723, 131, - 140, 210, 799, 275, 182, 343, 642, 173, 0, 713, - 716, 726, 748, 129, 141, 152, 158, 172, 177, 181, - 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, - 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, - 262, 263, 264, 272, 746, 280, 286, 288, 289, 290, - 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, - 351, 773, 781, 758, 321, 706, 784, 670, 692, 797, - 695, 698, 739, 653, 719, 250, 690, 654, 0, 674, - 643, 683, 644, 671, 708, 175, 669, 760, 722, 783, - 208, 735, 0, 165, 216, 214, 0, 0, 0, 257, - 320, 782, 714, 0, 791, 211, 0, 731, 792, 309, - 234, 0, 0, 710, 768, 717, 756, 705, 741, 662, - 730, 786, 691, 737, 787, 0, 0, 0, 0, 503, - 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, - 734, 780, 686, 736, 738, 641, 733, 0, 648, 655, - 796, 775, 677, 678, 679, 0, 0, 0, 0, 0, - 0, 0, 709, 718, 750, 702, 340, 261, 277, 297, - 697, 269, 689, 0, 0, 0, 0, 0, 0, 0, - 0, 675, 0, 728, 0, 0, 0, 656, 649, 0, - 0, 707, 0, 0, 0, 661, 640, 676, 752, 0, - 638, 235, 144, 757, 774, 704, 199, 350, 778, 701, - 700, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 749, 291, 688, 639, 761, 672, 684, 166, - 680, 283, 254, 339, 0, 725, 282, 212, 329, 745, - 779, 338, 693, 800, 347, 352, 0, 715, 659, 306, - 176, 0, 133, 0, 268, 171, 204, 703, 740, 673, - 163, 747, 729, 767, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 699, 294, 293, 694, 195, 755, 732, 645, - 276, 743, 200, 132, 318, 355, 149, 206, 323, 637, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 187, 685, 744, 754, 274, 296, 325, 151, - 313, 681, 682, 687, 751, 285, 762, 772, 785, 134, - 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, - 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, - 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, - 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, - 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, - 215, 267, 192, 237, 236, 238, 217, 221, 0, 646, - 0, 311, 342, 357, 153, 668, 299, 324, 0, 0, - 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, - 278, 354, 253, 284, 157, 341, 307, 666, 667, 664, - 0, 665, 720, 721, 788, 789, 790, 753, 658, 0, - 769, 770, 0, 0, 0, 0, 0, 759, 776, 777, - 742, 798, 696, 663, 647, 650, 651, 652, 660, 711, - 712, 724, 727, 765, 764, 763, 766, 771, 794, 793, - 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 723, 131, 140, 210, 799, 275, 182, 343, - 642, 173, 0, 713, 716, 726, 748, 129, 141, 152, - 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, - 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, - 252, 258, 259, 260, 262, 263, 264, 272, 746, 280, - 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, - 317, 330, 331, 349, 351, 773, 781, 758, 321, 706, - 784, 670, 692, 797, 695, 698, 739, 653, 719, 250, - 690, 654, 0, 674, 643, 683, 644, 671, 708, 175, - 669, 760, 722, 783, 208, 735, 0, 165, 216, 214, - 0, 0, 0, 257, 320, 1521, 1525, 0, 791, 211, - 0, 731, 792, 309, 234, 0, 0, 710, 768, 717, - 756, 705, 741, 662, 730, 786, 691, 737, 787, 0, - 0, 0, 0, 635, 0, 0, 0, 0, 0, 0, - 0, 0, 657, 0, 734, 780, 686, 736, 738, 641, - 733, 0, 648, 655, 796, 775, 677, 678, 679, 0, - 0, 0, 0, 0, 0, 0, 709, 718, 750, 702, - 340, 261, 277, 297, 697, 269, 689, 0, 0, 0, - 0, 0, 0, 0, 0, 675, 0, 728, 0, 0, - 0, 656, 649, 0, 0, 707, 0, 0, 0, 661, - 640, 676, 752, 0, 638, 235, 144, 757, 774, 1524, - 199, 350, 778, 701, 700, 1519, 0, 1520, 189, 209, - 634, 128, 142, 1517, 1523, 246, 749, 291, 688, 639, - 761, 672, 684, 166, 680, 283, 254, 339, 0, 725, - 282, 212, 329, 745, 779, 338, 693, 800, 347, 352, - 0, 715, 659, 306, 176, 0, 133, 0, 268, 171, - 204, 703, 740, 673, 163, 747, 729, 767, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 699, 294, 293, 694, - 195, 755, 732, 645, 276, 743, 200, 132, 318, 355, - 149, 206, 323, 637, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 187, 685, 744, 754, - 274, 296, 325, 151, 313, 681, 682, 687, 751, 285, - 762, 772, 785, 134, 319, 337, 156, 295, 298, 353, - 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, - 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, - 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, - 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, - 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, - 217, 221, 0, 646, 0, 311, 342, 357, 153, 668, - 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, - 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, - 307, 666, 667, 664, 0, 665, 720, 721, 788, 789, - 790, 753, 658, 0, 769, 770, 0, 0, 0, 0, - 0, 759, 776, 777, 742, 798, 696, 663, 647, 650, - 651, 652, 660, 711, 712, 724, 727, 765, 764, 763, - 766, 771, 794, 793, 795, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 723, 131, 140, 210, - 799, 275, 182, 343, 642, 173, 0, 713, 716, 726, - 748, 129, 141, 152, 158, 172, 177, 181, 190, 193, - 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, - 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, - 264, 272, 746, 280, 286, 288, 289, 290, 292, 301, - 302, 303, 304, 312, 317, 330, 331, 349, 351, 773, - 781, 758, 321, 706, 784, 670, 692, 797, 695, 698, - 739, 653, 719, 250, 690, 654, 0, 674, 643, 683, - 644, 671, 708, 175, 669, 760, 722, 783, 208, 735, - 0, 165, 216, 214, 0, 0, 0, 257, 320, 782, - 714, 0, 791, 211, 0, 731, 792, 309, 234, 0, - 0, 710, 768, 717, 756, 705, 741, 662, 730, 786, - 691, 737, 787, 0, 0, 0, 0, 126, 0, 0, - 0, 0, 0, 0, 0, 0, 657, 0, 734, 780, - 686, 736, 738, 641, 733, 0, 648, 655, 796, 775, - 677, 678, 679, 0, 0, 0, 0, 0, 0, 0, - 709, 718, 750, 702, 340, 261, 277, 297, 697, 269, - 689, 0, 0, 0, 0, 0, 0, 0, 0, 675, - 0, 728, 0, 0, 0, 656, 649, 0, 0, 707, - 0, 0, 0, 661, 640, 676, 752, 0, 638, 235, - 144, 757, 774, 704, 199, 350, 778, 701, 700, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 749, 291, 688, 639, 761, 672, 684, 166, 680, 283, - 254, 339, 0, 725, 282, 212, 329, 745, 779, 338, - 693, 800, 347, 352, 0, 715, 659, 306, 176, 0, - 133, 0, 268, 171, 204, 703, 740, 673, 163, 747, - 729, 767, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 699, 294, 293, 694, 195, 755, 732, 645, 276, 743, - 200, 132, 318, 355, 149, 206, 323, 637, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, - 187, 685, 744, 754, 274, 296, 325, 151, 313, 681, - 682, 687, 751, 285, 762, 772, 785, 134, 319, 337, - 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, - 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, - 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, - 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, - 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, - 192, 237, 236, 238, 217, 221, 0, 646, 0, 311, - 342, 357, 153, 668, 299, 324, 0, 0, 154, 184, - 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, - 253, 284, 157, 341, 307, 666, 667, 664, 0, 665, - 720, 721, 788, 789, 790, 753, 658, 0, 769, 770, - 0, 0, 0, 0, 0, 759, 776, 777, 742, 798, - 696, 663, 647, 650, 651, 652, 660, 711, 712, 724, - 727, 765, 764, 763, 766, 771, 794, 793, 795, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 723, 131, 140, 210, 799, 275, 182, 343, 642, 173, - 0, 713, 716, 726, 748, 129, 141, 152, 158, 172, - 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, - 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, - 259, 260, 262, 263, 264, 272, 746, 280, 286, 288, - 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, - 331, 349, 351, 773, 781, 758, 321, 706, 784, 670, - 692, 797, 695, 698, 739, 653, 719, 250, 690, 654, - 0, 674, 643, 683, 644, 671, 708, 175, 669, 760, - 722, 783, 208, 735, 0, 165, 216, 214, 0, 0, - 0, 257, 320, 782, 714, 0, 791, 211, 0, 731, - 792, 309, 234, 0, 0, 710, 768, 717, 756, 705, - 741, 662, 730, 786, 691, 737, 787, 0, 0, 0, - 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 657, 0, 734, 780, 686, 736, 738, 641, 733, 0, - 648, 655, 796, 775, 677, 678, 679, 0, 0, 0, - 0, 0, 0, 0, 709, 718, 750, 702, 340, 261, - 277, 297, 697, 269, 689, 0, 0, 0, 0, 0, - 0, 0, 0, 675, 0, 728, 0, 0, 0, 656, - 649, 0, 0, 707, 0, 0, 0, 661, 640, 676, - 752, 0, 638, 235, 144, 757, 774, 704, 199, 350, - 778, 701, 700, 271, 0, 315, 189, 209, 634, 128, - 142, 630, 188, 246, 749, 291, 688, 639, 761, 672, - 684, 166, 680, 283, 254, 339, 0, 725, 282, 212, - 329, 745, 779, 338, 693, 800, 347, 352, 0, 715, - 659, 306, 176, 0, 133, 0, 268, 171, 204, 703, - 740, 673, 163, 747, 729, 767, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 699, 294, 293, 694, 195, 755, - 732, 645, 276, 743, 200, 132, 318, 355, 149, 206, - 323, 637, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 187, 685, 744, 754, 274, 296, - 325, 151, 313, 681, 682, 687, 751, 285, 762, 772, - 785, 134, 319, 337, 156, 295, 298, 353, 281, 137, - 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, - 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, - 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, - 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, - 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, - 0, 646, 0, 311, 342, 357, 153, 668, 299, 324, - 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, - 205, 213, 278, 354, 253, 284, 157, 341, 307, 666, - 667, 664, 0, 665, 720, 721, 788, 789, 790, 753, - 658, 0, 769, 770, 0, 0, 0, 0, 0, 759, - 776, 777, 742, 798, 696, 663, 647, 650, 651, 652, - 660, 711, 712, 724, 727, 765, 764, 763, 766, 771, - 794, 793, 795, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 723, 131, 140, 210, 799, 275, - 182, 343, 642, 173, 0, 713, 716, 726, 748, 129, - 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, - 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, - 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, - 746, 280, 286, 288, 289, 290, 292, 301, 302, 303, - 304, 312, 317, 330, 331, 349, 351, 773, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 0, 0, 0, 0, 505, 0, 0, 0, 175, - 502, 0, 0, 0, 208, 0, 0, 165, 216, 214, - 0, 0, 0, 257, 320, 0, 0, 0, 580, 211, - 0, 0, 482, 309, 234, 0, 0, 0, 0, 567, - 568, 0, 0, 0, 0, 0, 0, 1499, 0, 81, - 0, 0, 0, 503, 527, 526, 529, 530, 531, 532, - 0, 0, 486, 528, 533, 562, 563, 1500, 0, 0, - 500, 518, 0, 579, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, - 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, - 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 144, 570, 0, 0, - 199, 350, 0, 0, 592, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 577, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 569, 0, - 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, - 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, - 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, - 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, - 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, - 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, - 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, - 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, - 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, - 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, - 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, - 307, 581, 593, 587, 589, 588, 585, 586, 584, 583, - 582, 595, 571, 572, 573, 574, 575, 0, 0, 0, - 578, 0, 590, 591, 0, 0, 0, 0, 534, 535, - 536, 537, 538, 542, 543, 547, 548, 556, 555, 554, - 557, 558, 560, 559, 561, 539, 540, 541, 544, 545, - 546, 549, 550, 553, 551, 552, 576, 131, 140, 210, - 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, - 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, - 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, - 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, - 302, 303, 304, 312, 317, 330, 331, 349, 351, 36, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 0, 0, 0, 0, 0, 505, 0, 0, - 0, 175, 502, 0, 0, 0, 208, 0, 0, 165, - 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, - 580, 211, 0, 0, 482, 309, 234, 0, 0, 0, - 0, 567, 568, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 503, 527, 526, 529, 530, - 531, 532, 0, 0, 486, 528, 533, 562, 563, 0, - 0, 0, 500, 518, 0, 579, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, - 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, - 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 144, 570, - 0, 0, 199, 350, 0, 0, 592, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, - 577, 0, 0, 0, 0, 166, 0, 283, 254, 339, - 569, 0, 282, 212, 329, 0, 0, 338, 0, 476, - 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, - 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, - 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, - 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, - 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, - 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, - 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, - 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, - 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, - 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, - 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, - 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, - 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, - 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, - 157, 341, 307, 581, 593, 587, 589, 588, 585, 586, - 584, 583, 582, 595, 571, 572, 573, 574, 575, 0, - 0, 0, 578, 0, 590, 591, 0, 0, 0, 0, - 534, 535, 536, 537, 538, 542, 543, 547, 548, 556, - 555, 554, 557, 558, 560, 559, 561, 539, 540, 541, - 544, 545, 546, 549, 550, 553, 551, 552, 576, 131, - 140, 210, 79, 275, 182, 343, 0, 173, 0, 0, - 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, - 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, - 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, - 262, 263, 264, 272, 0, 280, 286, 288, 289, 290, - 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, - 351, 321, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 250, 0, 0, 0, 0, 0, 505, 0, - 0, 0, 175, 502, 0, 0, 0, 208, 0, 0, - 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, - 0, 580, 211, 0, 0, 482, 309, 234, 0, 0, - 0, 0, 567, 568, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 0, 0, 503, 527, 526, 529, - 530, 531, 532, 0, 0, 486, 528, 533, 562, 563, - 0, 0, 0, 500, 518, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, - 0, 0, 0, 0, 515, 516, 496, 0, 0, 0, - 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 144, - 570, 0, 0, 199, 350, 0, 0, 592, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, - 291, 577, 0, 0, 0, 0, 166, 0, 283, 254, - 339, 569, 0, 282, 212, 329, 0, 0, 338, 0, - 476, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, - 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, - 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, - 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, - 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, - 270, 332, 333, 167, 356, 145, 346, 139, 146, 345, - 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, - 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, - 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, - 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, - 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, - 284, 157, 341, 307, 581, 593, 587, 589, 588, 585, - 586, 584, 583, 582, 595, 571, 572, 573, 574, 575, - 0, 0, 0, 578, 0, 590, 591, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 542, 543, 547, 548, - 556, 555, 554, 557, 558, 560, 559, 561, 539, 540, - 541, 544, 545, 546, 549, 550, 553, 551, 552, 576, - 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, - 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, - 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, - 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, - 260, 262, 263, 264, 272, 0, 280, 286, 288, 289, - 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, - 349, 351, 321, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 250, 0, 0, 0, 0, 0, 505, - 0, 0, 0, 175, 502, 0, 0, 0, 208, 0, - 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, - 0, 0, 580, 211, 0, 0, 482, 309, 234, 0, - 0, 0, 0, 567, 568, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 961, 0, 503, 527, 526, - 529, 530, 531, 532, 0, 0, 486, 528, 533, 562, - 563, 0, 0, 0, 500, 518, 0, 579, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, - 0, 0, 0, 0, 0, 515, 516, 0, 0, 0, - 0, 594, 0, 517, 0, 0, 512, 513, 514, 519, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 144, 570, 0, 0, 199, 350, 0, 0, 592, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 0, 291, 577, 0, 0, 0, 0, 166, 0, 283, - 254, 339, 569, 0, 282, 212, 329, 0, 0, 338, - 0, 476, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, - 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, - 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, - 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, - 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, - 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, - 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, - 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, - 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, - 342, 357, 153, 0, 299, 324, 0, 0, 154, 184, - 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, - 253, 284, 157, 341, 307, 581, 593, 587, 589, 588, - 585, 586, 584, 583, 582, 595, 571, 572, 573, 574, - 575, 0, 0, 0, 578, 0, 590, 591, 0, 0, - 0, 0, 534, 535, 536, 537, 538, 542, 543, 547, - 548, 556, 555, 554, 557, 558, 560, 559, 561, 539, - 540, 541, 544, 545, 546, 549, 550, 553, 551, 552, - 576, 131, 140, 210, 0, 275, 182, 343, 0, 173, - 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, - 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, - 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, - 259, 260, 262, 263, 264, 272, 0, 280, 286, 288, - 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, - 331, 349, 351, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, - 505, 0, 0, 0, 175, 502, 0, 0, 0, 208, - 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, - 0, 0, 0, 580, 211, 0, 0, 482, 309, 234, - 0, 0, 0, 0, 567, 568, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 503, 527, - 526, 529, 530, 531, 532, 0, 0, 486, 528, 533, - 562, 563, 0, 0, 0, 500, 518, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 340, 261, 277, 297, 0, - 269, 0, 0, 0, 0, 0, 515, 516, 1387, 0, - 0, 0, 594, 0, 517, 0, 0, 512, 513, 514, - 519, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 144, 570, 0, 0, 199, 350, 0, 0, 592, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 0, 291, 577, 0, 0, 0, 0, 166, 0, - 283, 254, 339, 569, 0, 282, 212, 329, 0, 0, - 338, 0, 476, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 0, 0, 0, 0, 0, 0, 509, 0, 0, 0, + 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2509, 75, 0, + 53, 54, 61, 0, 62, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 794, 770, 328, + 717, 797, 681, 703, 810, 706, 709, 751, 664, 730, + 255, 701, 665, 0, 685, 654, 694, 655, 682, 719, + 175, 680, 772, 733, 796, 212, 746, 0, 165, 220, + 218, 0, 125, 0, 262, 327, 795, 725, 0, 804, + 215, 0, 742, 805, 315, 239, 0, 0, 721, 781, + 728, 768, 716, 753, 673, 741, 799, 702, 748, 800, + 0, 0, 632, 0, 2571, 73, 0, 0, 0, 0, + 0, 0, 125, 668, 0, 745, 793, 697, 747, 750, + 652, 744, 0, 659, 666, 809, 788, 688, 689, 690, + 0, 0, 0, 0, 0, 0, 0, 720, 729, 762, + 713, 347, 266, 282, 303, 708, 274, 700, 0, 0, + 0, 0, 0, 0, 79, 0, 686, 0, 739, 0, + 0, 0, 667, 660, 0, 0, 718, 0, 0, 0, + 672, 651, 687, 764, 0, 649, 240, 144, 769, 787, + 715, 203, 358, 791, 712, 711, 276, 0, 322, 191, + 213, 148, 128, 142, 159, 190, 251, 761, 297, 699, + 650, 773, 683, 695, 166, 691, 289, 259, 346, 0, + 736, 288, 216, 336, 757, 792, 345, 704, 775, 355, + 360, 0, 726, 670, 312, 176, 0, 133, 0, 273, + 171, 208, 714, 752, 684, 163, 759, 740, 780, 311, + 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, + 333, 155, 164, 316, 293, 323, 170, 0, 0, 2574, + 2575, 2576, 0, 0, 0, 0, 351, 710, 300, 299, + 705, 198, 767, 743, 656, 281, 755, 204, 132, 325, + 363, 149, 210, 330, 648, 185, 250, 168, 260, 261, + 182, 130, 278, 232, 233, 231, 234, 189, 696, 756, + 766, 279, 302, 332, 151, 319, 692, 693, 698, 763, + 291, 774, 785, 798, 223, 178, 181, 192, 199, 749, + 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, + 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, + 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, + 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, + 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, + 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, + 243, 221, 226, 0, 657, 0, 317, 349, 365, 153, + 679, 305, 331, 0, 0, 154, 186, 179, 270, 245, + 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, + 348, 313, 677, 678, 675, 0, 676, 731, 732, 801, + 802, 803, 765, 669, 0, 782, 783, 0, 0, 0, + 0, 0, 771, 789, 790, 754, 811, 707, 674, 658, + 661, 662, 663, 671, 722, 723, 735, 738, 778, 777, + 776, 779, 784, 807, 806, 808, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 734, 131, 140, + 214, 812, 280, 184, 350, 653, 173, 0, 724, 727, + 737, 760, 129, 141, 152, 158, 172, 177, 183, 193, + 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, + 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, + 268, 269, 277, 758, 285, 292, 294, 295, 296, 298, + 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, + 786, 794, 770, 328, 717, 797, 681, 703, 810, 706, + 709, 751, 664, 730, 255, 701, 665, 0, 685, 654, + 694, 655, 682, 719, 175, 680, 772, 733, 796, 212, + 746, 0, 165, 220, 218, 0, 0, 0, 262, 327, + 795, 725, 0, 804, 215, 0, 742, 805, 315, 239, + 0, 0, 721, 781, 728, 768, 716, 753, 673, 741, + 799, 702, 748, 800, 0, 0, 0, 0, 646, 0, + 1542, 1543, 0, 0, 0, 0, 0, 668, 0, 745, + 793, 697, 747, 750, 652, 744, 0, 659, 666, 809, + 788, 688, 689, 690, 1827, 0, 0, 0, 0, 0, + 0, 720, 729, 762, 713, 347, 266, 282, 303, 708, + 274, 700, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 739, 0, 0, 0, 667, 660, 0, 0, + 718, 0, 0, 0, 672, 651, 687, 764, 0, 649, + 240, 144, 769, 787, 715, 203, 358, 791, 712, 711, + 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, + 251, 761, 297, 699, 650, 773, 683, 695, 166, 691, + 289, 259, 346, 0, 736, 288, 216, 336, 757, 792, + 345, 704, 775, 355, 360, 0, 726, 670, 312, 176, + 0, 133, 0, 273, 171, 208, 714, 752, 684, 163, + 759, 740, 780, 311, 334, 150, 329, 238, 244, 160, + 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 351, 710, 300, 299, 705, 198, 767, 743, 656, 281, + 755, 204, 132, 325, 363, 149, 210, 330, 648, 185, + 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, + 234, 189, 696, 756, 766, 279, 302, 332, 151, 319, + 692, 693, 698, 763, 291, 774, 785, 798, 223, 178, + 181, 192, 199, 749, 286, 320, 352, 0, 134, 326, + 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, + 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, + 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, + 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, + 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, + 272, 195, 242, 241, 243, 221, 226, 0, 657, 0, + 317, 349, 365, 153, 679, 305, 331, 0, 0, 154, + 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, + 362, 258, 290, 157, 348, 313, 677, 678, 675, 0, + 676, 731, 732, 801, 802, 803, 765, 669, 0, 782, + 783, 0, 0, 0, 0, 0, 771, 789, 790, 754, + 811, 707, 674, 658, 661, 662, 663, 671, 722, 723, + 735, 738, 778, 777, 776, 779, 784, 807, 806, 808, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 734, 131, 140, 214, 812, 280, 184, 350, 653, + 173, 0, 724, 727, 737, 760, 129, 141, 152, 158, + 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, + 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, + 263, 264, 265, 267, 268, 269, 277, 758, 285, 292, + 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, + 337, 338, 357, 359, 786, 794, 770, 328, 717, 797, + 681, 703, 810, 706, 709, 751, 664, 730, 255, 701, + 665, 0, 685, 654, 694, 655, 682, 719, 175, 680, + 772, 733, 796, 212, 746, 0, 165, 220, 218, 0, + 0, 0, 262, 327, 795, 725, 0, 804, 215, 0, + 742, 805, 315, 239, 0, 0, 721, 781, 728, 768, + 716, 753, 673, 741, 799, 702, 748, 800, 0, 0, + 0, 0, 646, 0, 1542, 1543, 0, 0, 0, 0, + 0, 668, 0, 745, 793, 697, 747, 750, 652, 744, + 0, 659, 666, 809, 788, 688, 689, 690, 0, 0, + 0, 0, 0, 0, 0, 720, 729, 762, 713, 347, + 266, 282, 303, 708, 274, 700, 0, 0, 0, 0, + 0, 0, 0, 0, 686, 0, 739, 0, 0, 0, + 667, 660, 0, 0, 718, 0, 0, 0, 672, 651, + 687, 764, 0, 649, 240, 144, 769, 787, 715, 203, + 358, 791, 712, 711, 276, 0, 322, 191, 213, 148, + 128, 142, 159, 190, 251, 761, 297, 699, 650, 773, + 683, 695, 166, 691, 289, 259, 346, 0, 736, 288, + 216, 336, 757, 792, 345, 704, 775, 355, 360, 0, + 726, 670, 312, 176, 0, 133, 0, 273, 171, 208, + 714, 752, 684, 163, 759, 740, 780, 311, 334, 150, + 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, + 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 351, 710, 300, 299, 705, 198, + 767, 743, 656, 281, 755, 204, 132, 325, 363, 149, + 210, 330, 648, 185, 250, 168, 260, 261, 182, 130, + 278, 232, 233, 231, 234, 189, 696, 756, 766, 279, + 302, 332, 151, 319, 692, 693, 698, 763, 291, 774, + 785, 798, 223, 178, 181, 192, 199, 749, 286, 320, + 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, + 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, + 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, + 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, + 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, + 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, + 226, 0, 657, 0, 317, 349, 365, 153, 679, 305, + 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, + 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, + 677, 678, 675, 0, 676, 731, 732, 801, 802, 803, + 765, 669, 0, 782, 783, 0, 0, 0, 0, 0, + 771, 789, 790, 754, 811, 707, 674, 658, 661, 662, + 663, 671, 722, 723, 735, 738, 778, 777, 776, 779, + 784, 807, 806, 808, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 734, 131, 140, 214, 812, + 280, 184, 350, 653, 173, 0, 724, 727, 737, 760, + 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, + 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, + 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, + 277, 758, 285, 292, 294, 295, 296, 298, 307, 308, + 309, 310, 318, 324, 337, 338, 357, 359, 786, 794, + 2041, 328, 717, 797, 681, 703, 810, 706, 709, 751, + 664, 730, 255, 701, 665, 0, 685, 654, 694, 655, + 682, 719, 175, 680, 772, 733, 796, 212, 746, 0, + 165, 220, 218, 0, 0, 0, 262, 327, 795, 725, + 0, 804, 215, 0, 742, 805, 315, 239, 0, 0, + 721, 781, 728, 768, 716, 753, 673, 741, 799, 702, + 748, 800, 81, 0, 987, 0, 646, 0, 0, 0, + 0, 0, 0, 0, 0, 668, 0, 745, 793, 697, + 747, 750, 652, 744, 0, 659, 666, 809, 788, 688, + 689, 690, 0, 0, 0, 0, 0, 0, 0, 720, + 729, 762, 713, 347, 266, 282, 303, 708, 274, 700, + 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, + 739, 0, 0, 0, 667, 660, 0, 0, 718, 0, + 0, 0, 672, 651, 687, 764, 0, 649, 240, 144, + 769, 787, 715, 203, 358, 791, 712, 711, 276, 0, + 322, 191, 213, 148, 128, 142, 159, 190, 251, 761, + 297, 699, 650, 773, 683, 695, 166, 691, 289, 259, + 346, 0, 736, 288, 216, 336, 757, 792, 345, 704, + 775, 355, 360, 0, 726, 670, 312, 176, 0, 133, + 0, 273, 171, 208, 714, 752, 684, 163, 759, 740, + 780, 311, 334, 150, 329, 238, 244, 160, 162, 161, + 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 351, 710, + 300, 299, 705, 198, 767, 743, 656, 281, 755, 204, + 132, 325, 363, 149, 210, 330, 648, 185, 250, 168, + 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, + 696, 756, 766, 279, 302, 332, 151, 319, 692, 693, + 698, 763, 291, 774, 785, 798, 223, 178, 181, 192, + 199, 749, 286, 320, 352, 0, 134, 326, 344, 156, + 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, + 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, + 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, + 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, + 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, + 242, 241, 243, 221, 226, 0, 657, 0, 317, 349, + 365, 153, 679, 305, 331, 0, 0, 154, 186, 179, + 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, + 290, 157, 348, 313, 677, 678, 675, 0, 676, 731, + 732, 801, 802, 803, 765, 669, 0, 782, 783, 0, + 0, 0, 0, 0, 771, 789, 790, 754, 811, 707, + 674, 658, 661, 662, 663, 671, 722, 723, 735, 738, + 778, 777, 776, 779, 784, 807, 806, 808, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, + 131, 140, 214, 2042, 280, 184, 350, 653, 173, 0, + 724, 727, 737, 760, 129, 141, 152, 158, 172, 177, + 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, + 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, + 265, 267, 268, 269, 277, 758, 285, 292, 294, 295, + 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, + 357, 359, 786, 794, 770, 328, 717, 797, 681, 703, + 810, 706, 709, 751, 664, 730, 255, 701, 665, 0, + 685, 654, 694, 655, 682, 719, 175, 680, 772, 733, + 796, 212, 746, 0, 165, 220, 218, 0, 0, 0, + 262, 327, 795, 725, 0, 804, 215, 0, 742, 805, + 315, 239, 0, 0, 721, 781, 728, 768, 716, 753, + 673, 741, 799, 702, 748, 800, 0, 0, 0, 0, + 646, 0, 0, 0, 0, 0, 0, 0, 0, 668, + 0, 745, 793, 697, 747, 750, 652, 744, 0, 659, + 666, 809, 788, 688, 689, 690, 0, 0, 0, 0, + 0, 0, 0, 720, 729, 762, 713, 347, 266, 282, + 303, 708, 274, 700, 0, 0, 0, 0, 0, 0, + 2338, 0, 686, 0, 739, 0, 0, 0, 667, 660, + 0, 0, 718, 0, 0, 0, 672, 651, 687, 764, + 0, 649, 240, 144, 769, 787, 715, 203, 358, 791, + 712, 711, 276, 0, 322, 191, 213, 148, 128, 142, + 159, 190, 251, 761, 297, 699, 650, 773, 683, 695, + 166, 691, 289, 259, 346, 0, 736, 288, 216, 336, + 757, 792, 345, 704, 775, 355, 360, 0, 726, 670, + 312, 176, 0, 133, 0, 273, 171, 208, 714, 752, + 684, 163, 759, 740, 780, 311, 334, 150, 329, 238, + 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, + 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 351, 710, 300, 299, 705, 198, 767, 743, + 656, 281, 755, 204, 132, 325, 363, 149, 210, 330, + 648, 185, 250, 168, 260, 261, 182, 130, 278, 232, + 233, 231, 234, 189, 696, 756, 766, 279, 302, 332, + 151, 319, 692, 693, 698, 763, 291, 774, 785, 798, + 223, 178, 181, 192, 199, 749, 286, 320, 352, 0, + 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, + 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, + 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, + 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, + 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, + 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, + 657, 0, 317, 349, 365, 153, 679, 305, 331, 0, + 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, + 217, 283, 362, 258, 290, 157, 348, 313, 677, 678, + 675, 0, 676, 731, 732, 801, 802, 803, 765, 669, + 0, 782, 783, 0, 0, 0, 0, 0, 771, 789, + 790, 754, 811, 707, 674, 658, 661, 662, 663, 671, + 722, 723, 735, 738, 778, 777, 776, 779, 784, 807, + 806, 808, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 734, 131, 140, 214, 812, 280, 184, + 350, 653, 173, 0, 724, 727, 737, 760, 129, 141, + 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, + 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, + 256, 257, 263, 264, 265, 267, 268, 269, 277, 758, + 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, + 318, 324, 337, 338, 357, 359, 786, 794, 770, 328, + 717, 797, 681, 703, 810, 706, 709, 751, 664, 730, + 255, 701, 665, 0, 685, 654, 694, 655, 682, 719, + 175, 680, 772, 733, 796, 212, 746, 0, 165, 220, + 218, 0, 0, 0, 262, 327, 795, 725, 0, 804, + 215, 0, 742, 805, 315, 239, 0, 0, 721, 781, + 728, 768, 716, 753, 673, 741, 799, 702, 748, 800, + 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, + 0, 0, 0, 668, 0, 745, 793, 697, 747, 750, + 652, 744, 0, 659, 666, 809, 788, 688, 689, 690, + 0, 0, 0, 0, 0, 0, 0, 720, 729, 762, + 713, 347, 266, 282, 303, 708, 274, 700, 0, 0, + 0, 0, 0, 0, 1977, 0, 686, 0, 739, 0, + 0, 0, 667, 660, 0, 0, 718, 0, 0, 0, + 672, 651, 687, 764, 0, 649, 240, 144, 769, 787, + 715, 203, 358, 791, 712, 711, 276, 0, 322, 191, + 213, 148, 128, 142, 159, 190, 251, 761, 297, 699, + 650, 773, 683, 695, 166, 691, 289, 259, 346, 0, + 736, 288, 216, 336, 757, 792, 345, 704, 775, 355, + 360, 0, 726, 670, 312, 176, 0, 133, 0, 273, + 171, 208, 714, 752, 684, 163, 759, 740, 780, 311, + 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, + 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 351, 710, 300, 299, + 705, 198, 767, 743, 656, 281, 755, 204, 132, 325, + 363, 149, 210, 330, 648, 185, 250, 168, 260, 261, + 182, 130, 278, 232, 233, 231, 234, 189, 696, 756, + 766, 279, 302, 332, 151, 319, 692, 693, 698, 763, + 291, 774, 785, 798, 223, 178, 181, 192, 199, 749, + 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, + 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, + 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, + 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, + 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, + 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, + 243, 221, 226, 0, 657, 0, 317, 349, 365, 153, + 679, 305, 331, 0, 0, 154, 186, 179, 270, 245, + 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, + 348, 313, 677, 678, 675, 0, 676, 731, 732, 801, + 802, 803, 765, 669, 0, 782, 783, 0, 0, 0, + 0, 0, 771, 789, 790, 754, 811, 707, 674, 658, + 661, 662, 663, 671, 722, 723, 735, 738, 778, 777, + 776, 779, 784, 807, 806, 808, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 734, 131, 140, + 214, 812, 280, 184, 350, 653, 173, 0, 724, 727, + 737, 760, 129, 141, 152, 158, 172, 177, 183, 193, + 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, + 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, + 268, 269, 277, 758, 285, 292, 294, 295, 296, 298, + 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, + 786, 794, 770, 328, 717, 797, 681, 703, 810, 706, + 709, 751, 664, 730, 255, 701, 665, 0, 685, 654, + 694, 655, 682, 719, 175, 680, 772, 733, 796, 212, + 746, 0, 165, 220, 218, 0, 0, 0, 262, 327, + 795, 725, 0, 804, 215, 0, 742, 805, 315, 239, + 0, 0, 721, 781, 728, 768, 716, 753, 673, 741, + 799, 702, 748, 800, 0, 0, 0, 0, 646, 0, + 0, 0, 0, 0, 0, 0, 0, 668, 0, 745, + 793, 697, 747, 750, 652, 744, 0, 659, 666, 809, + 788, 688, 689, 690, 0, 0, 0, 0, 0, 0, + 0, 720, 729, 762, 713, 347, 266, 282, 303, 708, + 274, 700, 0, 0, 0, 0, 0, 0, 1967, 0, + 686, 0, 739, 0, 0, 0, 667, 660, 0, 0, + 718, 0, 0, 0, 672, 651, 687, 764, 0, 649, + 240, 144, 769, 787, 715, 203, 358, 791, 712, 711, + 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, + 251, 761, 297, 699, 650, 773, 683, 695, 166, 691, + 289, 259, 346, 0, 736, 288, 216, 336, 757, 792, + 345, 704, 775, 355, 360, 0, 726, 670, 312, 176, + 0, 133, 0, 273, 171, 208, 714, 752, 684, 163, + 759, 740, 780, 311, 334, 150, 329, 238, 244, 160, + 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 351, 710, 300, 299, 705, 198, 767, 743, 656, 281, + 755, 204, 132, 325, 363, 149, 210, 330, 648, 185, + 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, + 234, 189, 696, 756, 766, 279, 302, 332, 151, 319, + 692, 693, 698, 763, 291, 774, 785, 798, 223, 178, + 181, 192, 199, 749, 286, 320, 352, 0, 134, 326, + 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, + 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, + 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, + 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, + 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, + 272, 195, 242, 241, 243, 221, 226, 0, 657, 0, + 317, 349, 365, 153, 679, 305, 331, 0, 0, 154, + 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, + 362, 258, 290, 157, 348, 313, 677, 678, 675, 0, + 676, 731, 732, 801, 802, 803, 765, 669, 0, 782, + 783, 0, 0, 0, 0, 0, 771, 789, 790, 754, + 811, 707, 674, 658, 661, 662, 663, 671, 722, 723, + 735, 738, 778, 777, 776, 779, 784, 807, 806, 808, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 734, 131, 140, 214, 812, 280, 184, 350, 653, + 173, 0, 724, 727, 737, 760, 129, 141, 152, 158, + 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, + 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, + 263, 264, 265, 267, 268, 269, 277, 758, 285, 292, + 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, + 337, 338, 357, 359, 786, 794, 770, 328, 717, 797, + 681, 703, 810, 706, 709, 751, 664, 730, 255, 701, + 665, 0, 685, 654, 694, 655, 682, 719, 175, 680, + 772, 733, 796, 212, 746, 0, 165, 220, 218, 0, + 0, 0, 262, 327, 795, 725, 0, 804, 215, 0, + 742, 805, 315, 239, 0, 0, 721, 781, 728, 768, + 716, 753, 673, 741, 799, 702, 748, 800, 0, 0, + 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, + 0, 668, 0, 745, 793, 697, 747, 750, 652, 744, + 0, 659, 666, 809, 788, 688, 689, 690, 0, 0, + 0, 0, 0, 0, 0, 720, 729, 762, 713, 347, + 266, 282, 303, 708, 274, 700, 0, 0, 0, 0, + 0, 0, 1521, 0, 686, 0, 739, 0, 0, 0, + 667, 660, 0, 0, 718, 0, 0, 0, 672, 651, + 687, 764, 0, 649, 240, 144, 769, 787, 715, 203, + 358, 791, 712, 711, 276, 0, 322, 191, 213, 148, + 128, 142, 159, 190, 251, 761, 297, 699, 650, 773, + 683, 695, 166, 691, 289, 259, 346, 0, 736, 288, + 216, 336, 757, 792, 345, 704, 775, 355, 360, 0, + 726, 670, 312, 176, 0, 133, 0, 273, 171, 208, + 714, 752, 684, 163, 759, 740, 780, 311, 334, 150, + 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, + 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 351, 710, 300, 299, 705, 198, + 767, 743, 656, 281, 755, 204, 132, 325, 363, 149, + 210, 330, 648, 185, 250, 168, 260, 261, 182, 130, + 278, 232, 233, 231, 234, 189, 696, 756, 766, 279, + 302, 332, 151, 319, 692, 693, 698, 763, 291, 774, + 785, 798, 223, 178, 181, 192, 199, 749, 286, 320, + 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, + 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, + 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, + 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, + 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, + 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, + 226, 0, 657, 0, 317, 349, 365, 153, 679, 305, + 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, + 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, + 677, 678, 675, 0, 676, 731, 732, 801, 802, 803, + 765, 669, 0, 782, 783, 0, 0, 0, 0, 0, + 771, 789, 790, 754, 811, 707, 674, 658, 661, 662, + 663, 671, 722, 723, 735, 738, 778, 777, 776, 779, + 784, 807, 806, 808, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 734, 131, 140, 214, 812, + 280, 184, 350, 653, 173, 0, 724, 727, 737, 760, + 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, + 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, + 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, + 277, 758, 285, 292, 294, 295, 296, 298, 307, 308, + 309, 310, 318, 324, 337, 338, 357, 359, 786, 794, + 770, 328, 717, 797, 681, 703, 810, 706, 709, 751, + 664, 730, 255, 701, 665, 0, 685, 654, 694, 655, + 682, 719, 175, 680, 772, 733, 796, 212, 746, 0, + 165, 220, 218, 0, 0, 0, 262, 327, 795, 725, + 0, 804, 215, 0, 742, 805, 315, 239, 0, 0, + 721, 781, 728, 768, 716, 753, 673, 741, 799, 702, + 748, 800, 0, 0, 0, 0, 514, 0, 0, 0, + 0, 0, 0, 0, 0, 668, 0, 745, 793, 697, + 747, 750, 652, 744, 0, 659, 666, 809, 788, 688, + 689, 690, 0, 0, 0, 0, 0, 0, 0, 720, + 729, 762, 713, 347, 266, 282, 303, 708, 274, 700, + 0, 0, 0, 0, 0, 0, 1381, 0, 686, 0, + 739, 0, 0, 0, 667, 660, 0, 0, 718, 0, + 0, 0, 672, 651, 687, 764, 0, 649, 240, 144, + 769, 787, 715, 203, 358, 791, 712, 711, 276, 0, + 322, 191, 213, 148, 128, 142, 159, 190, 251, 761, + 297, 699, 650, 773, 683, 695, 166, 691, 289, 259, + 346, 0, 736, 288, 216, 336, 757, 792, 345, 704, + 775, 355, 360, 0, 726, 670, 312, 176, 0, 133, + 0, 273, 171, 208, 714, 752, 684, 163, 759, 740, + 780, 311, 334, 150, 329, 238, 244, 160, 162, 161, + 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 351, 710, + 300, 299, 705, 198, 767, 743, 656, 281, 755, 204, + 132, 325, 363, 149, 210, 330, 648, 185, 250, 168, + 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, + 696, 756, 766, 279, 302, 332, 151, 319, 692, 693, + 698, 763, 291, 774, 785, 798, 223, 178, 181, 192, + 199, 749, 286, 320, 352, 0, 134, 326, 344, 156, + 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, + 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, + 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, + 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, + 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, + 242, 241, 243, 221, 226, 0, 657, 0, 317, 349, + 365, 153, 679, 305, 331, 0, 0, 154, 186, 179, + 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, + 290, 157, 348, 313, 677, 678, 675, 0, 676, 731, + 732, 801, 802, 803, 765, 669, 0, 782, 783, 0, + 0, 0, 0, 0, 771, 789, 790, 754, 811, 707, + 674, 658, 661, 662, 663, 671, 722, 723, 735, 738, + 778, 777, 776, 779, 784, 807, 806, 808, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, + 131, 140, 214, 812, 280, 184, 350, 653, 173, 0, + 724, 727, 737, 760, 129, 141, 152, 158, 172, 177, + 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, + 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, + 265, 267, 268, 269, 277, 758, 285, 292, 294, 295, + 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, + 357, 359, 786, 794, 770, 328, 717, 797, 681, 703, + 810, 706, 709, 751, 664, 730, 255, 701, 665, 0, + 685, 654, 694, 655, 682, 719, 175, 680, 772, 733, + 796, 212, 746, 0, 165, 220, 218, 0, 0, 0, + 262, 327, 795, 725, 0, 804, 215, 0, 742, 805, + 315, 239, 0, 0, 721, 781, 728, 768, 716, 753, + 673, 741, 799, 702, 748, 800, 0, 0, 0, 0, + 646, 0, 0, 0, 0, 0, 0, 0, 0, 668, + 0, 745, 793, 697, 747, 750, 652, 744, 0, 659, + 666, 809, 788, 688, 689, 690, 0, 0, 0, 0, + 0, 0, 0, 720, 729, 762, 713, 347, 266, 282, + 303, 708, 274, 700, 0, 0, 0, 0, 0, 0, + 0, 0, 686, 0, 739, 0, 0, 0, 667, 660, + 0, 0, 718, 0, 0, 0, 672, 651, 687, 764, + 0, 649, 240, 144, 769, 787, 715, 203, 358, 791, + 712, 711, 276, 0, 322, 191, 213, 148, 128, 142, + 159, 190, 251, 761, 297, 699, 650, 773, 683, 695, + 166, 691, 289, 259, 346, 0, 736, 288, 216, 336, + 757, 792, 345, 704, 775, 355, 360, 0, 726, 670, + 312, 176, 0, 133, 0, 273, 171, 208, 714, 752, + 684, 163, 759, 740, 780, 311, 334, 150, 329, 238, + 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, + 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 351, 710, 300, 299, 705, 198, 767, 743, + 656, 281, 755, 204, 132, 325, 363, 149, 210, 330, + 648, 185, 250, 168, 260, 261, 182, 130, 278, 232, + 233, 231, 234, 189, 696, 756, 766, 279, 302, 332, + 151, 319, 692, 693, 698, 763, 291, 774, 785, 798, + 223, 178, 181, 192, 199, 749, 286, 320, 352, 0, + 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, + 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, + 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, + 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, + 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, + 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, + 657, 0, 317, 349, 365, 153, 679, 305, 331, 0, + 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, + 217, 283, 362, 258, 290, 157, 348, 313, 677, 678, + 675, 0, 676, 731, 732, 801, 802, 803, 765, 669, + 0, 782, 783, 0, 0, 0, 0, 0, 771, 789, + 790, 754, 811, 707, 674, 658, 661, 662, 663, 671, + 722, 723, 735, 738, 778, 777, 776, 779, 784, 807, + 806, 808, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 734, 131, 140, 214, 812, 280, 184, + 350, 653, 173, 0, 724, 727, 737, 760, 129, 141, + 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, + 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, + 256, 257, 263, 264, 265, 267, 268, 269, 277, 758, + 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, + 318, 324, 337, 338, 357, 359, 786, 794, 770, 328, + 717, 797, 681, 703, 810, 706, 709, 751, 664, 730, + 255, 701, 665, 0, 685, 654, 694, 655, 682, 719, + 175, 680, 772, 733, 796, 212, 746, 0, 165, 220, + 218, 0, 0, 0, 262, 327, 795, 725, 0, 804, + 215, 0, 742, 805, 315, 239, 0, 0, 721, 781, + 728, 768, 716, 753, 673, 741, 799, 702, 748, 800, + 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, + 0, 0, 0, 668, 0, 745, 793, 697, 747, 750, + 652, 744, 0, 659, 666, 809, 788, 688, 689, 690, + 0, 0, 0, 0, 0, 0, 0, 720, 729, 762, + 713, 347, 266, 282, 303, 708, 274, 700, 0, 0, + 0, 0, 0, 0, 0, 0, 686, 0, 739, 0, + 0, 0, 667, 660, 0, 0, 718, 0, 0, 0, + 672, 651, 687, 764, 0, 649, 240, 144, 769, 787, + 715, 203, 358, 791, 712, 711, 276, 0, 322, 191, + 213, 148, 128, 142, 159, 190, 251, 761, 297, 699, + 650, 773, 683, 695, 166, 691, 289, 259, 346, 0, + 736, 288, 216, 336, 757, 792, 345, 704, 775, 355, + 360, 0, 726, 670, 312, 176, 0, 133, 0, 273, + 171, 208, 714, 752, 684, 163, 759, 740, 780, 311, + 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, + 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 351, 710, 300, 299, + 705, 198, 767, 743, 656, 281, 755, 204, 132, 325, + 363, 149, 210, 330, 648, 185, 250, 168, 260, 261, + 182, 130, 278, 232, 233, 231, 234, 189, 696, 756, + 766, 279, 302, 332, 151, 319, 692, 693, 698, 763, + 291, 774, 785, 798, 223, 178, 181, 192, 199, 749, + 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, + 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, + 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, + 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, + 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, + 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, + 243, 221, 226, 0, 657, 0, 317, 349, 365, 153, + 679, 305, 331, 0, 0, 154, 186, 179, 270, 245, + 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, + 348, 313, 677, 678, 675, 0, 676, 731, 732, 801, + 802, 803, 765, 669, 0, 782, 783, 0, 0, 0, + 0, 0, 771, 789, 790, 754, 811, 707, 674, 658, + 661, 662, 663, 671, 722, 723, 735, 738, 778, 777, + 776, 779, 784, 807, 806, 808, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 734, 131, 140, + 214, 812, 280, 184, 350, 653, 173, 0, 724, 727, + 737, 760, 129, 141, 152, 158, 172, 177, 183, 193, + 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, + 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, + 268, 269, 277, 758, 285, 292, 294, 295, 296, 298, + 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, + 786, 794, 770, 328, 717, 797, 681, 703, 810, 706, + 709, 751, 664, 730, 255, 701, 665, 0, 685, 654, + 694, 655, 682, 719, 175, 680, 772, 733, 796, 212, + 746, 0, 165, 220, 218, 0, 0, 0, 262, 327, + 1553, 1557, 0, 804, 215, 0, 742, 805, 315, 239, + 0, 0, 721, 781, 728, 768, 716, 753, 673, 741, + 799, 702, 748, 800, 0, 0, 0, 0, 646, 0, + 0, 0, 0, 0, 0, 0, 0, 668, 0, 745, + 793, 697, 747, 750, 652, 744, 0, 659, 666, 809, + 788, 688, 689, 690, 0, 0, 0, 0, 0, 0, + 0, 720, 729, 762, 713, 347, 266, 282, 303, 708, + 274, 700, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 739, 0, 0, 0, 667, 660, 0, 0, + 718, 0, 0, 0, 672, 651, 687, 764, 0, 649, + 240, 144, 769, 787, 1556, 203, 358, 791, 712, 711, + 1551, 0, 1552, 191, 213, 645, 128, 142, 1549, 1555, + 251, 761, 297, 699, 650, 773, 683, 695, 166, 691, + 289, 259, 346, 0, 736, 288, 216, 336, 757, 792, + 345, 704, 775, 355, 360, 0, 726, 670, 312, 176, + 0, 133, 0, 273, 171, 208, 714, 752, 684, 163, + 759, 740, 780, 311, 334, 150, 329, 238, 244, 160, + 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 351, 710, 300, 299, 705, 198, 767, 743, 656, 281, + 755, 204, 132, 325, 363, 149, 210, 330, 648, 185, + 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, + 234, 189, 696, 756, 766, 279, 302, 332, 151, 319, + 692, 693, 698, 763, 291, 774, 785, 798, 223, 178, + 181, 192, 199, 749, 286, 320, 352, 0, 134, 326, + 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, + 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, + 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, + 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, + 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, + 272, 195, 242, 241, 243, 221, 226, 0, 657, 0, + 317, 349, 365, 153, 679, 305, 331, 0, 0, 154, + 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, + 362, 258, 290, 157, 348, 313, 677, 678, 675, 0, + 676, 731, 732, 801, 802, 803, 765, 669, 0, 782, + 783, 0, 0, 0, 0, 0, 771, 789, 790, 754, + 811, 707, 674, 658, 661, 662, 663, 671, 722, 723, + 735, 738, 778, 777, 776, 779, 784, 807, 806, 808, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 734, 131, 140, 214, 812, 280, 184, 350, 653, + 173, 0, 724, 727, 737, 760, 129, 141, 152, 158, + 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, + 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, + 263, 264, 265, 267, 268, 269, 277, 758, 285, 292, + 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, + 337, 338, 357, 359, 786, 794, 770, 328, 717, 797, + 681, 703, 810, 706, 709, 751, 664, 730, 255, 701, + 665, 0, 685, 654, 694, 655, 682, 719, 175, 680, + 772, 733, 796, 212, 746, 0, 165, 220, 218, 0, + 0, 0, 262, 327, 795, 725, 0, 804, 215, 0, + 742, 805, 315, 239, 0, 0, 721, 781, 728, 768, + 716, 753, 673, 741, 799, 702, 748, 800, 0, 0, + 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, + 0, 668, 0, 745, 793, 697, 747, 750, 652, 744, + 0, 659, 666, 809, 788, 688, 689, 690, 0, 0, + 0, 0, 0, 0, 0, 720, 729, 762, 713, 347, + 266, 282, 303, 708, 274, 700, 0, 0, 0, 0, + 0, 0, 0, 0, 686, 0, 739, 0, 0, 0, + 667, 660, 0, 0, 718, 0, 0, 0, 672, 651, + 687, 764, 0, 649, 240, 144, 769, 787, 715, 203, + 358, 791, 712, 711, 276, 0, 322, 191, 213, 148, + 128, 142, 159, 190, 251, 761, 297, 699, 650, 773, + 683, 695, 166, 691, 289, 259, 346, 0, 736, 288, + 216, 336, 757, 792, 345, 704, 775, 355, 360, 0, + 726, 670, 312, 176, 0, 133, 0, 273, 171, 208, + 714, 752, 684, 163, 759, 740, 780, 311, 334, 150, + 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, + 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 351, 710, 300, 299, 705, 198, + 767, 743, 656, 281, 755, 204, 132, 325, 363, 149, + 210, 330, 648, 185, 250, 168, 260, 261, 182, 130, + 278, 232, 233, 231, 234, 189, 696, 756, 766, 279, + 302, 332, 151, 319, 692, 693, 698, 763, 291, 774, + 785, 798, 223, 178, 181, 192, 199, 749, 286, 320, + 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, + 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, + 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, + 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, + 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, + 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, + 226, 0, 657, 0, 317, 349, 365, 153, 679, 305, + 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, + 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, + 677, 678, 675, 0, 676, 731, 732, 801, 802, 803, + 765, 669, 0, 782, 783, 0, 0, 0, 0, 0, + 771, 789, 790, 754, 811, 707, 674, 658, 661, 662, + 663, 671, 722, 723, 735, 738, 778, 777, 776, 779, + 784, 807, 806, 808, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 734, 131, 140, 214, 812, + 280, 184, 350, 653, 173, 0, 724, 727, 737, 760, + 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, + 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, + 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, + 277, 758, 285, 292, 294, 295, 296, 298, 307, 308, + 309, 310, 318, 324, 337, 338, 357, 359, 786, 794, + 770, 328, 717, 797, 681, 703, 810, 706, 709, 751, + 664, 730, 255, 701, 665, 0, 685, 654, 694, 655, + 682, 719, 175, 680, 772, 733, 796, 212, 746, 0, + 165, 220, 218, 0, 0, 0, 262, 327, 795, 725, + 0, 804, 215, 0, 742, 805, 315, 239, 0, 0, + 721, 781, 728, 768, 716, 753, 673, 741, 799, 702, + 748, 800, 0, 0, 0, 0, 646, 0, 0, 0, + 0, 0, 0, 0, 0, 668, 0, 745, 793, 697, + 747, 750, 652, 744, 0, 659, 666, 809, 788, 688, + 689, 690, 0, 0, 0, 0, 0, 0, 0, 720, + 729, 762, 713, 347, 266, 282, 303, 708, 274, 700, + 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, + 739, 0, 0, 0, 667, 660, 0, 0, 718, 0, + 0, 0, 672, 651, 687, 764, 0, 649, 240, 144, + 769, 787, 715, 203, 358, 791, 712, 711, 276, 0, + 322, 191, 213, 645, 128, 142, 641, 190, 251, 761, + 297, 699, 650, 773, 683, 695, 166, 691, 289, 259, + 346, 0, 736, 288, 216, 336, 757, 792, 345, 704, + 775, 355, 360, 0, 726, 670, 312, 176, 0, 133, + 0, 273, 171, 208, 714, 752, 684, 163, 759, 740, + 780, 311, 334, 150, 329, 238, 244, 160, 162, 161, + 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 351, 710, + 300, 299, 705, 198, 767, 743, 656, 281, 755, 204, + 132, 325, 363, 149, 210, 330, 648, 185, 250, 168, + 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, + 696, 756, 766, 279, 302, 332, 151, 319, 692, 693, + 698, 763, 291, 774, 785, 798, 223, 178, 181, 192, + 199, 749, 286, 320, 352, 0, 134, 326, 344, 156, + 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, + 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, + 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, + 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, + 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, + 242, 241, 243, 221, 226, 0, 657, 0, 317, 349, + 365, 153, 679, 305, 331, 0, 0, 154, 186, 179, + 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, + 290, 157, 348, 313, 677, 678, 675, 0, 676, 731, + 732, 801, 802, 803, 765, 669, 0, 782, 783, 0, + 0, 0, 0, 0, 771, 789, 790, 754, 811, 707, + 674, 658, 661, 662, 663, 671, 722, 723, 735, 738, + 778, 777, 776, 779, 784, 807, 806, 808, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, + 131, 140, 214, 812, 280, 184, 350, 653, 173, 0, + 724, 727, 737, 760, 129, 141, 152, 158, 172, 177, + 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, + 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, + 265, 267, 268, 269, 277, 758, 285, 292, 294, 295, + 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, + 357, 359, 786, 328, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, + 516, 0, 0, 0, 175, 513, 0, 0, 0, 212, + 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, + 0, 0, 0, 591, 215, 0, 0, 493, 315, 239, + 0, 0, 0, 0, 578, 579, 0, 0, 0, 0, + 0, 0, 1531, 0, 81, 0, 0, 0, 514, 538, + 537, 540, 541, 542, 543, 0, 0, 497, 539, 544, + 573, 574, 1532, 0, 0, 511, 529, 0, 590, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, + 274, 0, 0, 0, 0, 0, 526, 527, 0, 0, + 0, 0, 605, 0, 528, 0, 0, 523, 524, 525, + 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 240, 144, 581, 0, 0, 203, 358, 0, 0, 603, + 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, + 251, 0, 297, 588, 0, 0, 0, 0, 166, 0, + 289, 259, 346, 580, 0, 288, 216, 336, 0, 0, + 345, 0, 487, 355, 360, 0, 0, 0, 312, 176, + 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, + 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, + 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, - 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, - 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, - 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, - 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, - 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, - 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, - 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, - 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, - 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, - 354, 253, 284, 157, 341, 307, 581, 593, 587, 589, - 588, 585, 586, 584, 583, 582, 595, 571, 572, 573, - 574, 575, 0, 0, 0, 578, 0, 590, 591, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 542, 543, - 547, 548, 556, 555, 554, 557, 558, 560, 559, 561, - 539, 540, 541, 544, 545, 546, 549, 550, 553, 551, - 552, 576, 131, 140, 210, 0, 275, 182, 343, 0, + 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, + 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, + 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, + 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, + 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, + 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, + 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, + 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, + 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, + 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, + 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, + 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, + 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, + 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, + 362, 258, 290, 157, 348, 313, 592, 604, 598, 600, + 599, 596, 597, 595, 594, 593, 606, 582, 583, 584, + 585, 586, 0, 0, 0, 589, 0, 601, 602, 0, + 0, 0, 0, 545, 546, 547, 548, 549, 553, 554, + 558, 559, 567, 566, 565, 568, 569, 571, 570, 572, + 550, 551, 552, 555, 556, 557, 560, 561, 564, 562, + 563, 587, 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, - 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, - 258, 259, 260, 262, 263, 264, 272, 0, 280, 286, - 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, - 330, 331, 349, 351, 321, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, - 0, 505, 0, 0, 0, 175, 502, 0, 0, 0, - 208, 0, 0, 165, 216, 214, 0, 0, 0, 257, - 320, 0, 0, 0, 580, 211, 0, 0, 482, 309, - 234, 0, 0, 0, 0, 567, 568, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 0, 0, 503, - 527, 1431, 529, 530, 531, 532, 0, 0, 486, 528, - 533, 562, 563, 0, 0, 0, 500, 518, 0, 579, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 340, 261, 277, 297, - 0, 269, 0, 0, 0, 0, 0, 515, 516, 1387, - 0, 0, 0, 594, 0, 517, 0, 0, 512, 513, - 514, 519, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 144, 570, 0, 0, 199, 350, 0, 0, - 592, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 0, 291, 577, 0, 0, 0, 0, 166, - 0, 283, 254, 339, 569, 0, 282, 212, 329, 0, - 0, 338, 0, 476, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, - 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, - 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, - 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, - 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, - 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, - 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, - 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, - 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, - 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, - 278, 354, 253, 284, 157, 341, 307, 581, 593, 587, - 589, 588, 585, 586, 584, 583, 582, 595, 571, 572, - 573, 574, 575, 0, 0, 0, 578, 0, 590, 591, - 0, 0, 0, 0, 534, 535, 536, 537, 538, 542, - 543, 547, 548, 556, 555, 554, 557, 558, 560, 559, - 561, 539, 540, 541, 544, 545, 546, 549, 550, 553, - 551, 552, 576, 131, 140, 210, 0, 275, 182, 343, - 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, - 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, - 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, - 252, 258, 259, 260, 262, 263, 264, 272, 0, 280, - 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, - 317, 330, 331, 349, 351, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, - 0, 0, 505, 0, 0, 0, 175, 502, 0, 0, - 0, 208, 0, 0, 165, 216, 214, 0, 0, 0, - 257, 320, 0, 0, 0, 580, 211, 0, 0, 482, - 309, 234, 0, 0, 0, 0, 567, 568, 0, 0, + 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, + 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, + 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, + 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, + 337, 338, 357, 359, 36, 328, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, + 0, 0, 516, 0, 0, 0, 175, 513, 0, 0, + 0, 212, 0, 0, 165, 220, 218, 0, 0, 0, + 262, 327, 0, 0, 0, 591, 215, 0, 0, 493, + 315, 239, 0, 0, 0, 0, 578, 579, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 503, 527, 1428, 529, 530, 531, 532, 0, 0, 486, - 528, 533, 562, 563, 0, 0, 0, 500, 518, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 340, 261, 277, - 297, 0, 269, 0, 0, 0, 0, 0, 515, 516, - 1387, 0, 0, 0, 594, 0, 517, 0, 0, 512, - 513, 514, 519, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 144, 570, 0, 0, 199, 350, 0, - 0, 592, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 0, 291, 577, 0, 0, 0, 0, - 166, 0, 283, 254, 339, 569, 0, 282, 212, 329, - 0, 0, 338, 0, 476, 347, 352, 0, 0, 0, - 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, - 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, - 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, - 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, - 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, - 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, - 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, - 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, - 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, - 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, - 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, - 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, - 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, - 213, 278, 354, 253, 284, 157, 341, 307, 581, 593, - 587, 589, 588, 585, 586, 584, 583, 582, 595, 571, - 572, 573, 574, 575, 0, 0, 0, 578, 0, 590, - 591, 0, 0, 0, 0, 534, 535, 536, 537, 538, - 542, 543, 547, 548, 556, 555, 554, 557, 558, 560, - 559, 561, 539, 540, 541, 544, 545, 546, 549, 550, - 553, 551, 552, 576, 131, 140, 210, 0, 275, 182, - 343, 0, 173, 0, 0, 0, 0, 0, 129, 141, - 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, - 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, - 251, 252, 258, 259, 260, 262, 263, 264, 272, 0, - 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, - 312, 317, 330, 331, 349, 351, 321, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, - 0, 0, 0, 505, 0, 0, 0, 175, 502, 0, - 0, 0, 208, 0, 0, 165, 216, 214, 0, 0, - 0, 257, 320, 0, 0, 0, 580, 211, 0, 0, - 482, 309, 234, 0, 0, 0, 0, 567, 568, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 0, 1274, - 0, 503, 527, 526, 529, 530, 531, 532, 0, 0, - 486, 528, 533, 562, 563, 0, 0, 0, 500, 518, - 0, 579, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 340, 261, - 277, 297, 0, 269, 0, 0, 0, 0, 0, 515, - 516, 0, 0, 0, 0, 594, 0, 517, 0, 0, - 512, 513, 514, 519, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 144, 570, 0, 0, 199, 350, - 0, 0, 592, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 0, 291, 577, 0, 0, 0, - 0, 166, 0, 283, 254, 339, 569, 0, 282, 212, - 329, 0, 0, 338, 0, 476, 347, 352, 0, 0, - 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, - 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, - 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, - 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, - 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, - 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, - 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, - 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, - 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, - 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, - 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, - 0, 0, 0, 311, 342, 357, 153, 0, 299, 324, - 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, - 205, 213, 278, 354, 253, 284, 157, 341, 307, 581, - 593, 587, 589, 588, 585, 586, 584, 583, 582, 595, - 571, 572, 573, 574, 575, 0, 0, 0, 578, 0, - 590, 591, 0, 0, 0, 0, 534, 535, 536, 537, - 538, 542, 543, 547, 548, 556, 555, 554, 557, 558, - 560, 559, 561, 539, 540, 541, 544, 545, 546, 549, - 550, 553, 551, 552, 576, 131, 140, 210, 0, 275, - 182, 343, 0, 173, 0, 0, 0, 0, 0, 129, - 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, - 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, - 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, - 0, 280, 286, 288, 289, 290, 292, 301, 302, 303, - 304, 312, 317, 330, 331, 349, 351, 321, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, - 0, 0, 0, 0, 505, 0, 0, 0, 175, 502, - 0, 0, 0, 208, 0, 0, 165, 216, 214, 0, - 0, 0, 257, 320, 0, 0, 0, 580, 211, 0, - 0, 482, 309, 234, 0, 0, 0, 0, 567, 568, + 514, 538, 537, 540, 541, 542, 543, 0, 0, 497, + 539, 544, 573, 574, 0, 0, 0, 511, 529, 0, + 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 347, 266, 282, + 303, 0, 274, 0, 0, 0, 0, 0, 526, 527, + 0, 0, 0, 0, 605, 0, 528, 0, 0, 523, + 524, 525, 530, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 144, 581, 0, 0, 203, 358, 0, + 0, 603, 276, 0, 322, 191, 213, 148, 128, 142, + 159, 190, 251, 0, 297, 588, 0, 0, 0, 0, + 166, 0, 289, 259, 346, 580, 0, 288, 216, 336, + 0, 0, 345, 0, 487, 355, 360, 0, 0, 0, + 312, 176, 0, 133, 0, 273, 171, 208, 0, 0, + 0, 163, 0, 0, 0, 311, 334, 150, 329, 238, + 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, + 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 351, 0, 300, 299, 0, 198, 0, 0, + 0, 281, 0, 204, 132, 325, 363, 149, 210, 330, + 0, 185, 250, 168, 260, 261, 182, 130, 278, 232, + 233, 231, 234, 189, 0, 0, 0, 279, 302, 332, + 151, 319, 0, 0, 0, 0, 291, 0, 0, 0, + 223, 178, 181, 192, 199, 0, 286, 320, 352, 0, + 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, + 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, + 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, + 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, + 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, + 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, + 0, 0, 317, 349, 365, 153, 0, 305, 331, 0, + 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, + 217, 283, 362, 258, 290, 157, 348, 313, 592, 604, + 598, 600, 599, 596, 597, 595, 594, 593, 606, 582, + 583, 584, 585, 586, 0, 0, 0, 589, 0, 601, + 602, 0, 0, 0, 0, 545, 546, 547, 548, 549, + 553, 554, 558, 559, 567, 566, 565, 568, 569, 571, + 570, 572, 550, 551, 552, 555, 556, 557, 560, 561, + 564, 562, 563, 587, 131, 140, 214, 79, 280, 184, + 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, + 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, + 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, + 256, 257, 263, 264, 265, 267, 268, 269, 277, 0, + 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, + 318, 324, 337, 338, 357, 359, 328, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, + 0, 0, 0, 516, 0, 0, 0, 175, 513, 0, + 0, 0, 212, 0, 0, 165, 220, 218, 0, 0, + 0, 262, 327, 0, 0, 0, 591, 215, 0, 0, + 493, 315, 239, 0, 0, 0, 0, 578, 579, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 514, 538, 537, 540, 541, 542, 543, 0, 0, + 497, 539, 544, 573, 574, 0, 0, 0, 511, 529, + 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, + 282, 303, 0, 274, 0, 0, 0, 0, 0, 526, + 527, 507, 0, 0, 0, 605, 0, 528, 0, 0, + 523, 524, 525, 530, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 144, 581, 0, 0, 203, 358, + 0, 0, 603, 276, 0, 322, 191, 213, 148, 128, + 142, 159, 190, 251, 0, 297, 588, 0, 0, 0, + 0, 166, 0, 289, 259, 346, 580, 0, 288, 216, + 336, 0, 0, 345, 0, 487, 355, 360, 0, 0, + 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, + 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, + 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, + 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, + 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, + 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, + 232, 233, 231, 234, 189, 0, 0, 0, 279, 302, + 332, 151, 319, 0, 0, 0, 0, 291, 0, 0, + 0, 223, 178, 181, 192, 199, 0, 286, 320, 352, + 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, + 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, + 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, + 145, 354, 139, 146, 353, 247, 0, 246, 356, 335, + 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, + 194, 271, 219, 272, 195, 242, 241, 243, 221, 226, + 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, + 0, 0, 154, 186, 179, 270, 245, 147, 197, 314, + 209, 217, 283, 362, 258, 290, 157, 348, 313, 592, + 604, 598, 600, 599, 596, 597, 595, 594, 593, 606, + 582, 583, 584, 585, 586, 0, 0, 0, 589, 0, + 601, 602, 0, 0, 0, 0, 545, 546, 547, 548, + 549, 553, 554, 558, 559, 567, 566, 565, 568, 569, + 571, 570, 572, 550, 551, 552, 555, 556, 557, 560, + 561, 564, 562, 563, 587, 131, 140, 214, 0, 280, + 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, + 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, + 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, + 253, 256, 257, 263, 264, 265, 267, 268, 269, 277, + 0, 285, 292, 294, 295, 296, 298, 307, 308, 309, + 310, 318, 324, 337, 338, 357, 359, 328, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 516, 0, 0, 0, 175, 513, + 0, 0, 0, 212, 0, 0, 165, 220, 218, 0, + 0, 0, 262, 327, 0, 0, 0, 591, 215, 0, + 0, 493, 315, 239, 0, 0, 0, 0, 578, 579, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, - 0, 0, 503, 527, 526, 529, 530, 531, 532, 0, - 0, 486, 528, 533, 562, 563, 0, 0, 0, 500, - 518, 0, 579, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, - 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, - 515, 516, 0, 0, 0, 0, 594, 0, 517, 0, - 0, 512, 513, 514, 519, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 144, 570, 0, 0, 199, - 350, 0, 0, 592, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 0, 291, 577, 0, 0, - 0, 0, 166, 0, 283, 254, 339, 569, 0, 282, - 212, 329, 0, 0, 338, 0, 476, 347, 352, 0, - 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, - 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, - 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, - 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, - 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, - 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, - 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, - 174, 186, 169, 249, 0, 185, 270, 332, 333, 167, - 356, 145, 346, 139, 146, 345, 242, 0, 241, 348, - 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, - 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, - 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, - 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, - 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, - 581, 593, 587, 589, 588, 585, 586, 584, 583, 582, - 595, 571, 572, 573, 574, 575, 0, 0, 0, 578, - 0, 590, 591, 0, 0, 0, 0, 534, 535, 536, - 537, 538, 542, 543, 547, 548, 556, 555, 554, 557, - 558, 560, 559, 561, 539, 540, 541, 544, 545, 546, - 549, 550, 553, 551, 552, 576, 131, 140, 210, 0, - 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, - 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, - 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, - 247, 248, 251, 252, 258, 259, 260, 262, 263, 264, - 272, 0, 280, 286, 288, 289, 290, 292, 301, 302, - 303, 304, 312, 317, 330, 331, 349, 351, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 0, 0, 208, 0, 0, 165, 216, 214, - 0, 0, 0, 257, 320, 0, 0, 0, 580, 211, - 0, 0, 482, 309, 234, 0, 0, 0, 0, 567, - 568, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 0, 503, 527, 526, 529, 530, 531, 532, - 0, 0, 486, 528, 533, 562, 563, 0, 0, 0, - 0, 518, 0, 579, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, - 0, 515, 516, 0, 0, 0, 0, 594, 0, 517, - 0, 0, 512, 513, 514, 519, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 144, 570, 0, 0, - 199, 350, 0, 0, 592, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 577, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 569, 0, - 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, - 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, - 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, - 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, - 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, - 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, - 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, - 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, - 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, - 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, - 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, - 307, 581, 593, 587, 589, 588, 585, 586, 584, 583, - 582, 595, 571, 572, 573, 574, 575, 1434, 1435, 1436, - 578, 0, 590, 591, 0, 0, 0, 0, 534, 535, - 536, 537, 538, 542, 543, 547, 548, 556, 555, 554, - 557, 558, 560, 559, 561, 539, 540, 541, 544, 545, - 546, 549, 550, 553, 551, 552, 576, 131, 140, 210, - 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, - 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, - 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, - 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, - 302, 303, 304, 312, 317, 330, 331, 349, 351, 321, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 0, 0, 0, 0, 208, 0, 0, 165, 216, - 214, 0, 0, 0, 257, 320, 0, 0, 0, 580, - 211, 0, 0, 482, 309, 234, 0, 0, 0, 0, - 567, 568, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 0, 0, 503, 527, 526, 529, 530, 531, - 532, 0, 0, 486, 528, 533, 562, 563, 0, 0, - 0, 0, 518, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, - 0, 0, 515, 516, 0, 0, 0, 0, 594, 0, - 517, 0, 0, 512, 513, 514, 519, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 144, 570, 0, - 0, 199, 350, 0, 0, 592, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 577, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 569, - 2724, 282, 212, 329, 0, 0, 338, 0, 476, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, - 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, - 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, - 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, - 136, 279, 174, 186, 169, 249, 0, 185, 270, 332, - 333, 167, 356, 145, 346, 139, 146, 345, 242, 0, - 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, - 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, - 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, - 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, - 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, - 341, 307, 581, 593, 587, 589, 588, 585, 586, 584, - 583, 582, 595, 571, 572, 573, 574, 575, 0, 0, - 0, 578, 0, 590, 591, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 542, 543, 547, 548, 556, 555, - 554, 557, 558, 560, 559, 561, 539, 540, 541, 544, - 545, 546, 549, 550, 553, 551, 552, 576, 131, 140, - 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, - 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, - 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, - 243, 244, 247, 248, 251, 252, 258, 259, 260, 262, - 263, 264, 272, 0, 280, 286, 288, 289, 290, 292, - 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 175, 0, 0, 0, 0, 208, 0, 0, 165, - 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, - 580, 211, 0, 0, 482, 309, 234, 0, 0, 0, - 0, 567, 568, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 961, 0, 503, 527, 526, 529, 530, - 531, 532, 0, 0, 486, 528, 533, 562, 563, 0, - 0, 0, 0, 518, 0, 579, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, - 0, 0, 0, 515, 516, 0, 0, 0, 0, 594, - 0, 517, 0, 0, 512, 513, 514, 519, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 144, 570, - 0, 0, 199, 350, 0, 0, 592, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, - 577, 0, 0, 0, 0, 166, 0, 283, 254, 339, - 569, 0, 282, 212, 329, 0, 0, 338, 0, 476, - 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, - 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, - 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, - 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, - 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, - 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, - 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, - 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, - 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, - 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, - 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, - 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, - 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, - 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, - 157, 341, 307, 581, 593, 587, 589, 588, 585, 586, - 584, 583, 582, 595, 571, 572, 573, 574, 575, 0, - 0, 0, 578, 0, 590, 591, 0, 0, 0, 0, - 534, 535, 536, 537, 538, 542, 543, 547, 548, 556, - 555, 554, 557, 558, 560, 559, 561, 539, 540, 541, - 544, 545, 546, 549, 550, 553, 551, 552, 576, 131, - 140, 210, 0, 275, 182, 343, 0, 173, 0, 0, - 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, - 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, - 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, - 262, 263, 264, 272, 0, 280, 286, 288, 289, 290, - 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, - 351, 321, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 0, 0, 0, 0, 208, 0, 0, - 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, - 0, 580, 211, 0, 0, 482, 309, 234, 0, 0, - 0, 0, 567, 568, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 0, 0, 503, 527, 526, 529, - 530, 531, 532, 0, 0, 486, 528, 533, 562, 563, - 0, 0, 0, 0, 518, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, - 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, - 594, 0, 517, 0, 0, 512, 513, 514, 519, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 144, - 570, 0, 0, 199, 350, 0, 0, 592, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, - 291, 577, 0, 0, 0, 0, 166, 0, 283, 254, - 339, 569, 0, 282, 212, 329, 0, 0, 338, 0, - 476, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, - 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, - 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, - 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, - 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, - 270, 332, 333, 167, 356, 145, 346, 139, 146, 345, - 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, - 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, - 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, - 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, - 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, - 284, 157, 341, 307, 581, 593, 587, 589, 588, 585, - 586, 584, 583, 582, 595, 571, 572, 573, 574, 575, - 0, 0, 0, 578, 0, 590, 591, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 542, 543, 547, 548, - 556, 555, 554, 557, 558, 560, 559, 561, 539, 540, - 541, 544, 545, 546, 549, 550, 553, 551, 552, 576, - 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, + 987, 0, 514, 538, 537, 540, 541, 542, 543, 0, + 0, 497, 539, 544, 573, 574, 0, 0, 0, 511, + 529, 0, 590, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, + 266, 282, 303, 0, 274, 0, 0, 0, 0, 0, + 526, 527, 0, 0, 0, 0, 605, 0, 528, 0, + 0, 523, 524, 525, 530, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 144, 581, 0, 0, 203, + 358, 0, 0, 603, 276, 0, 322, 191, 213, 148, + 128, 142, 159, 190, 251, 0, 297, 588, 0, 0, + 0, 0, 166, 0, 289, 259, 346, 580, 0, 288, + 216, 336, 0, 0, 345, 0, 487, 355, 360, 0, + 0, 0, 312, 176, 0, 133, 0, 273, 171, 208, + 0, 0, 0, 163, 0, 0, 0, 311, 334, 150, + 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, + 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 351, 0, 300, 299, 0, 198, + 0, 0, 0, 281, 0, 204, 132, 325, 363, 149, + 210, 330, 0, 185, 250, 168, 260, 261, 182, 130, + 278, 232, 233, 231, 234, 189, 0, 0, 0, 279, + 302, 332, 151, 319, 0, 0, 0, 0, 291, 0, + 0, 0, 223, 178, 181, 192, 199, 0, 286, 320, + 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, + 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, + 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, + 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, + 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, + 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, + 226, 0, 0, 0, 317, 349, 365, 153, 0, 305, + 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, + 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, + 592, 604, 598, 600, 599, 596, 597, 595, 594, 593, + 606, 582, 583, 584, 585, 586, 0, 0, 0, 589, + 0, 601, 602, 0, 0, 0, 0, 545, 546, 547, + 548, 549, 553, 554, 558, 559, 567, 566, 565, 568, + 569, 571, 570, 572, 550, 551, 552, 555, 556, 557, + 560, 561, 564, 562, 563, 587, 131, 140, 214, 0, + 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, + 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, + 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, + 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, + 277, 0, 285, 292, 294, 295, 296, 298, 307, 308, + 309, 310, 318, 324, 337, 338, 357, 359, 328, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 516, 0, 0, 0, 175, + 513, 0, 0, 0, 212, 0, 0, 165, 220, 218, + 0, 0, 0, 262, 327, 0, 0, 0, 591, 215, + 0, 0, 493, 315, 239, 0, 0, 0, 0, 578, + 579, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 0, 0, 514, 538, 537, 540, 541, 542, 543, + 0, 0, 497, 539, 544, 573, 574, 0, 0, 0, + 511, 529, 0, 590, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 266, 282, 303, 0, 274, 0, 0, 0, 0, + 0, 526, 527, 1419, 0, 0, 0, 605, 0, 528, + 0, 0, 523, 524, 525, 530, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 240, 144, 581, 0, 0, + 203, 358, 0, 0, 603, 276, 0, 322, 191, 213, + 148, 128, 142, 159, 190, 251, 0, 297, 588, 0, + 0, 0, 0, 166, 0, 289, 259, 346, 580, 0, + 288, 216, 336, 0, 0, 345, 0, 487, 355, 360, + 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, + 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, + 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, + 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, + 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, + 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, + 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, + 279, 302, 332, 151, 319, 0, 0, 0, 0, 291, + 0, 0, 0, 223, 178, 181, 192, 199, 0, 286, + 320, 352, 0, 134, 326, 344, 156, 301, 304, 361, + 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, + 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, + 167, 364, 145, 354, 139, 146, 353, 247, 0, 246, + 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, + 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, + 221, 226, 0, 0, 0, 317, 349, 365, 153, 0, + 305, 331, 0, 0, 154, 186, 179, 270, 245, 147, + 197, 314, 209, 217, 283, 362, 258, 290, 157, 348, + 313, 592, 604, 598, 600, 599, 596, 597, 595, 594, + 593, 606, 582, 583, 584, 585, 586, 0, 0, 0, + 589, 0, 601, 602, 0, 0, 0, 0, 545, 546, + 547, 548, 549, 553, 554, 558, 559, 567, 566, 565, + 568, 569, 571, 570, 572, 550, 551, 552, 555, 556, + 557, 560, 561, 564, 562, 563, 587, 131, 140, 214, + 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, + 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, + 249, 252, 253, 256, 257, 263, 264, 265, 267, 268, + 269, 277, 0, 285, 292, 294, 295, 296, 298, 307, + 308, 309, 310, 318, 324, 337, 338, 357, 359, 328, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 0, 0, 516, 0, 0, 0, + 175, 513, 0, 0, 0, 212, 0, 0, 165, 220, + 218, 0, 0, 0, 262, 327, 0, 0, 0, 591, + 215, 0, 0, 493, 315, 239, 0, 0, 0, 0, + 578, 579, 0, 0, 0, 0, 0, 0, 0, 0, + 81, 0, 0, 0, 514, 538, 1463, 540, 541, 542, + 543, 0, 0, 497, 539, 544, 573, 574, 0, 0, + 0, 511, 529, 0, 590, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 347, 266, 282, 303, 0, 274, 0, 0, 0, + 0, 0, 526, 527, 1419, 0, 0, 0, 605, 0, + 528, 0, 0, 523, 524, 525, 530, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 144, 581, 0, + 0, 203, 358, 0, 0, 603, 276, 0, 322, 191, + 213, 148, 128, 142, 159, 190, 251, 0, 297, 588, + 0, 0, 0, 0, 166, 0, 289, 259, 346, 580, + 0, 288, 216, 336, 0, 0, 345, 0, 487, 355, + 360, 0, 0, 0, 312, 176, 0, 133, 0, 273, + 171, 208, 0, 0, 0, 163, 0, 0, 0, 311, + 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, + 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 351, 0, 300, 299, + 0, 198, 0, 0, 0, 281, 0, 204, 132, 325, + 363, 149, 210, 330, 0, 185, 250, 168, 260, 261, + 182, 130, 278, 232, 233, 231, 234, 189, 0, 0, + 0, 279, 302, 332, 151, 319, 0, 0, 0, 0, + 291, 0, 0, 0, 223, 178, 181, 192, 199, 0, + 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, + 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, + 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, + 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, + 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, + 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, + 243, 221, 226, 0, 0, 0, 317, 349, 365, 153, + 0, 305, 331, 0, 0, 154, 186, 179, 270, 245, + 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, + 348, 313, 592, 604, 598, 600, 599, 596, 597, 595, + 594, 593, 606, 582, 583, 584, 585, 586, 0, 0, + 0, 589, 0, 601, 602, 0, 0, 0, 0, 545, + 546, 547, 548, 549, 553, 554, 558, 559, 567, 566, + 565, 568, 569, 571, 570, 572, 550, 551, 552, 555, + 556, 557, 560, 561, 564, 562, 563, 587, 131, 140, + 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, + 0, 0, 129, 141, 152, 158, 172, 177, 183, 193, + 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, + 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, + 268, 269, 277, 0, 285, 292, 294, 295, 296, 298, + 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, + 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 255, 0, 0, 0, 0, 0, 516, 0, 0, + 0, 175, 513, 0, 0, 0, 212, 0, 0, 165, + 220, 218, 0, 0, 0, 262, 327, 0, 0, 0, + 591, 215, 0, 0, 493, 315, 239, 0, 0, 0, + 0, 578, 579, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 514, 538, 1460, 540, 541, + 542, 543, 0, 0, 497, 539, 544, 573, 574, 0, + 0, 0, 511, 529, 0, 590, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 347, 266, 282, 303, 0, 274, 0, 0, + 0, 0, 0, 526, 527, 1419, 0, 0, 0, 605, + 0, 528, 0, 0, 523, 524, 525, 530, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 144, 581, + 0, 0, 203, 358, 0, 0, 603, 276, 0, 322, + 191, 213, 148, 128, 142, 159, 190, 251, 0, 297, + 588, 0, 0, 0, 0, 166, 0, 289, 259, 346, + 580, 0, 288, 216, 336, 0, 0, 345, 0, 487, + 355, 360, 0, 0, 0, 312, 176, 0, 133, 0, + 273, 171, 208, 0, 0, 0, 163, 0, 0, 0, + 311, 334, 150, 329, 238, 244, 160, 162, 161, 143, + 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 351, 0, 300, + 299, 0, 198, 0, 0, 0, 281, 0, 204, 132, + 325, 363, 149, 210, 330, 0, 185, 250, 168, 260, + 261, 182, 130, 278, 232, 233, 231, 234, 189, 0, + 0, 0, 279, 302, 332, 151, 319, 0, 0, 0, + 0, 291, 0, 0, 0, 223, 178, 181, 192, 199, + 0, 286, 320, 352, 0, 134, 326, 344, 156, 301, + 304, 361, 287, 137, 342, 321, 236, 205, 206, 135, + 0, 136, 284, 174, 188, 169, 254, 0, 187, 275, + 339, 340, 167, 364, 145, 354, 139, 146, 353, 247, + 0, 246, 356, 335, 343, 237, 225, 0, 138, 341, + 235, 224, 211, 180, 194, 271, 219, 272, 195, 242, + 241, 243, 221, 226, 0, 0, 0, 317, 349, 365, + 153, 0, 305, 331, 0, 0, 154, 186, 179, 270, + 245, 147, 197, 314, 209, 217, 283, 362, 258, 290, + 157, 348, 313, 592, 604, 598, 600, 599, 596, 597, + 595, 594, 593, 606, 582, 583, 584, 585, 586, 0, + 0, 0, 589, 0, 601, 602, 0, 0, 0, 0, + 545, 546, 547, 548, 549, 553, 554, 558, 559, 567, + 566, 565, 568, 569, 571, 570, 572, 550, 551, 552, + 555, 556, 557, 560, 561, 564, 562, 563, 587, 131, + 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, + 0, 0, 0, 129, 141, 152, 158, 172, 177, 183, + 193, 196, 200, 201, 202, 207, 222, 227, 228, 229, + 230, 248, 249, 252, 253, 256, 257, 263, 264, 265, + 267, 268, 269, 277, 0, 285, 292, 294, 295, 296, + 298, 307, 308, 309, 310, 318, 324, 337, 338, 357, + 359, 328, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 0, 0, 0, 0, 0, 516, 0, + 0, 0, 175, 513, 0, 0, 0, 212, 0, 0, + 165, 220, 218, 0, 0, 0, 262, 327, 0, 0, + 0, 591, 215, 0, 0, 493, 315, 239, 0, 0, + 0, 0, 578, 579, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 0, 1300, 0, 514, 538, 537, 540, + 541, 542, 543, 0, 0, 497, 539, 544, 573, 574, + 0, 0, 0, 511, 529, 0, 590, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 347, 266, 282, 303, 0, 274, 0, + 0, 0, 0, 0, 526, 527, 0, 0, 0, 0, + 605, 0, 528, 0, 0, 523, 524, 525, 530, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 240, 144, + 581, 0, 0, 203, 358, 0, 0, 603, 276, 0, + 322, 191, 213, 148, 128, 142, 159, 190, 251, 0, + 297, 588, 0, 0, 0, 0, 166, 0, 289, 259, + 346, 580, 0, 288, 216, 336, 0, 0, 345, 0, + 487, 355, 360, 0, 0, 0, 312, 176, 0, 133, + 0, 273, 171, 208, 0, 0, 0, 163, 0, 0, + 0, 311, 334, 150, 329, 238, 244, 160, 162, 161, + 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, + 300, 299, 0, 198, 0, 0, 0, 281, 0, 204, + 132, 325, 363, 149, 210, 330, 0, 185, 250, 168, + 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, + 0, 0, 0, 279, 302, 332, 151, 319, 0, 0, + 0, 0, 291, 0, 0, 0, 223, 178, 181, 192, + 199, 0, 286, 320, 352, 0, 134, 326, 344, 156, + 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, + 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, + 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, + 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, + 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, + 242, 241, 243, 221, 226, 0, 0, 0, 317, 349, + 365, 153, 0, 305, 331, 0, 0, 154, 186, 179, + 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, + 290, 157, 348, 313, 592, 604, 598, 600, 599, 596, + 597, 595, 594, 593, 606, 582, 583, 584, 585, 586, + 0, 0, 0, 589, 0, 601, 602, 0, 0, 0, + 0, 545, 546, 547, 548, 549, 553, 554, 558, 559, + 567, 566, 565, 568, 569, 571, 570, 572, 550, 551, + 552, 555, 556, 557, 560, 561, 564, 562, 563, 587, + 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, - 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, - 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, - 260, 262, 263, 264, 272, 0, 280, 286, 288, 289, - 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, - 349, 351, 321, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 250, 0, 0, 0, 0, 1477, 0, - 0, 0, 0, 175, 0, 0, 0, 0, 208, 0, - 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, - 0, 0, 0, 211, 0, 0, 482, 309, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1479, - 1481, 0, 0, 0, 0, 0, 0, 126, 0, 455, - 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 144, 0, 0, 0, 199, 350, 0, 1480, 0, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, - 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, - 0, 476, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, - 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, - 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, - 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, - 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, - 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, - 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, - 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, - 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, - 342, 357, 153, 0, 299, 324, 0, 0, 154, 184, - 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, - 253, 284, 157, 341, 307, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 456, 457, 458, 459, 460, 464, 465, 469, - 470, 479, 478, 477, 480, 481, 484, 483, 485, 461, - 462, 463, 466, 467, 468, 471, 472, 475, 473, 474, - 0, 131, 140, 210, 0, 275, 182, 343, 0, 173, + 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, + 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, + 265, 267, 268, 269, 277, 0, 285, 292, 294, 295, + 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, + 357, 359, 328, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 255, 0, 0, 0, 0, 0, 516, + 0, 0, 0, 175, 513, 0, 0, 0, 212, 0, + 0, 165, 220, 218, 0, 0, 0, 262, 327, 0, + 0, 0, 591, 215, 0, 0, 493, 315, 239, 0, + 0, 0, 0, 578, 579, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, 0, 514, 538, 537, + 540, 541, 542, 543, 0, 0, 497, 539, 544, 573, + 574, 0, 0, 0, 511, 529, 0, 590, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 347, 266, 282, 303, 0, 274, + 0, 0, 0, 0, 0, 526, 527, 0, 0, 0, + 0, 605, 0, 528, 0, 0, 523, 524, 525, 530, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, + 144, 581, 0, 0, 203, 358, 0, 0, 603, 276, + 0, 322, 191, 213, 148, 128, 142, 159, 190, 251, + 0, 297, 588, 0, 0, 0, 0, 166, 0, 289, + 259, 346, 580, 0, 288, 216, 336, 0, 0, 345, + 0, 487, 355, 360, 0, 0, 0, 312, 176, 0, + 133, 0, 273, 171, 208, 0, 0, 0, 163, 0, + 0, 0, 311, 334, 150, 329, 238, 244, 160, 162, + 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, + 0, 300, 299, 0, 198, 0, 0, 0, 281, 0, + 204, 132, 325, 363, 149, 210, 330, 0, 185, 250, + 168, 260, 261, 182, 130, 278, 232, 233, 231, 234, + 189, 0, 0, 0, 279, 302, 332, 151, 319, 0, + 0, 0, 0, 291, 0, 0, 0, 223, 178, 181, + 192, 199, 0, 286, 320, 352, 0, 134, 326, 344, + 156, 301, 304, 361, 287, 137, 342, 321, 236, 205, + 206, 135, 0, 136, 284, 174, 188, 169, 254, 0, + 187, 275, 339, 340, 167, 364, 145, 354, 139, 146, + 353, 247, 0, 246, 356, 335, 343, 237, 225, 0, + 138, 341, 235, 224, 211, 180, 194, 271, 219, 272, + 195, 242, 241, 243, 221, 226, 0, 0, 0, 317, + 349, 365, 153, 0, 305, 331, 0, 0, 154, 186, + 179, 270, 245, 147, 197, 314, 209, 217, 283, 362, + 258, 290, 157, 348, 313, 592, 604, 598, 600, 599, + 596, 597, 595, 594, 593, 606, 582, 583, 584, 585, + 586, 0, 0, 0, 589, 0, 601, 602, 0, 0, + 0, 0, 545, 546, 547, 548, 549, 553, 554, 558, + 559, 567, 566, 565, 568, 569, 571, 570, 572, 550, + 551, 552, 555, 556, 557, 560, 561, 564, 562, 563, + 587, 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, - 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, - 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, - 259, 260, 262, 263, 264, 272, 0, 280, 286, 288, - 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, - 331, 349, 351, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 250, 0, 0, 0, 0, 1477, - 0, 0, 0, 0, 175, 0, 0, 0, 0, 208, - 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, - 0, 0, 0, 0, 211, 0, 0, 482, 309, 234, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1479, 1481, 0, 0, 0, 0, 0, 0, 126, 0, - 455, 0, 0, 0, 0, 0, 0, 486, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 340, 1475, 277, 297, 0, - 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 144, 0, 0, 0, 199, 350, 0, 1480, 0, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, - 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, - 338, 0, 476, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 177, 183, 193, 196, 200, 201, 202, 207, 222, 227, + 228, 229, 230, 248, 249, 252, 253, 256, 257, 263, + 264, 265, 267, 268, 269, 277, 0, 285, 292, 294, + 295, 296, 298, 307, 308, 309, 310, 318, 324, 337, + 338, 357, 359, 328, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 0, 0, 0, 212, + 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, + 0, 0, 0, 591, 215, 0, 0, 493, 315, 239, + 0, 0, 0, 0, 578, 579, 0, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 514, 538, + 537, 540, 541, 542, 543, 0, 0, 497, 539, 544, + 573, 574, 0, 0, 0, 0, 529, 0, 590, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, + 274, 0, 0, 0, 0, 0, 526, 527, 0, 0, + 0, 0, 605, 0, 528, 0, 0, 523, 524, 525, + 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 240, 144, 581, 0, 0, 203, 358, 0, 0, 603, + 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, + 251, 0, 297, 588, 0, 0, 0, 0, 166, 0, + 289, 259, 346, 580, 0, 288, 216, 336, 0, 0, + 345, 0, 487, 355, 360, 0, 0, 0, 312, 176, + 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, + 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, + 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, - 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, - 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, - 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, - 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, - 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, - 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, - 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, - 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, - 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, - 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 456, 457, 458, 459, 460, 464, 465, - 469, 470, 479, 478, 477, 480, 481, 484, 483, 485, - 461, 462, 463, 466, 467, 468, 471, 472, 475, 473, - 474, 0, 131, 140, 210, 0, 275, 182, 343, 0, + 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, + 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, + 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, + 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, + 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, + 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, + 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, + 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, + 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, + 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, + 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, + 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, + 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, + 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, + 362, 258, 290, 157, 348, 313, 592, 604, 598, 600, + 599, 596, 597, 595, 594, 593, 606, 582, 583, 584, + 585, 586, 1466, 1467, 1468, 589, 0, 601, 602, 0, + 0, 0, 0, 545, 546, 547, 548, 549, 553, 554, + 558, 559, 567, 566, 565, 568, 569, 571, 570, 572, + 550, 551, 552, 555, 556, 557, 560, 561, 564, 562, + 563, 587, 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, - 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, - 258, 259, 260, 262, 263, 264, 272, 0, 280, 286, - 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, - 330, 331, 349, 351, 321, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, - 983, 0, 0, 0, 0, 175, 0, 0, 0, 0, - 208, 0, 0, 165, 216, 214, 0, 0, 0, 257, - 320, 0, 0, 0, 0, 211, 0, 0, 482, 309, - 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 984, - 0, 987, 0, 0, 0, 0, 0, 0, 486, 0, - 0, 0, 0, 0, 980, 979, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 981, 0, 0, 0, 340, 261, 277, 297, - 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 144, 0, 0, 0, 199, 350, 0, 0, - 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, - 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, - 0, 338, 0, 476, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, - 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, - 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, - 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, - 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, - 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, - 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, - 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, - 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, - 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, - 278, 354, 253, 284, 157, 341, 307, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 456, 457, 458, 459, 460, 464, - 465, 469, 470, 479, 478, 477, 480, 481, 484, 483, - 485, 461, 462, 463, 466, 467, 468, 471, 472, 475, - 473, 474, 0, 131, 140, 210, 0, 275, 182, 343, + 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, + 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, + 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, + 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, + 337, 338, 357, 359, 328, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, + 212, 0, 0, 165, 220, 218, 0, 0, 0, 262, + 327, 0, 0, 0, 591, 215, 0, 0, 493, 315, + 239, 0, 0, 0, 0, 578, 579, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 0, 0, 0, 514, + 538, 537, 540, 541, 542, 543, 0, 0, 497, 539, + 544, 573, 574, 0, 0, 0, 0, 529, 0, 590, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 347, 266, 282, 303, + 0, 274, 0, 0, 0, 0, 0, 526, 527, 0, + 0, 0, 0, 605, 0, 528, 0, 0, 523, 524, + 525, 530, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 240, 144, 581, 0, 0, 203, 358, 0, 0, + 603, 276, 0, 322, 191, 213, 148, 128, 142, 159, + 190, 251, 0, 297, 588, 0, 0, 0, 0, 166, + 0, 289, 259, 346, 580, 2756, 288, 216, 336, 0, + 0, 345, 0, 487, 355, 360, 0, 0, 0, 312, + 176, 0, 133, 0, 273, 171, 208, 0, 0, 0, + 163, 0, 0, 0, 311, 334, 150, 329, 238, 244, + 160, 162, 161, 143, 306, 333, 155, 164, 316, 293, + 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 351, 0, 300, 299, 0, 198, 0, 0, 0, + 281, 0, 204, 132, 325, 363, 149, 210, 330, 0, + 185, 250, 168, 260, 261, 182, 130, 278, 232, 233, + 231, 234, 189, 0, 0, 0, 279, 302, 332, 151, + 319, 0, 0, 0, 0, 291, 0, 0, 0, 223, + 178, 181, 192, 199, 0, 286, 320, 352, 0, 134, + 326, 344, 156, 301, 304, 361, 287, 137, 342, 321, + 236, 205, 206, 135, 0, 136, 284, 174, 188, 169, + 254, 0, 187, 275, 339, 340, 167, 364, 145, 354, + 139, 146, 353, 247, 0, 246, 356, 335, 343, 237, + 225, 0, 138, 341, 235, 224, 211, 180, 194, 271, + 219, 272, 195, 242, 241, 243, 221, 226, 0, 0, + 0, 317, 349, 365, 153, 0, 305, 331, 0, 0, + 154, 186, 179, 270, 245, 147, 197, 314, 209, 217, + 283, 362, 258, 290, 157, 348, 313, 592, 604, 598, + 600, 599, 596, 597, 595, 594, 593, 606, 582, 583, + 584, 585, 586, 0, 0, 0, 589, 0, 601, 602, + 0, 0, 0, 0, 545, 546, 547, 548, 549, 553, + 554, 558, 559, 567, 566, 565, 568, 569, 571, 570, + 572, 550, 551, 552, 555, 556, 557, 560, 561, 564, + 562, 563, 587, 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, - 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, - 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, - 252, 258, 259, 260, 262, 263, 264, 272, 0, 280, - 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, - 317, 330, 331, 349, 351, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, + 158, 172, 177, 183, 193, 196, 200, 201, 202, 207, + 222, 227, 228, 229, 230, 248, 249, 252, 253, 256, + 257, 263, 264, 265, 267, 268, 269, 277, 0, 285, + 292, 294, 295, 296, 298, 307, 308, 309, 310, 318, + 324, 337, 338, 357, 359, 328, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, - 0, 208, 0, 0, 165, 216, 214, 0, 0, 0, - 257, 320, 0, 0, 0, 0, 211, 0, 0, 482, - 309, 234, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 0, 455, 0, 0, 0, 0, 0, 0, 486, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 340, 261, 277, - 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 144, 0, 0, 0, 199, 350, 0, - 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, - 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, - 0, 0, 338, 0, 476, 347, 352, 0, 0, 0, - 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, - 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, - 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, - 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, - 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, - 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, - 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, - 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, - 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, - 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, - 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, - 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, - 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, - 213, 278, 354, 253, 284, 157, 341, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 456, 457, 458, 459, 460, - 464, 465, 469, 470, 479, 478, 477, 480, 481, 484, - 483, 485, 461, 462, 463, 466, 467, 468, 471, 472, - 475, 473, 474, 0, 131, 140, 210, 0, 275, 182, - 343, 0, 173, 0, 0, 0, 0, 450, 129, 141, - 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, - 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, - 251, 252, 258, 259, 260, 262, 263, 264, 272, 0, - 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, - 312, 317, 330, 331, 349, 351, 321, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, + 0, 212, 0, 0, 165, 220, 218, 0, 0, 0, + 262, 327, 0, 0, 0, 591, 215, 0, 0, 493, + 315, 239, 0, 0, 0, 0, 578, 579, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 0, 987, 0, + 514, 538, 537, 540, 541, 542, 543, 0, 0, 497, + 539, 544, 573, 574, 0, 0, 0, 0, 529, 0, + 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 347, 266, 282, + 303, 0, 274, 0, 0, 0, 0, 0, 526, 527, + 0, 0, 0, 0, 605, 0, 528, 0, 0, 523, + 524, 525, 530, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 144, 581, 0, 0, 203, 358, 0, + 0, 603, 276, 0, 322, 191, 213, 148, 128, 142, + 159, 190, 251, 0, 297, 588, 0, 0, 0, 0, + 166, 0, 289, 259, 346, 580, 0, 288, 216, 336, + 0, 0, 345, 0, 487, 355, 360, 0, 0, 0, + 312, 176, 0, 133, 0, 273, 171, 208, 0, 0, + 0, 163, 0, 0, 0, 311, 334, 150, 329, 238, + 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, + 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 351, 0, 300, 299, 0, 198, 0, 0, + 0, 281, 0, 204, 132, 325, 363, 149, 210, 330, + 0, 185, 250, 168, 260, 261, 182, 130, 278, 232, + 233, 231, 234, 189, 0, 0, 0, 279, 302, 332, + 151, 319, 0, 0, 0, 0, 291, 0, 0, 0, + 223, 178, 181, 192, 199, 0, 286, 320, 352, 0, + 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, + 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, + 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, + 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, + 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, + 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, + 0, 0, 317, 349, 365, 153, 0, 305, 331, 0, + 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, + 217, 283, 362, 258, 290, 157, 348, 313, 592, 604, + 598, 600, 599, 596, 597, 595, 594, 593, 606, 582, + 583, 584, 585, 586, 0, 0, 0, 589, 0, 601, + 602, 0, 0, 0, 0, 545, 546, 547, 548, 549, + 553, 554, 558, 559, 567, 566, 565, 568, 569, 571, + 570, 572, 550, 551, 552, 555, 556, 557, 560, 561, + 564, 562, 563, 587, 131, 140, 214, 0, 280, 184, + 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, + 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, + 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, + 256, 257, 263, 264, 265, 267, 268, 269, 277, 0, + 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, + 318, 324, 337, 338, 357, 359, 328, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, - 0, 0, 208, 1772, 0, 165, 216, 214, 0, 0, - 0, 257, 320, 0, 0, 0, 0, 211, 0, 0, - 482, 309, 234, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 126, 0, 455, 0, 0, 0, 0, 0, 0, - 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 340, 261, - 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 144, 0, 0, 0, 199, 350, - 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, - 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, - 329, 0, 0, 338, 0, 476, 347, 352, 0, 0, - 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, - 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, - 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, - 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, - 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, - 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, - 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, - 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, - 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, - 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, - 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, - 0, 0, 0, 311, 342, 357, 153, 0, 299, 324, - 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, - 205, 213, 278, 354, 253, 284, 157, 341, 307, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 456, 457, 458, 459, - 460, 464, 465, 469, 470, 479, 478, 477, 480, 481, - 484, 483, 485, 461, 462, 463, 466, 467, 468, 471, - 472, 475, 473, 474, 0, 131, 140, 210, 0, 275, - 182, 343, 0, 173, 0, 0, 0, 0, 0, 129, - 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, - 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, - 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, - 0, 280, 286, 288, 289, 290, 292, 301, 302, 303, - 304, 312, 317, 330, 331, 349, 351, 321, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, - 0, 0, 0, 208, 0, 0, 165, 216, 214, 0, - 0, 0, 257, 320, 0, 0, 0, 0, 211, 0, - 0, 482, 309, 234, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 0, 455, 0, 0, 0, 0, 0, - 0, 486, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, - 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 144, 0, 0, 0, 199, - 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, - 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, - 212, 329, 0, 0, 338, 0, 476, 347, 352, 0, - 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, - 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, - 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, - 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, - 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, - 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, - 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, - 174, 186, 169, 249, 0, 185, 270, 332, 333, 167, - 356, 145, 346, 139, 146, 345, 242, 0, 241, 348, - 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, - 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, - 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, - 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, - 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 456, 457, 458, - 459, 460, 464, 465, 469, 470, 479, 478, 477, 480, - 481, 484, 483, 485, 461, 462, 463, 466, 467, 468, - 471, 472, 475, 473, 474, 0, 131, 140, 210, 0, - 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, - 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, - 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, - 247, 248, 251, 252, 258, 259, 260, 262, 263, 264, - 272, 0, 280, 286, 288, 289, 290, 292, 301, 302, - 303, 304, 312, 317, 330, 331, 349, 351, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 0, 0, 208, 0, 0, 165, 216, 214, - 0, 0, 0, 257, 320, 0, 0, 0, 0, 211, - 0, 0, 482, 309, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 984, 0, 987, 0, 0, 0, 0, - 0, 0, 486, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 144, 0, 0, 0, - 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, - 282, 212, 329, 0, 0, 338, 0, 476, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, - 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, - 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, - 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, - 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, - 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, - 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, - 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, - 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, - 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, - 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, - 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 456, 457, - 458, 459, 460, 464, 465, 469, 470, 479, 478, 477, - 480, 481, 484, 483, 485, 461, 462, 463, 466, 467, - 468, 471, 472, 475, 473, 474, 0, 131, 140, 210, - 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, - 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, - 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, - 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, - 302, 303, 304, 312, 317, 330, 331, 349, 351, 321, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 0, 0, 0, 0, 208, 0, 0, 165, 216, - 214, 0, 0, 0, 257, 320, 0, 0, 0, 0, - 211, 0, 0, 482, 309, 234, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 635, 0, 0, 0, 0, 0, - 0, 0, 0, 486, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 144, 0, 0, - 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, - 0, 282, 212, 329, 0, 0, 338, 0, 476, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, - 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, - 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, - 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, - 136, 279, 174, 186, 169, 249, 0, 185, 270, 332, - 333, 167, 356, 145, 346, 139, 146, 345, 242, 0, - 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, - 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, - 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, - 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, - 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, - 341, 307, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, - 457, 458, 459, 460, 464, 465, 469, 470, 479, 478, - 477, 480, 481, 484, 483, 485, 461, 462, 463, 466, - 467, 468, 471, 472, 475, 473, 474, 0, 131, 140, - 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, - 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, - 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, - 243, 244, 247, 248, 251, 252, 258, 259, 260, 262, - 263, 264, 272, 0, 280, 286, 288, 289, 290, 292, - 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, - 427, 321, 421, 432, 415, 0, 0, 0, 0, 0, - 0, 0, 250, 0, 0, 438, 0, 0, 0, 0, - 0, 0, 175, 0, 0, 422, 0, 208, 0, 482, - 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, - 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, - 2135, 0, 0, 0, 0, 0, 0, 0, 0, 486, - 0, 0, 0, 0, 0, 0, 436, 0, 435, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 414, 413, 416, 0, 0, 0, 235, 144, - 0, 0, 420, 199, 350, 0, 0, 0, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 424, - 291, 0, 0, 428, 476, 0, 166, 0, 283, 254, - 339, 0, 0, 282, 212, 329, 0, 431, 338, 0, - 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, - 0, 0, 0, 441, 296, 325, 151, 313, 417, 418, - 419, 425, 426, 429, 430, 433, 134, 319, 337, 156, - 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, - 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, - 270, 332, 333, 167, 356, 145, 346, 139, 146, 345, - 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, - 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, - 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, - 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, - 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, - 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 456, 457, 458, 459, 460, - 464, 465, 469, 470, 479, 478, 477, 480, 481, 484, - 483, 485, 461, 462, 463, 466, 467, 468, 471, 472, - 475, 473, 474, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, + 0, 0, 212, 0, 0, 165, 220, 218, 0, 0, + 0, 262, 327, 0, 0, 0, 591, 215, 0, 0, + 493, 315, 239, 0, 0, 0, 0, 578, 579, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 514, 538, 537, 540, 541, 542, 543, 0, 0, + 497, 539, 544, 573, 574, 0, 0, 0, 0, 529, + 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, + 282, 303, 0, 274, 0, 0, 0, 0, 0, 526, + 527, 0, 0, 0, 0, 605, 0, 528, 0, 0, + 523, 524, 525, 530, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 144, 581, 0, 0, 203, 358, + 0, 0, 603, 276, 0, 322, 191, 213, 148, 128, + 142, 159, 190, 251, 0, 297, 588, 0, 0, 0, + 0, 166, 0, 289, 259, 346, 580, 0, 288, 216, + 336, 0, 0, 345, 0, 487, 355, 360, 0, 0, + 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, + 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, + 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, + 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, + 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, + 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, + 232, 233, 231, 234, 189, 0, 0, 0, 279, 302, + 332, 151, 319, 0, 0, 0, 0, 291, 0, 0, + 0, 223, 178, 181, 192, 199, 0, 286, 320, 352, + 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, + 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, + 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, + 145, 354, 139, 146, 353, 247, 0, 246, 356, 335, + 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, + 194, 271, 219, 272, 195, 242, 241, 243, 221, 226, + 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, + 0, 0, 154, 186, 179, 270, 245, 147, 197, 314, + 209, 217, 283, 362, 258, 290, 157, 348, 313, 592, + 604, 598, 600, 599, 596, 597, 595, 594, 593, 606, + 582, 583, 584, 585, 586, 0, 0, 0, 589, 0, + 601, 602, 0, 0, 0, 0, 545, 546, 547, 548, + 549, 553, 554, 558, 559, 567, 566, 565, 568, 569, + 571, 570, 572, 550, 551, 552, 555, 556, 557, 560, + 561, 564, 562, 563, 587, 131, 140, 214, 0, 280, + 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, + 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, + 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, + 253, 256, 257, 263, 264, 265, 267, 268, 269, 277, + 0, 285, 292, 294, 295, 296, 298, 307, 308, 309, + 310, 318, 324, 337, 338, 357, 359, 328, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, + 0, 0, 0, 1509, 0, 0, 0, 0, 175, 0, + 0, 0, 0, 212, 0, 0, 165, 220, 218, 0, + 0, 0, 262, 327, 0, 0, 0, 0, 215, 0, + 0, 493, 315, 239, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1511, 1513, 0, 0, 0, 0, + 0, 0, 126, 0, 466, 0, 0, 0, 0, 0, + 0, 497, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, + 266, 282, 303, 0, 274, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 144, 0, 0, 0, 203, + 358, 0, 1512, 0, 276, 0, 322, 191, 213, 148, + 128, 142, 159, 190, 251, 0, 297, 0, 0, 0, + 0, 0, 166, 0, 289, 259, 346, 0, 0, 288, + 216, 336, 0, 0, 345, 0, 487, 355, 360, 0, + 0, 0, 312, 176, 0, 133, 0, 273, 171, 208, + 0, 0, 0, 163, 0, 0, 0, 311, 334, 150, + 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, + 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 351, 0, 300, 299, 0, 198, + 0, 0, 0, 281, 0, 204, 132, 325, 363, 149, + 210, 330, 0, 185, 250, 168, 260, 261, 182, 130, + 278, 232, 233, 231, 234, 189, 0, 0, 0, 279, + 302, 332, 151, 319, 0, 0, 0, 0, 291, 0, + 0, 0, 223, 178, 181, 192, 199, 0, 286, 320, + 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, + 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, + 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, + 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, + 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, + 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, + 226, 0, 0, 0, 317, 349, 365, 153, 0, 305, + 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, + 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 467, 468, 469, + 470, 471, 475, 476, 480, 481, 490, 489, 488, 491, + 492, 495, 494, 496, 472, 473, 474, 477, 478, 479, + 482, 483, 486, 484, 485, 0, 131, 140, 214, 0, + 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, + 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, + 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, + 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, + 277, 0, 285, 292, 294, 295, 296, 298, 307, 308, + 309, 310, 318, 324, 337, 338, 357, 359, 328, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 1509, 0, 0, 0, 0, 175, + 0, 0, 0, 0, 212, 0, 0, 165, 220, 218, + 0, 0, 0, 262, 327, 0, 0, 0, 0, 215, + 0, 0, 493, 315, 239, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1511, 1513, 0, 0, 0, + 0, 0, 0, 126, 0, 466, 0, 0, 0, 0, + 0, 0, 497, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 1507, 282, 303, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 240, 144, 0, 0, 0, + 203, 358, 0, 1512, 0, 276, 0, 322, 191, 213, + 148, 128, 142, 159, 190, 251, 0, 297, 0, 0, + 0, 0, 0, 166, 0, 289, 259, 346, 0, 0, + 288, 216, 336, 0, 0, 345, 0, 487, 355, 360, + 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, + 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, + 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, + 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, + 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, + 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, + 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, + 279, 302, 332, 151, 319, 0, 0, 0, 0, 291, + 0, 0, 0, 223, 178, 181, 192, 199, 0, 286, + 320, 352, 0, 134, 326, 344, 156, 301, 304, 361, + 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, + 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, + 167, 364, 145, 354, 139, 146, 353, 247, 0, 246, + 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, + 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, + 221, 226, 0, 0, 0, 317, 349, 365, 153, 0, + 305, 331, 0, 0, 154, 186, 179, 270, 245, 147, + 197, 314, 209, 217, 283, 362, 258, 290, 157, 348, + 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 467, 468, + 469, 470, 471, 475, 476, 480, 481, 490, 489, 488, + 491, 492, 495, 494, 496, 472, 473, 474, 477, 478, + 479, 482, 483, 486, 484, 485, 0, 131, 140, 214, + 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, + 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, + 249, 252, 253, 256, 257, 263, 264, 265, 267, 268, + 269, 277, 0, 285, 292, 294, 295, 296, 298, 307, + 308, 309, 310, 318, 324, 337, 338, 357, 359, 328, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 0, 1009, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 212, 0, 0, 165, 220, + 218, 0, 0, 0, 262, 327, 0, 0, 0, 0, + 215, 0, 0, 493, 315, 239, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1010, 0, 1013, 0, 0, 0, + 0, 0, 0, 497, 0, 0, 0, 0, 0, 1006, + 1005, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1007, 0, 0, + 0, 347, 266, 282, 303, 0, 274, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 144, 0, 0, + 0, 203, 358, 0, 0, 0, 276, 0, 322, 191, + 213, 148, 128, 142, 159, 190, 251, 0, 297, 0, + 0, 0, 0, 0, 166, 0, 289, 259, 346, 0, + 0, 288, 216, 336, 0, 0, 345, 0, 487, 355, + 360, 0, 0, 0, 312, 176, 0, 133, 0, 273, + 171, 208, 0, 0, 0, 163, 0, 0, 0, 311, + 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, + 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 351, 0, 300, 299, + 0, 198, 0, 0, 0, 281, 0, 204, 132, 325, + 363, 149, 210, 330, 0, 185, 250, 168, 260, 261, + 182, 130, 278, 232, 233, 231, 234, 189, 0, 0, + 0, 279, 302, 332, 151, 319, 0, 0, 0, 0, + 291, 0, 0, 0, 223, 178, 181, 192, 199, 0, + 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, + 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, + 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, + 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, + 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, + 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, + 243, 221, 226, 0, 0, 0, 317, 349, 365, 153, + 0, 305, 331, 0, 0, 154, 186, 179, 270, 245, + 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, + 348, 313, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, + 468, 469, 470, 471, 475, 476, 480, 481, 490, 489, + 488, 491, 492, 495, 494, 496, 472, 473, 474, 477, + 478, 479, 482, 483, 486, 484, 485, 0, 131, 140, + 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, + 0, 0, 129, 141, 152, 158, 172, 177, 183, 193, + 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, + 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, + 268, 269, 277, 0, 285, 292, 294, 295, 296, 298, + 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, + 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 0, 0, 0, 212, 0, 0, 165, + 220, 218, 0, 0, 0, 262, 327, 0, 0, 0, + 0, 215, 0, 0, 493, 315, 239, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 126, 0, 466, 0, 0, + 0, 0, 0, 0, 497, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 347, 266, 282, 303, 0, 274, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 144, 0, + 0, 0, 203, 358, 0, 0, 0, 276, 0, 322, + 191, 213, 148, 128, 142, 159, 190, 251, 0, 297, + 0, 0, 0, 0, 0, 166, 0, 289, 259, 346, + 0, 0, 288, 216, 336, 0, 0, 345, 0, 487, + 355, 360, 0, 0, 0, 312, 176, 0, 133, 0, + 273, 171, 208, 0, 0, 0, 163, 0, 0, 0, + 311, 334, 150, 329, 238, 244, 160, 162, 161, 143, + 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 351, 0, 300, + 299, 0, 198, 0, 0, 0, 281, 0, 204, 132, + 325, 363, 149, 210, 330, 0, 185, 250, 168, 260, + 261, 182, 130, 278, 232, 233, 231, 234, 189, 0, + 0, 0, 279, 302, 332, 151, 319, 0, 0, 0, + 0, 291, 0, 0, 0, 223, 178, 181, 192, 199, + 0, 286, 320, 352, 0, 134, 326, 344, 156, 301, + 304, 361, 287, 137, 342, 321, 236, 205, 206, 135, + 0, 136, 284, 174, 188, 169, 254, 0, 187, 275, + 339, 340, 167, 364, 145, 354, 139, 146, 353, 247, + 0, 246, 356, 335, 343, 237, 225, 0, 138, 341, + 235, 224, 211, 180, 194, 271, 219, 272, 195, 242, + 241, 243, 221, 226, 0, 0, 0, 317, 349, 365, + 153, 0, 305, 331, 0, 0, 154, 186, 179, 270, + 245, 147, 197, 314, 209, 217, 283, 362, 258, 290, + 157, 348, 313, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 467, 468, 469, 470, 471, 475, 476, 480, 481, 490, + 489, 488, 491, 492, 495, 494, 496, 472, 473, 474, + 477, 478, 479, 482, 483, 486, 484, 485, 0, 131, + 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, + 0, 0, 461, 129, 141, 152, 158, 172, 177, 183, + 193, 196, 200, 201, 202, 207, 222, 227, 228, 229, + 230, 248, 249, 252, 253, 256, 257, 263, 264, 265, + 267, 268, 269, 277, 0, 285, 292, 294, 295, 296, + 298, 307, 308, 309, 310, 318, 324, 337, 338, 357, + 359, 328, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 0, 0, 0, 212, 1804, 0, + 165, 220, 218, 0, 0, 0, 262, 327, 0, 0, + 0, 0, 215, 0, 0, 493, 315, 239, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 466, 0, + 0, 0, 0, 0, 0, 497, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 347, 266, 282, 303, 0, 274, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 240, 144, + 0, 0, 0, 203, 358, 0, 0, 0, 276, 0, + 322, 191, 213, 148, 128, 142, 159, 190, 251, 0, + 297, 0, 0, 0, 0, 0, 166, 0, 289, 259, + 346, 0, 0, 288, 216, 336, 0, 0, 345, 0, + 487, 355, 360, 0, 0, 0, 312, 176, 0, 133, + 0, 273, 171, 208, 0, 0, 0, 163, 0, 0, + 0, 311, 334, 150, 329, 238, 244, 160, 162, 161, + 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, + 300, 299, 0, 198, 0, 0, 0, 281, 0, 204, + 132, 325, 363, 149, 210, 330, 0, 185, 250, 168, + 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, + 0, 0, 0, 279, 302, 332, 151, 319, 0, 0, + 0, 0, 291, 0, 0, 0, 223, 178, 181, 192, + 199, 0, 286, 320, 352, 0, 134, 326, 344, 156, + 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, + 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, + 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, + 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, + 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, + 242, 241, 243, 221, 226, 0, 0, 0, 317, 349, + 365, 153, 0, 305, 331, 0, 0, 154, 186, 179, + 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, + 290, 157, 348, 313, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 467, 468, 469, 470, 471, 475, 476, 480, 481, + 490, 489, 488, 491, 492, 495, 494, 496, 472, 473, + 474, 477, 478, 479, 482, 483, 486, 484, 485, 0, + 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, - 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, - 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, - 260, 262, 263, 264, 272, 423, 280, 286, 288, 289, - 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, - 349, 351, 427, 321, 421, 432, 415, 0, 0, 0, - 0, 0, 0, 0, 250, 0, 0, 407, 0, 0, - 0, 0, 0, 0, 175, 0, 0, 422, 0, 208, - 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, - 0, 0, 0, 0, 211, 0, 0, 0, 309, 234, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 436, 0, - 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 340, 261, 277, 297, 0, - 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 414, 413, 416, 0, 0, 0, - 235, 144, 0, 0, 420, 199, 350, 0, 0, 0, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 424, 291, 0, 0, 428, 0, 0, 166, 0, - 283, 254, 339, 0, 0, 282, 212, 329, 0, 431, - 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, + 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, + 265, 267, 268, 269, 277, 0, 285, 292, 294, 295, + 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, + 357, 359, 328, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 0, 0, 0, 212, 0, + 0, 165, 220, 218, 0, 0, 0, 262, 327, 0, + 0, 0, 0, 215, 0, 0, 493, 315, 239, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 126, 0, 466, + 0, 0, 0, 0, 0, 0, 497, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 347, 266, 282, 303, 0, 274, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, + 144, 0, 0, 0, 203, 358, 0, 0, 0, 276, + 0, 322, 191, 213, 148, 128, 142, 159, 190, 251, + 0, 297, 0, 0, 0, 0, 0, 166, 0, 289, + 259, 346, 0, 0, 288, 216, 336, 0, 0, 345, + 0, 487, 355, 360, 0, 0, 0, 312, 176, 0, + 133, 0, 273, 171, 208, 0, 0, 0, 163, 0, + 0, 0, 311, 334, 150, 329, 238, 244, 160, 162, + 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, + 0, 300, 299, 0, 198, 0, 0, 0, 281, 0, + 204, 132, 325, 363, 149, 210, 330, 0, 185, 250, + 168, 260, 261, 182, 130, 278, 232, 233, 231, 234, + 189, 0, 0, 0, 279, 302, 332, 151, 319, 0, + 0, 0, 0, 291, 0, 0, 0, 223, 178, 181, + 192, 199, 0, 286, 320, 352, 0, 134, 326, 344, + 156, 301, 304, 361, 287, 137, 342, 321, 236, 205, + 206, 135, 0, 136, 284, 174, 188, 169, 254, 0, + 187, 275, 339, 340, 167, 364, 145, 354, 139, 146, + 353, 247, 0, 246, 356, 335, 343, 237, 225, 0, + 138, 341, 235, 224, 211, 180, 194, 271, 219, 272, + 195, 242, 241, 243, 221, 226, 0, 0, 0, 317, + 349, 365, 153, 0, 305, 331, 0, 0, 154, 186, + 179, 270, 245, 147, 197, 314, 209, 217, 283, 362, + 258, 290, 157, 348, 313, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 467, 468, 469, 470, 471, 475, 476, 480, + 481, 490, 489, 488, 491, 492, 495, 494, 496, 472, + 473, 474, 477, 478, 479, 482, 483, 486, 484, 485, + 0, 131, 140, 214, 0, 280, 184, 350, 0, 173, + 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, + 177, 183, 193, 196, 200, 201, 202, 207, 222, 227, + 228, 229, 230, 248, 249, 252, 253, 256, 257, 263, + 264, 265, 267, 268, 269, 277, 0, 285, 292, 294, + 295, 296, 298, 307, 308, 309, 310, 318, 324, 337, + 338, 357, 359, 328, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 0, 0, 0, 212, + 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, + 0, 0, 0, 0, 215, 0, 0, 493, 315, 239, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1010, 0, + 1013, 0, 0, 0, 0, 0, 0, 497, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 240, 144, 0, 0, 0, 203, 358, 0, 0, 0, + 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, + 251, 0, 297, 0, 0, 0, 0, 0, 166, 0, + 289, 259, 346, 0, 0, 288, 216, 336, 0, 0, + 345, 0, 487, 355, 360, 0, 0, 0, 312, 176, + 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, + 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, + 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 187, 0, 0, 0, 410, 296, 325, 151, 313, - 417, 418, 419, 425, 426, 429, 430, 433, 134, 319, - 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, - 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, - 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, - 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, - 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, - 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, - 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, - 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, - 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 131, 140, 210, 0, 275, 182, 343, 0, + 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, + 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, + 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, + 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, + 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, + 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, + 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, + 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, + 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, + 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, + 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, + 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, + 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, + 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, + 362, 258, 290, 157, 348, 313, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 467, 468, 469, 470, 471, 475, 476, + 480, 481, 490, 489, 488, 491, 492, 495, 494, 496, + 472, 473, 474, 477, 478, 479, 482, 483, 486, 484, + 485, 0, 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, - 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, - 258, 259, 260, 262, 263, 264, 272, 423, 280, 286, - 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, - 330, 331, 349, 351, 321, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, + 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, + 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, + 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, + 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, + 337, 338, 357, 359, 328, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, - 208, 0, 0, 165, 216, 214, 0, 0, 0, 257, - 320, 0, 0, 0, 0, 211, 0, 0, 0, 309, - 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 340, 261, 277, 297, - 0, 269, 0, 997, 996, 1006, 1007, 999, 1000, 1001, - 1002, 1003, 1004, 1005, 998, 0, 0, 1008, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 144, 0, 0, 0, 199, 350, 0, 0, - 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, - 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, - 0, 338, 0, 0, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, - 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, - 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, - 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, - 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, - 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, - 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, - 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, - 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, - 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, - 278, 354, 253, 284, 157, 341, 307, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 131, 140, 210, 0, 275, 182, 343, + 212, 0, 0, 165, 220, 218, 0, 0, 0, 262, + 327, 0, 0, 0, 0, 215, 0, 0, 493, 315, + 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 646, + 0, 0, 0, 0, 0, 0, 0, 0, 497, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 347, 266, 282, 303, + 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 240, 144, 0, 0, 0, 203, 358, 0, 0, + 0, 276, 0, 322, 191, 213, 148, 128, 142, 159, + 190, 251, 0, 297, 0, 0, 0, 0, 0, 166, + 0, 289, 259, 346, 0, 0, 288, 216, 336, 0, + 0, 345, 0, 487, 355, 360, 0, 0, 0, 312, + 176, 0, 133, 0, 273, 171, 208, 0, 0, 0, + 163, 0, 0, 0, 311, 334, 150, 329, 238, 244, + 160, 162, 161, 143, 306, 333, 155, 164, 316, 293, + 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 351, 0, 300, 299, 0, 198, 0, 0, 0, + 281, 0, 204, 132, 325, 363, 149, 210, 330, 0, + 185, 250, 168, 260, 261, 182, 130, 278, 232, 233, + 231, 234, 189, 0, 0, 0, 279, 302, 332, 151, + 319, 0, 0, 0, 0, 291, 0, 0, 0, 223, + 178, 181, 192, 199, 0, 286, 320, 352, 0, 134, + 326, 344, 156, 301, 304, 361, 287, 137, 342, 321, + 236, 205, 206, 135, 0, 136, 284, 174, 188, 169, + 254, 0, 187, 275, 339, 340, 167, 364, 145, 354, + 139, 146, 353, 247, 0, 246, 356, 335, 343, 237, + 225, 0, 138, 341, 235, 224, 211, 180, 194, 271, + 219, 272, 195, 242, 241, 243, 221, 226, 0, 0, + 0, 317, 349, 365, 153, 0, 305, 331, 0, 0, + 154, 186, 179, 270, 245, 147, 197, 314, 209, 217, + 283, 362, 258, 290, 157, 348, 313, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 467, 468, 469, 470, 471, 475, + 476, 480, 481, 490, 489, 488, 491, 492, 495, 494, + 496, 472, 473, 474, 477, 478, 479, 482, 483, 486, + 484, 485, 0, 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, - 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, - 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, - 252, 258, 259, 260, 262, 263, 264, 272, 0, 280, - 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, - 317, 330, 331, 349, 351, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 250, 0, 0, 2649, - 0, 0, 0, 0, 0, 0, 175, 2647, 0, 0, - 0, 208, 0, 0, 165, 216, 214, 0, 0, 0, - 257, 320, 0, 0, 0, 0, 211, 0, 0, 0, - 309, 234, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 436, 0, 435, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 340, 261, 277, - 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 144, 0, 0, 0, 199, 350, 0, - 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, - 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, - 0, 0, 338, 0, 0, 347, 352, 0, 0, 0, - 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, - 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 294, 293, 0, 195, 0, 2648, - 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, - 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, - 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, - 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, - 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, - 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, - 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, - 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, - 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, - 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, - 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, - 213, 278, 354, 253, 284, 157, 341, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 140, 210, 0, 275, 182, - 343, 0, 173, 0, 0, 0, 0, 0, 129, 141, - 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, - 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, - 251, 252, 258, 259, 260, 262, 263, 264, 272, 0, - 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, - 312, 317, 330, 331, 349, 351, 36, 321, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, - 0, 0, 0, 208, 0, 0, 165, 216, 214, 0, - 0, 0, 257, 320, 0, 0, 0, 1472, 211, 0, - 0, 0, 309, 234, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, - 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, - 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 144, 0, 0, 0, 199, - 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, - 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, - 212, 329, 0, 0, 338, 0, 0, 347, 352, 0, - 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, - 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, - 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, - 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, - 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, - 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, - 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, - 174, 186, 169, 249, 0, 185, 270, 332, 333, 167, - 356, 145, 346, 139, 146, 345, 242, 0, 241, 348, - 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, - 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, - 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, - 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, - 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 140, 210, 79, - 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, - 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, - 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, - 247, 248, 251, 252, 258, 259, 260, 262, 263, 264, - 272, 0, 280, 286, 288, 289, 290, 292, 301, 302, - 303, 304, 312, 317, 330, 331, 349, 351, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 0, 0, 208, 0, 0, 165, 216, 214, - 0, 0, 0, 257, 320, 0, 0, 0, 0, 211, - 0, 0, 0, 309, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 436, 0, 435, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 144, 0, 0, 0, - 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, - 282, 212, 329, 0, 0, 338, 0, 0, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, - 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, - 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, - 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, - 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, - 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, - 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, - 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, - 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, - 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, - 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, - 307, 0, 0, 0, 1261, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 131, 140, 210, - 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, - 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, - 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, - 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, - 302, 303, 304, 312, 317, 330, 331, 349, 351, 321, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 1133, 0, 0, 0, 208, 0, 0, 165, 216, - 214, 0, 0, 0, 257, 320, 0, 0, 0, 0, - 211, 0, 0, 0, 309, 234, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 635, 0, 1132, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 144, 0, 0, - 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, - 0, 282, 212, 329, 0, 0, 338, 0, 0, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, - 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, - 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, - 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, - 136, 279, 174, 186, 169, 249, 0, 185, 270, 332, - 333, 167, 356, 145, 346, 139, 146, 345, 242, 0, - 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, - 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, - 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, - 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, - 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, - 341, 307, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 158, 172, 177, 183, 193, 196, 200, 201, 202, 207, + 222, 227, 228, 229, 230, 248, 249, 252, 253, 256, + 257, 263, 264, 265, 267, 268, 269, 277, 0, 285, + 292, 294, 295, 296, 298, 307, 308, 309, 310, 318, + 324, 337, 338, 357, 359, 435, 328, 429, 440, 423, + 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, + 446, 0, 0, 0, 0, 0, 0, 175, 0, 0, + 430, 0, 212, 0, 0, 165, 220, 218, 0, 0, + 0, 262, 327, 0, 0, 0, 493, 215, 0, 0, + 0, 315, 239, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2158, 0, 0, 0, 2160, 0, 0, + 0, 444, 0, 443, 0, 0, 497, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, + 282, 303, 0, 274, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 422, 421, 424, + 0, 0, 0, 240, 144, 0, 0, 428, 203, 358, + 0, 0, 0, 276, 0, 322, 191, 213, 148, 128, + 142, 159, 190, 251, 432, 297, 0, 0, 436, 0, + 0, 166, 0, 289, 259, 346, 0, 0, 288, 216, + 336, 487, 439, 345, 0, 0, 355, 360, 0, 0, + 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, + 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, + 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, + 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, + 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, + 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, + 232, 233, 231, 234, 189, 0, 0, 0, 449, 302, + 332, 151, 319, 425, 426, 427, 433, 434, 437, 438, + 441, 223, 178, 181, 192, 199, 0, 286, 320, 352, + 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, + 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, + 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, + 145, 354, 139, 146, 353, 247, 0, 246, 356, 335, + 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, + 194, 271, 219, 272, 195, 242, 241, 243, 221, 226, + 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, + 0, 0, 154, 186, 179, 270, 245, 147, 197, 314, + 209, 217, 283, 362, 258, 290, 157, 348, 313, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 467, 468, 469, 470, 471, 475, 476, 480, + 481, 490, 489, 488, 491, 492, 495, 494, 496, 472, + 473, 474, 477, 478, 479, 482, 483, 486, 484, 485, + 0, 0, 0, 0, 0, 131, 140, 214, 0, 280, + 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, + 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, + 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, + 253, 256, 257, 263, 264, 265, 267, 268, 269, 277, + 431, 285, 292, 294, 295, 296, 298, 307, 308, 309, + 310, 318, 324, 337, 338, 357, 359, 435, 328, 429, + 440, 423, 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 415, 0, 0, 0, 0, 0, 0, 175, + 0, 0, 430, 0, 212, 0, 493, 165, 220, 218, + 0, 0, 0, 262, 327, 0, 0, 0, 0, 215, + 0, 0, 0, 315, 239, 0, 0, 2160, 0, 0, + 0, 0, 0, 0, 0, 0, 497, 0, 0, 0, + 0, 0, 0, 444, 0, 443, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 266, 282, 303, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, + 421, 424, 0, 0, 0, 240, 144, 0, 0, 428, + 203, 358, 0, 0, 0, 276, 0, 322, 191, 213, + 148, 128, 142, 159, 190, 251, 432, 297, 0, 0, + 436, 487, 0, 166, 0, 289, 259, 346, 0, 0, + 288, 216, 336, 0, 439, 345, 0, 0, 355, 360, + 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, + 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, + 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, + 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, + 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, + 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, + 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, + 418, 302, 332, 151, 319, 425, 426, 427, 433, 434, + 437, 438, 441, 223, 178, 181, 192, 199, 0, 286, + 320, 352, 0, 134, 326, 344, 156, 301, 304, 361, + 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, + 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, + 167, 364, 145, 354, 139, 146, 353, 247, 0, 246, + 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, + 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, + 221, 226, 0, 0, 0, 317, 349, 365, 153, 0, + 305, 331, 0, 0, 154, 186, 179, 270, 245, 147, + 197, 314, 209, 217, 283, 362, 258, 290, 157, 348, + 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 467, 468, 469, 470, 471, 475, 476, 480, + 481, 490, 489, 488, 491, 492, 495, 494, 496, 472, + 473, 474, 477, 478, 479, 482, 483, 486, 484, 485, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 140, 214, + 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, + 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, + 249, 252, 253, 256, 257, 263, 264, 265, 267, 268, + 269, 277, 431, 285, 292, 294, 295, 296, 298, 307, + 308, 309, 310, 318, 324, 337, 338, 357, 359, 328, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 493, 0, 0, 212, 0, 0, 165, 220, + 218, 0, 0, 0, 262, 327, 0, 0, 0, 0, + 215, 0, 0, 2169, 315, 239, 0, 0, 0, 0, + 0, 0, 497, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 646, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 347, 266, 282, 303, 0, 274, 0, 1023, 1022, + 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, + 0, 0, 1034, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 144, 0, 0, + 0, 203, 358, 0, 0, 0, 276, 0, 322, 191, + 213, 148, 128, 142, 159, 190, 251, 487, 297, 0, + 0, 0, 0, 0, 166, 0, 289, 259, 346, 0, + 0, 288, 216, 336, 0, 0, 345, 0, 0, 355, + 360, 0, 0, 0, 312, 176, 0, 133, 0, 273, + 171, 208, 0, 0, 0, 163, 0, 0, 0, 311, + 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, + 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 351, 0, 300, 299, + 0, 198, 0, 0, 0, 281, 0, 204, 132, 325, + 363, 149, 210, 330, 0, 185, 250, 168, 260, 261, + 182, 130, 278, 232, 233, 231, 234, 189, 0, 0, + 0, 279, 302, 332, 151, 319, 0, 0, 0, 0, + 291, 0, 0, 0, 223, 178, 181, 192, 199, 0, + 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, + 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, + 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, + 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, + 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, + 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, + 243, 221, 226, 0, 0, 0, 317, 349, 365, 153, + 0, 305, 331, 0, 0, 154, 186, 179, 270, 245, + 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, + 348, 313, 0, 0, 0, 0, 0, 0, 467, 468, + 469, 470, 471, 475, 476, 480, 481, 490, 489, 488, + 491, 492, 495, 494, 496, 472, 473, 474, 477, 478, + 479, 482, 483, 486, 484, 485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, - 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, - 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, - 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, - 243, 244, 247, 248, 251, 252, 258, 259, 260, 262, - 263, 264, 272, 0, 280, 286, 288, 289, 290, 292, - 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 175, 0, 0, 0, 0, 208, 0, 0, 165, - 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, - 0, 211, 0, 0, 0, 309, 234, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 436, 0, 435, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 144, 0, - 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, - 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, - 0, 0, 282, 212, 329, 0, 0, 338, 0, 0, - 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, - 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, - 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, - 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, - 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, - 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, - 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, - 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, - 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, - 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, - 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, - 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, - 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, - 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, - 157, 341, 307, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, + 0, 0, 129, 141, 152, 158, 172, 177, 183, 193, + 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, + 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, + 268, 269, 277, 0, 285, 292, 294, 295, 296, 298, + 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, + 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 255, 0, 0, 2681, 0, 0, 0, 0, 0, + 0, 175, 2679, 493, 0, 0, 212, 0, 0, 165, + 220, 218, 0, 0, 0, 262, 327, 0, 0, 0, + 0, 215, 0, 0, 2167, 315, 239, 0, 0, 0, + 0, 0, 0, 497, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 444, 0, 443, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 347, 266, 282, 303, 0, 274, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 144, 0, + 0, 0, 203, 358, 0, 0, 0, 276, 0, 322, + 191, 213, 148, 128, 142, 159, 190, 251, 487, 297, + 0, 0, 0, 0, 0, 166, 0, 289, 259, 346, + 0, 0, 288, 216, 336, 0, 0, 345, 0, 0, + 355, 360, 0, 0, 0, 312, 176, 0, 133, 0, + 273, 171, 208, 0, 0, 0, 163, 0, 0, 0, + 311, 334, 150, 329, 238, 244, 160, 162, 161, 143, + 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 351, 0, 300, + 299, 0, 198, 0, 2680, 0, 281, 0, 204, 132, + 325, 363, 149, 210, 330, 0, 185, 250, 168, 260, + 261, 182, 130, 278, 232, 233, 231, 234, 189, 0, + 0, 0, 279, 302, 332, 151, 319, 0, 0, 0, + 0, 291, 0, 0, 0, 223, 178, 181, 192, 199, + 0, 286, 320, 352, 0, 134, 326, 344, 156, 301, + 304, 361, 287, 137, 342, 321, 236, 205, 206, 135, + 0, 136, 284, 174, 188, 169, 254, 0, 187, 275, + 339, 340, 167, 364, 145, 354, 139, 146, 353, 247, + 0, 246, 356, 335, 343, 237, 225, 0, 138, 341, + 235, 224, 211, 180, 194, 271, 219, 272, 195, 242, + 241, 243, 221, 226, 0, 0, 0, 317, 349, 365, + 153, 0, 305, 331, 0, 0, 154, 186, 179, 270, + 245, 147, 197, 314, 209, 217, 283, 362, 258, 290, + 157, 348, 313, 0, 0, 0, 0, 0, 0, 467, + 468, 469, 470, 471, 475, 476, 480, 481, 490, 489, + 488, 491, 492, 495, 494, 496, 472, 473, 474, 477, + 478, 479, 482, 483, 486, 484, 485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 140, 210, 0, 275, 182, 343, 0, 173, 0, 0, - 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, - 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, - 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, - 262, 263, 264, 272, 0, 280, 286, 288, 289, 290, - 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, - 351, 321, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 0, 0, 0, 0, 208, 0, 0, - 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, - 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 0, 0, 126, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 144, - 0, 0, 0, 199, 350, 0, 0, 0, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, - 291, 0, 0, 0, 0, 0, 166, 0, 283, 254, - 339, 0, 0, 282, 212, 329, 0, 0, 338, 0, - 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, - 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, - 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, - 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, - 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, - 270, 332, 333, 167, 356, 145, 346, 139, 146, 345, - 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, - 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, - 237, 236, 238, 217, 221, 0, 0, 0, 311, 342, - 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, - 265, 240, 147, 194, 308, 205, 213, 278, 354, 253, - 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, - 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, - 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, - 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, - 260, 262, 263, 264, 272, 0, 280, 286, 288, 289, - 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, - 349, 351, 321, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 175, 0, 0, 0, 0, 208, 0, - 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, - 0, 0, 0, 211, 0, 0, 0, 309, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 635, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, - 0, 0, 0, 0, 0, 0, 0, 2114, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 144, 0, 0, 0, 199, 350, 0, 0, 0, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, - 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, - 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, - 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, - 0, 0, 0, 285, 0, 0, 0, 134, 319, 337, - 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, - 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, - 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, - 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, - 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, - 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, - 342, 357, 153, 0, 299, 324, 0, 0, 154, 184, - 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, - 253, 284, 157, 341, 307, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 140, 210, 0, 275, 182, 343, 0, 173, + 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, + 0, 0, 0, 129, 141, 152, 158, 172, 177, 183, + 193, 196, 200, 201, 202, 207, 222, 227, 228, 229, + 230, 248, 249, 252, 253, 256, 257, 263, 264, 265, + 267, 268, 269, 277, 0, 285, 292, 294, 295, 296, + 298, 307, 308, 309, 310, 318, 324, 337, 338, 357, + 359, 36, 328, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 0, 0, 0, 212, 0, + 0, 165, 220, 218, 0, 0, 0, 262, 327, 0, + 0, 0, 1504, 215, 0, 0, 0, 315, 239, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, 0, 126, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 347, 266, 282, 303, 0, 274, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, + 144, 0, 0, 0, 203, 358, 0, 0, 0, 276, + 0, 322, 191, 213, 148, 128, 142, 159, 190, 251, + 0, 297, 0, 0, 0, 0, 0, 166, 0, 289, + 259, 346, 0, 0, 288, 216, 336, 0, 0, 345, + 0, 0, 355, 360, 0, 0, 0, 312, 176, 0, + 133, 0, 273, 171, 208, 0, 0, 0, 163, 0, + 0, 0, 311, 334, 150, 329, 238, 244, 160, 162, + 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, + 0, 300, 299, 0, 198, 0, 0, 0, 281, 0, + 204, 132, 325, 363, 149, 210, 330, 0, 185, 250, + 168, 260, 261, 182, 130, 278, 232, 233, 231, 234, + 189, 0, 0, 0, 279, 302, 332, 151, 319, 0, + 0, 0, 0, 291, 0, 0, 0, 223, 178, 181, + 192, 199, 0, 286, 320, 352, 0, 134, 326, 344, + 156, 301, 304, 361, 287, 137, 342, 321, 236, 205, + 206, 135, 0, 136, 284, 174, 188, 169, 254, 0, + 187, 275, 339, 340, 167, 364, 145, 354, 139, 146, + 353, 247, 0, 246, 356, 335, 343, 237, 225, 0, + 138, 341, 235, 224, 211, 180, 194, 271, 219, 272, + 195, 242, 241, 243, 221, 226, 0, 0, 0, 317, + 349, 365, 153, 0, 305, 331, 0, 0, 154, 186, + 179, 270, 245, 147, 197, 314, 209, 217, 283, 362, + 258, 290, 157, 348, 313, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 140, 214, 79, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, - 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, - 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, - 259, 260, 262, 263, 264, 272, 0, 280, 286, 288, - 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, - 331, 349, 351, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 175, 0, 0, 0, 0, 208, - 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, - 0, 0, 0, 0, 211, 0, 0, 0, 309, 234, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 635, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 340, 261, 277, 297, 0, - 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 144, 0, 0, 0, 199, 350, 0, 0, 0, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, - 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, - 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, + 177, 183, 193, 196, 200, 201, 202, 207, 222, 227, + 228, 229, 230, 248, 249, 252, 253, 256, 257, 263, + 264, 265, 267, 268, 269, 277, 0, 285, 292, 294, + 295, 296, 298, 307, 308, 309, 310, 318, 324, 337, + 338, 357, 359, 328, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 0, 0, 0, 212, + 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, + 0, 0, 0, 0, 215, 0, 0, 0, 315, 239, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 444, 0, + 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 240, 144, 0, 0, 0, 203, 358, 0, 0, 0, + 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, + 251, 0, 297, 0, 0, 0, 0, 0, 166, 0, + 289, 259, 346, 0, 0, 288, 216, 336, 0, 0, + 345, 0, 0, 355, 360, 0, 0, 0, 312, 176, + 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, + 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, + 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, - 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, - 337, 156, 295, 298, 353, 281, 137, 335, 314, 231, - 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, - 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, - 146, 345, 242, 0, 241, 348, 328, 336, 232, 220, - 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, - 267, 192, 237, 236, 238, 217, 221, 0, 0, 0, - 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, - 184, 178, 265, 240, 147, 194, 308, 205, 213, 278, - 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, + 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, + 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, + 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, + 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, + 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, + 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, + 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, + 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, + 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, + 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, + 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, + 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, + 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, + 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, + 362, 258, 290, 157, 348, 313, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 131, 140, 210, 0, 275, 182, 343, 0, + 0, 0, 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, - 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, - 258, 259, 260, 262, 263, 264, 272, 0, 280, 286, - 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, - 330, 331, 349, 351, 321, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, - 208, 0, 0, 165, 216, 214, 0, 0, 0, 257, - 320, 0, 0, 0, 0, 211, 0, 0, 0, 309, - 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 340, 261, 277, 297, - 0, 269, 0, 0, 0, 0, 0, 0, 0, 1622, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 144, 0, 0, 0, 199, 350, 0, 0, - 0, 271, 0, 315, 189, 209, 148, 128, 142, 159, - 188, 246, 0, 291, 0, 0, 0, 0, 0, 166, - 0, 283, 254, 339, 0, 0, 282, 212, 329, 0, - 0, 338, 0, 0, 347, 352, 0, 0, 0, 306, - 176, 0, 133, 0, 268, 171, 204, 0, 0, 0, - 163, 0, 0, 0, 305, 327, 150, 322, 233, 239, - 160, 162, 161, 143, 300, 326, 155, 164, 310, 287, - 316, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 344, 0, 294, 293, 0, 195, 0, 0, 0, - 276, 0, 200, 132, 318, 355, 149, 206, 323, 0, - 183, 245, 168, 255, 256, 180, 130, 273, 227, 228, - 226, 229, 187, 0, 0, 0, 274, 296, 325, 151, - 313, 0, 0, 0, 0, 285, 0, 0, 0, 134, - 319, 337, 156, 295, 298, 353, 281, 137, 335, 314, - 231, 201, 202, 135, 0, 136, 279, 174, 186, 169, - 249, 0, 185, 270, 332, 333, 167, 356, 145, 346, - 139, 146, 345, 242, 0, 241, 348, 328, 336, 232, - 220, 0, 138, 334, 230, 219, 207, 179, 191, 266, - 215, 267, 192, 237, 236, 238, 217, 221, 0, 0, - 0, 311, 342, 357, 153, 0, 299, 324, 0, 0, - 154, 184, 178, 265, 240, 147, 194, 308, 205, 213, - 278, 354, 253, 284, 157, 341, 307, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 131, 140, 210, 0, 275, 182, 343, + 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, + 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, + 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, + 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, + 337, 338, 357, 359, 328, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 1159, 0, 0, 0, + 212, 0, 0, 165, 220, 218, 0, 0, 0, 262, + 327, 0, 0, 0, 0, 215, 0, 0, 0, 315, + 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 646, + 0, 1158, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 347, 266, 282, 303, + 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 240, 144, 0, 0, 0, 203, 358, 0, 0, + 0, 276, 0, 322, 191, 213, 148, 128, 142, 159, + 190, 251, 0, 297, 0, 0, 0, 0, 0, 166, + 0, 289, 259, 346, 0, 0, 288, 216, 336, 0, + 0, 345, 0, 0, 355, 360, 0, 0, 0, 312, + 176, 0, 133, 0, 273, 171, 208, 0, 0, 0, + 163, 0, 0, 0, 311, 334, 150, 329, 238, 244, + 160, 162, 161, 143, 306, 333, 155, 164, 316, 293, + 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 351, 0, 300, 299, 0, 198, 0, 0, 0, + 281, 0, 204, 132, 325, 363, 149, 210, 330, 0, + 185, 250, 168, 260, 261, 182, 130, 278, 232, 233, + 231, 234, 189, 0, 0, 0, 279, 302, 332, 151, + 319, 0, 0, 0, 0, 291, 0, 0, 0, 223, + 178, 181, 192, 199, 0, 286, 320, 352, 0, 134, + 326, 344, 156, 301, 304, 361, 287, 137, 342, 321, + 236, 205, 206, 135, 0, 136, 284, 174, 188, 169, + 254, 0, 187, 275, 339, 340, 167, 364, 145, 354, + 139, 146, 353, 247, 0, 246, 356, 335, 343, 237, + 225, 0, 138, 341, 235, 224, 211, 180, 194, 271, + 219, 272, 195, 242, 241, 243, 221, 226, 0, 0, + 0, 317, 349, 365, 153, 0, 305, 331, 0, 0, + 154, 186, 179, 270, 245, 147, 197, 314, 209, 217, + 283, 362, 258, 290, 157, 348, 313, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, - 158, 172, 177, 181, 190, 193, 196, 197, 198, 203, - 218, 222, 223, 224, 225, 243, 244, 247, 248, 251, - 252, 258, 259, 260, 262, 263, 264, 272, 0, 280, - 286, 288, 289, 290, 292, 301, 302, 303, 304, 312, - 317, 330, 331, 349, 351, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, - 0, 0, 0, 0, 0, 1102, 175, 0, 0, 0, - 0, 208, 0, 0, 165, 216, 214, 0, 0, 0, - 257, 320, 0, 0, 0, 0, 211, 0, 0, 0, - 309, 234, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 340, 261, 277, - 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 144, 0, 0, 0, 199, 350, 0, - 0, 0, 271, 0, 315, 189, 209, 148, 128, 142, - 159, 188, 246, 0, 291, 0, 0, 0, 0, 0, - 166, 0, 283, 254, 339, 0, 0, 282, 212, 329, - 0, 0, 338, 0, 0, 347, 352, 0, 0, 0, - 306, 176, 0, 133, 0, 268, 171, 204, 0, 0, - 0, 163, 0, 0, 0, 305, 327, 150, 322, 233, - 239, 160, 162, 161, 143, 300, 326, 155, 164, 310, - 287, 316, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 294, 293, 0, 195, 0, 0, - 0, 276, 0, 200, 132, 318, 355, 149, 206, 323, - 0, 183, 245, 168, 255, 256, 180, 130, 273, 227, - 228, 226, 229, 187, 0, 0, 0, 274, 296, 325, - 151, 313, 0, 0, 0, 0, 285, 0, 0, 0, - 134, 319, 337, 156, 295, 298, 353, 281, 137, 335, - 314, 231, 201, 202, 135, 0, 136, 279, 174, 186, - 169, 249, 0, 185, 270, 332, 333, 167, 356, 145, - 346, 139, 146, 345, 242, 0, 241, 348, 328, 336, - 232, 220, 0, 138, 334, 230, 219, 207, 179, 191, - 266, 215, 267, 192, 237, 236, 238, 217, 221, 0, - 0, 0, 311, 342, 357, 153, 0, 299, 324, 0, - 0, 154, 184, 178, 265, 240, 147, 194, 308, 205, - 213, 278, 354, 253, 284, 157, 341, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 140, 210, 0, 275, 182, - 343, 0, 173, 0, 0, 0, 0, 0, 129, 141, - 152, 158, 172, 177, 181, 190, 193, 196, 197, 198, - 203, 218, 222, 223, 224, 225, 243, 244, 247, 248, - 251, 252, 258, 259, 260, 262, 263, 264, 272, 0, - 280, 286, 288, 289, 290, 292, 301, 302, 303, 304, - 312, 317, 330, 331, 349, 351, 321, 0, 0, 0, - 598, 0, 0, 0, 0, 0, 0, 250, 0, 0, + 158, 172, 177, 183, 193, 196, 200, 201, 202, 207, + 222, 227, 228, 229, 230, 248, 249, 252, 253, 256, + 257, 263, 264, 265, 267, 268, 269, 277, 0, 285, + 292, 294, 295, 296, 298, 307, 308, 309, 310, 318, + 324, 337, 338, 357, 359, 328, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, + 0, 212, 0, 0, 165, 220, 218, 0, 0, 0, + 262, 327, 0, 0, 0, 0, 215, 0, 0, 0, + 315, 239, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 444, 0, 443, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 347, 266, 282, + 303, 0, 274, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 144, 0, 0, 0, 203, 358, 0, + 0, 0, 276, 0, 322, 191, 213, 148, 128, 142, + 159, 190, 251, 0, 297, 0, 0, 0, 0, 0, + 166, 0, 289, 259, 346, 0, 0, 288, 216, 336, + 0, 0, 345, 0, 0, 355, 360, 0, 0, 0, + 312, 176, 0, 133, 0, 273, 171, 208, 0, 0, + 0, 163, 0, 0, 0, 311, 334, 150, 329, 238, + 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, + 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 351, 0, 300, 299, 0, 198, 0, 0, + 0, 281, 0, 204, 132, 325, 363, 149, 210, 330, + 0, 185, 250, 168, 260, 261, 182, 130, 278, 232, + 233, 231, 234, 189, 0, 0, 0, 279, 302, 332, + 151, 319, 0, 0, 0, 0, 291, 0, 0, 0, + 223, 178, 181, 192, 199, 0, 286, 320, 352, 0, + 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, + 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, + 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, + 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, + 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, + 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, + 0, 0, 317, 349, 365, 153, 0, 305, 331, 0, + 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, + 217, 283, 362, 258, 290, 157, 348, 313, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 140, 214, 0, 280, 184, + 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, + 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, + 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, + 256, 257, 263, 264, 265, 267, 268, 269, 277, 0, + 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, + 318, 324, 337, 338, 357, 359, 328, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, - 0, 0, 208, 0, 0, 165, 216, 214, 0, 0, - 0, 257, 320, 0, 0, 0, 0, 211, 0, 0, - 0, 309, 234, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 0, 165, 220, 218, 0, 0, + 0, 262, 327, 0, 0, 0, 0, 215, 0, 0, + 0, 315, 239, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 340, 261, - 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 144, 0, 0, 0, 199, 350, - 0, 0, 0, 271, 0, 315, 189, 209, 148, 128, - 142, 159, 188, 246, 0, 291, 0, 0, 0, 0, - 0, 166, 0, 283, 254, 339, 0, 0, 282, 212, - 329, 0, 0, 338, 0, 0, 347, 352, 0, 0, - 0, 306, 176, 0, 133, 0, 268, 171, 204, 0, - 0, 0, 163, 0, 0, 0, 305, 327, 150, 322, - 233, 239, 160, 162, 161, 143, 300, 326, 155, 164, - 310, 287, 316, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 0, 294, 293, 0, 195, 0, - 0, 0, 276, 0, 200, 132, 318, 355, 149, 206, - 323, 0, 183, 245, 168, 255, 256, 180, 130, 273, - 227, 228, 226, 229, 187, 0, 0, 0, 274, 296, - 325, 151, 313, 0, 0, 0, 0, 285, 0, 0, - 0, 134, 319, 337, 156, 295, 298, 353, 281, 137, - 335, 314, 231, 201, 202, 135, 0, 136, 279, 174, - 186, 169, 249, 0, 185, 270, 332, 333, 167, 356, - 145, 346, 139, 146, 345, 242, 0, 241, 348, 328, - 336, 232, 220, 0, 138, 334, 230, 219, 207, 179, - 191, 266, 215, 267, 192, 237, 236, 238, 217, 221, - 0, 0, 0, 311, 342, 357, 153, 0, 299, 324, - 0, 0, 154, 184, 178, 265, 240, 147, 194, 308, - 205, 213, 278, 354, 253, 284, 157, 341, 307, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 131, 140, 210, 0, 275, - 182, 343, 0, 173, 0, 0, 0, 0, 0, 129, - 141, 152, 158, 172, 177, 181, 190, 193, 196, 197, - 198, 203, 218, 222, 223, 224, 225, 243, 244, 247, - 248, 251, 252, 258, 259, 260, 262, 263, 264, 272, - 0, 280, 286, 288, 289, 290, 292, 301, 302, 303, - 304, 312, 317, 330, 331, 349, 351, 321, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, + 282, 303, 0, 274, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 144, 0, 0, 0, 203, 358, + 0, 0, 0, 276, 0, 322, 191, 213, 148, 128, + 142, 159, 190, 251, 0, 297, 0, 0, 0, 0, + 0, 166, 0, 289, 259, 346, 0, 0, 288, 216, + 336, 0, 0, 345, 0, 0, 355, 360, 0, 0, + 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, + 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, + 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, + 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, + 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, + 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, + 232, 233, 231, 234, 189, 0, 0, 0, 279, 302, + 332, 151, 319, 0, 0, 0, 0, 291, 0, 0, + 0, 223, 178, 181, 192, 199, 0, 286, 320, 352, + 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, + 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, + 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, + 145, 354, 139, 146, 353, 247, 0, 246, 356, 335, + 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, + 194, 271, 219, 272, 195, 242, 241, 243, 221, 226, + 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, + 0, 0, 154, 186, 179, 270, 245, 147, 197, 314, + 209, 217, 283, 362, 258, 290, 157, 348, 313, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 140, 214, 0, 280, + 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, + 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, + 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, + 253, 256, 257, 263, 264, 265, 267, 268, 269, 277, + 0, 285, 292, 294, 295, 296, 298, 307, 308, 309, + 310, 318, 324, 337, 338, 357, 359, 328, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, - 0, 0, 0, 208, 0, 0, 165, 216, 214, 0, - 0, 0, 257, 320, 0, 0, 0, 0, 211, 0, - 0, 0, 309, 234, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, - 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 144, 0, 123, 0, 199, - 350, 0, 0, 0, 271, 0, 315, 189, 209, 148, - 128, 142, 159, 188, 246, 0, 291, 0, 0, 0, - 0, 0, 166, 0, 283, 254, 339, 0, 0, 282, - 212, 329, 0, 0, 338, 0, 0, 347, 352, 0, - 0, 0, 306, 176, 0, 133, 0, 268, 171, 204, - 0, 0, 0, 163, 0, 0, 0, 305, 327, 150, - 322, 233, 239, 160, 162, 161, 143, 300, 326, 155, - 164, 310, 287, 316, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 344, 0, 294, 293, 0, 195, - 0, 0, 0, 276, 0, 200, 132, 318, 355, 149, - 206, 323, 0, 183, 245, 168, 255, 256, 180, 130, - 273, 227, 228, 226, 229, 187, 0, 0, 0, 274, - 296, 325, 151, 313, 0, 0, 0, 0, 285, 0, - 0, 0, 134, 319, 337, 156, 295, 298, 353, 281, - 137, 335, 314, 231, 201, 202, 135, 0, 136, 279, - 174, 186, 169, 249, 0, 185, 270, 332, 333, 167, - 356, 145, 346, 139, 146, 345, 242, 0, 241, 348, - 328, 336, 232, 220, 0, 138, 334, 230, 219, 207, - 179, 191, 266, 215, 267, 192, 237, 236, 238, 217, - 221, 0, 0, 0, 311, 342, 357, 153, 0, 299, - 324, 0, 0, 154, 184, 178, 265, 240, 147, 194, - 308, 205, 213, 278, 354, 253, 284, 157, 341, 307, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 140, 210, 0, - 275, 182, 343, 0, 173, 0, 0, 0, 0, 0, - 129, 141, 152, 158, 172, 177, 181, 190, 193, 196, - 197, 198, 203, 218, 222, 223, 224, 225, 243, 244, - 247, 248, 251, 252, 258, 259, 260, 262, 263, 264, - 272, 0, 280, 286, 288, 289, 290, 292, 301, 302, - 303, 304, 312, 317, 330, 331, 349, 351, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 0, 0, 0, 212, 0, 0, 165, 220, 218, 0, + 0, 0, 262, 327, 0, 0, 0, 0, 215, 0, + 0, 0, 315, 239, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 646, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, + 266, 282, 303, 0, 274, 0, 0, 0, 0, 0, + 0, 0, 2146, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 144, 0, 0, 0, 203, + 358, 0, 0, 0, 276, 0, 322, 191, 213, 148, + 128, 142, 159, 190, 251, 0, 297, 0, 0, 0, + 0, 0, 166, 0, 289, 259, 346, 0, 0, 288, + 216, 336, 0, 0, 345, 0, 0, 355, 360, 0, + 0, 0, 312, 176, 0, 133, 0, 273, 171, 208, + 0, 0, 0, 163, 0, 0, 0, 311, 334, 150, + 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, + 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 351, 0, 300, 299, 0, 198, + 0, 0, 0, 281, 0, 204, 132, 325, 363, 149, + 210, 330, 0, 185, 250, 168, 260, 261, 182, 130, + 278, 232, 233, 231, 234, 189, 0, 0, 0, 279, + 302, 332, 151, 319, 0, 0, 0, 0, 291, 0, + 0, 0, 223, 178, 181, 192, 199, 0, 286, 320, + 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, + 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, + 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, + 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, + 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, + 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, + 226, 0, 0, 0, 317, 349, 365, 153, 0, 305, + 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, + 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 140, 214, 0, + 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, + 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, + 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, + 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, + 277, 0, 285, 292, 294, 295, 296, 298, 307, 308, + 309, 310, 318, 324, 337, 338, 357, 359, 328, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 0, 0, 208, 0, 0, 165, 216, 214, - 0, 0, 0, 257, 320, 0, 0, 0, 0, 211, - 0, 0, 0, 309, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 635, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 144, 0, 0, 0, - 199, 350, 0, 0, 0, 271, 0, 315, 189, 209, - 148, 128, 142, 159, 188, 246, 0, 291, 0, 0, - 0, 0, 0, 166, 0, 283, 254, 339, 0, 0, - 282, 212, 329, 0, 0, 338, 0, 0, 347, 352, - 0, 0, 0, 306, 176, 0, 133, 0, 268, 171, - 204, 0, 0, 0, 163, 0, 0, 0, 305, 327, - 150, 322, 233, 239, 160, 162, 161, 143, 300, 326, - 155, 164, 310, 287, 316, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 0, 294, 293, 0, - 195, 0, 0, 0, 276, 0, 200, 132, 318, 355, - 149, 206, 323, 0, 183, 245, 168, 255, 256, 180, - 130, 273, 227, 228, 226, 229, 187, 0, 0, 0, - 274, 296, 325, 151, 313, 0, 0, 0, 0, 285, - 0, 0, 0, 134, 319, 337, 156, 295, 298, 353, - 281, 137, 335, 314, 231, 201, 202, 135, 0, 136, - 279, 174, 186, 169, 249, 0, 185, 270, 332, 333, - 167, 356, 145, 346, 139, 146, 345, 242, 0, 241, - 348, 328, 336, 232, 220, 0, 138, 334, 230, 219, - 207, 179, 191, 266, 215, 267, 192, 237, 236, 238, - 217, 221, 0, 0, 0, 311, 342, 357, 153, 0, - 299, 324, 0, 0, 154, 184, 178, 265, 240, 147, - 194, 308, 205, 213, 278, 354, 253, 284, 157, 341, - 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 131, 140, 210, - 0, 275, 182, 343, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 181, 190, 193, - 196, 197, 198, 203, 218, 222, 223, 224, 225, 243, - 244, 247, 248, 251, 252, 258, 259, 260, 262, 263, - 264, 272, 0, 280, 286, 288, 289, 290, 292, 301, - 302, 303, 304, 312, 317, 330, 331, 349, 351, 321, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 0, 0, 0, 0, 208, 0, 0, 165, 216, - 214, 0, 0, 0, 257, 320, 0, 0, 0, 0, - 211, 0, 0, 0, 309, 234, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 144, 0, 0, - 0, 199, 350, 0, 0, 0, 271, 0, 315, 189, - 209, 148, 128, 142, 159, 188, 246, 0, 291, 0, - 0, 0, 0, 0, 166, 0, 283, 254, 339, 0, - 0, 282, 212, 329, 0, 0, 338, 0, 0, 347, - 352, 0, 0, 0, 306, 176, 0, 133, 0, 268, - 171, 204, 0, 0, 0, 163, 0, 0, 0, 305, - 327, 150, 322, 233, 239, 160, 162, 161, 143, 300, - 326, 155, 164, 310, 287, 316, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 344, 0, 294, 293, - 0, 195, 0, 0, 0, 276, 0, 200, 132, 318, - 355, 149, 206, 323, 0, 183, 245, 168, 255, 256, - 180, 130, 273, 227, 228, 226, 229, 187, 0, 0, - 0, 274, 296, 325, 151, 313, 0, 0, 0, 0, - 285, 0, 0, 0, 134, 319, 337, 156, 295, 298, - 353, 281, 137, 335, 314, 231, 201, 202, 135, 0, - 136, 279, 174, 186, 169, 249, 0, 185, 270, 332, - 333, 167, 356, 145, 346, 139, 146, 345, 242, 0, - 241, 348, 328, 336, 232, 220, 0, 138, 334, 230, - 219, 207, 179, 191, 266, 215, 267, 192, 237, 236, - 238, 217, 221, 0, 0, 0, 311, 342, 357, 153, - 0, 299, 324, 0, 0, 154, 184, 178, 265, 240, - 147, 194, 308, 205, 213, 278, 354, 253, 284, 157, - 341, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 212, 0, 0, 165, 220, 218, + 0, 0, 0, 262, 327, 0, 0, 0, 0, 215, + 0, 0, 0, 315, 239, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 0, 0, 646, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 266, 282, 303, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 240, 144, 0, 0, 0, + 203, 358, 0, 0, 0, 276, 0, 322, 191, 213, + 148, 128, 142, 159, 190, 251, 0, 297, 0, 0, + 0, 0, 0, 166, 0, 289, 259, 346, 0, 0, + 288, 216, 336, 0, 0, 345, 0, 0, 355, 360, + 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, + 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, + 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, + 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, + 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, + 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, + 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, + 279, 302, 332, 151, 319, 0, 0, 0, 0, 291, + 0, 0, 0, 223, 178, 181, 192, 199, 0, 286, + 320, 352, 0, 134, 326, 344, 156, 301, 304, 361, + 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, + 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, + 167, 364, 145, 354, 139, 146, 353, 247, 0, 246, + 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, + 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, + 221, 226, 0, 0, 0, 317, 349, 365, 153, 0, + 305, 331, 0, 0, 154, 186, 179, 270, 245, 147, + 197, 314, 209, 217, 283, 362, 258, 290, 157, 348, + 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 140, 214, + 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, + 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, + 249, 252, 253, 256, 257, 263, 264, 265, 267, 268, + 269, 277, 0, 285, 292, 294, 295, 296, 298, 307, + 308, 309, 310, 318, 324, 337, 338, 357, 359, 328, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 212, 0, 0, 165, 220, + 218, 0, 0, 0, 262, 327, 0, 0, 0, 0, + 215, 0, 0, 0, 315, 239, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 646, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 347, 266, 282, 303, 0, 274, 0, 0, 0, + 0, 0, 0, 0, 1654, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 144, 0, 0, + 0, 203, 358, 0, 0, 0, 276, 0, 322, 191, + 213, 148, 128, 142, 159, 190, 251, 0, 297, 0, + 0, 0, 0, 0, 166, 0, 289, 259, 346, 0, + 0, 288, 216, 336, 0, 0, 345, 0, 0, 355, + 360, 0, 0, 0, 312, 176, 0, 133, 0, 273, + 171, 208, 0, 0, 0, 163, 0, 0, 0, 311, + 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, + 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 351, 0, 300, 299, + 0, 198, 0, 0, 0, 281, 0, 204, 132, 325, + 363, 149, 210, 330, 0, 185, 250, 168, 260, 261, + 182, 130, 278, 232, 233, 231, 234, 189, 0, 0, + 0, 279, 302, 332, 151, 319, 0, 0, 0, 0, + 291, 0, 0, 0, 223, 178, 181, 192, 199, 0, + 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, + 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, + 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, + 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, + 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, + 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, + 243, 221, 226, 0, 0, 0, 317, 349, 365, 153, + 0, 305, 331, 0, 0, 154, 186, 179, 270, 245, + 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, + 348, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, - 210, 0, 275, 182, 343, 0, 173, 0, 0, 0, - 0, 0, 129, 141, 152, 158, 172, 177, 181, 190, - 193, 196, 197, 198, 203, 218, 222, 223, 224, 225, - 243, 244, 247, 248, 251, 252, 258, 259, 260, 262, - 263, 264, 272, 0, 280, 286, 288, 289, 290, 292, - 301, 302, 303, 304, 312, 317, 330, 331, 349, 351, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 175, 0, 0, 0, 0, 208, 0, 0, 165, - 216, 214, 0, 0, 0, 257, 320, 0, 0, 0, - 0, 211, 0, 0, 0, 309, 234, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 503, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 144, 0, - 0, 0, 199, 350, 0, 0, 0, 271, 0, 315, - 189, 209, 148, 128, 142, 159, 188, 246, 0, 291, - 0, 0, 0, 0, 0, 166, 0, 283, 254, 339, - 0, 0, 282, 212, 329, 0, 0, 338, 0, 0, - 347, 352, 0, 0, 0, 306, 176, 0, 133, 0, - 268, 171, 204, 0, 0, 0, 163, 0, 0, 0, - 305, 327, 150, 322, 233, 239, 160, 162, 161, 143, - 300, 326, 155, 164, 310, 287, 316, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 344, 0, 294, - 293, 0, 195, 0, 0, 0, 276, 0, 200, 132, - 318, 355, 149, 206, 323, 0, 183, 245, 168, 255, - 256, 180, 130, 273, 227, 228, 226, 229, 187, 0, - 0, 0, 274, 296, 325, 151, 313, 0, 0, 0, - 0, 285, 0, 0, 0, 134, 319, 337, 156, 295, - 298, 353, 281, 137, 335, 314, 231, 201, 202, 135, - 0, 136, 279, 174, 186, 169, 249, 0, 185, 270, - 332, 333, 167, 356, 145, 346, 139, 146, 345, 242, - 0, 241, 348, 328, 336, 232, 220, 0, 138, 334, - 230, 219, 207, 179, 191, 266, 215, 267, 192, 237, - 236, 238, 217, 221, 0, 0, 0, 311, 342, 357, - 153, 0, 299, 324, 0, 0, 154, 184, 178, 265, - 240, 147, 194, 308, 205, 213, 278, 354, 253, 284, - 157, 341, 307, 0, 0, 0, 0, 0, 0, 0, + 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, + 0, 0, 129, 141, 152, 158, 172, 177, 183, 193, + 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, + 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, + 268, 269, 277, 0, 285, 292, 294, 295, 296, 298, + 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, + 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, + 1128, 175, 0, 0, 0, 0, 212, 0, 0, 165, + 220, 218, 0, 0, 0, 262, 327, 0, 0, 0, + 0, 215, 0, 0, 0, 315, 239, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 347, 266, 282, 303, 0, 274, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 144, 0, + 0, 0, 203, 358, 0, 0, 0, 276, 0, 322, + 191, 213, 148, 128, 142, 159, 190, 251, 0, 297, + 0, 0, 0, 0, 0, 166, 0, 289, 259, 346, + 0, 0, 288, 216, 336, 0, 0, 345, 0, 0, + 355, 360, 0, 0, 0, 312, 176, 0, 133, 0, + 273, 171, 208, 0, 0, 0, 163, 0, 0, 0, + 311, 334, 150, 329, 238, 244, 160, 162, 161, 143, + 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 351, 0, 300, + 299, 0, 198, 0, 0, 0, 281, 0, 204, 132, + 325, 363, 149, 210, 330, 0, 185, 250, 168, 260, + 261, 182, 130, 278, 232, 233, 231, 234, 189, 0, + 0, 0, 279, 302, 332, 151, 319, 0, 0, 0, + 0, 291, 0, 0, 0, 223, 178, 181, 192, 199, + 0, 286, 320, 352, 0, 134, 326, 344, 156, 301, + 304, 361, 287, 137, 342, 321, 236, 205, 206, 135, + 0, 136, 284, 174, 188, 169, 254, 0, 187, 275, + 339, 340, 167, 364, 145, 354, 139, 146, 353, 247, + 0, 246, 356, 335, 343, 237, 225, 0, 138, 341, + 235, 224, 211, 180, 194, 271, 219, 272, 195, 242, + 241, 243, 221, 226, 0, 0, 0, 317, 349, 365, + 153, 0, 305, 331, 0, 0, 154, 186, 179, 270, + 245, 147, 197, 314, 209, 217, 283, 362, 258, 290, + 157, 348, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 140, 210, 0, 275, 182, 343, 0, 173, 0, 0, - 0, 0, 0, 129, 141, 152, 158, 172, 177, 181, - 190, 193, 196, 197, 198, 203, 218, 222, 223, 224, - 225, 243, 244, 247, 248, 251, 252, 258, 259, 260, - 262, 263, 264, 272, 0, 280, 286, 288, 289, 290, - 292, 301, 302, 303, 304, 312, 317, 330, 331, 349, - 351, 321, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 0, 0, 0, 0, 208, 0, 0, - 165, 216, 214, 0, 0, 0, 257, 320, 0, 0, - 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 503, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 144, - 0, 0, 0, 199, 350, 0, 0, 0, 271, 0, - 315, 189, 209, 148, 128, 142, 159, 188, 246, 0, - 291, 0, 0, 0, 0, 0, 166, 0, 283, 254, - 339, 0, 0, 282, 212, 329, 0, 0, 338, 0, - 0, 347, 352, 0, 0, 0, 306, 176, 0, 133, - 0, 268, 171, 204, 0, 0, 0, 163, 0, 0, - 0, 305, 327, 150, 322, 233, 239, 160, 162, 161, - 143, 300, 326, 155, 164, 310, 287, 316, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 294, 293, 0, 195, 0, 0, 0, 276, 0, 200, - 132, 318, 355, 149, 206, 323, 0, 183, 245, 168, - 255, 256, 180, 130, 273, 227, 228, 226, 229, 187, - 0, 0, 0, 274, 296, 325, 151, 313, 0, 0, - 0, 0, 285, 0, 0, 0, 134, 319, 337, 156, - 295, 298, 353, 281, 137, 335, 314, 231, 201, 202, - 135, 0, 136, 279, 174, 186, 169, 249, 0, 185, - 270, 332, 333, 167, 356, 145, 346, 139, 618, 345, - 242, 0, 241, 348, 328, 336, 232, 220, 0, 138, - 334, 230, 219, 207, 179, 191, 266, 215, 267, 192, - 237, 236, 238, 614, 221, 0, 0, 0, 311, 342, - 357, 153, 0, 299, 324, 0, 0, 154, 184, 178, - 265, 619, 617, 608, 609, 205, 213, 278, 354, 253, - 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 131, 140, 210, 0, 275, 182, 343, 0, 173, 0, + 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, + 0, 0, 0, 129, 141, 152, 158, 172, 177, 183, + 193, 196, 200, 201, 202, 207, 222, 227, 228, 229, + 230, 248, 249, 252, 253, 256, 257, 263, 264, 265, + 267, 268, 269, 277, 0, 285, 292, 294, 295, 296, + 298, 307, 308, 309, 310, 318, 324, 337, 338, 357, + 359, 328, 0, 0, 0, 609, 0, 0, 0, 0, + 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 0, 0, 0, 212, 0, 0, + 165, 220, 218, 0, 0, 0, 262, 327, 0, 0, + 0, 0, 215, 0, 0, 0, 315, 239, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 347, 266, 282, 303, 0, 274, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 240, 144, + 0, 0, 0, 203, 358, 0, 0, 0, 276, 0, + 322, 191, 213, 148, 128, 142, 159, 190, 251, 0, + 297, 0, 0, 0, 0, 0, 166, 0, 289, 259, + 346, 0, 0, 288, 216, 336, 0, 0, 345, 0, + 0, 355, 360, 0, 0, 0, 312, 176, 0, 133, + 0, 273, 171, 208, 0, 0, 0, 163, 0, 0, + 0, 311, 334, 150, 329, 238, 244, 160, 162, 161, + 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, + 300, 299, 0, 198, 0, 0, 0, 281, 0, 204, + 132, 325, 363, 149, 210, 330, 0, 185, 250, 168, + 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, + 0, 0, 0, 279, 302, 332, 151, 319, 0, 0, + 0, 0, 291, 0, 0, 0, 223, 178, 181, 192, + 199, 0, 286, 320, 352, 0, 134, 326, 344, 156, + 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, + 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, + 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, + 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, + 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, + 242, 241, 243, 221, 226, 0, 0, 0, 317, 349, + 365, 153, 0, 305, 331, 0, 0, 154, 186, 179, + 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, + 290, 157, 348, 313, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, - 181, 190, 193, 196, 197, 198, 203, 218, 222, 223, - 224, 225, 243, 244, 247, 248, 251, 252, 258, 259, - 260, 262, 615, 616, 272, 0, 280, 286, 288, 289, - 290, 292, 301, 302, 303, 304, 312, 317, 330, 331, - 349, 351, 321, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 175, 0, 0, 0, 0, 208, 0, - 0, 165, 216, 214, 0, 0, 0, 257, 320, 0, - 0, 0, 0, 211, 0, 0, 0, 309, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, + 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, + 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, + 265, 267, 268, 269, 277, 0, 285, 292, 294, 295, + 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, + 357, 359, 328, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 0, 0, 0, 212, 0, + 0, 165, 220, 218, 0, 0, 0, 262, 327, 0, + 0, 0, 0, 215, 0, 0, 0, 315, 239, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 347, 266, 282, 303, 0, 274, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, + 144, 0, 123, 0, 203, 358, 0, 0, 0, 276, + 0, 322, 191, 213, 148, 128, 142, 159, 190, 251, + 0, 297, 0, 0, 0, 0, 0, 166, 0, 289, + 259, 346, 0, 0, 288, 216, 336, 0, 0, 345, + 0, 0, 355, 360, 0, 0, 0, 312, 176, 0, + 133, 0, 273, 171, 208, 0, 0, 0, 163, 0, + 0, 0, 311, 334, 150, 329, 238, 244, 160, 162, + 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, + 0, 300, 299, 0, 198, 0, 0, 0, 281, 0, + 204, 132, 325, 363, 149, 210, 330, 0, 185, 250, + 168, 260, 261, 182, 130, 278, 232, 233, 231, 234, + 189, 0, 0, 0, 279, 302, 332, 151, 319, 0, + 0, 0, 0, 291, 0, 0, 0, 223, 178, 181, + 192, 199, 0, 286, 320, 352, 0, 134, 326, 344, + 156, 301, 304, 361, 287, 137, 342, 321, 236, 205, + 206, 135, 0, 136, 284, 174, 188, 169, 254, 0, + 187, 275, 339, 340, 167, 364, 145, 354, 139, 146, + 353, 247, 0, 246, 356, 335, 343, 237, 225, 0, + 138, 341, 235, 224, 211, 180, 194, 271, 219, 272, + 195, 242, 241, 243, 221, 226, 0, 0, 0, 317, + 349, 365, 153, 0, 305, 331, 0, 0, 154, 186, + 179, 270, 245, 147, 197, 314, 209, 217, 283, 362, + 258, 290, 157, 348, 313, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 140, 214, 0, 280, 184, 350, 0, 173, + 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, + 177, 183, 193, 196, 200, 201, 202, 207, 222, 227, + 228, 229, 230, 248, 249, 252, 253, 256, 257, 263, + 264, 265, 267, 268, 269, 277, 0, 285, 292, 294, + 295, 296, 298, 307, 308, 309, 310, 318, 324, 337, + 338, 357, 359, 328, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 0, 0, 0, 212, + 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, + 0, 0, 0, 0, 215, 0, 0, 0, 315, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 340, 261, 277, 297, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 144, 0, 0, 0, 199, 350, 0, 0, 0, 271, - 0, 315, 189, 209, 148, 128, 142, 159, 188, 246, - 0, 291, 0, 0, 0, 0, 0, 166, 0, 283, - 254, 339, 0, 0, 282, 212, 329, 0, 0, 338, - 0, 0, 347, 352, 0, 0, 0, 306, 176, 0, - 133, 0, 268, 171, 204, 0, 0, 0, 163, 0, - 0, 0, 305, 327, 150, 322, 233, 239, 160, 162, - 161, 143, 300, 326, 155, 164, 310, 287, 316, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 294, 293, 0, 195, 0, 0, 0, 276, 0, - 200, 132, 318, 355, 149, 206, 323, 0, 183, 245, - 168, 255, 256, 180, 130, 273, 227, 228, 226, 229, - 187, 0, 0, 0, 274, 296, 325, 151, 313, 0, - 0, 0, 0, 285, 0, 0, 0, 134, 319, 1127, - 156, 295, 298, 353, 281, 137, 335, 314, 231, 201, - 202, 135, 0, 136, 279, 174, 186, 169, 249, 0, - 185, 270, 332, 333, 167, 356, 145, 346, 139, 146, - 345, 242, 0, 241, 348, 328, 336, 232, 220, 0, - 138, 334, 230, 219, 207, 179, 191, 266, 215, 267, - 192, 237, 236, 238, 217, 221, 0, 0, 0, 311, - 342, 357, 153, 0, 299, 324, 0, 0, 154, 184, - 178, 265, 240, 147, 194, 308, 205, 213, 278, 354, - 253, 284, 157, 341, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 240, 144, 0, 0, 0, 203, 358, 0, 0, 0, + 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, + 251, 0, 297, 0, 0, 0, 0, 0, 166, 0, + 289, 259, 346, 0, 0, 288, 216, 336, 0, 0, + 345, 0, 0, 355, 360, 0, 0, 0, 312, 176, + 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, + 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, + 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, + 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, + 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, + 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, + 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, + 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, + 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, + 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, + 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, + 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, + 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, + 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, + 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, + 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, + 362, 258, 290, 157, 348, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 140, 210, 0, 275, 182, 343, 0, 173, - 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, - 177, 181, 190, 193, 196, 197, 198, 203, 218, 222, - 223, 224, 225, 243, 244, 247, 248, 251, 252, 258, - 259, 260, 262, 263, 264, 272, 0, 280, 286, 288, - 289, 290, 292, 301, 302, 303, 304, 312, 317, 330, - 331, 349, 351, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 175, 0, 0, 0, 0, 208, - 0, 0, 165, 216, 214, 0, 0, 0, 257, 320, - 0, 0, 0, 0, 211, 0, 0, 0, 309, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, + 0, 0, 131, 140, 214, 0, 280, 184, 350, 0, + 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, + 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, + 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, + 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, + 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, + 337, 338, 357, 359, 328, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, + 212, 0, 0, 165, 220, 218, 0, 0, 0, 262, + 327, 0, 0, 0, 0, 215, 0, 0, 0, 315, + 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 340, 261, 277, 297, 0, - 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 347, 266, 282, 303, + 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 144, 0, 0, 0, 199, 350, 0, 0, 0, - 271, 0, 315, 189, 209, 148, 128, 142, 159, 188, - 246, 0, 291, 0, 0, 0, 0, 0, 166, 0, - 283, 254, 339, 0, 0, 282, 212, 329, 0, 0, - 338, 0, 0, 347, 352, 0, 0, 0, 306, 176, - 0, 133, 0, 268, 171, 204, 0, 0, 0, 163, - 0, 0, 0, 305, 327, 150, 322, 233, 239, 160, - 162, 161, 143, 300, 326, 155, 164, 310, 287, 316, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 344, 0, 294, 293, 0, 195, 0, 0, 0, 276, - 0, 200, 132, 318, 355, 149, 206, 323, 0, 183, - 245, 168, 255, 256, 180, 130, 273, 227, 228, 226, - 229, 187, 0, 0, 0, 274, 296, 325, 151, 313, - 0, 0, 0, 0, 285, 0, 0, 0, 134, 319, - 605, 156, 295, 298, 353, 281, 137, 335, 314, 231, - 201, 202, 135, 0, 136, 279, 174, 186, 169, 249, - 0, 185, 270, 332, 333, 167, 356, 145, 346, 139, - 618, 345, 242, 0, 241, 348, 328, 336, 232, 220, - 0, 138, 334, 230, 219, 207, 179, 191, 266, 215, - 267, 192, 237, 236, 238, 614, 221, 0, 0, 0, - 311, 342, 357, 153, 0, 299, 324, 0, 0, 154, - 184, 178, 265, 619, 617, 608, 609, 205, 213, 278, - 354, 253, 284, 157, 341, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 36, 0, 72, 39, 40, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, - 0, 0, 131, 140, 210, 78, 275, 182, 343, 41, - 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 181, 190, 193, 196, 197, 198, 203, 218, - 222, 223, 224, 225, 243, 244, 247, 248, 251, 252, - 258, 259, 260, 262, 615, 616, 272, 81, 280, 286, - 288, 289, 290, 292, 301, 302, 303, 304, 312, 317, - 330, 331, 349, 351, 0, 0, 0, 0, 0, 0, - 0, 2474, 0, 0, 0, 36, 2643, 72, 39, 40, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, - 0, 0, 0, 0, 0, 78, 0, 0, 0, 41, + 0, 240, 144, 0, 0, 0, 203, 358, 0, 0, + 0, 276, 0, 322, 191, 213, 148, 128, 142, 159, + 190, 251, 0, 297, 0, 0, 0, 0, 0, 166, + 0, 289, 259, 346, 0, 0, 288, 216, 336, 0, + 0, 345, 0, 0, 355, 360, 0, 0, 0, 312, + 176, 0, 133, 0, 273, 171, 208, 0, 0, 0, + 163, 0, 0, 0, 311, 334, 150, 329, 238, 244, + 160, 162, 161, 143, 306, 333, 155, 164, 316, 293, + 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 351, 0, 300, 299, 0, 198, 0, 0, 0, + 281, 0, 204, 132, 325, 363, 149, 210, 330, 0, + 185, 250, 168, 260, 261, 182, 130, 278, 232, 233, + 231, 234, 189, 0, 0, 0, 279, 302, 332, 151, + 319, 0, 0, 0, 0, 291, 0, 0, 0, 223, + 178, 181, 192, 199, 0, 286, 320, 352, 0, 134, + 326, 344, 156, 301, 304, 361, 287, 137, 342, 321, + 236, 205, 206, 135, 0, 136, 284, 174, 188, 169, + 254, 0, 187, 275, 339, 340, 167, 364, 145, 354, + 139, 146, 353, 247, 0, 246, 356, 335, 343, 237, + 225, 0, 138, 341, 235, 224, 211, 180, 194, 271, + 219, 272, 195, 242, 241, 243, 221, 226, 0, 0, + 0, 317, 349, 365, 153, 0, 305, 331, 0, 0, + 154, 186, 179, 270, 245, 147, 197, 314, 209, 217, + 283, 362, 258, 290, 157, 348, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 43, 74, 46, - 45, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2475, 0, 0, 0, 0, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 49, 77, - 76, 0, 0, 0, 0, 47, 0, 0, 0, 0, - 0, 2474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 58, 0, 2476, 0, 0, 0, 43, 74, 46, - 45, 48, 0, 0, 0, 0, 0, 66, 0, 67, - 0, 0, 2475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 49, 77, - 76, 0, 0, 0, 68, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2477, 75, 0, 53, 54, 61, 0, 62, 0, + 0, 0, 0, 131, 140, 214, 0, 280, 184, 350, + 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, + 158, 172, 177, 183, 193, 196, 200, 201, 202, 207, + 222, 227, 228, 229, 230, 248, 249, 252, 253, 256, + 257, 263, 264, 265, 267, 268, 269, 277, 0, 285, + 292, 294, 295, 296, 298, 307, 308, 309, 310, 318, + 324, 337, 338, 357, 359, 328, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, + 0, 212, 0, 0, 165, 220, 218, 0, 0, 0, + 262, 327, 0, 0, 0, 0, 215, 0, 0, 0, + 315, 239, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 514, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 347, 266, 282, + 303, 0, 274, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 144, 0, 0, 0, 203, 358, 0, + 0, 0, 276, 0, 322, 191, 213, 148, 128, 142, + 159, 190, 251, 0, 297, 0, 0, 0, 0, 0, + 166, 0, 289, 259, 346, 0, 0, 288, 216, 336, + 0, 0, 345, 0, 0, 355, 360, 0, 0, 0, + 312, 176, 0, 133, 0, 273, 171, 208, 0, 0, + 0, 163, 0, 0, 0, 311, 334, 150, 329, 238, + 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, + 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 351, 0, 300, 299, 0, 198, 0, 0, + 0, 281, 0, 204, 132, 325, 363, 149, 210, 330, + 0, 185, 250, 168, 260, 261, 182, 130, 278, 232, + 233, 231, 234, 189, 0, 0, 0, 279, 302, 332, + 151, 319, 0, 0, 0, 0, 291, 0, 0, 0, + 223, 178, 181, 192, 199, 0, 286, 320, 352, 0, + 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, + 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, + 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, + 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, + 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, + 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, + 0, 0, 317, 349, 365, 153, 0, 305, 331, 0, + 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, + 217, 283, 362, 258, 290, 157, 348, 313, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 140, 214, 0, 280, 184, + 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, + 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, + 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, + 256, 257, 263, 264, 265, 267, 268, 269, 277, 0, + 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, + 318, 324, 337, 338, 357, 359, 328, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, + 0, 0, 212, 0, 0, 165, 220, 218, 0, 0, + 0, 262, 327, 0, 0, 0, 0, 215, 0, 0, + 0, 315, 239, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 514, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, + 282, 303, 0, 274, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 144, 0, 0, 0, 203, 358, + 0, 0, 0, 276, 0, 322, 191, 213, 148, 128, + 142, 159, 190, 251, 0, 297, 0, 0, 0, 0, + 0, 166, 0, 289, 259, 346, 0, 0, 288, 216, + 336, 0, 0, 345, 0, 0, 355, 360, 0, 0, + 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, + 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, + 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, + 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, + 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, + 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, + 232, 233, 231, 234, 189, 0, 0, 0, 279, 302, + 332, 151, 319, 0, 0, 0, 0, 291, 0, 0, + 0, 223, 178, 181, 192, 199, 0, 286, 320, 352, + 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, + 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, + 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, + 145, 354, 139, 629, 353, 247, 0, 246, 356, 335, + 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, + 194, 271, 219, 272, 195, 242, 241, 243, 625, 226, + 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, + 0, 0, 154, 186, 179, 270, 630, 628, 619, 620, + 209, 217, 283, 362, 258, 290, 157, 348, 313, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 140, 214, 0, 280, + 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, + 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, + 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, + 253, 256, 257, 263, 264, 265, 267, 626, 627, 277, + 0, 285, 292, 294, 295, 296, 298, 307, 308, 309, + 310, 318, 324, 337, 338, 357, 359, 328, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 0, 0, 0, 212, 0, 0, 165, 220, 218, 0, + 0, 0, 262, 327, 0, 0, 0, 0, 215, 0, + 0, 0, 315, 239, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, + 266, 282, 303, 0, 274, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 144, 0, 0, 0, 203, + 358, 0, 0, 0, 276, 0, 322, 191, 213, 148, + 128, 142, 159, 190, 251, 0, 297, 0, 0, 0, + 0, 0, 166, 0, 289, 259, 346, 0, 0, 288, + 216, 336, 0, 0, 345, 0, 0, 355, 360, 0, + 0, 0, 312, 176, 0, 133, 0, 273, 171, 208, + 0, 0, 0, 163, 0, 0, 0, 311, 334, 150, + 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, + 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 351, 0, 300, 299, 0, 198, + 0, 0, 0, 281, 0, 204, 132, 325, 363, 149, + 210, 330, 0, 185, 250, 168, 260, 261, 182, 130, + 278, 232, 233, 231, 234, 189, 0, 0, 0, 279, + 302, 332, 151, 319, 0, 0, 0, 0, 291, 0, + 0, 0, 223, 178, 181, 192, 199, 0, 286, 320, + 352, 0, 134, 326, 1153, 156, 301, 304, 361, 287, + 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, + 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, + 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, + 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, + 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, + 226, 0, 0, 0, 317, 349, 365, 153, 0, 305, + 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, + 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 140, 214, 0, + 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, + 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, + 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, + 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, + 277, 0, 285, 292, 294, 295, 296, 298, 307, 308, + 309, 310, 318, 324, 337, 338, 357, 359, 328, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 0, 0, 0, 212, 0, 0, 165, 220, 218, + 0, 0, 0, 262, 327, 0, 0, 0, 0, 215, + 0, 0, 0, 315, 239, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 514, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 266, 282, 303, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 240, 144, 0, 0, 0, + 203, 358, 0, 0, 0, 276, 0, 322, 191, 213, + 148, 128, 142, 159, 190, 251, 0, 297, 0, 0, + 0, 0, 0, 166, 0, 289, 259, 346, 0, 0, + 288, 216, 336, 0, 0, 345, 0, 0, 355, 360, + 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, + 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, + 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, + 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, + 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, + 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, + 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, + 279, 302, 332, 151, 319, 0, 0, 0, 0, 291, + 0, 0, 0, 223, 178, 181, 192, 199, 0, 286, + 320, 352, 0, 134, 326, 616, 156, 301, 304, 361, + 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, + 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, + 167, 364, 145, 354, 139, 629, 353, 247, 0, 246, + 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, + 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, + 625, 226, 0, 0, 0, 317, 349, 365, 153, 0, + 305, 331, 0, 0, 154, 186, 179, 270, 630, 628, + 619, 620, 209, 217, 283, 362, 258, 290, 157, 348, + 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 36, 0, 72, 39, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 59, 0, 0, 131, 140, 214, + 78, 280, 184, 350, 41, 173, 0, 0, 0, 0, + 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, + 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, + 249, 252, 253, 256, 257, 263, 264, 265, 267, 626, + 627, 277, 81, 285, 292, 294, 295, 296, 298, 307, + 308, 309, 310, 318, 324, 337, 338, 357, 359, 0, + 0, 0, 0, 0, 0, 0, 2506, 0, 0, 0, + 36, 2746, 72, 39, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, + 78, 0, 0, 0, 41, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 74, 46, 45, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2507, 0, 0, + 0, 0, 81, 2734, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 77, 76, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 0, 2506, 0, 36, 0, + 72, 39, 40, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 59, 0, 0, 0, 0, 0, 78, 0, + 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 58, 0, 2508, 0, + 0, 0, 43, 74, 46, 45, 48, 0, 0, 0, + 0, 0, 66, 0, 67, 0, 0, 2507, 0, 0, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 77, 76, 0, 0, 0, 68, + 47, 0, 0, 0, 2506, 0, 0, 0, 0, 2675, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2509, 75, 0, 53, + 54, 61, 0, 62, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 58, 0, 2508, 0, + 43, 74, 46, 45, 48, 0, 36, 0, 72, 39, + 40, 0, 66, 0, 67, 2507, 0, 0, 0, 0, + 59, 0, 0, 0, 0, 0, 78, 0, 0, 0, + 41, 49, 77, 76, 0, 0, 0, 0, 47, 68, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2509, 75, 81, 53, + 54, 61, 0, 62, 73, 0, 0, 0, 0, 0, + 0, 0, 0, 57, 58, 0, 2508, 0, 0, 0, + 0, 0, 2506, 0, 0, 0, 0, 0, 0, 0, + 66, 0, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 0, 0, 0, 68, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 43, 74, + 46, 45, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2507, 2509, 75, 0, 53, 54, 61, + 0, 62, 0, 0, 73, 0, 0, 0, 0, 49, + 77, 76, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 58, 0, 2476, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 66, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, + 0, 57, 58, 0, 2508, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, + 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2477, 75, 0, 53, 54, 61, 0, 62, 73, + 0, 0, 2509, 75, 0, 53, 54, 61, 0, 62, + 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, } var yyPact = [...]int{ - 3230, -1000, -318, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3240, -1000, -324, -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, 1698, -1000, -1000, -1000, -1000, - -1000, -1000, 900, 248, -1000, 256, 157, 28960, 570, 3957, - 29922, -1000, -1000, -1000, 179, 507, 29922, 416, 453, 1167, - 1588, 1165, 41, -50, -61, 103, 22706, 22224, 78, -1000, - 1768, 1770, -1000, -1000, 481, 45, -1000, -1000, -1000, 19818, - 177, -1000, -1000, 1671, 1695, 1501, -1000, 13084, 481, 481, - 28479, 31846, -1000, 1763, 29922, 11639, -1000, 563, 29922, -140, - 374, 374, 318, 374, 374, 567, -1000, 829, -1000, -1000, - -1000, -1000, 29922, 25593, 379, 29441, 379, 379, 379, 379, - 379, 379, 379, 29922, -1000, 668, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1768, -1000, -1000, -1000, -1000, + -1000, -1000, 915, 290, -1000, 287, 122, 29315, 651, 3470, + 30297, -1000, -1000, -1000, 192, 526, 30297, 468, 439, 1286, + 1665, 1285, 40, -43, -44, 168, 22931, 22439, 29, -1000, + 1837, 1839, -1000, -1000, 556, 53, -1000, -1000, -1000, 19983, + 186, -1000, -1000, 1753, 1766, 1583, -1000, 13109, 556, 556, + 28824, 32261, -1000, 1836, 30297, 11634, -1000, 608, 30297, -138, + 545, 545, 351, 545, 545, 650, -1000, 851, -1000, -1000, + -1000, -1000, 30297, 25878, 554, 29806, 554, 554, 554, 554, + 554, 554, 554, 30297, -1000, 713, -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, @@ -4600,35 +4688,36 @@ 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, -1000, -1000, -1000, -1000, 29922, 1164, - 1616, 890, 149, -1000, -1000, -1000, 854, -1000, 311, 310, - 294, 243, 118, 898, 1681, -1000, 1385, 1671, 1671, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 328, 552, 229, 177, - 828, -1000, 1615, 1610, 1058, 1607, 547, 1606, 1437, -26, - -1000, 1163, 29922, -1000, -1000, 1017, 1014, 1467, 1325, 617, - 1466, -1000, -1000, 293, 466, 1419, 410, 1419, 1419, 1419, - 1419, 1419, -67, 1419, 1419, 1419, 64, 1419, 151, 1419, - 1419, 1419, 1419, 1419, 1189, -1000, -1000, -1000, 370, 1324, - 1378, 1465, -1000, -1000, 1440, 1669, 566, -1000, -97, 1367, - 20780, -1000, 1385, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 30297, 1284, 1692, 956, + 156, -1000, -1000, -1000, 953, -1000, 327, 324, 345, 286, + 111, 960, 1750, -1000, 1471, 1753, 1753, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 355, 592, 230, 186, 847, -1000, + 1691, 1690, 1149, 1686, 509, 1685, 1520, -25, -1000, 1278, + 30297, -1000, -1000, 1124, 1061, 1542, 1416, 668, 1541, -1000, + -1000, 381, 580, 1512, 421, 1512, 1512, 1512, 1512, 1512, + -53, 1512, 1512, 1512, 90, 1512, 151, 1512, 1512, 1512, + 1512, 1512, 1301, -1000, -1000, -1000, 393, 1412, 1455, 1537, + 210, -1000, -1000, -1000, -1000, 1547, 1741, 626, -1000, -84, + 1469, 20965, -1000, 1471, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1172, 1608, 976, - 15970, 1542, -1000, -1000, 923, 1739, -1000, 19337, 667, -1000, - 15970, 2781, 1385, -1000, -1000, 1385, -1000, -1000, -1000, 612, - -1000, -1000, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1385, 1385, 1385, 1385, 1385, 1385, - 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, - 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, - 1385, 1385, -1000, -1000, 1385, -1000, 12603, 1385, 1385, 1385, - 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 15970, - 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, - 1385, 1385, 1385, 1385, 1385, 1385, 27998, 26074, 29922, 1345, - 1319, -1000, -1000, 662, 1379, -108, 31365, -1000, -1000, -1000, - -1000, 30403, 25112, 818, -1000, -1000, -1000, -1000, 1604, -1000, - -1000, 659, -1000, 1698, -1000, -1000, 1291, 348, -1000, 4089, - 4834, -1000, -1000, -1000, 1424, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1294, 1688, + 981, 16055, 1644, -1000, -1000, 938, 1810, -1000, 19492, 711, + -1000, 16055, 2952, 1471, -1000, -1000, 1471, -1000, -1000, -1000, + 666, -1000, -1000, 18019, 18019, 18019, 18019, 18019, 18019, 18019, + 18019, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1471, 1471, 1471, 1471, 1471, + 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, + 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, + 1471, 1471, 1471, -1000, -1000, 1471, -1000, 12618, 1471, 1471, + 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, + 16055, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, + 1471, 1471, 1471, 1471, 1471, 1471, 1471, 28333, 26369, 30297, + 1450, 1446, -1000, -1000, 710, 1480, -77, 31770, -1000, -1000, + -1000, -1000, 30788, 25387, 844, -1000, -1000, -1000, -1000, 1684, + -1000, -1000, 703, -1000, 1768, -1000, -1000, 1386, 534, -1000, + 4233, 4677, -1000, -1000, -1000, 1519, -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, @@ -4645,399 +4734,405 @@ 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, 29441, 1659, 554, 1160, 887, 1157, 1150, 1149, 25593, - 25593, 374, 1147, 1376, 548, 1375, 544, 953, 29922, 1639, - 1464, 29922, 1144, 1143, 1140, 1139, 25593, 25593, -1000, 11155, - -1000, -1000, 890, -1000, 1066, 15970, 374, 374, 29922, 29922, - 29922, 29922, -1000, -1000, 890, 890, 890, 890, 848, 1733, - 848, -1000, 848, -1000, -1000, 15970, -1000, 17894, 24631, 707, - -1000, -1000, -1000, 1138, 327, -1000, -1000, -1000, -1000, -1000, - -1000, 1133, 547, 547, -1000, 1065, 547, 1348, -1000, 802, + -1000, -1000, -1000, 29806, 1732, 601, 1272, 900, 1270, 1269, + 1266, 25878, 25878, 545, 1260, 1479, 590, 1475, 589, 1186, + 30297, 1716, 1534, 30297, 1259, 1254, 1248, 1246, 25878, 25878, + -1000, 11140, -1000, -1000, 956, -1000, 1200, 16055, 545, 545, + 30297, 30297, 30297, 30297, -1000, -1000, 956, 956, 956, 956, + 905, 1807, 905, -1000, 905, -1000, -1000, 16055, -1000, 18019, + 24896, 762, -1000, -1000, -1000, 1245, 344, -1000, -1000, -1000, + -1000, -1000, -1000, 1239, 509, 509, -1000, 1199, 509, 1465, + -1000, 842, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 509, -1000, 15564, -322, -1000, -1000, + 1474, -1000, 299, -1000, -1000, 520, 520, 206, 25878, 25878, + 25878, -1000, 1512, 29806, -1000, 1512, 1512, 1512, -63, 1512, + 1512, -1000, -1000, 1512, -1000, -1000, -1000, -1000, -1000, 1512, + -1000, -1000, -1000, 1512, 1512, -1000, 1512, 1512, -1000, -1000, + -1000, -1000, -1000, 25878, 520, 162, 1472, 520, 25878, 25878, + -1000, 210, -1000, 78, 75, 73, 68, -1000, -1000, -1000, + -1000, 66, -1000, -1000, 1583, -1000, -1000, 186, -1000, -1000, + 30297, -99, 20965, 1469, 1730, 9658, -1000, -1000, -1000, 1829, + 715, 1442, -1000, -1000, 1467, -1000, 1130, 697, 1183, 1592, + -1000, -1000, -1000, 30297, -1000, 16055, 16055, 1153, -1000, 21456, + -1000, -1000, -1000, -1000, 9164, 810, 18019, 972, 855, 18019, + 18019, 18019, 18019, 18019, 18019, 18019, 18019, 18019, 18019, 18019, + 18019, 18019, 18019, 18019, 1067, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1237, -1000, 186, 1171, 1171, 736, 736, + 736, 736, 736, 736, 736, 23422, 1725, 14091, 14091, 14091, + 1725, 1294, 1294, 14091, 14091, 14091, 14091, 14091, 14091, 1725, + 1725, 14091, 1294, 1294, 1294, 1294, 14091, 14091, 14091, 14091, + 1725, 14091, 14091, 14091, 1725, 1294, 1384, 1011, 12618, 14091, + 14091, 14091, 1294, 16055, 16055, 15073, 14582, 16546, 14091, 14091, + 1725, 872, 1011, 30788, -1000, -1000, 17528, -1000, -1000, -1000, + -1000, -1000, 1294, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 29806, 29806, 14091, 14091, 14091, 14091, 803, 30297, -1000, + 1453, 1470, -1000, -1000, -1000, 1727, 24405, 19001, -1000, 803, + 1410, 26369, 30297, -1000, -1000, 26369, 30297, 8670, 31279, 1441, + -1000, -111, -101, -77, -1000, -1000, 729, -1000, -1000, -1000, + 12126, -1000, 10152, 1753, 1583, 6200, 10646, -1000, 4677, 1519, + -1000, -36, -1000, -1000, -1000, 1498, -1000, 1498, 281, 14, + 1498, 1498, 1498, 1498, 1498, 1, 1, 1, 1, 18, + -1000, -1000, -1000, -1000, -1000, 1518, 1516, -1000, 1498, 1498, + 1498, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 547, -1000, 15489, -316, -1000, -1000, 1370, -1000, - 264, -1000, -1000, 339, 339, 183, 25593, 25593, 25593, -1000, - 1419, 29441, -1000, 1419, 1419, 1419, -69, 1419, 1419, -1000, - -1000, 1419, -1000, -1000, -1000, -1000, -1000, 1419, -1000, -1000, - -1000, 1419, 1419, -1000, 1419, 1419, -1000, -1000, -1000, -1000, - -1000, 25593, 339, 150, 1368, 339, 25593, 25593, 1501, -1000, - -1000, 177, -1000, -1000, 29922, -85, 20780, 1367, 1658, 9703, - -1000, -1000, -1000, 1759, 754, 1365, -1000, -1000, 1364, -1000, - 866, 645, 1026, 1513, -1000, -1000, -1000, 29922, -1000, 15970, - 15970, 952, -1000, 21261, -1000, -1000, -1000, -1000, 9219, 774, - 17894, 966, 791, 17894, 17894, 17894, 17894, 17894, 17894, 17894, - 17894, 17894, 17894, 17894, 17894, 17894, 17894, 17894, 1021, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1131, -1000, 177, - 1048, 1048, 687, 687, 687, 687, 687, 687, 687, 23187, - 1654, 14046, 14046, 14046, 1654, 1172, 1172, 14046, 14046, 14046, - 14046, 14046, 14046, 1654, 1654, 14046, 1172, 1172, 1172, 1172, - 14046, 14046, 14046, 14046, 1654, 14046, 14046, 14046, 1654, 1172, - 1289, 779, 12603, 14046, 14046, 14046, 1172, 15970, 15970, 15008, - 14527, 16451, 14046, 14046, 1654, 831, 779, 30403, -1000, -1000, - 17413, -1000, -1000, -1000, -1000, -1000, 1172, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 29441, 29441, 14046, 14046, 14046, - 14046, 733, 29922, -1000, 1351, 1369, -1000, -1000, -1000, 1657, - 24150, 18856, -1000, 733, 1250, 26074, 29922, -1000, -1000, 26074, - 29922, 8735, 30884, 1340, -1000, -94, -113, -108, -1000, -1000, - 679, -1000, -1000, -1000, 12121, -1000, 10187, 1671, 1501, 6315, - 10671, -1000, 4834, 1424, -1000, -37, -1000, -1000, -1000, 1405, - -1000, 1405, 286, 31, 1405, 1405, 1405, 1405, 1405, 5, - 5, 5, 5, 3, -1000, -1000, -1000, -1000, -1000, 1423, - 1422, -1000, 1405, 1405, 1405, -1000, -1000, -1000, -1000, -1000, + 1509, 300, 1501, 1501, 1501, 1501, 1501, 366, 366, -1000, + 16055, 1522, -1000, 30297, -1000, 1713, -1000, 334, 1513, 1436, + -1000, 189, 1394, 30297, -1000, 30297, 30297, 25878, 25878, 25878, + 628, -1000, 30297, 1466, -1000, -1000, -1000, -1000, -1000, 1426, + -1000, 1394, -1000, -1000, -1000, -1000, -1000, 1011, 1234, 1233, + -1000, -1000, -1000, 936, -1000, -1000, -1000, -1000, 956, 30297, + 30297, 30297, 1726, 956, 1011, 660, 1523, 1471, 1294, -1000, + -1000, 1232, -1000, 1465, 1465, -1000, 1465, 509, 1171, 1465, + -1000, 1381, 1708, 1198, 30297, -1000, 20965, -26, -1000, -117, + 27842, -1000, -1000, -1000, 27842, -1000, 90, 172, -1000, 588, + -1000, 1379, -1000, -1000, -1000, -1000, 1512, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 27842, 123, 161, 27842, + 1426, 1803, -1000, -1000, -1000, -1000, -1000, -1000, 1725, 1294, + 265, -1000, -1000, -1000, 1471, 1342, 696, -1000, 1577, 981, + 981, 16055, -1000, -1000, -1000, 10152, 1737, -1000, 1611, 1608, + 1552, -1000, -1000, 810, 879, -1000, -1000, 1146, -1000, -1000, + -1000, -1000, 695, 1471, -1000, 3515, -1000, -1000, -1000, -1000, + 972, 18019, 18019, 18019, 660, 3515, 3453, 752, 804, 736, + 769, 769, 738, 738, 738, 738, 738, 830, 830, -1000, + -1000, -1000, 1294, -1000, -1000, -1000, 14091, 1373, -1000, -1000, + 1011, 694, 1373, 1373, 14091, -154, -154, 1294, 1373, 1373, + 1373, 1294, 1373, 14091, 14091, 1373, -154, -154, -154, -154, + 1373, 1373, 1373, 1373, 14091, 1373, 1373, 1373, 14091, -1000, + 16055, -1000, 1294, 1373, 1373, 1373, -1000, 955, 1105, 807, + 1801, 1373, 799, 1795, 1373, 2686, 18019, 18019, 18019, 1373, + 1373, 14091, 881, -1000, 16055, 1294, -1000, 1305, 1456, 1449, + 1373, 1294, 1445, 1373, 1373, 183, 1471, -1000, 10152, 26369, + 26369, 26369, 26369, 26369, -1000, 1567, 1561, -1000, 1570, 1563, + 1576, 20965, 1375, 1294, 274, 24405, -1000, 1471, -1000, 20474, + 685, 607, 606, 604, 1782, 26369, 1406, -1000, 1406, -1000, + 680, -1000, -1000, 30788, -77, -120, -1000, -1000, 1441, -1000, + 1073, -1000, -1000, 1011, -1000, 677, 1688, 1725, 1440, 5706, + -1000, -1000, -1000, -1000, 534, -1000, -1000, -1000, 1511, 3274, + -1000, 1637, 686, 721, 1212, 1628, -1000, -1000, 337, -38, + -1000, -1000, 1054, 1, 1, 1498, 1498, 262, 1498, -1000, + 1, -1000, -1000, -1000, 729, 1682, 729, 729, 729, 729, + 1, 1197, 1197, -1000, -1000, -1000, -1000, 1049, -1000, 1509, + -1000, 1045, -1000, -1000, -1000, -1000, -1000, -1000, 1038, 1533, + 29806, 186, 1722, -1000, 1787, -1000, -1000, 591, 97, 25878, + 185, 416, 219, -1000, 587, -1000, 585, -1000, -1000, -1000, + -1000, -1000, -1000, 30297, 25878, -1000, -1000, 1782, 1231, 1230, + -1000, -1000, -1000, 905, 956, 1668, -1000, -1000, 18019, 25878, + -1000, 318, -1000, -1000, -1000, -1000, 803, 620, -1000, -1000, + -83, -1000, -1000, 581, 674, 672, 563, -1000, 108, 25878, + -1000, 29806, -1000, 1794, 1793, 118, 1791, 25878, 1592, -1000, + 1438, -1000, 701, 699, 688, 375, 375, -1000, 811, 375, + 802, -1000, 211, -1000, 9658, 9658, 1587, -1000, -1000, -1000, + 30297, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 8176, 14091, -1000, 660, 3515, 3272, -1000, 18019, -1000, 1373, + 14091, -154, 7682, -154, -154, 1373, -1000, 27351, -1000, -154, + -154, -154, -154, -154, -154, 1373, 1373, -154, -1000, -1000, + -1000, -1000, -154, -154, -154, -154, 1373, -154, -154, -154, + 1294, 1011, -1000, -1000, -1000, -1000, 487, 1067, 487, 18019, + 18019, -1000, 18019, 18019, -1000, -1000, 18019, 3390, 3197, 3167, + -190, -1000, 1443, 861, -1000, 16055, 1009, -1000, -1000, 18019, + 18019, -1000, -1000, -1000, -1000, 1532, 10152, 1471, 6694, -1000, + 29806, 1434, -1000, 841, 835, 1470, 1507, 1531, 1329, -1000, + -1000, -1000, -1000, 1560, -1000, 1554, -1000, -1000, 1484, -1000, + -1000, 1435, 1471, 29806, 18019, 685, -1000, 1471, 1471, 1471, + 1768, 16055, 1406, -1000, -1000, 759, -1000, -1000, -85, -112, + -1000, -1000, -1000, 9658, -1000, 6200, -1000, 6200, -1000, 21947, + 547, 1641, 364, -1000, 1212, -1000, -1000, 1212, -1000, -1000, + -1000, 1502, -1000, 928, -1000, -1000, -1000, -1000, -1000, 18019, + 1824, -1000, 1630, -1000, 1629, 1196, -1000, -1000, 1323, 729, + 729, 1, -1000, -1000, 1498, -1000, 729, -1000, 783, -1000, + -1000, -1000, -1000, 729, 1371, -1000, 1369, 1429, -1000, 1364, + 119, 30297, -1000, -1000, -1000, 1530, -1000, -1000, -1000, 1310, + 1427, -1000, 4233, 1229, 1227, 1226, -197, 204, -1000, 25878, + 137, 189, 445, 1224, 30297, 25878, -1000, -1000, -1000, -1000, + -1000, 956, -1000, 18019, 3515, 1394, -1000, -1000, 1, 30297, + -1000, 25878, 745, 26860, 25878, 117, 138, -1000, 25878, 25878, + 1790, 25878, 1426, 1552, 265, 22435, 1212, 671, -1000, -1000, + 388, -1000, 2564, 1628, 1220, 23892, 23401, 29806, 1626, 1624, + 1219, 30297, 29806, -1000, -1000, 22915, 1218, 16055, -1000, 29806, + 29806, 670, -1000, -1000, -1000, 1405, 13109, -1000, -1000, 1294, + -1000, 18019, 3515, -154, -1000, -1000, -1000, -1000, 665, -1000, + -1000, -154, -1000, -1000, 1217, -1000, -1000, -1000, -1000, -1000, + -1000, -154, -154, -1000, -1000, -1000, -1000, -1000, -154, -1000, + -1000, -1000, -1000, 1294, 1498, 1498, -1000, 1498, 1501, -1000, + 1498, 24, 1498, 23, 1294, 1294, 3079, 3042, 2904, 2732, + 1305, 18019, 18019, 18019, 1471, -150, -1000, 1011, 16055, 1916, + 911, -1000, 1699, 1393, 1420, -1000, -1000, 13600, 1294, 1604, + 1342, -1000, 19983, 1340, -1000, 1768, 10152, 16055, 16055, -1000, + -1000, 16055, 1499, -1000, 16055, -1000, -1000, -1000, -1000, 29806, + 273, -1000, 16055, 1340, 1042, -1000, 29806, 29806, 29806, 1753, + 1011, -1000, -1000, -1000, -1000, 5706, -1000, 1338, -1000, 1498, + 1498, 1623, -1000, 686, -1000, -1000, -1000, 29806, -1000, 3515, + -102, -1000, -1000, -1000, -1000, -1000, -1000, 729, -1000, -1000, + -1000, -1000, -1000, 1, 1195, 1, 1043, -1000, 1036, -1000, + -1000, -274, 1496, -1000, 186, 30297, 107, 591, -1000, 4233, + 4233, 4233, 120, 129, -1000, 922, -1000, -1000, -1000, 1194, + 1192, 1191, 1394, 190, 909, 150, -1000, 1720, -1000, -1000, + -1000, 3515, -49, -1000, 138, -1000, -1000, -1000, 138, -1000, + -1000, 157, 1426, 1426, 25878, 1426, -1000, -1000, 22915, 371, + 4233, 4233, 1522, 686, 1619, 364, -1000, -1000, -1000, -1000, + -1000, -1000, 1215, -1000, 693, -1000, 558, 371, 22915, 1011, + 771, 1706, 9658, 1775, 26369, -1000, -1000, -1000, 3515, -1000, + 7188, -1000, 788, -1000, -1000, -1000, -1000, -1000, -1000, 289, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18019, 18019, + 18019, 18019, -1000, 1305, 1305, 1305, 18019, 1294, 1190, 1011, + 18019, 18019, 1617, -1000, 1471, -1000, -1000, 1471, 187, -1000, + 29806, 1753, -1000, 1011, 1011, 1011, 29806, 1011, 1335, -1000, + 1471, 18510, -1000, 20965, 1332, 1332, 1332, -1000, 667, 21947, + 1705, 1705, -1000, 1212, -1000, 1330, -1000, -1000, 729, -1000, + 729, 1306, 1304, -1000, 21947, -1000, 1749, -1000, 107, -1000, + 1189, 237, 246, -1000, 236, 235, 233, 229, 222, -1000, + -1000, -1000, -1000, 379, 120, -1000, -59, 1030, 832, 1673, + 129, -1000, 1017, 1015, 1002, 992, 164, -1000, -1000, -1000, + -1000, 215, 189, -1000, 442, 1185, 1658, 1653, 1719, 1719, + 113, 1426, 1402, 1300, -1000, -1000, 1214, -1000, -1000, 1494, + 1212, 1487, -1000, 1211, -1000, -1000, 29806, -1000, 371, 1696, + 1695, 1471, -1000, 1771, 1764, 1406, 13109, -1000, -1000, 1768, + 1761, -1000, -1000, 1305, 1305, 1305, 1305, -1000, -1000, -1000, + 102, -1000, -1000, 1305, 1305, 1819, -1000, 1420, 1471, -1000, + 186, -1000, -1000, 1328, -1000, 29806, -1000, -1000, 685, -1000, + -1000, -1000, 667, -1000, 1210, 811, 1181, -1000, -1000, -1000, + -1000, 353, -1000, -1000, -1000, -1000, 1313, -1000, 270, 32990, + -1000, -1000, -1000, -1000, -1000, -1000, 1664, 1661, 259, -1000, + 1176, 1167, -1000, 401, 1046, 687, -159, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 427, 1209, + -1000, 144, -1000, -1000, 548, 1643, 1645, 1760, -1000, 25878, + -1000, -1000, 26369, -1000, -1000, 337, 337, 21947, 1522, 21947, + -1000, -1000, -1000, 18019, -1000, 775, -156, 16055, 16055, 1775, + -1000, 792, 16055, -1000, -1000, -1000, -1000, 1294, 182, -235, + -1000, -1000, 10152, 1420, 1294, -1000, -1000, -1000, -1000, -1000, + 982, -1000, 30297, 667, 267, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1414, 302, 1409, 1409, 1409, 1409, - 1409, 320, 320, -1000, 15970, 1442, -1000, 29922, -1000, 1638, - -1000, 245, 1421, 1355, -1000, 152, 1243, 29922, -1000, 29922, - 29922, 25593, 25593, 25593, 569, -1000, 29922, 1350, -1000, -1000, - -1000, -1000, -1000, 1330, -1000, 1243, -1000, -1000, -1000, -1000, - -1000, 779, 1130, 1129, -1000, -1000, -1000, 850, -1000, -1000, - -1000, -1000, 890, 29922, 29922, 29922, 1656, 890, 779, 666, - 1444, 1385, 1172, -1000, -1000, 1127, -1000, 1348, 1348, -1000, - 1348, 547, 1048, 1348, -1000, 1280, 1633, 1064, 29922, -1000, - 20780, -27, -1000, -116, 27517, -1000, -1000, -1000, 27517, -1000, - 64, 172, -1000, 541, -1000, 1273, -1000, -1000, -1000, -1000, - 1419, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 27517, 107, 148, 27517, 1330, 1729, 1654, 1172, 287, -1000, - -1000, -1000, 1385, 1225, 644, -1000, 1490, 976, 976, 15970, - -1000, -1000, -1000, 10187, 1674, -1000, 1529, 1528, 1486, -1000, - -1000, 774, 827, -1000, -1000, 975, -1000, -1000, -1000, -1000, - 641, 1385, -1000, 3432, -1000, -1000, -1000, -1000, 966, 17894, - 17894, 17894, 666, 3432, 3406, 861, 1825, 687, 748, 748, - 696, 696, 696, 696, 696, 726, 726, -1000, -1000, -1000, - 1172, -1000, -1000, -1000, 14046, 1268, -1000, -1000, 779, 634, - 1268, 1268, 14046, -161, -161, 1172, 1268, 1268, 1268, 1172, - 1268, 14046, 14046, 1268, -161, -161, -161, -161, 1268, 1268, - 1268, 1268, 14046, 1268, 1268, 1268, 14046, -1000, 15970, -1000, - 1172, 1268, 1268, 1268, -1000, 834, 995, 727, 1728, 1268, - 721, 1727, 1268, 949, 17894, 17894, 17894, 1268, 1268, 14046, - 862, -1000, 15970, 1172, -1000, 1248, 1346, 1344, 1268, 1172, - 1342, 1268, 1268, 181, 1385, -1000, 10187, 26074, 26074, 26074, - 26074, 26074, -1000, 1498, 1497, -1000, 1485, 1478, 1489, 20780, - 1270, 1172, 257, 24150, -1000, 1385, -1000, 20299, 618, 562, - 561, 559, 1711, 26074, 1285, -1000, 1285, -1000, 616, -1000, - -1000, 30403, -108, -102, -1000, -1000, 1340, -1000, 1034, -1000, - -1000, 779, -1000, 608, 1608, 1654, 1339, 5831, -1000, -1000, - -1000, -1000, 348, -1000, -1000, -1000, 1417, 4727, -1000, 1556, - 663, 682, 1096, 1540, -1000, -1000, 335, -40, -1000, -1000, - 1011, 5, 5, 1405, 1405, 283, 1405, -1000, 5, -1000, - -1000, -1000, 679, 1603, 679, 679, 679, 679, 5, 1063, - 1063, -1000, -1000, -1000, -1000, 1010, -1000, 1414, -1000, 1005, - -1000, -1000, -1000, -1000, -1000, -1000, 799, 1456, 29441, 177, - 1650, -1000, 1718, -1000, -1000, 573, 66, 25593, 159, 387, - 191, -1000, 538, -1000, 536, -1000, -1000, -1000, -1000, -1000, - -1000, 29922, 25593, -1000, -1000, 1711, 1126, 1125, -1000, -1000, - -1000, 848, 890, 1592, -1000, -1000, 17894, 25593, -1000, 266, - -1000, -1000, -1000, -1000, 733, 565, -1000, -1000, -78, -1000, - -1000, 534, 605, 598, 527, -1000, 85, 25593, -1000, 29441, - -1000, 1726, 1725, 106, 1722, 25593, 1513, -1000, 1337, -1000, - 651, 653, 670, 343, 343, -1000, 782, 343, 732, -1000, - 197, -1000, 9703, 9703, 1508, -1000, -1000, -1000, 29922, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 8251, 14046, - -1000, 666, 3432, 3358, -1000, 17894, -1000, 1268, 14046, -161, - 7767, -161, -161, 1268, -1000, 27036, -1000, -161, -161, -161, - -161, -161, -161, 1268, 1268, -161, -1000, -1000, -1000, -1000, - -161, -161, -161, -161, 1268, -161, -161, -161, 1172, 779, - -1000, -1000, -1000, -1000, 346, 1021, 346, 17894, 17894, -1000, - 17894, 17894, -1000, -1000, 17894, 3257, 3231, 3165, -213, -1000, - 1293, 833, -1000, 15970, 928, -1000, -1000, 17894, 17894, -1000, - -1000, -1000, -1000, 1453, 10187, 1385, 6799, -1000, 29441, 1334, - -1000, 797, 792, 1369, 1413, 1452, 1269, -1000, -1000, -1000, - -1000, 1493, -1000, 1479, -1000, -1000, 1400, -1000, -1000, 1336, - 1385, 29441, 17894, 618, -1000, 1385, 1385, 1385, 1698, 15970, - 1285, -1000, -1000, 702, -1000, -1000, -103, -121, -1000, -1000, - -1000, 9703, -1000, 6315, -1000, 6315, -1000, 21742, 497, 1543, - 360, -1000, 1096, -1000, -1000, 1096, -1000, -1000, -1000, 1410, - -1000, 919, -1000, -1000, -1000, -1000, -1000, 17894, 1758, -1000, - 1555, -1000, 1553, 1062, -1000, -1000, 1231, 679, 679, 5, - -1000, -1000, 1405, -1000, 679, -1000, 750, -1000, -1000, -1000, - -1000, 679, 1241, -1000, 1237, 1333, -1000, 1235, 86, 29922, - -1000, -1000, -1000, 1451, -1000, -1000, -1000, 1215, 1332, -1000, - 4089, 1124, 1123, 1120, -219, 244, -1000, 25593, 122, 152, - 400, 1112, 29922, 25593, -1000, -1000, -1000, -1000, -1000, 890, - -1000, 17894, 3432, 1243, -1000, -1000, 5, 29922, -1000, 25593, - 697, 26555, 25593, 104, 137, -1000, 25593, 25593, 1721, 25593, - 1330, 1486, 287, 3492, 1096, 596, -1000, -1000, 354, -1000, - 3361, 1540, 1109, 22208, 4900, 29441, 1539, 1538, 1108, 29922, - 29441, -1000, -1000, 4866, 1107, 15970, -1000, 29441, 29441, 594, - -1000, -1000, -1000, 1288, 13084, -1000, -1000, 1172, -1000, 17894, - 3432, -161, -1000, -1000, -1000, -1000, 583, -1000, -1000, -161, - -1000, -1000, 1104, -1000, -1000, -1000, -1000, -1000, -1000, -161, - -161, -1000, -1000, -1000, -1000, -1000, -161, -1000, -1000, -1000, - -1000, 1172, 1405, 1405, -1000, 1405, 1409, -1000, 1405, 29, - 1405, 25, 1172, 1172, 3104, 3089, 3069, 2717, 1248, 17894, - 17894, 17894, 1385, -154, -1000, 779, 15970, 2796, 2296, -1000, - 1622, 1310, 1328, -1000, -1000, 13565, 1172, 1526, 1225, -1000, - 19818, 1222, -1000, 1698, 10187, 15970, 15970, -1000, -1000, 15970, - 1407, -1000, 15970, -1000, -1000, -1000, -1000, 29441, 253, -1000, - 15970, 1222, 1377, -1000, 29441, 29441, 29441, 1671, 779, -1000, - -1000, -1000, -1000, 5831, -1000, 1213, -1000, 1405, 1405, 1535, - -1000, 663, -1000, -1000, -1000, 29441, -1000, 3432, -101, -1000, - -1000, -1000, -1000, -1000, -1000, 679, -1000, -1000, -1000, -1000, - -1000, 5, 1061, 5, 989, -1000, 977, -1000, -1000, -268, - 1404, -1000, 177, 29922, 169, 573, -1000, 4089, 4089, 4089, - 115, 94, -1000, 912, -1000, -1000, -1000, 1059, 1055, 1053, - 1243, 161, 909, 139, -1000, 1645, -1000, -1000, -1000, 3432, - -43, -1000, 137, -1000, -1000, -1000, 137, -1000, -1000, 147, - 1330, 1330, 25593, 1330, -1000, -1000, 4866, 337, 4089, 4089, - 1442, 663, 1533, 360, -1000, -1000, -1000, -1000, -1000, -1000, - 1101, -1000, 627, -1000, 508, 337, 4866, 779, 698, 1625, - 9703, 1709, 26074, -1000, -1000, -1000, 3432, -1000, 7283, -1000, - 731, -1000, -1000, -1000, -1000, -1000, -1000, 297, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 17894, 17894, 17894, 17894, - -1000, 1248, 1248, 1248, 17894, 1172, 1045, 779, 17894, 17894, - 1532, -1000, 1385, -1000, -1000, 1385, 195, -1000, 29441, 1671, - -1000, 779, 779, 779, 29441, 779, 1211, -1000, 1385, 18375, - -1000, 20780, 1206, 1206, 1206, -1000, 613, 21742, 1630, 1630, - -1000, 1096, -1000, 1201, -1000, -1000, 679, -1000, 679, 1207, - 1188, -1000, 21742, -1000, 1680, -1000, 169, -1000, 1044, 215, - 220, -1000, 214, 213, 211, 208, 200, -1000, -1000, -1000, - -1000, 395, 115, -1000, -53, 968, 780, 1598, 94, -1000, - 964, 956, 955, 950, 265, -1000, -1000, -1000, -1000, 189, - 152, -1000, 399, 1043, 1578, 1572, 1649, 1649, 93, 1330, - 1313, 1177, -1000, -1000, 1099, -1000, -1000, 1402, 1096, 1401, - -1000, 1095, -1000, -1000, 29441, -1000, 337, 1619, 1618, 1385, - -1000, 1704, 1694, 1285, 13084, -1000, -1000, 1698, 1693, -1000, - -1000, 1248, 1248, 1248, 1248, -1000, -1000, -1000, 100, -1000, - -1000, 1248, 1248, 1755, -1000, 1328, 1385, -1000, 177, -1000, - -1000, 1194, -1000, 29441, -1000, -1000, 618, -1000, -1000, -1000, - 613, -1000, 1094, 782, 1040, -1000, -1000, -1000, -1000, 285, - -1000, -1000, -1000, -1000, 1187, -1000, 230, 32339, -1000, -1000, - -1000, -1000, -1000, -1000, 1587, 1586, 235, -1000, 1039, 1038, - -1000, 377, 1009, 664, -167, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 391, 1073, -1000, 134, - -1000, -1000, 378, 1559, 1562, 1692, -1000, 25593, -1000, -1000, - 26074, -1000, -1000, 335, 335, 21742, 1442, 21742, -1000, -1000, - -1000, 17894, -1000, 730, -163, 15970, 15970, 1709, -1000, 724, - 15970, -1000, -1000, -1000, -1000, 1172, 180, -228, -1000, -1000, - 10187, 1328, 1172, -1000, -1000, -1000, -1000, -1000, 942, -1000, - 29922, 613, 250, -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, 15970, 15970, 5347, 32339, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 932, -1000, -1000, 980, - 355, 132, -1000, 1646, -1000, 1400, 930, 1572, 1690, 1570, - 1568, -1000, 1036, -220, 1285, 1185, 1399, 1182, 3432, 1180, - -1000, 29441, -1000, 29441, -1000, 779, 1327, -1000, 779, 1704, - -1000, 1172, 207, 207, 1326, -1000, 1506, -216, -243, 1323, - -1000, -1000, 1396, -1000, 613, 241, -1000, 826, 907, 185, - 178, 3291, -1000, -1000, -1000, -1000, -319, -1000, 110, -1000, - 95, -1000, -1000, -1000, 1033, -1000, 1574, -1000, 1029, -1000, - 1689, 1685, -1000, 156, 1709, 613, 21742, 613, -1000, 730, - 1525, 1316, -1000, 1634, 15970, -163, -1000, -1000, 184, -1000, - 719, 249, 717, -1000, 1048, -1000, -1000, 1504, -1000, 29441, - -1000, 1071, 1069, 872, -1000, 15970, 32339, 1678, 1676, 1673, - 1609, 9703, 32249, -1000, -1000, -1000, -1000, -1000, 1024, 1023, - 23668, 1704, -1000, 1176, -1000, -1000, 262, 29441, 1385, -1000, - -1000, 889, -1000, -1000, -1000, -1000, -1000, 29441, -225, 1171, - 317, -1000, -1000, 874, 32339, -1000, 905, -320, 412, 177, - 572, 17894, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 88, - 1243, -163, 613, 254, -1000, -1000, 184, -1000, -231, 1450, - -1000, -1000, -1000, -1000, -1000, -1000, 32339, -1000, -322, 32339, - 4061, -1000, -1000, -1000, 4795, -1000, -1000, -1000, -1000, 171, - -1000, -1000, 3432, 25593, -1000, -1000, 1385, -1000, -250, 1446, - 1415, 1720, -1000, -323, 4786, -324, 373, 32339, 841, -1000, - 15970, -1000, 572, -1000, 1243, 16932, -1000, -1000, 1747, -1000, - 1745, 611, 611, 4615, 842, 32339, -1000, -327, 369, 32339, - -1000, 824, -1000, 1248, 1172, -1000, -1000, -1000, 292, 998, - -1000, -1000, -1000, 4446, -1000, -330, 32339, -1000, -1000, -1000, - -1000, -1000, 356, 4438, -331, -1000, 349, 32339, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 16055, 16055, 5212, 32990, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 975, -1000, + -1000, 1040, 378, 140, -1000, 1718, -1000, 1484, 944, 1653, + 1758, 1649, 1647, -1000, 1151, -228, 1406, 1309, 1483, 1299, + 3515, 1297, -1000, 29806, -1000, 29806, -1000, 1011, 1419, -1000, + 1011, 1771, -1000, 1294, 217, 217, 1411, -1000, 1586, -194, + -246, 1404, -1000, -1000, 1482, -1000, 667, 269, -1000, 995, + 999, 212, 198, 4147, -1000, -1000, -1000, -1000, -325, -1000, + 125, -1000, 121, -1000, -1000, -1000, 1145, -1000, 1657, -1000, + 1141, -1000, 1757, 1756, -1000, 166, 1775, 667, 21947, 667, + -1000, 775, 1602, 1398, -1000, 1709, 16055, -156, -1000, -1000, + 218, -1000, 787, 256, 772, -1000, 1171, -1000, -1000, 1580, + -1000, 29806, -1000, 1203, 1155, 1131, -1000, 16055, 32990, 1746, + 1745, 1739, 1694, 9658, 32852, -1000, -1000, -1000, -1000, -1000, + 1133, 971, 23913, 1771, -1000, 1293, -1000, -1000, 335, 29806, + 1471, -1000, -1000, 904, -1000, -1000, -1000, -1000, -1000, 29806, + -233, 1291, 323, -1000, -1000, 887, 32990, -1000, 997, -327, + 437, 186, 433, 18019, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 112, 1394, -156, 667, 295, -1000, -1000, 218, -1000, + -237, 1528, -1000, -1000, -1000, -1000, -1000, -1000, 32990, -1000, + -328, 32990, 3990, -1000, -1000, -1000, 32764, -1000, -1000, -1000, + -1000, 191, -1000, -1000, 3515, 25878, -1000, -1000, 1471, -1000, + -257, 1526, 1525, 1789, -1000, -329, 32674, -330, 542, 32990, + 920, -1000, 16055, -1000, 433, -1000, 1394, 17037, -1000, -1000, + 1818, -1000, 1814, 656, 656, 4895, 877, 32990, -1000, -332, + 541, 32990, -1000, 883, -1000, 1305, 1294, -1000, -1000, -1000, + 360, 970, -1000, -1000, -1000, 4603, -1000, -333, 32990, -1000, + -1000, -1000, -1000, -1000, 391, 4577, -334, -1000, 390, 32990, + -1000, } var yyPgo = [...]int{ - 0, 2162, 2161, 233, 2160, 176, 2159, 2158, 2156, 26, - 23, 20, 28, 2155, 1905, 1903, 1856, 1854, 1850, 2152, - 5, 2151, 2149, 1848, 2148, 2147, 1846, 1840, 1833, 1830, - 2146, 2142, 2141, 1824, 1822, 1810, 15, 2140, 19, 2139, - 4, 132, 155, 2138, 3, 2136, 2135, 14, 2134, 2132, - 1808, 2131, 2129, 2128, 87, 2127, 1806, 1804, 2121, 1801, - 1799, 2120, 2119, 1791, 1789, 1787, 2117, 156, 2115, 2113, - 2112, 169, 90, 139, 2111, 2107, 2104, 108, 79, 2046, - 103, 43, 104, 353, 2100, 30, 54, 174, 2099, 121, - 137, 2098, 145, 2097, 140, 107, 96, 2096, 2082, 151, - 2081, 2080, 2079, 126, 2076, 2075, 2910, 2074, 2073, 147, - 2072, 63, 58, 36, 2071, 2065, 2064, 2062, 2060, 25, - 153, 2059, 2058, 128, 2057, 2054, 78, 2053, 2052, 158, - 2049, 2048, 2045, 124, 40, 2044, 2043, 55, 2042, 48, - 75, 2037, 94, 2036, 130, 2034, 2030, 34, 10, 2025, - 64, 2024, 56, 2023, 135, 309, 1115, 2022, 11, 16, - 18, 2020, 32, 7, 13, 44, 47, 70, 116, 98, - 2019, 49, 38, 106, 97, 88, 39, 2012, 141, 2010, - 80, 143, 127, 122, 142, 2007, 2006, 2004, 972, 1989, - 110, 84, 1988, 95, 827, 152, 112, 1985, 93, 1984, - 1983, 1981, 83, 109, 1979, 1977, 53, 66, 636, 1649, - 89, 144, 1976, 42, 1974, 1973, 1972, 2894, 101, 82, - 102, 1969, 99, 35, 59, 1968, 1967, 1965, 1962, 1961, - 1960, 1341, 1957, 1953, 1938, 1937, 288, 60, 1936, 1933, - 113, 115, 1932, 1931, 1930, 1929, 119, 67, 138, 1928, - 125, 118, 120, 1925, 68, 1923, 1922, 91, 41, 1921, - 1919, 1918, 92, 86, 1915, 62, 31, 33, 65, 8, - 69, 100, 1914, 22, 1913, 2, 6, 12, 1911, 1910, - 1909, 1908, 1907, 1900, 1898, 71, 1893, 1890, 61, 1887, - 1883, 1879, 37, 1876, 1873, 1867, 131, 105, 50, 149, - 284, 17, 1863, 1861, 9, 1859, 111, 1852, 57, 1844, - 52, 1842, 1835, 46, 1828, 1826, 51, 1814, 1812, 150, - 1438, 2747, 1797, 148, 129, 45, 74, 1793, 1785, 0, - 617, 154, 136, 1781, 1731, + 0, 2212, 2211, 34, 2210, 183, 2209, 2207, 2206, 26, + 22, 20, 28, 2205, 1959, 1956, 1954, 1952, 1949, 2204, + 15, 2203, 2202, 1945, 2201, 2197, 1939, 1937, 1935, 1931, + 2196, 2192, 2190, 1921, 1919, 1899, 2, 2189, 16, 2188, + 5, 139, 169, 2187, 3, 2186, 2184, 13, 2181, 2180, + 1897, 2179, 2178, 2174, 87, 2173, 1883, 1874, 2172, 1872, + 1866, 2171, 2170, 1864, 1862, 1853, 2168, 159, 2167, 2164, + 2163, 264, 96, 142, 2161, 2160, 2156, 107, 70, 2050, + 105, 49, 138, 233, 2155, 18, 55, 185, 2153, 135, + 120, 2150, 150, 2148, 129, 187, 98, 2147, 2146, 160, + 2145, 2144, 2143, 126, 2140, 2139, 2478, 2138, 2137, 148, + 2132, 64, 54, 44, 2130, 2129, 2128, 2124, 2122, 31, + 153, 2117, 2114, 140, 2112, 2111, 78, 2110, 2108, 174, + 2107, 2106, 2105, 130, 41, 2104, 2102, 47, 2101, 77, + 68, 2096, 94, 2092, 128, 2090, 2089, 36, 19, 2088, + 57, 2087, 52, 2086, 137, 536, 101, 2082, 11, 14, + 10, 2081, 32, 7, 24, 46, 62, 92, 122, 100, + 2080, 30, 39, 112, 97, 93, 42, 2079, 143, 2078, + 84, 145, 124, 125, 144, 2077, 2076, 2070, 1064, 2069, + 110, 95, 2068, 136, 883, 158, 106, 2066, 91, 2065, + 2064, 2063, 2062, 2059, 86, 113, 2058, 2057, 48, 66, + 1014, 1786, 53, 147, 2056, 45, 2055, 2053, 2052, 2819, + 104, 83, 102, 2051, 103, 37, 58, 2049, 2047, 2044, + 2028, 2023, 2021, 1359, 2020, 2017, 2015, 2013, 89, 67, + 2012, 2011, 121, 127, 2009, 2007, 2006, 2005, 116, 75, + 141, 2004, 108, 118, 156, 2002, 73, 2001, 2000, 50, + 43, 1993, 1992, 1989, 99, 90, 1984, 69, 33, 40, + 63, 8, 151, 1983, 1982, 82, 111, 1981, 25, 1980, + 4, 6, 9, 1979, 1978, 1977, 1970, 1969, 1968, 1965, + 76, 1964, 1961, 61, 1947, 1943, 1933, 38, 1929, 1926, + 1916, 131, 109, 88, 152, 191, 17, 1914, 1911, 12, + 1905, 119, 1895, 65, 1893, 59, 1891, 1889, 51, 1886, + 1881, 60, 1876, 1869, 155, 1575, 204, 1858, 154, 132, + 56, 74, 1856, 1848, 0, 998, 163, 164, 1846, 1800, } var yyR1 = [...]int{ - 0, 328, 328, 1, 1, 1, 1, 1, 1, 1, + 0, 333, 333, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 66, 3, 3, 8, 4, 4, 4, 5, 5, 88, 88, 87, 87, 92, 6, 6, 7, 7, 9, 9, 70, 70, 10, 11, - 11, 11, 11, 331, 331, 101, 101, 99, 99, 100, + 11, 11, 11, 336, 336, 101, 101, 99, 99, 100, 100, 173, 173, 12, 12, 12, 178, 178, 183, 183, 183, 186, 186, 186, 186, 164, 165, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 302, - 302, 311, 311, 311, 312, 312, 310, 310, 310, 310, - 310, 314, 314, 315, 315, 313, 313, 313, 313, 317, - 317, 318, 318, 316, 316, 316, 316, 316, 316, 316, - 316, 316, 316, 316, 316, 316, 316, 305, 305, 305, - 33, 33, 33, 33, 35, 34, 34, 34, 34, 34, - 34, 319, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 320, 320, 321, 321, 322, 322, 323, 323, - 323, 323, 324, 324, 324, 324, 324, 325, 325, 325, - 325, 325, 325, 325, 326, 326, 327, 327, 2, 283, - 283, 284, 284, 285, 285, 285, 285, 286, 286, 287, - 287, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 288, 24, 205, 205, 304, 304, 304, 298, 298, 298, - 300, 300, 299, 299, 299, 301, 301, 306, 306, 306, - 306, 306, 308, 308, 308, 308, 308, 308, 309, 309, - 309, 307, 307, 48, 48, 49, 49, 49, 153, 153, - 153, 13, 13, 13, 13, 13, 19, 21, 21, 37, - 37, 38, 22, 22, 22, 22, 39, 39, 40, 25, - 25, 25, 25, 25, 25, 46, 46, 46, 45, 45, - 44, 44, 44, 44, 44, 44, 23, 23, 23, 23, - 47, 47, 42, 42, 41, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 26, 26, 26, - 26, 26, 26, 18, 282, 282, 282, 36, 36, 20, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 307, + 307, 316, 316, 316, 317, 317, 315, 315, 315, 315, + 315, 319, 319, 320, 320, 318, 318, 318, 318, 322, + 322, 323, 323, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 310, 310, 310, + 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, + 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, + 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, + 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, + 324, 325, 325, 326, 326, 327, 327, 328, 328, 328, + 328, 329, 329, 329, 329, 329, 330, 330, 330, 330, + 330, 330, 330, 331, 331, 332, 332, 2, 288, 288, + 289, 289, 290, 290, 290, 290, 291, 291, 292, 292, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, + 24, 207, 207, 309, 309, 309, 303, 303, 303, 305, + 305, 304, 304, 304, 306, 306, 311, 311, 311, 311, + 311, 313, 313, 313, 313, 313, 313, 314, 314, 314, + 312, 312, 48, 48, 49, 49, 49, 153, 153, 153, + 13, 13, 13, 13, 13, 19, 21, 21, 37, 37, + 38, 22, 22, 22, 22, 39, 39, 40, 25, 25, + 25, 25, 25, 25, 46, 46, 46, 45, 45, 44, + 44, 44, 44, 44, 44, 23, 23, 23, 23, 47, + 47, 42, 42, 41, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 26, 26, 26, 26, + 26, 26, 18, 287, 287, 287, 36, 36, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 52, - 259, 260, 260, 260, 260, 260, 260, 260, 260, 247, - 247, 248, 224, 224, 224, 224, 224, 224, 224, 224, - 223, 223, 223, 223, 227, 227, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 226, 226, 226, 226, - 226, 226, 226, 226, 228, 228, 228, 228, 228, 229, - 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 230, 230, 230, 230, 230, 230, - 230, 230, 246, 246, 231, 231, 240, 240, 241, 241, - 241, 238, 238, 239, 239, 234, 235, 242, 236, 236, - 236, 237, 237, 237, 245, 245, 245, 245, 232, 249, - 249, 269, 269, 268, 268, 267, 267, 267, 258, 258, - 264, 264, 264, 264, 264, 264, 264, 253, 253, 253, - 252, 252, 254, 254, 257, 257, 266, 266, 265, 265, - 250, 250, 250, 270, 270, 270, 270, 270, 251, 251, - 251, 251, 271, 255, 255, 256, 256, 256, 276, 277, - 275, 275, 275, 275, 275, 116, 116, 116, 261, 261, - 261, 262, 262, 262, 263, 263, 263, 280, 280, 279, - 279, 50, 51, 55, 55, 54, 54, 54, 54, 54, + 20, 20, 20, 20, 20, 20, 20, 20, 52, 261, + 262, 262, 262, 262, 262, 262, 262, 262, 249, 249, + 250, 226, 226, 226, 226, 226, 226, 226, 226, 225, + 225, 225, 225, 229, 229, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 228, 228, 228, 228, 228, + 228, 228, 228, 230, 230, 230, 230, 230, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 232, 232, 232, 232, 232, 232, 232, + 232, 248, 248, 233, 233, 242, 242, 243, 243, 243, + 240, 240, 241, 241, 236, 237, 244, 238, 238, 238, + 239, 239, 239, 247, 247, 247, 247, 234, 35, 274, + 273, 273, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 200, 200, 201, 201, 251, 251, 271, + 271, 270, 270, 269, 269, 269, 260, 260, 266, 266, + 266, 266, 266, 266, 266, 255, 255, 255, 254, 254, + 256, 256, 259, 259, 268, 268, 267, 267, 252, 252, + 252, 275, 275, 275, 275, 275, 253, 253, 253, 253, + 276, 257, 257, 258, 258, 258, 281, 282, 280, 280, + 280, 280, 280, 116, 116, 116, 263, 263, 263, 264, + 264, 264, 265, 265, 265, 285, 285, 284, 284, 50, + 51, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 152, - 152, 152, 203, 203, 274, 272, 272, 273, 273, 15, - 15, 53, 53, 303, 303, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 278, 278, 278, 17, 17, 56, + 54, 54, 54, 54, 54, 54, 54, 152, 152, 152, + 205, 205, 279, 277, 277, 278, 278, 15, 15, 53, + 53, 308, 308, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 283, 283, 283, 17, 17, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 84, 192, 192, 191, 191, 190, - 190, 190, 193, 193, 193, 221, 221, 221, 58, 58, - 62, 62, 65, 65, 65, 63, 64, 27, 28, 28, - 28, 28, 29, 204, 204, 60, 60, 61, 61, 61, - 61, 76, 76, 333, 333, 59, 334, 67, 68, 68, - 69, 69, 69, 196, 196, 73, 73, 73, 71, 71, - 71, 72, 72, 78, 78, 82, 82, 82, 82, 81, - 81, 81, 81, 155, 155, 160, 214, 214, 136, 136, - 156, 156, 161, 161, 161, 162, 162, 163, 163, 163, - 163, 163, 158, 158, 157, 157, 159, 124, 124, 212, - 212, 212, 211, 211, 211, 211, 86, 86, 89, 89, - 90, 90, 90, 90, 93, 138, 138, 110, 110, 111, - 111, 111, 111, 111, 122, 122, 172, 172, 171, 171, - 174, 174, 91, 91, 91, 91, 96, 96, 97, 97, - 98, 98, 202, 202, 219, 219, 219, 102, 102, 102, - 104, 103, 103, 103, 103, 105, 105, 107, 108, 108, - 106, 106, 109, 112, 112, 112, 112, 113, 113, 83, - 83, 83, 83, 83, 83, 83, 189, 189, 115, 115, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 132, 132, 132, 132, 132, 132, 117, 117, 117, 117, - 117, 117, 117, 77, 77, 133, 133, 133, 95, 94, - 94, 80, 80, 79, 79, 134, 134, 120, 120, 120, + 57, 57, 84, 192, 192, 191, 191, 190, 190, 190, + 193, 193, 193, 223, 223, 223, 58, 58, 62, 62, + 65, 65, 65, 63, 64, 27, 28, 28, 28, 28, + 29, 206, 206, 60, 60, 61, 61, 61, 61, 76, + 76, 338, 338, 59, 339, 67, 68, 68, 69, 69, + 69, 196, 196, 73, 73, 73, 71, 71, 71, 72, + 72, 78, 78, 82, 82, 82, 82, 81, 81, 81, + 81, 155, 155, 160, 216, 216, 136, 136, 156, 156, + 161, 161, 161, 162, 162, 163, 163, 163, 163, 163, + 158, 158, 157, 157, 159, 124, 124, 214, 214, 214, + 213, 213, 213, 213, 86, 86, 89, 89, 90, 90, + 90, 90, 93, 138, 138, 110, 110, 111, 111, 111, + 111, 111, 122, 122, 172, 172, 171, 171, 174, 174, + 91, 91, 91, 91, 96, 96, 97, 97, 98, 98, + 204, 204, 221, 221, 221, 102, 102, 102, 104, 103, + 103, 103, 103, 105, 105, 107, 108, 108, 106, 106, + 109, 112, 112, 112, 112, 113, 113, 83, 83, 83, + 83, 83, 83, 83, 189, 189, 115, 115, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 132, 132, + 132, 132, 132, 132, 117, 117, 117, 117, 117, 117, + 117, 77, 77, 133, 133, 133, 95, 94, 94, 80, + 80, 79, 79, 134, 134, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 127, 127, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 125, 125, 125, 125, 125, 125, 125, 125, + 127, 127, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 332, 332, 129, 128, 128, 128, 128, 128, 128, 74, - 74, 74, 74, 74, 220, 220, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 145, - 145, 75, 75, 143, 143, 144, 146, 146, 142, 142, - 142, 119, 119, 119, 119, 119, 119, 119, 119, 121, - 121, 121, 147, 147, 135, 135, 85, 148, 148, 149, - 150, 150, 151, 151, 154, 166, 166, 166, 167, 167, - 167, 167, 123, 123, 168, 168, 168, 118, 118, 118, - 118, 118, 118, 118, 170, 170, 169, 169, 169, 169, - 175, 175, 137, 137, 140, 140, 139, 141, 176, 176, - 180, 180, 177, 177, 181, 181, 181, 181, 184, 184, - 185, 185, 185, 182, 182, 182, 179, 179, 179, 216, - 216, 216, 187, 187, 197, 197, 194, 194, 195, 195, - 188, 188, 233, 233, 201, 201, 200, 200, 200, 198, - 198, 198, 199, 199, 213, 213, 209, 209, 215, 215, - 210, 210, 217, 217, 218, 218, 281, 281, 243, 243, - 291, 291, 244, 244, 292, 292, 294, 294, 289, 289, - 290, 290, 293, 293, 30, 295, 295, 296, 296, 297, - 297, 297, 297, 31, 32, 32, 32, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 337, 337, + 129, 128, 128, 128, 128, 128, 128, 74, 74, 74, + 74, 74, 222, 222, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 224, 224, 224, 145, 145, 75, + 75, 143, 143, 144, 146, 146, 142, 142, 142, 119, + 119, 119, 119, 119, 119, 119, 119, 121, 121, 121, + 147, 147, 135, 135, 85, 148, 148, 149, 150, 150, + 151, 151, 154, 166, 166, 166, 167, 167, 167, 167, + 123, 123, 168, 168, 168, 118, 118, 118, 118, 118, + 118, 118, 170, 170, 169, 169, 169, 169, 175, 175, + 137, 137, 140, 140, 139, 141, 176, 176, 180, 180, + 177, 177, 181, 181, 181, 181, 184, 184, 185, 185, + 185, 182, 182, 182, 179, 179, 179, 218, 218, 218, + 187, 187, 197, 197, 194, 194, 195, 195, 188, 188, + 235, 235, 203, 203, 202, 202, 202, 198, 198, 198, + 199, 199, 215, 215, 211, 211, 217, 217, 212, 212, + 219, 219, 220, 220, 286, 286, 245, 245, 296, 296, + 246, 246, 297, 297, 299, 299, 294, 294, 295, 295, + 298, 298, 30, 300, 300, 301, 301, 302, 302, 302, + 302, 31, 32, 32, 32, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 329, 330, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 334, + 335, } var yyR2 = [...]int{ @@ -5055,107 +5150,110 @@ var yyR2 = [...]int{ 2, 0, 2, 1, 2, 2, 2, 2, 2, 0, 1, 1, 2, 3, 3, 5, 3, 3, 4, 5, 4, 4, 2, 2, 2, 2, 2, 0, 2, 2, - 9, 9, 5, 7, 2, 7, 7, 7, 8, 4, - 6, 2, 3, 2, 3, 3, 3, 4, 3, 3, - 2, 2, 3, 2, 2, 2, 2, 2, 3, 2, - 2, 2, 3, 3, 2, 3, 3, 2, 2, 2, - 2, 2, 1, 3, 0, 3, 1, 3, 0, 1, - 1, 1, 1, 3, 1, 3, 3, 0, 2, 5, - 5, 5, 7, 5, 0, 3, 0, 3, 4, 0, - 1, 1, 3, 2, 3, 3, 3, 0, 1, 1, - 2, 2, 2, 2, 1, 2, 2, 3, 3, 3, - 3, 4, 0, 3, 1, 1, 1, 3, 2, 1, - 1, 3, 3, 2, 1, 1, 3, 1, 2, 5, - 4, 6, 4, 3, 3, 6, 5, 5, 4, 3, - 5, 1, 3, 1, 1, 1, 1, 1, 0, 2, - 2, 1, 1, 1, 1, 1, 4, 5, 8, 1, - 2, 5, 7, 10, 8, 11, 1, 2, 5, 5, - 5, 5, 6, 3, 5, 1, 1, 1, 1, 3, - 1, 1, 1, 2, 1, 1, 2, 4, 2, 4, - 2, 3, 1, 3, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, - 3, 2, 4, 3, 0, 2, 3, 1, 3, 1, + 9, 9, 5, 7, 7, 7, 7, 8, 4, 6, + 2, 3, 2, 3, 3, 3, 4, 3, 3, 2, + 2, 3, 2, 2, 2, 2, 2, 3, 2, 2, + 2, 3, 3, 2, 3, 3, 2, 2, 2, 2, + 2, 1, 3, 0, 3, 1, 3, 0, 1, 1, + 1, 1, 3, 1, 3, 3, 0, 2, 5, 5, + 5, 7, 5, 0, 3, 0, 3, 4, 0, 1, + 1, 3, 2, 3, 3, 3, 0, 1, 1, 2, + 2, 2, 2, 1, 2, 2, 3, 3, 3, 3, + 4, 0, 3, 1, 1, 1, 3, 2, 1, 1, + 3, 3, 2, 1, 1, 3, 1, 2, 5, 4, + 6, 4, 3, 3, 6, 5, 5, 4, 3, 5, + 1, 3, 1, 1, 1, 1, 1, 0, 2, 2, + 1, 1, 1, 1, 1, 4, 5, 8, 1, 2, + 5, 7, 10, 8, 11, 1, 2, 5, 5, 5, + 5, 6, 3, 5, 1, 1, 1, 1, 3, 1, + 1, 1, 2, 1, 1, 2, 4, 2, 4, 2, + 3, 1, 3, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 4, 3, + 2, 4, 3, 0, 2, 3, 1, 3, 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, 5, - 4, 1, 1, 2, 3, 4, 3, 3, 3, 3, - 3, 3, 0, 2, 3, 2, 2, 2, 2, 2, - 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 3, 2, - 2, 2, 2, 2, 1, 2, 2, 2, 1, 4, - 4, 3, 3, 2, 4, 5, 2, 3, 4, 2, - 2, 3, 3, 3, 3, 3, 4, 1, 1, 1, - 1, 1, 6, 6, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 0, 3, 0, 5, 0, 3, - 5, 0, 1, 0, 1, 2, 3, 1, 0, 3, - 3, 0, 2, 2, 2, 1, 2, 1, 2, 5, - 4, 0, 1, 1, 2, 2, 3, 2, 0, 1, - 2, 4, 3, 5, 3, 2, 2, 1, 1, 1, - 1, 1, 0, 1, 0, 1, 1, 3, 3, 3, - 3, 3, 1, 10, 11, 11, 12, 12, 3, 3, - 2, 1, 5, 1, 1, 0, 2, 2, 3, 3, - 1, 1, 2, 2, 2, 0, 1, 2, 0, 1, - 3, 1, 2, 3, 1, 1, 1, 0, 2, 0, - 2, 1, 5, 1, 3, 5, 4, 3, 5, 3, - 8, 10, 3, 3, 3, 3, 3, 5, 4, 5, - 1, 2, 2, 4, 3, 6, 5, 3, 8, 0, - 1, 2, 0, 1, 7, 1, 3, 8, 8, 3, - 3, 3, 5, 3, 5, 5, 5, 4, 4, 4, - 4, 4, 4, 4, 0, 1, 1, 3, 2, 3, - 3, 4, 3, 5, 5, 4, 4, 4, 2, 2, - 2, 6, 2, 4, 4, 4, 5, 7, 6, 3, - 5, 4, 2, 4, 3, 2, 4, 5, 6, 2, - 6, 6, 3, 3, 3, 0, 1, 1, 1, 0, - 2, 2, 0, 2, 2, 0, 1, 1, 2, 1, - 1, 1, 2, 4, 4, 1, 1, 2, 3, 4, - 4, 5, 3, 1, 1, 3, 3, 1, 1, 1, - 1, 0, 3, 1, 1, 2, 0, 2, 0, 2, - 1, 2, 2, 0, 1, 0, 1, 1, 0, 1, - 1, 0, 1, 3, 5, 1, 1, 3, 5, 1, - 2, 3, 5, 2, 2, 6, 0, 1, 0, 3, - 0, 1, 0, 2, 2, 4, 1, 2, 2, 2, - 2, 2, 0, 2, 1, 3, 3, 1, 3, 0, - 1, 2, 1, 1, 1, 1, 1, 3, 1, 1, - 1, 4, 1, 3, 2, 2, 4, 2, 6, 1, - 4, 6, 3, 2, 0, 3, 0, 3, 1, 3, - 1, 3, 4, 4, 4, 3, 2, 4, 0, 1, - 0, 2, 0, 1, 1, 1, 1, 1, 2, 2, - 1, 2, 3, 2, 3, 2, 2, 3, 2, 1, - 1, 3, 3, 0, 5, 5, 5, 0, 2, 1, - 3, 3, 2, 3, 1, 2, 0, 3, 1, 1, - 3, 3, 4, 4, 5, 3, 4, 5, 6, 2, - 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 0, 2, 1, 1, 1, 3, 1, - 3, 0, 1, 1, 3, 1, 3, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 2, 2, 2, 3, 1, 1, 1, 1, - 1, 1, 5, 6, 6, 6, 5, 5, 5, 6, - 5, 5, 6, 5, 5, 5, 5, 6, 5, 5, - 5, 4, 4, 5, 5, 5, 5, 5, 4, 4, - 4, 4, 4, 4, 4, 3, 6, 6, 6, 8, - 8, 8, 8, 4, 6, 7, 7, 7, 9, 4, - 7, 5, 4, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 8, 8, - 0, 2, 3, 4, 4, 4, 4, 4, 4, 0, - 3, 4, 7, 3, 1, 1, 2, 3, 3, 1, - 2, 2, 1, 2, 1, 2, 2, 1, 2, 0, - 1, 0, 2, 1, 2, 4, 0, 2, 1, 3, - 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 0, 3, 1, 3, 1, 0, 2, 1, - 0, 3, 1, 3, 2, 0, 1, 1, 0, 2, - 4, 4, 1, 1, 0, 2, 4, 2, 4, 1, - 3, 5, 4, 6, 0, 3, 1, 3, 3, 5, - 0, 5, 1, 3, 1, 2, 3, 1, 1, 3, - 3, 3, 1, 3, 1, 2, 2, 3, 1, 1, - 1, 1, 1, 3, 3, 3, 1, 2, 1, 1, - 1, 1, 1, 1, 0, 1, 0, 2, 0, 3, - 0, 1, 0, 3, 1, 1, 0, 1, 1, 1, - 1, 1, 0, 1, 0, 2, 1, 1, 1, 3, - 1, 1, 1, 1, 1, 1, 0, 2, 0, 1, - 0, 4, 0, 1, 0, 3, 0, 3, 0, 4, - 0, 3, 0, 3, 3, 1, 3, 2, 4, 1, - 2, 1, 2, 2, 2, 3, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, + 1, 1, 2, 3, 4, 3, 3, 3, 3, 3, + 3, 0, 2, 3, 2, 2, 2, 2, 2, 3, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 3, 2, 2, + 2, 2, 2, 1, 2, 2, 2, 1, 4, 4, + 3, 3, 2, 4, 5, 2, 3, 4, 2, 2, + 3, 3, 3, 3, 3, 4, 1, 1, 1, 1, + 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 0, 3, 0, 5, 0, 3, 5, + 0, 1, 0, 1, 2, 3, 1, 0, 3, 3, + 0, 2, 2, 2, 1, 2, 1, 2, 3, 1, + 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, + 2, 1, 1, 1, 1, 0, 1, 5, 4, 0, + 1, 1, 2, 2, 3, 2, 0, 1, 2, 4, + 3, 5, 3, 2, 2, 1, 1, 1, 1, 1, + 0, 1, 0, 1, 1, 3, 3, 3, 3, 3, + 1, 10, 11, 11, 12, 12, 3, 3, 2, 1, + 5, 1, 1, 0, 2, 2, 3, 3, 1, 1, + 2, 2, 2, 0, 1, 2, 0, 1, 3, 1, + 2, 3, 1, 1, 1, 0, 2, 0, 2, 1, + 5, 1, 3, 5, 4, 3, 5, 3, 8, 10, + 3, 3, 3, 3, 3, 5, 4, 5, 1, 2, + 2, 4, 3, 6, 5, 3, 8, 0, 1, 2, + 0, 1, 7, 1, 3, 8, 8, 3, 3, 3, + 5, 3, 5, 5, 5, 4, 4, 4, 4, 4, + 4, 4, 0, 1, 1, 3, 2, 3, 3, 4, + 3, 5, 5, 4, 4, 4, 2, 2, 2, 6, + 2, 4, 4, 4, 5, 7, 6, 3, 5, 4, + 2, 4, 3, 2, 4, 5, 6, 2, 6, 6, + 3, 3, 3, 0, 1, 1, 1, 0, 2, 2, + 0, 2, 2, 0, 1, 1, 2, 1, 1, 1, + 2, 4, 4, 1, 1, 2, 3, 4, 4, 5, + 3, 1, 1, 3, 3, 1, 1, 1, 1, 0, + 3, 1, 1, 2, 0, 2, 0, 2, 1, 2, + 2, 0, 1, 0, 1, 1, 0, 1, 1, 0, + 1, 3, 5, 1, 1, 3, 5, 1, 2, 3, + 5, 2, 2, 6, 0, 1, 0, 3, 0, 1, + 0, 2, 2, 4, 1, 2, 2, 2, 2, 2, + 0, 2, 1, 3, 3, 1, 3, 0, 1, 2, + 1, 1, 1, 1, 1, 3, 1, 1, 1, 4, + 1, 3, 2, 2, 4, 2, 6, 1, 4, 6, + 3, 2, 0, 3, 0, 3, 1, 3, 1, 3, + 4, 4, 4, 3, 2, 4, 0, 1, 0, 2, + 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, + 3, 2, 3, 2, 2, 3, 2, 1, 1, 3, + 3, 0, 5, 5, 5, 0, 2, 1, 3, 3, + 2, 3, 1, 2, 0, 3, 1, 1, 3, 3, + 4, 4, 5, 3, 4, 5, 6, 2, 1, 2, + 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 0, 2, 1, 1, 1, 3, 1, 3, 0, + 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, + 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, + 2, 2, 2, 3, 1, 1, 1, 1, 1, 1, + 5, 6, 6, 6, 5, 5, 5, 6, 5, 5, + 6, 5, 5, 5, 5, 6, 5, 5, 5, 4, + 4, 5, 5, 5, 5, 5, 4, 4, 4, 4, + 4, 4, 4, 3, 6, 6, 6, 8, 8, 8, + 8, 4, 6, 7, 7, 7, 9, 4, 7, 5, + 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 8, 8, 0, 2, + 3, 4, 4, 4, 4, 4, 4, 0, 3, 4, + 7, 3, 1, 1, 2, 3, 3, 1, 2, 2, + 1, 2, 1, 2, 2, 1, 2, 0, 1, 0, + 2, 1, 2, 4, 0, 2, 1, 3, 5, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 0, 3, 1, 3, 1, 0, 2, 1, 0, 3, + 1, 3, 2, 0, 1, 1, 0, 2, 4, 4, + 1, 1, 0, 2, 4, 2, 4, 1, 3, 5, + 4, 6, 0, 3, 1, 3, 3, 5, 0, 5, + 1, 3, 1, 2, 3, 1, 1, 3, 3, 3, + 1, 3, 1, 2, 2, 3, 1, 1, 1, 1, + 1, 3, 3, 3, 1, 2, 1, 1, 1, 1, + 1, 1, 0, 1, 0, 2, 0, 3, 0, 1, + 0, 3, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 0, 2, 1, 1, 1, 3, 1, 1, + 1, 1, 1, 1, 0, 2, 0, 1, 0, 4, + 0, 1, 0, 3, 0, 3, 0, 4, 0, 3, + 0, 3, 3, 1, 3, 2, 4, 1, 2, 1, + 2, 2, 2, 3, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -5198,563 +5296,571 @@ 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, } var yyChk = [...]int{ - -1000, -328, -1, -3, -8, -9, -10, -11, -12, -14, + -1000, -333, -1, -3, -8, -9, -10, -11, -12, -14, -50, -15, -16, -17, -56, -57, -58, -62, -63, -64, -60, -59, -23, -26, -18, -66, -27, -28, -29, -30, -31, -32, -33, -34, -35, -4, 6, 7, -70, 9, 10, 30, -52, 138, -51, 141, 140, 176, 142, 169, - 64, 282, -65, 285, 286, -333, -204, 221, 222, 20, - 37, 287, 289, 31, 32, 190, 238, 240, 265, -5, - -88, -6, 8, 380, 139, 283, 171, 170, 26, 429, - -329, 68, 490, -150, 15, -67, -334, -67, -67, -67, - -67, -67, -259, -202, 106, 68, 23, -199, 150, 87, - 371, 146, -205, 234, 236, -197, -198, 198, 208, 44, - 157, 156, 147, 234, 147, 148, 150, 371, 146, 183, - 182, 234, 236, 147, -106, -217, 72, -207, 160, 440, - 259, 426, 246, 195, 282, 296, 298, 290, 325, 313, - 427, 441, 161, 216, 145, 311, 314, 358, 159, 249, - 209, 272, 442, 347, 353, 219, 285, 367, 443, 162, - 213, 215, 214, 203, 220, 36, 172, 309, 255, 302, - 224, 198, 444, 434, 300, 28, 193, 445, 355, 330, - 258, 446, 431, 253, 354, 305, 301, 265, 163, 157, - 447, 331, 335, 448, 359, 239, 449, 450, 451, 149, - 245, 294, 295, 452, 199, 361, 250, 329, 33, 158, - 428, 48, 180, 362, 38, 333, 37, 339, 453, 328, - 323, 340, 454, 455, 456, 457, 263, 261, 262, 264, - 327, 293, 322, 211, 53, 144, 337, 336, 338, 212, - 357, 318, 316, 458, 459, 254, 164, 460, 461, 303, - 18, 462, 463, 365, 175, 256, 257, 42, 464, 465, - 466, 110, 467, 468, 469, 356, 332, 334, 197, 114, - 306, 154, 470, 260, 269, 430, 243, 111, 363, 299, - 472, 289, 179, 174, 366, 278, 473, 222, 474, 475, - 476, 166, 477, 237, 236, 286, 270, 112, 287, 349, - 217, 478, 479, 480, 481, 207, 192, 369, 360, 52, - 221, 344, 482, 273, 292, 156, 223, 483, 247, 283, - 43, 7, 210, 251, 350, 271, 218, 208, 320, 181, - 484, 485, 307, 308, 326, 291, 321, 284, 184, 176, - 109, 368, 345, 432, 234, 315, 312, 187, 319, 486, - 150, 487, 188, 288, 364, 248, 310, 346, 147, 131, - 314, 358, 138, 348, 349, 355, -253, 356, 182, 185, - -221, 147, -192, 347, 239, 260, 401, 188, 189, 148, - 149, 33, 360, 359, 351, -217, 151, 288, -76, 142, - 177, -106, -47, 72, 223, -47, 30, 72, 72, 36, - 72, 287, 350, 350, 75, 430, 191, 21, -320, -301, - 269, -319, -299, 139, 138, 10, 140, 274, 275, 276, - 148, 8, 31, 471, 165, 277, 278, 6, 169, 279, - 280, 183, 9, 281, -304, 74, 72, -207, 21, -320, - -301, 269, 260, 6, -69, 5, -188, 152, 284, -87, - 439, -92, -219, -217, -208, 74, 397, 398, 399, 400, - 401, 414, 415, 416, 402, 403, 417, 418, 419, 404, - 405, 420, 421, 423, 424, 422, 186, 408, 407, 406, - 409, 410, 51, 412, 411, 413, 81, -3, -167, 17, - 16, -73, 54, 55, -68, -81, 122, -83, -217, -114, - 89, -120, 29, 72, -207, 24, -119, -208, -115, -142, - -141, -95, 131, 132, 133, 120, 121, 128, 90, 134, - -127, -125, -126, -128, -130, -131, 74, 73, 82, 75, - 76, 77, 78, 83, 397, 398, 399, 400, 401, 414, - 415, 416, 402, 403, 417, 418, 419, 404, 405, 420, - 421, 423, 424, 422, 408, 407, 406, 409, 410, 412, - 411, 413, 84, 85, -209, -139, -329, 58, 59, 177, - 146, 381, 382, 383, 384, 385, 425, 167, 389, 92, - 47, 370, 379, 378, 377, 375, 376, 372, 374, 373, - 391, 392, 153, 371, 126, 380, -188, -188, 11, -99, - -100, -106, -109, -217, -177, 284, -184, -181, 359, 360, - -182, -185, -179, -142, 339, 468, 469, 358, 314, 357, - -209, -217, -2, -5, 6, -106, -260, -248, -251, -210, - 162, -271, -209, -206, 159, 72, -207, 252, 143, 168, - 139, 88, 433, 23, 25, 242, 342, 397, 91, 131, - 398, 399, 400, 16, 20, 92, 130, 81, 381, 191, - 401, 138, 62, 396, 372, 374, 370, 371, 348, 29, - 10, 26, 170, 202, 22, 124, 140, 95, 96, 97, - 173, 274, 275, 24, 171, 266, 85, 276, 167, 115, - 19, 65, 11, 185, 238, 13, 395, 113, 14, 235, - 153, 152, 108, 200, 148, 60, 8, 134, 27, 105, - 56, 402, 403, 436, 45, 190, 437, 58, 106, 17, - 375, 376, 31, 425, 404, 178, 438, 405, 126, 205, - 63, 50, 241, 89, 83, 34, 86, 66, 87, 15, - 201, 61, 393, 244, 267, 182, 471, 204, 439, 165, - 107, 277, 141, 380, 268, 240, 59, 146, 6, 390, - 30, 169, 279, 408, 407, 406, 409, 206, 57, 383, - 384, 410, 280, 488, 147, 94, 391, 392, 151, 183, - 84, 5, 44, 32, 9, 281, 64, 67, 377, 378, - 379, 47, 51, 412, 411, 413, 93, 12, 394, 429, - 186, 148, -106, 380, -195, 153, -195, 183, 182, -195, - -195, 147, 98, -53, -106, -303, -298, -304, -194, 153, - -209, -194, -194, -194, -194, -194, -194, -194, -106, 135, - -106, 72, 30, -193, 106, 12, 371, 146, 147, 183, - 150, -255, 11, 108, 186, 186, 186, 187, 186, -191, - 350, 352, 184, 353, 354, 12, -84, 106, 19, -329, - -167, -167, 72, 287, 151, -61, -3, -11, -9, -10, - -3, 98, 30, 30, 74, 51, 30, -42, -41, -43, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 30, -282, 68, -243, 339, 72, -295, -296, - -106, 75, 75, 66, 66, 69, 151, 69, 66, -321, - 270, 68, -321, 236, 270, 271, 208, 234, 150, -321, - -321, 236, -321, -321, -321, -321, -321, 350, -321, -321, - -321, 272, 273, -321, 348, 150, -321, -321, -321, -321, - -321, 71, 66, 69, 260, 66, 11, 66, -67, -7, - -5, -329, 21, 22, 147, 363, 69, -87, -170, -329, - -330, 70, -168, 19, 31, -123, 75, 78, -151, -154, - -83, -217, 50, -71, 21, 22, 80, 11, -212, 88, - 87, 105, -211, 23, 72, -207, -208, 74, 135, -83, - -117, 108, 89, 106, 107, 91, 117, 116, 127, 120, - 121, 122, 123, 124, 125, 126, 118, 119, 130, 98, - 99, 100, 101, 102, 103, 104, -189, -329, -95, -329, - 136, 137, -120, -120, -120, -120, -120, -120, -120, -120, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -3, - -134, -83, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -145, -83, -329, -332, -129, - -329, -332, -129, -332, -129, -332, -329, -332, -129, -332, - -129, -332, -332, -129, -332, -329, -329, -329, -329, -329, - -329, -108, 27, -106, -86, -89, -90, -91, -110, -94, - -329, -106, -95, -106, -99, -331, 69, 11, 67, -331, - 69, 135, 69, -178, -183, 361, 363, 284, -182, -182, - -216, -209, 74, 29, 98, 30, 135, -150, -67, 70, - 69, -251, 162, 159, -223, -227, -229, -228, -230, -225, - -226, 311, 314, 318, 316, 312, 317, 131, 315, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 30, 172, 307, 308, 309, 310, 331, 332, 333, 334, - 335, 336, 337, 338, 290, 313, 427, 291, 292, 293, - 294, 295, 296, 298, 299, 300, 301, 302, 303, 304, - 305, 72, -208, -271, 68, -209, 23, 150, 72, 89, - 72, 72, 72, -307, -306, -298, -301, -195, 72, 69, - 151, 69, 151, 71, -99, 24, 66, -101, -106, 72, - 72, 72, 72, -300, -298, -301, -218, -217, -206, -193, - 74, -83, -195, -195, -106, -106, -106, -106, -193, -193, - -193, -193, -190, 11, 108, 11, -190, -190, -83, -120, - -298, 373, 122, 72, 72, 287, 72, -42, -42, 74, - -42, 69, 98, -42, 70, -134, -281, 489, 69, -297, - 23, 363, 364, 340, -323, 147, 185, 182, -323, -319, - 278, -300, -299, -298, -321, -322, -209, -321, -321, -321, - 350, -321, -321, -321, -321, -321, -321, -321, -321, -304, - -323, 238, 69, -323, -300, -298, -73, -3, -106, 364, - 365, -92, 23, -169, -210, 9, 108, 69, 18, 69, - -166, 25, 26, 135, -121, 51, 75, 78, -196, 49, - -106, -83, -83, -132, 83, 89, 84, 85, -211, 122, - -218, -210, -206, -120, -133, -139, -95, 79, 108, 106, - 107, 91, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -220, 72, 74, - 72, -119, -119, -209, -71, -79, -82, 122, -83, -217, - -79, -79, -71, -330, -330, -82, -79, -79, -79, -82, - -79, -71, -71, -79, -330, -330, -330, -330, -79, -79, - -79, -79, -71, -79, -79, -79, -71, -330, 69, -330, - -3, -79, -79, -79, -330, -83, -83, -142, 74, -79, - -142, 74, -79, -120, 386, 387, 388, -79, -79, -71, - -143, -144, 93, -142, -330, -120, -209, -209, -79, -80, - -79, -79, -79, -173, 110, -106, 30, 69, -102, -104, - -103, -105, 56, 60, 62, 57, 58, 59, 63, -202, - -86, -93, 47, -329, -111, 110, -112, 23, -219, 64, - 152, 65, -173, 67, -86, -106, -86, -109, -217, 122, - -181, -184, 69, 362, 364, 365, -178, -237, 130, 66, - 86, -83, -210, -218, -167, -73, -261, -262, -263, -210, - 74, 75, -248, -249, -250, -251, -264, 162, -270, 154, - 156, 44, -252, 163, 148, 45, -224, -238, 345, -231, - 68, -231, -231, 319, 311, 314, 312, -231, -231, -231, - -231, -231, -236, 314, -236, -236, -236, -236, 312, 68, - 68, -231, -231, -231, -240, 68, -240, 306, -241, 68, - -241, -241, -241, -241, -271, -271, -83, -213, 67, -164, - -106, 24, -48, 195, 168, 68, -302, 69, 29, -308, - 235, -106, -106, -106, -298, -298, -304, -278, 166, 161, - -106, 69, 69, 72, 72, -256, 11, 108, -193, -217, - -217, -106, -122, 23, -193, -77, 173, 67, -332, -330, - 72, -41, -119, 70, -107, 27, 74, -296, -219, 339, - 364, -324, 122, -209, -324, -327, 429, 151, 70, 69, - -321, -324, 256, 238, -324, 11, -71, -330, -55, -54, - 143, 140, 141, 144, 145, -274, 342, 139, 179, -94, - -329, -330, 69, 135, 52, -123, -123, -154, -187, 19, - 11, 47, 47, -72, 57, 83, 84, 85, 135, -329, - -133, -120, -120, -120, -77, 88, -330, -79, 69, -330, - 135, -330, -330, -79, -155, 393, -155, -330, -330, -330, - -330, -330, -330, -79, -79, -330, -155, -155, -155, -155, - -330, -330, -330, -330, -79, -330, -330, -330, -80, -83, - -330, -330, -330, -330, 69, 67, 23, 11, 11, -330, - 11, 11, -330, -330, 11, -120, -120, -120, -330, -330, - -79, -146, -144, 95, -83, -330, -330, 69, 69, -330, - -330, -330, -330, -118, 30, 47, -329, -3, -329, -176, - -180, -142, -206, -89, -90, -90, -89, -90, 56, 56, - 56, 61, 56, 61, 56, -103, -219, -330, -330, -138, - 194, -329, 34, -219, -112, 148, 148, 148, -113, 12, - -86, -113, -113, 135, -183, -186, 366, 363, 369, 72, - 74, 135, -168, 69, -263, 98, -251, 68, 72, -257, - -208, 45, -252, 148, 45, -252, -257, 72, -257, 45, - 83, 89, -234, -235, -242, -245, -232, 29, 66, 342, - 154, 45, 44, 81, -239, 346, 75, -236, -236, -231, - -231, -231, 319, -231, -236, -237, 30, -237, -237, -237, - -237, -236, -246, 74, -246, 75, -240, 75, 70, 66, - -209, -3, 23, -49, 8, 9, 10, -283, -284, -285, - 72, 108, 200, 201, -311, 268, -306, 236, 245, 88, - 16, 429, 151, 151, -106, -298, -113, 72, 72, -190, - -193, 34, -120, -301, 188, 189, -173, 147, -297, 151, - 135, 135, 151, 259, -300, -209, 11, 11, 256, 11, - -300, -196, 69, -203, -252, -280, -250, -251, -279, 155, - 162, 163, -203, 162, 159, -252, 163, 154, 155, -200, - -252, 151, 23, -203, -203, -258, 98, -203, 110, -210, - -210, 53, -106, -78, -165, 122, -210, -80, -77, 88, - -120, -330, -82, -156, -155, 122, -218, -156, -156, -330, - -209, -160, -329, -155, -156, -156, -155, -155, -155, -330, - -330, -155, -156, -156, -156, -156, -330, -156, -156, -156, - -330, -222, 131, 311, 172, 309, 302, 329, 316, 344, - 307, 345, -220, -222, -120, -120, -120, -120, -120, 11, - 11, 11, 426, -150, 97, -83, 94, -120, -120, -175, - 66, -176, -137, -140, -139, -329, -3, -330, -169, 6, - 429, -174, -209, -113, 69, 98, 98, -97, -96, 66, - 67, -98, 66, -96, 56, 56, -172, 68, 69, -139, - -329, -174, -120, -112, -329, -329, -329, -150, -83, -113, - 363, 367, 368, -262, -263, -266, -265, -209, -208, 154, - -270, 44, -270, -257, -257, 68, 83, -120, 9, 45, - 45, 74, 70, -237, -237, -236, -231, -237, 72, 131, - -237, 70, 69, 70, 69, 70, 69, -116, 445, 89, - -106, -164, -164, 66, 70, 69, -223, 72, 72, 72, - -314, 429, 241, -312, -310, 247, 248, 249, 250, 251, - -301, 246, -308, 243, 74, 72, -106, -298, -193, -120, - -236, -106, -300, 122, 122, -209, -300, 256, -326, 429, - -300, -300, 11, -300, -72, -54, 68, -247, 72, -208, - -257, -198, 154, 72, 72, 72, -208, 72, -208, -209, - 45, 45, 72, -106, -209, -247, 72, -83, -209, -209, - 135, -113, 11, 69, -81, -330, -120, -156, 135, -156, - -214, 72, -156, -156, -156, -330, -231, -231, -231, -241, - -231, 295, -231, 295, -330, -330, 19, 19, 19, 19, - -330, -120, -120, -120, -329, -75, 390, -83, 69, 69, - 28, -175, 69, -330, -330, 47, -330, -330, 69, -150, - -180, -83, -83, -83, 68, -83, -171, -209, 194, -330, - -112, -202, -171, -171, -171, -167, 70, 69, -231, -231, - 45, -254, -252, -171, -126, -237, -236, 74, -236, 75, - 75, 445, 68, -3, -106, -286, -287, -288, 81, 428, - 89, 202, 203, 164, 204, 205, 206, -285, -223, -223, - -223, -317, -318, -316, 244, 266, 267, 252, -315, -313, - 261, 262, 263, 264, 88, 74, 74, 74, -309, 235, - 88, 244, 16, 23, -289, -191, -326, -326, 238, -300, - -78, -247, -152, 167, 168, -223, -223, -213, -254, 45, - 72, -201, 151, 23, 151, -152, -247, 30, 140, 27, - -210, -147, 13, -86, -165, -165, 122, -136, 110, -236, - 72, -120, -120, -120, -120, -330, -330, -330, -120, -330, - 74, -120, -120, 45, -140, -137, 47, -3, -329, -209, - -167, -171, 70, 69, -139, -111, -219, -330, -330, -330, - -268, -267, 67, 158, 81, -265, -166, -166, -257, 70, - -237, -237, 70, 70, -266, -164, 19, -164, -288, 74, - 206, 202, 206, 206, 206, 206, 207, -305, 81, 242, - -316, 253, 450, 237, 268, 75, 75, 109, 31, 32, - -313, 75, 75, 75, 75, -310, 16, 429, -308, 243, - 74, 74, -290, 38, -292, 39, -325, 23, -325, 256, - 11, 70, 72, -224, -224, 68, -257, 68, 72, -209, - -152, 29, 29, -329, -148, 14, 16, -113, -81, -150, - 16, -330, -330, -330, -330, -74, 108, 429, -330, -330, - 9, -137, -3, 70, -209, -112, -267, 72, -258, 74, - 165, 70, 193, -20, -3, -9, -10, -11, -12, -14, - -50, -15, -16, -21, -22, -17, -56, -57, -65, -63, - -64, -60, -59, -25, -23, -26, -18, -27, -28, -29, - -33, -34, -24, -35, 92, 153, 224, 282, 36, 36, - 198, 199, 74, 74, 29, 254, 134, 29, 75, 134, - 396, 243, 74, 72, 244, -233, 152, -293, 43, -291, - -244, 42, 16, -298, -86, -266, -213, -266, -120, -272, - -273, 110, -158, 394, -149, -83, -135, -85, -83, -147, - -165, -161, 112, 111, -134, -330, 427, 63, 430, -176, - -330, 75, -106, -269, -268, 194, -164, -83, -83, 72, - -46, -215, 227, 228, 229, -210, -36, -20, 75, 29, - 75, 29, 257, 244, 23, -172, 75, -292, 16, -294, - 40, 41, 74, 429, -113, 70, 68, 70, -330, 69, - -209, -157, -159, -209, 69, -148, -330, -162, 91, -163, - 109, 396, -124, 75, 134, -162, 53, 428, 431, 68, - -153, 196, 197, -37, -38, 93, 94, 225, 226, 230, - -223, 69, 490, 255, 255, 74, 38, 74, 16, 16, - 236, -147, -269, -266, -269, -273, 47, 69, 23, -85, - -158, -163, 114, 115, 194, 114, 115, -119, 53, -171, - -164, 72, 72, 97, 95, -38, -83, -36, 19, 19, - 19, 29, -210, 97, -20, 74, 74, 29, 241, 21, - -301, -148, 70, 180, -159, -160, 88, -209, 429, 70, - -13, -19, -12, -9, -10, -11, 282, 92, -36, 94, - 490, -47, 75, -3, -45, -44, 75, -47, 232, 89, - 233, 72, -120, 258, -158, -269, 181, -163, 430, -276, - -277, 66, -164, -36, 490, -36, 97, 95, -39, -40, - 96, -20, 69, 231, -301, -329, 431, -277, 66, -276, - 66, 10, 9, 490, 97, 490, 153, -36, 97, 95, - -40, -83, -44, -120, 178, -275, 166, 161, 164, 30, - -275, 97, 92, 490, 153, -36, 94, -330, -330, 160, - 29, 83, 97, 490, -36, 153, 97, 490, 153, + 64, 292, -65, 295, 296, -338, -206, 221, 222, 20, + 37, 297, 299, 31, 32, 190, 238, 240, 265, -5, + -88, -6, 8, 390, 139, 293, 171, 170, 26, 439, + -334, 68, 500, -150, 15, -67, -339, -67, -67, -67, + -67, -67, -261, -204, 106, 68, 23, -199, 150, 87, + 381, 146, -207, 234, 236, -197, -198, 198, 208, 44, + 157, 156, 147, 234, 147, 148, 150, 381, 146, 183, + 182, 234, 236, 147, -106, -219, 72, -209, 160, 450, + 259, 436, 246, 195, 292, 306, 308, 300, 335, 323, + 437, 451, 161, 216, 145, 321, 324, 368, 159, 249, + 209, 272, 452, 357, 363, 219, 295, 377, 453, 162, + 213, 215, 214, 203, 220, 36, 172, 319, 255, 312, + 224, 198, 454, 444, 310, 28, 193, 455, 283, 365, + 340, 284, 258, 456, 441, 253, 364, 315, 311, 265, + 163, 157, 285, 457, 341, 345, 458, 369, 239, 286, + 459, 460, 461, 149, 245, 304, 305, 462, 199, 371, + 250, 339, 33, 158, 438, 48, 180, 372, 38, 343, + 37, 349, 463, 282, 338, 333, 350, 464, 465, 466, + 467, 263, 261, 262, 264, 337, 303, 332, 211, 53, + 144, 347, 346, 348, 212, 367, 328, 326, 468, 469, + 254, 164, 470, 471, 313, 18, 472, 473, 375, 175, + 256, 257, 42, 474, 475, 476, 110, 477, 478, 479, + 366, 342, 344, 197, 114, 316, 154, 480, 260, 269, + 440, 243, 111, 373, 309, 482, 288, 299, 179, 174, + 376, 278, 483, 222, 484, 485, 486, 166, 487, 237, + 236, 296, 270, 112, 297, 359, 217, 488, 489, 490, + 491, 207, 192, 379, 370, 52, 221, 354, 492, 273, + 289, 302, 156, 223, 493, 247, 293, 43, 7, 210, + 251, 360, 271, 218, 208, 330, 181, 494, 495, 317, + 318, 336, 301, 331, 294, 184, 176, 109, 378, 355, + 442, 234, 290, 325, 322, 187, 329, 496, 150, 497, + 188, 298, 374, 248, 320, 356, 147, 131, 324, 368, + 138, 358, 359, 365, -255, 366, 182, 185, -223, 147, + -192, 357, 239, 260, 411, 188, 189, 148, 149, 33, + 370, 369, 361, -219, 151, 298, -76, 142, 177, -106, + -47, 72, 223, -47, 30, 72, 72, 36, 72, 297, + 360, 360, 75, 440, 191, 21, -325, -306, 269, -324, + -304, 139, 138, 10, 140, 274, 275, 276, 148, 8, + 31, 481, 165, 277, 278, 6, 169, 279, 280, 183, + 9, 281, -309, 74, 72, -209, 21, -325, -306, 269, + -201, -200, 291, 349, 6, -69, 5, -188, 152, 294, + -87, 449, -92, -221, -219, -210, 74, 407, 408, 409, + 410, 411, 424, 425, 426, 412, 413, 427, 428, 429, + 414, 415, 430, 431, 433, 434, 432, 186, 418, 417, + 416, 419, 420, 51, 422, 421, 423, 81, -3, -167, + 17, 16, -73, 54, 55, -68, -81, 122, -83, -219, + -114, 89, -120, 29, 72, -209, 24, -119, -210, -115, + -142, -141, -95, 131, 132, 133, 120, 121, 128, 90, + 134, -127, -125, -126, -128, -130, -131, 74, 73, 82, + 75, 76, 77, 78, 83, 407, 408, 409, 410, 411, + 424, 425, 426, 412, 413, 427, 428, 429, 414, 415, + 430, 431, 433, 434, 432, 418, 417, 416, 419, 420, + 422, 421, 423, 84, 85, -211, -139, -334, 58, 59, + 177, 146, 391, 392, 393, 394, 395, 435, 167, 399, + 92, 47, 380, 389, 388, 387, 385, 386, 382, 384, + 383, 401, 402, 153, 381, 126, 390, -188, -188, 11, + -99, -100, -106, -109, -219, -177, 294, -184, -181, 369, + 370, -182, -185, -179, -142, 349, 478, 479, 368, 324, + 367, -211, -219, -2, -5, 6, -106, -262, -250, -253, + -212, 162, -276, -211, -208, 159, 72, -209, 252, 143, + 168, 139, 88, 443, 23, 25, 242, 352, 407, 91, + 131, 408, 409, 410, 16, 20, 92, 130, 81, 391, + 191, 411, 138, 62, 406, 382, 384, 380, 381, 358, + 29, 10, 26, 170, 202, 22, 124, 140, 95, 96, + 97, 173, 274, 275, 24, 171, 266, 85, 276, 167, + 115, 19, 65, 11, 185, 238, 13, 405, 113, 14, + 235, 153, 152, 108, 200, 148, 60, 8, 134, 27, + 105, 56, 412, 413, 446, 45, 190, 447, 58, 106, + 17, 385, 386, 31, 435, 414, 178, 448, 415, 126, + 205, 63, 50, 241, 89, 83, 34, 86, 66, 287, + 87, 15, 201, 61, 403, 244, 267, 182, 481, 204, + 449, 165, 107, 277, 141, 390, 268, 240, 59, 146, + 6, 400, 30, 169, 279, 186, 418, 417, 416, 419, + 206, 57, 393, 394, 420, 280, 498, 147, 94, 401, + 402, 151, 183, 84, 5, 44, 32, 9, 281, 64, + 67, 387, 388, 389, 47, 51, 422, 421, 423, 93, + 12, 404, 439, 148, -106, 390, -195, 153, -195, 183, + 182, -195, -195, 147, 98, -53, -106, -308, -303, -309, + -194, 153, -211, -194, -194, -194, -194, -194, -194, -194, + -106, 135, -106, 72, 30, -193, 106, 12, 381, 146, + 147, 183, 150, -257, 11, 108, 186, 186, 186, 187, + 186, -191, 360, 362, 184, 363, 364, 12, -84, 106, + 19, -334, -167, -167, 72, 297, 151, -61, -3, -11, + -9, -10, -3, 98, 30, 30, 74, 51, 30, -42, + -41, -43, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 30, -287, 68, -245, 349, 72, + -300, -301, -106, 75, 75, 66, 66, 69, 151, 69, + 66, -326, 270, 68, -326, 236, 270, 271, 208, 234, + 150, -326, -326, 236, -326, -326, -326, -326, -326, 360, + -326, -326, -326, 272, 273, -326, 358, 150, -326, -326, + -326, -326, -326, 71, 66, 69, 260, 66, 11, 66, + -274, -273, -272, 131, 283, 284, 285, 286, 282, 260, + 287, 289, 186, 290, -67, -7, -5, -334, 21, 22, + 147, 373, 69, -87, -170, -334, -335, 70, -168, 19, + 31, -123, 75, 78, -151, -154, -83, -219, 50, -71, + 21, 22, 80, 11, -214, 88, 87, 105, -213, 23, + 72, -209, -210, 74, 135, -83, -117, 108, 89, 106, + 107, 91, 117, 116, 127, 120, 121, 122, 123, 124, + 125, 126, 118, 119, 130, 98, 99, 100, 101, 102, + 103, 104, -189, -334, -95, -334, 136, 137, -120, -120, + -120, -120, -120, -120, -120, -120, -334, -334, -334, -334, + -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, + -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, + -334, -334, -334, -334, -334, -3, -134, -83, -334, -334, + -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, + -334, -145, -83, -334, -337, -129, -334, -337, -129, -337, + -129, -337, -334, -337, -129, -337, -129, -337, -337, -129, + -337, -334, -334, -334, -334, -334, -334, -108, 27, -106, + -86, -89, -90, -91, -110, -94, -334, -106, -95, -106, + -99, -336, 69, 11, 67, -336, 69, 135, 69, -178, + -183, 371, 373, 294, -182, -182, -218, -211, 74, 29, + 98, 30, 135, -150, -67, 70, 69, -253, 162, 159, + -225, -229, -231, -230, -232, -227, -228, 321, 324, 328, + 326, 322, 327, 131, 325, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 30, 172, 317, 318, + 319, 320, 341, 342, 343, 344, 345, 346, 347, 348, + 300, 323, 437, 301, 302, 303, 304, 305, 306, 308, + 309, 310, 311, 312, 313, 314, 315, 72, -210, -276, + 68, -211, 23, 150, 72, 89, 72, 72, 72, -312, + -311, -303, -306, -195, 72, 69, 151, 69, 151, 71, + -99, 24, 66, -101, -106, 72, 72, 72, 72, -305, + -303, -306, -220, -219, -208, -193, 74, -83, -195, -195, + -106, -106, -106, -106, -193, -193, -193, -193, -190, 11, + 108, 11, -190, -190, -83, -120, -303, 383, 122, 72, + 72, 297, 72, -42, -42, 74, -42, 69, 98, -42, + 70, -134, -286, 499, 69, -302, 23, 373, 374, 350, + -328, 147, 185, 182, -328, -324, 278, -305, -304, -303, + -326, -327, -211, -326, -326, -326, 360, -326, -326, -326, + -326, -326, -326, -326, -326, -309, -328, 238, 69, -328, + -305, -303, -272, 282, 282, 282, 282, 282, -73, -3, + -106, 374, 375, -92, 23, -169, -212, 9, 108, 69, + 18, 69, -166, 25, 26, 135, -121, 51, 75, 78, + -196, 49, -106, -83, -83, -132, 83, 89, 84, 85, + -213, 122, -220, -212, -208, -120, -133, -139, -95, 79, + 108, 106, 107, 91, -120, -120, -120, -120, -120, -120, + -120, -120, -120, -120, -120, -120, -120, -120, -120, -222, + 72, 74, 72, -119, -119, -211, -71, -79, -82, 122, + -83, -219, -79, -79, -71, -335, -335, -82, -79, -79, + -79, -82, -79, -71, -71, -79, -335, -335, -335, -335, + -79, -79, -79, -79, -71, -79, -79, -79, -71, -335, + 69, -335, -3, -79, -79, -79, -335, -83, -83, -142, + 74, -79, -142, 74, -79, -120, 396, 397, 398, -79, + -79, -71, -143, -144, 93, -142, -335, -120, -211, -211, + -79, -80, -79, -79, -79, -173, 110, -106, 30, 69, + -102, -104, -103, -105, 56, 60, 62, 57, 58, 59, + 63, -204, -86, -93, 47, -334, -111, 110, -112, 23, + -221, 64, 152, 65, -173, 67, -86, -106, -86, -109, + -219, 122, -181, -184, 69, 372, 374, 375, -178, -239, + 130, 66, 86, -83, -212, -220, -167, -73, -263, -264, + -265, -212, 74, 75, -250, -251, -252, -253, -266, 162, + -275, 154, 156, 44, -254, 163, 148, 45, -226, -240, + 355, -233, 68, -233, -233, 329, 321, 324, 322, -233, + -233, -233, -233, -233, -238, 324, -238, -238, -238, -238, + 322, 68, 68, -233, -233, -233, -242, 68, -242, 316, + -243, 68, -243, -243, -243, -243, -276, -276, -83, -215, + 67, -164, -106, 24, -48, 195, 168, 68, -307, 69, + 29, -313, 235, -106, -106, -106, -303, -303, -309, -283, + 166, 161, -106, 69, 69, 72, 72, -258, 11, 108, + -193, -219, -219, -106, -122, 23, -193, -77, 173, 67, + -337, -335, 72, -41, -119, 70, -107, 27, 74, -301, + -221, 349, 374, -329, 122, -211, -329, -332, 439, 151, + 70, 69, -326, -329, 256, 238, -329, 11, -71, -335, + -55, -54, 143, 140, 141, 144, 145, -279, 352, 139, + 179, -94, -334, -335, 69, 135, 52, -123, -123, -154, + -187, 19, 11, 47, 47, -72, 57, 83, 84, 85, + 135, -334, -133, -120, -120, -120, -77, 88, -335, -79, + 69, -335, 135, -335, -335, -79, -155, 403, -155, -335, + -335, -335, -335, -335, -335, -79, -79, -335, -155, -155, + -155, -155, -335, -335, -335, -335, -79, -335, -335, -335, + -80, -83, -335, -335, -335, -335, 69, 67, 23, 11, + 11, -335, 11, 11, -335, -335, 11, -120, -120, -120, + -335, -335, -79, -146, -144, 95, -83, -335, -335, 69, + 69, -335, -335, -335, -335, -118, 30, 47, -334, -3, + -334, -176, -180, -142, -208, -89, -90, -90, -89, -90, + 56, 56, 56, 61, 56, 61, 56, -103, -221, -335, + -335, -138, 194, -334, 34, -221, -112, 148, 148, 148, + -113, 12, -86, -113, -113, 135, -183, -186, 376, 373, + 379, 72, 74, 135, -168, 69, -265, 98, -253, 68, + 72, -259, -210, 45, -254, 148, 45, -254, -259, 72, + -259, 45, 83, 89, -236, -237, -244, -247, -234, 29, + 66, 352, 154, 45, 44, 81, -241, 356, 75, -238, + -238, -233, -233, -233, 329, -233, -238, -239, 30, -239, + -239, -239, -239, -238, -248, 74, -248, 75, -242, 75, + 70, 66, -211, -3, 23, -49, 8, 9, 10, -288, + -289, -290, 72, 108, 200, 201, -316, 268, -311, 236, + 245, 88, 16, 439, 151, 151, -106, -303, -113, 72, + 72, -190, -193, 34, -120, -306, 188, 189, -173, 147, + -302, 151, 135, 135, 151, 259, -305, -211, 11, 11, + 256, 11, -305, -196, 69, -205, -254, -285, -252, -253, + -284, 155, 162, 163, -205, 162, 159, -254, 163, 154, + 155, -202, -254, 151, 23, -205, -205, -260, 98, -205, + 110, -212, -212, 53, -106, -78, -165, 122, -212, -80, + -77, 88, -120, -335, -82, -156, -155, 122, -220, -156, + -156, -335, -211, -160, -334, -155, -156, -156, -155, -155, + -155, -335, -335, -155, -156, -156, -156, -156, -335, -156, + -156, -156, -335, -224, 131, 321, 172, 319, 312, 339, + 326, 354, 317, 355, -222, -224, -120, -120, -120, -120, + -120, 11, 11, 11, 436, -150, 97, -83, 94, -120, + -120, -175, 66, -176, -137, -140, -139, -334, -3, -335, + -169, 6, 439, -174, -211, -113, 69, 98, 98, -97, + -96, 66, 67, -98, 66, -96, 56, 56, -172, 68, + 69, -139, -334, -174, -120, -112, -334, -334, -334, -150, + -83, -113, 373, 377, 378, -264, -265, -268, -267, -211, + -210, 154, -275, 44, -275, -259, -259, 68, 83, -120, + 9, 45, 45, 74, 70, -239, -239, -238, -233, -239, + 72, 131, -239, 70, 69, 70, 69, 70, 69, -116, + 455, 89, -106, -164, -164, 66, 70, 69, -225, 72, + 72, 72, -319, 439, 241, -317, -315, 247, 248, 249, + 250, 251, -306, 246, -313, 243, 74, 72, -106, -303, + -193, -120, -238, -106, -305, 122, 122, -211, -305, 256, + -331, 439, -305, -305, 11, -305, -72, -54, 68, -249, + 72, -210, -259, -198, 154, 72, 72, 72, -210, 72, + -210, -211, 45, 45, 72, -106, -211, -249, 72, -83, + -211, -211, 135, -113, 11, 69, -81, -335, -120, -156, + 135, -156, -216, 72, -156, -156, -156, -335, -233, -233, + -233, -243, -233, 305, -233, 305, -335, -335, 19, 19, + 19, 19, -335, -120, -120, -120, -334, -75, 400, -83, + 69, 69, 28, -175, 69, -335, -335, 47, -335, -335, + 69, -150, -180, -83, -83, -83, 68, -83, -171, -211, + 194, -335, -112, -204, -171, -171, -171, -167, 70, 69, + -233, -233, 45, -256, -254, -171, -126, -239, -238, 74, + -238, 75, 75, 455, 68, -3, -106, -291, -292, -293, + 81, 438, 89, 202, 203, 164, 204, 205, 206, -290, + -225, -225, -225, -322, -323, -321, 244, 266, 267, 252, + -320, -318, 261, 262, 263, 264, 88, 74, 74, 74, + -314, 235, 88, 244, 16, 23, -294, -191, -331, -331, + 238, -305, -78, -249, -152, 167, 168, -225, -225, -215, + -256, 45, 72, -203, 151, 23, 151, -152, -249, 30, + 140, 27, -212, -147, 13, -86, -165, -165, 122, -136, + 110, -238, 72, -120, -120, -120, -120, -335, -335, -335, + -120, -335, 74, -120, -120, 45, -140, -137, 47, -3, + -334, -211, -167, -171, 70, 69, -139, -111, -221, -335, + -335, -335, -270, -269, 67, 158, 81, -267, -166, -166, + -259, 70, -239, -239, 70, 70, -268, -164, 19, -164, + -293, 74, 206, 202, 206, 206, 206, 206, 207, -310, + 81, 242, -321, 253, 460, 237, 268, 75, 75, 109, + 31, 32, -318, 75, 75, 75, 75, -315, 16, 439, + -313, 243, 74, 74, -295, 38, -297, 39, -330, 23, + -330, 256, 11, 70, 72, -226, -226, 68, -259, 68, + 72, -211, -152, 29, 29, -334, -148, 14, 16, -113, + -81, -150, 16, -335, -335, -335, -335, -74, 108, 439, + -335, -335, 9, -137, -3, 70, -211, -112, -269, 72, + -260, 74, 165, 70, 193, -20, -3, -9, -10, -11, + -12, -14, -50, -15, -16, -21, -22, -17, -56, -57, + -65, -63, -64, -60, -59, -25, -23, -26, -18, -27, + -28, -29, -33, -34, -24, -35, 92, 153, 224, 292, + 36, 36, 198, 199, 74, 74, 29, 254, 134, 29, + 75, 134, 406, 243, 74, 72, 244, -235, 152, -298, + 43, -296, -246, 42, 16, -303, -86, -268, -215, -268, + -120, -277, -278, 110, -158, 404, -149, -83, -135, -85, + -83, -147, -165, -161, 112, 111, -134, -335, 437, 63, + 440, -176, -335, 75, -106, -271, -270, 194, -164, -83, + -83, 72, -46, -217, 227, 228, 229, -212, -36, -20, + 75, 29, 75, 29, 257, 244, 23, -172, 75, -297, + 16, -299, 40, 41, 74, 439, -113, 70, 68, 70, + -335, 69, -211, -157, -159, -211, 69, -148, -335, -162, + 91, -163, 109, 406, -124, 75, 134, -162, 53, 438, + 441, 68, -153, 196, 197, -37, -38, 93, 94, 225, + 226, 230, -225, 69, 500, 255, 255, 74, 38, 74, + 16, 16, 236, -147, -271, -268, -271, -278, 47, 69, + 23, -85, -158, -163, 114, 115, 194, 114, 115, -119, + 53, -171, -164, 72, 72, 97, 95, -38, -83, -36, + 19, 19, 19, 29, -212, 97, -20, 74, 74, 29, + 241, 21, -306, -148, 70, 180, -159, -160, 88, -211, + 439, 70, -13, -19, -12, -9, -10, -11, 292, 92, + -36, 94, 500, -47, 75, -3, -45, -44, 75, -47, + 232, 89, 233, 72, -120, 258, -158, -271, 181, -163, + 440, -281, -282, 66, -164, -36, 500, -36, 97, 95, + -39, -40, 96, -20, 69, 231, -306, -334, 441, -282, + 66, -281, 66, 10, 9, 500, 97, 500, 153, -36, + 97, 95, -40, -83, -44, -120, 178, -280, 166, 161, + 164, 30, -280, 97, 92, 500, 153, -36, 94, -335, + -335, 160, 29, 83, 97, 500, -36, 153, 97, 500, + 153, } var yyDef = [...]int{ 35, -2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -2, 686, 686, 686, 686, - 686, 686, 782, -2, 551, 0, 0, 0, 0, -2, - 659, 660, 661, 665, 666, 681, 683, 0, 327, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, - 0, 0, 56, 57, 1090, 0, 684, 673, 674, 0, - 0, 1572, 2, 1028, 0, 695, 688, 0, 1090, 1090, - 0, 0, 87, 0, 0, 0, 783, 0, 0, 0, - 1088, 1088, 0, 1088, 1088, 0, 1103, 0, 1085, 1099, - 1100, 1101, 0, 0, 1086, 0, 1086, 1086, 1086, 1086, - 1086, 1086, 1086, 0, 608, 800, 1112, 1113, 1311, 1312, - 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, - 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, - 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, - 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, - 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, - 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, - 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, - 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, - 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, - 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, - 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, - 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, - 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, - 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, - 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, - 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, - 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, - 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, - 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, - 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, - 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, - 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, - 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 0, 0, - 0, 652, 0, 618, 619, 620, 0, 622, 0, 0, - 0, 0, 0, 632, 635, 639, 0, 1028, 1028, 497, - 498, 499, 656, 657, 646, 658, 0, 0, 0, 0, - 0, 685, 306, 308, 0, 328, 0, 331, 334, 1118, - 667, 0, 0, 1143, 1144, 0, 0, 0, 0, 0, - 1457, 182, 245, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 0, 184, 184, 184, 1468, 184, 0, 184, - 184, 184, 184, 184, 244, 234, 235, 236, 0, 0, - 0, 1457, 144, 686, 0, 690, 0, 1091, 662, 45, - 0, 47, 1044, 784, 785, 786, 1541, 1542, 1543, 1544, - 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, - 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, - 1565, 1566, 1567, 1568, 1569, 1570, 1571, 0, 1034, 0, - 0, 698, 696, 697, 687, 0, 709, 739, 0, 809, - 0, 814, 816, -2, -2, 0, 857, 858, 859, 860, - 861, 862, 0, 0, 0, 0, 0, 0, 0, 0, - 886, 887, 888, 889, 890, 891, 1001, 1002, 1003, 1004, - 1005, 1006, 1007, 1008, 1541, 1542, 1543, 1544, 1545, 1546, - 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, - 1557, 1558, 1559, 1560, 1562, 1563, 1564, 1565, 1566, 1568, - 1569, 1570, 818, 819, 998, 1057, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 989, - 0, 960, 960, 960, 960, 960, 960, 960, 960, 960, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 69, 800, 73, 1520, 0, 1062, -2, -2, - 1064, 0, 0, 0, -2, -2, -2, -2, 1329, -2, - 998, 0, 88, 1020, 686, 89, 0, 371, 372, 0, - 1342, 521, 1110, 1111, 1331, 1106, 1107, 1147, 1148, 1149, - 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, - 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, - 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, - 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, - 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, - 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, - 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, - 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, - 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, - 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, - 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, - 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, - 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, - 1310, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1088, 0, 589, 0, 590, 0, 239, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 607, 0, - 609, 610, 652, 612, 0, 0, 1088, 1088, 0, 0, - 0, 0, 523, 524, 652, 652, 652, 652, 649, 0, - 649, 629, 649, 647, 648, 0, 634, 0, 0, 0, - 642, 643, 668, 0, 0, 675, 677, 678, 679, 680, - 676, 0, 0, 0, 310, 0, 0, 330, 312, 0, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 0, 333, 0, 1116, 1119, 672, 1134, 1135, - 0, 1145, 1146, 188, 188, 0, 0, 0, 0, 151, - 184, 0, 153, 184, 184, 184, 0, 184, 184, 160, - 161, 184, 163, 164, 165, 166, 167, 184, 169, 170, - 171, 184, 184, 174, 184, 184, 177, 178, 179, 180, - 181, 243, 188, 0, 0, 188, 0, 0, 695, 42, - 52, 0, 691, 692, 0, 0, 0, 46, 0, 0, - 51, 1573, 37, 0, 0, 1029, 1032, 1033, 1021, 1022, - 1025, 0, 0, 693, 699, 700, 689, 0, 710, 0, - 0, 0, 740, 0, 742, 743, 744, 745, 0, 812, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, - 837, 838, 839, 840, 841, 842, 815, 0, 829, 0, - 0, 0, 878, 879, 880, 881, 882, 883, 884, 0, - 698, 0, 0, 0, 698, 0, 0, 0, 0, 0, - 0, 0, 0, 698, 698, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 698, 0, 0, 0, 698, 0, - 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 698, 0, 990, 0, 943, 952, - 0, 944, 953, 945, 954, 946, 0, 947, 955, 948, - 956, 949, 950, 957, 951, 0, 0, 0, 851, 0, - 0, 71, 0, 799, 0, 746, 748, 749, 750, -2, - 0, 803, 849, -2, 0, 0, 0, 63, 64, 0, - 0, 0, 0, 74, 76, 0, 0, 1520, 1065, 1066, - 471, 1079, 1080, 1081, 0, 1077, 0, 1028, 695, 538, - 0, 373, 0, 0, 382, 461, 391, 392, 393, 454, - 395, 454, 454, 0, 454, 454, 454, 454, 454, 468, - 468, 468, 468, 468, 437, 438, 439, 440, 441, 0, - 0, 414, 454, 454, 454, 418, 444, 445, 446, 447, - 448, 449, 450, 451, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 456, 456, 458, 458, 458, 458, - 458, 0, 0, 520, 0, 1104, 85, 0, 93, 0, - 94, 0, 0, 99, 261, 247, 98, 0, 233, 0, - 0, 0, 0, 238, 604, 1087, 0, 597, 65, 598, - 599, 600, 601, 602, 240, 603, 801, 1114, 1115, 611, - 653, 654, 0, 0, 615, 616, 617, 525, 623, 624, - 625, 631, 652, 0, 0, 0, 764, 652, 633, 843, - 636, 960, 0, 670, 669, 0, 682, 307, 309, 311, - 329, 0, 0, 332, 335, 0, 0, 0, 0, 1137, - 0, 1139, 1141, 0, 0, 189, 190, 191, 0, 183, - 0, 206, 246, 0, 152, 0, 186, 154, 155, 156, - 184, 158, 159, 162, 168, 172, 173, 175, 176, 242, - 0, 0, 0, 0, 149, 0, 698, 0, 0, 663, - 664, 48, 0, 0, 1046, 1035, 0, 0, 0, 0, - 1024, 1026, 1027, 0, 0, 1009, 0, 0, 701, 694, - 39, 810, 811, 813, 830, 0, 832, 834, 741, 711, - 0, 999, -2, 820, 821, 845, 846, 847, 0, 0, - 0, 0, 843, 825, 0, 863, 864, 865, 866, 867, - 868, 869, 870, 871, 872, 873, 874, 877, 974, 975, - 0, 875, 876, 885, 0, 0, 853, 705, 706, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 851, 848, 0, 1056, - 0, 0, 0, 0, 925, 0, 0, 860, 1001, 0, - 860, 1001, 0, 0, 0, 0, 0, 0, 0, 0, - 996, 993, 0, 0, 961, 0, 0, 0, 0, 0, - 852, 0, 0, 0, 0, 798, 0, 0, 0, 0, - 0, 0, 787, 0, 0, 790, 0, 0, 0, 0, - 0, 0, 0, 0, 757, 1444, 759, 0, 803, 0, - 0, 0, 807, 0, 807, 68, 807, 70, 0, 802, - 1063, 0, 0, 0, 79, 80, 75, 1067, 0, 1073, - 1074, 1075, 999, 0, 1034, 698, 370, 539, 541, 544, - 545, 546, 374, 376, 377, 378, 0, -2, 512, 1454, - 1498, -2, 504, 1371, -2, -2, 381, 463, 462, 394, - 0, 468, 468, 454, 454, 454, 454, 423, 468, 426, - 429, 430, 471, 0, 471, 471, 471, 471, 468, 0, - 0, 415, 416, 417, 406, 0, 407, 456, 409, 0, - 410, 411, 412, 413, 518, 519, 0, 0, 0, 0, - 0, 1089, 0, 263, 264, 209, 101, 0, 0, 248, - 0, 369, 0, 591, 0, 593, 237, 595, 605, 606, - 596, 0, 0, 613, 614, 807, 0, 0, 626, 650, - 651, 649, 652, 0, 630, 644, 0, 0, 637, 0, - 671, 313, 314, 336, 71, 0, 1117, 1136, 0, 1140, - 1142, 0, 192, 194, 0, 142, 0, 0, 185, 0, - 157, 0, 0, 0, 0, 0, 693, 53, 552, 553, - -2, 582, 1096, 582, 582, 570, 488, 582, 0, 49, - 0, 1045, 0, 0, 0, 1030, 1031, 1023, 0, 1082, - 1083, 1010, 1011, 86, 702, 831, 833, 835, 0, 851, - 822, 843, 826, 0, 823, 0, 817, 0, 0, 720, - 0, 720, 720, 0, 911, 0, 912, 0, 720, 720, - 0, 0, 0, 0, 0, 0, 918, 919, 920, 921, - 720, 720, 720, 720, 0, 720, 720, 720, 0, 856, - -2, 922, 923, 924, 0, 0, 0, 0, 0, 967, - 0, 0, 968, 933, 0, 0, 0, 0, 0, 939, - 1020, 0, 994, 0, 0, 942, 962, 0, 0, 963, - 964, 965, 966, 1050, 0, 0, 0, 1039, 0, 807, - 1058, 0, 0, 747, 778, 780, 0, 775, 788, 789, - 791, 0, 793, 0, 795, 796, 766, 753, 850, 754, - 0, 0, 0, 803, 763, 0, 0, 0, 1020, 0, - 807, 61, 62, 0, 77, 78, 0, 0, 84, 472, - 473, 0, 208, 0, 542, 0, 375, 0, 505, 0, - 0, 490, 504, 500, 501, 504, 495, 505, 496, 0, - 383, 0, 385, 386, 387, 388, 389, 0, 0, 467, - 0, 475, 477, 0, 390, 464, 0, 471, 471, 468, - 421, 422, 454, 427, 471, 431, 0, 432, 433, 434, - 435, 471, 0, 452, 0, 0, 408, 0, 535, 0, - 1105, 85, 85, 0, 265, 266, 267, 0, 210, 211, - 0, 0, 0, 0, 111, 0, 262, 0, 0, 0, - 0, 0, 0, 0, 66, 241, 621, 526, 527, 652, - 628, 0, 844, 638, 640, 641, 468, 0, 1138, 0, - 0, 0, 0, 0, 204, 187, 0, 0, 0, 0, - 150, 701, 0, 0, 504, 0, 571, 572, 0, 583, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1097, 1098, 0, 0, 0, 489, 0, 0, 1048, - 1047, 1036, 38, 807, 0, 712, 1000, 0, 824, 0, - 827, 720, 854, 896, 721, 707, 0, 897, 898, 720, - 713, 714, 716, 913, 900, 901, 914, 915, 916, 720, - 720, 917, 905, 904, 903, 906, 720, 909, 908, 910, - 892, 0, 454, 454, 979, 454, 458, 982, 454, 984, - 454, 987, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 991, 941, 997, 0, 0, 0, 54, - 0, 1050, 1037, 1052, 1054, 0, 0, 0, 0, -2, - 1309, 0, 770, 1020, 0, 0, 0, 772, 779, 0, - 0, 773, 0, 774, 792, 794, 751, 0, 0, 755, - 0, 0, -2, 762, 0, 0, 0, 1028, 808, 60, - 81, 82, 83, 540, 543, 0, 506, 454, 454, 0, - 510, 502, 511, 492, 494, 0, 384, 465, 0, 474, - 476, 478, 455, 419, 420, 471, 428, 424, 469, 470, - 436, 468, 0, 468, 0, 459, 0, 522, 536, 0, - 0, 91, 0, 0, 217, 0, 213, 0, 0, 0, - 119, 0, 102, 103, 104, 106, 107, 0, 0, 0, - 100, 0, 250, 0, 253, 254, 592, 594, 627, 765, - 1128, 797, 204, 193, 195, 196, 204, 207, 143, 0, - 145, 147, 0, 146, 86, 554, 0, 579, 0, 0, - 1104, 502, 0, -2, 557, 562, 563, 564, 565, 566, - 0, 577, 0, 559, 0, 579, 0, 574, 0, 0, - 0, 1012, 0, 86, 86, 893, 828, 895, 0, 899, - 718, 717, 894, 902, 907, 926, 976, 468, 980, 981, - 983, 985, 986, 988, 928, 927, 0, 0, 0, 0, - 934, 0, 0, 0, 0, 0, 0, 995, 0, 0, - 0, 55, 0, 1055, -2, 0, 0, 72, 0, 1028, - 1059, 1060, 1061, 776, 0, 781, 0, 768, 0, 803, - 760, 0, 0, 0, 0, 59, 480, 0, 1025, 1025, - 491, 504, 503, 0, 466, 425, 471, 453, 471, 0, - 0, 537, 0, 85, 0, 85, 218, 219, 0, 0, - 0, 224, 0, 0, 0, 0, 0, 212, 214, 215, - 216, 137, 120, 121, 0, 0, 0, 0, 112, 113, - 0, 0, 0, 0, 0, 108, 109, 110, 249, 0, - 0, 252, 0, 0, 1130, 1124, 197, 197, 0, 148, - 0, 0, 556, 580, 0, 382, 382, 0, 504, 0, - 573, 0, 1094, 1095, 0, 568, 579, 0, 0, 0, - 1049, 1017, 0, 807, 0, 703, 708, 1020, 0, 977, - 978, 0, 0, 0, 0, 935, 936, 937, 969, 940, - 992, 0, 0, 0, 1053, 1038, 0, 1042, 0, 771, - 58, 0, 767, 0, 756, 758, 803, 804, 805, 806, - 479, 483, 0, 488, 0, 507, 508, 509, 493, 0, - 442, 443, 457, 460, 0, 92, 0, 0, 220, 221, - 222, 223, 225, 226, 0, 0, 0, 97, 0, 0, - 122, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 114, 115, 116, 117, 118, 105, 0, 0, 251, 0, - 256, 257, 1092, 1132, -2, 0, 140, 0, 141, 205, - 0, 555, 581, 379, 380, 0, 1104, 0, 558, 567, - 569, 0, 576, 0, 732, 0, 0, 1012, 86, 722, - 0, 929, 931, 930, 932, 0, 0, 0, 958, 959, - 0, 1041, 0, 777, 769, 761, 484, 485, 0, 487, - 0, 481, 0, 85, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 0, 0, 0, 0, 227, 228, - 229, 230, 138, 139, 123, 124, 0, 126, 127, 0, - 0, 0, 259, 0, 255, 766, 0, 1124, 0, 1126, - 0, 1123, 0, 198, 807, 0, 0, 0, 575, 0, - 585, 0, 43, 0, 1018, 1019, 1013, 1014, 1016, 1017, - 704, 0, 0, 0, 719, 938, 0, 0, 0, 1051, - -2, 486, 0, 90, 482, 268, 96, 0, 0, 1106, - 0, 0, 295, 296, 297, 1108, 0, 337, 0, 128, - 0, 130, 131, 258, 0, 36, 0, 1131, 0, 1129, - 0, 0, 1125, 0, 1012, 481, 0, 481, 584, 0, - 0, 733, 734, 0, 0, 732, 715, 723, 0, 726, - 0, 0, 0, 737, 0, 724, 970, 0, 973, 0, - 85, 0, 0, 0, 279, 0, 0, 0, 0, 0, - 293, 0, 0, 125, 129, 260, 1093, 1133, 0, 0, - 0, 1017, 560, 0, 578, 586, 0, 0, 0, 1015, - 44, 0, 727, 728, 729, 730, 731, 0, 971, 0, - 0, 269, 270, 0, 0, 280, 0, 0, 0, 0, - 0, 0, 1109, 231, 338, 1127, 1121, 199, 200, 201, - 203, 732, 481, 0, 735, 736, 0, 738, 0, 513, - 85, 271, 272, 273, 274, 275, 0, 277, 0, 0, - 0, 289, 290, 291, 0, 298, 300, 301, 302, 0, - 304, 305, 294, 0, 41, 561, 0, 725, 0, 514, - 515, 0, 95, 0, 0, 0, 0, 0, 0, 286, - 0, 292, 0, 303, 202, 0, 972, 516, 0, 517, - 0, 0, 0, 0, 0, 281, 282, 0, 0, 0, - 287, 0, 299, 0, 0, 528, 530, 531, 0, 0, - 529, 276, 278, 0, 284, 0, 0, 587, 588, 532, - 533, 534, 0, 0, 0, 283, 0, 288, 285, + 30, 31, 32, 33, 34, -2, 704, 704, 704, 704, + 704, 704, 800, -2, 569, 0, 0, 0, 0, -2, + 677, 678, 679, 683, 684, 699, 701, 0, 326, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 495, 40, + 0, 0, 56, 57, 1108, 0, 702, 691, 692, 0, + 0, 1599, 2, 1046, 0, 713, 706, 0, 1108, 1108, + 0, 0, 87, 0, 0, 0, 801, 0, 0, 0, + 1106, 1106, 0, 1106, 1106, 0, 1121, 0, 1103, 1117, + 1118, 1119, 0, 0, 1104, 0, 1104, 1104, 1104, 1104, + 1104, 1104, 1104, 0, 626, 818, 1130, 1131, 1330, 1331, + 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, + 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, + 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, + 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, + 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, + 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, + 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, + 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, + 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, + 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, + 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, + 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, + 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, + 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, + 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, + 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, + 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, + 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, + 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, + 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, + 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, + 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, + 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, + 1562, 1563, 1564, 1565, 1566, 1567, 0, 0, 0, 670, + 0, 636, 637, 638, 0, 640, 0, 0, 0, 0, + 0, 650, 653, 657, 0, 1046, 1046, 515, 516, 517, + 674, 675, 664, 676, 0, 0, 0, 0, 0, 703, + 305, 307, 0, 327, 0, 330, 333, 1136, 685, 0, + 0, 1161, 1162, 0, 0, 0, 0, 0, 1481, 181, + 244, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 0, 183, 183, 183, 1493, 183, 0, 183, 183, 183, + 183, 183, 243, 233, 234, 235, 0, 0, 0, 1481, + 0, 496, 493, 494, 704, 0, 708, 0, 1109, 680, + 45, 0, 47, 1062, 802, 803, 804, 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, 0, 1052, + 0, 0, 716, 714, 715, 705, 0, 727, 757, 0, + 827, 0, 832, 834, -2, -2, 0, 875, 876, 877, + 878, 879, 880, 0, 0, 0, 0, 0, 0, 0, + 0, 904, 905, 906, 907, 908, 909, 1019, 1020, 1021, + 1022, 1023, 1024, 1025, 1026, 1568, 1569, 1570, 1571, 1572, + 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, + 1583, 1584, 1585, 1586, 1587, 1589, 1590, 1591, 1592, 1593, + 1595, 1596, 1597, 836, 837, 1016, 1075, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1007, 0, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 67, 69, 818, 73, 1546, 0, 1080, -2, + -2, 1082, 0, 0, 0, -2, -2, -2, -2, 1348, + -2, 1016, 0, 88, 1038, 704, 89, 0, 370, 371, + 0, 1361, 539, 1128, 1129, 1350, 1124, 1125, 1165, 1166, + 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, + 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, + 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, + 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, + 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, + 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, + 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, + 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, + 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, + 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, + 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, + 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, + 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, + 1327, 1328, 1329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1106, 0, 607, 0, 608, 0, 238, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 625, 0, 627, 628, 670, 630, 0, 0, 1106, 1106, + 0, 0, 0, 0, 541, 542, 670, 670, 670, 670, + 667, 0, 667, 647, 667, 665, 666, 0, 652, 0, + 0, 0, 660, 661, 686, 0, 0, 693, 695, 696, + 697, 698, 694, 0, 0, 0, 309, 0, 0, 329, + 311, 0, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 332, 0, 1134, 1137, 690, + 1152, 1153, 0, 1163, 1164, 187, 187, 0, 0, 0, + 0, 150, 183, 0, 152, 183, 183, 183, 0, 183, + 183, 159, 160, 183, 162, 163, 164, 165, 166, 183, + 168, 169, 170, 183, 183, 173, 183, 183, 176, 177, + 178, 179, 180, 242, 187, 0, 0, 187, 0, 0, + 478, 479, 480, 0, 0, 0, 0, 486, 487, 488, + 489, 0, 491, 492, 713, 42, 52, 0, 709, 710, + 0, 0, 0, 46, 0, 0, 51, 1600, 37, 0, + 0, 1047, 1050, 1051, 1039, 1040, 1043, 0, 0, 711, + 717, 718, 707, 0, 728, 0, 0, 0, 758, 0, + 760, 761, 762, 763, 0, 830, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 854, 855, 856, 857, 858, + 859, 860, 833, 0, 847, 0, 0, 0, 896, 897, + 898, 899, 900, 901, 902, 0, 716, 0, 0, 0, + 716, 0, 0, 0, 0, 0, 0, 0, 0, 716, + 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 716, 0, 0, 0, 716, 0, 0, 873, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 716, 0, 1008, 0, 961, 970, 0, 962, 971, 963, + 972, 964, 0, 965, 973, 966, 974, 967, 968, 975, + 969, 0, 0, 0, 869, 0, 0, 71, 0, 817, + 0, 764, 766, 767, 768, -2, 0, 821, 867, -2, + 0, 0, 0, 63, 64, 0, 0, 0, 0, 74, + 76, 0, 0, 1546, 1083, 1084, 470, 1097, 1098, 1099, + 0, 1095, 0, 1046, 713, 556, 0, 372, 0, 0, + 381, 460, 390, 391, 392, 453, 394, 453, 453, 0, + 453, 453, 453, 453, 453, 467, 467, 467, 467, 467, + 436, 437, 438, 439, 440, 0, 0, 413, 453, 453, + 453, 417, 443, 444, 445, 446, 447, 448, 449, 450, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 455, 455, 457, 457, 457, 457, 457, 0, 0, 538, + 0, 1122, 85, 0, 93, 0, 94, 0, 0, 99, + 260, 246, 98, 0, 232, 0, 0, 0, 0, 237, + 622, 1105, 0, 615, 65, 616, 617, 618, 619, 620, + 239, 621, 819, 1132, 1133, 629, 671, 672, 0, 0, + 633, 634, 635, 543, 641, 642, 643, 649, 670, 0, + 0, 0, 782, 670, 651, 861, 654, 978, 0, 688, + 687, 0, 700, 306, 308, 310, 328, 0, 0, 331, + 334, 0, 0, 0, 0, 1155, 0, 1157, 1159, 0, + 0, 188, 189, 190, 0, 182, 0, 205, 245, 0, + 151, 0, 185, 153, 154, 155, 183, 157, 158, 161, + 167, 171, 172, 174, 175, 241, 0, 0, 0, 0, + 148, 0, 481, 482, 483, 484, 485, 490, 716, 0, + 0, 681, 682, 48, 0, 0, 1064, 1053, 0, 0, + 0, 0, 1042, 1044, 1045, 0, 0, 1027, 0, 0, + 719, 712, 39, 828, 829, 831, 848, 0, 850, 852, + 759, 729, 0, 1017, -2, 838, 839, 863, 864, 865, + 0, 0, 0, 0, 861, 843, 0, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 891, 892, 895, + 992, 993, 0, 893, 894, 903, 0, 0, 871, 723, + 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 869, 866, + 0, 1074, 0, 0, 0, 0, 943, 0, 0, 878, + 1019, 0, 878, 1019, 0, 0, 0, 0, 0, 0, + 0, 0, 1014, 1011, 0, 0, 979, 0, 0, 0, + 0, 0, 870, 0, 0, 0, 0, 816, 0, 0, + 0, 0, 0, 0, 805, 0, 0, 808, 0, 0, + 0, 0, 0, 0, 0, 0, 775, 1468, 777, 0, + 821, 0, 0, 0, 825, 0, 825, 68, 825, 70, + 0, 820, 1081, 0, 0, 0, 79, 80, 75, 1085, + 0, 1091, 1092, 1093, 1017, 0, 1052, 716, 369, 557, + 559, 562, 563, 564, 373, 375, 376, 377, 0, -2, + 530, 1478, 1524, -2, 522, 1392, -2, -2, 380, 462, + 461, 393, 0, 467, 467, 453, 453, 453, 453, 422, + 467, 425, 428, 429, 470, 0, 470, 470, 470, 470, + 467, 0, 0, 414, 415, 416, 405, 0, 406, 455, + 408, 0, 409, 410, 411, 412, 536, 537, 0, 0, + 0, 0, 0, 1107, 0, 262, 263, 208, 101, 0, + 0, 247, 0, 368, 0, 609, 0, 611, 236, 613, + 623, 624, 614, 0, 0, 631, 632, 825, 0, 0, + 644, 668, 669, 667, 670, 0, 648, 662, 0, 0, + 655, 0, 689, 312, 313, 335, 71, 0, 1135, 1154, + 0, 1158, 1160, 0, 191, 193, 0, 142, 0, 0, + 184, 0, 156, 0, 0, 0, 0, 0, 711, 53, + 570, 571, -2, 600, 1114, 600, 600, 588, 506, 600, + 0, 49, 0, 1063, 0, 0, 0, 1048, 1049, 1041, + 0, 1100, 1101, 1028, 1029, 86, 720, 849, 851, 853, + 0, 869, 840, 861, 844, 0, 841, 0, 835, 0, + 0, 738, 0, 738, 738, 0, 929, 0, 930, 0, + 738, 738, 0, 0, 0, 0, 0, 0, 936, 937, + 938, 939, 738, 738, 738, 738, 0, 738, 738, 738, + 0, 874, -2, 940, 941, 942, 0, 0, 0, 0, + 0, 985, 0, 0, 986, 951, 0, 0, 0, 0, + 0, 957, 1038, 0, 1012, 0, 0, 960, 980, 0, + 0, 981, 982, 983, 984, 1068, 0, 0, 0, 1057, + 0, 825, 1076, 0, 0, 765, 796, 798, 0, 793, + 806, 807, 809, 0, 811, 0, 813, 814, 784, 771, + 868, 772, 0, 0, 0, 821, 781, 0, 0, 0, + 1038, 0, 825, 61, 62, 0, 77, 78, 0, 0, + 84, 471, 472, 0, 207, 0, 560, 0, 374, 0, + 523, 0, 0, 508, 522, 518, 519, 522, 513, 523, + 514, 0, 382, 0, 384, 385, 386, 387, 388, 0, + 0, 466, 0, 474, 476, 0, 389, 463, 0, 470, + 470, 467, 420, 421, 453, 426, 470, 430, 0, 431, + 432, 433, 434, 470, 0, 451, 0, 0, 407, 0, + 553, 0, 1123, 85, 85, 0, 264, 265, 266, 0, + 209, 210, 0, 0, 0, 0, 111, 0, 261, 0, + 0, 0, 0, 0, 0, 0, 66, 240, 639, 544, + 545, 670, 646, 0, 862, 656, 658, 659, 467, 0, + 1156, 0, 0, 0, 0, 0, 203, 186, 0, 0, + 0, 0, 149, 719, 0, 0, 522, 0, 589, 590, + 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1115, 1116, 0, 0, 0, 507, 0, + 0, 1066, 1065, 1054, 38, 825, 0, 730, 1018, 0, + 842, 0, 845, 738, 872, 914, 739, 725, 0, 915, + 916, 738, 731, 732, 734, 931, 918, 919, 932, 933, + 934, 738, 738, 935, 923, 922, 921, 924, 738, 927, + 926, 928, 910, 0, 453, 453, 997, 453, 457, 1000, + 453, 1002, 453, 1005, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1009, 959, 1015, 0, 0, + 0, 54, 0, 1068, 1055, 1070, 1072, 0, 0, 0, + 0, -2, 1329, 0, 788, 1038, 0, 0, 0, 790, + 797, 0, 0, 791, 0, 792, 810, 812, 769, 0, + 0, 773, 0, 0, -2, 780, 0, 0, 0, 1046, + 826, 60, 81, 82, 83, 558, 561, 0, 524, 453, + 453, 0, 528, 520, 529, 510, 512, 0, 383, 464, + 0, 473, 475, 477, 454, 418, 419, 470, 427, 423, + 468, 469, 435, 467, 0, 467, 0, 458, 0, 540, + 554, 0, 0, 91, 0, 0, 216, 0, 212, 0, + 0, 0, 119, 0, 102, 103, 104, 106, 107, 0, + 0, 0, 100, 0, 249, 0, 252, 253, 610, 612, + 645, 783, 1146, 815, 203, 192, 194, 195, 203, 206, + 143, 0, 144, 146, 0, 145, 86, 572, 0, 597, + 0, 0, 1122, 520, 0, -2, 575, 580, 581, 582, + 583, 584, 0, 595, 0, 577, 0, 597, 0, 592, + 0, 0, 0, 1030, 0, 86, 86, 911, 846, 913, + 0, 917, 736, 735, 912, 920, 925, 944, 994, 467, + 998, 999, 1001, 1003, 1004, 1006, 946, 945, 0, 0, + 0, 0, 952, 0, 0, 0, 0, 0, 0, 1013, + 0, 0, 0, 55, 0, 1073, -2, 0, 0, 72, + 0, 1046, 1077, 1078, 1079, 794, 0, 799, 0, 786, + 0, 821, 778, 0, 0, 0, 0, 59, 498, 0, + 1043, 1043, 509, 522, 521, 0, 465, 424, 470, 452, + 470, 0, 0, 555, 0, 85, 0, 85, 217, 218, + 0, 0, 0, 223, 0, 0, 0, 0, 0, 211, + 213, 214, 215, 137, 120, 121, 0, 0, 0, 0, + 112, 113, 0, 0, 0, 0, 0, 108, 109, 110, + 248, 0, 0, 251, 0, 0, 1148, 1142, 196, 196, + 0, 147, 0, 0, 574, 598, 0, 381, 381, 0, + 522, 0, 591, 0, 1112, 1113, 0, 586, 597, 0, + 0, 0, 1067, 1035, 0, 825, 0, 721, 726, 1038, + 0, 995, 996, 0, 0, 0, 0, 953, 954, 955, + 987, 958, 1010, 0, 0, 0, 1071, 1056, 0, 1060, + 0, 789, 58, 0, 785, 0, 774, 776, 821, 822, + 823, 824, 497, 501, 0, 506, 0, 525, 526, 527, + 511, 0, 441, 442, 456, 459, 0, 92, 0, 0, + 219, 220, 221, 222, 224, 225, 0, 0, 0, 97, + 0, 0, 122, 0, 0, 0, 0, 132, 133, 134, + 135, 136, 114, 115, 116, 117, 118, 105, 0, 0, + 250, 0, 255, 256, 1110, 1150, -2, 0, 140, 0, + 141, 204, 0, 573, 599, 378, 379, 0, 1122, 0, + 576, 585, 587, 0, 594, 0, 750, 0, 0, 1030, + 86, 740, 0, 947, 949, 948, 950, 0, 0, 0, + 976, 977, 0, 1059, 0, 795, 787, 779, 502, 503, + 0, 505, 0, 499, 0, 85, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 0, 0, 0, 0, + 226, 227, 228, 229, 138, 139, 123, 124, 0, 126, + 127, 0, 0, 0, 258, 0, 254, 784, 0, 1142, + 0, 1144, 0, 1141, 0, 197, 825, 0, 0, 0, + 593, 0, 603, 0, 43, 0, 1036, 1037, 1031, 1032, + 1034, 1035, 722, 0, 0, 0, 737, 956, 0, 0, + 0, 1069, -2, 504, 0, 90, 500, 267, 96, 0, + 0, 1124, 0, 0, 294, 295, 296, 1126, 0, 336, + 0, 128, 0, 130, 131, 257, 0, 36, 0, 1149, + 0, 1147, 0, 0, 1143, 0, 1030, 499, 0, 499, + 602, 0, 0, 751, 752, 0, 0, 750, 733, 741, + 0, 744, 0, 0, 0, 755, 0, 742, 988, 0, + 991, 0, 85, 0, 0, 0, 278, 0, 0, 0, + 0, 0, 292, 0, 0, 125, 129, 259, 1111, 1151, + 0, 0, 0, 1035, 578, 0, 596, 604, 0, 0, + 0, 1033, 44, 0, 745, 746, 747, 748, 749, 0, + 989, 0, 0, 268, 269, 0, 0, 279, 0, 0, + 0, 0, 0, 0, 1127, 230, 337, 1145, 1139, 198, + 199, 200, 202, 750, 499, 0, 753, 754, 0, 756, + 0, 531, 85, 270, 271, 272, 273, 274, 0, 276, + 0, 0, 0, 288, 289, 290, 0, 297, 299, 300, + 301, 0, 303, 304, 293, 0, 41, 579, 0, 743, + 0, 532, 533, 0, 95, 0, 0, 0, 0, 0, + 0, 285, 0, 291, 0, 302, 201, 0, 990, 534, + 0, 535, 0, 0, 0, 0, 0, 280, 281, 0, + 0, 0, 286, 0, 298, 0, 0, 546, 548, 549, + 0, 0, 547, 275, 277, 0, 283, 0, 0, 605, + 606, 550, 551, 552, 0, 0, 0, 282, 0, 287, + 284, } var yyTok1 = [...]int{ @@ -5763,7 +5869,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 90, 3, 3, 3, 125, 117, 3, 68, 70, 122, 120, 69, 121, 135, 123, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 490, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 500, 99, 98, 100, 3, 71, 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, @@ -5845,7 +5951,9 @@ var yyTok3 = [...]int{ 57795, 471, 57796, 472, 57797, 473, 57798, 474, 57799, 475, 57800, 476, 57801, 477, 57802, 478, 57803, 479, 57804, 480, 57805, 481, 57806, 482, 57807, 483, 57808, 484, 57809, 485, - 57810, 486, 57811, 487, 57812, 488, 57813, 489, 0, + 57810, 486, 57811, 487, 57812, 488, 57813, 489, 57814, 490, + 57815, 491, 57816, 492, 57817, 493, 57818, 494, 57819, 495, + 57820, 496, 57821, 497, 57822, 498, 57823, 499, 0, } var yyErrorMessages = [...]struct { @@ -6187,38 +6295,38 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:474 +//line sql.y:480 { setParseTree(yylex, yyDollar[1].statement) } case 2: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:478 +//line sql.y:484 { setParseTree(yylex, yyDollar[1].statement) statementSeen(yylex) } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:485 +//line sql.y:491 { yyVAL.statement = yyDollar[1].selStmt } case 35: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:520 +//line sql.y:526 { setParseTree(yylex, nil) } case 36: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:526 +//line sql.y:532 { yyVAL.statement = &Load{Local: yyDollar[3].boolVal, Infile: yyDollar[4].str, Table: yyDollar[5].tableName, Partition: yyDollar[6].partitions, Charset: yyDollar[7].str, Fields: yyDollar[8].Fields, Lines: yyDollar[9].Lines, IgnoreNum: yyDollar[10].sqlVal, Columns: yyDollar[11].columns} } case 37: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:532 +//line sql.y:538 { yyDollar[1].selStmt.SetOrderBy(yyDollar[2].orderBy) yyDollar[1].selStmt.SetLimit(yyDollar[3].limit) @@ -6227,25 +6335,25 @@ yydefault: } case 38: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:539 +//line sql.y:545 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, SelectExprs: SelectExprs{Nextval{Expr: yyDollar[5].expr}}, From: TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}} } case 39: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:545 +//line sql.y:551 { yyVAL.statement = &Stream{Comments: Comments(yyDollar[2].bytes2), SelectExpr: yyDollar[3].selectExpr, Table: yyDollar[5].tableName} } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:552 +//line sql.y:558 { yyVAL.selStmt = yyDollar[1].selStmt } case 41: yyDollar = yyS[yypt-14 : yypt+1] -//line sql.y:556 +//line sql.y:562 { yyVAL.selStmt = &Select{With: yyDollar[1].with, Comments: Comments(yyDollar[3].bytes2), Cache: yyDollar[4].str, Distinct: yyDollar[5].str, Hints: yyDollar[7].str, SelectExprs: yyDollar[8].selectExprs, From: yyDollar[10].tableExprs, Where: NewWhere(WhereStr, yyDollar[11].expr), GroupBy: GroupBy(yyDollar[12].exprs), Having: NewWhere(HavingStr, yyDollar[13].expr), Window: yyDollar[14].window} if yyDollar[6].byt == 1 { @@ -6254,13 +6362,13 @@ yydefault: } case 42: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:563 +//line sql.y:569 { yyVAL.selStmt = &Union{Type: yyDollar[2].str, Left: yyDollar[1].selStmt, Right: yyDollar[3].selStmt} } case 43: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:569 +//line sql.y:575 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[6].str, SelectExprs: yyDollar[7].selectExprs, From: TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}}, Where: NewWhere(WhereStr, yyDollar[8].expr), GroupBy: GroupBy(yyDollar[9].exprs), Having: NewWhere(HavingStr, yyDollar[10].expr), Window: yyDollar[11].window} if yyDollar[5].byt == 1 { @@ -6269,7 +6377,7 @@ yydefault: } case 44: yyDollar = yyS[yypt-13 : yypt+1] -//line sql.y:576 +//line sql.y:582 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[6].str, SelectExprs: yyDollar[7].selectExprs, From: yyDollar[9].tableExprs, Where: NewWhere(WhereStr, yyDollar[10].expr), GroupBy: GroupBy(yyDollar[11].exprs), Having: NewWhere(HavingStr, yyDollar[12].expr), Window: yyDollar[13].window} if yyDollar[5].byt == 1 { @@ -6278,61 +6386,61 @@ yydefault: } case 45: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:585 +//line sql.y:591 { yyVAL.with = &With{Ctes: yyDollar[2].tableExprs, Recursive: false} } case 46: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:589 +//line sql.y:595 { yyVAL.with = &With{Ctes: yyDollar[3].tableExprs, Recursive: true} } case 47: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:595 +//line sql.y:601 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } case 48: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:599 +//line sql.y:605 { yyVAL.tableExprs = append(yyDollar[1].tableExprs, yyDollar[3].tableExpr) } case 49: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:605 +//line sql.y:611 { yyVAL.tableExpr = &CommonTableExpr{&AliasedTableExpr{Expr: yyDollar[4].simpleTableExpr, As: yyDollar[1].tableIdent}, yyDollar[2].columns} } case 50: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:611 +//line sql.y:617 { yyVAL.selStmt = yyDollar[1].selStmt } case 51: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:615 +//line sql.y:621 { yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt} } case 52: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:621 +//line sql.y:627 { yyVAL.selStmt = yyDollar[1].selStmt } case 53: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:625 +//line sql.y:631 { yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt} } case 54: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:631 +//line sql.y:637 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].ins @@ -6346,7 +6454,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:643 +//line sql.y:649 { cols := make(Columns, 0, len(yyDollar[7].assignExprs)) vals := make(ValTuple, 0, len(yyDollar[8].assignExprs)) @@ -6358,113 +6466,113 @@ yydefault: } case 56: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:655 +//line sql.y:661 { yyVAL.str = InsertStr } case 57: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:659 +//line sql.y:665 { yyVAL.str = ReplaceStr } case 58: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:665 +//line sql.y:671 { yyVAL.statement = &Update{Comments: Comments(yyDollar[2].bytes2), Ignore: yyDollar[3].str, TableExprs: yyDollar[4].tableExprs, Exprs: yyDollar[6].assignExprs, Where: NewWhere(WhereStr, yyDollar[7].expr), OrderBy: yyDollar[8].orderBy, Limit: yyDollar[9].limit} } case 59: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:671 +//line sql.y:677 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[4].tableName}}, Partitions: yyDollar[5].partitions, Where: NewWhere(WhereStr, yyDollar[6].expr), OrderBy: yyDollar[7].orderBy, Limit: yyDollar[8].limit} } case 60: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:675 +//line sql.y:681 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[4].tableNames, TableExprs: yyDollar[6].tableExprs, Where: NewWhere(WhereStr, yyDollar[7].expr)} } case 61: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:679 +//line sql.y:685 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} } case 62: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:683 +//line sql.y:689 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} } case 63: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:688 +//line sql.y:694 { } case 64: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:689 +//line sql.y:695 { } case 65: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:693 +//line sql.y:699 { yyVAL.tableNames = TableNames{yyDollar[1].tableName.ToViewName()} } case 66: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:697 +//line sql.y:703 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName.ToViewName()) } case 67: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:703 +//line sql.y:709 { yyVAL.tableNames = TableNames{yyDollar[1].tableName} } case 68: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:707 +//line sql.y:713 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName) } case 69: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:713 +//line sql.y:719 { yyVAL.tableNames = TableNames{yyDollar[1].tableName} } case 70: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:717 +//line sql.y:723 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName) } case 71: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:722 +//line sql.y:728 { yyVAL.partitions = nil } case 72: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:726 +//line sql.y:732 { yyVAL.partitions = yyDollar[3].partitions } case 73: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:732 +//line sql.y:738 { yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Exprs: yyDollar[3].setVarExprs} } case 74: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:736 +//line sql.y:742 { for i := 0; i < len(yyDollar[4].setVarExprs); i++ { yyDollar[4].setVarExprs[i].Scope = SetScope_None @@ -6473,7 +6581,7 @@ yydefault: } case 75: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:743 +//line sql.y:749 { for i := 0; i < len(yyDollar[5].setVarExprs); i++ { yyDollar[5].setVarExprs[i].Scope = yyDollar[3].setScope @@ -6482,73 +6590,73 @@ yydefault: } case 76: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:752 +//line sql.y:758 { yyVAL.setVarExprs = SetVarExprs{yyDollar[1].setVarExpr} } case 77: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:756 +//line sql.y:762 { yyVAL.setVarExprs = append(yyVAL.setVarExprs, yyDollar[3].setVarExpr) } case 78: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:762 +//line sql.y:768 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(yyDollar[3].str))} } case 79: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:766 +//line sql.y:772 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(TxReadWrite))} } case 80: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:770 +//line sql.y:776 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(TxReadOnly))} } case 81: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:776 +//line sql.y:782 { yyVAL.str = IsolationLevelRepeatableRead } case 82: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:780 +//line sql.y:786 { yyVAL.str = IsolationLevelReadCommitted } case 83: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:784 +//line sql.y:790 { yyVAL.str = IsolationLevelReadUncommitted } case 84: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:788 +//line sql.y:794 { yyVAL.str = IsolationLevelSerializable } case 85: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:793 +//line sql.y:799 { yyVAL.int = yyPosition(yylex) } case 86: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:798 +//line sql.y:804 { yyVAL.int = yyOldPosition(yylex) } case 87: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:804 +//line sql.y:810 { yyDollar[1].ddl.TableSpec = yyDollar[2].TableSpec if len(yyDollar[1].ddl.TableSpec.Constraints) > 0 { @@ -6558,39 +6666,39 @@ yydefault: } case 88: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:813 +//line sql.y:819 { yyDollar[1].ddl.OptSelect = &OptSelect{Select: yyDollar[3].selStmt} yyVAL.statement = yyDollar[1].ddl } case 89: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:818 +//line sql.y:824 { yyDollar[1].ddl.OptLike = &OptLike{LikeTable: yyDollar[3].tableName} yyVAL.statement = yyDollar[1].ddl } case 90: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:823 +//line sql.y:829 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[7].tableName, IndexSpec: &IndexSpec{Action: CreateStr, ToName: yyDollar[4].colIdent, Using: yyDollar[5].colIdent, Type: yyDollar[2].str, Columns: yyDollar[9].indexColumns, Options: yyDollar[11].indexOptions}} } case 91: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:827 +//line sql.y:833 { yyVAL.statement = &DDL{Action: CreateStr, View: yyDollar[3].tableName.ToViewName(), ViewExpr: yyDollar[6].selStmt, SubStatementPositionStart: yyDollar[5].int, SubStatementPositionEnd: yyDollar[7].int - 1} } case 92: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:831 +//line sql.y:837 { yyVAL.statement = &DDL{Action: CreateStr, View: yyDollar[5].tableName.ToViewName(), ViewExpr: yyDollar[8].selStmt, SubStatementPositionStart: yyDollar[7].int, SubStatementPositionEnd: yyDollar[9].int - 1, OrReplace: true} } case 93: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:835 +//line sql.y:841 { var ne bool if yyDollar[3].byt != 0 { @@ -6600,7 +6708,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:843 +//line sql.y:849 { var ne bool if yyDollar[3].byt != 0 { @@ -6610,19 +6718,19 @@ yydefault: } case 95: yyDollar = yyS[yypt-15 : yypt+1] -//line sql.y:851 +//line sql.y:857 { yyVAL.statement = &DDL{Action: CreateStr, Table: yyDollar[8].tableName, TriggerSpec: &TriggerSpec{Name: string(yyDollar[4].bytes), Time: yyDollar[5].str, Event: yyDollar[6].str, Order: yyDollar[12].triggerOrder, Body: yyDollar[14].statement}, SubStatementPositionStart: yyDollar[13].int, SubStatementPositionEnd: yyDollar[15].int - 1} } case 96: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:855 +//line sql.y:861 { yyVAL.statement = &DDL{Action: CreateStr, ProcedureSpec: &ProcedureSpec{Name: string(yyDollar[4].bytes), Definer: yyDollar[2].str, Params: yyDollar[6].procedureParams, Characteristics: yyDollar[8].characteristics, Body: yyDollar[10].statement}, SubStatementPositionStart: yyDollar[9].int, SubStatementPositionEnd: yyDollar[11].int - 1} } case 97: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:859 +//line sql.y:865 { var notExists bool if yyDollar[3].byt != 0 { @@ -6643,7 +6751,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:878 +//line sql.y:884 { var notExists bool if yyDollar[3].byt != 0 { @@ -6653,662 +6761,656 @@ yydefault: } case 99: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:887 +//line sql.y:893 { yyVAL.accountNames = nil } case 100: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:891 +//line sql.y:897 { yyVAL.accountNames = yyDollar[3].accountNames } case 101: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:896 +//line sql.y:902 { yyVAL.tlsOptionItems = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:900 +//line sql.y:906 { yyVAL.tlsOptionItems = nil } case 103: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:904 +//line sql.y:910 { yyVAL.tlsOptionItems = yyDollar[2].tlsOptionItems } case 104: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:910 +//line sql.y:916 { yyVAL.tlsOptionItems = []TLSOptionItem{yyDollar[1].tlsOptionItem} } case 105: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:914 +//line sql.y:920 { yyVAL.tlsOptionItems = append(yyDollar[1].tlsOptionItems, yyDollar[3].tlsOptionItem) } case 106: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:920 +//line sql.y:926 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_SSL, ItemData: ""} } case 107: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:924 +//line sql.y:930 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_X509, ItemData: ""} } case 108: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:928 +//line sql.y:934 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Cipher, ItemData: string(yyDollar[2].bytes)} } case 109: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:932 +//line sql.y:938 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Issuer, ItemData: string(yyDollar[2].bytes)} } case 110: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:936 +//line sql.y:942 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Subject, ItemData: string(yyDollar[2].bytes)} } case 111: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:941 +//line sql.y:947 { yyVAL.accountLimitItems = nil } case 112: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:945 +//line sql.y:951 { yyVAL.accountLimitItems = yyDollar[2].accountLimitItems } case 113: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:951 +//line sql.y:957 { yyVAL.accountLimitItems = []AccountLimitItem{yyDollar[1].accountLimitItem} } case 114: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:955 +//line sql.y:961 { yyVAL.accountLimitItems = append(yyDollar[1].accountLimitItems, yyDollar[2].accountLimitItem) } case 115: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:961 +//line sql.y:967 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Queries_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 116: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:965 +//line sql.y:971 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Updates_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 117: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:969 +//line sql.y:975 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Connections_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 118: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:973 +//line sql.y:979 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Connections, Count: NewIntVal(yyDollar[2].bytes)} } case 119: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:978 +//line sql.y:984 { yyVAL.passLockItems = nil } case 120: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:982 +//line sql.y:988 { yyVAL.passLockItems = yyDollar[1].passLockItems } case 121: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:988 +//line sql.y:994 { yyVAL.passLockItems = []PassLockItem{yyDollar[1].passLockItem} } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:992 +//line sql.y:998 { yyVAL.passLockItems = append(yyDollar[1].passLockItems, yyDollar[2].passLockItem) } case 123: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:998 +//line sql.y:1004 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireDefault, Value: nil} } case 124: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1002 +//line sql.y:1008 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireNever, Value: nil} } case 125: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1006 +//line sql.y:1012 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireInterval, Value: NewIntVal(yyDollar[4].bytes)} } case 126: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1010 +//line sql.y:1016 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassHistory, Value: nil} } case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1014 +//line sql.y:1020 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassHistory, Value: NewIntVal(yyDollar[3].bytes)} } case 128: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1018 +//line sql.y:1024 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReuseInterval, Value: nil} } case 129: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1022 +//line sql.y:1028 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReuseInterval, Value: NewIntVal(yyDollar[4].bytes)} } case 130: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1026 +//line sql.y:1032 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReqCurrentDefault, Value: nil} } case 131: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1030 +//line sql.y:1036 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReqCurrentOptional, Value: nil} } case 132: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1034 +//line sql.y:1040 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassFailedLogins, Value: NewIntVal(yyDollar[2].bytes)} } case 133: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1038 +//line sql.y:1044 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassLockTime, Value: NewIntVal(yyDollar[2].bytes)} } case 134: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1042 +//line sql.y:1048 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassLockTime, Value: nil} } case 135: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1046 +//line sql.y:1052 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_AccountLock, Value: nil} } case 136: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1050 +//line sql.y:1056 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_AccountUnlock, Value: nil} } case 137: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1055 +//line sql.y:1061 { yyVAL.str = "" } case 138: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1059 +//line sql.y:1065 { comment := string(yyDollar[2].bytes) yyVAL.str = `{"comment": "` + escapeDoubleQuotes(comment) + `"}` } case 139: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1064 +//line sql.y:1070 { yyVAL.str = string(yyDollar[2].bytes) } case 140: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1070 +//line sql.y:1076 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &GrantPrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, To: yyDollar[7].accountNames, WithGrantOption: yyDollar[8].boolean, As: yyDollar[9].grantAssumption} } case 141: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1075 +//line sql.y:1081 { yyVAL.statement = &GrantPrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, To: yyDollar[7].accountNames, WithGrantOption: yyDollar[8].boolean, As: yyDollar[9].grantAssumption} } case 142: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1079 +//line sql.y:1085 { yyVAL.statement = &GrantRole{Roles: yyDollar[2].accountNames, To: yyDollar[4].accountNames, WithAdminOption: yyDollar[5].boolean} } case 143: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1083 +//line sql.y:1089 { yyVAL.statement = &GrantProxy{On: yyDollar[4].accountName, To: yyDollar[6].accountNames, WithGrantOption: yyDollar[7].boolean} } case 144: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1089 - { - yyVAL.statement = &FlushPrivileges{} - } - case 145: yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:1095 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &RevokePrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } - case 146: + case 145: yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:1100 { yyVAL.statement = &RevokePrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } - case 147: + case 146: yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:1104 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[7].accountNames} } - case 148: + case 147: yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:1108 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[8].accountNames} } - case 149: + case 148: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1112 { yyVAL.statement = &RevokeRole{Roles: yyDollar[2].accountNames, From: yyDollar[4].accountNames} } - case 150: + case 149: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:1116 { yyVAL.statement = &RevokeProxy{On: yyDollar[4].accountName, From: yyDollar[6].accountNames} } - case 151: + case 150: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1122 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Alter, Columns: yyDollar[2].strs} } - case 152: + case 151: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1126 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_AlterRoutine, Columns: yyDollar[3].strs} } - case 153: + case 152: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1130 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Create, Columns: yyDollar[2].strs} } - case 154: + case 153: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1134 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRole, Columns: yyDollar[3].strs} } - case 155: + case 154: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1138 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRoutine, Columns: yyDollar[3].strs} } - case 156: + case 155: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1142 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTablespace, Columns: yyDollar[3].strs} } - case 157: + case 156: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1146 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTemporaryTables, Columns: yyDollar[4].strs} } - case 158: + case 157: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1150 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateUser, Columns: yyDollar[3].strs} } - case 159: + case 158: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1154 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateView, Columns: yyDollar[3].strs} } - case 160: + case 159: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1158 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Delete, Columns: yyDollar[2].strs} } - case 161: + case 160: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1162 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Drop, Columns: yyDollar[2].strs} } - case 162: + case 161: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1166 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_DropRole, Columns: yyDollar[3].strs} } - case 163: + case 162: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1170 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Event, Columns: yyDollar[2].strs} } - case 164: + case 163: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1174 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Execute, Columns: yyDollar[2].strs} } - case 165: + case 164: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1178 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_File, Columns: yyDollar[2].strs} } - case 166: + case 165: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1182 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Index, Columns: yyDollar[2].strs} } - case 167: + case 166: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1186 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Insert, Columns: yyDollar[2].strs} } - case 168: + case 167: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1190 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_LockTables, Columns: yyDollar[3].strs} } - case 169: + case 168: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1194 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Process, Columns: yyDollar[2].strs} } - case 170: + case 169: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1198 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_References, Columns: yyDollar[2].strs} } - case 171: + case 170: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1202 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Reload, Columns: yyDollar[2].strs} } - case 172: + case 171: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1206 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationClient, Columns: yyDollar[3].strs} } - case 173: + case 172: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1210 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationSlave, Columns: yyDollar[3].strs} } - case 174: + case 173: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1214 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Select, Columns: yyDollar[2].strs} } - case 175: + case 174: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1218 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowDatabases, Columns: yyDollar[3].strs} } - case 176: + case 175: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1222 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowView, Columns: yyDollar[3].strs} } - case 177: + case 176: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1226 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Shutdown, Columns: yyDollar[2].strs} } - case 178: + case 177: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1230 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Super, Columns: yyDollar[2].strs} } - case 179: + case 178: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1234 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Trigger, Columns: yyDollar[2].strs} } - case 180: + case 179: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1238 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Update, Columns: yyDollar[2].strs} } - case 181: + case 180: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1242 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Usage, Columns: yyDollar[2].strs} } - case 182: + case 181: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1248 { yyVAL.grantPrivileges = []Privilege{yyDollar[1].grantPrivilege} } - case 183: + case 182: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1252 { yyVAL.grantPrivileges = append(yyDollar[1].grantPrivileges, yyDollar[3].grantPrivilege) } - case 184: + case 183: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1257 { yyVAL.strs = nil } - case 185: + case 184: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1261 { yyVAL.strs = yyDollar[2].strs } - case 186: + case 185: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1267 { yyVAL.strs = []string{yyDollar[1].colIdent.String()} } - case 187: + case 186: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1271 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].colIdent.String()) } - case 188: + case 187: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1276 { yyVAL.grantObjectType = GrantObjectType_Any } - case 189: + case 188: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1280 { yyVAL.grantObjectType = GrantObjectType_Table } - case 190: + case 189: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1284 { yyVAL.grantObjectType = GrantObjectType_Function } - case 191: + case 190: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1288 { yyVAL.grantObjectType = GrantObjectType_Procedure } - case 192: + case 191: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1294 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: "*"} } - case 193: + case 192: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1298 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "*", TableRoutine: "*"} } - case 194: + case 193: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1302 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: yyDollar[1].colIdent.String()} } - case 195: + case 194: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1306 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: "*"} } - case 196: + case 195: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1310 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: yyDollar[3].colIdent.String()} } - case 197: + case 196: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1315 { yyVAL.grantAssumption = nil } - case 198: + case 197: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1319 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } - case 199: + case 198: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1323 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } - case 200: + case 199: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1327 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_None, User: yyDollar[2].accountName, Roles: nil} } - case 201: + case 200: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1331 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_All, User: yyDollar[2].accountName, Roles: nil} } - case 202: + case 201: yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:1335 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_AllExcept, User: yyDollar[2].accountName, Roles: yyDollar[7].accountNames} } - case 203: + case 202: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1339 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Roles, User: yyDollar[2].accountName, Roles: yyDollar[5].accountNames} } - case 204: + case 203: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1344 { yyVAL.boolean = false } - case 205: + case 204: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1348 { yyVAL.boolean = true } - case 206: + case 205: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1353 { yyVAL.boolean = false } - case 207: + case 206: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1357 { yyVAL.boolean = true } - case 208: + case 207: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1364 { @@ -7317,175 +7419,175 @@ yydefault: yyDollar[1].selStmt.SetLock(yyDollar[4].str) yyVAL.selStmt = yyDollar[1].selStmt } - case 209: + case 208: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1372 { yyVAL.procedureParams = nil } - case 210: + case 209: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1376 { yyVAL.procedureParams = yyDollar[1].procedureParams } - case 211: + case 210: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1382 { yyVAL.procedureParams = []ProcedureParam{yyDollar[1].procedureParam} } - case 212: + case 211: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1386 { yyVAL.procedureParams = append(yyVAL.procedureParams, yyDollar[3].procedureParam) } - case 213: + case 212: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1392 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[1].bytes), Type: yyDollar[2].columnType} } - case 214: + case 213: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1396 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 215: + case 214: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1400 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Inout, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 216: + case 215: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1404 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Out, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } - case 217: + case 216: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1409 { yyVAL.characteristics = nil } - case 218: + case 217: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1413 { yyVAL.characteristics = yyDollar[1].characteristics } - case 219: + case 218: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1419 { yyVAL.characteristics = []Characteristic{yyDollar[1].characteristic} } - case 220: + case 219: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1423 { yyVAL.characteristics = append(yyVAL.characteristics, yyDollar[2].characteristic) } - case 221: + case 220: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1429 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Comment, Comment: string(yyDollar[2].bytes)} } - case 222: + case 221: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1433 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_LanguageSql} } - case 223: + case 222: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1437 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NotDeterministic} } - case 224: + case 223: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1441 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Deterministic} } - case 225: + case 224: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1445 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ContainsSql} } - case 226: + case 225: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1449 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NoSql} } - case 227: + case 226: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1453 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ReadsSqlData} } - case 228: + case 227: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1457 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ModifiesSqlData} } - case 229: + case 228: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1461 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityDefiner} } - case 230: + case 229: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1465 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityInvoker} } - case 231: + case 230: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1471 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } - case 232: + case 231: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1476 { yyVAL.str = "" } - case 233: + case 232: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1480 { yyVAL.str = string(yyDollar[3].bytes) } - case 234: + case 233: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1486 { yyVAL.str = string(yyDollar[1].bytes) } - case 235: + case 234: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1490 { yyVAL.str = string(yyDollar[1].bytes) } - case 236: + case 235: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1494 { yyVAL.str = string(yyDollar[1].bytes) } - case 237: + case 236: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1500 { @@ -7495,31 +7597,31 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: yyDollar[3].str, AnyHost: anyHost} } - case 238: + case 237: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1508 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: false} } - case 239: + case 238: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1512 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: true} } - case 240: + case 239: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1518 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } - case 241: + case 240: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1522 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } - case 242: + case 241: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1528 { @@ -7529,7 +7631,7 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: yyDollar[3].str, AnyHost: false} } - case 243: + case 242: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1536 { @@ -7539,7 +7641,7 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: false} } - case 244: + case 243: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1544 { @@ -7549,219 +7651,219 @@ yydefault: } yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: true} } - case 245: + case 244: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1554 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } - case 246: + case 245: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1558 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } - case 247: + case 246: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1564 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName} } - case 248: + case 247: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1568 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication} } - case 249: + case 248: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1572 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, AuthInitial: yyDollar[5].authentication} } - case 250: + case 249: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1576 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication} } - case 251: + case 250: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:1580 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication, Auth3: yyDollar[6].authentication} } - case 252: + case 251: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1586 { yyVAL.authentication = &Authentication{RandomPassword: true} } - case 253: + case 252: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1590 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } - case 254: + case 253: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1594 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes)} } - case 255: + case 254: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:1598 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), RandomPassword: true} } - case 256: + case 255: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1602 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Password: string(yyDollar[5].bytes)} } - case 257: + case 256: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1606 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } - case 258: + case 257: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1612 { yyVAL.authentication = &Authentication{RandomPassword: true} } - case 259: + case 258: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1616 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } - case 260: + case 259: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1620 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } - case 261: + case 260: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1626 { yyVAL.accountsWithAuth = []AccountWithAuth{yyDollar[1].accountWithAuth} } - case 262: + case 261: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1630 { yyVAL.accountsWithAuth = append(yyDollar[1].accountsWithAuth, yyDollar[3].accountWithAuth) } - case 263: + case 262: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1636 { yyVAL.str = BeforeStr } - case 264: + case 263: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1640 { yyVAL.str = AfterStr } - case 265: + case 264: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1646 { yyVAL.str = InsertStr } - case 266: + case 265: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1650 { yyVAL.str = UpdateStr } - case 267: + case 266: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1654 { yyVAL.str = DeleteStr } - case 268: + case 267: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1659 { yyVAL.triggerOrder = nil } - case 269: + case 268: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1663 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: FollowsStr, OtherTriggerName: string(yyDollar[2].bytes)} } - case 270: + case 269: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1667 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: PrecedesStr, OtherTriggerName: string(yyDollar[2].bytes)} } - case 271: + case 270: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1673 { yyVAL.statement = yyDollar[1].statement } - case 276: + case 275: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1683 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } - case 277: + case 276: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1689 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases} } - case 278: + case 277: yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:1693 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases, Else: yyDollar[5].statements} } - case 279: + case 278: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1699 { yyVAL.caseStatementCases = []CaseStatementCase{yyDollar[1].caseStatementCase} } - case 280: + case 279: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1703 { yyVAL.caseStatementCases = append(yyVAL.caseStatementCases, yyDollar[2].caseStatementCase) } - case 281: + case 280: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1709 { yyVAL.caseStatementCase = CaseStatementCase{Case: yyDollar[2].expr, Statements: yyDollar[4].statements} } - case 282: + case 281: yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:1715 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds} } - case 283: + case 282: yyDollar = yyS[yypt-10 : yypt+1] //line sql.y:1720 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds, Else: yyDollar[7].statements} } - case 284: + case 283: yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:1725 { @@ -7769,7 +7871,7 @@ yydefault: conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) yyVAL.statement = &IfStatement{Conditions: conds} } - case 285: + case 284: yyDollar = yyS[yypt-11 : yypt+1] //line sql.y:1731 { @@ -7777,332 +7879,332 @@ yydefault: conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) yyVAL.statement = &IfStatement{Conditions: conds, Else: yyDollar[8].statements} } - case 286: + case 285: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1739 { yyVAL.ifStatementConditions = []IfStatementCondition{yyDollar[1].ifStatementCondition} } - case 287: + case 286: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1743 { yyVAL.ifStatementConditions = append(yyVAL.ifStatementConditions, yyDollar[2].ifStatementCondition) } - case 288: + case 287: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1749 { yyVAL.ifStatementCondition = IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements} } - case 289: + case 288: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1755 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), SqlStateValue: string(yyDollar[5].bytes)}} } - case 290: + case 289: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1759 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), MysqlErrorCode: NewIntVal(yyDollar[5].bytes)}} } - case 291: + case 290: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1763 { yyVAL.statement = &Declare{Cursor: &DeclareCursor{Name: string(yyDollar[2].bytes), SelectStmt: yyDollar[5].selStmt}} } - case 292: + case 291: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:1767 { yyVAL.statement = &Declare{Handler: &DeclareHandler{Action: yyDollar[2].declareHandlerAction, ConditionValues: yyDollar[5].declareHandlerConditions, Statement: yyDollar[6].statement}} } - case 293: + case 292: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1771 { yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } - case 294: + case 293: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1775 { yyDollar[3].columnType.Default = yyDollar[5].expr yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } - case 295: + case 294: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1782 { yyVAL.declareHandlerAction = DeclareHandlerAction_Continue } - case 296: + case 295: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1786 { yyVAL.declareHandlerAction = DeclareHandlerAction_Exit } - case 297: + case 296: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1790 { yyVAL.declareHandlerAction = DeclareHandlerAction_Undo } - case 298: + case 297: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1796 { yyVAL.declareHandlerConditions = []DeclareHandlerCondition{yyDollar[1].declareHandlerCondition} } - case 299: + case 298: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1800 { yyVAL.declareHandlerConditions = append(yyVAL.declareHandlerConditions, yyDollar[3].declareHandlerCondition) } - case 300: + case 299: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1806 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_MysqlErrorCode, MysqlErrorCode: NewIntVal(yyDollar[1].bytes)} } - case 301: + case 300: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1810 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlState, String: string(yyDollar[1].bytes)} } - case 302: + case 301: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1814 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlWarning} } - case 303: + case 302: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1818 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_NotFound} } - case 304: + case 303: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1822 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlException} } - case 305: + case 304: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1826 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_ConditionName, String: string(yyDollar[1].bytes)} } - case 306: + case 305: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1832 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes)} } - case 307: + case 306: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1836 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } - case 308: + case 307: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1840 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes)} } - case 309: + case 308: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1844 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } - case 310: + case 309: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1850 { yyVAL.bytes = yyDollar[2].bytes } - case 311: + case 310: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1854 { yyVAL.bytes = yyDollar[3].bytes } - case 312: + case 311: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1860 { yyVAL.signalInfos = []SignalInfo{yyDollar[1].signalInfo} } - case 313: + case 312: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1864 { yyVAL.signalInfos = append(yyVAL.signalInfos, yyDollar[3].signalInfo) } - case 314: + case 313: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1870 { yyVAL.signalInfo = SignalInfo{ConditionItemName: yyDollar[1].signalConditionItemName, Value: yyDollar[3].expr.(*SQLVal)} } - case 315: + case 314: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1876 { yyVAL.signalConditionItemName = SignalConditionItemName_ClassOrigin } - case 316: + case 315: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1880 { yyVAL.signalConditionItemName = SignalConditionItemName_SubclassOrigin } - case 317: + case 316: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1884 { yyVAL.signalConditionItemName = SignalConditionItemName_MessageText } - case 318: + case 317: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1888 { yyVAL.signalConditionItemName = SignalConditionItemName_MysqlErrno } - case 319: + case 318: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1892 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintCatalog } - case 320: + case 319: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1896 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintSchema } - case 321: + case 320: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1900 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintName } - case 322: + case 321: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1904 { yyVAL.signalConditionItemName = SignalConditionItemName_CatalogName } - case 323: + case 322: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1908 { yyVAL.signalConditionItemName = SignalConditionItemName_SchemaName } - case 324: + case 323: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1912 { yyVAL.signalConditionItemName = SignalConditionItemName_TableName } - case 325: + case 324: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1916 { yyVAL.signalConditionItemName = SignalConditionItemName_ColumnName } - case 326: + case 325: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1920 { yyVAL.signalConditionItemName = SignalConditionItemName_CursorName } - case 327: + case 326: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1926 { yyVAL.statement = &Resignal{} } - case 328: + case 327: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1930 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes)}} } - case 329: + case 328: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1934 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } - case 330: + case 329: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1938 { yyVAL.statement = &Resignal{Signal{Info: yyDollar[3].signalInfos}} } - case 331: + case 330: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1942 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes)}} } - case 332: + case 331: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1946 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } - case 333: + case 332: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1952 { yyVAL.statement = &Call{FuncName: string(yyDollar[2].bytes), Params: yyDollar[3].exprs} } - case 334: + case 333: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1957 { yyVAL.exprs = nil } - case 335: + case 334: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1961 { yyVAL.exprs = nil } - case 336: + case 335: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1965 { yyVAL.exprs = yyDollar[2].exprs } - case 337: + case 336: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1971 { yyVAL.statements = Statements{yyDollar[1].statement} } - case 338: + case 337: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1975 { yyVAL.statements = append(yyVAL.statements, yyDollar[3].statement) } - case 339: + case 338: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1981 { yyVAL.statement = yyDollar[1].selStmt } - case 369: + case 368: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2016 { @@ -8118,28 +8220,28 @@ yydefault: yyVAL.ddl = &DDL{Action: CreateStr, Table: yyDollar[5].tableName, IfNotExists: ne, Temporary: neTemp} } - case 370: + case 369: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2032 { yyVAL.TableSpec = yyDollar[2].TableSpec yyVAL.TableSpec.Options = yyDollar[4].str } - case 371: + case 370: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2039 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) } - case 372: + case 371: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2044 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddConstraint(yyDollar[1].constraintDefinition) } - case 373: + case 372: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2049 { @@ -8147,38 +8249,38 @@ yydefault: yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) yyVAL.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) } - case 374: + case 373: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2055 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) } - case 375: + case 374: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2059 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) yyVAL.TableSpec.AddConstraint(yyDollar[4].constraintDefinition) } - case 376: + case 375: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2064 { yyVAL.TableSpec.AddIndex(yyDollar[3].indexDefinition) } - case 377: + case 376: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2068 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } - case 378: + case 377: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2072 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } - case 379: + case 378: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2078 { @@ -8188,7 +8290,7 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: NewColIdent(string(yyDollar[1].bytes)), Type: yyDollar[2].columnType} } - case 380: + case 379: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2086 { @@ -8198,7 +8300,7 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: NewColIdent(string(yyDollar[1].bytes)), Type: yyDollar[2].columnType} } - case 381: + case 380: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2096 { @@ -8208,13 +8310,13 @@ yydefault: } yyVAL.columnDefinition = &ColumnDefinition{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType} } - case 382: + case 381: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2105 { yyVAL.columnType = ColumnType{} } - case 383: + case 382: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2109 { @@ -8225,7 +8327,7 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 384: + case 383: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2118 { @@ -8236,7 +8338,7 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 385: + case 384: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2127 { @@ -8247,7 +8349,7 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 386: + case 385: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2136 { @@ -8258,7 +8360,7 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 387: + case 386: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2145 { @@ -8269,7 +8371,7 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 388: + case 387: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2154 { @@ -8280,7 +8382,7 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 389: + case 388: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2163 { @@ -8291,7 +8393,7 @@ yydefault: } yyVAL.columnType = yyDollar[1].columnType } - case 390: + case 389: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2174 { @@ -8299,80 +8401,80 @@ yydefault: yyVAL.columnType.Unsigned = yyDollar[2].boolVal yyVAL.columnType.Zerofill = yyDollar[3].boolVal } - case 394: + case 393: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2185 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].sqlVal } - case 395: + case 394: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2190 { yyVAL.columnType = yyDollar[1].columnType } - case 396: + case 395: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2196 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 397: + case 396: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2200 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 398: + case 397: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2204 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 399: + case 398: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2208 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 400: + case 399: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2212 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 401: + case 400: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2216 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 402: + case 401: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2220 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 403: + case 402: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2224 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 404: + case 403: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2228 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 405: + case 404: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2232 { yyVAL.columnType = ColumnType{Type: "bigint", Unsigned: true, NotNull: true, Autoincrement: true, KeyOpt: colKeyUnique} } - case 406: + case 405: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2238 { @@ -8380,7 +8482,7 @@ yydefault: yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 407: + case 406: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2244 { @@ -8388,7 +8490,7 @@ yydefault: yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 408: + case 407: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2250 { @@ -8396,7 +8498,7 @@ yydefault: yyVAL.columnType.Length = yyDollar[3].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[3].LengthScaleOption.Scale } - case 409: + case 408: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2256 { @@ -8404,7 +8506,7 @@ yydefault: yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 410: + case 409: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2262 { @@ -8412,7 +8514,7 @@ yydefault: yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 411: + case 410: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2268 { @@ -8420,7 +8522,7 @@ yydefault: yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 412: + case 411: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2274 { @@ -8428,7 +8530,7 @@ yydefault: yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 413: + case 412: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2280 { @@ -8436,266 +8538,266 @@ yydefault: yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 414: + case 413: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2288 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 415: + case 414: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2292 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 416: + case 415: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2296 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 417: + case 416: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2300 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 418: + case 417: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2304 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 419: + case 418: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2310 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 420: + case 419: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2314 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 421: + case 420: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2318 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } - case 422: + case 421: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2322 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } - case 423: + case 422: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2326 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 424: + case 423: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2330 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 425: + case 424: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2334 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal, Charset: yyDollar[4].str, Collate: yyDollar[5].str} } - case 426: + case 425: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2338 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 427: + case 426: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2342 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } - case 428: + case 427: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2346 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Length: yyDollar[4].sqlVal} } - case 429: + case 428: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2350 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 430: + case 429: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2354 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 431: + case 430: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2358 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 432: + case 431: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2362 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 433: + case 432: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2366 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 434: + case 433: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2370 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 435: + case 434: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2374 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 436: + case 435: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2378 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 437: + case 436: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2382 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 438: + case 437: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2386 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 439: + case 438: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2390 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 440: + case 439: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2394 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 441: + case 440: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2398 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 442: + case 441: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2402 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } - case 443: + case 442: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2407 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } - case 444: + case 443: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2413 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 445: + case 444: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2417 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 446: + case 445: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2421 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 447: + case 446: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2425 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 448: + case 447: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2429 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 449: + case 448: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2433 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 450: + case 449: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2437 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 451: + case 450: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2441 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 452: + case 451: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2447 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, string(yyDollar[1].bytes)) } - case 453: + case 452: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2452 { yyVAL.strs = append(yyDollar[1].strs, string(yyDollar[3].bytes)) } - case 454: + case 453: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2457 { yyVAL.sqlVal = nil } - case 455: + case 454: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2461 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } - case 456: + case 455: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2466 { yyVAL.LengthScaleOption = LengthScaleOption{} } - case 457: + case 456: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2470 { @@ -8704,13 +8806,13 @@ yydefault: Scale: NewIntVal(yyDollar[4].bytes), } } - case 458: + case 457: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2478 { yyVAL.LengthScaleOption = LengthScaleOption{} } - case 459: + case 458: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2482 { @@ -8718,7 +8820,7 @@ yydefault: Length: NewIntVal(yyDollar[2].bytes), } } - case 460: + case 459: yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2488 { @@ -8727,202 +8829,316 @@ yydefault: Scale: NewIntVal(yyDollar[4].bytes), } } - case 461: + case 460: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2496 { yyVAL.boolVal = BoolVal(false) } - case 462: + case 461: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2500 { yyVAL.boolVal = BoolVal(true) } - case 463: + case 462: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2505 { yyVAL.boolVal = BoolVal(false) } - case 464: + case 463: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2509 { yyVAL.boolVal = BoolVal(true) } - case 465: + case 464: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2515 { yyVAL.optVal = yyDollar[2].expr } - case 466: + case 465: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2521 { yyVAL.optVal = yyDollar[3].expr } - case 467: + case 466: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2527 { yyVAL.boolVal = BoolVal(true) } - case 468: + case 467: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2532 { yyVAL.str = "" } - case 469: + case 468: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2536 { yyVAL.str = string(yyDollar[3].bytes) } - case 470: + case 469: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2540 { yyVAL.str = string(yyDollar[3].bytes) } - case 471: + case 470: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2545 { yyVAL.str = "" } - case 472: + case 471: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2549 { yyVAL.str = string(yyDollar[2].bytes) } - case 473: + case 472: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2553 { yyVAL.str = string(yyDollar[2].bytes) } - case 474: + case 473: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2559 { yyVAL.colKeyOpt = colKeyPrimary } - case 475: + case 474: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2563 { yyVAL.colKeyOpt = colKey } - case 476: + case 475: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2567 { yyVAL.colKeyOpt = colKeyUniqueKey } - case 477: + case 476: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2571 { yyVAL.colKeyOpt = colKeyUnique } - case 478: + case 477: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2577 { yyVAL.sqlVal = NewStrVal(yyDollar[2].bytes) } + case 478: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2583 + { + yyVAL.statement = &Flush{Type: yyDollar[2].str, Options: yyDollar[3].flushOptions} + } case 479: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2589 + { + yyVAL.flushOptions = yyDollar[1].flushOptions + } + case 480: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2595 + { + yyVAL.flushOptions = []*FlushOption{yyDollar[1].flushOption} + } + case 481: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2597 + { + yyVAL.flushOptions = append(yyVAL.flushOptions, yyDollar[2].flushOption) + } + case 482: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2601 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} + } + case 483: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2605 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} + } + case 484: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2609 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} + } + case 485: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2613 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} + } + case 486: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2617 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} + } + case 487: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2621 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} + } + case 488: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2625 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} + } + case 489: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2629 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} + } + case 490: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2633 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} + } + case 491: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2637 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} + } + case 492: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2641 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} + } + case 493: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2647 + { + yyVAL.str = string(yyDollar[1].bytes) + } + case 494: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2649 + { + yyVAL.str = string(yyDollar[1].bytes) + } + case 495: + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:2652 + { + yyVAL.str = "" + } + case 496: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2654 + { + yyVAL.str = yyDollar[1].str + } + case 497: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2583 +//line sql.y:2658 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Options: yyDollar[5].indexOptions} } - case 480: + case 498: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2587 +//line sql.y:2662 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns} } - case 481: + case 499: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2592 +//line sql.y:2667 { yyVAL.indexOptions = nil } - case 482: + case 500: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2596 +//line sql.y:2671 { yyVAL.indexOptions = yyDollar[1].indexOptions } - case 483: + case 501: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2602 +//line sql.y:2677 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 484: + case 502: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2606 +//line sql.y:2681 { yyVAL.indexOptions = append(yyVAL.indexOptions, yyDollar[2].indexOption) } - case 485: + case 503: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2612 +//line sql.y:2687 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Using: string(yyDollar[2].bytes)} } - case 486: + case 504: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2616 +//line sql.y:2691 { // should not be string yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewIntVal(yyDollar[3].bytes)} } - case 487: + case 505: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2621 +//line sql.y:2696 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewStrVal(yyDollar[2].bytes)} } - case 488: + case 506: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2627 +//line sql.y:2702 { yyVAL.str = "" } - case 489: + case 507: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2631 +//line sql.y:2706 { yyVAL.str = string(yyDollar[1].bytes) } - case 490: + case 508: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2637 +//line sql.y:2712 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } - case 491: + case 509: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2641 +//line sql.y:2716 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].bytes), Name: NewColIdent(string(yyDollar[2].bytes)), Primary: true, Unique: true} } - case 492: + case 510: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2645 +//line sql.y:2720 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } - case 493: + case 511: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2649 +//line sql.y:2724 { var name string name = yyDollar[2].str @@ -8931,351 +9147,351 @@ yydefault: } yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].str), Name: NewColIdent(name), Unique: true} } - case 494: + case 512: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2658 +//line sql.y:2733 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Unique: true} } - case 495: + case 513: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2662 +//line sql.y:2737 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes), Name: NewColIdent(yyDollar[2].str), Unique: true} } - case 496: + case 514: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2666 +//line sql.y:2741 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } - case 497: + case 515: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2672 +//line sql.y:2747 { yyVAL.str = string(yyDollar[1].bytes) } - case 498: + case 516: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2676 +//line sql.y:2751 { yyVAL.str = string(yyDollar[1].bytes) } - case 499: + case 517: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2680 +//line sql.y:2755 { yyVAL.str = string(yyDollar[1].bytes) } - case 500: + case 518: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2686 +//line sql.y:2761 { yyVAL.str = string(yyDollar[1].bytes) } - case 501: + case 519: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2690 +//line sql.y:2765 { yyVAL.str = string(yyDollar[1].bytes) } - case 502: + case 520: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2695 +//line sql.y:2770 { yyVAL.str = "" } - case 503: + case 521: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2699 +//line sql.y:2774 { yyVAL.str = yyDollar[1].str } - case 504: + case 522: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2704 +//line sql.y:2779 { yyVAL.str = "" } - case 505: + case 523: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2708 +//line sql.y:2783 { yyVAL.str = string(yyDollar[1].bytes) } - case 506: + case 524: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2714 +//line sql.y:2789 { yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn} } - case 507: + case 525: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2718 +//line sql.y:2793 { yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn) } - case 508: + case 526: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2724 +//line sql.y:2799 { yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } - case 509: + case 527: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2728 +//line sql.y:2803 { yyVAL.indexColumn = &IndexColumn{Column: NewColIdent(string(yyDollar[1].bytes)), Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } - case 510: + case 528: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2734 +//line sql.y:2809 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 511: + case 529: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2738 +//line sql.y:2813 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 512: + case 530: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2742 +//line sql.y:2817 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 513: + case 531: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2748 +//line sql.y:2823 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns} } - case 514: + case 532: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2752 +//line sql.y:2827 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction} } - case 515: + case 533: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2756 +//line sql.y:2831 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnUpdate: yyDollar[11].ReferenceAction} } - case 516: + case 534: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2760 +//line sql.y:2835 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction, OnUpdate: yyDollar[12].ReferenceAction} } - case 517: + case 535: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2764 +//line sql.y:2839 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[12].ReferenceAction, OnUpdate: yyDollar[11].ReferenceAction} } - case 518: + case 536: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2770 +//line sql.y:2845 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 519: + case 537: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2774 +//line sql.y:2849 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 520: + case 538: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2778 +//line sql.y:2853 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[2].constraintInfo} } - case 521: + case 539: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2782 +//line sql.y:2857 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 522: + case 540: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2788 +//line sql.y:2863 { yyVAL.constraintInfo = &CheckConstraintDefinition{Expr: yyDollar[3].expr, Enforced: yyDollar[5].boolean} } - case 523: + case 541: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2794 +//line sql.y:2869 { yyVAL.str = string(yyDollar[1].bytes) } - case 524: + case 542: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2798 +//line sql.y:2873 { yyVAL.str = string(yyDollar[1].bytes) } - case 525: + case 543: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2803 +//line sql.y:2878 { yyVAL.str = "" } - case 526: + case 544: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2807 +//line sql.y:2882 { yyVAL.str = string(yyDollar[2].bytes) } - case 527: + case 545: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2811 +//line sql.y:2886 { yyVAL.str = string(yyDollar[2].bytes) } - case 528: + case 546: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2817 +//line sql.y:2892 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 529: + case 547: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2823 +//line sql.y:2898 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 530: + case 548: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2829 +//line sql.y:2904 { yyVAL.ReferenceAction = Restrict } - case 531: + case 549: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2833 +//line sql.y:2908 { yyVAL.ReferenceAction = Cascade } - case 532: + case 550: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2837 +//line sql.y:2912 { yyVAL.ReferenceAction = NoAction } - case 533: + case 551: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2841 +//line sql.y:2916 { yyVAL.ReferenceAction = SetDefault } - case 534: + case 552: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2845 +//line sql.y:2920 { yyVAL.ReferenceAction = SetNull } - case 535: + case 553: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2850 +//line sql.y:2925 { yyVAL.boolean = true } - case 536: + case 554: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2854 +//line sql.y:2929 { yyVAL.boolean = true } - case 537: + case 555: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2858 +//line sql.y:2933 { yyVAL.boolean = false } - case 538: + case 556: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2863 +//line sql.y:2938 { yyVAL.str = "" } - case 539: + case 557: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2867 +//line sql.y:2942 { yyVAL.str = " " + string(yyDollar[1].str) } - case 540: + case 558: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2871 +//line sql.y:2946 { yyVAL.str = string(yyDollar[1].str) + ", " + string(yyDollar[3].str) } - case 541: + case 559: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2879 +//line sql.y:2954 { yyVAL.str = yyDollar[1].str } - case 542: + case 560: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2883 +//line sql.y:2958 { yyVAL.str = yyDollar[1].str + " " + yyDollar[2].str } - case 543: + case 561: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2887 +//line sql.y:2962 { yyVAL.str = yyDollar[1].str + "=" + yyDollar[3].str } - case 544: + case 562: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2893 +//line sql.y:2968 { yyVAL.str = yyDollar[1].colIdent.String() } - case 545: + case 563: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2897 +//line sql.y:2972 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'" } - case 546: + case 564: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2901 +//line sql.y:2976 { yyVAL.str = string(yyDollar[1].bytes) } - case 547: + case 565: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2906 +//line sql.y:2981 { yyVAL.str = "" } - case 548: + case 566: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2910 +//line sql.y:2985 { yyVAL.str = string(yyDollar[2].bytes) } - case 549: + case 567: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2915 +//line sql.y:2990 { yyVAL.str = string("") } - case 550: + case 568: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2919 +//line sql.y:2994 { yyVAL.str = string(yyDollar[2].bytes) } - case 552: + case 570: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2928 +//line sql.y:3003 { for i := 0; i < len(yyDollar[5].ddls); i++ { if yyDollar[5].ddls[i].Action == RenameStr { @@ -9286,279 +9502,279 @@ yydefault: } yyVAL.statement = &MultiAlterDDL{Table: yyDollar[4].tableName, Statements: yyDollar[5].ddls} } - case 553: + case 571: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2941 +//line sql.y:3016 { yyVAL.ddls = []*DDL{yyDollar[1].ddl} } - case 554: + case 572: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2945 +//line sql.y:3020 { yyVAL.ddls = append(yyVAL.ddls, yyDollar[3].ddl) } - case 555: + case 573: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2951 +//line sql.y:3026 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) ddl.Column = yyDollar[4].columnDefinition.Name yyVAL.ddl = ddl } - case 556: + case 574: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2958 +//line sql.y:3033 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 557: + case 575: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2965 +//line sql.y:3040 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: DropStr, Column: NewColIdent(string(yyDollar[3].bytes))} } - case 558: + case 576: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2969 +//line sql.y:3044 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: RenameStr, Column: NewColIdent(string(yyDollar[3].bytes)), ToColumn: NewColIdent(string(yyDollar[5].bytes))} } - case 559: + case 577: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2973 +//line sql.y:3048 { // Change this to a rename statement yyVAL.ddl = &DDL{Action: RenameStr, ToTables: TableNames{yyDollar[3].tableName}} } - case 560: + case 578: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2978 +//line sql.y:3053 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[3].str), Using: yyDollar[4].colIdent, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions}} } - case 561: + case 579: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2982 +//line sql.y:3057 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[5].str), Type: yyDollar[3].str, Using: yyDollar[6].colIdent, Columns: yyDollar[8].indexColumns, Options: yyDollar[10].indexOptions}} } - case 562: + case 580: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2986 +//line sql.y:3061 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 563: + case 581: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2991 +//line sql.y:3066 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 564: + case 582: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2996 +//line sql.y:3071 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 565: + case 583: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3001 +//line sql.y:3076 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 566: + case 584: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3006 +//line sql.y:3081 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 567: + case 585: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3010 +//line sql.y:3085 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: RenameStr, FromName: yyDollar[3].colIdent, ToName: yyDollar[5].colIdent}} } - case 568: + case 586: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3014 +//line sql.y:3089 { ddl := &DDL{Action: AlterStr, ColumnAction: ModifyStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 569: + case 587: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3021 +//line sql.y:3096 { ddl := &DDL{Action: AlterStr, ColumnAction: ChangeStr, TableSpec: &TableSpec{}, Column: NewColIdent(string(yyDollar[3].bytes)), ColumnOrder: yyDollar[5].columnOrder} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) yyVAL.ddl = ddl } - case 570: + case 588: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3027 +//line sql.y:3102 { yyVAL.ddl = &DDL{Action: AlterStr, PartitionSpec: yyDollar[1].partSpec} } - case 571: + case 589: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3031 +//line sql.y:3106 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 572: + case 590: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3037 +//line sql.y:3112 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 573: + case 591: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3043 +//line sql.y:3118 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[4].bytes), Details: &ForeignKeyDefinition{}}}}} } - case 574: + case 592: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3048 +//line sql.y:3123 { yyVAL.ddl = &DDL{Action: AlterStr, AutoIncSpec: &AutoIncSpec{Value: yyDollar[3].expr}} } - case 575: + case 593: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3052 +//line sql.y:3127 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: SetStr, Column: yyDollar[3].colIdent, Value: yyDollar[6].expr}} } - case 576: + case 594: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3056 +//line sql.y:3131 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: DropStr, Column: yyDollar[3].colIdent}} } - case 577: + case 595: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3060 +//line sql.y:3135 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, Type: PrimaryStr}} } - case 578: + case 596: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3064 +//line sql.y:3139 { ddl := &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr}} ddl.IndexSpec = &IndexSpec{Action: CreateStr, Using: NewColIdent(""), ToName: NewColIdent(yyDollar[2].str), Type: PrimaryStr, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions} yyVAL.ddl = ddl } - case 579: + case 597: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3071 +//line sql.y:3146 { yyVAL.columnOrder = nil } - case 580: + case 598: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3075 +//line sql.y:3150 { yyVAL.columnOrder = &ColumnOrder{First: true} } - case 581: + case 599: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3079 +//line sql.y:3154 { yyVAL.columnOrder = &ColumnOrder{AfterColumn: NewColIdent(string(yyDollar[2].bytes))} } - case 582: + case 600: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3084 +//line sql.y:3159 { } - case 583: + case 601: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3086 +//line sql.y:3161 { } - case 584: + case 602: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3090 +//line sql.y:3165 { yyVAL.partSpec = &PartitionSpec{Action: ReorganizeStr, Name: yyDollar[3].colIdent, Definitions: yyDollar[6].partDefs} } - case 585: + case 603: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3096 +//line sql.y:3171 { yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef} } - case 586: + case 604: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3100 +//line sql.y:3175 { yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef) } - case 587: + case 605: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3106 +//line sql.y:3181 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr} } - case 588: + case 606: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3110 +//line sql.y:3185 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} } - case 589: + case 607: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3116 +//line sql.y:3191 { yyVAL.statement = yyDollar[3].ddl } - case 590: + case 608: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3120 +//line sql.y:3195 { yyVAL.statement = &RenameUser{Accounts: yyDollar[3].accountRenames} } - case 591: + case 609: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3126 +//line sql.y:3201 { yyVAL.ddl = &DDL{Action: RenameStr, FromTables: TableNames{yyDollar[1].tableName}, ToTables: TableNames{yyDollar[3].tableName}} } - case 592: + case 610: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3130 +//line sql.y:3205 { yyVAL.ddl = yyDollar[1].ddl yyVAL.ddl.FromTables = append(yyVAL.ddl.FromTables, yyDollar[3].tableName) yyVAL.ddl.ToTables = append(yyVAL.ddl.ToTables, yyDollar[5].tableName) } - case 593: + case 611: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3138 +//line sql.y:3213 { yyVAL.accountRenames = []AccountRename{{From: yyDollar[1].accountName, To: yyDollar[3].accountName}} } - case 594: + case 612: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3142 +//line sql.y:3217 { yyVAL.accountRenames = append(yyDollar[1].accountRenames, AccountRename{From: yyDollar[3].accountName, To: yyDollar[5].accountName}) } - case 595: + case 613: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3148 +//line sql.y:3223 { var exists bool if yyDollar[3].byt != 0 { @@ -9566,15 +9782,15 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromTables: yyDollar[4].tableNames, IfExists: exists} } - case 596: + case 614: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3156 +//line sql.y:3231 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[5].tableName, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 597: + case 615: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3160 +//line sql.y:3235 { var exists bool if yyDollar[3].byt != 0 { @@ -9582,9 +9798,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromViews: yyDollar[4].tableNames, IfExists: exists} } - case 598: + case 616: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3168 +//line sql.y:3243 { var exists bool if yyDollar[3].byt != 0 { @@ -9592,9 +9808,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes), IfExists: exists} } - case 599: + case 617: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3176 +//line sql.y:3251 { var exists bool if yyDollar[3].byt != 0 { @@ -9602,9 +9818,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes), IfExists: exists} } - case 600: + case 618: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3184 +//line sql.y:3259 { var exists bool if yyDollar[3].byt != 0 { @@ -9612,9 +9828,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, TriggerSpec: &TriggerSpec{Name: string(yyDollar[4].bytes)}, IfExists: exists} } - case 601: + case 619: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3192 +//line sql.y:3267 { var exists bool if yyDollar[3].byt != 0 { @@ -9622,9 +9838,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, ProcedureSpec: &ProcedureSpec{Name: string(yyDollar[4].bytes)}, IfExists: exists} } - case 602: + case 620: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3200 +//line sql.y:3275 { var exists bool if yyDollar[3].byt != 0 { @@ -9632,9 +9848,9 @@ yydefault: } yyVAL.statement = &DropUser{IfExists: exists, AccountNames: yyDollar[4].accountNames} } - case 603: + case 621: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3208 +//line sql.y:3283 { var exists bool if yyDollar[3].byt != 0 { @@ -9642,193 +9858,193 @@ yydefault: } yyVAL.statement = &DropRole{IfExists: exists, Roles: yyDollar[4].accountNames} } - case 604: + case 622: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3217 +//line sql.y:3292 { } - case 605: + case 623: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3221 +//line sql.y:3296 { yyVAL.ReferenceAction = Restrict } - case 606: + case 624: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3225 +//line sql.y:3300 { yyVAL.ReferenceAction = Cascade } - case 607: + case 625: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3231 +//line sql.y:3306 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[3].tableName} } - case 608: + case 626: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3235 +//line sql.y:3310 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[2].tableName} } - case 609: + case 627: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3240 +//line sql.y:3315 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[3].tableName} } - case 610: + case 628: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3246 +//line sql.y:3321 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } - case 611: + case 629: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3251 +//line sql.y:3326 { yyVAL.statement = &Show{Type: CharsetStr, Filter: yyDollar[4].showFilter} } - case 612: + case 630: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3255 +//line sql.y:3330 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Filter: yyDollar[3].showFilter} } - case 613: + case 631: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3259 +//line sql.y:3334 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), IfNotExists: yyDollar[4].byt == 1, Database: string(yyDollar[5].bytes)} } - case 614: + case 632: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3263 +//line sql.y:3338 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), IfNotExists: yyDollar[4].byt == 1, Database: string(yyDollar[5].bytes)} } - case 615: + case 633: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3267 +//line sql.y:3342 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } - case 616: + case 634: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3271 +//line sql.y:3346 { yyVAL.statement = &Show{Type: CreateTriggerStr, Table: yyDollar[4].tableName} } - case 617: + case 635: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3275 +//line sql.y:3350 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } - case 618: + case 636: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3279 +//line sql.y:3354 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 619: + case 637: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3283 +//line sql.y:3358 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 620: + case 638: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3287 +//line sql.y:3362 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 621: + case 639: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3291 +//line sql.y:3366 { yyVAL.statement = &Show{Type: IndexStr, Table: yyDollar[4].tableName, Database: yyDollar[5].str, ShowIndexFilterOpt: yyDollar[6].expr} } - case 622: + case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3295 +//line sql.y:3370 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 623: + case 641: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3299 +//line sql.y:3374 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 624: + case 642: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3303 +//line sql.y:3378 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 625: + case 643: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3307 +//line sql.y:3382 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 626: + case 644: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3311 +//line sql.y:3386 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Database: yyDollar[4].str, Filter: yyDollar[5].showFilter} } - case 627: + case 645: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3315 +//line sql.y:3390 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Full: yyDollar[2].boolean} } - case 628: + case 646: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3320 +//line sql.y:3395 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[4].str, Filter: yyDollar[6].showFilter, AsOf: yyDollar[5].expr} yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt, Full: yyDollar[2].boolean} } - case 629: + case 647: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3325 +//line sql.y:3400 { yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), Full: yyDollar[2].boolean} } - case 630: + case 648: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3329 +//line sql.y:3404 { yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), ShowTablesOpt: &ShowTablesOpt{DbName: yyDollar[4].str, Filter: yyDollar[5].showFilter}, Full: yyDollar[2].boolean} } - case 631: + case 649: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3333 +//line sql.y:3408 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 632: + case 650: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3337 +//line sql.y:3412 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 633: + case 651: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3341 +//line sql.y:3416 { // Cannot dereference $4 directly, or else the parser stackcannot be pooled. See yyParsePooled showCollationFilterOpt := yyDollar[4].expr yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &showCollationFilterOpt} } - case 634: + case 652: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3347 +//line sql.y:3422 { // Cannot dereference $3 directly, or else the parser stackcannot be pooled. See yyParsePooled cmp := yyDollar[3].expr.(*ComparisonExpr) @@ -9836,388 +10052,388 @@ yydefault: var ex Expr = cmp yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &ex} } - case 635: + case 653: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3355 +//line sql.y:3430 { yyVAL.statement = &ShowGrants{} } - case 636: + case 654: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3359 +//line sql.y:3434 { an := yyDollar[4].accountName yyVAL.statement = &ShowGrants{For: &an} } - case 637: + case 655: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3364 +//line sql.y:3439 { yyVAL.statement = &ShowGrants{CurrentUser: true} } - case 638: + case 656: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3368 +//line sql.y:3443 { an := yyDollar[4].accountName yyVAL.statement = &ShowGrants{For: &an, Using: yyDollar[6].accountNames} } - case 639: + case 657: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3373 +//line sql.y:3448 { yyVAL.statement = &ShowPrivileges{} } - case 640: + case 658: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3377 +//line sql.y:3452 { yyVAL.statement = &Show{Type: string(yyDollar[6].bytes), CountStar: true} } - case 641: + case 659: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3381 +//line sql.y:3456 { yyVAL.statement = &Show{Type: string(yyDollar[6].bytes), CountStar: true} } - case 642: + case 660: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3385 +//line sql.y:3460 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Limit: yyDollar[3].limit} } - case 643: + case 661: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3389 +//line sql.y:3464 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Limit: yyDollar[3].limit} } - case 644: + case 662: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3395 +//line sql.y:3470 { yyVAL.expr = &ComparisonExpr{Operator: LikeStr, Right: yyDollar[2].expr, Escape: yyDollar[3].expr} } - case 645: + case 663: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3401 +//line sql.y:3476 { yyVAL.boolean = false } - case 646: + case 664: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3405 +//line sql.y:3480 { yyVAL.boolean = true } - case 647: + case 665: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3411 +//line sql.y:3486 { yyVAL.str = string(yyDollar[1].bytes) } - case 648: + case 666: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3415 +//line sql.y:3490 { yyVAL.str = string(yyDollar[1].bytes) } - case 649: + case 667: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3421 +//line sql.y:3496 { yyVAL.str = "" } - case 650: + case 668: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3425 +//line sql.y:3500 { yyVAL.str = yyDollar[2].tableIdent.v } - case 651: + case 669: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3429 +//line sql.y:3504 { yyVAL.str = yyDollar[2].tableIdent.v } - case 652: + case 670: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3435 +//line sql.y:3510 { yyVAL.showFilter = nil } - case 653: + case 671: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3439 +//line sql.y:3514 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 654: + case 672: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3443 +//line sql.y:3518 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } - case 655: + case 673: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3449 +//line sql.y:3524 { yyVAL.str = "" } - case 656: + case 674: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3453 +//line sql.y:3528 { yyVAL.str = SessionStr } - case 657: + case 675: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3457 +//line sql.y:3532 { yyVAL.str = GlobalStr } - case 658: + case 676: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3463 +//line sql.y:3538 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } - case 659: + case 677: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3467 +//line sql.y:3542 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } - case 660: + case 678: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3473 +//line sql.y:3548 { yyVAL.statement = &Begin{} } - case 661: + case 679: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3477 +//line sql.y:3552 { yyVAL.statement = yyDollar[1].statement } - case 662: + case 680: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3483 +//line sql.y:3558 { yyVAL.statement = &Begin{} } - case 663: + case 681: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3487 +//line sql.y:3562 { yyVAL.statement = &Begin{TransactionCharacteristic: TxReadWrite} } - case 664: + case 682: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3491 +//line sql.y:3566 { yyVAL.statement = &Begin{TransactionCharacteristic: TxReadOnly} } - case 665: + case 683: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3497 +//line sql.y:3572 { yyVAL.statement = &Commit{} } - case 666: + case 684: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3503 +//line sql.y:3578 { yyVAL.statement = &Rollback{} } - case 667: + case 685: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3509 +//line sql.y:3584 { yyVAL.statement = &Savepoint{Identifier: string(yyDollar[2].bytes)} } - case 668: + case 686: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3515 +//line sql.y:3590 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[3].bytes)} } - case 669: + case 687: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3519 +//line sql.y:3594 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[4].bytes)} } - case 670: + case 688: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3523 +//line sql.y:3598 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[4].bytes)} } - case 671: + case 689: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3527 +//line sql.y:3602 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[5].bytes)} } - case 672: + case 690: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3533 +//line sql.y:3608 { yyVAL.statement = &ReleaseSavepoint{Identifier: string(yyDollar[3].bytes)} } - case 673: + case 691: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3538 +//line sql.y:3613 { } - case 674: + case 692: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3539 +//line sql.y:3614 { } - case 675: + case 693: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3543 +//line sql.y:3618 { yyVAL.statement = &Explain{ExplainFormat: yyDollar[2].str, Statement: yyDollar[3].statement} } - case 676: + case 694: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3547 +//line sql.y:3622 { yyVAL.statement = &Explain{Analyze: true, ExplainFormat: TreeStr, Statement: yyDollar[3].selStmt} } - case 677: + case 695: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3553 +//line sql.y:3628 { yyVAL.statement = yyDollar[1].selStmt } - case 681: + case 699: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3561 +//line sql.y:3636 { yyVAL.str = "" } - case 682: + case 700: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3565 +//line sql.y:3640 { yyVAL.str = string(yyDollar[3].bytes) } - case 685: + case 703: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3576 +//line sql.y:3651 { yyVAL.statement = &Show{Type: "columns", OnTable: yyDollar[2].tableName} } - case 686: + case 704: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3581 +//line sql.y:3656 { setAllowComments(yylex, true) } - case 687: + case 705: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3585 +//line sql.y:3660 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 688: + case 706: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3591 +//line sql.y:3666 { yyVAL.bytes2 = nil } - case 689: + case 707: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3595 +//line sql.y:3670 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 690: + case 708: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3601 +//line sql.y:3676 { yyVAL.str = UnionStr } - case 691: + case 709: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3605 +//line sql.y:3680 { yyVAL.str = UnionAllStr } - case 692: + case 710: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3609 +//line sql.y:3684 { yyVAL.str = UnionDistinctStr } - case 693: + case 711: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3614 +//line sql.y:3689 { yyVAL.byt = 0 } - case 694: + case 712: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3618 +//line sql.y:3693 { yyVAL.byt = 1 } - case 695: + case 713: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3623 +//line sql.y:3698 { yyVAL.str = "" } - case 696: + case 714: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3627 +//line sql.y:3702 { yyVAL.str = SQLNoCacheStr } - case 697: + case 715: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3631 +//line sql.y:3706 { yyVAL.str = SQLCacheStr } - case 698: + case 716: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3636 +//line sql.y:3711 { yyVAL.str = "" } - case 699: + case 717: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3640 +//line sql.y:3715 { yyVAL.str = "" } - case 700: + case 718: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3644 +//line sql.y:3719 { yyVAL.str = DistinctStr } - case 701: + case 719: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3649 +//line sql.y:3724 { yyVAL.str = "" } - case 702: + case 720: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3653 +//line sql.y:3728 { yyVAL.str = StraightJoinHint } - case 703: + case 721: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3659 +//line sql.y:3734 { if ae, ok := yyDollar[2].selectExpr.(*AliasedExpr); ok { ae.StartParsePos = yyDollar[1].int @@ -10225,9 +10441,9 @@ yydefault: } yyVAL.selectExprs = SelectExprs{yyDollar[2].selectExpr} } - case 704: + case 722: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3667 +//line sql.y:3742 { if ae, ok := yyDollar[4].selectExpr.(*AliasedExpr); ok { ae.StartParsePos = yyDollar[3].int @@ -10235,129 +10451,129 @@ yydefault: } yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[4].selectExpr) } - case 705: + case 723: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3678 +//line sql.y:3753 { yyVAL.selectExpr = &StarExpr{} } - case 706: + case 724: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3682 +//line sql.y:3757 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr} } - case 707: + case 725: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3686 +//line sql.y:3761 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 708: + case 726: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3690 +//line sql.y:3765 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 709: + case 727: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3696 +//line sql.y:3771 { yyVAL.selectExpr = &StarExpr{} } - case 710: + case 728: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3700 +//line sql.y:3775 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 711: + case 729: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3704 +//line sql.y:3779 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 712: + case 730: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3708 +//line sql.y:3783 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 713: + case 731: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3714 +//line sql.y:3789 { yyVAL.over = &Over{NameRef: yyDollar[2].colIdent} } - case 714: + case 732: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3718 +//line sql.y:3793 { yyVAL.over = (*Over)(yyDollar[2].windowDef) } - case 715: + case 733: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3724 +//line sql.y:3799 { yyVAL.windowDef = &WindowDef{NameRef: yyDollar[2].colIdent, PartitionBy: yyDollar[3].exprs, OrderBy: yyDollar[4].orderBy, Frame: yyDollar[5].frame} } - case 716: + case 734: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3729 +//line sql.y:3804 { yyVAL.colIdent = ColIdent{} } - case 717: + case 735: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3732 +//line sql.y:3807 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 718: + case 736: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3737 +//line sql.y:3812 { yyVAL.exprs = nil } - case 719: + case 737: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3741 +//line sql.y:3816 { yyVAL.exprs = yyDollar[3].exprs } - case 720: + case 738: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3746 +//line sql.y:3821 { yyVAL.over = nil } - case 721: + case 739: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3750 +//line sql.y:3825 { yyVAL.over = yyDollar[1].over } - case 722: + case 740: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3755 +//line sql.y:3830 { yyVAL.frame = nil } - case 723: + case 741: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3759 +//line sql.y:3834 { yyVAL.frame = &Frame{Unit: RowsUnit, Extent: yyDollar[2].frameExtent} } - case 724: + case 742: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3763 +//line sql.y:3838 { yyVAL.frame = &Frame{Unit: RangeUnit, Extent: yyDollar[2].frameExtent} } - case 725: + case 743: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3770 +//line sql.y:3845 { startBound := yyDollar[2].frameBound endBound := yyDollar[4].frameBound @@ -10380,9 +10596,9 @@ yydefault: } yyVAL.frameExtent = &FrameExtent{Start: startBound, End: endBound} } - case 726: + case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3793 +//line sql.y:3868 { startBound := yyDollar[1].frameBound switch { @@ -10395,149 +10611,149 @@ yydefault: } yyVAL.frameExtent = &FrameExtent{Start: startBound} } - case 727: + case 745: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3808 +//line sql.y:3883 { yyVAL.frameBound = &FrameBound{Type: UnboundedPreceding} } - case 728: + case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3812 +//line sql.y:3887 { yyVAL.frameBound = &FrameBound{Type: UnboundedFollowing} } - case 729: + case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3816 +//line sql.y:3891 { yyVAL.frameBound = &FrameBound{Type: CurrentRow} } - case 730: + case 748: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3820 +//line sql.y:3895 { yyVAL.frameBound = &FrameBound{ Expr: yyDollar[1].expr, Type: ExprPreceding, } } - case 731: + case 749: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3827 +//line sql.y:3902 { yyVAL.frameBound = &FrameBound{ Expr: yyDollar[1].expr, Type: ExprFollowing, } } - case 732: + case 750: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3835 +//line sql.y:3910 { yyVAL.window = nil } - case 733: + case 751: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3838 +//line sql.y:3913 { yyVAL.window = yyDollar[2].window } - case 734: + case 752: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3844 +//line sql.y:3919 { yyVAL.window = Window{yyDollar[1].windowDef} } - case 735: + case 753: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3847 +//line sql.y:3922 { yyVAL.window = append(yyDollar[1].window, yyDollar[3].windowDef) } - case 736: + case 754: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3853 +//line sql.y:3928 { def := yyDollar[3].windowDef def.Name = yyDollar[1].colIdent yyVAL.windowDef = def } - case 737: + case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3862 +//line sql.y:3937 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 738: + case 756: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3866 +//line sql.y:3941 { yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 739: + case 757: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3871 +//line sql.y:3946 { yyVAL.colIdent = ColIdent{} } - case 740: + case 758: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3875 +//line sql.y:3950 { yyVAL.colIdent = yyDollar[1].colIdent } - case 741: + case 759: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3879 +//line sql.y:3954 { yyVAL.colIdent = yyDollar[2].colIdent } - case 742: + case 760: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3885 +//line sql.y:3960 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 743: + case 761: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3889 +//line sql.y:3964 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 744: + case 762: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3893 +//line sql.y:3968 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 745: + case 763: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3897 +//line sql.y:3972 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 746: + case 764: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3903 +//line sql.y:3978 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 747: + case 765: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3907 +//line sql.y:3982 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 750: + case 768: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3917 +//line sql.y:3992 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 751: + case 769: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3921 +//line sql.y:3996 { switch n := yyDollar[1].simpleTableExpr.(type) { case *Subquery: @@ -10547,272 +10763,272 @@ yydefault: } yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].simpleTableExpr, As: yyDollar[3].tableIdent} } - case 752: + case 770: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3931 +//line sql.y:4006 { // missed alias for subquery yylex.Error("Every derived table must have its own alias") return 1 } - case 753: + case 771: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3937 +//line sql.y:4012 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 754: + case 772: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3943 +//line sql.y:4018 { yyVAL.simpleTableExpr = &ValuesStatement{Rows: yyDollar[2].values} } - case 755: + case 773: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3949 +//line sql.y:4024 { yyVAL.values = Values{yyDollar[2].valTuple} } - case 756: + case 774: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3953 +//line sql.y:4028 { yyVAL.values = append(yyVAL.values, yyDollar[4].valTuple) } - case 757: + case 775: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3959 +//line sql.y:4034 { yyVAL.aliasedTableName = yyDollar[2].aliasedTableName yyVAL.aliasedTableName.Expr = yyDollar[1].tableName } - case 758: + case 776: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3964 +//line sql.y:4039 { yyVAL.aliasedTableName = yyDollar[6].aliasedTableName yyVAL.aliasedTableName.Expr = yyDollar[1].tableName yyVAL.aliasedTableName.Partitions = yyDollar[4].partitions } - case 759: + case 777: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3975 +//line sql.y:4050 { yyVAL.aliasedTableName = &AliasedTableExpr{Hints: yyDollar[1].indexHints} } - case 760: + case 778: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3979 +//line sql.y:4054 { yyVAL.aliasedTableName = &AliasedTableExpr{AsOf: &AsOf{Time: yyDollar[3].expr}, Hints: yyDollar[4].indexHints} } - case 761: + case 779: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3983 +//line sql.y:4058 { yyVAL.aliasedTableName = &AliasedTableExpr{AsOf: &AsOf{Time: yyDollar[3].expr}, As: yyDollar[5].tableIdent, Hints: yyDollar[6].indexHints} } - case 762: + case 780: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3987 +//line sql.y:4062 { yyVAL.aliasedTableName = &AliasedTableExpr{As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 763: + case 781: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3991 +//line sql.y:4066 { yyVAL.aliasedTableName = &AliasedTableExpr{As: yyDollar[1].tableIdent, Hints: yyDollar[2].indexHints} } - case 764: + case 782: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4002 +//line sql.y:4077 { yyVAL.expr = nil } - case 765: + case 783: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4006 +//line sql.y:4081 { yyVAL.expr = yyDollar[3].expr } - case 766: + case 784: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4011 +//line sql.y:4086 { yyVAL.columns = nil } - case 767: + case 785: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4015 +//line sql.y:4090 { yyVAL.columns = yyDollar[2].columns } - case 768: + case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4021 +//line sql.y:4096 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 769: + case 787: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4025 +//line sql.y:4100 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 770: + case 788: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4031 +//line sql.y:4106 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 771: + case 789: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4035 +//line sql.y:4110 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 772: + case 790: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4048 +//line sql.y:4123 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 773: + case 791: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4052 +//line sql.y:4127 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 774: + case 792: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4056 +//line sql.y:4131 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 775: + case 793: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4060 +//line sql.y:4135 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr} } - case 776: + case 794: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4066 +//line sql.y:4141 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 777: + case 795: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4068 +//line sql.y:4143 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 778: + case 796: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4072 +//line sql.y:4147 { yyVAL.joinCondition = JoinCondition{} } - case 779: + case 797: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4074 +//line sql.y:4149 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 780: + case 798: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4078 +//line sql.y:4153 { yyVAL.joinCondition = JoinCondition{} } - case 781: + case 799: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4080 +//line sql.y:4155 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 782: + case 800: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4083 +//line sql.y:4158 { yyVAL.empty = struct{}{} } - case 783: + case 801: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4085 +//line sql.y:4160 { yyVAL.empty = struct{}{} } - case 785: + case 803: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4090 +//line sql.y:4165 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 786: + case 804: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4094 +//line sql.y:4169 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 787: + case 805: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4100 +//line sql.y:4175 { yyVAL.str = JoinStr } - case 788: + case 806: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4104 +//line sql.y:4179 { yyVAL.str = JoinStr } - case 789: + case 807: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4108 +//line sql.y:4183 { yyVAL.str = JoinStr } - case 790: + case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4114 +//line sql.y:4189 { yyVAL.str = StraightJoinStr } - case 791: + case 809: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4120 +//line sql.y:4195 { yyVAL.str = LeftJoinStr } - case 792: + case 810: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4124 +//line sql.y:4199 { yyVAL.str = LeftJoinStr } - case 793: + case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4128 +//line sql.y:4203 { yyVAL.str = RightJoinStr } - case 794: + case 812: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4132 +//line sql.y:4207 { yyVAL.str = RightJoinStr } - case 795: + case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4138 +//line sql.y:4213 { yyVAL.str = NaturalJoinStr } - case 796: + case 814: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4142 +//line sql.y:4217 { if yyDollar[2].str == LeftJoinStr { yyVAL.str = NaturalLeftJoinStr @@ -10820,507 +11036,507 @@ yydefault: yyVAL.str = NaturalRightJoinStr } } - case 797: + case 815: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4152 +//line sql.y:4227 { yyVAL.tableName = yyDollar[3].tableName } - case 798: + case 816: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4158 +//line sql.y:4233 { yyVAL.tableName = yyDollar[2].tableName } - case 799: + case 817: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4162 +//line sql.y:4237 { yyVAL.tableName = yyDollar[1].tableName } - case 800: + case 818: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4168 +//line sql.y:4243 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 801: + case 819: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4172 +//line sql.y:4247 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 802: + case 820: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4178 +//line sql.y:4253 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 803: + case 821: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4183 +//line sql.y:4258 { yyVAL.indexHints = nil } - case 804: + case 822: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4187 +//line sql.y:4262 { yyVAL.indexHints = &IndexHints{Type: UseStr, Indexes: yyDollar[4].columns} } - case 805: + case 823: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4191 +//line sql.y:4266 { yyVAL.indexHints = &IndexHints{Type: IgnoreStr, Indexes: yyDollar[4].columns} } - case 806: + case 824: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4195 +//line sql.y:4270 { yyVAL.indexHints = &IndexHints{Type: ForceStr, Indexes: yyDollar[4].columns} } - case 807: + case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4200 +//line sql.y:4275 { yyVAL.expr = nil } - case 808: + case 826: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4204 +//line sql.y:4279 { yyVAL.expr = yyDollar[2].expr } - case 809: + case 827: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4210 +//line sql.y:4285 { yyVAL.expr = yyDollar[1].expr } - case 810: + case 828: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4214 +//line sql.y:4289 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 811: + case 829: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4218 +//line sql.y:4293 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 812: + case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4222 +//line sql.y:4297 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 813: + case 831: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4226 +//line sql.y:4301 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].str, Expr: yyDollar[1].expr} } - case 814: + case 832: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4230 +//line sql.y:4305 { yyVAL.expr = yyDollar[1].expr } - case 815: + case 833: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4234 +//line sql.y:4309 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 816: + case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4240 +//line sql.y:4315 { yyVAL.str = "" } - case 817: + case 835: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4244 +//line sql.y:4319 { yyVAL.str = string(yyDollar[2].bytes) } - case 818: + case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4250 +//line sql.y:4325 { yyVAL.boolVal = BoolVal(true) } - case 819: + case 837: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4254 +//line sql.y:4329 { yyVAL.boolVal = BoolVal(false) } - case 820: + case 838: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4260 +//line sql.y:4335 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].str, Right: yyDollar[3].expr} } - case 821: + case 839: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4264 +//line sql.y:4339 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InStr, Right: yyDollar[3].colTuple} } - case 822: + case 840: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4268 +//line sql.y:4343 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInStr, Right: yyDollar[4].colTuple} } - case 823: + case 841: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4272 +//line sql.y:4347 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeStr, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } - case 824: + case 842: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4276 +//line sql.y:4351 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeStr, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } - case 825: + case 843: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4280 +//line sql.y:4355 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpStr, Right: yyDollar[3].expr} } - case 826: + case 844: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4284 +//line sql.y:4359 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpStr, Right: yyDollar[4].expr} } - case 827: + case 845: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4288 +//line sql.y:4363 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenStr, From: yyDollar[3].expr, To: yyDollar[5].expr} } - case 828: + case 846: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4292 +//line sql.y:4367 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenStr, From: yyDollar[4].expr, To: yyDollar[6].expr} } - case 829: + case 847: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4296 +//line sql.y:4371 { yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } - case 830: + case 848: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4302 +//line sql.y:4377 { yyVAL.str = IsNullStr } - case 831: + case 849: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4306 +//line sql.y:4381 { yyVAL.str = IsNotNullStr } - case 832: + case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4310 +//line sql.y:4385 { yyVAL.str = IsTrueStr } - case 833: + case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4314 +//line sql.y:4389 { yyVAL.str = IsNotTrueStr } - case 834: + case 852: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4318 +//line sql.y:4393 { yyVAL.str = IsFalseStr } - case 835: + case 853: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4322 +//line sql.y:4397 { yyVAL.str = IsNotFalseStr } - case 836: + case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4328 +//line sql.y:4403 { yyVAL.str = EqualStr } - case 837: + case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4332 +//line sql.y:4407 { yyVAL.str = LessThanStr } - case 838: + case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4336 +//line sql.y:4411 { yyVAL.str = GreaterThanStr } - case 839: + case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4340 +//line sql.y:4415 { yyVAL.str = LessEqualStr } - case 840: + case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4344 +//line sql.y:4419 { yyVAL.str = GreaterEqualStr } - case 841: + case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4348 +//line sql.y:4423 { yyVAL.str = NotEqualStr } - case 842: + case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4352 +//line sql.y:4427 { yyVAL.str = NullSafeEqualStr } - case 843: + case 861: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4357 +//line sql.y:4432 { yyVAL.expr = nil } - case 844: + case 862: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4361 +//line sql.y:4436 { yyVAL.expr = yyDollar[2].expr } - case 845: + case 863: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4367 +//line sql.y:4442 { yyVAL.colTuple = yyDollar[1].valTuple } - case 846: + case 864: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4371 +//line sql.y:4446 { yyVAL.colTuple = yyDollar[1].subquery } - case 847: + case 865: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4375 +//line sql.y:4450 { yyVAL.colTuple = ListArg(yyDollar[1].bytes) } - case 848: + case 866: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4381 +//line sql.y:4456 { yyVAL.subquery = &Subquery{Select: yyDollar[2].selStmt} } - case 849: + case 867: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4387 +//line sql.y:4462 { yyVAL.simpleTableExpr = yyDollar[1].subquery } - case 850: + case 868: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4391 +//line sql.y:4466 { yyVAL.simpleTableExpr = yyDollar[2].simpleTableExpr } - case 851: + case 869: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4397 +//line sql.y:4472 { yyVAL.selectExprs = nil } - case 853: + case 871: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4404 +//line sql.y:4479 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 854: + case 872: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4408 +//line sql.y:4483 { yyVAL.selectExprs = append(yyDollar[1].selectExprs, yyDollar[3].selectExpr) } - case 855: + case 873: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4414 +//line sql.y:4489 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 856: + case 874: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4418 +//line sql.y:4493 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 857: + case 875: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4424 +//line sql.y:4499 { yyVAL.expr = yyDollar[1].expr } - case 858: + case 876: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4428 +//line sql.y:4503 { yyVAL.expr = &ColName{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 859: + case 877: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4432 +//line sql.y:4507 { yyVAL.expr = yyDollar[1].boolVal } - case 860: + case 878: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4436 +//line sql.y:4511 { yyVAL.expr = yyDollar[1].colName } - case 861: + case 879: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4440 +//line sql.y:4515 { yyVAL.expr = yyDollar[1].expr } - case 862: + case 880: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4444 +//line sql.y:4519 { yyVAL.expr = yyDollar[1].subquery } - case 863: + case 881: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4448 +//line sql.y:4523 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr} } - case 864: + case 882: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4452 +//line sql.y:4527 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr} } - case 865: + case 883: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4456 +//line sql.y:4531 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr} } - case 866: + case 884: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4460 +//line sql.y:4535 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr} } - case 867: + case 885: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4464 +//line sql.y:4539 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr} } - case 868: + case 886: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4468 +//line sql.y:4543 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr} } - case 869: + case 887: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4472 +//line sql.y:4547 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr} } - case 870: + case 888: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4476 +//line sql.y:4551 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr} } - case 871: + case 889: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4480 +//line sql.y:4555 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } - case 872: + case 890: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4484 +//line sql.y:4559 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } - case 873: + case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4488 +//line sql.y:4563 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr} } - case 874: + case 892: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4492 +//line sql.y:4567 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr} } - case 875: + case 893: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4496 +//line sql.y:4571 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } - case 876: + case 894: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4500 +//line sql.y:4575 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } - case 877: + case 895: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4504 +//line sql.y:4579 { yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } - case 878: + case 896: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4508 +//line sql.y:4583 { yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr} } - case 879: + case 897: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4512 +//line sql.y:4587 { yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr} } - case 880: + case 898: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4516 +//line sql.y:4591 { yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr} } - case 881: + case 899: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4520 +//line sql.y:4595 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { yyVAL.expr = num @@ -11328,9 +11544,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusStr, Expr: yyDollar[2].expr} } } - case 882: + case 900: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4528 +//line sql.y:4603 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { // Handle double negative @@ -11344,21 +11560,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusStr, Expr: yyDollar[2].expr} } } - case 883: + case 901: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4542 +//line sql.y:4617 { yyVAL.expr = &UnaryExpr{Operator: TildaStr, Expr: yyDollar[2].expr} } - case 884: + case 902: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4546 +//line sql.y:4621 { yyVAL.expr = &UnaryExpr{Operator: BangStr, Expr: yyDollar[2].expr} } - case 885: + case 903: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4550 +//line sql.y:4625 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -11366,991 +11582,991 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 892: + case 910: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4570 +//line sql.y:4645 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: yyDollar[3].str == DistinctStr, Exprs: yyDollar[4].selectExprs} } - case 893: + case 911: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4574 +//line sql.y:4649 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 894: + case 912: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4584 +//line sql.y:4659 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 895: + case 913: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4588 +//line sql.y:4663 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 896: + case 914: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4592 +//line sql.y:4667 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 897: + case 915: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4596 +//line sql.y:4671 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 898: + case 916: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4600 +//line sql.y:4675 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 899: + case 917: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4604 +//line sql.y:4679 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 900: + case 918: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4608 +//line sql.y:4683 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 901: + case 919: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4612 +//line sql.y:4687 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 902: + case 920: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4616 +//line sql.y:4691 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 903: + case 921: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4620 +//line sql.y:4695 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 904: + case 922: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4624 +//line sql.y:4699 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 905: + case 923: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4628 +//line sql.y:4703 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 906: + case 924: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4632 +//line sql.y:4707 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 907: + case 925: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4636 +//line sql.y:4711 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 908: + case 926: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4640 +//line sql.y:4715 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 909: + case 927: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4644 +//line sql.y:4719 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 910: + case 928: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4648 +//line sql.y:4723 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 911: + case 929: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4657 +//line sql.y:4732 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 912: + case 930: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4661 +//line sql.y:4736 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 913: + case 931: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4665 +//line sql.y:4740 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: SelectExprs{yyDollar[3].selectExpr}, Over: yyDollar[5].over} } - case 914: + case 932: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4669 +//line sql.y:4744 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 915: + case 933: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4673 +//line sql.y:4748 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: SelectExprs{yyDollar[3].selectExpr}, Over: yyDollar[5].over} } - case 916: + case 934: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4677 +//line sql.y:4752 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 917: + case 935: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4681 +//line sql.y:4756 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 918: + case 936: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4685 +//line sql.y:4760 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 919: + case 937: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4689 +//line sql.y:4764 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 920: + case 938: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4693 +//line sql.y:4768 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 921: + case 939: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4697 +//line sql.y:4772 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 922: + case 940: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4708 +//line sql.y:4783 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 923: + case 941: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4712 +//line sql.y:4787 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 924: + case 942: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4716 +//line sql.y:4791 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 925: + case 943: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4720 +//line sql.y:4795 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 926: + case 944: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4724 +//line sql.y:4799 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 927: + case 945: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4728 +//line sql.y:4803 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 928: + case 946: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4732 +//line sql.y:4807 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } - case 929: + case 947: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4736 +//line sql.y:4811 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 930: + case 948: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4740 +//line sql.y:4815 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 931: + case 949: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4744 +//line sql.y:4819 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 932: + case 950: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4748 +//line sql.y:4823 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 933: + case 951: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4752 +//line sql.y:4827 { yyVAL.expr = &TrimExpr{Pattern: NewStrVal([]byte(" ")), Str: yyDollar[3].expr, Dir: Both} } - case 934: + case 952: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4756 +//line sql.y:4831 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[3].expr, Str: yyDollar[5].expr, Dir: Both} } - case 935: + case 953: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4760 +//line sql.y:4835 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Leading} } - case 936: + case 954: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4764 +//line sql.y:4839 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Trailing} } - case 937: + case 955: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4768 +//line sql.y:4843 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Both} } - case 938: + case 956: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:4772 +//line sql.y:4847 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].str} } - case 939: + case 957: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4776 +//line sql.y:4851 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 940: + case 958: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4780 +//line sql.y:4855 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].str, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str} } - case 941: + case 959: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4784 +//line sql.y:4859 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } - case 942: + case 960: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4788 +//line sql.y:4863 { yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } - case 943: + case 961: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4798 +//line sql.y:4873 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 944: + case 962: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4802 +//line sql.y:4877 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 945: + case 963: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4806 +//line sql.y:4881 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 946: + case 964: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4811 +//line sql.y:4886 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 947: + case 965: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4816 +//line sql.y:4891 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 948: + case 966: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4821 +//line sql.y:4896 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 949: + case 967: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4827 +//line sql.y:4902 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 950: + case 968: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4832 +//line sql.y:4907 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 951: + case 969: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4836 +//line sql.y:4911 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 952: + case 970: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4841 +//line sql.y:4916 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 953: + case 971: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4845 +//line sql.y:4920 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 954: + case 972: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4849 +//line sql.y:4924 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 955: + case 973: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4854 +//line sql.y:4929 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 956: + case 974: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4859 +//line sql.y:4934 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 957: + case 975: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4864 +//line sql.y:4939 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } - case 958: + case 976: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4868 +//line sql.y:4943 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 959: + case 977: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4872 +//line sql.y:4947 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 962: + case 980: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4883 +//line sql.y:4958 { yyVAL.expr = yyDollar[2].expr } - case 963: + case 981: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4893 +//line sql.y:4968 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 964: + case 982: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4897 +//line sql.y:4972 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 965: + case 983: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4901 +//line sql.y:4976 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 966: + case 984: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4905 +//line sql.y:4980 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 967: + case 985: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4909 +//line sql.y:4984 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 968: + case 986: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4913 +//line sql.y:4988 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 969: + case 987: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4919 +//line sql.y:4994 { yyVAL.str = "" } - case 970: + case 988: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4923 +//line sql.y:4998 { yyVAL.str = BooleanModeStr } - case 971: + case 989: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4927 +//line sql.y:5002 { yyVAL.str = NaturalLanguageModeStr } - case 972: + case 990: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4931 +//line sql.y:5006 { yyVAL.str = NaturalLanguageModeWithQueryExpansionStr } - case 973: + case 991: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4935 +//line sql.y:5010 { yyVAL.str = QueryExpansionStr } - case 974: + case 992: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4941 +//line sql.y:5016 { yyVAL.str = string(yyDollar[1].bytes) } - case 975: + case 993: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4945 +//line sql.y:5020 { yyVAL.str = string(yyDollar[1].bytes) } - case 976: + case 994: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4951 +//line sql.y:5026 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 977: + case 995: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4955 +//line sql.y:5030 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Operator: CharacterSetStr} } - case 978: + case 996: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4959 +//line sql.y:5034 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: string(yyDollar[3].bytes)} } - case 979: + case 997: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4963 +//line sql.y:5038 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 980: + case 998: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4967 +//line sql.y:5042 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 981: + case 999: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4971 +//line sql.y:5046 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 982: + case 1000: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4977 +//line sql.y:5052 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 983: + case 1001: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4981 +//line sql.y:5056 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 984: + case 1002: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4985 +//line sql.y:5060 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 985: + case 1003: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4989 +//line sql.y:5064 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 986: + case 1004: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4993 +//line sql.y:5068 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 987: + case 1005: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4997 +//line sql.y:5072 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 988: + case 1006: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5001 +//line sql.y:5076 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 989: + case 1007: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5006 +//line sql.y:5081 { yyVAL.expr = nil } - case 990: + case 1008: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5010 +//line sql.y:5085 { yyVAL.expr = yyDollar[1].expr } - case 991: + case 1009: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5015 +//line sql.y:5090 { yyVAL.str = string("") } - case 992: + case 1010: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5019 +//line sql.y:5094 { yyVAL.str = string(yyDollar[2].bytes) } - case 993: + case 1011: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5025 +//line sql.y:5100 { yyVAL.whens = []*When{yyDollar[1].when} } - case 994: + case 1012: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5029 +//line sql.y:5104 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 995: + case 1013: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5035 +//line sql.y:5110 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 996: + case 1014: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5040 +//line sql.y:5115 { yyVAL.expr = nil } - case 997: + case 1015: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5044 +//line sql.y:5119 { yyVAL.expr = yyDollar[2].expr } - case 998: + case 1016: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5050 +//line sql.y:5125 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 999: + case 1017: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5054 +//line sql.y:5129 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 1000: + case 1018: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5058 +//line sql.y:5133 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 1001: + case 1019: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5064 +//line sql.y:5139 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 1002: + case 1020: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5068 +//line sql.y:5143 { yyVAL.expr = NewHexVal(yyDollar[1].bytes) } - case 1003: + case 1021: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5072 +//line sql.y:5147 { yyVAL.expr = NewBitVal(yyDollar[1].bytes) } - case 1004: + case 1022: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5076 +//line sql.y:5151 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1005: + case 1023: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5080 +//line sql.y:5155 { yyVAL.expr = NewFloatVal(yyDollar[1].bytes) } - case 1006: + case 1024: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5084 +//line sql.y:5159 { yyVAL.expr = NewHexNum(yyDollar[1].bytes) } - case 1007: + case 1025: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5088 +//line sql.y:5163 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1008: + case 1026: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5092 +//line sql.y:5167 { yyVAL.expr = &NullVal{} } - case 1009: + case 1027: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5098 +//line sql.y:5173 { yyVAL.expr = NewIntVal([]byte("1")) } - case 1010: + case 1028: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5102 +//line sql.y:5177 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1011: + case 1029: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5106 +//line sql.y:5181 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1012: + case 1030: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5111 +//line sql.y:5186 { yyVAL.exprs = nil } - case 1013: + case 1031: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5115 +//line sql.y:5190 { yyVAL.exprs = yyDollar[3].exprs } - case 1014: + case 1032: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5121 +//line sql.y:5196 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 1015: + case 1033: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5125 +//line sql.y:5200 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 1016: + case 1034: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5131 +//line sql.y:5206 { yyVAL.expr = yyDollar[1].expr } - case 1017: + case 1035: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5136 +//line sql.y:5211 { yyVAL.expr = nil } - case 1018: + case 1036: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5140 +//line sql.y:5215 { yyVAL.expr = yyDollar[2].expr } - case 1019: + case 1037: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5146 +//line sql.y:5221 { yyVAL.expr = yyDollar[1].expr } - case 1020: + case 1038: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5151 +//line sql.y:5226 { yyVAL.orderBy = nil } - case 1021: + case 1039: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5155 +//line sql.y:5230 { yyVAL.orderBy = yyDollar[3].orderBy } - case 1022: + case 1040: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5161 +//line sql.y:5236 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 1023: + case 1041: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5165 +//line sql.y:5240 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 1024: + case 1042: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5171 +//line sql.y:5246 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].str} } - case 1025: + case 1043: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5176 +//line sql.y:5251 { yyVAL.str = AscScr } - case 1026: + case 1044: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5180 +//line sql.y:5255 { yyVAL.str = AscScr } - case 1027: + case 1045: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5184 +//line sql.y:5259 { yyVAL.str = DescScr } - case 1028: + case 1046: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5189 +//line sql.y:5264 { yyVAL.limit = nil } - case 1029: + case 1047: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5193 +//line sql.y:5268 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 1030: + case 1048: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5197 +//line sql.y:5272 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 1031: + case 1049: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5201 +//line sql.y:5276 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 1032: + case 1050: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5207 +//line sql.y:5282 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1033: + case 1051: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5211 +//line sql.y:5286 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1034: + case 1052: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5216 +//line sql.y:5291 { yyVAL.str = "" } - case 1035: + case 1053: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5220 +//line sql.y:5295 { yyVAL.str = ForUpdateStr } - case 1036: + case 1054: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5224 +//line sql.y:5299 { yyVAL.str = ShareModeStr } - case 1037: + case 1055: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5237 +//line sql.y:5312 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 1038: + case 1056: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5241 +//line sql.y:5316 { yyVAL.ins = &Insert{Columns: []ColIdent{}, Rows: yyDollar[4].values} } - case 1039: + case 1057: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5245 +//line sql.y:5320 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 1040: + case 1058: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5249 +//line sql.y:5324 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Rows: yyDollar[2].selStmt} } - case 1041: + case 1059: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5254 +//line sql.y:5329 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 1042: + case 1060: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5258 +//line sql.y:5333 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 1043: + case 1061: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:5262 +//line sql.y:5337 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].selStmt} } - case 1044: + case 1062: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5268 +//line sql.y:5343 { yyVAL.columns = nil } - case 1045: + case 1063: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5272 +//line sql.y:5347 { yyVAL.columns = yyDollar[2].columns } - case 1046: + case 1064: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5278 +//line sql.y:5353 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 1047: + case 1065: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5282 +//line sql.y:5357 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 1048: + case 1066: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5286 +//line sql.y:5361 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 1049: + case 1067: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5290 +//line sql.y:5365 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 1050: + case 1068: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5295 +//line sql.y:5370 { yyVAL.assignExprs = nil } - case 1051: + case 1069: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5299 +//line sql.y:5374 { yyVAL.assignExprs = yyDollar[5].assignExprs } - case 1052: + case 1070: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5305 +//line sql.y:5380 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 1053: + case 1071: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5309 +//line sql.y:5384 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 1054: + case 1072: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5315 +//line sql.y:5390 { yyVAL.valTuple = yyDollar[1].valTuple } - case 1055: + case 1073: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5319 +//line sql.y:5394 { yyVAL.valTuple = ValTuple{} } - case 1056: + case 1074: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5325 +//line sql.y:5400 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 1057: + case 1075: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5331 +//line sql.y:5406 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = &ParenExpr{yyDollar[1].valTuple[0]} @@ -12358,45 +12574,45 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 1058: + case 1076: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5341 +//line sql.y:5416 { yyVAL.assignExprs = AssignmentExprs{yyDollar[1].assignExpr} } - case 1059: + case 1077: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5345 +//line sql.y:5420 { yyVAL.assignExprs = append(yyDollar[1].assignExprs, yyDollar[3].assignExpr) } - case 1060: + case 1078: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5351 +//line sql.y:5426 { yyVAL.assignExpr = &AssignmentExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 1061: + case 1079: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5354 +//line sql.y:5429 { yyVAL.assignExpr = &AssignmentExpr{Name: &ColName{Name: NewColIdent(string(yyDollar[1].bytes))}, Expr: yyDollar[3].expr} } - case 1062: + case 1080: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5360 +//line sql.y:5435 { yyVAL.setVarExprs = SetVarExprs{yyDollar[1].setVarExpr} } - case 1063: + case 1081: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5364 +//line sql.y:5439 { yyVAL.setVarExprs = append(yyDollar[1].setVarExprs, yyDollar[3].setVarExpr) } - case 1064: + case 1082: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5370 +//line sql.y:5445 { colName, scope, err := VarScopeForColName(yyDollar[1].setVarExpr.Name) if err != nil { @@ -12407,9 +12623,9 @@ yydefault: yyDollar[1].setVarExpr.Scope = scope yyVAL.setVarExpr = yyDollar[1].setVarExpr } - case 1065: + case 1083: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5381 +//line sql.y:5456 { _, scope, err := VarScopeForColName(yyDollar[2].setVarExpr.Name) if err != nil { @@ -12422,9 +12638,9 @@ yydefault: yyDollar[2].setVarExpr.Scope = yyDollar[1].setScope yyVAL.setVarExpr = yyDollar[2].setVarExpr } - case 1066: + case 1084: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5394 +//line sql.y:5469 { _, scope, err := VarScopeForColName(yyDollar[2].setVarExpr.Name) if err != nil { @@ -12437,462 +12653,462 @@ yydefault: yyDollar[2].setVarExpr.Scope = yyDollar[1].setScope yyVAL.setVarExpr = yyDollar[2].setVarExpr } - case 1067: + case 1085: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5407 +//line sql.y:5482 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(string(yyDollar[1].bytes)), Expr: yyDollar[2].expr, Scope: SetScope_Session} } - case 1068: + case 1086: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5413 +//line sql.y:5488 { yyVAL.setScope = SetScope_Global } - case 1069: + case 1087: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5417 +//line sql.y:5492 { yyVAL.setScope = SetScope_Session } - case 1070: + case 1088: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5423 +//line sql.y:5498 { yyVAL.setScope = SetScope_Session } - case 1071: + case 1089: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5427 +//line sql.y:5502 { yyVAL.setScope = SetScope_Persist } - case 1072: + case 1090: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5431 +//line sql.y:5506 { yyVAL.setScope = SetScope_PersistOnly } - case 1073: + case 1091: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5437 +//line sql.y:5512 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: NewStrVal(yyDollar[3].bytes), Scope: SetScope_None} } - case 1074: + case 1092: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5441 +//line sql.y:5516 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: NewStrVal(yyDollar[3].bytes), Scope: SetScope_None} } - case 1075: + case 1093: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5445 +//line sql.y:5520 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr, Scope: SetScope_None} } - case 1077: + case 1095: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5452 +//line sql.y:5527 { yyVAL.bytes = []byte("charset") } - case 1079: + case 1097: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5459 +//line sql.y:5534 { yyVAL.expr = NewStrVal([]byte(yyDollar[1].colIdent.String())) } - case 1080: + case 1098: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5463 +//line sql.y:5538 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 1081: + case 1099: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5467 +//line sql.y:5542 { yyVAL.expr = &Default{} } - case 1084: + case 1102: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5476 +//line sql.y:5551 { yyVAL.byt = 0 } - case 1085: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5478 +//line sql.y:5553 { yyVAL.byt = 1 } - case 1086: + case 1104: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5481 +//line sql.y:5556 { yyVAL.byt = 0 } - case 1087: + case 1105: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5483 +//line sql.y:5558 { yyVAL.byt = 1 } - case 1088: + case 1106: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5486 +//line sql.y:5561 { yyVAL.byt = 0 } - case 1089: + case 1107: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5488 +//line sql.y:5563 { yyVAL.byt = 1 } - case 1090: + case 1108: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5491 +//line sql.y:5566 { yyVAL.str = "" } - case 1091: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5493 +//line sql.y:5568 { yyVAL.str = IgnoreStr } - case 1092: + case 1110: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5496 +//line sql.y:5571 { yyVAL.sqlVal = nil } - case 1093: + case 1111: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5498 +//line sql.y:5573 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } - case 1094: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5502 +//line sql.y:5577 { yyVAL.empty = struct{}{} } - case 1095: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5504 +//line sql.y:5579 { yyVAL.empty = struct{}{} } - case 1096: + case 1114: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5507 +//line sql.y:5582 { yyVAL.empty = struct{}{} } - case 1097: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5509 +//line sql.y:5584 { yyVAL.empty = struct{}{} } - case 1098: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5511 +//line sql.y:5586 { yyVAL.empty = struct{}{} } - case 1099: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5515 +//line sql.y:5590 { yyVAL.str = UniqueStr } - case 1100: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5517 +//line sql.y:5592 { yyVAL.str = FulltextStr } - case 1101: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5519 +//line sql.y:5594 { yyVAL.str = SpatialStr } - case 1102: + case 1120: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5522 +//line sql.y:5597 { yyVAL.str = "" } - case 1103: + case 1121: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5524 +//line sql.y:5599 { yyVAL.str = yyDollar[1].str } - case 1104: + case 1122: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5527 +//line sql.y:5602 { yyVAL.colIdent = ColIdent{} } - case 1105: + case 1123: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5529 +//line sql.y:5604 { yyVAL.colIdent = yyDollar[2].colIdent } - case 1106: + case 1124: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5533 +//line sql.y:5608 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1107: + case 1125: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5537 +//line sql.y:5612 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1108: + case 1126: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5543 +//line sql.y:5618 { yyVAL.colIdents = []ColIdent{yyDollar[1].colIdent} } - case 1109: + case 1127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5547 +//line sql.y:5622 { yyVAL.colIdents = append(yyVAL.colIdents, yyDollar[3].colIdent) } - case 1111: + case 1129: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5554 +//line sql.y:5629 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1112: + case 1130: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5560 +//line sql.y:5635 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1113: + case 1131: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5564 +//line sql.y:5639 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1115: + case 1133: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5571 +//line sql.y:5646 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1116: + case 1134: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5576 +//line sql.y:5651 { yyVAL.str = string("") } - case 1117: + case 1135: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5578 +//line sql.y:5653 { yyVAL.str = string(yyDollar[2].bytes) } - case 1118: + case 1136: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5581 +//line sql.y:5656 { yyVAL.boolVal = BoolVal(false) } - case 1119: + case 1137: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5583 +//line sql.y:5658 { yyVAL.boolVal = BoolVal(true) } - case 1120: + case 1138: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5586 +//line sql.y:5661 { yyVAL.EnclosedBy = nil } - case 1121: + case 1139: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5590 +//line sql.y:5665 { yyVAL.EnclosedBy = &EnclosedBy{Optionally: yyDollar[1].boolVal, Delim: NewStrVal(yyDollar[4].bytes)} } - case 1122: + case 1140: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5595 +//line sql.y:5670 { yyVAL.boolVal = BoolVal(false) } - case 1123: + case 1141: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5599 +//line sql.y:5674 { yyVAL.boolVal = BoolVal(true) } - case 1124: + case 1142: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5604 +//line sql.y:5679 { yyVAL.sqlVal = nil } - case 1125: + case 1143: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5608 +//line sql.y:5683 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1126: + case 1144: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5613 +//line sql.y:5688 { yyVAL.sqlVal = nil } - case 1127: + case 1145: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5617 +//line sql.y:5692 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1128: + case 1146: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5622 +//line sql.y:5697 { yyVAL.Fields = nil } - case 1129: + case 1147: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5626 +//line sql.y:5701 { yyVAL.Fields = &Fields{TerminatedBy: yyDollar[2].sqlVal, EnclosedBy: yyDollar[3].EnclosedBy, EscapedBy: yyDollar[4].sqlVal} } - case 1130: + case 1148: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5631 +//line sql.y:5706 { yyVAL.Lines = nil } - case 1131: + case 1149: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5635 +//line sql.y:5710 { yyVAL.Lines = &Lines{StartingBy: yyDollar[2].sqlVal, TerminatedBy: yyDollar[3].sqlVal} } - case 1132: + case 1150: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5640 +//line sql.y:5715 { yyVAL.sqlVal = nil } - case 1133: + case 1151: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5644 +//line sql.y:5719 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1134: + case 1152: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5650 +//line sql.y:5725 { yyVAL.statement = &LockTables{Tables: yyDollar[3].tableAndLockTypes} } - case 1135: + case 1153: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5656 +//line sql.y:5731 { yyVAL.tableAndLockTypes = TableAndLockTypes{yyDollar[1].tableAndLockType} } - case 1136: + case 1154: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5660 +//line sql.y:5735 { yyVAL.tableAndLockTypes = append(yyDollar[1].tableAndLockTypes, yyDollar[3].tableAndLockType) } - case 1137: + case 1155: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5666 +//line sql.y:5741 { yyVAL.tableAndLockType = &TableAndLockType{Table: &AliasedTableExpr{Expr: yyDollar[1].tableName}, Lock: yyDollar[2].lockType} } - case 1138: + case 1156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5670 +//line sql.y:5745 { yyVAL.tableAndLockType = &TableAndLockType{Table: &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[3].tableIdent}, Lock: yyDollar[4].lockType} } - case 1139: + case 1157: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5676 +//line sql.y:5751 { yyVAL.lockType = LockRead } - case 1140: + case 1158: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5680 +//line sql.y:5755 { yyVAL.lockType = LockReadLocal } - case 1141: + case 1159: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5684 +//line sql.y:5759 { yyVAL.lockType = LockWrite } - case 1142: + case 1160: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5688 +//line sql.y:5763 { yyVAL.lockType = LockLowPriorityWrite } - case 1143: + case 1161: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5694 +//line sql.y:5769 { yyVAL.statement = &UnlockTables{} } - case 1144: + case 1162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5700 +//line sql.y:5775 { yyVAL.statement = &Kill{Connection: true, ConnID: NewIntVal(yyDollar[2].bytes)} } - case 1145: + case 1163: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5704 +//line sql.y:5779 { yyVAL.statement = &Kill{ConnID: NewIntVal(yyDollar[3].bytes)} } - case 1146: + case 1164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5708 +//line sql.y:5783 { yyVAL.statement = &Kill{Connection: true, ConnID: NewIntVal(yyDollar[3].bytes)} } - case 1572: + case 1599: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6163 +//line sql.y:6247 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1573: + case 1600: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6172 +//line sql.y:6256 { decNesting(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 84847336f08..0d637d435da 100755 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -118,6 +118,8 @@ func yyOldPosition(yylex interface{}) int { indexInfo *IndexInfo indexOption *IndexOption indexOptions []*IndexOption + flushOption *FlushOption + flushOptions []*FlushOption indexColumn *IndexColumn indexColumns []*IndexColumn constraintDefinition *ConstraintDefinition @@ -241,7 +243,8 @@ func yyOldPosition(yylex interface{}) int { %token SSL X509 CIPHER ISSUER SUBJECT ACCOUNT EXPIRE NEVER DAY OPTION OPTIONAL EXCEPT ADMIN PRIVILEGES %token MAX_QUERIES_PER_HOUR MAX_UPDATES_PER_HOUR MAX_CONNECTIONS_PER_HOUR MAX_USER_CONNECTIONS FLUSH %token FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME UNBOUNDED REQUIRE PROXY ROUTINE TABLESPACE CLIENT SLAVE -%token EVENT EXECUTE FILE RELOAD REPLICATION SHUTDOWN SUPER USAGE +%token EVENT EXECUTE FILE RELOAD REPLICATION SHUTDOWN SUPER USAGE LOGS ENGINE ERROR GENERAL HOSTS +%token OPTIMIZER_COSTS RELAY SLOW USER_RESOURCES NO_WRITE_TO_BINLOG // Transaction Tokens %token BEGIN START TRANSACTION COMMIT ROLLBACK SAVEPOINT WORK RELEASE @@ -392,6 +395,7 @@ func yyOldPosition(yylex interface{}) int { %type like_or_where_opt %type exists_opt not_exists_opt sql_calc_found_rows_opt temp_opt %type key_type key_type_opt +%type flush_type flush_type_opt %type to_opt to_or_as as_opt column_opt describe %type definer_opt %type reserved_keyword non_reserved_keyword column_name_safe_reserved_keyword @@ -426,6 +430,8 @@ func yyOldPosition(yylex interface{}) int { %type index_column_list %type index_option %type index_option_list index_option_list_opt +%type flush_option +%type flush_option_list flush_option_list_opt %type constraint_info check_constraint_info %type partition_definitions %type partition_definition @@ -1084,12 +1090,6 @@ grant_statement: $$ = &GrantProxy{On: $4, To: $6, WithGrantOption: $7} } -flush_statement: - FLUSH PRIVILEGES - { - $$ = &FlushPrivileges{} - } - revoke_statement: REVOKE ALL ON grant_object_type grant_privilege_level FROM account_name_list { @@ -2578,6 +2578,81 @@ column_comment: $$ = NewStrVal($2) } +flush_statement: + FLUSH flush_type_opt flush_option_list_opt + { + $$ = &Flush{Type: $2, Options: $3} + } + +flush_option_list_opt: + flush_option_list + { + $$ = $1 + } + +flush_option_list: + flush_option + { $$ = []*FlushOption{$1} } +| flush_option_list flush_option + { $$ = append($$, $2) } + +flush_option: + BINARY LOGS + { + $$ = &FlushOption{Name: string($1) + " " + string($2)} + } +| ENGINE LOGS + { + $$ = &FlushOption{Name: string($1) + " " + string($2)} + } +| ERROR LOGS + { + $$ = &FlushOption{Name: string($1) + " " + string($2)} + } +| GENERAL LOGS + { + $$ = &FlushOption{Name: string($1) + " " + string($2)} + } +| HOSTS + { + $$ = &FlushOption{Name: string($1)} + } +| LOGS + { + $$ = &FlushOption{Name: string($1)} + } +| PRIVILEGES + { + $$ = &FlushOption{Name: string($1)} + } +| OPTIMIZER_COSTS + { + $$ = &FlushOption{Name: string($1)} + } +| SLOW LOGS + { + $$ = &FlushOption{Name: string($1) + " " + string($2)} + } +| STATUS + { + $$ = &FlushOption{Name: string($1)} + } +| USER_RESOURCES + { + $$ = &FlushOption{Name: string($1)} + } + +flush_type: + NO_WRITE_TO_BINLOG + { $$ = string($1) } +| LOCAL + { $$ = string($1) } + +flush_type_opt: + { $$ = "" } +| flush_type + { $$ = $1 } + index_definition: index_info '(' index_column_list ')' index_option_list { @@ -5820,6 +5895,7 @@ reserved_keyword: | OF | OFF | ON +| OPTIMIZER_COSTS | OR | ORDER | OUT @@ -5845,6 +5921,7 @@ reserved_keyword: | SET | SHOW | SHUTDOWN +| STATUS | STD | STDDEV | STDDEV_POP @@ -5882,7 +5959,6 @@ reserved_keyword: | WHERE | WINDOW | WITH -| STATUS /* These are non-reserved Vitess, because they don't cause conflicts in the grammar. @@ -5942,8 +6018,10 @@ non_reserved_keyword: | DUPLICATE | EACH | ENFORCED +| ENGINE | ENGINES | ENUM +| ERROR | EXCEPT | EXCLUDE | EXPANSION @@ -5954,12 +6032,14 @@ non_reserved_keyword: | FLUSH | FOREIGN | FULLTEXT +| GENERAL | GEOMCOLLECTION | GEOMETRY | GEOMETRYCOLLECTION | GET_MASTER_PUBLIC_KEY | GLOBAL | GRANTS +| HOSTS | HISTOGRAM | HISTORY | INACTIVE @@ -5983,6 +6063,7 @@ non_reserved_keyword: | LOAD | LOCAL | LOCKED +| LOGS | LONGBLOB | LONGTEXT | LOW_PRIORITY @@ -6045,6 +6126,7 @@ non_reserved_keyword: | READ | REAL | REFERENCE +| RELAY | RELEASE | REORGANIZE | REPAIR @@ -6078,6 +6160,7 @@ non_reserved_keyword: | SIGNED | SKIP | SLAVE +| SLOW | SMALLINT | SPATIAL | SQLSTATE @@ -6109,6 +6192,7 @@ non_reserved_keyword: | UNSIGNED | UNUSED | USER +| USER_RESOURCES | VARBINARY | VARCHAR | VARIABLES diff --git a/go/vt/sqlparser/token.go b/go/vt/sqlparser/token.go index 74797301f2a..ccff3668230 100644 --- a/go/vt/sqlparser/token.go +++ b/go/vt/sqlparser/token.go @@ -205,8 +205,10 @@ var keywords = map[string]int{ "enclosed": ENCLOSED, "end": END, "enforced": ENFORCED, + "engine": ENGINE, "engines": ENGINES, "enum": ENUM, + "error": ERROR, "errors": ERRORS, "escape": ESCAPE, "escaped": ESCAPED, @@ -241,6 +243,7 @@ var keywords = map[string]int{ "full": FULL, "fulltext": FULLTEXT, "function": FUNCTION, + "general": GENERAL, "generated": UNUSED, "geometry": GEOMETRY, "geometrycollection": GEOMETRYCOLLECTION, @@ -256,6 +259,7 @@ var keywords = map[string]int{ "having": HAVING, "high_priority": UNUSED, "history": HISTORY, + "hosts": HOSTS, "hour_microsecond": UNUSED, "hour_minute": UNUSED, "hour_second": UNUSED, @@ -314,6 +318,7 @@ var keywords = map[string]int{ "localtime": LOCALTIME, "localtimestamp": LOCALTIMESTAMP, "lock": LOCK, + "logs": LOGS, "long": LONG, "longblob": LONGBLOB, "longtext": LONGTEXT, @@ -350,7 +355,7 @@ var keywords = map[string]int{ "never": NEVER, "next": NEXT, "no": NO, - "no_write_to_binlog": UNUSED, + "no_write_to_binlog": NO_WRITE_TO_BINLOG, "none": NONE, "not": NOT, "nth_value": NTH_VALUE, @@ -364,7 +369,7 @@ var keywords = map[string]int{ "on": ON, "only": ONLY, "optimize": OPTIMIZE, - "optimizer_costs": UNUSED, + "optimizer_costs": OPTIMIZER_COSTS, "option": OPTION, "optional": OPTIONAL, "optionally": OPTIONALLY, @@ -403,6 +408,7 @@ var keywords = map[string]int{ "recursive": RECURSIVE, "references": REFERENCES, "regexp": REGEXP, + "relay": RELAY, "release": RELEASE, "reload": RELOAD, "rename": RENAME, @@ -444,6 +450,7 @@ var keywords = map[string]int{ "signal": SIGNAL, "signed": SIGNED, "slave": SLAVE, + "slow": SLOW, "smallint": SMALLINT, "spatial": SPATIAL, "specific": UNUSED, @@ -508,6 +515,7 @@ var keywords = map[string]int{ "usage": USAGE, "use": USE, "user": USER, + "user_resources": USER_RESOURCES, "using": USING, "utc_date": UTC_DATE, "utc_time": UTC_TIME, From 132af952bfdb4b220eeabbde05e1d872293dcef4 Mon Sep 17 00:00:00 2001 From: jennifersp Date: Tue, 1 Mar 2022 16:31:33 -0800 Subject: [PATCH 4/6] update formatting --- go/vt/sqlparser/ast.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 27aa4a1367a..983a850d0f4 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2819,7 +2819,7 @@ func (node *Rollback) Format(buf *TrackedBuffer) { buf.WriteString("rollback") } -// FlushOption is used for trailing options for indexes: COMMENT, KEY_BLOCK_SIZE, USING +// FlushOption is used for trailing options for flush statement type FlushOption struct { Name string } @@ -2832,18 +2832,18 @@ type Flush struct{ // Format formats the node. func (node *Flush) Format(buf *TrackedBuffer) { - flushStr := "flush" - if node.Type != "" { - flushStr = fmt.Sprintf("%s %s", flushStr, strings.ToLower(node.Type)) - } + buf.WriteString("flush") var opts []string for _, opt := range node.Options { opts = append(opts, strings.ToLower(opt.Name)) } - flushStr = fmt.Sprintf("%s %s", flushStr, strings.Join(opts, " ")) - buf.WriteString(flushStr) + if node.Type == "" { + buf.Myprintf(" %s", strings.Join(opts, " ")) + } else { + buf.Myprintf(" %s %s", strings.ToLower(node.Type), strings.Join(opts, " ")) + } } // OtherRead represents a DESCRIBE, or EXPLAIN statement. From 60a64b2cf69f80f522c9aa5e708adbf9aab89ca2 Mon Sep 17 00:00:00 2001 From: jennifersp Date: Tue, 1 Mar 2022 16:57:53 -0800 Subject: [PATCH 5/6] add relay logs --- go/vt/sqlparser/ast.go | 4 + go/vt/sqlparser/parse_test.go | 3 + go/vt/sqlparser/sql.go | 12674 ++++++++++++++++---------------- go/vt/sqlparser/sql.y | 13 +- go/vt/sqlparser/token.go | 1 + 5 files changed, 6364 insertions(+), 6331 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 983a850d0f4..1704059399d 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2822,6 +2822,7 @@ func (node *Rollback) Format(buf *TrackedBuffer) { // FlushOption is used for trailing options for flush statement type FlushOption struct { Name string + Channel string } // Flush represents a Flush statement. @@ -2837,6 +2838,9 @@ func (node *Flush) Format(buf *TrackedBuffer) { var opts []string for _, opt := range node.Options { opts = append(opts, strings.ToLower(opt.Name)) + if opt.Name == "RELAY LOGS" && opt.Channel != ""{ + opts = append(opts, "for channel " + opt.Channel) + } } if node.Type == "" { diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index e823be43f4b..303679fea79 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -2312,6 +2312,9 @@ var ( }, { input: "FLUSH USER_RESOURCES", output: "flush user_resources", + }, { + input: "FLUSH RELAY LOGS FOR CHANNEL 'connections'", + output: "flush relay logs for channel connections", }, { input: "FLUSH LOCAL HOSTS", output: "flush local hosts", diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index ff628237ee9..058ee5cf3d7 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -435,214 +435,215 @@ const RELAY = 57612 const SLOW = 57613 const USER_RESOURCES = 57614 const NO_WRITE_TO_BINLOG = 57615 -const BEGIN = 57616 -const START = 57617 -const TRANSACTION = 57618 -const COMMIT = 57619 -const ROLLBACK = 57620 -const SAVEPOINT = 57621 -const WORK = 57622 -const RELEASE = 57623 -const BIT = 57624 -const TINYINT = 57625 -const SMALLINT = 57626 -const MEDIUMINT = 57627 -const INT = 57628 -const INTEGER = 57629 -const BIGINT = 57630 -const INTNUM = 57631 -const SERIAL = 57632 -const REAL = 57633 -const DOUBLE = 57634 -const FLOAT_TYPE = 57635 -const DECIMAL = 57636 -const NUMERIC = 57637 -const DEC = 57638 -const FIXED = 57639 -const PRECISION = 57640 -const TIME = 57641 -const TIMESTAMP = 57642 -const DATETIME = 57643 -const YEAR = 57644 -const CHAR = 57645 -const VARCHAR = 57646 -const BOOL = 57647 -const CHARACTER = 57648 -const VARBINARY = 57649 -const NCHAR = 57650 -const NVARCHAR = 57651 -const NATIONAL = 57652 -const VARYING = 57653 -const TEXT = 57654 -const TINYTEXT = 57655 -const MEDIUMTEXT = 57656 -const LONGTEXT = 57657 -const LONG = 57658 -const BLOB = 57659 -const TINYBLOB = 57660 -const MEDIUMBLOB = 57661 -const LONGBLOB = 57662 -const JSON = 57663 -const ENUM = 57664 -const GEOMETRY = 57665 -const POINT = 57666 -const LINESTRING = 57667 -const POLYGON = 57668 -const GEOMETRYCOLLECTION = 57669 -const MULTIPOINT = 57670 -const MULTILINESTRING = 57671 -const MULTIPOLYGON = 57672 -const LOCAL = 57673 -const LOW_PRIORITY = 57674 -const NULLX = 57675 -const AUTO_INCREMENT = 57676 -const APPROXNUM = 57677 -const SIGNED = 57678 -const UNSIGNED = 57679 -const ZEROFILL = 57680 -const COLLATION = 57681 -const DATABASES = 57682 -const SCHEMAS = 57683 -const TABLES = 57684 -const FULL = 57685 -const PROCESSLIST = 57686 -const COLUMNS = 57687 -const FIELDS = 57688 -const ENGINES = 57689 -const PLUGINS = 57690 -const NAMES = 57691 -const CHARSET = 57692 -const GLOBAL = 57693 -const SESSION = 57694 -const ISOLATION = 57695 -const LEVEL = 57696 -const READ = 57697 -const WRITE = 57698 -const ONLY = 57699 -const REPEATABLE = 57700 -const COMMITTED = 57701 -const UNCOMMITTED = 57702 -const SERIALIZABLE = 57703 -const CURRENT_TIMESTAMP = 57704 -const DATABASE = 57705 -const CURRENT_DATE = 57706 -const CURRENT_USER = 57707 -const CURRENT_TIME = 57708 -const LOCALTIME = 57709 -const LOCALTIMESTAMP = 57710 -const UTC_DATE = 57711 -const UTC_TIME = 57712 -const UTC_TIMESTAMP = 57713 -const REPLACE = 57714 -const CONVERT = 57715 -const CAST = 57716 -const SUBSTR = 57717 -const SUBSTRING = 57718 -const TRIM = 57719 -const LEADING = 57720 -const TRAILING = 57721 -const BOTH = 57722 -const GROUP_CONCAT = 57723 -const SEPARATOR = 57724 -const TIMESTAMPADD = 57725 -const TIMESTAMPDIFF = 57726 -const OVER = 57727 -const WINDOW = 57728 -const GROUPING = 57729 -const CURRENT = 57730 -const AVG = 57731 -const BIT_AND = 57732 -const BIT_OR = 57733 -const BIT_XOR = 57734 -const COUNT = 57735 -const JSON_ARRAYAGG = 57736 -const JSON_OBJECTAGG = 57737 -const MAX = 57738 -const MIN = 57739 -const STDDEV_POP = 57740 -const STDDEV = 57741 -const STD = 57742 -const STDDEV_SAMP = 57743 -const SUM = 57744 -const VAR_POP = 57745 -const VARIANCE = 57746 -const VAR_SAMP = 57747 -const CUME_DIST = 57748 -const DENSE_RANK = 57749 -const FIRST_VALUE = 57750 -const LAG = 57751 -const LAST_VALUE = 57752 -const LEAD = 57753 -const NTH_VALUE = 57754 -const NTILE = 57755 -const ROW_NUMBER = 57756 -const PERCENT_RANK = 57757 -const RANK = 57758 -const MATCH = 57759 -const AGAINST = 57760 -const BOOLEAN = 57761 -const LANGUAGE = 57762 -const WITH = 57763 -const QUERY = 57764 -const EXPANSION = 57765 -const UNUSED = 57766 -const ARRAY = 57767 -const DESCRIPTION = 57768 -const EMPTY = 57769 -const JSON_TABLE = 57770 -const LATERAL = 57771 -const MEMBER = 57772 -const RECURSIVE = 57773 -const ACTIVE = 57774 -const BUCKETS = 57775 -const CLONE = 57776 -const COMPONENT = 57777 -const DEFINITION = 57778 -const ENFORCED = 57779 -const EXCLUDE = 57780 -const GEOMCOLLECTION = 57781 -const GET_MASTER_PUBLIC_KEY = 57782 -const HISTOGRAM = 57783 -const HISTORY = 57784 -const INACTIVE = 57785 -const INVISIBLE = 57786 -const LOCKED = 57787 -const MASTER_COMPRESSION_ALGORITHMS = 57788 -const MASTER_PUBLIC_KEY_PATH = 57789 -const MASTER_TLS_CIPHERSUITES = 57790 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57791 -const NESTED = 57792 -const NETWORK_NAMESPACE = 57793 -const NOWAIT = 57794 -const NULLS = 57795 -const OJ = 57796 -const OLD = 57797 -const ORDINALITY = 57798 -const ORGANIZATION = 57799 -const OTHERS = 57800 -const PATH = 57801 -const PERSIST = 57802 -const PERSIST_ONLY = 57803 -const PRIVILEGE_CHECKS_USER = 57804 -const PROCESS = 57805 -const REFERENCE = 57806 -const REQUIRE_ROW_FORMAT = 57807 -const RESOURCE = 57808 -const RESPECT = 57809 -const RESTART = 57810 -const RETAIN = 57811 -const SECONDARY = 57812 -const SECONDARY_ENGINE = 57813 -const SECONDARY_LOAD = 57814 -const SECONDARY_UNLOAD = 57815 -const SKIP = 57816 -const SRID = 57817 -const THREAD_PRIORITY = 57818 -const TIES = 57819 -const VCPU = 57820 -const VISIBLE = 57821 -const SYSTEM = 57822 -const INFILE = 57823 +const CHANNEL = 57616 +const BEGIN = 57617 +const START = 57618 +const TRANSACTION = 57619 +const COMMIT = 57620 +const ROLLBACK = 57621 +const SAVEPOINT = 57622 +const WORK = 57623 +const RELEASE = 57624 +const BIT = 57625 +const TINYINT = 57626 +const SMALLINT = 57627 +const MEDIUMINT = 57628 +const INT = 57629 +const INTEGER = 57630 +const BIGINT = 57631 +const INTNUM = 57632 +const SERIAL = 57633 +const REAL = 57634 +const DOUBLE = 57635 +const FLOAT_TYPE = 57636 +const DECIMAL = 57637 +const NUMERIC = 57638 +const DEC = 57639 +const FIXED = 57640 +const PRECISION = 57641 +const TIME = 57642 +const TIMESTAMP = 57643 +const DATETIME = 57644 +const YEAR = 57645 +const CHAR = 57646 +const VARCHAR = 57647 +const BOOL = 57648 +const CHARACTER = 57649 +const VARBINARY = 57650 +const NCHAR = 57651 +const NVARCHAR = 57652 +const NATIONAL = 57653 +const VARYING = 57654 +const TEXT = 57655 +const TINYTEXT = 57656 +const MEDIUMTEXT = 57657 +const LONGTEXT = 57658 +const LONG = 57659 +const BLOB = 57660 +const TINYBLOB = 57661 +const MEDIUMBLOB = 57662 +const LONGBLOB = 57663 +const JSON = 57664 +const ENUM = 57665 +const GEOMETRY = 57666 +const POINT = 57667 +const LINESTRING = 57668 +const POLYGON = 57669 +const GEOMETRYCOLLECTION = 57670 +const MULTIPOINT = 57671 +const MULTILINESTRING = 57672 +const MULTIPOLYGON = 57673 +const LOCAL = 57674 +const LOW_PRIORITY = 57675 +const NULLX = 57676 +const AUTO_INCREMENT = 57677 +const APPROXNUM = 57678 +const SIGNED = 57679 +const UNSIGNED = 57680 +const ZEROFILL = 57681 +const COLLATION = 57682 +const DATABASES = 57683 +const SCHEMAS = 57684 +const TABLES = 57685 +const FULL = 57686 +const PROCESSLIST = 57687 +const COLUMNS = 57688 +const FIELDS = 57689 +const ENGINES = 57690 +const PLUGINS = 57691 +const NAMES = 57692 +const CHARSET = 57693 +const GLOBAL = 57694 +const SESSION = 57695 +const ISOLATION = 57696 +const LEVEL = 57697 +const READ = 57698 +const WRITE = 57699 +const ONLY = 57700 +const REPEATABLE = 57701 +const COMMITTED = 57702 +const UNCOMMITTED = 57703 +const SERIALIZABLE = 57704 +const CURRENT_TIMESTAMP = 57705 +const DATABASE = 57706 +const CURRENT_DATE = 57707 +const CURRENT_USER = 57708 +const CURRENT_TIME = 57709 +const LOCALTIME = 57710 +const LOCALTIMESTAMP = 57711 +const UTC_DATE = 57712 +const UTC_TIME = 57713 +const UTC_TIMESTAMP = 57714 +const REPLACE = 57715 +const CONVERT = 57716 +const CAST = 57717 +const SUBSTR = 57718 +const SUBSTRING = 57719 +const TRIM = 57720 +const LEADING = 57721 +const TRAILING = 57722 +const BOTH = 57723 +const GROUP_CONCAT = 57724 +const SEPARATOR = 57725 +const TIMESTAMPADD = 57726 +const TIMESTAMPDIFF = 57727 +const OVER = 57728 +const WINDOW = 57729 +const GROUPING = 57730 +const CURRENT = 57731 +const AVG = 57732 +const BIT_AND = 57733 +const BIT_OR = 57734 +const BIT_XOR = 57735 +const COUNT = 57736 +const JSON_ARRAYAGG = 57737 +const JSON_OBJECTAGG = 57738 +const MAX = 57739 +const MIN = 57740 +const STDDEV_POP = 57741 +const STDDEV = 57742 +const STD = 57743 +const STDDEV_SAMP = 57744 +const SUM = 57745 +const VAR_POP = 57746 +const VARIANCE = 57747 +const VAR_SAMP = 57748 +const CUME_DIST = 57749 +const DENSE_RANK = 57750 +const FIRST_VALUE = 57751 +const LAG = 57752 +const LAST_VALUE = 57753 +const LEAD = 57754 +const NTH_VALUE = 57755 +const NTILE = 57756 +const ROW_NUMBER = 57757 +const PERCENT_RANK = 57758 +const RANK = 57759 +const MATCH = 57760 +const AGAINST = 57761 +const BOOLEAN = 57762 +const LANGUAGE = 57763 +const WITH = 57764 +const QUERY = 57765 +const EXPANSION = 57766 +const UNUSED = 57767 +const ARRAY = 57768 +const DESCRIPTION = 57769 +const EMPTY = 57770 +const JSON_TABLE = 57771 +const LATERAL = 57772 +const MEMBER = 57773 +const RECURSIVE = 57774 +const ACTIVE = 57775 +const BUCKETS = 57776 +const CLONE = 57777 +const COMPONENT = 57778 +const DEFINITION = 57779 +const ENFORCED = 57780 +const EXCLUDE = 57781 +const GEOMCOLLECTION = 57782 +const GET_MASTER_PUBLIC_KEY = 57783 +const HISTOGRAM = 57784 +const HISTORY = 57785 +const INACTIVE = 57786 +const INVISIBLE = 57787 +const LOCKED = 57788 +const MASTER_COMPRESSION_ALGORITHMS = 57789 +const MASTER_PUBLIC_KEY_PATH = 57790 +const MASTER_TLS_CIPHERSUITES = 57791 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57792 +const NESTED = 57793 +const NETWORK_NAMESPACE = 57794 +const NOWAIT = 57795 +const NULLS = 57796 +const OJ = 57797 +const OLD = 57798 +const ORDINALITY = 57799 +const ORGANIZATION = 57800 +const OTHERS = 57801 +const PATH = 57802 +const PERSIST = 57803 +const PERSIST_ONLY = 57804 +const PRIVILEGE_CHECKS_USER = 57805 +const PROCESS = 57806 +const REFERENCE = 57807 +const REQUIRE_ROW_FORMAT = 57808 +const RESOURCE = 57809 +const RESPECT = 57810 +const RESTART = 57811 +const RETAIN = 57812 +const SECONDARY = 57813 +const SECONDARY_ENGINE = 57814 +const SECONDARY_LOAD = 57815 +const SECONDARY_UNLOAD = 57816 +const SKIP = 57817 +const SRID = 57818 +const THREAD_PRIORITY = 57819 +const TIES = 57820 +const VCPU = 57821 +const VISIBLE = 57822 +const SYSTEM = 57823 +const INFILE = 57824 var yyToknames = [...]string{ "$end", @@ -936,6 +937,7 @@ var yyToknames = [...]string{ "SLOW", "USER_RESOURCES", "NO_WRITE_TO_BINLOG", + "CHANNEL", "BEGIN", "START", "TRANSACTION", @@ -1160,3484 +1162,3474 @@ var yyExca = [...]int{ -2, 0, -1, 35, 5, 50, - -2, 1038, + -2, 1041, -1, 43, - 147, 1102, - 148, 1120, + 147, 1105, + 148, 1123, -2, 231, -1, 49, - 186, 673, - 187, 673, - -2, 663, - -1, 514, - 135, 1130, - -2, 1124, + 186, 676, + 187, 676, + -2, 666, -1, 515, - 135, 1131, - -2, 1125, - -1, 619, - 98, 1399, - 135, 1399, - -2, 1086, + 135, 1133, + -2, 1127, + -1, 516, + 135, 1134, + -2, 1128, -1, 620, - 98, 1516, - 135, 1516, - -2, 1087, - -1, 625, - 98, 1423, - 135, 1423, - -2, 1088, - -1, 626, - 98, 1470, - 135, 1470, + 98, 1403, + 135, 1403, -2, 1089, - -1, 627, - 98, 1471, - 135, 1471, + -1, 621, + 98, 1520, + 135, 1520, -2, 1090, + -1, 626, + 98, 1427, + 135, 1427, + -2, 1091, + -1, 627, + 98, 1474, + 135, 1474, + -2, 1092, -1, 628, - 98, 1349, - 135, 1349, - -2, 1094, - -1, 630, - 98, 1447, - 135, 1447, - -2, 1096, - -1, 1135, - 1, 770, - 5, 770, - 12, 770, - 13, 770, - 14, 770, - 15, 770, - 17, 770, - 19, 770, - 30, 770, - 31, 770, - 56, 770, - 57, 770, - 58, 770, - 59, 770, - 60, 770, - 62, 770, - 63, 770, - 66, 770, - 67, 770, - 69, 770, - 70, 770, - 404, 770, - 500, 770, - -2, 800, - -1, 1139, + 98, 1475, + 135, 1475, + -2, 1093, + -1, 629, + 98, 1353, + 135, 1353, + -2, 1097, + -1, 631, + 98, 1451, + 135, 1451, + -2, 1099, + -1, 1137, + 1, 773, + 5, 773, + 12, 773, + 13, 773, + 14, 773, + 15, 773, + 17, 773, + 19, 773, + 30, 773, + 31, 773, + 56, 773, + 57, 773, + 58, 773, + 59, 773, + 60, 773, + 62, 773, + 63, 773, + 66, 773, + 67, 773, + 69, 773, + 70, 773, + 405, 773, + 501, 773, + -2, 803, + -1, 1141, 67, 67, 69, 67, -2, 71, - -1, 1384, - 135, 1133, - -2, 1129, - -1, 1549, - 44, 522, - -2, 1361, - -1, 1553, - 68, 522, - -2, 1312, + -1, 1387, + 135, 1136, + -2, 1132, + -1, 1552, + 44, 525, + -2, 1365, -1, 1556, - 68, 518, - 72, 518, - -2, 1232, - -1, 1557, - 68, 519, - 72, 519, - -2, 1242, - -1, 1672, - 44, 565, - 154, 567, - 156, 565, - 157, 565, - -2, 600, - -1, 1742, - 5, 51, - -2, 866, - -1, 2041, - 69, 1287, - 70, 1287, - 135, 1287, - -2, 704, - -1, 2064, - 1, 821, - 5, 821, - 12, 821, - 13, 821, - 14, 821, - 15, 821, - 17, 821, - 19, 821, - 30, 821, - 31, 821, - 56, 821, - 57, 821, - 58, 821, - 59, 821, - 60, 821, - 62, 821, - 63, 821, - 66, 821, - 67, 821, - 69, 821, - 70, 821, - 404, 821, - 500, 821, - -2, 800, - -1, 2165, - 154, 568, - -2, 566, - -1, 2226, + 68, 525, + -2, 1315, + -1, 1559, + 68, 521, + 72, 521, + -2, 1235, + -1, 1560, + 68, 522, + 72, 522, + -2, 1245, + -1, 1677, + 44, 568, + 154, 570, + 156, 568, + 157, 568, + -2, 603, + -1, 1747, 5, 51, - -2, 1058, - -1, 2426, - 41, 1140, - -2, 1138, - -1, 2562, + -2, 869, + -1, 2047, + 69, 1290, + 70, 1290, + 135, 1290, + -2, 707, + -1, 2070, + 1, 824, + 5, 824, + 12, 824, + 13, 824, + 14, 824, + 15, 824, + 17, 824, + 19, 824, + 30, 824, + 31, 824, + 56, 824, + 57, 824, + 58, 824, + 59, 824, + 60, 824, + 62, 824, + 63, 824, + 66, 824, + 67, 824, + 69, 824, + 70, 824, + 405, 824, + 501, 824, + -2, 803, + -1, 2172, + 154, 571, + -2, 569, + -1, 2233, 5, 51, -2, 1061, + -1, 2433, + 41, 1143, + -2, 1141, + -1, 2569, + 5, 51, + -2, 1064, } const yyPrivate = 57344 -const yyLast = 33430 +const yyLast = 33345 var yyAct = [...]int{ - 577, 80, 2578, 2707, 2757, 2731, 2721, 2611, 2565, 2722, - 1983, 2544, 829, 2709, 2604, 2579, 2626, 417, 2549, 2446, - 2479, 7, 2478, 6, 1601, 2542, 2477, 5, 2480, 8, - 2238, 517, 2609, 2077, 2476, 3, 2333, 1170, 2426, 2058, - 2373, 1086, 1781, 1957, 1810, 1599, 1966, 2034, 644, 506, - 1831, 2291, 2314, 1541, 1508, 1502, 2428, 83, 1558, 2126, - 2285, 2269, 1362, 2566, 1506, 1611, 515, 1529, 2035, 2078, - 1965, 400, 403, 2253, 2150, 2159, 1891, 576, 533, 442, - 442, 80, 1550, 463, 1782, 448, 93, 1671, 1260, 1574, - 1540, 106, 499, 2031, 520, 861, 1695, 2043, 2050, 1539, - 1355, 1975, 1409, 2003, 1262, 1481, 1370, 1637, 1546, 1305, - 1278, 642, 1485, 1935, 127, 498, 1874, 127, 639, 1240, - 1132, 1586, 988, 127, 621, 1150, 1492, 1590, 1473, 1135, - 1386, 911, 1653, 445, 445, 1131, 845, 995, 1418, 890, - 991, 638, 502, 1149, 617, 618, 127, 1008, 613, 640, - 462, 962, 420, 512, 1310, 419, 2254, 127, 816, 85, - 610, 127, 647, 1141, 1104, 127, 2779, 2775, 2765, 889, - 2747, 2745, 2726, 2702, 1105, 2634, 82, 1303, 2405, 127, - 445, 2263, 647, 69, 2738, 460, 624, 522, 2270, 36, - 127, 1259, 36, 36, 2403, 2620, 2272, 87, 88, 89, - 90, 91, 828, 2720, 921, 2560, 2690, 1624, 2111, 2406, - 2458, 2595, 435, 1776, 429, 440, 423, 36, 1023, 1022, - 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, - 1777, 2418, 1034, 1420, 2358, 1902, 36, 430, 72, 39, - 40, 1624, 2123, 412, 2619, 2559, 2024, 2522, 2545, 1717, - 2218, 81, 815, 1819, 81, 81, 1818, 1652, 1504, 1820, - 818, 1525, 821, 822, 999, 2073, 2074, 1309, 118, 114, - 115, 2275, 116, 1526, 1527, 1351, 1352, 634, 592, 81, - 598, 600, 599, 596, 597, 595, 594, 593, 2072, 981, - 1307, 1308, 2615, 2615, 1151, 864, 1152, 1326, 81, 601, - 602, 947, 849, 850, 120, 119, 852, 939, 2610, 2273, - 2274, 2276, 2277, 2278, 865, 866, 411, 410, 1857, 1560, - 452, 508, 1306, 1651, 908, 1575, 2612, 2612, 2205, 2203, - 1562, 72, 39, 40, 109, 1566, 1568, 409, 1567, 851, - 1580, 963, 1575, 394, 422, 421, 424, 459, 1347, 1562, - 1346, 2616, 2616, 41, 428, 1345, 121, 1344, 122, 414, - 1343, 2342, 943, 944, 2286, 1897, 1849, 1925, 1587, 2431, - 2715, 432, 2289, 2149, 1930, 436, 2636, 99, 453, 1664, - 2635, 1854, 1853, 2133, 2585, 871, 2287, 2288, 2526, 439, - 2292, 2293, 2294, 2295, 2303, 2310, 972, 80, 80, 1665, - 1337, 2404, 2642, 1850, 1679, 1673, 1674, 2583, 1672, 1675, - 1676, 2127, 2128, 2129, 2130, 2131, 1290, 879, 1855, 881, - 1842, 1899, 2735, 880, 1612, 2301, 1843, 874, 2631, 2398, - 2516, 878, 882, 127, 112, 2397, 101, 2629, 2630, 2396, - 98, 2395, 2394, 2392, 1680, 2124, 111, 110, 2393, 923, - 2656, 2127, 2128, 2129, 2130, 2131, 977, 2512, 2513, 954, - 2400, 2567, 955, 2474, 985, 2623, 2624, 2240, 1802, 404, - 969, 862, 860, 863, 865, 866, 2718, 127, 872, 873, - 425, 426, 427, 433, 1316, 437, 438, 441, 107, 923, - 395, 1852, 968, 964, 965, 966, 967, 970, 108, 971, - 973, 2524, 1606, 117, 1901, 2713, 1916, 1917, 2708, 946, - 857, 405, 2704, 856, 1043, 2685, 2422, 1045, 2472, 2136, - 2771, 113, 2711, 1169, 103, 1169, 104, 1943, 127, 1605, - 1941, 858, 859, 820, 819, 2518, 1976, 848, 2315, 2316, - 401, 2459, 2164, 2780, 2777, 2271, 1056, 1057, 1058, 1059, - 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, - 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, - 1080, 1081, 1082, 1083, 2110, 1011, 1084, 2151, 1088, 1089, - 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, - 1100, 1864, 1103, 1106, 1106, 1106, 1112, 1106, 1106, 1112, - 1106, 1112, 1121, 1122, 1123, 1124, 1125, 1126, 413, 1136, - 1565, 1658, 1085, 1575, 974, 2698, 1589, 1678, 2004, 2558, - 73, 2401, 79, 2613, 2613, 79, 79, 924, 931, 932, - 934, 935, 936, 937, 938, 2584, 940, 941, 942, 976, - 945, 1291, 948, 949, 950, 951, 952, 983, 923, 1309, - 79, 922, 875, 956, 2419, 2517, 402, 933, 1903, 2006, - 402, 1900, 402, 1892, 1130, 2710, 2712, 1311, 397, 79, - 2523, 100, 1307, 1308, 127, 127, 127, 1048, 1049, 1050, - 1051, 1052, 1053, 1054, 1055, 2421, 2761, 431, 2135, 1851, - 647, 402, 1163, 1169, 2766, 2748, 1168, 1142, 817, 1893, - 2528, 2081, 1313, 398, 1044, 1312, 1169, 831, 458, 2326, - 1943, 1954, 624, 73, 1924, 109, 2325, 624, 892, 893, - 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, - 930, 1836, 1921, 1836, 2374, 996, 1905, 919, 1904, 1659, - 1248, 1246, 1154, 876, 1836, 1015, 1836, 1155, 2376, 1511, - 1513, 1233, 1809, 1229, 1808, 1807, 813, 1167, 1107, 1109, - 1111, 1113, 1115, 1117, 1118, 1120, 1836, 1919, 1108, 1110, - 1140, 1114, 1116, 980, 1119, 1145, 1023, 1022, 1032, 1033, - 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 928, 1621, - 1034, 1894, 1895, 1839, 1620, 1164, 1138, 823, 366, 2008, - 2190, 2329, 1046, 1047, 2012, 2182, 2007, 1923, 2005, 1922, - 1752, 1087, 1823, 2010, 929, 1815, 925, 2759, 1749, 918, - 2760, 2521, 2758, 1358, 1102, 2375, 2009, 111, 110, 1712, - 1700, 1685, 1365, 1638, 1835, 442, 1835, 1512, 1162, 1953, - 1242, 2011, 2013, 1950, 2324, 1147, 1014, 1835, 841, 1835, - 926, 927, 442, 1949, 1941, 2100, 1941, 1261, 1946, 1530, - 1169, 1945, 1948, 1942, 1943, 1024, 1034, 2145, 1034, 1835, - 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, - 647, 1521, 1034, 830, 1288, 2543, 2657, 2658, 445, 445, - 1264, 1027, 1028, 1029, 1030, 1031, 1024, 127, 2340, 1034, - 127, 2654, 2655, 2555, 2554, 445, 445, 2408, 127, 1958, - 1241, 2330, 1960, 1486, 2101, 1007, 1279, 127, 127, 127, - 127, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, - 1031, 1024, 442, 2048, 1034, 1046, 1047, 445, 96, 2047, - 1298, 2409, 1160, 1046, 1047, 883, 1393, 1628, 1301, 824, - 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 2026, 1286, - 1034, 1391, 1392, 1390, 854, 1474, 1335, 1005, 847, 2764, - 1006, 1005, 867, 1282, 1474, 1283, 1765, 2768, 80, 2699, - 2221, 1265, 1243, 95, 1007, 445, 445, 445, 1007, 1235, - 647, 1250, 2688, 1274, 1275, 1276, 1277, 2302, 1476, 2772, - 833, 834, 835, 836, 837, 838, 839, 1268, 1269, 1319, - 2296, 2088, 1349, 1280, 518, 2751, 2732, 2750, 1002, 2588, - 445, 94, 1747, 1285, 1746, 445, 445, 1023, 1022, 1032, - 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 1356, - 81, 1034, 1006, 1005, 1629, 2678, 80, 127, 1341, 127, - 2580, 1389, 647, 2773, 1293, 1294, 992, 2563, 1296, 993, - 1007, 855, 846, 1384, 457, 96, 869, 2416, 1383, 2581, - 127, 1314, 1318, 1315, 1299, 2519, 1011, 2415, 1413, 1414, - 1085, 1267, 1006, 1005, 1006, 1005, 1006, 1005, 2627, 1088, - 2414, 2701, 2413, 2628, 465, 1387, 1006, 1005, 1006, 1005, - 1007, 1284, 1007, 2028, 1007, 2407, 1511, 1513, 1880, 1336, - 1317, 2262, 1339, 1342, 1007, 2582, 1007, 1348, 2261, 1382, - 1879, 2520, 647, 1452, 1877, 1006, 1005, 1320, 1748, 1858, - 1323, 1324, 1325, 1353, 1327, 1328, 914, 1505, 1329, 1410, - 1087, 1411, 1136, 1007, 1330, 1821, 1136, 1822, 1331, 1332, - 1340, 1333, 1334, 607, 608, 1363, 1364, 1380, 1023, 1022, - 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, - 1385, 1085, 1034, 1394, 1395, 1396, 1397, 1398, 1399, 1400, - 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 647, 647, - 1459, 1462, 1006, 1005, 1512, 127, 1264, 1516, 1475, 913, - 887, 1518, 1427, 127, 127, 1388, 1431, 2677, 127, 127, - 1007, 1384, 127, 127, 127, 2639, 1534, 1006, 1005, 2637, - 640, 1510, 1501, 886, 2627, 2594, 2666, 2664, 2665, 1697, - 1698, 1699, 647, 647, 1367, 1007, 1376, 1378, 1379, 1373, - 1374, 2515, 1377, 624, 538, 537, 540, 541, 542, 543, - 2514, 1465, 1514, 539, 544, 2471, 1536, 1249, 1368, 2423, - 1477, 1369, 1618, 2391, 2352, 2299, 2298, 1535, 2297, 2259, - 2093, 1875, 1648, 1295, 1266, 2663, 1576, 1577, 1578, 1579, - 1229, 2525, 2469, 2440, 1839, 1547, 2434, 2322, 1112, 2193, - 2178, 2174, 2166, 1523, 1522, 1519, 2137, 1528, 2121, 2120, - 127, 2119, 1910, 1909, 1642, 1626, 1625, 1537, 1544, 1412, - 127, 1292, 127, 127, 445, 445, 445, 1289, 1258, 127, - 1257, 1416, 1087, 1554, 1138, 1424, 1256, 1457, 1458, 1138, - 1644, 1255, 1244, 1138, 1433, 1434, 1616, 1617, 1238, 1596, - 1597, 1237, 1236, 1588, 1234, 1444, 127, 127, 127, 1448, - 909, 1592, 1593, 1594, 1595, 1682, 843, 408, 406, 1561, - 2365, 2691, 2249, 2684, 987, 1471, 2601, 987, 2249, 2599, - 2433, 127, 953, 127, 2385, 987, 2384, 647, 2249, 2597, - 2116, 647, 2249, 2473, 1701, 1494, 1497, 1498, 1499, 1495, - 1650, 1496, 1500, 2094, 1533, 2051, 2052, 2365, 2465, 2365, - 2381, 2365, 987, 647, 2365, 2364, 647, 2249, 2248, 2230, - 987, 1684, 987, 2432, 1384, 1630, 2184, 1811, 1811, 1383, - 1636, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, - 1030, 1031, 1024, 2108, 2107, 1034, 1649, 1643, 2104, 2105, - 2104, 2103, 1710, 987, 1489, 987, 1811, 1656, 1661, 1660, - 1450, 1645, 1640, 1450, 987, 1166, 1165, 1143, 84, 2032, - 1360, 1143, 2046, 919, 1598, 1610, 958, 2649, 1387, 1663, - 1535, 2185, 1666, 2046, 2185, 1489, 465, 1515, 957, 1142, - 1450, 917, 916, 1488, 1681, 917, 1778, 1780, 2606, 2224, - 1136, 1136, 1136, 1136, 1136, 1624, 2117, 986, 2106, 1689, - 1687, 1688, 1706, 2046, 2060, 1609, 1505, 1934, 1803, 1825, - 1524, 1359, 1710, 1144, 1710, 1146, 1136, 1144, 1770, 1142, - 1779, 1702, 1489, 1012, 919, 1769, 1494, 1497, 1498, 1499, - 1495, 1662, 1496, 1500, 1297, 1623, 1361, 1784, 982, 81, - 1452, 1338, 1138, 1304, 1247, 1703, 1704, 1705, 1245, 1148, - 2621, 2598, 2059, 635, 1740, 2439, 127, 127, 127, 127, - 127, 1813, 2437, 1814, 2264, 1806, 1562, 2236, 127, 1591, - 2087, 1812, 127, 2051, 2052, 416, 127, 1587, 1388, 1829, - 923, 1607, 127, 1783, 1582, 1798, 1581, 1230, 906, 1600, - 1639, 2742, 2740, 1805, 2723, 996, 2115, 2054, 2032, 1881, - 1252, 1764, 80, 959, 1838, 1840, 647, 920, 915, 1696, - 2057, 1786, 1787, 1668, 1789, 81, 2056, 1791, 624, 1794, - 1757, 1758, 1759, 1790, 1795, 1785, 1792, 1797, 1788, 1686, - 1826, 1793, 1796, 2660, 1498, 1499, 1883, 503, 504, 2618, - 1963, 1371, 1867, 447, 1869, 1870, 1871, 1872, 1154, 2648, - 1816, 2227, 442, 1859, 1860, 1694, 1228, 1915, 1693, 1824, - 1866, 1229, 2355, 1828, 2321, 1000, 1001, 647, 2252, 2173, - 1873, 2172, 1908, 1841, 2092, 2091, 445, 1138, 1138, 1138, - 1138, 1138, 1833, 80, 1741, 2083, 2530, 2533, 2593, 2592, - 127, 445, 2427, 1138, 998, 2638, 2425, 2511, 1241, 1876, - 2510, 407, 1913, 1138, 2410, 2411, 445, 989, 1766, 1834, - 1837, 1878, 1868, 1907, 1161, 904, 888, 1085, 1984, 990, - 885, 884, 844, 2673, 2444, 2443, 445, 2222, 647, 1898, - 1363, 1364, 2650, 2331, 445, 1647, 2304, 1603, 1961, 1962, - 1251, 2586, 2429, 2305, 1911, 1884, 1000, 1001, 1692, 1635, - 96, 647, 647, 1354, 1968, 1232, 1691, 127, 2672, 1918, - 1920, 1384, 978, 979, 2671, 2670, 1383, 647, 2388, 870, - 500, 1912, 2641, 2640, 2590, 1933, 2534, 2452, 2037, 80, - 2448, 1938, 501, 84, 647, 2447, 575, 1944, 2334, 1955, - 1956, 1939, 1914, 1959, 1811, 1886, 1887, 1888, 2744, 2743, - 86, 2154, 1931, 2062, 1929, 1928, 1753, 1969, 2066, 2067, - 2068, 1970, 1750, 2038, 1667, 1979, 1980, 1978, 1281, 2033, - 2025, 1003, 1986, 1987, 2743, 1784, 2045, 2744, 2462, 1936, - 1947, 1952, 1356, 2090, 1994, 1995, 1996, 1997, 1357, 1999, - 2000, 2001, 635, 454, 456, 647, 55, 647, 1, 1974, - 2014, 1926, 2015, 2490, 52, 2036, 1657, 2071, 1321, 1932, - 2065, 1972, 2492, 19, 2491, 18, 2493, 20, 2069, 2284, - 647, 1783, 2494, 21, 2489, 15, 2283, 1968, 631, 2040, - 2061, 2290, 643, 2488, 14, 2085, 2122, 2055, 2086, 2125, - 647, 1896, 647, 2300, 647, 1239, 647, 2482, 10, 2505, - 34, 2063, 832, 2016, 2017, 2399, 2018, 2019, 2113, 2114, - 2020, 827, 442, 2082, 1608, 2084, 910, 2132, 2076, 2503, - 33, 2502, 32, 2029, 2030, 2075, 2591, 2095, 2096, 2529, - 2118, 2501, 28, 2531, 2099, 2500, 27, 2499, 26, 2497, - 23, 2102, 1596, 2424, 1597, 2496, 22, 2306, 127, 2498, - 24, 2097, 2487, 13, 2484, 12, 2483, 11, 2064, 2481, - 9, 2268, 1716, 1718, 2267, 1890, 445, 2134, 1889, 905, - 1302, 127, 445, 1728, 1729, 1730, 1731, 1937, 1940, 1619, - 1677, 2541, 960, 961, 1548, 2220, 127, 2162, 445, 1538, - 647, 445, 637, 92, 2139, 445, 445, 465, 445, 2027, - 1627, 853, 374, 2089, 1545, 1847, 2532, 907, 2142, 1846, - 2183, 1856, 1559, 1845, 647, 1844, 2186, 2527, 127, 647, - 1848, 1174, 2157, 1172, 1012, 2216, 647, 647, 1173, 2163, - 2156, 2177, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, - 1029, 1030, 1031, 1024, 1171, 2070, 1034, 1176, 2140, 1175, - 1482, 378, 1156, 2573, 1229, 2192, 1004, 102, 56, 2323, - 1425, 1426, 1951, 450, 451, 97, 105, 2141, 380, 1042, - 1690, 1436, 1437, 1438, 1439, 2189, 1817, 622, 623, 615, - 984, 2553, 2603, 2191, 1449, 1451, 2622, 994, 2546, 1763, - 1101, 1456, 1472, 2194, 2195, 1784, 521, 2244, 2245, 2246, - 2196, 1801, 2339, 2231, 2548, 1375, 536, 535, 534, 127, - 531, 532, 2614, 2144, 1634, 80, 2148, 1366, 2255, 2242, - 2152, 2153, 1775, 2155, 1016, 2188, 647, 2223, 2109, 519, - 510, 2232, 1134, 647, 647, 647, 2201, 1127, 1646, 1493, - 1491, 1783, 647, 1490, 1253, 611, 2053, 2049, 1503, 2265, - 1133, 2243, 465, 70, 647, 868, 396, 2280, 2281, 2282, - 2217, 2457, 2247, 38, 455, 2257, 1826, 505, 25, 2256, - 17, 877, 16, 1670, 825, 2213, 2214, 2215, 42, 44, - 1885, 1604, 127, 1228, 2572, 1136, 2706, 891, 2730, 2625, - 31, 2179, 30, 2258, 2279, 2260, 29, 2495, 2317, 2318, - 508, 2504, 2486, 2485, 2693, 2692, 4, 975, 2319, 71, - 35, 633, 2, 0, 0, 0, 0, 0, 0, 2308, - 0, 445, 0, 2309, 0, 2037, 0, 2312, 2037, 2360, - 2327, 0, 2336, 2337, 2313, 0, 2332, 2320, 2307, 0, - 2335, 2062, 0, 0, 1968, 0, 0, 0, 2082, 647, - 0, 127, 0, 0, 2328, 0, 1985, 647, 0, 1988, - 1989, 1990, 2219, 2359, 1993, 0, 0, 2363, 0, 0, - 0, 1087, 0, 0, 0, 2357, 0, 1596, 0, 0, - 0, 2233, 2234, 0, 0, 2235, 0, 1641, 2237, 2341, - 2387, 0, 2389, 2356, 0, 0, 1087, 647, 2386, 0, - 0, 0, 2036, 647, 2380, 2036, 2367, 0, 127, 0, - 127, 0, 2372, 2378, 2379, 0, 647, 0, 2366, 2377, - 0, 465, 0, 0, 2362, 1510, 2382, 2368, 2383, 0, - 2390, 647, 2445, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2412, 0, 0, 2402, 2311, 0, 1669, 0, - 0, 0, 0, 0, 1683, 0, 2417, 0, 0, 2037, - 0, 80, 2343, 2344, 2345, 2346, 2430, 0, 2420, 0, - 2350, 2438, 1138, 0, 2353, 2354, 2435, 2436, 0, 0, - 2449, 2442, 0, 0, 0, 0, 2450, 0, 0, 0, - 80, 0, 0, 647, 0, 2464, 0, 2451, 0, 0, - 0, 0, 0, 0, 631, 2475, 2463, 0, 0, 631, - 1157, 1708, 0, 2468, 0, 0, 1711, 0, 0, 2470, - 0, 1713, 1714, 2467, 0, 0, 1719, 1720, 1721, 1722, - 1723, 1724, 647, 1136, 1727, 0, 2036, 0, 0, 1732, - 1733, 1734, 1735, 0, 1737, 1738, 1739, 0, 0, 0, - 0, 1742, 1743, 1744, 1745, 0, 0, 0, 0, 0, - 1751, 0, 0, 1754, 1755, 0, 0, 0, 1760, 1761, - 0, 2537, 0, 2539, 1767, 0, 1768, 0, 1137, 1771, - 1772, 0, 1773, 1774, 2538, 0, 2551, 0, 2536, 0, - 0, 0, 0, 0, 2556, 0, 445, 2552, 0, 127, - 2568, 1799, 1800, 0, 647, 2561, 647, 0, 0, 0, - 80, 1784, 0, 0, 0, 0, 465, 0, 2535, 0, - 0, 0, 0, 0, 465, 0, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 399, 0, 1563, 1564, 127, - 1569, 1570, 1571, 1572, 1573, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1783, 1583, 1584, - 1585, 0, 2577, 0, 1832, 0, 0, 2587, 2589, 612, - 508, 2607, 0, 636, 0, 647, 0, 814, 0, 0, - 0, 2596, 0, 0, 0, 0, 0, 0, 2617, 0, - 0, 826, 0, 0, 0, 0, 0, 2540, 0, 0, - 1231, 0, 840, 0, 0, 0, 2644, 2468, 2646, 0, - 647, 2632, 647, 0, 0, 493, 0, 0, 2653, 2652, - 1138, 0, 0, 0, 0, 2651, 0, 2647, 0, 80, - 0, 2669, 2645, 2643, 0, 80, 2165, 0, 0, 0, - 0, 0, 2667, 0, 0, 497, 0, 2662, 2659, 0, - 2676, 1984, 2661, 0, 0, 442, 0, 0, 0, 0, - 2682, 2687, 0, 2683, 2686, 647, 0, 80, 0, 2700, - 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, - 0, 2547, 2550, 2697, 2703, 2696, 1087, 2674, 647, 2695, - 0, 2694, 0, 2717, 0, 2716, 2719, 1756, 0, 80, - 647, 2725, 80, 80, 2727, 0, 2705, 80, 1973, 445, - 1322, 0, 0, 0, 1981, 0, 647, 2724, 2676, 2737, - 0, 0, 2733, 1169, 1991, 1992, 647, 80, 442, 2741, - 80, 2739, 2749, 2736, 0, 1998, 2752, 0, 2754, 2002, - 2569, 2570, 2676, 0, 0, 0, 80, 0, 80, 2762, - 487, 2211, 80, 0, 2767, 0, 987, 0, 0, 0, - 0, 2676, 0, 2676, 0, 0, 80, 0, 0, 80, - 0, 2776, 643, 0, 0, 0, 80, 2039, 0, 0, - 80, 2676, 445, 0, 0, 0, 0, 0, 0, 0, - 0, 2676, 0, 0, 0, 2676, 0, 0, 0, 0, - 0, 643, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, - 1029, 1030, 1031, 1024, 0, 0, 1034, 0, 0, 997, - 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2550, 0, 1415, 0, 2080, 842, 0, 0, 1023, 1022, - 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, - 0, 2668, 1034, 0, 0, 0, 0, 125, 0, 0, - 393, 0, 0, 0, 0, 0, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 912, - 631, 2755, 0, 0, 0, 0, 0, 0, 0, 464, - 0, 0, 0, 0, 0, 0, 0, 509, 1478, 1479, - 614, 632, 0, 0, 125, 0, 0, 0, 125, 0, - 0, 0, 0, 2210, 0, 1861, 1862, 1863, 1865, 0, - 0, 0, 125, 0, 0, 631, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 0, 0, 643, - 2161, 0, 643, 643, 0, 0, 0, 1832, 0, 0, - 2168, 2170, 0, 0, 0, 0, 2753, 0, 2187, 0, - 2161, 467, 468, 469, 470, 471, 475, 476, 480, 481, - 490, 489, 488, 491, 492, 495, 494, 496, 472, 473, - 474, 477, 478, 479, 482, 483, 486, 484, 485, 0, - 0, 0, 2197, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2206, 2207, 0, 0, 0, 0, 2212, - 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, - 1031, 1024, 0, 0, 1034, 0, 2225, 2226, 0, 2228, - 0, 1018, 2229, 1021, 0, 0, 0, 0, 0, 0, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 465, 1019, 1020, - 1017, 2209, 2241, 0, 0, 0, 0, 0, 1023, 1022, - 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, - 0, 0, 1034, 0, 0, 0, 1129, 0, 1139, 0, - 0, 0, 0, 0, 0, 0, 0, 1655, 2208, 0, - 0, 1655, 0, 0, 0, 0, 0, 0, 1417, 1422, - 1423, 0, 0, 0, 0, 1428, 1429, 1430, 0, 1432, - 0, 0, 1435, 1655, 0, 0, 1655, 1440, 1441, 1442, - 1443, 0, 1445, 1446, 1447, 0, 0, 0, 0, 0, - 1453, 1454, 1455, 0, 0, 0, 1461, 1464, 0, 1469, - 1470, 0, 643, 0, 0, 0, 0, 0, 1023, 1022, - 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, - 0, 0, 1034, 2161, 1480, 0, 1483, 1484, 2023, 0, - 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, - 0, 0, 0, 2161, 0, 1023, 1022, 1032, 1033, 1025, - 1026, 1027, 1028, 1029, 1030, 1031, 1024, 0, 2022, 1034, - 0, 0, 2347, 2348, 2349, 0, 2351, 0, 0, 0, - 0, 0, 0, 0, 2098, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2369, 2370, 2371, 36, 37, 72, 39, - 40, 0, 0, 0, 0, 0, 465, 0, 465, 0, - 59, 0, 0, 0, 2080, 0, 78, 0, 0, 0, - 41, 63, 64, 0, 0, 631, 0, 60, 0, 2080, - 0, 464, 0, 1023, 1022, 1032, 1033, 1025, 1026, 1027, - 1028, 1029, 1030, 1031, 1024, 0, 0, 1034, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 0, 81, 612, - 631, 0, 1254, 1023, 1022, 1032, 1033, 1025, 1026, 1027, - 1028, 1029, 1030, 1031, 1024, 493, 643, 1034, 0, 1270, - 1271, 1272, 1273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2453, 2454, 2455, 2456, 1830, 0, 0, 0, - 0, 0, 2460, 2461, 0, 497, 0, 0, 0, 0, - 1971, 0, 0, 0, 2198, 2199, 0, 2200, 0, 0, - 2202, 0, 2204, 0, 0, 0, 0, 0, 43, 74, - 46, 45, 48, 0, 0, 0, 0, 1882, 1023, 1022, - 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, - 0, 2021, 1034, 0, 0, 0, 0, 0, 0, 49, - 77, 76, 0, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, - 65, 0, 0, 1169, 0, 0, 0, 632, 0, 2250, - 2251, 0, 632, 0, 0, 0, 0, 0, 1927, 0, - 0, 0, 2080, 0, 2080, 0, 2557, 0, 0, 1350, - 487, 57, 58, 2562, 0, 0, 0, 1709, 0, 0, - 0, 643, 643, 0, 0, 1715, 0, 0, 66, 0, - 67, 0, 1372, 0, 1725, 1726, 0, 643, 0, 0, - 0, 0, 0, 0, 0, 1736, 0, 0, 0, 643, - 0, 0, 0, 389, 1982, 68, 1023, 1022, 1032, 1033, - 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 0, 0, - 1034, 0, 1762, 0, 0, 0, 0, 0, 0, 0, + 578, 80, 2764, 2714, 2738, 2586, 2618, 830, 1604, 2716, + 2728, 2486, 7, 2611, 2729, 2585, 2485, 6, 1989, 1544, + 2551, 516, 2453, 2633, 2572, 2484, 5, 2487, 8, 2556, + 2549, 518, 2616, 2340, 2083, 2245, 2380, 1786, 2433, 1815, + 1088, 2064, 418, 1963, 507, 645, 1602, 2040, 1972, 1511, + 1836, 1561, 2435, 577, 1614, 2132, 2298, 1505, 521, 2292, + 2321, 1262, 1365, 2573, 83, 2276, 2084, 401, 404, 127, + 2041, 2166, 127, 464, 443, 443, 1509, 862, 127, 500, + 1553, 80, 1971, 643, 2260, 106, 1896, 534, 446, 446, + 93, 1787, 1577, 2037, 1172, 1543, 1676, 1532, 1593, 1700, + 2049, 127, 2483, 3, 523, 1542, 2056, 1358, 1421, 2156, + 449, 846, 127, 1264, 1640, 641, 127, 648, 1484, 1941, + 127, 1549, 1307, 1373, 640, 1261, 1242, 2009, 1280, 1412, + 1879, 1589, 1488, 990, 127, 446, 622, 648, 2261, 1133, + 1152, 1495, 1476, 997, 1389, 127, 1137, 912, 1001, 1656, + 625, 891, 639, 1151, 963, 503, 1010, 1134, 993, 618, + 890, 817, 463, 85, 619, 421, 1312, 614, 420, 611, + 1143, 2786, 2782, 2772, 1982, 829, 2754, 1106, 2752, 2733, + 2709, 2641, 82, 499, 1305, 461, 69, 2270, 2277, 1423, + 1107, 36, 2412, 72, 39, 40, 2279, 2745, 2627, 36, + 36, 87, 88, 89, 90, 91, 36, 436, 2410, 430, + 441, 424, 413, 36, 2727, 2567, 2697, 2602, 2425, 2129, + 1907, 2626, 2030, 2413, 1781, 2117, 2529, 2552, 1722, 2225, + 816, 1311, 431, 2079, 2080, 72, 39, 40, 519, 1655, + 2365, 1782, 1627, 1627, 2078, 2566, 1824, 1507, 983, 1823, + 1529, 1530, 1825, 81, 1309, 1310, 1328, 41, 1354, 1355, + 1528, 81, 81, 819, 865, 822, 823, 940, 81, 850, + 851, 2282, 1153, 853, 1154, 81, 412, 509, 948, 2465, + 635, 866, 867, 2622, 1308, 2622, 411, 1025, 1024, 1034, + 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 2617, + 109, 1036, 1862, 1563, 453, 1578, 852, 1654, 909, 2280, + 2281, 2283, 2284, 2285, 1583, 2010, 1578, 2619, 466, 2619, + 1684, 1678, 1679, 2212, 1677, 1680, 1681, 2210, 415, 593, + 410, 599, 601, 600, 597, 598, 596, 595, 594, 423, + 422, 425, 2623, 99, 2623, 1569, 1571, 1565, 1570, 429, + 602, 603, 460, 1938, 1565, 1350, 2012, 1349, 1348, 1347, + 1685, 1346, 395, 454, 1345, 1902, 433, 1930, 2349, 2293, + 437, 944, 945, 924, 1590, 2438, 2722, 2296, 2299, 2300, + 2301, 2302, 2155, 1935, 440, 1667, 872, 2643, 2642, 127, + 2139, 2294, 2295, 2592, 2533, 2310, 2590, 2317, 80, 80, + 1292, 875, 101, 118, 114, 115, 98, 116, 1668, 880, + 1339, 2649, 111, 110, 882, 1904, 2411, 2400, 2130, 2742, + 2523, 1615, 2308, 881, 2133, 2134, 2135, 2136, 2137, 2405, + 112, 2636, 2637, 127, 955, 2638, 2404, 956, 2403, 120, + 119, 863, 2402, 864, 866, 867, 2133, 2134, 2135, 2136, + 2137, 2401, 2399, 2725, 107, 2630, 2631, 979, 2519, 2520, + 2663, 2574, 1609, 2247, 108, 987, 873, 874, 2531, 1807, + 405, 2481, 1906, 924, 861, 426, 427, 428, 434, 1318, + 438, 439, 442, 858, 127, 2429, 2142, 947, 2407, 1608, + 103, 121, 104, 122, 1313, 1921, 1922, 2014, 857, 402, + 879, 883, 2018, 2711, 2013, 849, 2011, 859, 860, 2479, + 396, 2016, 406, 2720, 2692, 1045, 2715, 113, 1047, 2778, + 2705, 821, 820, 1171, 2015, 2525, 2768, 2322, 2323, 1315, + 2718, 1013, 1314, 2087, 1683, 1947, 2171, 1171, 1171, 2017, + 2019, 1949, 1949, 2787, 2333, 2784, 2278, 1058, 1059, 1060, + 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, + 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, + 1081, 1082, 1083, 1084, 1085, 923, 73, 1086, 414, 1090, + 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, + 1101, 1102, 2116, 1105, 1108, 1108, 1108, 1114, 1108, 1108, + 1114, 1108, 1114, 1123, 1124, 1125, 1126, 1127, 1128, 1869, + 1138, 2466, 1311, 2157, 1661, 2620, 1568, 2620, 73, 976, + 2565, 1578, 1046, 1592, 2591, 79, 1293, 876, 957, 1905, + 127, 127, 127, 79, 79, 1309, 1310, 2530, 100, 117, + 79, 934, 2426, 978, 1908, 2524, 648, 79, 985, 2408, + 403, 403, 924, 964, 2428, 2141, 2381, 2766, 398, 1144, + 2767, 2773, 2765, 403, 403, 1514, 1516, 1132, 1897, 1854, + 2383, 2755, 1171, 2717, 2719, 1170, 818, 625, 832, 2535, + 459, 1087, 625, 432, 1859, 1858, 109, 920, 2332, 1929, + 1926, 1479, 998, 399, 1910, 1909, 1662, 1250, 1248, 877, + 1165, 466, 1017, 1235, 1898, 1814, 1855, 1813, 974, 1812, + 814, 1841, 1841, 1924, 1140, 982, 824, 367, 2336, 1048, + 1049, 1860, 1841, 1847, 1841, 1757, 1231, 2197, 2189, 1848, + 1928, 2528, 1754, 1927, 931, 893, 894, 895, 896, 897, + 898, 899, 900, 901, 902, 903, 904, 2382, 1014, 1844, + 1828, 1624, 1820, 1515, 1717, 1156, 1623, 1705, 1690, 1368, + 1157, 1164, 1960, 1149, 1169, 1016, 842, 1533, 1089, 919, + 2151, 1036, 1109, 1111, 1113, 1115, 1117, 1119, 1120, 1122, + 1142, 1104, 970, 1147, 1841, 1110, 1112, 2106, 1116, 1118, + 1026, 1121, 929, 1036, 1857, 1524, 1899, 1900, 111, 110, + 1166, 2550, 1290, 2347, 969, 965, 966, 967, 968, 971, + 972, 973, 975, 2415, 1840, 1840, 2331, 831, 930, 1361, + 926, 1955, 1947, 2664, 2665, 1840, 1952, 1840, 2337, 1951, + 1954, 443, 2661, 2662, 1947, 1966, 648, 1489, 1171, 2562, + 2561, 1948, 1949, 513, 446, 446, 2107, 2416, 443, 1753, + 1048, 1049, 1396, 127, 927, 928, 127, 1048, 1049, 1009, + 1964, 446, 446, 1281, 127, 1007, 1244, 1394, 1395, 1393, + 989, 1631, 2054, 127, 127, 127, 127, 855, 1008, 1007, + 2053, 1230, 1009, 1263, 1243, 2775, 1300, 1840, 1266, 2032, + 1959, 1162, 884, 446, 1956, 848, 1009, 2758, 2739, 2757, + 390, 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, + 1032, 1033, 1026, 1008, 1007, 1036, 1025, 1024, 1034, 1035, + 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 443, 868, + 1036, 1009, 825, 1288, 834, 835, 836, 837, 838, 839, + 840, 446, 446, 446, 1477, 2771, 648, 2706, 1303, 1027, + 1028, 1029, 1030, 1031, 1032, 1033, 1026, 1267, 1641, 1036, + 1282, 2634, 1337, 2673, 1752, 2672, 1751, 1237, 1632, 1276, + 1277, 1278, 1279, 1477, 856, 1770, 446, 1366, 1367, 2695, + 80, 446, 446, 1321, 1008, 1007, 1245, 2309, 2303, 847, + 1008, 1007, 1284, 1856, 1285, 1008, 1007, 2708, 368, 458, + 2779, 1252, 1009, 2094, 127, 371, 127, 1359, 1009, 648, + 81, 1270, 1271, 1009, 380, 388, 389, 1008, 1007, 1008, + 1007, 1392, 1343, 870, 2635, 2634, 1885, 127, 1004, 96, + 1702, 1703, 1704, 1013, 2595, 1009, 1386, 1009, 1269, 1008, + 1007, 2587, 2570, 1008, 1007, 1319, 1295, 1296, 80, 377, + 1298, 2423, 378, 2422, 2780, 386, 387, 1009, 1286, 2421, + 994, 1009, 1387, 995, 2588, 2526, 1301, 1029, 1030, 1031, + 1032, 1033, 1026, 1390, 95, 1036, 1008, 1007, 1370, 648, + 1416, 1417, 1352, 2034, 1316, 1342, 1320, 1317, 608, 609, + 2685, 1090, 2420, 2414, 1009, 2269, 2268, 1089, 1379, 1381, + 1382, 1413, 1371, 1414, 1380, 1372, 383, 1884, 1882, 1863, + 2589, 2527, 94, 1826, 915, 1827, 2684, 1344, 914, 1981, + 2646, 2644, 1338, 2601, 1391, 1341, 888, 384, 2522, 2521, + 1385, 2478, 1351, 539, 538, 541, 542, 543, 544, 1508, + 2430, 2398, 540, 545, 1138, 648, 648, 1356, 1138, 887, + 1087, 2359, 127, 2306, 2305, 2304, 1462, 1465, 2266, 2162, + 127, 127, 2099, 1880, 1478, 127, 127, 1651, 1383, 127, + 127, 127, 1297, 1268, 1430, 2671, 2670, 2532, 1434, 2476, + 2447, 1844, 2441, 2329, 1537, 2200, 2185, 2181, 641, 648, + 648, 988, 369, 1455, 2173, 1266, 2143, 1376, 1377, 2127, + 2126, 1519, 2125, 1915, 1914, 1521, 1645, 1419, 1629, 625, + 1387, 1427, 1628, 1513, 1415, 1294, 1291, 1260, 1259, 1258, + 1436, 1437, 1257, 466, 1246, 382, 372, 373, 1504, 393, + 1240, 1447, 1239, 374, 376, 1451, 370, 392, 391, 1238, + 1236, 1087, 910, 1140, 844, 1539, 409, 96, 1140, 407, + 1014, 1474, 1140, 1251, 1231, 2372, 2698, 127, 954, 1621, + 2256, 2691, 2608, 989, 2256, 2606, 989, 127, 2440, 127, + 127, 446, 446, 446, 1517, 1145, 127, 2392, 1538, 385, + 1089, 1579, 1580, 1581, 1582, 1460, 1461, 2391, 1514, 1516, + 1114, 2256, 2604, 1550, 2256, 2480, 2372, 2472, 2372, 2388, + 2372, 989, 1816, 127, 127, 127, 2122, 1557, 2100, 1531, + 1526, 1619, 1620, 1599, 1600, 1525, 1522, 920, 1761, 2372, + 2371, 1547, 1540, 2439, 1595, 1596, 1597, 1598, 127, 2656, + 127, 1146, 1647, 1148, 648, 2256, 2255, 84, 648, 2052, + 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, + 1033, 1026, 1536, 1816, 1036, 1591, 2237, 989, 1687, 1492, + 648, 1689, 989, 648, 2029, 2114, 2113, 1453, 1050, 1051, + 1052, 1053, 1054, 1055, 1056, 1057, 1515, 989, 466, 2110, + 2111, 2192, 1653, 2110, 2109, 2191, 1816, 1706, 1386, 1715, + 989, 1715, 1633, 1492, 989, 1664, 1663, 1639, 1024, 1034, + 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 1230, + 2052, 1036, 1453, 1648, 1387, 1453, 989, 1168, 1167, 1613, + 2613, 1491, 1601, 1025, 1024, 1034, 1035, 1027, 1028, 1029, + 1030, 1031, 1032, 1033, 1026, 1363, 2231, 1036, 1497, 1500, + 1501, 1502, 1498, 2192, 1499, 1503, 1627, 1390, 2057, 2058, + 2038, 1646, 959, 2052, 1652, 1518, 2123, 1144, 958, 1612, + 1492, 918, 1140, 2112, 2066, 917, 1659, 1643, 918, 1025, + 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1026, 1940, 1538, 1036, 1830, 1145, 1362, 1527, 1666, 1783, + 1785, 1669, 1715, 1138, 1138, 1138, 1138, 1138, 1391, 1775, + 1673, 1774, 1299, 1626, 1686, 1364, 984, 1340, 1694, 1508, + 920, 1808, 1711, 1306, 127, 127, 127, 127, 127, 1138, + 1249, 1692, 1693, 1247, 1150, 636, 127, 81, 2628, 2605, + 127, 2065, 2446, 2444, 127, 2271, 1565, 1789, 1707, 2243, + 127, 1146, 417, 1144, 1594, 2093, 1590, 466, 2057, 2058, + 1788, 1834, 924, 1610, 998, 1585, 1584, 1232, 907, 1818, + 1603, 1819, 1642, 1811, 648, 1497, 1500, 1501, 1502, 1498, + 1745, 1499, 1503, 2749, 2747, 1374, 1817, 2730, 1803, 2121, + 2060, 2038, 1886, 1254, 960, 625, 1810, 81, 921, 916, + 1799, 1784, 1701, 2063, 2062, 1800, 1796, 1140, 1140, 1140, + 1140, 1140, 1795, 1721, 1723, 80, 2667, 1843, 1845, 2625, + 448, 1455, 1969, 1140, 1733, 1734, 1735, 1736, 1769, 1797, + 504, 505, 2362, 1140, 1798, 648, 1801, 1691, 1501, 1502, + 2655, 2234, 1790, 1564, 446, 1793, 1231, 1699, 1831, 1698, + 1002, 1003, 576, 1746, 2328, 1802, 2259, 2180, 127, 446, + 443, 1791, 1792, 2179, 1794, 1846, 2098, 2097, 1838, 1864, + 1865, 2089, 2540, 1156, 446, 2537, 1871, 1771, 1821, 1000, + 1913, 2600, 1833, 1829, 1243, 1872, 1878, 1874, 1875, 1876, + 1877, 2599, 2434, 2645, 446, 1920, 648, 2432, 80, 1912, + 2518, 2517, 446, 408, 1839, 1842, 1034, 1035, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1026, 1918, 1888, 1036, 1967, + 1968, 648, 648, 1873, 1287, 1163, 1881, 127, 2417, 2418, + 991, 905, 889, 1990, 1883, 1974, 886, 648, 885, 845, + 2338, 2680, 992, 2451, 632, 2450, 2229, 1386, 644, 1903, + 1366, 1367, 2657, 466, 648, 1650, 2311, 1606, 1253, 1917, + 2593, 466, 2436, 2312, 1889, 1428, 1429, 1638, 833, 1002, + 1003, 2679, 96, 1387, 1357, 1916, 1439, 1440, 1441, 1442, + 1234, 980, 981, 1697, 2678, 2677, 1925, 2395, 1672, 1452, + 1454, 1696, 1923, 2043, 80, 871, 1459, 501, 1931, 2648, + 1087, 1837, 2647, 2597, 2541, 2459, 1937, 1939, 1950, 1944, + 1961, 1962, 1945, 1359, 1965, 648, 2455, 648, 2068, 502, + 84, 2454, 2341, 2072, 2073, 2074, 1942, 1953, 1958, 2039, + 1816, 2751, 2750, 1976, 1980, 1975, 2051, 1789, 2160, 1936, + 648, 1984, 2031, 1891, 1892, 1893, 2042, 1934, 1933, 1758, + 1788, 1755, 1670, 1283, 1005, 2750, 2751, 2469, 1974, 2096, + 648, 1360, 648, 636, 648, 455, 648, 2077, 457, 86, + 2071, 2067, 1388, 2497, 52, 1397, 1398, 1399, 1400, 1401, + 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, + 2075, 2021, 2020, 2499, 19, 55, 2044, 2498, 18, 2028, + 2091, 2046, 1, 2092, 2500, 20, 1660, 2119, 2120, 1991, + 2061, 1323, 1994, 1995, 1996, 2501, 21, 1999, 127, 2069, + 2496, 15, 443, 2495, 14, 2291, 2088, 2290, 2090, 1599, + 2297, 1600, 2489, 10, 2512, 34, 446, 2128, 2082, 2510, + 33, 127, 446, 2509, 32, 2131, 2081, 2508, 28, 2507, + 27, 2506, 26, 1468, 2504, 23, 127, 2138, 446, 1901, + 648, 446, 1480, 2503, 22, 446, 446, 2307, 446, 2103, + 2033, 2140, 2101, 2102, 2505, 24, 2494, 13, 1241, 2105, + 2491, 12, 2145, 2490, 11, 648, 2108, 1139, 2406, 127, + 648, 828, 1644, 2488, 9, 1611, 911, 648, 648, 2598, + 2536, 2538, 2124, 2169, 1025, 1024, 1034, 1035, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1026, 2076, 2431, 1036, 2313, + 2275, 2190, 2274, 1895, 1894, 906, 2148, 2193, 1304, 1943, + 1946, 1622, 1682, 2548, 1671, 124, 961, 962, 2146, 2170, + 1551, 2223, 1231, 2184, 400, 1541, 638, 2164, 92, 2163, + 1630, 854, 375, 1548, 1674, 1852, 2539, 908, 1851, 1861, + 1688, 1562, 2150, 1850, 1849, 2154, 2534, 1853, 1176, 2158, + 2159, 1174, 2161, 1175, 1173, 1178, 1177, 379, 613, 1158, + 127, 2580, 637, 2086, 2199, 1006, 815, 102, 56, 2330, + 1957, 451, 452, 97, 105, 381, 1044, 648, 1695, 1822, + 827, 623, 624, 616, 648, 648, 648, 986, 1789, 2560, + 2610, 841, 2629, 648, 996, 2553, 1768, 1713, 2251, 2252, + 2253, 1788, 1716, 2208, 1103, 648, 2238, 1718, 1719, 1475, + 2249, 80, 1724, 1725, 1726, 1727, 1728, 1729, 522, 2262, + 1732, 1806, 2346, 2230, 2555, 1737, 1738, 1739, 1740, 1378, + 1742, 1743, 1744, 127, 2239, 537, 536, 1747, 1748, 1749, + 1750, 535, 532, 2186, 533, 2254, 1756, 2621, 1637, 1759, + 1760, 2250, 509, 1369, 1765, 1766, 1780, 1018, 2115, 520, + 1772, 511, 1773, 1136, 1129, 1776, 1777, 1831, 1778, 1779, + 2168, 1649, 446, 1496, 2263, 1494, 1493, 1837, 1255, 612, + 2175, 2177, 1138, 2059, 2055, 1506, 1135, 1804, 1805, 70, + 2168, 2264, 2265, 869, 2267, 397, 2224, 2464, 38, 2339, + 2286, 648, 456, 127, 506, 25, 2326, 1974, 17, 648, + 2287, 2288, 2289, 2272, 2226, 878, 2314, 16, 1675, 2218, + 826, 42, 2043, 1089, 44, 2043, 2367, 2320, 1708, 1709, + 1710, 2343, 2344, 2240, 2241, 2334, 2319, 2242, 2068, 2342, + 2244, 1890, 1607, 2088, 2579, 2327, 1599, 2335, 1089, 648, + 2315, 632, 2324, 2325, 2316, 648, 632, 1159, 2713, 892, + 127, 2737, 127, 2632, 31, 30, 29, 2502, 648, 2370, + 2511, 2394, 2364, 2396, 2493, 2042, 2318, 466, 2042, 2492, + 1485, 2700, 2699, 648, 4, 977, 1140, 71, 35, 2348, + 634, 2373, 2363, 2, 0, 0, 2393, 0, 0, 0, + 0, 2387, 0, 1762, 1763, 1764, 0, 0, 2369, 2379, + 2385, 2386, 1513, 2384, 2375, 2374, 1025, 1024, 1034, 1035, + 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 2366, 2452, + 1036, 2397, 0, 0, 0, 843, 0, 0, 0, 0, + 0, 2409, 0, 0, 2419, 648, 0, 0, 0, 2424, + 0, 0, 0, 2389, 2427, 2390, 2043, 0, 80, 2437, + 0, 0, 0, 0, 0, 0, 2442, 2443, 2445, 0, + 0, 0, 2456, 0, 0, 0, 0, 0, 2457, 913, + 0, 0, 0, 0, 648, 2228, 2449, 80, 0, 0, + 0, 0, 2482, 0, 2168, 0, 1979, 0, 0, 0, + 0, 2458, 1987, 2470, 0, 0, 2475, 0, 0, 2042, + 0, 0, 1997, 1998, 2168, 2474, 2477, 0, 0, 0, + 0, 0, 0, 2004, 0, 0, 0, 2008, 0, 0, + 1138, 0, 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, + 1031, 1032, 1033, 1026, 0, 0, 1036, 1233, 446, 0, + 0, 127, 0, 0, 0, 0, 648, 0, 648, 0, + 2471, 0, 0, 0, 0, 2045, 0, 0, 0, 2544, + 0, 2546, 0, 0, 0, 1919, 0, 466, 0, 466, + 2558, 2575, 2545, 0, 0, 2086, 0, 2543, 2542, 0, + 2563, 127, 0, 0, 0, 0, 2559, 2568, 0, 0, + 2086, 0, 0, 0, 0, 1789, 0, 80, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1788, 0, + 0, 0, 0, 509, 0, 2584, 0, 648, 0, 0, + 0, 0, 0, 0, 1140, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1978, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1324, 0, 0, + 0, 0, 648, 0, 648, 2596, 2594, 0, 0, 0, + 0, 2614, 0, 2603, 0, 0, 1131, 0, 1141, 0, + 0, 0, 0, 0, 0, 2624, 0, 0, 2022, 2023, + 0, 2024, 2025, 0, 0, 2026, 0, 0, 0, 0, + 2475, 0, 0, 0, 0, 0, 0, 0, 2035, 2036, + 0, 0, 0, 0, 2660, 0, 0, 648, 0, 2651, + 644, 2653, 0, 0, 0, 2659, 80, 2650, 2669, 2654, + 2652, 0, 80, 2658, 2554, 2557, 0, 2683, 0, 1089, + 648, 2676, 0, 2070, 0, 2666, 2674, 443, 1990, 644, + 2681, 0, 648, 0, 2668, 0, 0, 2194, 0, 0, + 2693, 446, 0, 2690, 80, 2639, 2694, 0, 648, 80, + 0, 2704, 0, 2086, 0, 2086, 2703, 2710, 648, 2707, + 0, 0, 2689, 0, 0, 2702, 0, 2701, 2095, 0, + 1418, 2204, 2726, 2576, 2577, 0, 80, 0, 2731, 80, + 80, 2723, 2213, 2214, 80, 2683, 2724, 0, 2219, 2740, + 0, 2732, 0, 0, 2734, 0, 2744, 0, 0, 0, + 443, 0, 0, 0, 80, 2232, 2233, 80, 2235, 2683, + 2748, 2236, 2759, 2746, 446, 2761, 0, 0, 632, 0, + 0, 0, 2756, 80, 2769, 80, 0, 0, 2683, 80, + 2683, 2248, 2147, 0, 0, 2743, 1481, 1482, 0, 0, + 0, 0, 0, 80, 2774, 0, 80, 0, 2683, 0, + 0, 2712, 0, 80, 0, 0, 0, 80, 2683, 0, + 0, 2783, 2683, 632, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2557, 0, 0, 0, 644, 0, 613, + 644, 644, 1256, 1566, 1567, 0, 1572, 1573, 1574, 1575, + 1576, 2195, 0, 0, 2675, 0, 0, 2227, 0, 1272, + 1273, 1274, 1275, 0, 1586, 1587, 1588, 0, 1985, 1986, + 0, 0, 0, 0, 2086, 1992, 1993, 0, 922, 0, + 0, 0, 0, 0, 0, 0, 0, 2000, 2001, 2002, + 2003, 0, 2005, 2006, 2007, 2217, 0, 0, 0, 0, + 0, 2220, 2221, 2222, 1025, 1024, 1034, 1035, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1026, 0, 0, 1036, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 999, + 0, 0, 2216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2354, 2355, 2356, 0, 2358, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2215, 0, 2760, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2376, 2377, 2378, 0, 125, 0, 0, + 394, 0, 0, 0, 0, 1658, 125, 0, 0, 1658, + 1353, 0, 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, + 1031, 1032, 1033, 1026, 2027, 0, 1036, 0, 0, 465, + 0, 1658, 0, 1375, 1658, 0, 0, 510, 0, 0, + 615, 633, 0, 0, 125, 0, 0, 0, 125, 1025, + 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1026, 644, 125, 1036, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 125, 1025, 1024, 1034, 1035, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1026, 0, 0, 1036, 0, + 0, 0, 2460, 2461, 2462, 2463, 0, 0, 0, 0, + 0, 0, 2467, 2468, 0, 0, 0, 0, 0, 2350, + 2351, 2352, 2353, 0, 0, 0, 0, 2357, 0, 0, + 0, 2360, 2361, 0, 0, 0, 0, 0, 0, 1025, + 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1026, 0, 0, 1036, 0, 0, 0, 0, 0, 2196, + 0, 0, 0, 0, 0, 0, 0, 2198, 1490, 1977, + 0, 0, 0, 0, 0, 0, 0, 2201, 2202, 0, + 0, 0, 1520, 0, 2203, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 632, 0, 0, 1025, 1024, 1034, + 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 0, + 0, 1036, 0, 0, 0, 0, 2564, 0, 1712, 0, + 0, 0, 0, 2569, 0, 0, 0, 0, 0, 632, + 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, + 1033, 1026, 0, 0, 1036, 644, 1025, 1024, 1034, 1035, + 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 0, 0, + 1036, 0, 1866, 1867, 1868, 1870, 0, 0, 0, 0, + 0, 0, 0, 1605, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1616, 0, 1617, 1618, 0, 0, 0, + 0, 0, 1625, 0, 0, 0, 0, 0, 0, 0, + 2607, 0, 0, 0, 0, 0, 1887, 0, 0, 0, + 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, + 0, 1636, 0, 0, 0, 0, 0, 125, 0, 0, + 0, 0, 925, 932, 933, 935, 936, 937, 938, 939, + 0, 941, 942, 943, 913, 946, 0, 949, 950, 951, + 952, 953, 0, 0, 2547, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1932, 1020, 0, + 1023, 125, 0, 0, 0, 0, 0, 1037, 1038, 1039, + 1040, 1041, 1042, 1043, 0, 1021, 1022, 1019, 0, 0, + 0, 0, 644, 644, 0, 1025, 1024, 1034, 1035, 1027, + 1028, 1029, 1030, 1031, 1032, 1033, 1026, 0, 644, 1036, + 1420, 1425, 1426, 0, 0, 0, 0, 1431, 1432, 1433, + 644, 1435, 465, 0, 1438, 1988, 0, 0, 0, 1443, + 1444, 1445, 1446, 0, 1448, 1449, 1450, 0, 0, 0, + 0, 0, 1456, 1457, 1458, 0, 0, 0, 1464, 1467, + 0, 1472, 1473, 0, 0, 0, 0, 36, 0, 72, + 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 59, 0, 0, 0, 0, 1483, 78, 1486, 1487, + 0, 41, 0, 0, 632, 0, 644, 0, 2050, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2050, 0, 0, 2776, 2777, 0, 0, 0, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 644, 0, 644, 0, 644, 0, 2085, 0, 0, + 0, 0, 0, 2513, 0, 0, 2736, 2739, 2735, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2104, 0, 0, 0, 0, 125, 125, + 125, 0, 0, 0, 0, 0, 0, 0, 633, 0, + 0, 0, 0, 633, 2721, 0, 0, 0, 0, 43, + 74, 46, 45, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2514, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 49, 77, 76, 0, 0, 0, 0, 47, 0, 0, + 0, 2153, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2762, 0, + 0, 0, 0, 0, 0, 0, 2178, 0, 0, 0, + 0, 2183, 0, 0, 1911, 0, 0, 0, 2187, 2188, + 0, 0, 57, 58, 0, 2515, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, + 0, 67, 0, 0, 0, 36, 37, 72, 39, 40, + 0, 0, 0, 0, 2205, 2206, 0, 2207, 0, 59, + 2209, 0, 2211, 0, 0, 78, 68, 0, 0, 41, + 63, 64, 0, 0, 0, 0, 60, 0, 0, 0, + 0, 0, 0, 1970, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2516, 75, 0, 53, 54, 61, + 0, 62, 0, 50, 0, 632, 0, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2246, 0, + 1714, 0, 0, 0, 0, 2246, 2246, 2246, 1720, 2257, + 2258, 0, 0, 0, 644, 0, 0, 1730, 1731, 0, + 0, 125, 0, 0, 125, 0, 2246, 0, 1741, 0, + 0, 0, 1265, 0, 0, 0, 0, 0, 0, 0, + 0, 125, 125, 125, 125, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1767, 0, 43, 74, 46, + 45, 48, 1322, 0, 0, 1325, 1326, 1327, 0, 1329, + 1330, 0, 73, 1331, 0, 0, 0, 0, 0, 1332, + 0, 0, 0, 1333, 1334, 0, 1335, 1336, 49, 77, + 76, 0, 0, 0, 0, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 79, 644, 0, 0, 0, 0, 0, 0, 0, + 644, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2118, 0, 0, 66, 0, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2368, 0, 125, 0, 465, 0, 2246, 2144, 0, 0, + 0, 0, 0, 0, 68, 0, 0, 0, 0, 2085, + 0, 0, 2149, 0, 0, 125, 0, 0, 0, 0, + 0, 0, 0, 0, 2085, 0, 1265, 0, 0, 0, 0, 0, 51, 75, 0, 53, 54, 61, 0, 62, - 2600, 1707, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2608, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 631, 0, 643, 0, 2044, 0, 1023, - 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, - 1024, 0, 0, 1034, 0, 0, 0, 0, 0, 0, - 2044, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 367, 0, 0, 0, 0, 0, 1487, 370, 0, - 643, 0, 643, 2080, 643, 0, 2079, 379, 387, 388, - 0, 1517, 0, 0, 0, 0, 0, 0, 0, 0, - 73, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, - 1030, 1031, 1024, 0, 0, 1034, 0, 0, 0, 0, - 125, 0, 376, 125, 0, 377, 0, 0, 385, 386, - 0, 1263, 0, 0, 0, 0, 0, 0, 0, 0, - 125, 125, 125, 125, 0, 0, 0, 0, 0, 79, - 0, 467, 468, 469, 470, 471, 475, 476, 480, 481, - 490, 489, 488, 491, 492, 495, 494, 496, 472, 473, - 474, 477, 478, 479, 482, 483, 486, 484, 485, 382, - 2147, 0, 1602, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1613, 0, 1614, 1615, 0, 0, 0, 0, - 383, 1622, 0, 0, 2171, 0, 0, 0, 0, 2176, - 0, 0, 0, 0, 0, 0, 2180, 2181, 0, 0, - 0, 0, 0, 0, 2769, 2770, 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, 912, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, - 125, 0, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 381, 371, 372, - 0, 392, 0, 631, 1263, 373, 375, 0, 369, 391, - 390, 0, 0, 0, 0, 0, 2239, 0, 0, 0, - 0, 0, 0, 2239, 2239, 2239, 0, 0, 0, 0, - 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2239, 0, 0, 1421, 1421, 1421, - 0, 384, 0, 1421, 1421, 1421, 1421, 1421, 1421, 0, - 0, 1421, 0, 0, 0, 0, 1421, 1421, 1421, 1421, - 0, 1421, 1421, 1421, 0, 0, 0, 0, 0, 1421, - 1421, 1421, 0, 0, 0, 1421, 1421, 0, 1421, 1421, - 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1421, 1421, 1421, 1421, 0, 125, 0, - 0, 0, 0, 0, 0, 0, 125, 464, 0, 0, - 0, 125, 125, 0, 0, 125, 1520, 1263, 632, 643, - 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, - 0, 0, 1263, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 36, 0, 72, 39, - 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 59, 0, 0, 0, 0, 0, 78, 2361, 0, 0, - 41, 0, 0, 2239, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2079, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2079, 0, 125, 0, 0, 0, 0, 81, 0, - 0, 0, 0, 125, 0, 125, 125, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2506, 0, 0, 2729, 2732, 2728, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1631, - 1632, 125, 1906, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2441, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 125, 0, 464, 0, 43, 74, - 46, 45, 48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2507, 0, 0, 0, 0, 0, 0, - 0, 0, 2466, 0, 0, 0, 0, 0, 0, 49, - 77, 76, 0, 0, 0, 0, 47, 0, 0, 1964, - 0, 0, 0, 0, 0, 0, 0, 1196, 0, 0, - 0, 0, 0, 0, 0, 1263, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 58, 0, 2508, 0, 2633, 0, 0, 0, - 0, 0, 0, 0, 2079, 0, 2079, 0, 66, 0, - 67, 0, 0, 0, 0, 0, 1421, 0, 0, 0, - 0, 0, 0, 0, 1421, 0, 0, 0, 0, 631, - 0, 0, 0, 1421, 1421, 68, 0, 0, 0, 0, - 0, 0, 0, 1196, 1421, 0, 0, 0, 1421, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1183, 0, - 0, 0, 2509, 75, 0, 53, 54, 61, 0, 62, - 0, 1421, 0, 0, 0, 643, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 632, 125, - 125, 125, 125, 125, 0, 0, 0, 0, 0, 1197, - 0, 464, 0, 0, 0, 125, 0, 0, 0, 464, - 2602, 0, 2605, 0, 0, 125, 0, 0, 0, 0, - 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2112, 0, 0, 0, 1183, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 73, 0, 0, 2138, 0, 2079, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2143, 0, - 0, 0, 0, 0, 0, 1197, 0, 0, 2239, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 643, 0, 0, 0, 0, 0, 0, 0, 0, 79, - 2175, 0, 0, 0, 0, 0, 2605, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 2689, 1210, 1213, 1214, - 1215, 1216, 1217, 1218, 0, 1219, 1220, 1221, 1222, 1223, - 1224, 1225, 1226, 0, 1198, 1199, 1200, 1201, 1177, 1181, - 1211, 1178, 1184, 1180, 1182, 1179, 0, 1185, 1186, 1187, - 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1202, 1203, - 1204, 1205, 1206, 1207, 1208, 1209, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1421, 0, 0, 0, 0, 0, 0, 0, 0, - 1421, 0, 1263, 1210, 1213, 1214, 1215, 1216, 1217, 1218, - 0, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 0, - 1198, 1199, 1200, 1201, 1177, 1181, 1211, 1178, 1184, 1180, - 1182, 1179, 0, 1185, 1186, 1187, 1188, 1189, 1190, 1191, - 1192, 1193, 1194, 1195, 1202, 1203, 1204, 1205, 1206, 1207, - 1208, 1209, 0, 36, 1212, 72, 39, 40, 0, 0, - 0, 0, 0, 0, 2266, 0, 632, 59, 0, 0, - 0, 0, 0, 78, 0, 0, 0, 41, 0, 36, + 0, 0, 0, 0, 0, 2182, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, + 1424, 1424, 0, 0, 0, 1424, 1424, 1424, 1424, 1424, + 1424, 0, 0, 1424, 0, 0, 2448, 0, 1424, 1424, + 1424, 1424, 0, 1424, 1424, 1424, 0, 0, 0, 0, + 0, 1424, 1424, 1424, 0, 0, 0, 1424, 1424, 0, + 1424, 1424, 0, 0, 0, 633, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2473, 0, 0, 0, 0, + 73, 0, 0, 0, 0, 1424, 1424, 1424, 1424, 0, + 125, 0, 0, 0, 0, 0, 0, 0, 125, 465, + 0, 0, 0, 125, 125, 0, 0, 125, 1523, 1265, + 633, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1265, 0, 0, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2085, 0, 2085, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2273, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 125, 0, 125, 125, 0, + 0, 0, 0, 0, 125, 0, 0, 0, 644, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1665, 0, 1198, + 0, 1634, 1635, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2609, 0, 2612, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 125, 0, 465, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2640, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, + 0, 0, 0, 0, 0, 0, 0, 0, 2085, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, + 0, 2246, 0, 0, 0, 0, 0, 0, 0, 0, + 1185, 0, 0, 644, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2612, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2696, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, + 0, 1199, 0, 0, 0, 0, 0, 1424, 0, 0, + 0, 0, 0, 0, 0, 0, 1424, 1424, 0, 0, + 1185, 0, 0, 0, 0, 0, 0, 1424, 0, 0, + 0, 1424, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1424, 0, 0, 0, 0, 0, + 0, 1199, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 633, 125, 125, 125, 125, 125, 0, 0, 0, + 0, 0, 0, 0, 465, 0, 0, 0, 125, 0, + 0, 0, 465, 0, 0, 0, 0, 0, 125, 0, + 0, 0, 0, 0, 0, 0, 633, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1212, 1215, 1216, 1217, 1218, 1219, 1220, 2571, 1221, 1222, + 1223, 1224, 1225, 1226, 1227, 1228, 0, 1200, 1201, 1202, + 1203, 1179, 1183, 1213, 1180, 1186, 1182, 1184, 1181, 0, + 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, + 1197, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1212, 1215, 1216, 1217, 1218, 1219, 1220, 0, 1221, 1222, + 1223, 1224, 1225, 1226, 1227, 1228, 125, 1200, 1201, 1202, + 1203, 1179, 1183, 1213, 1180, 1186, 1182, 1184, 1181, 0, + 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, + 1197, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 36, 0, 72, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 78, - 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2506, - 1212, 81, 0, 0, 2778, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2506, 0, 0, 0, 0, - 2774, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 43, 74, 46, 45, 48, - 0, 0, 0, 0, 125, 0, 0, 0, 493, 0, - 2507, 0, 0, 0, 0, 0, 0, 0, 0, 125, - 0, 43, 74, 46, 45, 48, 49, 77, 76, 1227, - 0, 0, 0, 47, 0, 0, 2507, 0, 497, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 49, 77, 76, 0, 0, 0, 0, 47, - 0, 0, 0, 0, 0, 0, 509, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 57, 58, - 0, 2508, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 67, 0, 0, - 0, 0, 0, 0, 57, 58, 0, 2508, 0, 0, - 0, 0, 0, 0, 0, 0, 1169, 0, 0, 0, - 0, 66, 68, 67, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 464, 487, 0, 0, 632, 0, 68, 2509, - 75, 0, 53, 54, 61, 0, 62, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2509, 75, 0, 53, 54, - 61, 36, 62, 72, 39, 40, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, - 0, 78, 0, 0, 0, 41, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, + 0, 0, 0, 41, 0, 0, 0, 1214, 0, 0, + 0, 0, 0, 0, 0, 125, 0, 0, 0, 36, + 0, 72, 39, 40, 0, 0, 1424, 0, 0, 0, + 0, 0, 0, 59, 0, 1424, 0, 1265, 0, 78, + 0, 81, 0, 41, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2513, 0, 1214, 0, 0, + 2785, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 633, 0, 0, 0, 2513, 0, 0, 0, 0, + 2781, 43, 74, 46, 45, 48, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2514, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 49, 77, 76, 0, 0, 0, 0, 47, + 0, 43, 74, 46, 45, 48, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2514, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 49, 77, 76, 0, 0, 0, 0, 47, + 0, 0, 0, 0, 57, 58, 36, 2515, 72, 39, + 40, 0, 0, 0, 0, 0, 125, 0, 0, 0, + 59, 66, 0, 67, 0, 0, 78, 0, 0, 0, + 41, 0, 36, 0, 72, 39, 40, 0, 0, 125, + 0, 0, 0, 0, 57, 58, 59, 2515, 68, 0, + 0, 0, 78, 0, 125, 0, 41, 0, 0, 0, + 0, 66, 0, 67, 0, 0, 0, 0, 81, 0, + 0, 36, 0, 72, 39, 40, 2516, 75, 0, 53, + 54, 61, 0, 62, 0, 59, 0, 125, 68, 0, + 0, 78, 2513, 0, 81, 41, 0, 2770, 0, 0, + 0, 0, 510, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2516, 75, 2513, 53, + 54, 61, 0, 62, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, 0, 0, 43, 74, + 46, 45, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2514, 0, 0, 0, 2513, 0, 0, + 0, 0, 2753, 0, 43, 74, 46, 45, 48, 49, + 77, 76, 0, 0, 73, 0, 47, 0, 465, 2514, + 0, 0, 633, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 77, 76, 0, 0, + 0, 0, 47, 43, 74, 46, 45, 48, 0, 0, + 0, 0, 0, 0, 73, 0, 0, 0, 2514, 0, + 0, 57, 58, 79, 2515, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 77, 76, 0, 66, 0, + 67, 47, 0, 0, 0, 0, 0, 57, 58, 0, + 2515, 125, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 66, 68, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 57, 58, 0, 2515, + 0, 68, 0, 2516, 75, 0, 53, 54, 61, 0, + 62, 0, 0, 66, 0, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516, + 75, 125, 53, 54, 61, 0, 62, 0, 0, 0, + 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2516, 75, + 0, 53, 54, 61, 0, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 465, 0, + 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2564, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, 0, 73, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2506, 0, 0, - 0, 0, 2763, 73, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 510, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 795, 771, 329, 718, 798, 682, + 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, + 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, + 734, 797, 213, 747, 0, 166, 221, 219, 0, 125, + 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, + 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, + 754, 674, 742, 800, 703, 749, 801, 0, 0, 633, + 0, 2578, 0, 0, 0, 0, 0, 0, 0, 125, + 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, + 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, + 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, + 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, + 0, 0, 0, 687, 0, 740, 0, 0, 0, 668, + 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, + 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, + 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, + 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, + 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, + 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, + 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 2581, 2582, 2583, 0, + 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, + 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, + 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, + 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, + 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, + 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, + 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, + 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, + 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, + 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, + 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, + 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, + 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, + 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, + 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, + 749, 801, 0, 0, 0, 0, 647, 0, 1545, 1546, + 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, + 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, + 690, 691, 1832, 0, 0, 0, 0, 0, 0, 721, + 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, + 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, + 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, + 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, + 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, + 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, + 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, + 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, + 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, + 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, + 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, + 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, + 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, + 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, + 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, + 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, + 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, + 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, + 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, + 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, + 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, + 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, + 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, + 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, + 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, + 0, 647, 0, 1545, 1546, 0, 0, 0, 0, 0, + 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, + 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, + 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, + 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, + 0, 0, 0, 687, 0, 740, 0, 0, 0, 668, + 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, + 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, + 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, + 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, + 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, + 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, + 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, + 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, + 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, + 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, + 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, + 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, + 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, + 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, + 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, + 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, + 2047, 329, 718, 798, 682, 704, 811, 707, 710, 752, + 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, + 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, + 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, + 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, + 749, 801, 81, 0, 989, 0, 647, 0, 0, 0, + 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, + 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, + 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, + 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, + 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, + 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, + 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, + 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, + 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, + 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, + 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, + 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, + 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, + 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, + 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, + 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, + 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, + 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, + 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, + 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, + 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, + 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 131, 140, 215, 2048, 281, 185, 351, 654, 174, + 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, + 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, + 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, + 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, + 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, + 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, + 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, + 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, + 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, + 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, + 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, + 0, 2345, 0, 687, 0, 740, 0, 0, 0, 668, + 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, + 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, + 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, + 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, + 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, + 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, + 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, + 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, + 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, + 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, + 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, + 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, + 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, + 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, + 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, + 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, + 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, + 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, + 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, + 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, + 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, + 749, 801, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, + 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, + 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, + 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, + 0, 0, 0, 0, 0, 0, 1983, 0, 687, 0, + 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, + 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, + 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, + 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, + 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, + 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, + 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, + 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, + 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, + 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, + 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, + 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, + 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, + 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, + 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, + 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, + 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, + 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, + 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, + 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, + 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, + 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, + 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, + 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, + 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, + 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, + 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, + 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, + 0, 1973, 0, 687, 0, 740, 0, 0, 0, 668, + 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, + 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, + 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, + 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, + 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, + 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, + 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, + 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, + 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, + 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, + 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, + 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, + 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, + 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, + 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, + 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, + 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, + 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, + 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, + 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, + 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, + 749, 801, 0, 0, 0, 0, 126, 0, 0, 0, + 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, + 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, + 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, + 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, + 0, 0, 0, 0, 0, 0, 1524, 0, 687, 0, + 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, + 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, + 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, + 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, + 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, + 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, + 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, + 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, + 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, + 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, + 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, + 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, + 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, + 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, + 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, + 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, + 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, + 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, + 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, + 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, + 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, + 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, + 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, + 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, + 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, + 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, + 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, + 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, + 0, 1384, 0, 687, 0, 740, 0, 0, 0, 668, + 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, + 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, + 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, + 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, + 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, + 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, + 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, + 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, + 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, + 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, + 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, + 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, + 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, + 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, + 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, + 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, + 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, + 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, + 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, + 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, + 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, + 749, 801, 0, 0, 0, 0, 647, 0, 0, 0, + 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, + 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, + 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, + 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, + 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, + 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, + 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, + 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, + 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, + 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, + 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, + 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, + 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, + 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, + 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, + 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, + 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, + 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, + 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, + 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, + 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, + 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, + 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, + 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, + 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, + 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, + 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, + 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, + 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, + 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, + 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, + 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, + 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, + 0, 0, 0, 687, 0, 740, 0, 0, 0, 668, + 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, + 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, + 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, + 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, + 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, + 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, + 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, + 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, + 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, + 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, + 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, + 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, + 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, + 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, + 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, + 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, + 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, + 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, + 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 1556, 1560, + 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, + 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, + 749, 801, 0, 0, 0, 0, 647, 0, 0, 0, + 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, + 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, + 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, + 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, + 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, + 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, + 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, + 770, 788, 1559, 204, 359, 792, 713, 712, 1554, 0, + 1555, 192, 214, 646, 128, 142, 1552, 1558, 252, 762, + 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, + 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, + 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, + 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, + 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, + 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, + 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, + 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, + 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, + 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, + 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, + 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, + 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, + 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, + 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, + 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, + 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, + 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, + 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, + 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, + 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, + 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, + 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, + 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, + 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, + 0, 0, 0, 687, 0, 740, 0, 0, 0, 668, + 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, + 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, + 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, + 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, + 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, + 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, + 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, + 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, + 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, + 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, + 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, + 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, + 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, + 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, + 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, + 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, + 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, + 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, + 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, + 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, + 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, + 749, 801, 0, 0, 0, 0, 647, 0, 0, 0, + 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, + 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, + 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, + 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, + 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, + 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, + 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, + 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, + 323, 192, 214, 646, 128, 142, 642, 191, 252, 762, + 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, + 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, + 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, + 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, + 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, + 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, + 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, + 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, + 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, + 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, + 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, + 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, + 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, + 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, + 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 787, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 517, 0, 0, 0, 176, 514, 0, 0, 0, + 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, + 328, 0, 0, 0, 592, 216, 0, 0, 494, 316, + 240, 0, 0, 0, 0, 579, 580, 0, 0, 0, + 0, 0, 0, 1534, 0, 81, 0, 0, 0, 515, + 539, 538, 541, 542, 543, 544, 0, 0, 498, 540, + 545, 574, 575, 1535, 0, 0, 512, 530, 0, 591, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, + 0, 275, 0, 0, 0, 0, 0, 527, 528, 0, + 0, 0, 0, 606, 0, 529, 0, 0, 524, 525, + 526, 531, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 144, 582, 0, 0, 204, 359, 0, 0, + 604, 277, 0, 323, 192, 214, 149, 128, 142, 160, + 191, 252, 0, 298, 589, 0, 0, 0, 0, 167, + 0, 290, 260, 347, 581, 0, 289, 217, 337, 0, + 0, 346, 0, 488, 356, 361, 0, 0, 0, 313, + 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, + 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, + 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, + 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, + 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, + 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, + 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, + 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, + 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, + 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, + 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, + 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, + 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, + 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, + 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, + 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, + 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, + 218, 284, 363, 259, 291, 158, 349, 314, 593, 605, + 599, 601, 600, 597, 598, 596, 595, 594, 607, 583, + 584, 585, 586, 587, 0, 0, 0, 590, 0, 602, + 603, 0, 0, 0, 0, 546, 547, 548, 549, 550, + 554, 555, 559, 560, 568, 567, 566, 569, 570, 572, + 571, 573, 551, 552, 553, 556, 557, 558, 561, 562, + 565, 563, 564, 588, 131, 140, 215, 0, 281, 185, + 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, + 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, + 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, + 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, + 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, + 319, 325, 338, 339, 358, 360, 36, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 517, 0, 0, 0, 176, 514, + 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, + 0, 0, 263, 328, 0, 0, 0, 592, 216, 0, + 0, 494, 316, 240, 0, 0, 0, 0, 579, 580, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 0, 0, 515, 539, 538, 541, 542, 543, 544, 0, + 0, 498, 540, 545, 574, 575, 0, 0, 0, 512, + 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, + 527, 528, 0, 0, 0, 0, 606, 0, 529, 0, + 0, 524, 525, 526, 531, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 144, 582, 0, 0, 204, + 359, 0, 0, 604, 277, 0, 323, 192, 214, 149, + 128, 142, 160, 191, 252, 0, 298, 589, 0, 0, + 0, 0, 167, 0, 290, 260, 347, 581, 0, 289, + 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, + 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, + 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, + 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, + 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, + 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, + 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, + 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, + 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, + 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, + 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, + 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, + 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, + 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, + 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, + 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, + 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, + 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, + 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, + 314, 593, 605, 599, 601, 600, 597, 598, 596, 595, + 594, 607, 583, 584, 585, 586, 587, 0, 0, 0, + 590, 0, 602, 603, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 554, 555, 559, 560, 568, 567, 566, + 569, 570, 572, 571, 573, 551, 552, 553, 556, 557, + 558, 561, 562, 565, 563, 564, 588, 131, 140, 215, + 79, 281, 185, 351, 0, 174, 0, 0, 0, 0, + 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, + 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, + 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, + 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, + 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 0, 0, 0, 0, 0, 517, 0, 0, 0, + 176, 514, 0, 0, 0, 213, 0, 0, 166, 221, + 219, 0, 0, 0, 263, 328, 0, 0, 0, 592, + 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, + 579, 580, 0, 0, 0, 0, 0, 0, 0, 0, + 81, 0, 0, 0, 515, 539, 538, 541, 542, 543, + 544, 0, 0, 498, 540, 545, 574, 575, 0, 0, + 0, 512, 530, 0, 591, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, + 0, 0, 527, 528, 508, 0, 0, 0, 606, 0, + 529, 0, 0, 524, 525, 526, 531, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 144, 582, 0, + 0, 204, 359, 0, 0, 604, 277, 0, 323, 192, + 214, 149, 128, 142, 160, 191, 252, 0, 298, 589, + 0, 0, 0, 0, 167, 0, 290, 260, 347, 581, + 0, 289, 217, 337, 0, 0, 346, 0, 488, 356, + 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, + 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, + 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, + 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, + 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, + 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, + 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, + 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, + 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, + 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, + 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, + 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, + 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, + 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, + 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, + 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, + 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, + 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, + 158, 349, 314, 593, 605, 599, 601, 600, 597, 598, + 596, 595, 594, 607, 583, 584, 585, 586, 587, 0, + 0, 0, 590, 0, 602, 603, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 554, 555, 559, 560, 568, + 567, 566, 569, 570, 572, 571, 573, 551, 552, 553, + 556, 557, 558, 561, 562, 565, 563, 564, 588, 131, + 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, + 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, + 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, + 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, + 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, + 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, + 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 0, 0, 517, 0, + 0, 0, 176, 514, 0, 0, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 592, 216, 0, 0, 494, 316, 240, 0, 0, + 0, 0, 579, 580, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 0, 989, 0, 515, 539, 538, 541, + 542, 543, 544, 0, 0, 498, 540, 545, 574, 575, + 0, 0, 0, 512, 530, 0, 591, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, + 0, 0, 0, 0, 527, 528, 0, 0, 0, 0, + 606, 0, 529, 0, 0, 524, 525, 526, 531, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, + 582, 0, 0, 204, 359, 0, 0, 604, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, + 298, 589, 0, 0, 0, 0, 167, 0, 290, 260, + 347, 581, 0, 289, 217, 337, 0, 0, 346, 0, + 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, + 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 593, 605, 599, 601, 600, + 597, 598, 596, 595, 594, 607, 583, 584, 585, 586, + 587, 0, 0, 0, 590, 0, 602, 603, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 554, 555, 559, + 560, 568, 567, 566, 569, 570, 572, 571, 573, 551, + 552, 553, 556, 557, 558, 561, 562, 565, 563, 564, + 588, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 517, 0, 0, 0, 176, 514, 0, 0, 0, 213, + 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 0, 0, 0, 592, 216, 0, 0, 494, 316, 240, + 0, 0, 0, 0, 579, 580, 0, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 515, 539, + 538, 541, 542, 543, 544, 0, 0, 498, 540, 545, + 574, 575, 0, 0, 0, 512, 530, 0, 591, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, + 275, 0, 0, 0, 0, 0, 527, 528, 1422, 0, + 0, 0, 606, 0, 529, 0, 0, 524, 525, 526, + 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 144, 582, 0, 0, 204, 359, 0, 0, 604, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 0, 298, 589, 0, 0, 0, 0, 167, 0, + 290, 260, 347, 581, 0, 289, 217, 337, 0, 0, + 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, + 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, + 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, + 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, + 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, + 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, + 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 593, 605, 599, + 601, 600, 597, 598, 596, 595, 594, 607, 583, 584, + 585, 586, 587, 0, 0, 0, 590, 0, 602, 603, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 554, + 555, 559, 560, 568, 567, 566, 569, 570, 572, 571, + 573, 551, 552, 553, 556, 557, 558, 561, 562, 565, + 563, 564, 588, 131, 140, 215, 0, 281, 185, 351, + 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 517, 0, 0, 0, 176, 514, 0, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 592, 216, 0, 0, 494, + 316, 240, 0, 0, 0, 0, 579, 580, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, + 515, 539, 1466, 541, 542, 543, 544, 0, 0, 498, + 540, 545, 574, 575, 0, 0, 0, 512, 530, 0, + 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 527, 528, + 1422, 0, 0, 0, 606, 0, 529, 0, 0, 524, + 525, 526, 531, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 144, 582, 0, 0, 204, 359, 0, + 0, 604, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 0, 298, 589, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 581, 0, 289, 217, 337, + 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 593, + 605, 599, 601, 600, 597, 598, 596, 595, 594, 607, + 583, 584, 585, 586, 587, 0, 0, 0, 590, 0, + 602, 603, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 554, 555, 559, 560, 568, 567, 566, 569, 570, + 572, 571, 573, 551, 552, 553, 556, 557, 558, 561, + 562, 565, 563, 564, 588, 131, 140, 215, 0, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 517, 0, 0, 0, 176, 514, + 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, + 0, 0, 263, 328, 0, 0, 0, 592, 216, 0, + 0, 494, 316, 240, 0, 0, 0, 0, 579, 580, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 0, 0, 515, 539, 1463, 541, 542, 543, 544, 0, + 0, 498, 540, 545, 574, 575, 0, 0, 0, 512, + 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, + 527, 528, 1422, 0, 0, 0, 606, 0, 529, 0, + 0, 524, 525, 526, 531, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 144, 582, 0, 0, 204, + 359, 0, 0, 604, 277, 0, 323, 192, 214, 149, + 128, 142, 160, 191, 252, 0, 298, 589, 0, 0, + 0, 0, 167, 0, 290, 260, 347, 581, 0, 289, + 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, + 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, + 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, + 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, + 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, + 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, + 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, + 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, + 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, + 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, + 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, + 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, + 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, + 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, + 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, + 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, + 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, + 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, + 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, + 314, 593, 605, 599, 601, 600, 597, 598, 596, 595, + 594, 607, 583, 584, 585, 586, 587, 0, 0, 0, + 590, 0, 602, 603, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 554, 555, 559, 560, 568, 567, 566, + 569, 570, 572, 571, 573, 551, 552, 553, 556, 557, + 558, 561, 562, 565, 563, 564, 588, 131, 140, 215, + 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, + 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, + 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, + 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, + 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, + 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 0, 0, 0, 0, 0, 517, 0, 0, 0, + 176, 514, 0, 0, 0, 213, 0, 0, 166, 221, + 219, 0, 0, 0, 263, 328, 0, 0, 0, 592, + 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, + 579, 580, 0, 0, 0, 0, 0, 0, 0, 0, + 81, 0, 1302, 0, 515, 539, 538, 541, 542, 543, + 544, 0, 0, 498, 540, 545, 574, 575, 0, 0, + 0, 512, 530, 0, 591, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, + 0, 0, 527, 528, 0, 0, 0, 0, 606, 0, + 529, 0, 0, 524, 525, 526, 531, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 144, 582, 0, + 0, 204, 359, 0, 0, 604, 277, 0, 323, 192, + 214, 149, 128, 142, 160, 191, 252, 0, 298, 589, + 0, 0, 0, 0, 167, 0, 290, 260, 347, 581, + 0, 289, 217, 337, 0, 0, 346, 0, 488, 356, + 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, + 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, + 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, + 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, + 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, + 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, + 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, + 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, + 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, + 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, + 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, + 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, + 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, + 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, + 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, + 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, + 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, + 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, + 158, 349, 314, 593, 605, 599, 601, 600, 597, 598, + 596, 595, 594, 607, 583, 584, 585, 586, 587, 0, + 0, 0, 590, 0, 602, 603, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 554, 555, 559, 560, 568, + 567, 566, 569, 570, 572, 571, 573, 551, 552, 553, + 556, 557, 558, 561, 562, 565, 563, 564, 588, 131, + 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, + 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, + 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, + 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, + 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, + 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, + 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 0, 0, 517, 0, + 0, 0, 176, 514, 0, 0, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 592, 216, 0, 0, 494, 316, 240, 0, 0, + 0, 0, 579, 580, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 0, 0, 0, 515, 539, 538, 541, + 542, 543, 544, 0, 0, 498, 540, 545, 574, 575, + 0, 0, 0, 512, 530, 0, 591, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, + 0, 0, 0, 0, 527, 528, 0, 0, 0, 0, + 606, 0, 529, 0, 0, 524, 525, 526, 531, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, + 582, 0, 0, 204, 359, 0, 0, 604, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, + 298, 589, 0, 0, 0, 0, 167, 0, 290, 260, + 347, 581, 0, 289, 217, 337, 0, 0, 346, 0, + 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, + 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 593, 605, 599, 601, 600, + 597, 598, 596, 595, 594, 607, 583, 584, 585, 586, + 587, 0, 0, 0, 590, 0, 602, 603, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 554, 555, 559, + 560, 568, 567, 566, 569, 570, 572, 571, 573, 551, + 552, 553, 556, 557, 558, 561, 562, 565, 563, 564, + 588, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, + 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 0, 0, 0, 592, 216, 0, 0, 494, 316, 240, + 0, 0, 0, 0, 579, 580, 0, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 515, 539, + 538, 541, 542, 543, 544, 0, 0, 498, 540, 545, + 574, 575, 0, 0, 0, 0, 530, 0, 591, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, + 275, 0, 0, 0, 0, 0, 527, 528, 0, 0, + 0, 0, 606, 0, 529, 0, 0, 524, 525, 526, + 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 144, 582, 0, 0, 204, 359, 0, 0, 604, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 0, 298, 589, 0, 0, 0, 0, 167, 0, + 290, 260, 347, 581, 0, 289, 217, 337, 0, 0, + 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, + 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, + 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, + 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, + 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, + 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, + 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 593, 605, 599, + 601, 600, 597, 598, 596, 595, 594, 607, 583, 584, + 585, 586, 587, 1469, 1470, 1471, 590, 0, 602, 603, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 554, + 555, 559, 560, 568, 567, 566, 569, 570, 572, 571, + 573, 551, 552, 553, 556, 557, 558, 561, 562, 565, + 563, 564, 588, 131, 140, 215, 0, 281, 185, 351, + 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 592, 216, 0, 0, 494, + 316, 240, 0, 0, 0, 0, 579, 580, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, + 515, 539, 538, 541, 542, 543, 544, 0, 0, 498, + 540, 545, 574, 575, 0, 0, 0, 0, 530, 0, + 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 527, 528, + 0, 0, 0, 0, 606, 0, 529, 0, 0, 524, + 525, 526, 531, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 144, 582, 0, 0, 204, 359, 0, + 0, 604, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 0, 298, 589, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 581, 2763, 289, 217, 337, + 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 593, + 605, 599, 601, 600, 597, 598, 596, 595, 594, 607, + 583, 584, 585, 586, 587, 0, 0, 0, 590, 0, + 602, 603, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 554, 555, 559, 560, 568, 567, 566, 569, 570, + 572, 571, 573, 551, 552, 553, 556, 557, 558, 561, + 562, 565, 563, 564, 588, 131, 140, 215, 0, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, + 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, + 0, 0, 263, 328, 0, 0, 0, 592, 216, 0, + 0, 494, 316, 240, 0, 0, 0, 0, 579, 580, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 989, 0, 515, 539, 538, 541, 542, 543, 544, 0, + 0, 498, 540, 545, 574, 575, 0, 0, 0, 0, + 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, + 527, 528, 0, 0, 0, 0, 606, 0, 529, 0, + 0, 524, 525, 526, 531, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 144, 582, 0, 0, 204, + 359, 0, 0, 604, 277, 0, 323, 192, 214, 149, + 128, 142, 160, 191, 252, 0, 298, 589, 0, 0, + 0, 0, 167, 0, 290, 260, 347, 581, 0, 289, + 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, + 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, + 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, + 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, + 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, + 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, + 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, + 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, + 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, + 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, + 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, + 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, + 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, + 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, + 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, + 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, + 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, + 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, + 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, + 314, 593, 605, 599, 601, 600, 597, 598, 596, 595, + 594, 607, 583, 584, 585, 586, 587, 0, 0, 0, + 590, 0, 602, 603, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 554, 555, 559, 560, 568, 567, 566, + 569, 570, 572, 571, 573, 551, 552, 553, 556, 557, + 558, 561, 562, 565, 563, 564, 588, 131, 140, 215, + 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, + 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, + 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, + 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, + 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, + 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 176, 0, 0, 0, 0, 213, 0, 0, 166, 221, + 219, 0, 0, 0, 263, 328, 0, 0, 0, 592, + 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, + 579, 580, 0, 0, 0, 0, 0, 0, 0, 0, + 81, 0, 0, 0, 515, 539, 538, 541, 542, 543, + 544, 0, 0, 498, 540, 545, 574, 575, 0, 0, + 0, 0, 530, 0, 591, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, + 0, 0, 527, 528, 0, 0, 0, 0, 606, 0, + 529, 0, 0, 524, 525, 526, 531, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 144, 582, 0, + 0, 204, 359, 0, 0, 604, 277, 0, 323, 192, + 214, 149, 128, 142, 160, 191, 252, 0, 298, 589, + 0, 0, 0, 0, 167, 0, 290, 260, 347, 581, + 0, 289, 217, 337, 0, 0, 346, 0, 488, 356, + 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, + 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, + 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, + 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, + 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, + 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, + 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, + 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, + 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, + 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, + 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, + 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, + 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, + 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, + 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, + 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, + 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, + 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, + 158, 349, 314, 593, 605, 599, 601, 600, 597, 598, + 596, 595, 594, 607, 583, 584, 585, 586, 587, 0, + 0, 0, 590, 0, 602, 603, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 554, 555, 559, 560, 568, + 567, 566, 569, 570, 572, 571, 573, 551, 552, 553, + 556, 557, 558, 561, 562, 565, 563, 564, 588, 131, + 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, + 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, + 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, + 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, + 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, + 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, + 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 0, 1512, 0, 0, + 0, 0, 176, 0, 0, 0, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 0, 216, 0, 0, 494, 316, 240, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1514, 1516, + 0, 0, 0, 0, 0, 0, 126, 0, 467, 0, + 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, + 0, 0, 0, 204, 359, 0, 1515, 0, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, + 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, + 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, + 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, + 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 468, 469, 470, 471, 472, 476, 477, 481, + 482, 491, 490, 489, 492, 493, 496, 495, 497, 473, + 474, 475, 478, 479, 480, 483, 484, 487, 485, 486, + 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 1512, + 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, + 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 0, 0, 0, 0, 216, 0, 0, 494, 316, 240, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1514, 1516, 0, 0, 0, 0, 0, 0, 126, 0, + 467, 0, 0, 0, 0, 0, 0, 498, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 348, 1510, 283, 304, 0, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 144, 0, 0, 0, 204, 359, 0, 1515, 0, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 0, 298, 0, 0, 0, 0, 0, 167, 0, + 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, + 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, + 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, + 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, + 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, + 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, + 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, + 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 468, 469, 470, 471, 472, 476, + 477, 481, 482, 491, 490, 489, 492, 493, 496, 495, + 497, 473, 474, 475, 478, 479, 480, 483, 484, 487, + 485, 486, 0, 131, 140, 215, 0, 281, 185, 351, + 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 1011, 0, 0, 0, 0, 176, 0, 0, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 0, 216, 0, 0, 494, + 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1012, 0, 1015, 0, 0, 0, 0, 0, 0, 498, + 0, 0, 0, 0, 0, 1008, 1007, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1009, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, + 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, + 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 468, 469, 470, 471, + 472, 476, 477, 481, 482, 491, 490, 489, 492, 493, + 496, 495, 497, 473, 474, 475, 478, 479, 480, 483, + 484, 487, 485, 486, 0, 131, 140, 215, 0, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, + 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, + 0, 0, 263, 328, 0, 0, 0, 0, 216, 0, + 0, 494, 316, 240, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 126, 0, 467, 0, 0, 0, 0, 0, + 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, + 359, 0, 0, 0, 277, 0, 323, 192, 214, 149, + 128, 142, 160, 191, 252, 0, 298, 0, 0, 0, + 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, + 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, + 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, + 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, + 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, + 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, + 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, + 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, + 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, + 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, + 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, + 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, + 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, + 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, + 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, + 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, + 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, + 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, + 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, + 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, + 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 468, 469, + 470, 471, 472, 476, 477, 481, 482, 491, 490, 489, + 492, 493, 496, 495, 497, 473, 474, 475, 478, 479, + 480, 483, 484, 487, 485, 486, 0, 131, 140, 215, + 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, + 462, 129, 141, 153, 159, 173, 178, 184, 194, 197, + 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, + 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, + 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, + 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 176, 0, 0, 0, 0, 213, 1809, 0, 166, 221, + 219, 0, 0, 0, 263, 328, 0, 0, 0, 0, + 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 126, 0, 467, 0, 0, 0, + 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 144, 0, 0, + 0, 204, 359, 0, 0, 0, 277, 0, 323, 192, + 214, 149, 128, 142, 160, 191, 252, 0, 298, 0, + 0, 0, 0, 0, 167, 0, 290, 260, 347, 0, + 0, 289, 217, 337, 0, 0, 346, 0, 488, 356, + 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, + 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, + 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, + 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, + 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, + 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, + 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, + 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, + 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, + 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, + 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, + 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, + 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, + 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, + 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, + 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, + 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, + 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, + 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 468, 469, 470, 471, 472, 476, 477, 481, 482, 491, + 490, 489, 492, 493, 496, 495, 497, 473, 474, 475, + 478, 479, 480, 483, 484, 487, 485, 486, 0, 131, + 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, + 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, + 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, + 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, + 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, + 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, + 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 176, 0, 0, 0, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 0, 216, 0, 0, 494, 316, 240, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 467, 0, + 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, + 0, 0, 0, 204, 359, 0, 0, 0, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, + 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, + 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, + 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, + 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 468, 469, 470, 471, 472, 476, 477, 481, + 482, 491, 490, 489, 492, 493, 496, 495, 497, 473, + 474, 475, 478, 479, 480, 483, 484, 487, 485, 486, + 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, + 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 0, 0, 0, 0, 216, 0, 0, 494, 316, 240, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, + 1015, 0, 0, 0, 0, 0, 0, 498, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 0, 298, 0, 0, 0, 0, 0, 167, 0, + 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, + 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, + 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, + 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, + 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, + 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, + 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, + 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 468, 469, 470, 471, 472, 476, + 477, 481, 482, 491, 490, 489, 492, 493, 496, 495, + 497, 473, 474, 475, 478, 479, 480, 483, 484, 487, + 485, 486, 0, 131, 140, 215, 0, 281, 185, 351, + 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 0, 216, 0, 0, 494, + 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 647, 0, 0, 0, 0, 0, 0, 0, 0, 498, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, + 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, + 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 468, 469, 470, 471, + 472, 476, 477, 481, 482, 491, 490, 489, 492, 493, + 496, 495, 497, 473, 474, 475, 478, 479, 480, 483, + 484, 487, 485, 486, 0, 131, 140, 215, 0, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 436, 329, 430, + 441, 424, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 447, 0, 0, 0, 0, 0, 0, 176, + 0, 0, 431, 0, 213, 0, 494, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, + 0, 0, 0, 316, 240, 0, 0, 2172, 0, 0, + 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, + 0, 0, 0, 445, 0, 444, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, + 422, 425, 0, 0, 1171, 241, 144, 0, 0, 429, + 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 433, 298, 0, 0, + 437, 488, 0, 167, 0, 290, 260, 347, 0, 0, + 289, 217, 337, 0, 440, 346, 0, 0, 356, 361, + 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, + 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, + 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, + 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, + 450, 303, 333, 152, 320, 426, 427, 428, 434, 435, + 438, 439, 442, 224, 179, 182, 193, 200, 0, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, + 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 468, 469, 470, 471, 472, 476, 477, + 481, 482, 491, 490, 489, 492, 493, 496, 495, 497, + 473, 474, 475, 478, 479, 480, 483, 484, 487, 485, + 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, + 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, + 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 432, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 436, 329, 430, 441, 424, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 416, 0, 0, 0, 0, + 0, 0, 176, 0, 0, 431, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 494, 216, 0, 0, 0, 316, 240, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2165, 0, + 0, 0, 2167, 0, 0, 0, 445, 0, 444, 0, + 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 423, 422, 425, 0, 0, 0, 241, 144, + 0, 0, 429, 204, 359, 0, 0, 0, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 433, + 298, 0, 0, 437, 0, 0, 167, 0, 290, 260, + 347, 0, 0, 289, 217, 337, 488, 440, 346, 0, + 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 0, 0, 0, 419, 303, 333, 152, 320, 426, 427, + 428, 434, 435, 438, 439, 442, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 468, 469, + 470, 471, 472, 476, 477, 481, 482, 491, 490, 489, + 492, 493, 496, 495, 497, 473, 474, 475, 478, 479, + 480, 483, 484, 487, 485, 486, 0, 0, 0, 0, + 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 432, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 0, 494, 0, 0, 213, + 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 0, 0, 0, 0, 216, 0, 0, 1835, 316, 240, + 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, + 275, 0, 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, + 1031, 1032, 1033, 1026, 0, 0, 1036, 0, 0, 0, + 0, 0, 0, 0, 1171, 0, 0, 0, 0, 0, + 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 488, 298, 0, 0, 0, 0, 0, 167, 0, + 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, + 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, + 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, + 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, + 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, + 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, + 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, + 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, + 0, 0, 0, 468, 469, 470, 471, 472, 476, 477, + 481, 482, 491, 490, 489, 492, 493, 496, 495, 497, + 473, 474, 475, 478, 479, 480, 483, 484, 487, 485, + 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 140, 215, 0, 281, 185, 351, + 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 2688, + 0, 0, 0, 0, 0, 0, 176, 2686, 494, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 0, 216, 0, 0, 1229, + 316, 240, 0, 0, 0, 0, 0, 0, 498, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 445, 0, 444, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0, + 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, + 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 488, 298, 0, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, + 0, 0, 346, 0, 0, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 2687, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, + 0, 0, 0, 0, 0, 468, 469, 470, 471, 472, + 476, 477, 481, 482, 491, 490, 489, 492, 493, 496, + 495, 497, 473, 474, 475, 478, 479, 480, 483, 484, + 487, 485, 486, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 140, 215, 0, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 36, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, + 0, 494, 0, 0, 213, 0, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 1507, 216, + 0, 0, 2167, 316, 240, 0, 0, 0, 0, 0, + 0, 498, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, + 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 488, 298, 0, 0, + 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, + 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, + 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, + 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, + 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, + 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, + 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, + 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, + 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 0, 0, 0, 0, 0, 0, 468, 469, + 470, 471, 472, 476, 477, 481, 482, 491, 490, 489, + 492, 493, 496, 495, 497, 473, 474, 475, 478, 479, + 480, 483, 484, 487, 485, 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 43, 74, 46, 45, 48, 0, 0, - 0, 0, 79, 0, 0, 0, 0, 0, 2507, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, + 215, 79, 281, 185, 351, 0, 174, 0, 0, 0, + 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 0, 494, 0, 0, 213, 0, 0, 166, + 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, + 0, 216, 0, 0, 2176, 316, 240, 0, 0, 0, + 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 445, 0, 444, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, + 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, + 192, 214, 149, 128, 142, 160, 191, 252, 488, 298, + 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, + 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, + 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, + 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, + 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, + 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, + 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, + 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, + 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, + 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, + 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, + 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, + 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, + 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, + 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, + 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, + 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, + 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, + 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, + 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, + 291, 158, 349, 314, 0, 0, 0, 1289, 0, 0, + 468, 469, 470, 471, 472, 476, 477, 481, 482, 491, + 490, 489, 492, 493, 496, 495, 497, 473, 474, 475, + 478, 479, 480, 483, 484, 487, 485, 486, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, + 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, + 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, + 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, + 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, + 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, + 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 176, 1161, 494, 0, 0, 213, 0, + 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, + 0, 0, 0, 216, 0, 0, 2174, 316, 240, 0, + 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 647, 0, 1160, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, + 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, + 488, 298, 0, 0, 0, 0, 0, 167, 0, 290, + 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, + 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, + 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, + 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, + 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, + 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, + 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, + 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, + 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, + 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, + 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, + 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, + 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, + 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, + 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, + 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, + 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, + 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, + 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, + 0, 0, 468, 469, 470, 471, 472, 476, 477, 481, + 482, 491, 490, 489, 492, 493, 496, 495, 497, 473, + 474, 475, 478, 479, 480, 483, 484, 487, 485, 486, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 140, 215, 0, 281, 185, 351, 0, + 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, + 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, + 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, + 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, + 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, + 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, + 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, + 328, 0, 0, 0, 0, 216, 0, 0, 0, 316, + 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 445, + 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, + 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, + 0, 277, 0, 323, 192, 214, 149, 128, 142, 160, + 191, 252, 0, 298, 0, 0, 0, 0, 0, 167, + 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, + 0, 346, 0, 0, 356, 361, 0, 0, 0, 313, + 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, + 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, + 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, + 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, + 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, + 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, + 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, + 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, + 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, + 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, + 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, + 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, + 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, + 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, + 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, + 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, + 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, + 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, + 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, + 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, + 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, + 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, + 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, + 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, + 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 0, 0, 0, 0, 216, 0, 0, + 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 464, 0, 464, 49, 77, 76, 0, 0, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 468, 469, 470, 471, 475, - 476, 480, 481, 490, 489, 488, 491, 492, 495, 494, - 496, 472, 473, 474, 477, 478, 479, 482, 483, 486, - 484, 485, 0, 0, 0, 0, 57, 58, 0, 2508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 66, 0, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, + 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, + 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 0, 298, 0, 0, 0, 0, + 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, + 337, 0, 0, 346, 0, 0, 356, 361, 0, 0, + 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, + 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, + 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, + 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, + 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, + 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, + 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, + 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, + 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, + 0, 0, 0, 2152, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, + 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, + 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, + 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, + 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, + 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, + 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, + 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, + 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, + 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, + 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 509, 0, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2509, 75, 0, - 53, 54, 61, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 794, 770, 328, - 717, 797, 681, 703, 810, 706, 709, 751, 664, 730, - 255, 701, 665, 0, 685, 654, 694, 655, 682, 719, - 175, 680, 772, 733, 796, 212, 746, 0, 165, 220, - 218, 0, 125, 0, 262, 327, 795, 725, 0, 804, - 215, 0, 742, 805, 315, 239, 0, 0, 721, 781, - 728, 768, 716, 753, 673, 741, 799, 702, 748, 800, - 0, 0, 632, 0, 2571, 73, 0, 0, 0, 0, - 0, 0, 125, 668, 0, 745, 793, 697, 747, 750, - 652, 744, 0, 659, 666, 809, 788, 688, 689, 690, - 0, 0, 0, 0, 0, 0, 0, 720, 729, 762, - 713, 347, 266, 282, 303, 708, 274, 700, 0, 0, - 0, 0, 0, 0, 79, 0, 686, 0, 739, 0, - 0, 0, 667, 660, 0, 0, 718, 0, 0, 0, - 672, 651, 687, 764, 0, 649, 240, 144, 769, 787, - 715, 203, 358, 791, 712, 711, 276, 0, 322, 191, - 213, 148, 128, 142, 159, 190, 251, 761, 297, 699, - 650, 773, 683, 695, 166, 691, 289, 259, 346, 0, - 736, 288, 216, 336, 757, 792, 345, 704, 775, 355, - 360, 0, 726, 670, 312, 176, 0, 133, 0, 273, - 171, 208, 714, 752, 684, 163, 759, 740, 780, 311, - 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, - 333, 155, 164, 316, 293, 323, 170, 0, 0, 2574, - 2575, 2576, 0, 0, 0, 0, 351, 710, 300, 299, - 705, 198, 767, 743, 656, 281, 755, 204, 132, 325, - 363, 149, 210, 330, 648, 185, 250, 168, 260, 261, - 182, 130, 278, 232, 233, 231, 234, 189, 696, 756, - 766, 279, 302, 332, 151, 319, 692, 693, 698, 763, - 291, 774, 785, 798, 223, 178, 181, 192, 199, 749, - 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, - 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, - 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, - 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, - 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, - 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, - 243, 221, 226, 0, 657, 0, 317, 349, 365, 153, - 679, 305, 331, 0, 0, 154, 186, 179, 270, 245, - 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, - 348, 313, 677, 678, 675, 0, 676, 731, 732, 801, - 802, 803, 765, 669, 0, 782, 783, 0, 0, 0, - 0, 0, 771, 789, 790, 754, 811, 707, 674, 658, - 661, 662, 663, 671, 722, 723, 735, 738, 778, 777, - 776, 779, 784, 807, 806, 808, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 734, 131, 140, - 214, 812, 280, 184, 350, 653, 173, 0, 724, 727, - 737, 760, 129, 141, 152, 158, 172, 177, 183, 193, - 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, - 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, - 268, 269, 277, 758, 285, 292, 294, 295, 296, 298, - 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, - 786, 794, 770, 328, 717, 797, 681, 703, 810, 706, - 709, 751, 664, 730, 255, 701, 665, 0, 685, 654, - 694, 655, 682, 719, 175, 680, 772, 733, 796, 212, - 746, 0, 165, 220, 218, 0, 0, 0, 262, 327, - 795, 725, 0, 804, 215, 0, 742, 805, 315, 239, - 0, 0, 721, 781, 728, 768, 716, 753, 673, 741, - 799, 702, 748, 800, 0, 0, 0, 0, 646, 0, - 1542, 1543, 0, 0, 0, 0, 0, 668, 0, 745, - 793, 697, 747, 750, 652, 744, 0, 659, 666, 809, - 788, 688, 689, 690, 1827, 0, 0, 0, 0, 0, - 0, 720, 729, 762, 713, 347, 266, 282, 303, 708, - 274, 700, 0, 0, 0, 0, 0, 0, 0, 0, - 686, 0, 739, 0, 0, 0, 667, 660, 0, 0, - 718, 0, 0, 0, 672, 651, 687, 764, 0, 649, - 240, 144, 769, 787, 715, 203, 358, 791, 712, 711, - 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, - 251, 761, 297, 699, 650, 773, 683, 695, 166, 691, - 289, 259, 346, 0, 736, 288, 216, 336, 757, 792, - 345, 704, 775, 355, 360, 0, 726, 670, 312, 176, - 0, 133, 0, 273, 171, 208, 714, 752, 684, 163, - 759, 740, 780, 311, 334, 150, 329, 238, 244, 160, - 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 351, 710, 300, 299, 705, 198, 767, 743, 656, 281, - 755, 204, 132, 325, 363, 149, 210, 330, 648, 185, - 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, - 234, 189, 696, 756, 766, 279, 302, 332, 151, 319, - 692, 693, 698, 763, 291, 774, 785, 798, 223, 178, - 181, 192, 199, 749, 286, 320, 352, 0, 134, 326, - 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, - 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, - 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, - 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, - 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, - 272, 195, 242, 241, 243, 221, 226, 0, 657, 0, - 317, 349, 365, 153, 679, 305, 331, 0, 0, 154, - 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, - 362, 258, 290, 157, 348, 313, 677, 678, 675, 0, - 676, 731, 732, 801, 802, 803, 765, 669, 0, 782, - 783, 0, 0, 0, 0, 0, 771, 789, 790, 754, - 811, 707, 674, 658, 661, 662, 663, 671, 722, 723, - 735, 738, 778, 777, 776, 779, 784, 807, 806, 808, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 734, 131, 140, 214, 812, 280, 184, 350, 653, - 173, 0, 724, 727, 737, 760, 129, 141, 152, 158, - 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, - 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, - 263, 264, 265, 267, 268, 269, 277, 758, 285, 292, - 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, - 337, 338, 357, 359, 786, 794, 770, 328, 717, 797, - 681, 703, 810, 706, 709, 751, 664, 730, 255, 701, - 665, 0, 685, 654, 694, 655, 682, 719, 175, 680, - 772, 733, 796, 212, 746, 0, 165, 220, 218, 0, - 0, 0, 262, 327, 795, 725, 0, 804, 215, 0, - 742, 805, 315, 239, 0, 0, 721, 781, 728, 768, - 716, 753, 673, 741, 799, 702, 748, 800, 0, 0, - 0, 0, 646, 0, 1542, 1543, 0, 0, 0, 0, - 0, 668, 0, 745, 793, 697, 747, 750, 652, 744, - 0, 659, 666, 809, 788, 688, 689, 690, 0, 0, - 0, 0, 0, 0, 0, 720, 729, 762, 713, 347, - 266, 282, 303, 708, 274, 700, 0, 0, 0, 0, - 0, 0, 0, 0, 686, 0, 739, 0, 0, 0, - 667, 660, 0, 0, 718, 0, 0, 0, 672, 651, - 687, 764, 0, 649, 240, 144, 769, 787, 715, 203, - 358, 791, 712, 711, 276, 0, 322, 191, 213, 148, - 128, 142, 159, 190, 251, 761, 297, 699, 650, 773, - 683, 695, 166, 691, 289, 259, 346, 0, 736, 288, - 216, 336, 757, 792, 345, 704, 775, 355, 360, 0, - 726, 670, 312, 176, 0, 133, 0, 273, 171, 208, - 714, 752, 684, 163, 759, 740, 780, 311, 334, 150, - 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, - 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 351, 710, 300, 299, 705, 198, - 767, 743, 656, 281, 755, 204, 132, 325, 363, 149, - 210, 330, 648, 185, 250, 168, 260, 261, 182, 130, - 278, 232, 233, 231, 234, 189, 696, 756, 766, 279, - 302, 332, 151, 319, 692, 693, 698, 763, 291, 774, - 785, 798, 223, 178, 181, 192, 199, 749, 286, 320, - 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, - 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, - 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, - 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, - 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, - 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, - 226, 0, 657, 0, 317, 349, 365, 153, 679, 305, - 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, - 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, - 677, 678, 675, 0, 676, 731, 732, 801, 802, 803, - 765, 669, 0, 782, 783, 0, 0, 0, 0, 0, - 771, 789, 790, 754, 811, 707, 674, 658, 661, 662, - 663, 671, 722, 723, 735, 738, 778, 777, 776, 779, - 784, 807, 806, 808, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 734, 131, 140, 214, 812, - 280, 184, 350, 653, 173, 0, 724, 727, 737, 760, - 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, - 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, - 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, - 277, 758, 285, 292, 294, 295, 296, 298, 307, 308, - 309, 310, 318, 324, 337, 338, 357, 359, 786, 794, - 2041, 328, 717, 797, 681, 703, 810, 706, 709, 751, - 664, 730, 255, 701, 665, 0, 685, 654, 694, 655, - 682, 719, 175, 680, 772, 733, 796, 212, 746, 0, - 165, 220, 218, 0, 0, 0, 262, 327, 795, 725, - 0, 804, 215, 0, 742, 805, 315, 239, 0, 0, - 721, 781, 728, 768, 716, 753, 673, 741, 799, 702, - 748, 800, 81, 0, 987, 0, 646, 0, 0, 0, - 0, 0, 0, 0, 0, 668, 0, 745, 793, 697, - 747, 750, 652, 744, 0, 659, 666, 809, 788, 688, - 689, 690, 0, 0, 0, 0, 0, 0, 0, 720, - 729, 762, 713, 347, 266, 282, 303, 708, 274, 700, - 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, - 739, 0, 0, 0, 667, 660, 0, 0, 718, 0, - 0, 0, 672, 651, 687, 764, 0, 649, 240, 144, - 769, 787, 715, 203, 358, 791, 712, 711, 276, 0, - 322, 191, 213, 148, 128, 142, 159, 190, 251, 761, - 297, 699, 650, 773, 683, 695, 166, 691, 289, 259, - 346, 0, 736, 288, 216, 336, 757, 792, 345, 704, - 775, 355, 360, 0, 726, 670, 312, 176, 0, 133, - 0, 273, 171, 208, 714, 752, 684, 163, 759, 740, - 780, 311, 334, 150, 329, 238, 244, 160, 162, 161, - 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 351, 710, - 300, 299, 705, 198, 767, 743, 656, 281, 755, 204, - 132, 325, 363, 149, 210, 330, 648, 185, 250, 168, - 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, - 696, 756, 766, 279, 302, 332, 151, 319, 692, 693, - 698, 763, 291, 774, 785, 798, 223, 178, 181, 192, - 199, 749, 286, 320, 352, 0, 134, 326, 344, 156, - 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, - 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, - 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, - 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, - 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, - 242, 241, 243, 221, 226, 0, 657, 0, 317, 349, - 365, 153, 679, 305, 331, 0, 0, 154, 186, 179, - 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, - 290, 157, 348, 313, 677, 678, 675, 0, 676, 731, - 732, 801, 802, 803, 765, 669, 0, 782, 783, 0, - 0, 0, 0, 0, 771, 789, 790, 754, 811, 707, - 674, 658, 661, 662, 663, 671, 722, 723, 735, 738, - 778, 777, 776, 779, 784, 807, 806, 808, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, - 131, 140, 214, 2042, 280, 184, 350, 653, 173, 0, - 724, 727, 737, 760, 129, 141, 152, 158, 172, 177, - 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, - 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, - 265, 267, 268, 269, 277, 758, 285, 292, 294, 295, - 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, - 357, 359, 786, 794, 770, 328, 717, 797, 681, 703, - 810, 706, 709, 751, 664, 730, 255, 701, 665, 0, - 685, 654, 694, 655, 682, 719, 175, 680, 772, 733, - 796, 212, 746, 0, 165, 220, 218, 0, 0, 0, - 262, 327, 795, 725, 0, 804, 215, 0, 742, 805, - 315, 239, 0, 0, 721, 781, 728, 768, 716, 753, - 673, 741, 799, 702, 748, 800, 0, 0, 0, 0, - 646, 0, 0, 0, 0, 0, 0, 0, 0, 668, - 0, 745, 793, 697, 747, 750, 652, 744, 0, 659, - 666, 809, 788, 688, 689, 690, 0, 0, 0, 0, - 0, 0, 0, 720, 729, 762, 713, 347, 266, 282, - 303, 708, 274, 700, 0, 0, 0, 0, 0, 0, - 2338, 0, 686, 0, 739, 0, 0, 0, 667, 660, - 0, 0, 718, 0, 0, 0, 672, 651, 687, 764, - 0, 649, 240, 144, 769, 787, 715, 203, 358, 791, - 712, 711, 276, 0, 322, 191, 213, 148, 128, 142, - 159, 190, 251, 761, 297, 699, 650, 773, 683, 695, - 166, 691, 289, 259, 346, 0, 736, 288, 216, 336, - 757, 792, 345, 704, 775, 355, 360, 0, 726, 670, - 312, 176, 0, 133, 0, 273, 171, 208, 714, 752, - 684, 163, 759, 740, 780, 311, 334, 150, 329, 238, - 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, - 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 351, 710, 300, 299, 705, 198, 767, 743, - 656, 281, 755, 204, 132, 325, 363, 149, 210, 330, - 648, 185, 250, 168, 260, 261, 182, 130, 278, 232, - 233, 231, 234, 189, 696, 756, 766, 279, 302, 332, - 151, 319, 692, 693, 698, 763, 291, 774, 785, 798, - 223, 178, 181, 192, 199, 749, 286, 320, 352, 0, - 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, - 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, - 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, - 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, - 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, - 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, - 657, 0, 317, 349, 365, 153, 679, 305, 331, 0, - 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, - 217, 283, 362, 258, 290, 157, 348, 313, 677, 678, - 675, 0, 676, 731, 732, 801, 802, 803, 765, 669, - 0, 782, 783, 0, 0, 0, 0, 0, 771, 789, - 790, 754, 811, 707, 674, 658, 661, 662, 663, 671, - 722, 723, 735, 738, 778, 777, 776, 779, 784, 807, - 806, 808, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 734, 131, 140, 214, 812, 280, 184, - 350, 653, 173, 0, 724, 727, 737, 760, 129, 141, - 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, - 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, - 256, 257, 263, 264, 265, 267, 268, 269, 277, 758, - 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, - 318, 324, 337, 338, 357, 359, 786, 794, 770, 328, - 717, 797, 681, 703, 810, 706, 709, 751, 664, 730, - 255, 701, 665, 0, 685, 654, 694, 655, 682, 719, - 175, 680, 772, 733, 796, 212, 746, 0, 165, 220, - 218, 0, 0, 0, 262, 327, 795, 725, 0, 804, - 215, 0, 742, 805, 315, 239, 0, 0, 721, 781, - 728, 768, 716, 753, 673, 741, 799, 702, 748, 800, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 0, 668, 0, 745, 793, 697, 747, 750, - 652, 744, 0, 659, 666, 809, 788, 688, 689, 690, - 0, 0, 0, 0, 0, 0, 0, 720, 729, 762, - 713, 347, 266, 282, 303, 708, 274, 700, 0, 0, - 0, 0, 0, 0, 1977, 0, 686, 0, 739, 0, - 0, 0, 667, 660, 0, 0, 718, 0, 0, 0, - 672, 651, 687, 764, 0, 649, 240, 144, 769, 787, - 715, 203, 358, 791, 712, 711, 276, 0, 322, 191, - 213, 148, 128, 142, 159, 190, 251, 761, 297, 699, - 650, 773, 683, 695, 166, 691, 289, 259, 346, 0, - 736, 288, 216, 336, 757, 792, 345, 704, 775, 355, - 360, 0, 726, 670, 312, 176, 0, 133, 0, 273, - 171, 208, 714, 752, 684, 163, 759, 740, 780, 311, - 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, - 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 351, 710, 300, 299, - 705, 198, 767, 743, 656, 281, 755, 204, 132, 325, - 363, 149, 210, 330, 648, 185, 250, 168, 260, 261, - 182, 130, 278, 232, 233, 231, 234, 189, 696, 756, - 766, 279, 302, 332, 151, 319, 692, 693, 698, 763, - 291, 774, 785, 798, 223, 178, 181, 192, 199, 749, - 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, - 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, - 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, - 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, - 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, - 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, - 243, 221, 226, 0, 657, 0, 317, 349, 365, 153, - 679, 305, 331, 0, 0, 154, 186, 179, 270, 245, - 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, - 348, 313, 677, 678, 675, 0, 676, 731, 732, 801, - 802, 803, 765, 669, 0, 782, 783, 0, 0, 0, - 0, 0, 771, 789, 790, 754, 811, 707, 674, 658, - 661, 662, 663, 671, 722, 723, 735, 738, 778, 777, - 776, 779, 784, 807, 806, 808, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 734, 131, 140, - 214, 812, 280, 184, 350, 653, 173, 0, 724, 727, - 737, 760, 129, 141, 152, 158, 172, 177, 183, 193, - 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, - 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, - 268, 269, 277, 758, 285, 292, 294, 295, 296, 298, - 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, - 786, 794, 770, 328, 717, 797, 681, 703, 810, 706, - 709, 751, 664, 730, 255, 701, 665, 0, 685, 654, - 694, 655, 682, 719, 175, 680, 772, 733, 796, 212, - 746, 0, 165, 220, 218, 0, 0, 0, 262, 327, - 795, 725, 0, 804, 215, 0, 742, 805, 315, 239, - 0, 0, 721, 781, 728, 768, 716, 753, 673, 741, - 799, 702, 748, 800, 0, 0, 0, 0, 646, 0, - 0, 0, 0, 0, 0, 0, 0, 668, 0, 745, - 793, 697, 747, 750, 652, 744, 0, 659, 666, 809, - 788, 688, 689, 690, 0, 0, 0, 0, 0, 0, - 0, 720, 729, 762, 713, 347, 266, 282, 303, 708, - 274, 700, 0, 0, 0, 0, 0, 0, 1967, 0, - 686, 0, 739, 0, 0, 0, 667, 660, 0, 0, - 718, 0, 0, 0, 672, 651, 687, 764, 0, 649, - 240, 144, 769, 787, 715, 203, 358, 791, 712, 711, - 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, - 251, 761, 297, 699, 650, 773, 683, 695, 166, 691, - 289, 259, 346, 0, 736, 288, 216, 336, 757, 792, - 345, 704, 775, 355, 360, 0, 726, 670, 312, 176, - 0, 133, 0, 273, 171, 208, 714, 752, 684, 163, - 759, 740, 780, 311, 334, 150, 329, 238, 244, 160, - 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 351, 710, 300, 299, 705, 198, 767, 743, 656, 281, - 755, 204, 132, 325, 363, 149, 210, 330, 648, 185, - 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, - 234, 189, 696, 756, 766, 279, 302, 332, 151, 319, - 692, 693, 698, 763, 291, 774, 785, 798, 223, 178, - 181, 192, 199, 749, 286, 320, 352, 0, 134, 326, - 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, - 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, - 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, - 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, - 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, - 272, 195, 242, 241, 243, 221, 226, 0, 657, 0, - 317, 349, 365, 153, 679, 305, 331, 0, 0, 154, - 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, - 362, 258, 290, 157, 348, 313, 677, 678, 675, 0, - 676, 731, 732, 801, 802, 803, 765, 669, 0, 782, - 783, 0, 0, 0, 0, 0, 771, 789, 790, 754, - 811, 707, 674, 658, 661, 662, 663, 671, 722, 723, - 735, 738, 778, 777, 776, 779, 784, 807, 806, 808, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 734, 131, 140, 214, 812, 280, 184, 350, 653, - 173, 0, 724, 727, 737, 760, 129, 141, 152, 158, - 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, - 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, - 263, 264, 265, 267, 268, 269, 277, 758, 285, 292, - 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, - 337, 338, 357, 359, 786, 794, 770, 328, 717, 797, - 681, 703, 810, 706, 709, 751, 664, 730, 255, 701, - 665, 0, 685, 654, 694, 655, 682, 719, 175, 680, - 772, 733, 796, 212, 746, 0, 165, 220, 218, 0, - 0, 0, 262, 327, 795, 725, 0, 804, 215, 0, - 742, 805, 315, 239, 0, 0, 721, 781, 728, 768, - 716, 753, 673, 741, 799, 702, 748, 800, 0, 0, - 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 668, 0, 745, 793, 697, 747, 750, 652, 744, - 0, 659, 666, 809, 788, 688, 689, 690, 0, 0, - 0, 0, 0, 0, 0, 720, 729, 762, 713, 347, - 266, 282, 303, 708, 274, 700, 0, 0, 0, 0, - 0, 0, 1521, 0, 686, 0, 739, 0, 0, 0, - 667, 660, 0, 0, 718, 0, 0, 0, 672, 651, - 687, 764, 0, 649, 240, 144, 769, 787, 715, 203, - 358, 791, 712, 711, 276, 0, 322, 191, 213, 148, - 128, 142, 159, 190, 251, 761, 297, 699, 650, 773, - 683, 695, 166, 691, 289, 259, 346, 0, 736, 288, - 216, 336, 757, 792, 345, 704, 775, 355, 360, 0, - 726, 670, 312, 176, 0, 133, 0, 273, 171, 208, - 714, 752, 684, 163, 759, 740, 780, 311, 334, 150, - 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, - 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 351, 710, 300, 299, 705, 198, - 767, 743, 656, 281, 755, 204, 132, 325, 363, 149, - 210, 330, 648, 185, 250, 168, 260, 261, 182, 130, - 278, 232, 233, 231, 234, 189, 696, 756, 766, 279, - 302, 332, 151, 319, 692, 693, 698, 763, 291, 774, - 785, 798, 223, 178, 181, 192, 199, 749, 286, 320, - 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, - 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, - 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, - 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, - 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, - 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, - 226, 0, 657, 0, 317, 349, 365, 153, 679, 305, - 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, - 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, - 677, 678, 675, 0, 676, 731, 732, 801, 802, 803, - 765, 669, 0, 782, 783, 0, 0, 0, 0, 0, - 771, 789, 790, 754, 811, 707, 674, 658, 661, 662, - 663, 671, 722, 723, 735, 738, 778, 777, 776, 779, - 784, 807, 806, 808, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 734, 131, 140, 214, 812, - 280, 184, 350, 653, 173, 0, 724, 727, 737, 760, - 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, - 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, - 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, - 277, 758, 285, 292, 294, 295, 296, 298, 307, 308, - 309, 310, 318, 324, 337, 338, 357, 359, 786, 794, - 770, 328, 717, 797, 681, 703, 810, 706, 709, 751, - 664, 730, 255, 701, 665, 0, 685, 654, 694, 655, - 682, 719, 175, 680, 772, 733, 796, 212, 746, 0, - 165, 220, 218, 0, 0, 0, 262, 327, 795, 725, - 0, 804, 215, 0, 742, 805, 315, 239, 0, 0, - 721, 781, 728, 768, 716, 753, 673, 741, 799, 702, - 748, 800, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 0, 668, 0, 745, 793, 697, - 747, 750, 652, 744, 0, 659, 666, 809, 788, 688, - 689, 690, 0, 0, 0, 0, 0, 0, 0, 720, - 729, 762, 713, 347, 266, 282, 303, 708, 274, 700, - 0, 0, 0, 0, 0, 0, 1381, 0, 686, 0, - 739, 0, 0, 0, 667, 660, 0, 0, 718, 0, - 0, 0, 672, 651, 687, 764, 0, 649, 240, 144, - 769, 787, 715, 203, 358, 791, 712, 711, 276, 0, - 322, 191, 213, 148, 128, 142, 159, 190, 251, 761, - 297, 699, 650, 773, 683, 695, 166, 691, 289, 259, - 346, 0, 736, 288, 216, 336, 757, 792, 345, 704, - 775, 355, 360, 0, 726, 670, 312, 176, 0, 133, - 0, 273, 171, 208, 714, 752, 684, 163, 759, 740, - 780, 311, 334, 150, 329, 238, 244, 160, 162, 161, - 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 351, 710, - 300, 299, 705, 198, 767, 743, 656, 281, 755, 204, - 132, 325, 363, 149, 210, 330, 648, 185, 250, 168, - 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, - 696, 756, 766, 279, 302, 332, 151, 319, 692, 693, - 698, 763, 291, 774, 785, 798, 223, 178, 181, 192, - 199, 749, 286, 320, 352, 0, 134, 326, 344, 156, - 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, - 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, - 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, - 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, - 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, - 242, 241, 243, 221, 226, 0, 657, 0, 317, 349, - 365, 153, 679, 305, 331, 0, 0, 154, 186, 179, - 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, - 290, 157, 348, 313, 677, 678, 675, 0, 676, 731, - 732, 801, 802, 803, 765, 669, 0, 782, 783, 0, - 0, 0, 0, 0, 771, 789, 790, 754, 811, 707, - 674, 658, 661, 662, 663, 671, 722, 723, 735, 738, - 778, 777, 776, 779, 784, 807, 806, 808, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, - 131, 140, 214, 812, 280, 184, 350, 653, 173, 0, - 724, 727, 737, 760, 129, 141, 152, 158, 172, 177, - 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, - 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, - 265, 267, 268, 269, 277, 758, 285, 292, 294, 295, - 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, - 357, 359, 786, 794, 770, 328, 717, 797, 681, 703, - 810, 706, 709, 751, 664, 730, 255, 701, 665, 0, - 685, 654, 694, 655, 682, 719, 175, 680, 772, 733, - 796, 212, 746, 0, 165, 220, 218, 0, 0, 0, - 262, 327, 795, 725, 0, 804, 215, 0, 742, 805, - 315, 239, 0, 0, 721, 781, 728, 768, 716, 753, - 673, 741, 799, 702, 748, 800, 0, 0, 0, 0, - 646, 0, 0, 0, 0, 0, 0, 0, 0, 668, - 0, 745, 793, 697, 747, 750, 652, 744, 0, 659, - 666, 809, 788, 688, 689, 690, 0, 0, 0, 0, - 0, 0, 0, 720, 729, 762, 713, 347, 266, 282, - 303, 708, 274, 700, 0, 0, 0, 0, 0, 0, - 0, 0, 686, 0, 739, 0, 0, 0, 667, 660, - 0, 0, 718, 0, 0, 0, 672, 651, 687, 764, - 0, 649, 240, 144, 769, 787, 715, 203, 358, 791, - 712, 711, 276, 0, 322, 191, 213, 148, 128, 142, - 159, 190, 251, 761, 297, 699, 650, 773, 683, 695, - 166, 691, 289, 259, 346, 0, 736, 288, 216, 336, - 757, 792, 345, 704, 775, 355, 360, 0, 726, 670, - 312, 176, 0, 133, 0, 273, 171, 208, 714, 752, - 684, 163, 759, 740, 780, 311, 334, 150, 329, 238, - 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, - 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 351, 710, 300, 299, 705, 198, 767, 743, - 656, 281, 755, 204, 132, 325, 363, 149, 210, 330, - 648, 185, 250, 168, 260, 261, 182, 130, 278, 232, - 233, 231, 234, 189, 696, 756, 766, 279, 302, 332, - 151, 319, 692, 693, 698, 763, 291, 774, 785, 798, - 223, 178, 181, 192, 199, 749, 286, 320, 352, 0, - 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, - 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, - 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, - 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, - 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, - 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, - 657, 0, 317, 349, 365, 153, 679, 305, 331, 0, - 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, - 217, 283, 362, 258, 290, 157, 348, 313, 677, 678, - 675, 0, 676, 731, 732, 801, 802, 803, 765, 669, - 0, 782, 783, 0, 0, 0, 0, 0, 771, 789, - 790, 754, 811, 707, 674, 658, 661, 662, 663, 671, - 722, 723, 735, 738, 778, 777, 776, 779, 784, 807, - 806, 808, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 734, 131, 140, 214, 812, 280, 184, - 350, 653, 173, 0, 724, 727, 737, 760, 129, 141, - 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, - 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, - 256, 257, 263, 264, 265, 267, 268, 269, 277, 758, - 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, - 318, 324, 337, 338, 357, 359, 786, 794, 770, 328, - 717, 797, 681, 703, 810, 706, 709, 751, 664, 730, - 255, 701, 665, 0, 685, 654, 694, 655, 682, 719, - 175, 680, 772, 733, 796, 212, 746, 0, 165, 220, - 218, 0, 0, 0, 262, 327, 795, 725, 0, 804, - 215, 0, 742, 805, 315, 239, 0, 0, 721, 781, - 728, 768, 716, 753, 673, 741, 799, 702, 748, 800, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 0, 668, 0, 745, 793, 697, 747, 750, - 652, 744, 0, 659, 666, 809, 788, 688, 689, 690, - 0, 0, 0, 0, 0, 0, 0, 720, 729, 762, - 713, 347, 266, 282, 303, 708, 274, 700, 0, 0, - 0, 0, 0, 0, 0, 0, 686, 0, 739, 0, - 0, 0, 667, 660, 0, 0, 718, 0, 0, 0, - 672, 651, 687, 764, 0, 649, 240, 144, 769, 787, - 715, 203, 358, 791, 712, 711, 276, 0, 322, 191, - 213, 148, 128, 142, 159, 190, 251, 761, 297, 699, - 650, 773, 683, 695, 166, 691, 289, 259, 346, 0, - 736, 288, 216, 336, 757, 792, 345, 704, 775, 355, - 360, 0, 726, 670, 312, 176, 0, 133, 0, 273, - 171, 208, 714, 752, 684, 163, 759, 740, 780, 311, - 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, - 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 351, 710, 300, 299, - 705, 198, 767, 743, 656, 281, 755, 204, 132, 325, - 363, 149, 210, 330, 648, 185, 250, 168, 260, 261, - 182, 130, 278, 232, 233, 231, 234, 189, 696, 756, - 766, 279, 302, 332, 151, 319, 692, 693, 698, 763, - 291, 774, 785, 798, 223, 178, 181, 192, 199, 749, - 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, - 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, - 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, - 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, - 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, - 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, - 243, 221, 226, 0, 657, 0, 317, 349, 365, 153, - 679, 305, 331, 0, 0, 154, 186, 179, 270, 245, - 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, - 348, 313, 677, 678, 675, 0, 676, 731, 732, 801, - 802, 803, 765, 669, 0, 782, 783, 0, 0, 0, - 0, 0, 771, 789, 790, 754, 811, 707, 674, 658, - 661, 662, 663, 671, 722, 723, 735, 738, 778, 777, - 776, 779, 784, 807, 806, 808, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 734, 131, 140, - 214, 812, 280, 184, 350, 653, 173, 0, 724, 727, - 737, 760, 129, 141, 152, 158, 172, 177, 183, 193, - 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, - 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, - 268, 269, 277, 758, 285, 292, 294, 295, 296, 298, - 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, - 786, 794, 770, 328, 717, 797, 681, 703, 810, 706, - 709, 751, 664, 730, 255, 701, 665, 0, 685, 654, - 694, 655, 682, 719, 175, 680, 772, 733, 796, 212, - 746, 0, 165, 220, 218, 0, 0, 0, 262, 327, - 1553, 1557, 0, 804, 215, 0, 742, 805, 315, 239, - 0, 0, 721, 781, 728, 768, 716, 753, 673, 741, - 799, 702, 748, 800, 0, 0, 0, 0, 646, 0, - 0, 0, 0, 0, 0, 0, 0, 668, 0, 745, - 793, 697, 747, 750, 652, 744, 0, 659, 666, 809, - 788, 688, 689, 690, 0, 0, 0, 0, 0, 0, - 0, 720, 729, 762, 713, 347, 266, 282, 303, 708, - 274, 700, 0, 0, 0, 0, 0, 0, 0, 0, - 686, 0, 739, 0, 0, 0, 667, 660, 0, 0, - 718, 0, 0, 0, 672, 651, 687, 764, 0, 649, - 240, 144, 769, 787, 1556, 203, 358, 791, 712, 711, - 1551, 0, 1552, 191, 213, 645, 128, 142, 1549, 1555, - 251, 761, 297, 699, 650, 773, 683, 695, 166, 691, - 289, 259, 346, 0, 736, 288, 216, 336, 757, 792, - 345, 704, 775, 355, 360, 0, 726, 670, 312, 176, - 0, 133, 0, 273, 171, 208, 714, 752, 684, 163, - 759, 740, 780, 311, 334, 150, 329, 238, 244, 160, - 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 351, 710, 300, 299, 705, 198, 767, 743, 656, 281, - 755, 204, 132, 325, 363, 149, 210, 330, 648, 185, - 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, - 234, 189, 696, 756, 766, 279, 302, 332, 151, 319, - 692, 693, 698, 763, 291, 774, 785, 798, 223, 178, - 181, 192, 199, 749, 286, 320, 352, 0, 134, 326, - 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, - 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, - 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, - 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, - 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, - 272, 195, 242, 241, 243, 221, 226, 0, 657, 0, - 317, 349, 365, 153, 679, 305, 331, 0, 0, 154, - 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, - 362, 258, 290, 157, 348, 313, 677, 678, 675, 0, - 676, 731, 732, 801, 802, 803, 765, 669, 0, 782, - 783, 0, 0, 0, 0, 0, 771, 789, 790, 754, - 811, 707, 674, 658, 661, 662, 663, 671, 722, 723, - 735, 738, 778, 777, 776, 779, 784, 807, 806, 808, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 734, 131, 140, 214, 812, 280, 184, 350, 653, - 173, 0, 724, 727, 737, 760, 129, 141, 152, 158, - 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, - 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, - 263, 264, 265, 267, 268, 269, 277, 758, 285, 292, - 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, - 337, 338, 357, 359, 786, 794, 770, 328, 717, 797, - 681, 703, 810, 706, 709, 751, 664, 730, 255, 701, - 665, 0, 685, 654, 694, 655, 682, 719, 175, 680, - 772, 733, 796, 212, 746, 0, 165, 220, 218, 0, - 0, 0, 262, 327, 795, 725, 0, 804, 215, 0, - 742, 805, 315, 239, 0, 0, 721, 781, 728, 768, - 716, 753, 673, 741, 799, 702, 748, 800, 0, 0, - 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 668, 0, 745, 793, 697, 747, 750, 652, 744, - 0, 659, 666, 809, 788, 688, 689, 690, 0, 0, - 0, 0, 0, 0, 0, 720, 729, 762, 713, 347, - 266, 282, 303, 708, 274, 700, 0, 0, 0, 0, - 0, 0, 0, 0, 686, 0, 739, 0, 0, 0, - 667, 660, 0, 0, 718, 0, 0, 0, 672, 651, - 687, 764, 0, 649, 240, 144, 769, 787, 715, 203, - 358, 791, 712, 711, 276, 0, 322, 191, 213, 148, - 128, 142, 159, 190, 251, 761, 297, 699, 650, 773, - 683, 695, 166, 691, 289, 259, 346, 0, 736, 288, - 216, 336, 757, 792, 345, 704, 775, 355, 360, 0, - 726, 670, 312, 176, 0, 133, 0, 273, 171, 208, - 714, 752, 684, 163, 759, 740, 780, 311, 334, 150, - 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, - 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 351, 710, 300, 299, 705, 198, - 767, 743, 656, 281, 755, 204, 132, 325, 363, 149, - 210, 330, 648, 185, 250, 168, 260, 261, 182, 130, - 278, 232, 233, 231, 234, 189, 696, 756, 766, 279, - 302, 332, 151, 319, 692, 693, 698, 763, 291, 774, - 785, 798, 223, 178, 181, 192, 199, 749, 286, 320, - 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, - 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, - 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, - 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, - 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, - 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, - 226, 0, 657, 0, 317, 349, 365, 153, 679, 305, - 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, - 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, - 677, 678, 675, 0, 676, 731, 732, 801, 802, 803, - 765, 669, 0, 782, 783, 0, 0, 0, 0, 0, - 771, 789, 790, 754, 811, 707, 674, 658, 661, 662, - 663, 671, 722, 723, 735, 738, 778, 777, 776, 779, - 784, 807, 806, 808, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 734, 131, 140, 214, 812, - 280, 184, 350, 653, 173, 0, 724, 727, 737, 760, - 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, - 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, - 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, - 277, 758, 285, 292, 294, 295, 296, 298, 307, 308, - 309, 310, 318, 324, 337, 338, 357, 359, 786, 794, - 770, 328, 717, 797, 681, 703, 810, 706, 709, 751, - 664, 730, 255, 701, 665, 0, 685, 654, 694, 655, - 682, 719, 175, 680, 772, 733, 796, 212, 746, 0, - 165, 220, 218, 0, 0, 0, 262, 327, 795, 725, - 0, 804, 215, 0, 742, 805, 315, 239, 0, 0, - 721, 781, 728, 768, 716, 753, 673, 741, 799, 702, - 748, 800, 0, 0, 0, 0, 646, 0, 0, 0, - 0, 0, 0, 0, 0, 668, 0, 745, 793, 697, - 747, 750, 652, 744, 0, 659, 666, 809, 788, 688, - 689, 690, 0, 0, 0, 0, 0, 0, 0, 720, - 729, 762, 713, 347, 266, 282, 303, 708, 274, 700, - 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, - 739, 0, 0, 0, 667, 660, 0, 0, 718, 0, - 0, 0, 672, 651, 687, 764, 0, 649, 240, 144, - 769, 787, 715, 203, 358, 791, 712, 711, 276, 0, - 322, 191, 213, 645, 128, 142, 641, 190, 251, 761, - 297, 699, 650, 773, 683, 695, 166, 691, 289, 259, - 346, 0, 736, 288, 216, 336, 757, 792, 345, 704, - 775, 355, 360, 0, 726, 670, 312, 176, 0, 133, - 0, 273, 171, 208, 714, 752, 684, 163, 759, 740, - 780, 311, 334, 150, 329, 238, 244, 160, 162, 161, - 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 351, 710, - 300, 299, 705, 198, 767, 743, 656, 281, 755, 204, - 132, 325, 363, 149, 210, 330, 648, 185, 250, 168, - 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, - 696, 756, 766, 279, 302, 332, 151, 319, 692, 693, - 698, 763, 291, 774, 785, 798, 223, 178, 181, 192, - 199, 749, 286, 320, 352, 0, 134, 326, 344, 156, - 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, - 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, - 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, - 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, - 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, - 242, 241, 243, 221, 226, 0, 657, 0, 317, 349, - 365, 153, 679, 305, 331, 0, 0, 154, 186, 179, - 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, - 290, 157, 348, 313, 677, 678, 675, 0, 676, 731, - 732, 801, 802, 803, 765, 669, 0, 782, 783, 0, - 0, 0, 0, 0, 771, 789, 790, 754, 811, 707, - 674, 658, 661, 662, 663, 671, 722, 723, 735, 738, - 778, 777, 776, 779, 784, 807, 806, 808, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, - 131, 140, 214, 812, 280, 184, 350, 653, 173, 0, - 724, 727, 737, 760, 129, 141, 152, 158, 172, 177, - 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, - 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, - 265, 267, 268, 269, 277, 758, 285, 292, 294, 295, - 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, - 357, 359, 786, 328, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, - 516, 0, 0, 0, 175, 513, 0, 0, 0, 212, - 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, - 0, 0, 0, 591, 215, 0, 0, 493, 315, 239, - 0, 0, 0, 0, 578, 579, 0, 0, 0, 0, - 0, 0, 1531, 0, 81, 0, 0, 0, 514, 538, - 537, 540, 541, 542, 543, 0, 0, 497, 539, 544, - 573, 574, 1532, 0, 0, 511, 529, 0, 590, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, - 274, 0, 0, 0, 0, 0, 526, 527, 0, 0, - 0, 0, 605, 0, 528, 0, 0, 523, 524, 525, - 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 144, 581, 0, 0, 203, 358, 0, 0, 603, - 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, - 251, 0, 297, 588, 0, 0, 0, 0, 166, 0, - 289, 259, 346, 580, 0, 288, 216, 336, 0, 0, - 345, 0, 487, 355, 360, 0, 0, 0, 312, 176, - 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, - 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, - 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, - 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, - 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, - 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, - 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, - 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, - 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, - 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, - 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, - 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, - 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, - 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, - 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, - 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, - 362, 258, 290, 157, 348, 313, 592, 604, 598, 600, - 599, 596, 597, 595, 594, 593, 606, 582, 583, 584, - 585, 586, 0, 0, 0, 589, 0, 601, 602, 0, - 0, 0, 0, 545, 546, 547, 548, 549, 553, 554, - 558, 559, 567, 566, 565, 568, 569, 571, 570, 572, - 550, 551, 552, 555, 556, 557, 560, 561, 564, 562, - 563, 587, 131, 140, 214, 0, 280, 184, 350, 0, - 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, - 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, - 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, - 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, - 337, 338, 357, 359, 36, 328, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, - 0, 0, 516, 0, 0, 0, 175, 513, 0, 0, - 0, 212, 0, 0, 165, 220, 218, 0, 0, 0, - 262, 327, 0, 0, 0, 591, 215, 0, 0, 493, - 315, 239, 0, 0, 0, 0, 578, 579, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 514, 538, 537, 540, 541, 542, 543, 0, 0, 497, - 539, 544, 573, 574, 0, 0, 0, 511, 529, 0, - 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 347, 266, 282, - 303, 0, 274, 0, 0, 0, 0, 0, 526, 527, - 0, 0, 0, 0, 605, 0, 528, 0, 0, 523, - 524, 525, 530, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 144, 581, 0, 0, 203, 358, 0, - 0, 603, 276, 0, 322, 191, 213, 148, 128, 142, - 159, 190, 251, 0, 297, 588, 0, 0, 0, 0, - 166, 0, 289, 259, 346, 580, 0, 288, 216, 336, - 0, 0, 345, 0, 487, 355, 360, 0, 0, 0, - 312, 176, 0, 133, 0, 273, 171, 208, 0, 0, - 0, 163, 0, 0, 0, 311, 334, 150, 329, 238, - 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, - 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 351, 0, 300, 299, 0, 198, 0, 0, - 0, 281, 0, 204, 132, 325, 363, 149, 210, 330, - 0, 185, 250, 168, 260, 261, 182, 130, 278, 232, - 233, 231, 234, 189, 0, 0, 0, 279, 302, 332, - 151, 319, 0, 0, 0, 0, 291, 0, 0, 0, - 223, 178, 181, 192, 199, 0, 286, 320, 352, 0, - 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, - 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, - 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, - 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, - 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, - 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, - 0, 0, 317, 349, 365, 153, 0, 305, 331, 0, - 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, - 217, 283, 362, 258, 290, 157, 348, 313, 592, 604, - 598, 600, 599, 596, 597, 595, 594, 593, 606, 582, - 583, 584, 585, 586, 0, 0, 0, 589, 0, 601, - 602, 0, 0, 0, 0, 545, 546, 547, 548, 549, - 553, 554, 558, 559, 567, 566, 565, 568, 569, 571, - 570, 572, 550, 551, 552, 555, 556, 557, 560, 561, - 564, 562, 563, 587, 131, 140, 214, 79, 280, 184, - 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, - 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, - 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, - 256, 257, 263, 264, 265, 267, 268, 269, 277, 0, - 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, - 318, 324, 337, 338, 357, 359, 328, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 0, 516, 0, 0, 0, 175, 513, 0, - 0, 0, 212, 0, 0, 165, 220, 218, 0, 0, - 0, 262, 327, 0, 0, 0, 591, 215, 0, 0, - 493, 315, 239, 0, 0, 0, 0, 578, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, - 0, 514, 538, 537, 540, 541, 542, 543, 0, 0, - 497, 539, 544, 573, 574, 0, 0, 0, 511, 529, - 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, - 282, 303, 0, 274, 0, 0, 0, 0, 0, 526, - 527, 507, 0, 0, 0, 605, 0, 528, 0, 0, - 523, 524, 525, 530, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 144, 581, 0, 0, 203, 358, - 0, 0, 603, 276, 0, 322, 191, 213, 148, 128, - 142, 159, 190, 251, 0, 297, 588, 0, 0, 0, - 0, 166, 0, 289, 259, 346, 580, 0, 288, 216, - 336, 0, 0, 345, 0, 487, 355, 360, 0, 0, - 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, - 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, - 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, - 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, - 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, - 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, - 232, 233, 231, 234, 189, 0, 0, 0, 279, 302, - 332, 151, 319, 0, 0, 0, 0, 291, 0, 0, - 0, 223, 178, 181, 192, 199, 0, 286, 320, 352, - 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, - 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, - 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, - 145, 354, 139, 146, 353, 247, 0, 246, 356, 335, - 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, - 194, 271, 219, 272, 195, 242, 241, 243, 221, 226, - 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, - 0, 0, 154, 186, 179, 270, 245, 147, 197, 314, - 209, 217, 283, 362, 258, 290, 157, 348, 313, 592, - 604, 598, 600, 599, 596, 597, 595, 594, 593, 606, - 582, 583, 584, 585, 586, 0, 0, 0, 589, 0, - 601, 602, 0, 0, 0, 0, 545, 546, 547, 548, - 549, 553, 554, 558, 559, 567, 566, 565, 568, 569, - 571, 570, 572, 550, 551, 552, 555, 556, 557, 560, - 561, 564, 562, 563, 587, 131, 140, 214, 0, 280, - 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, - 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, - 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, - 253, 256, 257, 263, 264, 265, 267, 268, 269, 277, - 0, 285, 292, 294, 295, 296, 298, 307, 308, 309, - 310, 318, 324, 337, 338, 357, 359, 328, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, - 0, 0, 0, 0, 516, 0, 0, 0, 175, 513, - 0, 0, 0, 212, 0, 0, 165, 220, 218, 0, - 0, 0, 262, 327, 0, 0, 0, 591, 215, 0, - 0, 493, 315, 239, 0, 0, 0, 0, 578, 579, - 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, - 987, 0, 514, 538, 537, 540, 541, 542, 543, 0, - 0, 497, 539, 544, 573, 574, 0, 0, 0, 511, - 529, 0, 590, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, - 266, 282, 303, 0, 274, 0, 0, 0, 0, 0, - 526, 527, 0, 0, 0, 0, 605, 0, 528, 0, - 0, 523, 524, 525, 530, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 144, 581, 0, 0, 203, - 358, 0, 0, 603, 276, 0, 322, 191, 213, 148, - 128, 142, 159, 190, 251, 0, 297, 588, 0, 0, - 0, 0, 166, 0, 289, 259, 346, 580, 0, 288, - 216, 336, 0, 0, 345, 0, 487, 355, 360, 0, - 0, 0, 312, 176, 0, 133, 0, 273, 171, 208, - 0, 0, 0, 163, 0, 0, 0, 311, 334, 150, - 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, - 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 351, 0, 300, 299, 0, 198, - 0, 0, 0, 281, 0, 204, 132, 325, 363, 149, - 210, 330, 0, 185, 250, 168, 260, 261, 182, 130, - 278, 232, 233, 231, 234, 189, 0, 0, 0, 279, - 302, 332, 151, 319, 0, 0, 0, 0, 291, 0, - 0, 0, 223, 178, 181, 192, 199, 0, 286, 320, - 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, - 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, - 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, - 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, - 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, - 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, - 226, 0, 0, 0, 317, 349, 365, 153, 0, 305, - 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, - 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, - 592, 604, 598, 600, 599, 596, 597, 595, 594, 593, - 606, 582, 583, 584, 585, 586, 0, 0, 0, 589, - 0, 601, 602, 0, 0, 0, 0, 545, 546, 547, - 548, 549, 553, 554, 558, 559, 567, 566, 565, 568, - 569, 571, 570, 572, 550, 551, 552, 555, 556, 557, - 560, 561, 564, 562, 563, 587, 131, 140, 214, 0, - 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, - 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, - 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, - 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, - 277, 0, 285, 292, 294, 295, 296, 298, 307, 308, - 309, 310, 318, 324, 337, 338, 357, 359, 328, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 0, 516, 0, 0, 0, 175, - 513, 0, 0, 0, 212, 0, 0, 165, 220, 218, - 0, 0, 0, 262, 327, 0, 0, 0, 591, 215, - 0, 0, 493, 315, 239, 0, 0, 0, 0, 578, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 0, 514, 538, 537, 540, 541, 542, 543, - 0, 0, 497, 539, 544, 573, 574, 0, 0, 0, - 511, 529, 0, 590, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 347, 266, 282, 303, 0, 274, 0, 0, 0, 0, - 0, 526, 527, 1419, 0, 0, 0, 605, 0, 528, - 0, 0, 523, 524, 525, 530, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 240, 144, 581, 0, 0, - 203, 358, 0, 0, 603, 276, 0, 322, 191, 213, - 148, 128, 142, 159, 190, 251, 0, 297, 588, 0, - 0, 0, 0, 166, 0, 289, 259, 346, 580, 0, - 288, 216, 336, 0, 0, 345, 0, 487, 355, 360, - 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, - 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, - 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, - 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, - 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, - 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, - 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, - 279, 302, 332, 151, 319, 0, 0, 0, 0, 291, - 0, 0, 0, 223, 178, 181, 192, 199, 0, 286, - 320, 352, 0, 134, 326, 344, 156, 301, 304, 361, - 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, - 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, - 167, 364, 145, 354, 139, 146, 353, 247, 0, 246, - 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, - 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, - 221, 226, 0, 0, 0, 317, 349, 365, 153, 0, - 305, 331, 0, 0, 154, 186, 179, 270, 245, 147, - 197, 314, 209, 217, 283, 362, 258, 290, 157, 348, - 313, 592, 604, 598, 600, 599, 596, 597, 595, 594, - 593, 606, 582, 583, 584, 585, 586, 0, 0, 0, - 589, 0, 601, 602, 0, 0, 0, 0, 545, 546, - 547, 548, 549, 553, 554, 558, 559, 567, 566, 565, - 568, 569, 571, 570, 572, 550, 551, 552, 555, 556, - 557, 560, 561, 564, 562, 563, 587, 131, 140, 214, - 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, - 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, - 249, 252, 253, 256, 257, 263, 264, 265, 267, 268, - 269, 277, 0, 285, 292, 294, 295, 296, 298, 307, - 308, 309, 310, 318, 324, 337, 338, 357, 359, 328, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 255, 0, 0, 0, 0, 0, 516, 0, 0, 0, - 175, 513, 0, 0, 0, 212, 0, 0, 165, 220, - 218, 0, 0, 0, 262, 327, 0, 0, 0, 591, - 215, 0, 0, 493, 315, 239, 0, 0, 0, 0, - 578, 579, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 0, 0, 514, 538, 1463, 540, 541, 542, - 543, 0, 0, 497, 539, 544, 573, 574, 0, 0, - 0, 511, 529, 0, 590, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 347, 266, 282, 303, 0, 274, 0, 0, 0, - 0, 0, 526, 527, 1419, 0, 0, 0, 605, 0, - 528, 0, 0, 523, 524, 525, 530, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 240, 144, 581, 0, - 0, 203, 358, 0, 0, 603, 276, 0, 322, 191, - 213, 148, 128, 142, 159, 190, 251, 0, 297, 588, - 0, 0, 0, 0, 166, 0, 289, 259, 346, 580, - 0, 288, 216, 336, 0, 0, 345, 0, 487, 355, - 360, 0, 0, 0, 312, 176, 0, 133, 0, 273, - 171, 208, 0, 0, 0, 163, 0, 0, 0, 311, - 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, - 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 351, 0, 300, 299, - 0, 198, 0, 0, 0, 281, 0, 204, 132, 325, - 363, 149, 210, 330, 0, 185, 250, 168, 260, 261, - 182, 130, 278, 232, 233, 231, 234, 189, 0, 0, - 0, 279, 302, 332, 151, 319, 0, 0, 0, 0, - 291, 0, 0, 0, 223, 178, 181, 192, 199, 0, - 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, - 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, - 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, - 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, - 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, - 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, - 243, 221, 226, 0, 0, 0, 317, 349, 365, 153, - 0, 305, 331, 0, 0, 154, 186, 179, 270, 245, - 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, - 348, 313, 592, 604, 598, 600, 599, 596, 597, 595, - 594, 593, 606, 582, 583, 584, 585, 586, 0, 0, - 0, 589, 0, 601, 602, 0, 0, 0, 0, 545, - 546, 547, 548, 549, 553, 554, 558, 559, 567, 566, - 565, 568, 569, 571, 570, 572, 550, 551, 552, 555, - 556, 557, 560, 561, 564, 562, 563, 587, 131, 140, - 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, - 0, 0, 129, 141, 152, 158, 172, 177, 183, 193, - 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, - 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, - 268, 269, 277, 0, 285, 292, 294, 295, 296, 298, - 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, - 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 0, 516, 0, 0, - 0, 175, 513, 0, 0, 0, 212, 0, 0, 165, - 220, 218, 0, 0, 0, 262, 327, 0, 0, 0, - 591, 215, 0, 0, 493, 315, 239, 0, 0, 0, - 0, 578, 579, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 514, 538, 1460, 540, 541, - 542, 543, 0, 0, 497, 539, 544, 573, 574, 0, - 0, 0, 511, 529, 0, 590, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 347, 266, 282, 303, 0, 274, 0, 0, - 0, 0, 0, 526, 527, 1419, 0, 0, 0, 605, - 0, 528, 0, 0, 523, 524, 525, 530, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 240, 144, 581, - 0, 0, 203, 358, 0, 0, 603, 276, 0, 322, - 191, 213, 148, 128, 142, 159, 190, 251, 0, 297, - 588, 0, 0, 0, 0, 166, 0, 289, 259, 346, - 580, 0, 288, 216, 336, 0, 0, 345, 0, 487, - 355, 360, 0, 0, 0, 312, 176, 0, 133, 0, - 273, 171, 208, 0, 0, 0, 163, 0, 0, 0, - 311, 334, 150, 329, 238, 244, 160, 162, 161, 143, - 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 351, 0, 300, - 299, 0, 198, 0, 0, 0, 281, 0, 204, 132, - 325, 363, 149, 210, 330, 0, 185, 250, 168, 260, - 261, 182, 130, 278, 232, 233, 231, 234, 189, 0, - 0, 0, 279, 302, 332, 151, 319, 0, 0, 0, - 0, 291, 0, 0, 0, 223, 178, 181, 192, 199, - 0, 286, 320, 352, 0, 134, 326, 344, 156, 301, - 304, 361, 287, 137, 342, 321, 236, 205, 206, 135, - 0, 136, 284, 174, 188, 169, 254, 0, 187, 275, - 339, 340, 167, 364, 145, 354, 139, 146, 353, 247, - 0, 246, 356, 335, 343, 237, 225, 0, 138, 341, - 235, 224, 211, 180, 194, 271, 219, 272, 195, 242, - 241, 243, 221, 226, 0, 0, 0, 317, 349, 365, - 153, 0, 305, 331, 0, 0, 154, 186, 179, 270, - 245, 147, 197, 314, 209, 217, 283, 362, 258, 290, - 157, 348, 313, 592, 604, 598, 600, 599, 596, 597, - 595, 594, 593, 606, 582, 583, 584, 585, 586, 0, - 0, 0, 589, 0, 601, 602, 0, 0, 0, 0, - 545, 546, 547, 548, 549, 553, 554, 558, 559, 567, - 566, 565, 568, 569, 571, 570, 572, 550, 551, 552, - 555, 556, 557, 560, 561, 564, 562, 563, 587, 131, - 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, - 0, 0, 0, 129, 141, 152, 158, 172, 177, 183, - 193, 196, 200, 201, 202, 207, 222, 227, 228, 229, - 230, 248, 249, 252, 253, 256, 257, 263, 264, 265, - 267, 268, 269, 277, 0, 285, 292, 294, 295, 296, - 298, 307, 308, 309, 310, 318, 324, 337, 338, 357, - 359, 328, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 255, 0, 0, 0, 0, 0, 516, 0, - 0, 0, 175, 513, 0, 0, 0, 212, 0, 0, - 165, 220, 218, 0, 0, 0, 262, 327, 0, 0, - 0, 591, 215, 0, 0, 493, 315, 239, 0, 0, - 0, 0, 578, 579, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 1300, 0, 514, 538, 537, 540, - 541, 542, 543, 0, 0, 497, 539, 544, 573, 574, - 0, 0, 0, 511, 529, 0, 590, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 347, 266, 282, 303, 0, 274, 0, - 0, 0, 0, 0, 526, 527, 0, 0, 0, 0, - 605, 0, 528, 0, 0, 523, 524, 525, 530, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 240, 144, - 581, 0, 0, 203, 358, 0, 0, 603, 276, 0, - 322, 191, 213, 148, 128, 142, 159, 190, 251, 0, - 297, 588, 0, 0, 0, 0, 166, 0, 289, 259, - 346, 580, 0, 288, 216, 336, 0, 0, 345, 0, - 487, 355, 360, 0, 0, 0, 312, 176, 0, 133, - 0, 273, 171, 208, 0, 0, 0, 163, 0, 0, - 0, 311, 334, 150, 329, 238, 244, 160, 162, 161, - 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, - 300, 299, 0, 198, 0, 0, 0, 281, 0, 204, - 132, 325, 363, 149, 210, 330, 0, 185, 250, 168, - 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, - 0, 0, 0, 279, 302, 332, 151, 319, 0, 0, - 0, 0, 291, 0, 0, 0, 223, 178, 181, 192, - 199, 0, 286, 320, 352, 0, 134, 326, 344, 156, - 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, - 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, - 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, - 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, - 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, - 242, 241, 243, 221, 226, 0, 0, 0, 317, 349, - 365, 153, 0, 305, 331, 0, 0, 154, 186, 179, - 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, - 290, 157, 348, 313, 592, 604, 598, 600, 599, 596, - 597, 595, 594, 593, 606, 582, 583, 584, 585, 586, - 0, 0, 0, 589, 0, 601, 602, 0, 0, 0, - 0, 545, 546, 547, 548, 549, 553, 554, 558, 559, - 567, 566, 565, 568, 569, 571, 570, 572, 550, 551, - 552, 555, 556, 557, 560, 561, 564, 562, 563, 587, - 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, - 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, - 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, - 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, - 265, 267, 268, 269, 277, 0, 285, 292, 294, 295, - 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, - 357, 359, 328, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 0, 516, - 0, 0, 0, 175, 513, 0, 0, 0, 212, 0, - 0, 165, 220, 218, 0, 0, 0, 262, 327, 0, - 0, 0, 591, 215, 0, 0, 493, 315, 239, 0, - 0, 0, 0, 578, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, 0, 514, 538, 537, - 540, 541, 542, 543, 0, 0, 497, 539, 544, 573, - 574, 0, 0, 0, 511, 529, 0, 590, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 347, 266, 282, 303, 0, 274, - 0, 0, 0, 0, 0, 526, 527, 0, 0, 0, - 0, 605, 0, 528, 0, 0, 523, 524, 525, 530, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, - 144, 581, 0, 0, 203, 358, 0, 0, 603, 276, - 0, 322, 191, 213, 148, 128, 142, 159, 190, 251, - 0, 297, 588, 0, 0, 0, 0, 166, 0, 289, - 259, 346, 580, 0, 288, 216, 336, 0, 0, 345, - 0, 487, 355, 360, 0, 0, 0, 312, 176, 0, - 133, 0, 273, 171, 208, 0, 0, 0, 163, 0, - 0, 0, 311, 334, 150, 329, 238, 244, 160, 162, - 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, - 0, 300, 299, 0, 198, 0, 0, 0, 281, 0, - 204, 132, 325, 363, 149, 210, 330, 0, 185, 250, - 168, 260, 261, 182, 130, 278, 232, 233, 231, 234, - 189, 0, 0, 0, 279, 302, 332, 151, 319, 0, - 0, 0, 0, 291, 0, 0, 0, 223, 178, 181, - 192, 199, 0, 286, 320, 352, 0, 134, 326, 344, - 156, 301, 304, 361, 287, 137, 342, 321, 236, 205, - 206, 135, 0, 136, 284, 174, 188, 169, 254, 0, - 187, 275, 339, 340, 167, 364, 145, 354, 139, 146, - 353, 247, 0, 246, 356, 335, 343, 237, 225, 0, - 138, 341, 235, 224, 211, 180, 194, 271, 219, 272, - 195, 242, 241, 243, 221, 226, 0, 0, 0, 317, - 349, 365, 153, 0, 305, 331, 0, 0, 154, 186, - 179, 270, 245, 147, 197, 314, 209, 217, 283, 362, - 258, 290, 157, 348, 313, 592, 604, 598, 600, 599, - 596, 597, 595, 594, 593, 606, 582, 583, 584, 585, - 586, 0, 0, 0, 589, 0, 601, 602, 0, 0, - 0, 0, 545, 546, 547, 548, 549, 553, 554, 558, - 559, 567, 566, 565, 568, 569, 571, 570, 572, 550, - 551, 552, 555, 556, 557, 560, 561, 564, 562, 563, - 587, 131, 140, 214, 0, 280, 184, 350, 0, 173, - 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, - 177, 183, 193, 196, 200, 201, 202, 207, 222, 227, - 228, 229, 230, 248, 249, 252, 253, 256, 257, 263, - 264, 265, 267, 268, 269, 277, 0, 285, 292, 294, - 295, 296, 298, 307, 308, 309, 310, 318, 324, 337, - 338, 357, 359, 328, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 175, 0, 0, 0, 0, 212, - 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, - 0, 0, 0, 591, 215, 0, 0, 493, 315, 239, - 0, 0, 0, 0, 578, 579, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 514, 538, - 537, 540, 541, 542, 543, 0, 0, 497, 539, 544, - 573, 574, 0, 0, 0, 0, 529, 0, 590, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, - 274, 0, 0, 0, 0, 0, 526, 527, 0, 0, - 0, 0, 605, 0, 528, 0, 0, 523, 524, 525, - 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 144, 581, 0, 0, 203, 358, 0, 0, 603, - 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, - 251, 0, 297, 588, 0, 0, 0, 0, 166, 0, - 289, 259, 346, 580, 0, 288, 216, 336, 0, 0, - 345, 0, 487, 355, 360, 0, 0, 0, 312, 176, - 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, - 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, - 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, - 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, - 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, - 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, - 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, - 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, - 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, - 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, - 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, - 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, - 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, - 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, - 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, - 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, - 362, 258, 290, 157, 348, 313, 592, 604, 598, 600, - 599, 596, 597, 595, 594, 593, 606, 582, 583, 584, - 585, 586, 1466, 1467, 1468, 589, 0, 601, 602, 0, - 0, 0, 0, 545, 546, 547, 548, 549, 553, 554, - 558, 559, 567, 566, 565, 568, 569, 571, 570, 572, - 550, 551, 552, 555, 556, 557, 560, 561, 564, 562, - 563, 587, 131, 140, 214, 0, 280, 184, 350, 0, - 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, - 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, - 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, - 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, - 337, 338, 357, 359, 328, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, - 212, 0, 0, 165, 220, 218, 0, 0, 0, 262, - 327, 0, 0, 0, 591, 215, 0, 0, 493, 315, - 239, 0, 0, 0, 0, 578, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 0, 0, 514, - 538, 537, 540, 541, 542, 543, 0, 0, 497, 539, - 544, 573, 574, 0, 0, 0, 0, 529, 0, 590, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 347, 266, 282, 303, - 0, 274, 0, 0, 0, 0, 0, 526, 527, 0, - 0, 0, 0, 605, 0, 528, 0, 0, 523, 524, - 525, 530, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 144, 581, 0, 0, 203, 358, 0, 0, - 603, 276, 0, 322, 191, 213, 148, 128, 142, 159, - 190, 251, 0, 297, 588, 0, 0, 0, 0, 166, - 0, 289, 259, 346, 580, 2756, 288, 216, 336, 0, - 0, 345, 0, 487, 355, 360, 0, 0, 0, 312, - 176, 0, 133, 0, 273, 171, 208, 0, 0, 0, - 163, 0, 0, 0, 311, 334, 150, 329, 238, 244, - 160, 162, 161, 143, 306, 333, 155, 164, 316, 293, - 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 351, 0, 300, 299, 0, 198, 0, 0, 0, - 281, 0, 204, 132, 325, 363, 149, 210, 330, 0, - 185, 250, 168, 260, 261, 182, 130, 278, 232, 233, - 231, 234, 189, 0, 0, 0, 279, 302, 332, 151, - 319, 0, 0, 0, 0, 291, 0, 0, 0, 223, - 178, 181, 192, 199, 0, 286, 320, 352, 0, 134, - 326, 344, 156, 301, 304, 361, 287, 137, 342, 321, - 236, 205, 206, 135, 0, 136, 284, 174, 188, 169, - 254, 0, 187, 275, 339, 340, 167, 364, 145, 354, - 139, 146, 353, 247, 0, 246, 356, 335, 343, 237, - 225, 0, 138, 341, 235, 224, 211, 180, 194, 271, - 219, 272, 195, 242, 241, 243, 221, 226, 0, 0, - 0, 317, 349, 365, 153, 0, 305, 331, 0, 0, - 154, 186, 179, 270, 245, 147, 197, 314, 209, 217, - 283, 362, 258, 290, 157, 348, 313, 592, 604, 598, - 600, 599, 596, 597, 595, 594, 593, 606, 582, 583, - 584, 585, 586, 0, 0, 0, 589, 0, 601, 602, - 0, 0, 0, 0, 545, 546, 547, 548, 549, 553, - 554, 558, 559, 567, 566, 565, 568, 569, 571, 570, - 572, 550, 551, 552, 555, 556, 557, 560, 561, 564, - 562, 563, 587, 131, 140, 214, 0, 280, 184, 350, - 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, - 158, 172, 177, 183, 193, 196, 200, 201, 202, 207, - 222, 227, 228, 229, 230, 248, 249, 252, 253, 256, - 257, 263, 264, 265, 267, 268, 269, 277, 0, 285, - 292, 294, 295, 296, 298, 307, 308, 309, 310, 318, - 324, 337, 338, 357, 359, 328, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, - 0, 212, 0, 0, 165, 220, 218, 0, 0, 0, - 262, 327, 0, 0, 0, 591, 215, 0, 0, 493, - 315, 239, 0, 0, 0, 0, 578, 579, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 987, 0, - 514, 538, 537, 540, 541, 542, 543, 0, 0, 497, - 539, 544, 573, 574, 0, 0, 0, 0, 529, 0, - 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 347, 266, 282, - 303, 0, 274, 0, 0, 0, 0, 0, 526, 527, - 0, 0, 0, 0, 605, 0, 528, 0, 0, 523, - 524, 525, 530, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 144, 581, 0, 0, 203, 358, 0, - 0, 603, 276, 0, 322, 191, 213, 148, 128, 142, - 159, 190, 251, 0, 297, 588, 0, 0, 0, 0, - 166, 0, 289, 259, 346, 580, 0, 288, 216, 336, - 0, 0, 345, 0, 487, 355, 360, 0, 0, 0, - 312, 176, 0, 133, 0, 273, 171, 208, 0, 0, - 0, 163, 0, 0, 0, 311, 334, 150, 329, 238, - 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, - 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 351, 0, 300, 299, 0, 198, 0, 0, - 0, 281, 0, 204, 132, 325, 363, 149, 210, 330, - 0, 185, 250, 168, 260, 261, 182, 130, 278, 232, - 233, 231, 234, 189, 0, 0, 0, 279, 302, 332, - 151, 319, 0, 0, 0, 0, 291, 0, 0, 0, - 223, 178, 181, 192, 199, 0, 286, 320, 352, 0, - 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, - 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, - 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, - 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, - 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, - 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, - 0, 0, 317, 349, 365, 153, 0, 305, 331, 0, - 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, - 217, 283, 362, 258, 290, 157, 348, 313, 592, 604, - 598, 600, 599, 596, 597, 595, 594, 593, 606, 582, - 583, 584, 585, 586, 0, 0, 0, 589, 0, 601, - 602, 0, 0, 0, 0, 545, 546, 547, 548, 549, - 553, 554, 558, 559, 567, 566, 565, 568, 569, 571, - 570, 572, 550, 551, 552, 555, 556, 557, 560, 561, - 564, 562, 563, 587, 131, 140, 214, 0, 280, 184, - 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, - 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, - 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, - 256, 257, 263, 264, 265, 267, 268, 269, 277, 0, - 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, - 318, 324, 337, 338, 357, 359, 328, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, - 0, 0, 212, 0, 0, 165, 220, 218, 0, 0, - 0, 262, 327, 0, 0, 0, 591, 215, 0, 0, - 493, 315, 239, 0, 0, 0, 0, 578, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, - 0, 514, 538, 537, 540, 541, 542, 543, 0, 0, - 497, 539, 544, 573, 574, 0, 0, 0, 0, 529, - 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, - 282, 303, 0, 274, 0, 0, 0, 0, 0, 526, - 527, 0, 0, 0, 0, 605, 0, 528, 0, 0, - 523, 524, 525, 530, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 144, 581, 0, 0, 203, 358, - 0, 0, 603, 276, 0, 322, 191, 213, 148, 128, - 142, 159, 190, 251, 0, 297, 588, 0, 0, 0, - 0, 166, 0, 289, 259, 346, 580, 0, 288, 216, - 336, 0, 0, 345, 0, 487, 355, 360, 0, 0, - 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, - 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, - 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, - 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, - 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, - 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, - 232, 233, 231, 234, 189, 0, 0, 0, 279, 302, - 332, 151, 319, 0, 0, 0, 0, 291, 0, 0, - 0, 223, 178, 181, 192, 199, 0, 286, 320, 352, - 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, - 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, - 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, - 145, 354, 139, 146, 353, 247, 0, 246, 356, 335, - 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, - 194, 271, 219, 272, 195, 242, 241, 243, 221, 226, - 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, - 0, 0, 154, 186, 179, 270, 245, 147, 197, 314, - 209, 217, 283, 362, 258, 290, 157, 348, 313, 592, - 604, 598, 600, 599, 596, 597, 595, 594, 593, 606, - 582, 583, 584, 585, 586, 0, 0, 0, 589, 0, - 601, 602, 0, 0, 0, 0, 545, 546, 547, 548, - 549, 553, 554, 558, 559, 567, 566, 565, 568, 569, - 571, 570, 572, 550, 551, 552, 555, 556, 557, 560, - 561, 564, 562, 563, 587, 131, 140, 214, 0, 280, - 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, - 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, - 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, - 253, 256, 257, 263, 264, 265, 267, 268, 269, 277, - 0, 285, 292, 294, 295, 296, 298, 307, 308, 309, - 310, 318, 324, 337, 338, 357, 359, 328, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, - 0, 0, 0, 1509, 0, 0, 0, 0, 175, 0, - 0, 0, 0, 212, 0, 0, 165, 220, 218, 0, - 0, 0, 262, 327, 0, 0, 0, 0, 215, 0, - 0, 493, 315, 239, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1511, 1513, 0, 0, 0, 0, - 0, 0, 126, 0, 466, 0, 0, 0, 0, 0, - 0, 497, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, - 266, 282, 303, 0, 274, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 144, 0, 0, 0, 203, - 358, 0, 1512, 0, 276, 0, 322, 191, 213, 148, - 128, 142, 159, 190, 251, 0, 297, 0, 0, 0, - 0, 0, 166, 0, 289, 259, 346, 0, 0, 288, - 216, 336, 0, 0, 345, 0, 487, 355, 360, 0, - 0, 0, 312, 176, 0, 133, 0, 273, 171, 208, - 0, 0, 0, 163, 0, 0, 0, 311, 334, 150, - 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, - 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 351, 0, 300, 299, 0, 198, - 0, 0, 0, 281, 0, 204, 132, 325, 363, 149, - 210, 330, 0, 185, 250, 168, 260, 261, 182, 130, - 278, 232, 233, 231, 234, 189, 0, 0, 0, 279, - 302, 332, 151, 319, 0, 0, 0, 0, 291, 0, - 0, 0, 223, 178, 181, 192, 199, 0, 286, 320, - 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, - 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, - 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, - 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, - 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, - 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, - 226, 0, 0, 0, 317, 349, 365, 153, 0, 305, - 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, - 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 468, 469, - 470, 471, 475, 476, 480, 481, 490, 489, 488, 491, - 492, 495, 494, 496, 472, 473, 474, 477, 478, 479, - 482, 483, 486, 484, 485, 0, 131, 140, 214, 0, - 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, - 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, - 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, - 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, - 277, 0, 285, 292, 294, 295, 296, 298, 307, 308, - 309, 310, 318, 324, 337, 338, 357, 359, 328, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 1509, 0, 0, 0, 0, 175, - 0, 0, 0, 0, 212, 0, 0, 165, 220, 218, - 0, 0, 0, 262, 327, 0, 0, 0, 0, 215, - 0, 0, 493, 315, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1511, 1513, 0, 0, 0, - 0, 0, 0, 126, 0, 466, 0, 0, 0, 0, - 0, 0, 497, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 347, 1507, 282, 303, 0, 274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 240, 144, 0, 0, 0, - 203, 358, 0, 1512, 0, 276, 0, 322, 191, 213, - 148, 128, 142, 159, 190, 251, 0, 297, 0, 0, - 0, 0, 0, 166, 0, 289, 259, 346, 0, 0, - 288, 216, 336, 0, 0, 345, 0, 487, 355, 360, - 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, - 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, - 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, - 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, - 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, - 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, - 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, - 279, 302, 332, 151, 319, 0, 0, 0, 0, 291, - 0, 0, 0, 223, 178, 181, 192, 199, 0, 286, - 320, 352, 0, 134, 326, 344, 156, 301, 304, 361, - 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, - 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, - 167, 364, 145, 354, 139, 146, 353, 247, 0, 246, - 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, - 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, - 221, 226, 0, 0, 0, 317, 349, 365, 153, 0, - 305, 331, 0, 0, 154, 186, 179, 270, 245, 147, - 197, 314, 209, 217, 283, 362, 258, 290, 157, 348, - 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 468, - 469, 470, 471, 475, 476, 480, 481, 490, 489, 488, - 491, 492, 495, 494, 496, 472, 473, 474, 477, 478, - 479, 482, 483, 486, 484, 485, 0, 131, 140, 214, - 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, - 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, - 249, 252, 253, 256, 257, 263, 264, 265, 267, 268, - 269, 277, 0, 285, 292, 294, 295, 296, 298, 307, - 308, 309, 310, 318, 324, 337, 338, 357, 359, 328, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 255, 0, 0, 0, 0, 1009, 0, 0, 0, 0, - 175, 0, 0, 0, 0, 212, 0, 0, 165, 220, - 218, 0, 0, 0, 262, 327, 0, 0, 0, 0, - 215, 0, 0, 493, 315, 239, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1010, 0, 1013, 0, 0, 0, - 0, 0, 0, 497, 0, 0, 0, 0, 0, 1006, - 1005, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1007, 0, 0, - 0, 347, 266, 282, 303, 0, 274, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 240, 144, 0, 0, - 0, 203, 358, 0, 0, 0, 276, 0, 322, 191, - 213, 148, 128, 142, 159, 190, 251, 0, 297, 0, - 0, 0, 0, 0, 166, 0, 289, 259, 346, 0, - 0, 288, 216, 336, 0, 0, 345, 0, 487, 355, - 360, 0, 0, 0, 312, 176, 0, 133, 0, 273, - 171, 208, 0, 0, 0, 163, 0, 0, 0, 311, - 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, - 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 351, 0, 300, 299, - 0, 198, 0, 0, 0, 281, 0, 204, 132, 325, - 363, 149, 210, 330, 0, 185, 250, 168, 260, 261, - 182, 130, 278, 232, 233, 231, 234, 189, 0, 0, - 0, 279, 302, 332, 151, 319, 0, 0, 0, 0, - 291, 0, 0, 0, 223, 178, 181, 192, 199, 0, - 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, - 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, - 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, - 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, - 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, - 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, - 243, 221, 226, 0, 0, 0, 317, 349, 365, 153, - 0, 305, 331, 0, 0, 154, 186, 179, 270, 245, - 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, - 348, 313, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 468, 469, 470, 471, 475, 476, 480, 481, 490, 489, - 488, 491, 492, 495, 494, 496, 472, 473, 474, 477, - 478, 479, 482, 483, 486, 484, 485, 0, 131, 140, - 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, - 0, 0, 129, 141, 152, 158, 172, 177, 183, 193, - 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, - 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, - 268, 269, 277, 0, 285, 292, 294, 295, 296, 298, - 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, - 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 175, 0, 0, 0, 0, 212, 0, 0, 165, - 220, 218, 0, 0, 0, 262, 327, 0, 0, 0, - 0, 215, 0, 0, 493, 315, 239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 0, 466, 0, 0, - 0, 0, 0, 0, 497, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 347, 266, 282, 303, 0, 274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 240, 144, 0, - 0, 0, 203, 358, 0, 0, 0, 276, 0, 322, - 191, 213, 148, 128, 142, 159, 190, 251, 0, 297, - 0, 0, 0, 0, 0, 166, 0, 289, 259, 346, - 0, 0, 288, 216, 336, 0, 0, 345, 0, 487, - 355, 360, 0, 0, 0, 312, 176, 0, 133, 0, - 273, 171, 208, 0, 0, 0, 163, 0, 0, 0, - 311, 334, 150, 329, 238, 244, 160, 162, 161, 143, - 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 351, 0, 300, - 299, 0, 198, 0, 0, 0, 281, 0, 204, 132, - 325, 363, 149, 210, 330, 0, 185, 250, 168, 260, - 261, 182, 130, 278, 232, 233, 231, 234, 189, 0, - 0, 0, 279, 302, 332, 151, 319, 0, 0, 0, - 0, 291, 0, 0, 0, 223, 178, 181, 192, 199, - 0, 286, 320, 352, 0, 134, 326, 344, 156, 301, - 304, 361, 287, 137, 342, 321, 236, 205, 206, 135, - 0, 136, 284, 174, 188, 169, 254, 0, 187, 275, - 339, 340, 167, 364, 145, 354, 139, 146, 353, 247, - 0, 246, 356, 335, 343, 237, 225, 0, 138, 341, - 235, 224, 211, 180, 194, 271, 219, 272, 195, 242, - 241, 243, 221, 226, 0, 0, 0, 317, 349, 365, - 153, 0, 305, 331, 0, 0, 154, 186, 179, 270, - 245, 147, 197, 314, 209, 217, 283, 362, 258, 290, - 157, 348, 313, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 468, 469, 470, 471, 475, 476, 480, 481, 490, - 489, 488, 491, 492, 495, 494, 496, 472, 473, 474, - 477, 478, 479, 482, 483, 486, 484, 485, 0, 131, - 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, - 0, 0, 461, 129, 141, 152, 158, 172, 177, 183, - 193, 196, 200, 201, 202, 207, 222, 227, 228, 229, - 230, 248, 249, 252, 253, 256, 257, 263, 264, 265, - 267, 268, 269, 277, 0, 285, 292, 294, 295, 296, - 298, 307, 308, 309, 310, 318, 324, 337, 338, 357, - 359, 328, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 0, 0, 0, 0, 212, 1804, 0, - 165, 220, 218, 0, 0, 0, 262, 327, 0, 0, - 0, 0, 215, 0, 0, 493, 315, 239, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 126, 0, 466, 0, - 0, 0, 0, 0, 0, 497, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 347, 266, 282, 303, 0, 274, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 240, 144, - 0, 0, 0, 203, 358, 0, 0, 0, 276, 0, - 322, 191, 213, 148, 128, 142, 159, 190, 251, 0, - 297, 0, 0, 0, 0, 0, 166, 0, 289, 259, - 346, 0, 0, 288, 216, 336, 0, 0, 345, 0, - 487, 355, 360, 0, 0, 0, 312, 176, 0, 133, - 0, 273, 171, 208, 0, 0, 0, 163, 0, 0, - 0, 311, 334, 150, 329, 238, 244, 160, 162, 161, - 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, - 300, 299, 0, 198, 0, 0, 0, 281, 0, 204, - 132, 325, 363, 149, 210, 330, 0, 185, 250, 168, - 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, - 0, 0, 0, 279, 302, 332, 151, 319, 0, 0, - 0, 0, 291, 0, 0, 0, 223, 178, 181, 192, - 199, 0, 286, 320, 352, 0, 134, 326, 344, 156, - 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, - 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, - 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, - 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, - 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, - 242, 241, 243, 221, 226, 0, 0, 0, 317, 349, - 365, 153, 0, 305, 331, 0, 0, 154, 186, 179, - 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, - 290, 157, 348, 313, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 468, 469, 470, 471, 475, 476, 480, 481, - 490, 489, 488, 491, 492, 495, 494, 496, 472, 473, - 474, 477, 478, 479, 482, 483, 486, 484, 485, 0, - 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, - 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, - 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, - 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, - 265, 267, 268, 269, 277, 0, 285, 292, 294, 295, - 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, - 357, 359, 328, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 175, 0, 0, 0, 0, 212, 0, - 0, 165, 220, 218, 0, 0, 0, 262, 327, 0, - 0, 0, 0, 215, 0, 0, 493, 315, 239, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 466, - 0, 0, 0, 0, 0, 0, 497, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 347, 266, 282, 303, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, - 144, 0, 0, 0, 203, 358, 0, 0, 0, 276, - 0, 322, 191, 213, 148, 128, 142, 159, 190, 251, - 0, 297, 0, 0, 0, 0, 0, 166, 0, 289, - 259, 346, 0, 0, 288, 216, 336, 0, 0, 345, - 0, 487, 355, 360, 0, 0, 0, 312, 176, 0, - 133, 0, 273, 171, 208, 0, 0, 0, 163, 0, - 0, 0, 311, 334, 150, 329, 238, 244, 160, 162, - 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, - 0, 300, 299, 0, 198, 0, 0, 0, 281, 0, - 204, 132, 325, 363, 149, 210, 330, 0, 185, 250, - 168, 260, 261, 182, 130, 278, 232, 233, 231, 234, - 189, 0, 0, 0, 279, 302, 332, 151, 319, 0, - 0, 0, 0, 291, 0, 0, 0, 223, 178, 181, - 192, 199, 0, 286, 320, 352, 0, 134, 326, 344, - 156, 301, 304, 361, 287, 137, 342, 321, 236, 205, - 206, 135, 0, 136, 284, 174, 188, 169, 254, 0, - 187, 275, 339, 340, 167, 364, 145, 354, 139, 146, - 353, 247, 0, 246, 356, 335, 343, 237, 225, 0, - 138, 341, 235, 224, 211, 180, 194, 271, 219, 272, - 195, 242, 241, 243, 221, 226, 0, 0, 0, 317, - 349, 365, 153, 0, 305, 331, 0, 0, 154, 186, - 179, 270, 245, 147, 197, 314, 209, 217, 283, 362, - 258, 290, 157, 348, 313, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 468, 469, 470, 471, 475, 476, 480, - 481, 490, 489, 488, 491, 492, 495, 494, 496, 472, - 473, 474, 477, 478, 479, 482, 483, 486, 484, 485, - 0, 131, 140, 214, 0, 280, 184, 350, 0, 173, - 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, - 177, 183, 193, 196, 200, 201, 202, 207, 222, 227, - 228, 229, 230, 248, 249, 252, 253, 256, 257, 263, - 264, 265, 267, 268, 269, 277, 0, 285, 292, 294, - 295, 296, 298, 307, 308, 309, 310, 318, 324, 337, - 338, 357, 359, 328, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 175, 0, 0, 0, 0, 212, - 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, - 0, 0, 0, 0, 215, 0, 0, 493, 315, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1010, 0, - 1013, 0, 0, 0, 0, 0, 0, 497, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, - 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 144, 0, 0, 0, 203, 358, 0, 0, 0, - 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, - 251, 0, 297, 0, 0, 0, 0, 0, 166, 0, - 289, 259, 346, 0, 0, 288, 216, 336, 0, 0, - 345, 0, 487, 355, 360, 0, 0, 0, 312, 176, - 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, - 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, - 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, - 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, - 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, - 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, - 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, - 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, - 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, - 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, - 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, - 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, - 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, - 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, - 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, - 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, - 362, 258, 290, 157, 348, 313, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 468, 469, 470, 471, 475, 476, - 480, 481, 490, 489, 488, 491, 492, 495, 494, 496, - 472, 473, 474, 477, 478, 479, 482, 483, 486, 484, - 485, 0, 131, 140, 214, 0, 280, 184, 350, 0, - 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, - 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, - 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, - 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, - 337, 338, 357, 359, 328, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, - 212, 0, 0, 165, 220, 218, 0, 0, 0, 262, - 327, 0, 0, 0, 0, 215, 0, 0, 493, 315, - 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 646, - 0, 0, 0, 0, 0, 0, 0, 0, 497, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 347, 266, 282, 303, - 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 144, 0, 0, 0, 203, 358, 0, 0, - 0, 276, 0, 322, 191, 213, 148, 128, 142, 159, - 190, 251, 0, 297, 0, 0, 0, 0, 0, 166, - 0, 289, 259, 346, 0, 0, 288, 216, 336, 0, - 0, 345, 0, 487, 355, 360, 0, 0, 0, 312, - 176, 0, 133, 0, 273, 171, 208, 0, 0, 0, - 163, 0, 0, 0, 311, 334, 150, 329, 238, 244, - 160, 162, 161, 143, 306, 333, 155, 164, 316, 293, - 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 351, 0, 300, 299, 0, 198, 0, 0, 0, - 281, 0, 204, 132, 325, 363, 149, 210, 330, 0, - 185, 250, 168, 260, 261, 182, 130, 278, 232, 233, - 231, 234, 189, 0, 0, 0, 279, 302, 332, 151, - 319, 0, 0, 0, 0, 291, 0, 0, 0, 223, - 178, 181, 192, 199, 0, 286, 320, 352, 0, 134, - 326, 344, 156, 301, 304, 361, 287, 137, 342, 321, - 236, 205, 206, 135, 0, 136, 284, 174, 188, 169, - 254, 0, 187, 275, 339, 340, 167, 364, 145, 354, - 139, 146, 353, 247, 0, 246, 356, 335, 343, 237, - 225, 0, 138, 341, 235, 224, 211, 180, 194, 271, - 219, 272, 195, 242, 241, 243, 221, 226, 0, 0, - 0, 317, 349, 365, 153, 0, 305, 331, 0, 0, - 154, 186, 179, 270, 245, 147, 197, 314, 209, 217, - 283, 362, 258, 290, 157, 348, 313, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 468, 469, 470, 471, 475, - 476, 480, 481, 490, 489, 488, 491, 492, 495, 494, - 496, 472, 473, 474, 477, 478, 479, 482, 483, 486, - 484, 485, 0, 131, 140, 214, 0, 280, 184, 350, - 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, - 158, 172, 177, 183, 193, 196, 200, 201, 202, 207, - 222, 227, 228, 229, 230, 248, 249, 252, 253, 256, - 257, 263, 264, 265, 267, 268, 269, 277, 0, 285, - 292, 294, 295, 296, 298, 307, 308, 309, 310, 318, - 324, 337, 338, 357, 359, 435, 328, 429, 440, 423, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 446, 0, 0, 0, 0, 0, 0, 175, 0, 0, - 430, 0, 212, 0, 0, 165, 220, 218, 0, 0, - 0, 262, 327, 0, 0, 0, 493, 215, 0, 0, - 0, 315, 239, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2158, 0, 0, 0, 2160, 0, 0, - 0, 444, 0, 443, 0, 0, 497, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, - 282, 303, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 422, 421, 424, - 0, 0, 0, 240, 144, 0, 0, 428, 203, 358, - 0, 0, 0, 276, 0, 322, 191, 213, 148, 128, - 142, 159, 190, 251, 432, 297, 0, 0, 436, 0, - 0, 166, 0, 289, 259, 346, 0, 0, 288, 216, - 336, 487, 439, 345, 0, 0, 355, 360, 0, 0, - 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, - 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, - 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, - 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, - 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, - 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, - 232, 233, 231, 234, 189, 0, 0, 0, 449, 302, - 332, 151, 319, 425, 426, 427, 433, 434, 437, 438, - 441, 223, 178, 181, 192, 199, 0, 286, 320, 352, - 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, - 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, - 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, - 145, 354, 139, 146, 353, 247, 0, 246, 356, 335, - 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, - 194, 271, 219, 272, 195, 242, 241, 243, 221, 226, - 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, - 0, 0, 154, 186, 179, 270, 245, 147, 197, 314, - 209, 217, 283, 362, 258, 290, 157, 348, 313, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 468, 469, 470, 471, 475, 476, 480, - 481, 490, 489, 488, 491, 492, 495, 494, 496, 472, - 473, 474, 477, 478, 479, 482, 483, 486, 484, 485, - 0, 0, 0, 0, 0, 131, 140, 214, 0, 280, - 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, - 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, - 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, - 253, 256, 257, 263, 264, 265, 267, 268, 269, 277, - 431, 285, 292, 294, 295, 296, 298, 307, 308, 309, - 310, 318, 324, 337, 338, 357, 359, 435, 328, 429, - 440, 423, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 415, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 430, 0, 212, 0, 493, 165, 220, 218, - 0, 0, 0, 262, 327, 0, 0, 0, 0, 215, - 0, 0, 0, 315, 239, 0, 0, 2160, 0, 0, - 0, 0, 0, 0, 0, 0, 497, 0, 0, 0, - 0, 0, 0, 444, 0, 443, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 347, 266, 282, 303, 0, 274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, - 421, 424, 0, 0, 0, 240, 144, 0, 0, 428, - 203, 358, 0, 0, 0, 276, 0, 322, 191, 213, - 148, 128, 142, 159, 190, 251, 432, 297, 0, 0, - 436, 487, 0, 166, 0, 289, 259, 346, 0, 0, - 288, 216, 336, 0, 439, 345, 0, 0, 355, 360, - 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, - 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, - 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, - 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, - 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, - 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, - 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, - 418, 302, 332, 151, 319, 425, 426, 427, 433, 434, - 437, 438, 441, 223, 178, 181, 192, 199, 0, 286, - 320, 352, 0, 134, 326, 344, 156, 301, 304, 361, - 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, - 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, - 167, 364, 145, 354, 139, 146, 353, 247, 0, 246, - 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, - 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, - 221, 226, 0, 0, 0, 317, 349, 365, 153, 0, - 305, 331, 0, 0, 154, 186, 179, 270, 245, 147, - 197, 314, 209, 217, 283, 362, 258, 290, 157, 348, - 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 468, 469, 470, 471, 475, 476, 480, - 481, 490, 489, 488, 491, 492, 495, 494, 496, 472, - 473, 474, 477, 478, 479, 482, 483, 486, 484, 485, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 131, 140, 214, - 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, - 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, - 249, 252, 253, 256, 257, 263, 264, 265, 267, 268, - 269, 277, 431, 285, 292, 294, 295, 296, 298, 307, - 308, 309, 310, 318, 324, 337, 338, 357, 359, 328, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 0, 493, 0, 0, 212, 0, 0, 165, 220, - 218, 0, 0, 0, 262, 327, 0, 0, 0, 0, - 215, 0, 0, 2169, 315, 239, 0, 0, 0, 0, - 0, 0, 497, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 646, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 347, 266, 282, 303, 0, 274, 0, 1023, 1022, - 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, - 0, 0, 1034, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 240, 144, 0, 0, - 0, 203, 358, 0, 0, 0, 276, 0, 322, 191, - 213, 148, 128, 142, 159, 190, 251, 487, 297, 0, - 0, 0, 0, 0, 166, 0, 289, 259, 346, 0, - 0, 288, 216, 336, 0, 0, 345, 0, 0, 355, - 360, 0, 0, 0, 312, 176, 0, 133, 0, 273, - 171, 208, 0, 0, 0, 163, 0, 0, 0, 311, - 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, - 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 351, 0, 300, 299, - 0, 198, 0, 0, 0, 281, 0, 204, 132, 325, - 363, 149, 210, 330, 0, 185, 250, 168, 260, 261, - 182, 130, 278, 232, 233, 231, 234, 189, 0, 0, - 0, 279, 302, 332, 151, 319, 0, 0, 0, 0, - 291, 0, 0, 0, 223, 178, 181, 192, 199, 0, - 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, - 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, - 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, - 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, - 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, - 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, - 243, 221, 226, 0, 0, 0, 317, 349, 365, 153, - 0, 305, 331, 0, 0, 154, 186, 179, 270, 245, - 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, - 348, 313, 0, 0, 0, 0, 0, 0, 467, 468, - 469, 470, 471, 475, 476, 480, 481, 490, 489, 488, - 491, 492, 495, 494, 496, 472, 473, 474, 477, 478, - 479, 482, 483, 486, 484, 485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, - 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, - 0, 0, 129, 141, 152, 158, 172, 177, 183, 193, - 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, - 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, - 268, 269, 277, 0, 285, 292, 294, 295, 296, 298, - 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, - 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 2681, 0, 0, 0, 0, 0, - 0, 175, 2679, 493, 0, 0, 212, 0, 0, 165, - 220, 218, 0, 0, 0, 262, 327, 0, 0, 0, - 0, 215, 0, 0, 2167, 315, 239, 0, 0, 0, - 0, 0, 0, 497, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 444, 0, 443, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 347, 266, 282, 303, 0, 274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 240, 144, 0, - 0, 0, 203, 358, 0, 0, 0, 276, 0, 322, - 191, 213, 148, 128, 142, 159, 190, 251, 487, 297, - 0, 0, 0, 0, 0, 166, 0, 289, 259, 346, - 0, 0, 288, 216, 336, 0, 0, 345, 0, 0, - 355, 360, 0, 0, 0, 312, 176, 0, 133, 0, - 273, 171, 208, 0, 0, 0, 163, 0, 0, 0, - 311, 334, 150, 329, 238, 244, 160, 162, 161, 143, - 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 351, 0, 300, - 299, 0, 198, 0, 2680, 0, 281, 0, 204, 132, - 325, 363, 149, 210, 330, 0, 185, 250, 168, 260, - 261, 182, 130, 278, 232, 233, 231, 234, 189, 0, - 0, 0, 279, 302, 332, 151, 319, 0, 0, 0, - 0, 291, 0, 0, 0, 223, 178, 181, 192, 199, - 0, 286, 320, 352, 0, 134, 326, 344, 156, 301, - 304, 361, 287, 137, 342, 321, 236, 205, 206, 135, - 0, 136, 284, 174, 188, 169, 254, 0, 187, 275, - 339, 340, 167, 364, 145, 354, 139, 146, 353, 247, - 0, 246, 356, 335, 343, 237, 225, 0, 138, 341, - 235, 224, 211, 180, 194, 271, 219, 272, 195, 242, - 241, 243, 221, 226, 0, 0, 0, 317, 349, 365, - 153, 0, 305, 331, 0, 0, 154, 186, 179, 270, - 245, 147, 197, 314, 209, 217, 283, 362, 258, 290, - 157, 348, 313, 0, 0, 0, 0, 0, 0, 467, - 468, 469, 470, 471, 475, 476, 480, 481, 490, 489, - 488, 491, 492, 495, 494, 496, 472, 473, 474, 477, - 478, 479, 482, 483, 486, 484, 485, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, - 0, 0, 0, 129, 141, 152, 158, 172, 177, 183, - 193, 196, 200, 201, 202, 207, 222, 227, 228, 229, - 230, 248, 249, 252, 253, 256, 257, 263, 264, 265, - 267, 268, 269, 277, 0, 285, 292, 294, 295, 296, - 298, 307, 308, 309, 310, 318, 324, 337, 338, 357, - 359, 36, 328, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 175, 0, 0, 0, 0, 212, 0, - 0, 165, 220, 218, 0, 0, 0, 262, 327, 0, - 0, 0, 1504, 215, 0, 0, 0, 315, 239, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, 0, 126, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 347, 266, 282, 303, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, - 144, 0, 0, 0, 203, 358, 0, 0, 0, 276, - 0, 322, 191, 213, 148, 128, 142, 159, 190, 251, - 0, 297, 0, 0, 0, 0, 0, 166, 0, 289, - 259, 346, 0, 0, 288, 216, 336, 0, 0, 345, - 0, 0, 355, 360, 0, 0, 0, 312, 176, 0, - 133, 0, 273, 171, 208, 0, 0, 0, 163, 0, - 0, 0, 311, 334, 150, 329, 238, 244, 160, 162, - 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, - 0, 300, 299, 0, 198, 0, 0, 0, 281, 0, - 204, 132, 325, 363, 149, 210, 330, 0, 185, 250, - 168, 260, 261, 182, 130, 278, 232, 233, 231, 234, - 189, 0, 0, 0, 279, 302, 332, 151, 319, 0, - 0, 0, 0, 291, 0, 0, 0, 223, 178, 181, - 192, 199, 0, 286, 320, 352, 0, 134, 326, 344, - 156, 301, 304, 361, 287, 137, 342, 321, 236, 205, - 206, 135, 0, 136, 284, 174, 188, 169, 254, 0, - 187, 275, 339, 340, 167, 364, 145, 354, 139, 146, - 353, 247, 0, 246, 356, 335, 343, 237, 225, 0, - 138, 341, 235, 224, 211, 180, 194, 271, 219, 272, - 195, 242, 241, 243, 221, 226, 0, 0, 0, 317, - 349, 365, 153, 0, 305, 331, 0, 0, 154, 186, - 179, 270, 245, 147, 197, 314, 209, 217, 283, 362, - 258, 290, 157, 348, 313, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 140, 214, 79, 280, 184, 350, 0, 173, - 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, - 177, 183, 193, 196, 200, 201, 202, 207, 222, 227, - 228, 229, 230, 248, 249, 252, 253, 256, 257, 263, - 264, 265, 267, 268, 269, 277, 0, 285, 292, 294, - 295, 296, 298, 307, 308, 309, 310, 318, 324, 337, - 338, 357, 359, 328, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 175, 0, 0, 0, 0, 212, - 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, - 0, 0, 0, 0, 215, 0, 0, 0, 315, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 444, 0, - 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, - 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 144, 0, 0, 0, 203, 358, 0, 0, 0, - 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, - 251, 0, 297, 0, 0, 0, 0, 0, 166, 0, - 289, 259, 346, 0, 0, 288, 216, 336, 0, 0, - 345, 0, 0, 355, 360, 0, 0, 0, 312, 176, - 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, - 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, - 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, - 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, - 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, - 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, - 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, - 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, - 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, - 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, - 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, - 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, - 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, - 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, - 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, - 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, - 362, 258, 290, 157, 348, 313, 0, 0, 0, 1287, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 131, 140, 214, 0, 280, 184, 350, 0, - 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, - 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, - 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, - 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, - 337, 338, 357, 359, 328, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 175, 1159, 0, 0, 0, - 212, 0, 0, 165, 220, 218, 0, 0, 0, 262, - 327, 0, 0, 0, 0, 215, 0, 0, 0, 315, - 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 646, - 0, 1158, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 347, 266, 282, 303, - 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 144, 0, 0, 0, 203, 358, 0, 0, - 0, 276, 0, 322, 191, 213, 148, 128, 142, 159, - 190, 251, 0, 297, 0, 0, 0, 0, 0, 166, - 0, 289, 259, 346, 0, 0, 288, 216, 336, 0, - 0, 345, 0, 0, 355, 360, 0, 0, 0, 312, - 176, 0, 133, 0, 273, 171, 208, 0, 0, 0, - 163, 0, 0, 0, 311, 334, 150, 329, 238, 244, - 160, 162, 161, 143, 306, 333, 155, 164, 316, 293, - 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 351, 0, 300, 299, 0, 198, 0, 0, 0, - 281, 0, 204, 132, 325, 363, 149, 210, 330, 0, - 185, 250, 168, 260, 261, 182, 130, 278, 232, 233, - 231, 234, 189, 0, 0, 0, 279, 302, 332, 151, - 319, 0, 0, 0, 0, 291, 0, 0, 0, 223, - 178, 181, 192, 199, 0, 286, 320, 352, 0, 134, - 326, 344, 156, 301, 304, 361, 287, 137, 342, 321, - 236, 205, 206, 135, 0, 136, 284, 174, 188, 169, - 254, 0, 187, 275, 339, 340, 167, 364, 145, 354, - 139, 146, 353, 247, 0, 246, 356, 335, 343, 237, - 225, 0, 138, 341, 235, 224, 211, 180, 194, 271, - 219, 272, 195, 242, 241, 243, 221, 226, 0, 0, - 0, 317, 349, 365, 153, 0, 305, 331, 0, 0, - 154, 186, 179, 270, 245, 147, 197, 314, 209, 217, - 283, 362, 258, 290, 157, 348, 313, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 131, 140, 214, 0, 280, 184, 350, - 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, - 158, 172, 177, 183, 193, 196, 200, 201, 202, 207, - 222, 227, 228, 229, 230, 248, 249, 252, 253, 256, - 257, 263, 264, 265, 267, 268, 269, 277, 0, 285, - 292, 294, 295, 296, 298, 307, 308, 309, 310, 318, - 324, 337, 338, 357, 359, 328, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, - 0, 212, 0, 0, 165, 220, 218, 0, 0, 0, - 262, 327, 0, 0, 0, 0, 215, 0, 0, 0, - 315, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 444, 0, 443, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 347, 266, 282, - 303, 0, 274, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 144, 0, 0, 0, 203, 358, 0, - 0, 0, 276, 0, 322, 191, 213, 148, 128, 142, - 159, 190, 251, 0, 297, 0, 0, 0, 0, 0, - 166, 0, 289, 259, 346, 0, 0, 288, 216, 336, - 0, 0, 345, 0, 0, 355, 360, 0, 0, 0, - 312, 176, 0, 133, 0, 273, 171, 208, 0, 0, - 0, 163, 0, 0, 0, 311, 334, 150, 329, 238, - 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, - 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 351, 0, 300, 299, 0, 198, 0, 0, - 0, 281, 0, 204, 132, 325, 363, 149, 210, 330, - 0, 185, 250, 168, 260, 261, 182, 130, 278, 232, - 233, 231, 234, 189, 0, 0, 0, 279, 302, 332, - 151, 319, 0, 0, 0, 0, 291, 0, 0, 0, - 223, 178, 181, 192, 199, 0, 286, 320, 352, 0, - 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, - 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, - 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, - 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, - 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, - 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, - 0, 0, 317, 349, 365, 153, 0, 305, 331, 0, - 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, - 217, 283, 362, 258, 290, 157, 348, 313, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 140, 214, 0, 280, 184, - 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, - 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, - 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, - 256, 257, 263, 264, 265, 267, 268, 269, 277, 0, - 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, - 318, 324, 337, 338, 357, 359, 328, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, - 0, 0, 212, 0, 0, 165, 220, 218, 0, 0, - 0, 262, 327, 0, 0, 0, 0, 215, 0, 0, - 0, 315, 239, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, + 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, + 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, + 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, + 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, + 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, + 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, + 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, + 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, + 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, + 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, + 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, + 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, + 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, + 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, + 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, + 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, + 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, + 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, + 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, + 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, + 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, + 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, + 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, + 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, + 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, + 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, + 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, + 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, + 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, + 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, + 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, + 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 176, 0, 0, 0, 0, 213, 0, + 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, + 0, 0, 0, 216, 0, 0, 0, 316, 240, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, + 0, 0, 0, 0, 0, 0, 0, 1657, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, + 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, + 0, 298, 0, 0, 0, 0, 0, 167, 0, 290, + 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, + 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, + 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, + 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, + 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, + 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, + 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, + 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, + 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, + 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, + 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, + 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, + 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, + 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, + 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, + 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, + 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, + 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, + 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 140, 215, 0, 281, 185, 351, 0, + 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, + 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, + 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, + 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, + 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, + 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 0, 0, 0, 1130, 176, 0, 0, 0, 0, + 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, + 328, 0, 0, 0, 0, 216, 0, 0, 0, 316, + 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, + 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, + 0, 277, 0, 323, 192, 214, 149, 128, 142, 160, + 191, 252, 0, 298, 0, 0, 0, 0, 0, 167, + 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, + 0, 346, 0, 0, 356, 361, 0, 0, 0, 313, + 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, + 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, + 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, + 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, + 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, + 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, + 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, + 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, + 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, + 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, + 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, + 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, + 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, + 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, + 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, + 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, + 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, + 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, + 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, + 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, + 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, + 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, + 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, + 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, + 610, 0, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, + 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 0, 0, 0, 0, 216, 0, 0, + 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, - 282, 303, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 144, 0, 0, 0, 203, 358, - 0, 0, 0, 276, 0, 322, 191, 213, 148, 128, - 142, 159, 190, 251, 0, 297, 0, 0, 0, 0, - 0, 166, 0, 289, 259, 346, 0, 0, 288, 216, - 336, 0, 0, 345, 0, 0, 355, 360, 0, 0, - 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, - 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, - 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, - 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, - 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, - 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, - 232, 233, 231, 234, 189, 0, 0, 0, 279, 302, - 332, 151, 319, 0, 0, 0, 0, 291, 0, 0, - 0, 223, 178, 181, 192, 199, 0, 286, 320, 352, - 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, - 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, - 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, - 145, 354, 139, 146, 353, 247, 0, 246, 356, 335, - 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, - 194, 271, 219, 272, 195, 242, 241, 243, 221, 226, - 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, - 0, 0, 154, 186, 179, 270, 245, 147, 197, 314, - 209, 217, 283, 362, 258, 290, 157, 348, 313, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 131, 140, 214, 0, 280, - 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, - 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, - 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, - 253, 256, 257, 263, 264, 265, 267, 268, 269, 277, - 0, 285, 292, 294, 295, 296, 298, 307, 308, 309, - 310, 318, 324, 337, 338, 357, 359, 328, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, - 0, 0, 0, 212, 0, 0, 165, 220, 218, 0, - 0, 0, 262, 327, 0, 0, 0, 0, 215, 0, - 0, 0, 315, 239, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 646, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, - 266, 282, 303, 0, 274, 0, 0, 0, 0, 0, - 0, 0, 2146, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 144, 0, 0, 0, 203, - 358, 0, 0, 0, 276, 0, 322, 191, 213, 148, - 128, 142, 159, 190, 251, 0, 297, 0, 0, 0, - 0, 0, 166, 0, 289, 259, 346, 0, 0, 288, - 216, 336, 0, 0, 345, 0, 0, 355, 360, 0, - 0, 0, 312, 176, 0, 133, 0, 273, 171, 208, - 0, 0, 0, 163, 0, 0, 0, 311, 334, 150, - 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, - 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 351, 0, 300, 299, 0, 198, - 0, 0, 0, 281, 0, 204, 132, 325, 363, 149, - 210, 330, 0, 185, 250, 168, 260, 261, 182, 130, - 278, 232, 233, 231, 234, 189, 0, 0, 0, 279, - 302, 332, 151, 319, 0, 0, 0, 0, 291, 0, - 0, 0, 223, 178, 181, 192, 199, 0, 286, 320, - 352, 0, 134, 326, 344, 156, 301, 304, 361, 287, - 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, - 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, - 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, - 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, - 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, - 226, 0, 0, 0, 317, 349, 365, 153, 0, 305, - 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, - 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 140, 214, 0, - 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, - 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, - 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, - 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, - 277, 0, 285, 292, 294, 295, 296, 298, 307, 308, - 309, 310, 318, 324, 337, 338, 357, 359, 328, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 0, 0, 212, 0, 0, 165, 220, 218, - 0, 0, 0, 262, 327, 0, 0, 0, 0, 215, - 0, 0, 0, 315, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 0, 646, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 347, 266, 282, 303, 0, 274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 240, 144, 0, 0, 0, - 203, 358, 0, 0, 0, 276, 0, 322, 191, 213, - 148, 128, 142, 159, 190, 251, 0, 297, 0, 0, - 0, 0, 0, 166, 0, 289, 259, 346, 0, 0, - 288, 216, 336, 0, 0, 345, 0, 0, 355, 360, - 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, - 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, - 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, - 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, - 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, - 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, - 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, - 279, 302, 332, 151, 319, 0, 0, 0, 0, 291, - 0, 0, 0, 223, 178, 181, 192, 199, 0, 286, - 320, 352, 0, 134, 326, 344, 156, 301, 304, 361, - 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, - 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, - 167, 364, 145, 354, 139, 146, 353, 247, 0, 246, - 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, - 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, - 221, 226, 0, 0, 0, 317, 349, 365, 153, 0, - 305, 331, 0, 0, 154, 186, 179, 270, 245, 147, - 197, 314, 209, 217, 283, 362, 258, 290, 157, 348, - 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 131, 140, 214, - 0, 280, 184, 350, 0, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, - 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, - 249, 252, 253, 256, 257, 263, 264, 265, 267, 268, - 269, 277, 0, 285, 292, 294, 295, 296, 298, 307, - 308, 309, 310, 318, 324, 337, 338, 357, 359, 328, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 0, 0, 0, 0, 212, 0, 0, 165, 220, - 218, 0, 0, 0, 262, 327, 0, 0, 0, 0, - 215, 0, 0, 0, 315, 239, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 646, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 347, 266, 282, 303, 0, 274, 0, 0, 0, - 0, 0, 0, 0, 1654, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 240, 144, 0, 0, - 0, 203, 358, 0, 0, 0, 276, 0, 322, 191, - 213, 148, 128, 142, 159, 190, 251, 0, 297, 0, - 0, 0, 0, 0, 166, 0, 289, 259, 346, 0, - 0, 288, 216, 336, 0, 0, 345, 0, 0, 355, - 360, 0, 0, 0, 312, 176, 0, 133, 0, 273, - 171, 208, 0, 0, 0, 163, 0, 0, 0, 311, - 334, 150, 329, 238, 244, 160, 162, 161, 143, 306, - 333, 155, 164, 316, 293, 323, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 351, 0, 300, 299, - 0, 198, 0, 0, 0, 281, 0, 204, 132, 325, - 363, 149, 210, 330, 0, 185, 250, 168, 260, 261, - 182, 130, 278, 232, 233, 231, 234, 189, 0, 0, - 0, 279, 302, 332, 151, 319, 0, 0, 0, 0, - 291, 0, 0, 0, 223, 178, 181, 192, 199, 0, - 286, 320, 352, 0, 134, 326, 344, 156, 301, 304, - 361, 287, 137, 342, 321, 236, 205, 206, 135, 0, - 136, 284, 174, 188, 169, 254, 0, 187, 275, 339, - 340, 167, 364, 145, 354, 139, 146, 353, 247, 0, - 246, 356, 335, 343, 237, 225, 0, 138, 341, 235, - 224, 211, 180, 194, 271, 219, 272, 195, 242, 241, - 243, 221, 226, 0, 0, 0, 317, 349, 365, 153, - 0, 305, 331, 0, 0, 154, 186, 179, 270, 245, - 147, 197, 314, 209, 217, 283, 362, 258, 290, 157, - 348, 313, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, + 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, + 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 0, 298, 0, 0, 0, 0, + 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, + 337, 0, 0, 346, 0, 0, 356, 361, 0, 0, + 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, + 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, + 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, + 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, + 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, + 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, + 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, + 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, + 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 144, 0, 123, 0, + 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, + 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, + 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, + 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, + 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, + 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, + 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, + 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, + 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, + 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, - 214, 0, 280, 184, 350, 0, 173, 0, 0, 0, - 0, 0, 129, 141, 152, 158, 172, 177, 183, 193, - 196, 200, 201, 202, 207, 222, 227, 228, 229, 230, - 248, 249, 252, 253, 256, 257, 263, 264, 265, 267, - 268, 269, 277, 0, 285, 292, 294, 295, 296, 298, - 307, 308, 309, 310, 318, 324, 337, 338, 357, 359, - 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, - 1128, 175, 0, 0, 0, 0, 212, 0, 0, 165, - 220, 218, 0, 0, 0, 262, 327, 0, 0, 0, - 0, 215, 0, 0, 0, 315, 239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 347, 266, 282, 303, 0, 274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 240, 144, 0, - 0, 0, 203, 358, 0, 0, 0, 276, 0, 322, - 191, 213, 148, 128, 142, 159, 190, 251, 0, 297, - 0, 0, 0, 0, 0, 166, 0, 289, 259, 346, - 0, 0, 288, 216, 336, 0, 0, 345, 0, 0, - 355, 360, 0, 0, 0, 312, 176, 0, 133, 0, - 273, 171, 208, 0, 0, 0, 163, 0, 0, 0, - 311, 334, 150, 329, 238, 244, 160, 162, 161, 143, - 306, 333, 155, 164, 316, 293, 323, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 351, 0, 300, - 299, 0, 198, 0, 0, 0, 281, 0, 204, 132, - 325, 363, 149, 210, 330, 0, 185, 250, 168, 260, - 261, 182, 130, 278, 232, 233, 231, 234, 189, 0, - 0, 0, 279, 302, 332, 151, 319, 0, 0, 0, - 0, 291, 0, 0, 0, 223, 178, 181, 192, 199, - 0, 286, 320, 352, 0, 134, 326, 344, 156, 301, - 304, 361, 287, 137, 342, 321, 236, 205, 206, 135, - 0, 136, 284, 174, 188, 169, 254, 0, 187, 275, - 339, 340, 167, 364, 145, 354, 139, 146, 353, 247, - 0, 246, 356, 335, 343, 237, 225, 0, 138, 341, - 235, 224, 211, 180, 194, 271, 219, 272, 195, 242, - 241, 243, 221, 226, 0, 0, 0, 317, 349, 365, - 153, 0, 305, 331, 0, 0, 154, 186, 179, 270, - 245, 147, 197, 314, 209, 217, 283, 362, 258, 290, - 157, 348, 313, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 140, 214, 0, 280, 184, 350, 0, 173, 0, 0, - 0, 0, 0, 129, 141, 152, 158, 172, 177, 183, - 193, 196, 200, 201, 202, 207, 222, 227, 228, 229, - 230, 248, 249, 252, 253, 256, 257, 263, 264, 265, - 267, 268, 269, 277, 0, 285, 292, 294, 295, 296, - 298, 307, 308, 309, 310, 318, 324, 337, 338, 357, - 359, 328, 0, 0, 0, 609, 0, 0, 0, 0, - 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 0, 0, 0, 0, 212, 0, 0, - 165, 220, 218, 0, 0, 0, 262, 327, 0, 0, - 0, 0, 215, 0, 0, 0, 315, 239, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 347, 266, 282, 303, 0, 274, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 240, 144, - 0, 0, 0, 203, 358, 0, 0, 0, 276, 0, - 322, 191, 213, 148, 128, 142, 159, 190, 251, 0, - 297, 0, 0, 0, 0, 0, 166, 0, 289, 259, - 346, 0, 0, 288, 216, 336, 0, 0, 345, 0, - 0, 355, 360, 0, 0, 0, 312, 176, 0, 133, - 0, 273, 171, 208, 0, 0, 0, 163, 0, 0, - 0, 311, 334, 150, 329, 238, 244, 160, 162, 161, - 143, 306, 333, 155, 164, 316, 293, 323, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, - 300, 299, 0, 198, 0, 0, 0, 281, 0, 204, - 132, 325, 363, 149, 210, 330, 0, 185, 250, 168, - 260, 261, 182, 130, 278, 232, 233, 231, 234, 189, - 0, 0, 0, 279, 302, 332, 151, 319, 0, 0, - 0, 0, 291, 0, 0, 0, 223, 178, 181, 192, - 199, 0, 286, 320, 352, 0, 134, 326, 344, 156, - 301, 304, 361, 287, 137, 342, 321, 236, 205, 206, - 135, 0, 136, 284, 174, 188, 169, 254, 0, 187, - 275, 339, 340, 167, 364, 145, 354, 139, 146, 353, - 247, 0, 246, 356, 335, 343, 237, 225, 0, 138, - 341, 235, 224, 211, 180, 194, 271, 219, 272, 195, - 242, 241, 243, 221, 226, 0, 0, 0, 317, 349, - 365, 153, 0, 305, 331, 0, 0, 154, 186, 179, - 270, 245, 147, 197, 314, 209, 217, 283, 362, 258, - 290, 157, 348, 313, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 131, 140, 214, 0, 280, 184, 350, 0, 173, 0, - 0, 0, 0, 0, 129, 141, 152, 158, 172, 177, - 183, 193, 196, 200, 201, 202, 207, 222, 227, 228, - 229, 230, 248, 249, 252, 253, 256, 257, 263, 264, - 265, 267, 268, 269, 277, 0, 285, 292, 294, 295, - 296, 298, 307, 308, 309, 310, 318, 324, 337, 338, - 357, 359, 328, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 175, 0, 0, 0, 0, 212, 0, - 0, 165, 220, 218, 0, 0, 0, 262, 327, 0, - 0, 0, 0, 215, 0, 0, 0, 315, 239, 0, + 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, + 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, + 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, + 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, + 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, + 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, + 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, + 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, + 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, + 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, + 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, + 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, + 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, + 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, + 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, + 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, + 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, + 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, + 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, + 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, + 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, + 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, + 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, + 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, + 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, + 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, + 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, + 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, + 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, + 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, + 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, + 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, + 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 176, 0, 0, 0, 0, 213, 0, + 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, + 0, 0, 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 347, 266, 282, 303, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, - 144, 0, 123, 0, 203, 358, 0, 0, 0, 276, - 0, 322, 191, 213, 148, 128, 142, 159, 190, 251, - 0, 297, 0, 0, 0, 0, 0, 166, 0, 289, - 259, 346, 0, 0, 288, 216, 336, 0, 0, 345, - 0, 0, 355, 360, 0, 0, 0, 312, 176, 0, - 133, 0, 273, 171, 208, 0, 0, 0, 163, 0, - 0, 0, 311, 334, 150, 329, 238, 244, 160, 162, - 161, 143, 306, 333, 155, 164, 316, 293, 323, 170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, - 0, 300, 299, 0, 198, 0, 0, 0, 281, 0, - 204, 132, 325, 363, 149, 210, 330, 0, 185, 250, - 168, 260, 261, 182, 130, 278, 232, 233, 231, 234, - 189, 0, 0, 0, 279, 302, 332, 151, 319, 0, - 0, 0, 0, 291, 0, 0, 0, 223, 178, 181, - 192, 199, 0, 286, 320, 352, 0, 134, 326, 344, - 156, 301, 304, 361, 287, 137, 342, 321, 236, 205, - 206, 135, 0, 136, 284, 174, 188, 169, 254, 0, - 187, 275, 339, 340, 167, 364, 145, 354, 139, 146, - 353, 247, 0, 246, 356, 335, 343, 237, 225, 0, - 138, 341, 235, 224, 211, 180, 194, 271, 219, 272, - 195, 242, 241, 243, 221, 226, 0, 0, 0, 317, - 349, 365, 153, 0, 305, 331, 0, 0, 154, 186, - 179, 270, 245, 147, 197, 314, 209, 217, 283, 362, - 258, 290, 157, 348, 313, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 140, 214, 0, 280, 184, 350, 0, 173, - 0, 0, 0, 0, 0, 129, 141, 152, 158, 172, - 177, 183, 193, 196, 200, 201, 202, 207, 222, 227, - 228, 229, 230, 248, 249, 252, 253, 256, 257, 263, - 264, 265, 267, 268, 269, 277, 0, 285, 292, 294, - 295, 296, 298, 307, 308, 309, 310, 318, 324, 337, - 338, 357, 359, 328, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 175, 0, 0, 0, 0, 212, - 0, 0, 165, 220, 218, 0, 0, 0, 262, 327, - 0, 0, 0, 0, 215, 0, 0, 0, 315, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 646, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 347, 266, 282, 303, 0, - 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 144, 0, 0, 0, 203, 358, 0, 0, 0, - 276, 0, 322, 191, 213, 148, 128, 142, 159, 190, - 251, 0, 297, 0, 0, 0, 0, 0, 166, 0, - 289, 259, 346, 0, 0, 288, 216, 336, 0, 0, - 345, 0, 0, 355, 360, 0, 0, 0, 312, 176, - 0, 133, 0, 273, 171, 208, 0, 0, 0, 163, - 0, 0, 0, 311, 334, 150, 329, 238, 244, 160, - 162, 161, 143, 306, 333, 155, 164, 316, 293, 323, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 351, 0, 300, 299, 0, 198, 0, 0, 0, 281, - 0, 204, 132, 325, 363, 149, 210, 330, 0, 185, - 250, 168, 260, 261, 182, 130, 278, 232, 233, 231, - 234, 189, 0, 0, 0, 279, 302, 332, 151, 319, - 0, 0, 0, 0, 291, 0, 0, 0, 223, 178, - 181, 192, 199, 0, 286, 320, 352, 0, 134, 326, - 344, 156, 301, 304, 361, 287, 137, 342, 321, 236, - 205, 206, 135, 0, 136, 284, 174, 188, 169, 254, - 0, 187, 275, 339, 340, 167, 364, 145, 354, 139, - 146, 353, 247, 0, 246, 356, 335, 343, 237, 225, - 0, 138, 341, 235, 224, 211, 180, 194, 271, 219, - 272, 195, 242, 241, 243, 221, 226, 0, 0, 0, - 317, 349, 365, 153, 0, 305, 331, 0, 0, 154, - 186, 179, 270, 245, 147, 197, 314, 209, 217, 283, - 362, 258, 290, 157, 348, 313, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 131, 140, 214, 0, 280, 184, 350, 0, - 173, 0, 0, 0, 0, 0, 129, 141, 152, 158, - 172, 177, 183, 193, 196, 200, 201, 202, 207, 222, - 227, 228, 229, 230, 248, 249, 252, 253, 256, 257, - 263, 264, 265, 267, 268, 269, 277, 0, 285, 292, - 294, 295, 296, 298, 307, 308, 309, 310, 318, 324, - 337, 338, 357, 359, 328, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, - 212, 0, 0, 165, 220, 218, 0, 0, 0, 262, - 327, 0, 0, 0, 0, 215, 0, 0, 0, 315, - 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, + 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, + 0, 298, 0, 0, 0, 0, 0, 167, 0, 290, + 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, + 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, + 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, + 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, + 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, + 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, + 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, + 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, + 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, + 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, + 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, + 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, + 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, + 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, + 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, + 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, + 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, + 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, + 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 140, 215, 0, 281, 185, 351, 0, + 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, + 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, + 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, + 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, + 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, + 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, + 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, + 328, 0, 0, 0, 0, 216, 0, 0, 0, 316, + 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, + 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, + 0, 277, 0, 323, 192, 214, 149, 128, 142, 160, + 191, 252, 0, 298, 0, 0, 0, 0, 0, 167, + 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, + 0, 346, 0, 0, 356, 361, 0, 0, 0, 313, + 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, + 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, + 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, + 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, + 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, + 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, + 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, + 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, + 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, + 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, + 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, + 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, + 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, + 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, + 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, + 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, + 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, + 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, + 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, + 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, + 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, + 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, + 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, + 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, + 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 0, 0, 0, 0, 216, 0, 0, + 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, + 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, + 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 0, 298, 0, 0, 0, 0, + 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, + 337, 0, 0, 346, 0, 0, 356, 361, 0, 0, + 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, + 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, + 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, + 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, + 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, + 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 630, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 626, + 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, + 332, 0, 0, 155, 187, 180, 271, 631, 629, 620, + 621, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, + 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 627, 628, + 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, + 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, + 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, + 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, + 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, + 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, + 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, + 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, + 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, + 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, + 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, + 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, + 321, 353, 0, 145, 134, 327, 1155, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, + 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 347, 266, 282, 303, - 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 144, 0, 0, 0, 203, 358, 0, 0, - 0, 276, 0, 322, 191, 213, 148, 128, 142, 159, - 190, 251, 0, 297, 0, 0, 0, 0, 0, 166, - 0, 289, 259, 346, 0, 0, 288, 216, 336, 0, - 0, 345, 0, 0, 355, 360, 0, 0, 0, 312, - 176, 0, 133, 0, 273, 171, 208, 0, 0, 0, - 163, 0, 0, 0, 311, 334, 150, 329, 238, 244, - 160, 162, 161, 143, 306, 333, 155, 164, 316, 293, - 323, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 351, 0, 300, 299, 0, 198, 0, 0, 0, - 281, 0, 204, 132, 325, 363, 149, 210, 330, 0, - 185, 250, 168, 260, 261, 182, 130, 278, 232, 233, - 231, 234, 189, 0, 0, 0, 279, 302, 332, 151, - 319, 0, 0, 0, 0, 291, 0, 0, 0, 223, - 178, 181, 192, 199, 0, 286, 320, 352, 0, 134, - 326, 344, 156, 301, 304, 361, 287, 137, 342, 321, - 236, 205, 206, 135, 0, 136, 284, 174, 188, 169, - 254, 0, 187, 275, 339, 340, 167, 364, 145, 354, - 139, 146, 353, 247, 0, 246, 356, 335, 343, 237, - 225, 0, 138, 341, 235, 224, 211, 180, 194, 271, - 219, 272, 195, 242, 241, 243, 221, 226, 0, 0, - 0, 317, 349, 365, 153, 0, 305, 331, 0, 0, - 154, 186, 179, 270, 245, 147, 197, 314, 209, 217, - 283, 362, 258, 290, 157, 348, 313, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 131, 140, 214, 0, 280, 184, 350, - 0, 173, 0, 0, 0, 0, 0, 129, 141, 152, - 158, 172, 177, 183, 193, 196, 200, 201, 202, 207, - 222, 227, 228, 229, 230, 248, 249, 252, 253, 256, - 257, 263, 264, 265, 267, 268, 269, 277, 0, 285, - 292, 294, 295, 296, 298, 307, 308, 309, 310, 318, - 324, 337, 338, 357, 359, 328, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, - 0, 212, 0, 0, 165, 220, 218, 0, 0, 0, - 262, 327, 0, 0, 0, 0, 215, 0, 0, 0, - 315, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 514, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 347, 266, 282, - 303, 0, 274, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 144, 0, 0, 0, 203, 358, 0, - 0, 0, 276, 0, 322, 191, 213, 148, 128, 142, - 159, 190, 251, 0, 297, 0, 0, 0, 0, 0, - 166, 0, 289, 259, 346, 0, 0, 288, 216, 336, - 0, 0, 345, 0, 0, 355, 360, 0, 0, 0, - 312, 176, 0, 133, 0, 273, 171, 208, 0, 0, - 0, 163, 0, 0, 0, 311, 334, 150, 329, 238, - 244, 160, 162, 161, 143, 306, 333, 155, 164, 316, - 293, 323, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 351, 0, 300, 299, 0, 198, 0, 0, - 0, 281, 0, 204, 132, 325, 363, 149, 210, 330, - 0, 185, 250, 168, 260, 261, 182, 130, 278, 232, - 233, 231, 234, 189, 0, 0, 0, 279, 302, 332, - 151, 319, 0, 0, 0, 0, 291, 0, 0, 0, - 223, 178, 181, 192, 199, 0, 286, 320, 352, 0, - 134, 326, 344, 156, 301, 304, 361, 287, 137, 342, - 321, 236, 205, 206, 135, 0, 136, 284, 174, 188, - 169, 254, 0, 187, 275, 339, 340, 167, 364, 145, - 354, 139, 146, 353, 247, 0, 246, 356, 335, 343, - 237, 225, 0, 138, 341, 235, 224, 211, 180, 194, - 271, 219, 272, 195, 242, 241, 243, 221, 226, 0, - 0, 0, 317, 349, 365, 153, 0, 305, 331, 0, - 0, 154, 186, 179, 270, 245, 147, 197, 314, 209, - 217, 283, 362, 258, 290, 157, 348, 313, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 140, 214, 0, 280, 184, - 350, 0, 173, 0, 0, 0, 0, 0, 129, 141, - 152, 158, 172, 177, 183, 193, 196, 200, 201, 202, - 207, 222, 227, 228, 229, 230, 248, 249, 252, 253, - 256, 257, 263, 264, 265, 267, 268, 269, 277, 0, - 285, 292, 294, 295, 296, 298, 307, 308, 309, 310, - 318, 324, 337, 338, 357, 359, 328, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, - 0, 0, 212, 0, 0, 165, 220, 218, 0, 0, - 0, 262, 327, 0, 0, 0, 0, 215, 0, 0, - 0, 315, 239, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 514, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 347, 266, - 282, 303, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 144, 0, 0, 0, 203, 358, - 0, 0, 0, 276, 0, 322, 191, 213, 148, 128, - 142, 159, 190, 251, 0, 297, 0, 0, 0, 0, - 0, 166, 0, 289, 259, 346, 0, 0, 288, 216, - 336, 0, 0, 345, 0, 0, 355, 360, 0, 0, - 0, 312, 176, 0, 133, 0, 273, 171, 208, 0, - 0, 0, 163, 0, 0, 0, 311, 334, 150, 329, - 238, 244, 160, 162, 161, 143, 306, 333, 155, 164, - 316, 293, 323, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 351, 0, 300, 299, 0, 198, 0, - 0, 0, 281, 0, 204, 132, 325, 363, 149, 210, - 330, 0, 185, 250, 168, 260, 261, 182, 130, 278, - 232, 233, 231, 234, 189, 0, 0, 0, 279, 302, - 332, 151, 319, 0, 0, 0, 0, 291, 0, 0, - 0, 223, 178, 181, 192, 199, 0, 286, 320, 352, - 0, 134, 326, 344, 156, 301, 304, 361, 287, 137, - 342, 321, 236, 205, 206, 135, 0, 136, 284, 174, - 188, 169, 254, 0, 187, 275, 339, 340, 167, 364, - 145, 354, 139, 629, 353, 247, 0, 246, 356, 335, - 343, 237, 225, 0, 138, 341, 235, 224, 211, 180, - 194, 271, 219, 272, 195, 242, 241, 243, 625, 226, - 0, 0, 0, 317, 349, 365, 153, 0, 305, 331, - 0, 0, 154, 186, 179, 270, 630, 628, 619, 620, - 209, 217, 283, 362, 258, 290, 157, 348, 313, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 131, 140, 214, 0, 280, - 184, 350, 0, 173, 0, 0, 0, 0, 0, 129, - 141, 152, 158, 172, 177, 183, 193, 196, 200, 201, - 202, 207, 222, 227, 228, 229, 230, 248, 249, 252, - 253, 256, 257, 263, 264, 265, 267, 626, 627, 277, - 0, 285, 292, 294, 295, 296, 298, 307, 308, 309, - 310, 318, 324, 337, 338, 357, 359, 328, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, - 0, 0, 0, 212, 0, 0, 165, 220, 218, 0, - 0, 0, 262, 327, 0, 0, 0, 0, 215, 0, - 0, 0, 315, 239, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, - 266, 282, 303, 0, 274, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 144, 0, 0, 0, 203, - 358, 0, 0, 0, 276, 0, 322, 191, 213, 148, - 128, 142, 159, 190, 251, 0, 297, 0, 0, 0, - 0, 0, 166, 0, 289, 259, 346, 0, 0, 288, - 216, 336, 0, 0, 345, 0, 0, 355, 360, 0, - 0, 0, 312, 176, 0, 133, 0, 273, 171, 208, - 0, 0, 0, 163, 0, 0, 0, 311, 334, 150, - 329, 238, 244, 160, 162, 161, 143, 306, 333, 155, - 164, 316, 293, 323, 170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 351, 0, 300, 299, 0, 198, - 0, 0, 0, 281, 0, 204, 132, 325, 363, 149, - 210, 330, 0, 185, 250, 168, 260, 261, 182, 130, - 278, 232, 233, 231, 234, 189, 0, 0, 0, 279, - 302, 332, 151, 319, 0, 0, 0, 0, 291, 0, - 0, 0, 223, 178, 181, 192, 199, 0, 286, 320, - 352, 0, 134, 326, 1153, 156, 301, 304, 361, 287, - 137, 342, 321, 236, 205, 206, 135, 0, 136, 284, - 174, 188, 169, 254, 0, 187, 275, 339, 340, 167, - 364, 145, 354, 139, 146, 353, 247, 0, 246, 356, - 335, 343, 237, 225, 0, 138, 341, 235, 224, 211, - 180, 194, 271, 219, 272, 195, 242, 241, 243, 221, - 226, 0, 0, 0, 317, 349, 365, 153, 0, 305, - 331, 0, 0, 154, 186, 179, 270, 245, 147, 197, - 314, 209, 217, 283, 362, 258, 290, 157, 348, 313, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 140, 214, 0, - 280, 184, 350, 0, 173, 0, 0, 0, 0, 0, - 129, 141, 152, 158, 172, 177, 183, 193, 196, 200, - 201, 202, 207, 222, 227, 228, 229, 230, 248, 249, - 252, 253, 256, 257, 263, 264, 265, 267, 268, 269, - 277, 0, 285, 292, 294, 295, 296, 298, 307, 308, - 309, 310, 318, 324, 337, 338, 357, 359, 328, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 0, 0, 212, 0, 0, 165, 220, 218, - 0, 0, 0, 262, 327, 0, 0, 0, 0, 215, - 0, 0, 0, 315, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 514, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 347, 266, 282, 303, 0, 274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 240, 144, 0, 0, 0, - 203, 358, 0, 0, 0, 276, 0, 322, 191, 213, - 148, 128, 142, 159, 190, 251, 0, 297, 0, 0, - 0, 0, 0, 166, 0, 289, 259, 346, 0, 0, - 288, 216, 336, 0, 0, 345, 0, 0, 355, 360, - 0, 0, 0, 312, 176, 0, 133, 0, 273, 171, - 208, 0, 0, 0, 163, 0, 0, 0, 311, 334, - 150, 329, 238, 244, 160, 162, 161, 143, 306, 333, - 155, 164, 316, 293, 323, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 351, 0, 300, 299, 0, - 198, 0, 0, 0, 281, 0, 204, 132, 325, 363, - 149, 210, 330, 0, 185, 250, 168, 260, 261, 182, - 130, 278, 232, 233, 231, 234, 189, 0, 0, 0, - 279, 302, 332, 151, 319, 0, 0, 0, 0, 291, - 0, 0, 0, 223, 178, 181, 192, 199, 0, 286, - 320, 352, 0, 134, 326, 616, 156, 301, 304, 361, - 287, 137, 342, 321, 236, 205, 206, 135, 0, 136, - 284, 174, 188, 169, 254, 0, 187, 275, 339, 340, - 167, 364, 145, 354, 139, 629, 353, 247, 0, 246, - 356, 335, 343, 237, 225, 0, 138, 341, 235, 224, - 211, 180, 194, 271, 219, 272, 195, 242, 241, 243, - 625, 226, 0, 0, 0, 317, 349, 365, 153, 0, - 305, 331, 0, 0, 154, 186, 179, 270, 630, 628, - 619, 620, 209, 217, 283, 362, 258, 290, 157, 348, - 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 36, 0, 72, 39, 40, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 0, 0, 131, 140, 214, - 78, 280, 184, 350, 41, 173, 0, 0, 0, 0, - 0, 129, 141, 152, 158, 172, 177, 183, 193, 196, - 200, 201, 202, 207, 222, 227, 228, 229, 230, 248, - 249, 252, 253, 256, 257, 263, 264, 265, 267, 626, - 627, 277, 81, 285, 292, 294, 295, 296, 298, 307, - 308, 309, 310, 318, 324, 337, 338, 357, 359, 0, - 0, 0, 0, 0, 0, 0, 2506, 0, 0, 0, - 36, 2746, 72, 39, 40, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, - 78, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 43, 74, 46, 45, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2507, 0, 0, - 0, 0, 81, 2734, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 49, 77, 76, 0, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 2506, 0, 36, 0, - 72, 39, 40, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 59, 0, 0, 0, 0, 0, 78, 0, - 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 57, 58, 0, 2508, 0, - 0, 0, 43, 74, 46, 45, 48, 0, 0, 0, - 0, 0, 66, 0, 67, 0, 0, 2507, 0, 0, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 49, 77, 76, 0, 0, 0, 68, - 47, 0, 0, 0, 2506, 0, 0, 0, 0, 2675, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2509, 75, 0, 53, - 54, 61, 0, 62, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 57, 58, 0, 2508, 0, - 43, 74, 46, 45, 48, 0, 36, 0, 72, 39, - 40, 0, 66, 0, 67, 2507, 0, 0, 0, 0, - 59, 0, 0, 0, 0, 0, 78, 0, 0, 0, - 41, 49, 77, 76, 0, 0, 0, 0, 47, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, + 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, + 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, + 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, + 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, + 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, + 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, + 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, + 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, + 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, + 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, + 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, + 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, + 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, + 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, + 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, + 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, + 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, + 0, 287, 321, 353, 0, 145, 134, 327, 617, 157, + 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, + 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, + 276, 340, 341, 168, 365, 146, 355, 139, 630, 354, + 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, + 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, + 243, 242, 244, 626, 227, 0, 0, 0, 318, 350, + 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, + 271, 631, 629, 620, 621, 210, 218, 284, 363, 259, + 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, + 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, + 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, + 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, + 266, 268, 627, 628, 278, 0, 286, 293, 295, 296, + 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, + 358, 360, 36, 0, 72, 39, 40, 0, 0, 0, + 36, 0, 72, 39, 40, 0, 59, 0, 0, 0, + 0, 0, 78, 0, 59, 0, 41, 0, 0, 0, + 78, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2509, 75, 81, 53, - 54, 61, 0, 62, 73, 0, 0, 0, 0, 0, - 0, 0, 0, 57, 58, 0, 2508, 0, 0, 0, - 0, 0, 2506, 0, 0, 0, 0, 0, 0, 0, - 66, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 0, 0, 68, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 43, 74, - 46, 45, 48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2507, 2509, 75, 0, 53, 54, 61, - 0, 62, 0, 0, 73, 0, 0, 0, 0, 49, - 77, 76, 0, 0, 0, 0, 47, 0, 0, 0, + 0, 0, 0, 0, 81, 2741, 0, 0, 0, 0, + 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2513, 0, + 0, 0, 0, 0, 0, 0, 2513, 0, 0, 0, + 0, 2682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43, 74, 46, 45, 48, 0, + 0, 0, 43, 74, 46, 45, 48, 0, 0, 2514, + 0, 0, 0, 0, 0, 0, 0, 2514, 0, 0, + 0, 0, 0, 0, 0, 49, 77, 76, 0, 0, + 0, 0, 47, 49, 77, 76, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, - 0, 57, 58, 0, 2508, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, - 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 57, 58, 0, + 2515, 0, 0, 0, 0, 57, 58, 0, 2515, 0, + 0, 0, 0, 0, 66, 0, 67, 0, 0, 0, + 0, 0, 66, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2509, 75, 0, 53, 54, 61, 0, 62, - 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 68, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516, + 75, 0, 53, 54, 61, 0, 62, 2516, 75, 0, + 53, 54, 61, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4645,27 +4637,29 @@ 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, - 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, + 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 79, } var yyPact = [...]int{ - 3240, -1000, -324, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3629, -1000, -319, -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, 1768, -1000, -1000, -1000, -1000, - -1000, -1000, 915, 290, -1000, 287, 122, 29315, 651, 3470, - 30297, -1000, -1000, -1000, 192, 526, 30297, 468, 439, 1286, - 1665, 1285, 40, -43, -44, 168, 22931, 22439, 29, -1000, - 1837, 1839, -1000, -1000, 556, 53, -1000, -1000, -1000, 19983, - 186, -1000, -1000, 1753, 1766, 1583, -1000, 13109, 556, 556, - 28824, 32261, -1000, 1836, 30297, 11634, -1000, 608, 30297, -138, - 545, 545, 351, 545, 545, 650, -1000, 851, -1000, -1000, - -1000, -1000, 30297, 25878, 554, 29806, 554, 554, 554, 554, - 554, 554, 554, 30297, -1000, 713, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1795, -1000, -1000, -1000, -1000, + -1000, -1000, 1006, 256, -1000, 283, 257, 29451, 570, 867, + 30435, -1000, -1000, -1000, 211, 516, 30435, 427, 440, 1177, + 1657, 1174, 32, -75, -85, 137, 23054, 22561, 13, -1000, + 1849, 1853, -1000, -1000, 528, 57, -1000, -1000, -1000, 20100, + 207, -1000, -1000, 1770, 1793, 1566, -1000, 13212, 528, 528, + 28959, 32403, -1000, 1847, 30435, 11734, -1000, 562, 30435, -161, + 523, 523, 339, 523, 523, 569, -1000, 834, -1000, -1000, + -1000, -1000, 30435, 26007, 525, 29943, 525, 525, 525, 525, + 525, 525, 525, 30435, -1000, 631, -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, @@ -4689,35 +4683,35 @@ 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, -1000, -1000, 30297, 1284, 1692, 956, - 156, -1000, -1000, -1000, 953, -1000, 327, 324, 345, 286, - 111, 960, 1750, -1000, 1471, 1753, 1753, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 355, 592, 230, 186, 847, -1000, - 1691, 1690, 1149, 1686, 509, 1685, 1520, -25, -1000, 1278, - 30297, -1000, -1000, 1124, 1061, 1542, 1416, 668, 1541, -1000, - -1000, 381, 580, 1512, 421, 1512, 1512, 1512, 1512, 1512, - -53, 1512, 1512, 1512, 90, 1512, 151, 1512, 1512, 1512, - 1512, 1512, 1301, -1000, -1000, -1000, 393, 1412, 1455, 1537, - 210, -1000, -1000, -1000, -1000, 1547, 1741, 626, -1000, -84, - 1469, 20965, -1000, 1471, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 30435, 1172, 1699, + 883, 123, -1000, -1000, -1000, 866, -1000, 312, 297, 321, + 288, 80, 917, 1766, -1000, 1459, 1770, 1770, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 329, 548, 185, 207, 794, + -1000, 1698, 1696, 1075, 1692, 526, 1691, 1490, -42, -1000, + 1170, 30435, -1000, -1000, 1043, 1039, 1523, 1399, 618, 1522, + -1000, -1000, 305, 584, 1484, 405, 1484, 1484, 1484, 1484, + 1484, -94, 1484, 1484, 1484, 99, 1484, 128, 1484, 1484, + 1484, 1484, 1484, 1187, -1000, -1000, -1000, 368, 1392, 1441, + 1518, 522, -1000, -1000, -1000, -1000, 1519, 1750, 568, -1000, + -126, 1437, 21084, -1000, 1459, -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, 1294, 1688, - 981, 16055, 1644, -1000, -1000, 938, 1810, -1000, 19492, 711, - -1000, 16055, 2952, 1471, -1000, -1000, 1471, -1000, -1000, -1000, - 666, -1000, -1000, 18019, 18019, 18019, 18019, 18019, 18019, 18019, - 18019, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1471, 1471, 1471, 1471, 1471, - 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, - 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, - 1471, 1471, 1471, -1000, -1000, 1471, -1000, 12618, 1471, 1471, - 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, - 16055, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, - 1471, 1471, 1471, 1471, 1471, 1471, 1471, 28333, 26369, 30297, - 1450, 1446, -1000, -1000, 710, 1480, -77, 31770, -1000, -1000, - -1000, -1000, 30788, 25387, 844, -1000, -1000, -1000, -1000, 1684, - -1000, -1000, 703, -1000, 1768, -1000, -1000, 1386, 534, -1000, - 4233, 4677, -1000, -1000, -1000, 1519, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1196, + 1701, 985, 16164, 1619, -1000, -1000, 948, 1833, -1000, 19608, + 630, -1000, 16164, 3219, 1459, -1000, -1000, 1459, -1000, -1000, + -1000, 583, -1000, -1000, 18132, 18132, 18132, 18132, 18132, 18132, + 18132, 18132, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1459, 1459, 1459, 1459, + 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, + 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, + 1459, 1459, 1459, 1459, -1000, -1000, 1459, -1000, 12720, 1459, + 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, + 1459, 16164, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, + 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 28467, 26499, + 30435, 1474, 1264, -1000, -1000, 628, 1455, -100, 31911, -1000, + -1000, -1000, -1000, 30927, 25515, 793, -1000, -1000, -1000, -1000, + 1685, -1000, -1000, 626, -1000, 1795, -1000, -1000, 1348, 513, + -1000, 4209, 24017, -1000, -1000, -1000, 1489, -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, @@ -4734,278 +4728,279 @@ 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, 29806, 1732, 601, 1272, 900, 1270, 1269, - 1266, 25878, 25878, 545, 1260, 1479, 590, 1475, 589, 1186, - 30297, 1716, 1534, 30297, 1259, 1254, 1248, 1246, 25878, 25878, - -1000, 11140, -1000, -1000, 956, -1000, 1200, 16055, 545, 545, - 30297, 30297, 30297, 30297, -1000, -1000, 956, 956, 956, 956, - 905, 1807, 905, -1000, 905, -1000, -1000, 16055, -1000, 18019, - 24896, 762, -1000, -1000, -1000, 1245, 344, -1000, -1000, -1000, - -1000, -1000, -1000, 1239, 509, 509, -1000, 1199, 509, 1465, - -1000, 842, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 509, -1000, 15564, -322, -1000, -1000, - 1474, -1000, 299, -1000, -1000, 520, 520, 206, 25878, 25878, - 25878, -1000, 1512, 29806, -1000, 1512, 1512, 1512, -63, 1512, - 1512, -1000, -1000, 1512, -1000, -1000, -1000, -1000, -1000, 1512, - -1000, -1000, -1000, 1512, 1512, -1000, 1512, 1512, -1000, -1000, - -1000, -1000, -1000, 25878, 520, 162, 1472, 520, 25878, 25878, - -1000, 210, -1000, 78, 75, 73, 68, -1000, -1000, -1000, - -1000, 66, -1000, -1000, 1583, -1000, -1000, 186, -1000, -1000, - 30297, -99, 20965, 1469, 1730, 9658, -1000, -1000, -1000, 1829, - 715, 1442, -1000, -1000, 1467, -1000, 1130, 697, 1183, 1592, - -1000, -1000, -1000, 30297, -1000, 16055, 16055, 1153, -1000, 21456, - -1000, -1000, -1000, -1000, 9164, 810, 18019, 972, 855, 18019, - 18019, 18019, 18019, 18019, 18019, 18019, 18019, 18019, 18019, 18019, - 18019, 18019, 18019, 18019, 1067, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1237, -1000, 186, 1171, 1171, 736, 736, - 736, 736, 736, 736, 736, 23422, 1725, 14091, 14091, 14091, - 1725, 1294, 1294, 14091, 14091, 14091, 14091, 14091, 14091, 1725, - 1725, 14091, 1294, 1294, 1294, 1294, 14091, 14091, 14091, 14091, - 1725, 14091, 14091, 14091, 1725, 1294, 1384, 1011, 12618, 14091, - 14091, 14091, 1294, 16055, 16055, 15073, 14582, 16546, 14091, 14091, - 1725, 872, 1011, 30788, -1000, -1000, 17528, -1000, -1000, -1000, - -1000, -1000, 1294, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 29806, 29806, 14091, 14091, 14091, 14091, 803, 30297, -1000, - 1453, 1470, -1000, -1000, -1000, 1727, 24405, 19001, -1000, 803, - 1410, 26369, 30297, -1000, -1000, 26369, 30297, 8670, 31279, 1441, - -1000, -111, -101, -77, -1000, -1000, 729, -1000, -1000, -1000, - 12126, -1000, 10152, 1753, 1583, 6200, 10646, -1000, 4677, 1519, - -1000, -36, -1000, -1000, -1000, 1498, -1000, 1498, 281, 14, - 1498, 1498, 1498, 1498, 1498, 1, 1, 1, 1, 18, - -1000, -1000, -1000, -1000, -1000, 1518, 1516, -1000, 1498, 1498, - 1498, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 29943, 1747, 553, 1168, 878, 1167, + 1160, 1158, 26007, 26007, 523, 1152, 1454, 547, 1451, 546, + 1182, 30435, 1724, 1517, 30435, 1150, 1147, 1146, 1145, 26007, + 26007, -1000, 11239, -1000, -1000, 883, -1000, 1099, 16164, 523, + 523, 30435, 30435, 30435, 30435, -1000, -1000, 883, 883, 883, + 883, 852, 1832, 852, -1000, 852, -1000, -1000, 16164, -1000, + 18132, 25023, 680, -1000, -1000, -1000, 1144, 328, -1000, -1000, + -1000, -1000, -1000, -1000, 1143, 526, 526, -1000, 1098, 526, + 1433, -1000, 788, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 526, -1000, 15672, -316, -1000, + -1000, 1444, -1000, 261, -1000, -1000, 347, 347, 201, 26007, + 26007, 26007, -1000, 1484, 29943, -1000, 1484, 1484, 1484, -105, + 1484, 1484, -1000, -1000, 1484, -1000, -1000, -1000, -1000, -1000, + 1484, -1000, -1000, -1000, 1484, 1484, -1000, 1484, 1484, -1000, + -1000, -1000, -1000, -1000, 26007, 347, 172, 1438, 347, 26007, + 26007, -1000, 522, -1000, 82, 79, 77, 76, -1000, -1000, + -1000, -1000, 75, 73, -1000, -1000, 1566, -1000, -1000, 207, + -1000, -1000, 30435, -117, 21084, 1437, 1741, 9754, -1000, -1000, + -1000, 1842, 711, 1417, -1000, -1000, 1436, -1000, 952, 624, + 1027, 1526, -1000, -1000, -1000, 30435, -1000, 16164, 16164, 1015, + -1000, 21576, -1000, -1000, -1000, -1000, 9259, 754, 18132, 942, + 761, 18132, 18132, 18132, 18132, 18132, 18132, 18132, 18132, 18132, + 18132, 18132, 18132, 18132, 18132, 18132, 1029, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1142, -1000, 207, 1060, 1060, + 641, 641, 641, 641, 641, 641, 641, 23546, 1738, 14196, + 14196, 14196, 1738, 1196, 1196, 14196, 14196, 14196, 14196, 14196, + 14196, 1738, 1738, 14196, 1196, 1196, 1196, 1196, 14196, 14196, + 14196, 14196, 1738, 14196, 14196, 14196, 1738, 1196, 1346, 908, + 12720, 14196, 14196, 14196, 1196, 16164, 16164, 15180, 14688, 16656, + 14196, 14196, 1738, 851, 908, 30927, -1000, -1000, 17640, -1000, + -1000, -1000, -1000, -1000, 1196, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 29943, 29943, 14196, 14196, 14196, 14196, 727, + 30435, -1000, 1391, 1509, -1000, -1000, -1000, 1739, 24531, 19116, + -1000, 727, 1388, 26499, 30435, -1000, -1000, 26499, 30435, 8764, + 31419, 1418, -1000, -113, -125, -100, -1000, -1000, 637, -1000, + -1000, -1000, 12227, -1000, 10249, 1770, 1566, 6289, 10744, -1000, + 24017, 1489, -1000, -53, -1000, -1000, -1000, 1468, -1000, 1468, + 286, 23, 1468, 1468, 1468, 1468, 1468, -20, -20, -20, + -20, -9, -1000, -1000, -1000, -1000, -1000, 1488, 1487, -1000, + 1468, 1468, 1468, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1509, 300, 1501, 1501, 1501, 1501, 1501, 366, 366, -1000, - 16055, 1522, -1000, 30297, -1000, 1713, -1000, 334, 1513, 1436, - -1000, 189, 1394, 30297, -1000, 30297, 30297, 25878, 25878, 25878, - 628, -1000, 30297, 1466, -1000, -1000, -1000, -1000, -1000, 1426, - -1000, 1394, -1000, -1000, -1000, -1000, -1000, 1011, 1234, 1233, - -1000, -1000, -1000, 936, -1000, -1000, -1000, -1000, 956, 30297, - 30297, 30297, 1726, 956, 1011, 660, 1523, 1471, 1294, -1000, - -1000, 1232, -1000, 1465, 1465, -1000, 1465, 509, 1171, 1465, - -1000, 1381, 1708, 1198, 30297, -1000, 20965, -26, -1000, -117, - 27842, -1000, -1000, -1000, 27842, -1000, 90, 172, -1000, 588, - -1000, 1379, -1000, -1000, -1000, -1000, 1512, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 27842, 123, 161, 27842, - 1426, 1803, -1000, -1000, -1000, -1000, -1000, -1000, 1725, 1294, - 265, -1000, -1000, -1000, 1471, 1342, 696, -1000, 1577, 981, - 981, 16055, -1000, -1000, -1000, 10152, 1737, -1000, 1611, 1608, - 1552, -1000, -1000, 810, 879, -1000, -1000, 1146, -1000, -1000, - -1000, -1000, 695, 1471, -1000, 3515, -1000, -1000, -1000, -1000, - 972, 18019, 18019, 18019, 660, 3515, 3453, 752, 804, 736, - 769, 769, 738, 738, 738, 738, 738, 830, 830, -1000, - -1000, -1000, 1294, -1000, -1000, -1000, 14091, 1373, -1000, -1000, - 1011, 694, 1373, 1373, 14091, -154, -154, 1294, 1373, 1373, - 1373, 1294, 1373, 14091, 14091, 1373, -154, -154, -154, -154, - 1373, 1373, 1373, 1373, 14091, 1373, 1373, 1373, 14091, -1000, - 16055, -1000, 1294, 1373, 1373, 1373, -1000, 955, 1105, 807, - 1801, 1373, 799, 1795, 1373, 2686, 18019, 18019, 18019, 1373, - 1373, 14091, 881, -1000, 16055, 1294, -1000, 1305, 1456, 1449, - 1373, 1294, 1445, 1373, 1373, 183, 1471, -1000, 10152, 26369, - 26369, 26369, 26369, 26369, -1000, 1567, 1561, -1000, 1570, 1563, - 1576, 20965, 1375, 1294, 274, 24405, -1000, 1471, -1000, 20474, - 685, 607, 606, 604, 1782, 26369, 1406, -1000, 1406, -1000, - 680, -1000, -1000, 30788, -77, -120, -1000, -1000, 1441, -1000, - 1073, -1000, -1000, 1011, -1000, 677, 1688, 1725, 1440, 5706, - -1000, -1000, -1000, -1000, 534, -1000, -1000, -1000, 1511, 3274, - -1000, 1637, 686, 721, 1212, 1628, -1000, -1000, 337, -38, - -1000, -1000, 1054, 1, 1, 1498, 1498, 262, 1498, -1000, - 1, -1000, -1000, -1000, 729, 1682, 729, 729, 729, 729, - 1, 1197, 1197, -1000, -1000, -1000, -1000, 1049, -1000, 1509, - -1000, 1045, -1000, -1000, -1000, -1000, -1000, -1000, 1038, 1533, - 29806, 186, 1722, -1000, 1787, -1000, -1000, 591, 97, 25878, - 185, 416, 219, -1000, 587, -1000, 585, -1000, -1000, -1000, - -1000, -1000, -1000, 30297, 25878, -1000, -1000, 1782, 1231, 1230, - -1000, -1000, -1000, 905, 956, 1668, -1000, -1000, 18019, 25878, - -1000, 318, -1000, -1000, -1000, -1000, 803, 620, -1000, -1000, - -83, -1000, -1000, 581, 674, 672, 563, -1000, 108, 25878, - -1000, 29806, -1000, 1794, 1793, 118, 1791, 25878, 1592, -1000, - 1438, -1000, 701, 699, 688, 375, 375, -1000, 811, 375, - 802, -1000, 211, -1000, 9658, 9658, 1587, -1000, -1000, -1000, - 30297, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 8176, 14091, -1000, 660, 3515, 3272, -1000, 18019, -1000, 1373, - 14091, -154, 7682, -154, -154, 1373, -1000, 27351, -1000, -154, - -154, -154, -154, -154, -154, 1373, 1373, -154, -1000, -1000, - -1000, -1000, -154, -154, -154, -154, 1373, -154, -154, -154, - 1294, 1011, -1000, -1000, -1000, -1000, 487, 1067, 487, 18019, - 18019, -1000, 18019, 18019, -1000, -1000, 18019, 3390, 3197, 3167, - -190, -1000, 1443, 861, -1000, 16055, 1009, -1000, -1000, 18019, - 18019, -1000, -1000, -1000, -1000, 1532, 10152, 1471, 6694, -1000, - 29806, 1434, -1000, 841, 835, 1470, 1507, 1531, 1329, -1000, - -1000, -1000, -1000, 1560, -1000, 1554, -1000, -1000, 1484, -1000, - -1000, 1435, 1471, 29806, 18019, 685, -1000, 1471, 1471, 1471, - 1768, 16055, 1406, -1000, -1000, 759, -1000, -1000, -85, -112, - -1000, -1000, -1000, 9658, -1000, 6200, -1000, 6200, -1000, 21947, - 547, 1641, 364, -1000, 1212, -1000, -1000, 1212, -1000, -1000, - -1000, 1502, -1000, 928, -1000, -1000, -1000, -1000, -1000, 18019, - 1824, -1000, 1630, -1000, 1629, 1196, -1000, -1000, 1323, 729, - 729, 1, -1000, -1000, 1498, -1000, 729, -1000, 783, -1000, - -1000, -1000, -1000, 729, 1371, -1000, 1369, 1429, -1000, 1364, - 119, 30297, -1000, -1000, -1000, 1530, -1000, -1000, -1000, 1310, - 1427, -1000, 4233, 1229, 1227, 1226, -197, 204, -1000, 25878, - 137, 189, 445, 1224, 30297, 25878, -1000, -1000, -1000, -1000, - -1000, 956, -1000, 18019, 3515, 1394, -1000, -1000, 1, 30297, - -1000, 25878, 745, 26860, 25878, 117, 138, -1000, 25878, 25878, - 1790, 25878, 1426, 1552, 265, 22435, 1212, 671, -1000, -1000, - 388, -1000, 2564, 1628, 1220, 23892, 23401, 29806, 1626, 1624, - 1219, 30297, 29806, -1000, -1000, 22915, 1218, 16055, -1000, 29806, - 29806, 670, -1000, -1000, -1000, 1405, 13109, -1000, -1000, 1294, - -1000, 18019, 3515, -154, -1000, -1000, -1000, -1000, 665, -1000, - -1000, -154, -1000, -1000, 1217, -1000, -1000, -1000, -1000, -1000, - -1000, -154, -154, -1000, -1000, -1000, -1000, -1000, -154, -1000, - -1000, -1000, -1000, 1294, 1498, 1498, -1000, 1498, 1501, -1000, - 1498, 24, 1498, 23, 1294, 1294, 3079, 3042, 2904, 2732, - 1305, 18019, 18019, 18019, 1471, -150, -1000, 1011, 16055, 1916, - 911, -1000, 1699, 1393, 1420, -1000, -1000, 13600, 1294, 1604, - 1342, -1000, 19983, 1340, -1000, 1768, 10152, 16055, 16055, -1000, - -1000, 16055, 1499, -1000, 16055, -1000, -1000, -1000, -1000, 29806, - 273, -1000, 16055, 1340, 1042, -1000, 29806, 29806, 29806, 1753, - 1011, -1000, -1000, -1000, -1000, 5706, -1000, 1338, -1000, 1498, - 1498, 1623, -1000, 686, -1000, -1000, -1000, 29806, -1000, 3515, - -102, -1000, -1000, -1000, -1000, -1000, -1000, 729, -1000, -1000, - -1000, -1000, -1000, 1, 1195, 1, 1043, -1000, 1036, -1000, - -1000, -274, 1496, -1000, 186, 30297, 107, 591, -1000, 4233, - 4233, 4233, 120, 129, -1000, 922, -1000, -1000, -1000, 1194, - 1192, 1191, 1394, 190, 909, 150, -1000, 1720, -1000, -1000, - -1000, 3515, -49, -1000, 138, -1000, -1000, -1000, 138, -1000, - -1000, 157, 1426, 1426, 25878, 1426, -1000, -1000, 22915, 371, - 4233, 4233, 1522, 686, 1619, 364, -1000, -1000, -1000, -1000, - -1000, -1000, 1215, -1000, 693, -1000, 558, 371, 22915, 1011, - 771, 1706, 9658, 1775, 26369, -1000, -1000, -1000, 3515, -1000, - 7188, -1000, 788, -1000, -1000, -1000, -1000, -1000, -1000, 289, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18019, 18019, - 18019, 18019, -1000, 1305, 1305, 1305, 18019, 1294, 1190, 1011, - 18019, 18019, 1617, -1000, 1471, -1000, -1000, 1471, 187, -1000, - 29806, 1753, -1000, 1011, 1011, 1011, 29806, 1011, 1335, -1000, - 1471, 18510, -1000, 20965, 1332, 1332, 1332, -1000, 667, 21947, - 1705, 1705, -1000, 1212, -1000, 1330, -1000, -1000, 729, -1000, - 729, 1306, 1304, -1000, 21947, -1000, 1749, -1000, 107, -1000, - 1189, 237, 246, -1000, 236, 235, 233, 229, 222, -1000, - -1000, -1000, -1000, 379, 120, -1000, -59, 1030, 832, 1673, - 129, -1000, 1017, 1015, 1002, 992, 164, -1000, -1000, -1000, - -1000, 215, 189, -1000, 442, 1185, 1658, 1653, 1719, 1719, - 113, 1426, 1402, 1300, -1000, -1000, 1214, -1000, -1000, 1494, - 1212, 1487, -1000, 1211, -1000, -1000, 29806, -1000, 371, 1696, - 1695, 1471, -1000, 1771, 1764, 1406, 13109, -1000, -1000, 1768, - 1761, -1000, -1000, 1305, 1305, 1305, 1305, -1000, -1000, -1000, - 102, -1000, -1000, 1305, 1305, 1819, -1000, 1420, 1471, -1000, - 186, -1000, -1000, 1328, -1000, 29806, -1000, -1000, 685, -1000, - -1000, -1000, 667, -1000, 1210, 811, 1181, -1000, -1000, -1000, - -1000, 353, -1000, -1000, -1000, -1000, 1313, -1000, 270, 32990, - -1000, -1000, -1000, -1000, -1000, -1000, 1664, 1661, 259, -1000, - 1176, 1167, -1000, 401, 1046, 687, -159, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 427, 1209, - -1000, 144, -1000, -1000, 548, 1643, 1645, 1760, -1000, 25878, - -1000, -1000, 26369, -1000, -1000, 337, 337, 21947, 1522, 21947, - -1000, -1000, -1000, 18019, -1000, 775, -156, 16055, 16055, 1775, - -1000, 792, 16055, -1000, -1000, -1000, -1000, 1294, 182, -235, - -1000, -1000, 10152, 1420, 1294, -1000, -1000, -1000, -1000, -1000, - 982, -1000, 30297, 667, 267, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1478, 306, 1476, 1476, 1476, 1476, 1476, 364, + 364, -1000, 16164, 1493, -1000, 30435, -1000, 1723, -1000, 294, + 1485, 1390, -1000, 186, 1248, 30435, -1000, 30435, 30435, 26007, + 26007, 26007, 590, -1000, 30435, 1434, -1000, -1000, -1000, -1000, + -1000, 1377, -1000, 1248, -1000, -1000, -1000, -1000, -1000, 908, + 1140, 1136, -1000, -1000, -1000, 860, -1000, -1000, -1000, -1000, + 883, 30435, 30435, 30435, 1734, 883, 908, 785, 1495, 1459, + 1196, -1000, -1000, 1134, -1000, 1433, 1433, -1000, 1433, 526, + 1060, 1433, -1000, 1343, 1718, 1093, 30435, -1000, 21084, -43, + -1000, -136, 27975, -1000, -1000, -1000, 27975, -1000, 99, 174, + -1000, 545, -1000, 1326, -1000, -1000, -1000, -1000, 1484, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27975, 129, + 170, 27975, 1377, 1831, -1000, -1000, -1000, -1000, -1000, 1759, + -1000, 1738, 1196, 181, -1000, -1000, -1000, 1459, 1292, 623, + -1000, 1575, 985, 985, 16164, -1000, -1000, -1000, 10249, 1762, + -1000, 1592, 1590, 1535, -1000, -1000, 754, 777, -1000, -1000, + 947, -1000, -1000, -1000, -1000, 622, 1459, -1000, 3054, -1000, + -1000, -1000, -1000, 942, 18132, 18132, 18132, 785, 3054, 3070, + 1578, 1281, 641, 945, 945, 663, 663, 663, 663, 663, + 829, 829, -1000, -1000, -1000, 1196, -1000, -1000, -1000, 14196, + 1320, -1000, -1000, 908, 619, 1320, 1320, 14196, -176, -176, + 1196, 1320, 1320, 1320, 1196, 1320, 14196, 14196, 1320, -176, + -176, -176, -176, 1320, 1320, 1320, 1320, 14196, 1320, 1320, + 1320, 14196, -1000, 16164, -1000, 1196, 1320, 1320, 1320, -1000, + 897, 826, 721, 1830, 1320, 714, 1828, 1320, 1307, 18132, + 18132, 18132, 1320, 1320, 14196, 880, -1000, 16164, 1196, -1000, + 800, 1432, 1430, 1320, 1196, 1423, 1320, 1320, 194, 1459, + -1000, 10249, 26499, 26499, 26499, 26499, 26499, -1000, 1546, 1540, + -1000, 1563, 1534, 1570, 21084, 1324, 1196, 275, 24531, -1000, + 1459, -1000, 20592, 601, 561, 559, 557, 1808, 26499, 1290, + -1000, 1290, -1000, 617, -1000, -1000, 30927, -100, -128, -1000, + -1000, 1418, -1000, 1041, -1000, -1000, 908, -1000, 615, 1701, + 1738, 1415, 5794, -1000, -1000, -1000, -1000, 513, -1000, -1000, + -1000, 1483, 23525, -1000, 1613, 666, 677, 1109, 1610, -1000, + -1000, 640, -55, -1000, -1000, 1034, -20, -20, 1468, 1468, + 279, 1468, -1000, -20, -1000, -1000, -1000, 637, 1683, 637, + 637, 637, 637, -20, 1089, 1089, -1000, -1000, -1000, -1000, + 1033, -1000, 1478, -1000, 1032, -1000, -1000, -1000, -1000, -1000, + -1000, 956, 1516, 29943, 207, 1731, -1000, 1825, -1000, -1000, + 596, 97, 26007, 179, 384, 204, -1000, 544, -1000, 543, + -1000, -1000, -1000, -1000, -1000, -1000, 30435, 26007, -1000, -1000, + 1808, 1132, 1131, -1000, -1000, -1000, 852, 883, 1672, -1000, + -1000, 18132, 26007, -1000, 307, -1000, -1000, -1000, -1000, 727, + 566, -1000, -1000, -120, -1000, -1000, 539, 598, 595, 538, + -1000, 108, 26007, -1000, 29943, -1000, 1827, 1826, 127, 1818, + 26007, -1000, 61, 1526, -1000, 1412, -1000, 679, 667, 739, + 380, 380, -1000, 762, 380, 725, -1000, 200, -1000, 9754, + 9754, 1559, -1000, -1000, -1000, 30435, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 8269, 14196, -1000, 785, 3054, + 3021, -1000, 18132, -1000, 1320, 14196, -176, 7774, -176, -176, + 1320, -1000, 27483, -1000, -176, -176, -176, -176, -176, -176, + 1320, 1320, -176, -1000, -1000, -1000, -1000, -176, -176, -176, + -176, 1320, -176, -176, -176, 1196, 908, -1000, -1000, -1000, + -1000, 184, 1029, 184, 18132, 18132, -1000, 18132, 18132, -1000, + -1000, 18132, 2963, 1878, 1353, -215, -1000, 1322, 792, -1000, + 16164, 989, -1000, -1000, 18132, 18132, -1000, -1000, -1000, -1000, + 1515, 10249, 1459, 6784, -1000, 29943, 1341, -1000, 782, 774, + 1509, 1482, 1514, 1382, -1000, -1000, -1000, -1000, 1538, -1000, + 1537, -1000, -1000, 1463, -1000, -1000, 1395, 1459, 29943, 18132, + 601, -1000, 1459, 1459, 1459, 1795, 16164, 1290, -1000, -1000, + 673, -1000, -1000, -130, -145, -1000, -1000, -1000, 9754, -1000, + 6289, -1000, 6289, -1000, 22068, 379, 1617, 378, -1000, 1109, + -1000, -1000, 1109, -1000, -1000, -1000, 1477, -1000, 920, -1000, + -1000, -1000, -1000, -1000, 18132, 1840, -1000, 1612, -1000, 1611, + 1088, -1000, -1000, 1238, 637, 637, -20, -1000, -1000, 1468, + -1000, 637, -1000, 715, -1000, -1000, -1000, -1000, 637, 1314, + -1000, 1310, 1394, -1000, 1296, 136, 30435, -1000, -1000, -1000, + 1513, -1000, -1000, -1000, 1236, 1387, -1000, 4209, 1130, 1128, + 1127, -221, 177, -1000, 26007, 144, 186, 412, 1124, 30435, + 26007, -1000, -1000, -1000, -1000, -1000, 883, -1000, 18132, 3054, + 1248, -1000, -1000, -20, 30435, -1000, 26007, 648, 26991, 26007, + 126, 173, -1000, 26007, 26007, 1817, 26007, 1377, 1085, 1535, + 181, 23050, 1109, 642, -1000, -1000, 382, -1000, 22545, 1610, + 1122, 25494, 25002, 29943, 1608, 1602, 1115, 30435, 29943, -1000, + -1000, 24510, 1114, 16164, -1000, 29943, 29943, 593, -1000, -1000, + -1000, 1374, 13212, -1000, -1000, 1196, -1000, 18132, 3054, -176, + -1000, -1000, -1000, -1000, 592, -1000, -1000, -176, -1000, -1000, + 1113, -1000, -1000, -1000, -1000, -1000, -1000, -176, -176, -1000, + -1000, -1000, -1000, -1000, -176, -1000, -1000, -1000, -1000, 1196, + 1468, 1468, -1000, 1468, 1476, -1000, 1468, 21, 1468, 17, + 1196, 1196, 2908, 2883, 2846, 2210, 800, 18132, 18132, 18132, + 1459, -172, -1000, 908, 16164, 2758, 2326, -1000, 1708, 1384, + 1367, -1000, -1000, 13704, 1196, 1584, 1292, -1000, 20100, 1287, + -1000, 1795, 10249, 16164, 16164, -1000, -1000, 16164, 1471, -1000, + 16164, -1000, -1000, -1000, -1000, 29943, 269, -1000, 16164, 1287, + 1224, -1000, 29943, 29943, 29943, 1770, 908, -1000, -1000, -1000, + -1000, 5794, -1000, 1266, -1000, 1468, 1468, 1601, -1000, 666, + -1000, -1000, -1000, 29943, -1000, 3054, -52, -1000, -1000, -1000, + -1000, -1000, -1000, 637, -1000, -1000, -1000, -1000, -1000, -20, + 1084, -20, 1021, -1000, 1020, -1000, -1000, -269, 1467, -1000, + 207, 30435, 107, 596, -1000, 4209, 4209, 4209, 125, 117, + -1000, 900, -1000, -1000, -1000, 1081, 1080, 1079, 1248, 187, + 899, 151, -1000, 1730, -1000, -1000, -1000, 3054, -83, -1000, + 173, -1000, -1000, -1000, 173, -1000, -1000, 159, 1377, 1377, + 26007, 1377, -1000, -1000, -1000, 24510, 360, 4209, 4209, 1493, + 666, 1599, 378, -1000, -1000, -1000, -1000, -1000, -1000, 1111, + -1000, 665, -1000, 393, 360, 24510, 908, 688, 1703, 9754, + 1799, 26499, -1000, -1000, -1000, 3054, -1000, 7279, -1000, 693, + -1000, -1000, -1000, -1000, -1000, -1000, 296, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 18132, 18132, 18132, 18132, -1000, + 800, 800, 800, 18132, 1196, 1077, 908, 18132, 18132, 1577, + -1000, 1459, -1000, -1000, 1459, 193, -1000, 29943, 1770, -1000, + 908, 908, 908, 29943, 908, 1250, -1000, 1459, 18624, -1000, + 21084, 1231, 1231, 1231, -1000, 589, 22068, 1715, 1715, -1000, + 1109, -1000, 1229, -1000, -1000, 637, -1000, 637, 1217, 1207, + -1000, 22068, -1000, 1758, -1000, 107, -1000, 1067, 246, 215, + -1000, 245, 236, 232, 230, 222, -1000, -1000, -1000, -1000, + 407, 125, -1000, -45, 1018, 738, 1687, 117, -1000, 1017, + 984, 978, 976, 199, -1000, -1000, -1000, -1000, 202, 186, + -1000, 411, 1066, 1649, 1643, 1729, 1729, 119, 1377, 1312, + 1198, -1000, -1000, 1110, -1000, -1000, 1465, 1109, 1464, -1000, + 1108, -1000, -1000, 29943, -1000, 360, 1706, 1704, 1459, -1000, + 1797, 1790, 1290, 13212, -1000, -1000, 1795, 1779, -1000, -1000, + 800, 800, 800, 800, -1000, -1000, -1000, 171, -1000, -1000, + 800, 800, 1838, -1000, 1367, 1459, -1000, 207, -1000, -1000, + 1227, -1000, 29943, -1000, -1000, 601, -1000, -1000, -1000, 589, + -1000, 1107, 762, 1057, -1000, -1000, -1000, -1000, 344, -1000, + -1000, -1000, -1000, 1225, -1000, 278, 4796, -1000, -1000, -1000, + -1000, -1000, -1000, 1655, 1654, 260, -1000, 1055, 1054, -1000, + 391, 1036, 597, -181, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 394, 1105, -1000, 150, -1000, + -1000, 527, 1622, 1620, 1778, -1000, 26007, -1000, -1000, 26499, + -1000, -1000, 640, 640, 22068, 1493, 22068, -1000, -1000, -1000, + 18132, -1000, 691, -178, 16164, 16164, 1799, -1000, 728, 16164, + -1000, -1000, -1000, -1000, 1196, 182, -226, -1000, -1000, 10249, + 1367, 1196, -1000, -1000, -1000, -1000, -1000, 967, -1000, 30435, + 589, 267, -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, 16055, 16055, 5212, 32990, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 975, -1000, - -1000, 1040, 378, 140, -1000, 1718, -1000, 1484, 944, 1653, - 1758, 1649, 1647, -1000, 1151, -228, 1406, 1309, 1483, 1299, - 3515, 1297, -1000, 29806, -1000, 29806, -1000, 1011, 1419, -1000, - 1011, 1771, -1000, 1294, 217, 217, 1411, -1000, 1586, -194, - -246, 1404, -1000, -1000, 1482, -1000, 667, 269, -1000, 995, - 999, 212, 198, 4147, -1000, -1000, -1000, -1000, -325, -1000, - 125, -1000, 121, -1000, -1000, -1000, 1145, -1000, 1657, -1000, - 1141, -1000, 1757, 1756, -1000, 166, 1775, 667, 21947, 667, - -1000, 775, 1602, 1398, -1000, 1709, 16055, -156, -1000, -1000, - 218, -1000, 787, 256, 772, -1000, 1171, -1000, -1000, 1580, - -1000, 29806, -1000, 1203, 1155, 1131, -1000, 16055, 32990, 1746, - 1745, 1739, 1694, 9658, 32852, -1000, -1000, -1000, -1000, -1000, - 1133, 971, 23913, 1771, -1000, 1293, -1000, -1000, 335, 29806, - 1471, -1000, -1000, 904, -1000, -1000, -1000, -1000, -1000, 29806, - -233, 1291, 323, -1000, -1000, 887, 32990, -1000, 997, -327, - 437, 186, 433, 18019, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 112, 1394, -156, 667, 295, -1000, -1000, 218, -1000, - -237, 1528, -1000, -1000, -1000, -1000, -1000, -1000, 32990, -1000, - -328, 32990, 3990, -1000, -1000, -1000, 32764, -1000, -1000, -1000, - -1000, 191, -1000, -1000, 3515, 25878, -1000, -1000, 1471, -1000, - -257, 1526, 1525, 1789, -1000, -329, 32674, -330, 542, 32990, - 920, -1000, 16055, -1000, 433, -1000, 1394, 17037, -1000, -1000, - 1818, -1000, 1814, 656, 656, 4895, 877, 32990, -1000, -332, - 541, 32990, -1000, 883, -1000, 1305, 1294, -1000, -1000, -1000, - 360, 970, -1000, -1000, -1000, 4603, -1000, -333, 32990, -1000, - -1000, -1000, -1000, -1000, 391, 4577, -334, -1000, 390, 32990, - -1000, + -1000, -1000, -1000, 16164, 16164, 5299, 4796, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 966, -1000, -1000, 1035, 367, + 149, -1000, 1727, -1000, 1463, 959, 1643, 1777, 1641, 1630, + -1000, 1049, -223, 1290, 1222, 1461, 1195, 3054, 1193, -1000, + 29943, -1000, 29943, -1000, 908, 1351, -1000, 908, 1797, -1000, + 1196, 208, 208, 1298, -1000, 1556, -218, -244, 1270, -1000, + -1000, 1460, -1000, 589, 259, -1000, 932, 930, 206, 205, + 4149, -1000, -1000, -1000, -1000, -320, -1000, 133, -1000, 132, + -1000, -1000, -1000, 1047, -1000, 1645, -1000, 1046, -1000, 1776, + 1773, -1000, 175, 1799, 589, 22068, 589, -1000, 691, 1583, + 1260, -1000, 1719, 16164, -178, -1000, -1000, 210, -1000, 718, + 266, 709, -1000, 1060, -1000, -1000, 1553, -1000, 29943, -1000, + 1104, 1103, 868, -1000, 16164, 4796, 1756, 1755, 1742, 1702, + 9754, 32904, -1000, -1000, -1000, -1000, -1000, 1042, 1016, 24038, + 1797, -1000, 1191, -1000, -1000, 334, 29943, 1459, -1000, -1000, + 891, -1000, -1000, -1000, -1000, -1000, 29943, -224, 1186, 227, + -1000, -1000, 855, 4796, -1000, 903, -321, 428, 207, 441, + 18132, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 118, 1248, + -178, 589, 272, -1000, -1000, 210, -1000, -227, 1511, -1000, + -1000, -1000, -1000, -1000, -1000, 4796, -1000, -322, 4796, 3391, + -1000, -1000, -1000, 32896, -1000, -1000, -1000, -1000, 188, -1000, + -1000, 3054, 26007, -1000, -1000, 1459, -1000, -245, 1508, 1507, + 1812, -1000, -323, 4835, -325, 518, 4796, 802, -1000, 16164, + -1000, 441, -1000, 1248, 17148, -1000, -1000, 1837, -1000, 1835, + 496, 496, 4770, 853, 4796, -1000, -328, 508, 4796, -1000, + 791, -1000, 800, 1196, -1000, -1000, -1000, 359, 971, -1000, + -1000, -1000, 4593, -1000, -329, 4796, -1000, -1000, -1000, -1000, + -1000, 392, 4553, -330, -1000, 390, 4796, -1000, } var yyPgo = [...]int{ - 0, 2212, 2211, 34, 2210, 183, 2209, 2207, 2206, 26, - 22, 20, 28, 2205, 1959, 1956, 1954, 1952, 1949, 2204, - 15, 2203, 2202, 1945, 2201, 2197, 1939, 1937, 1935, 1931, - 2196, 2192, 2190, 1921, 1919, 1899, 2, 2189, 16, 2188, - 5, 139, 169, 2187, 3, 2186, 2184, 13, 2181, 2180, - 1897, 2179, 2178, 2174, 87, 2173, 1883, 1874, 2172, 1872, - 1866, 2171, 2170, 1864, 1862, 1853, 2168, 159, 2167, 2164, - 2163, 264, 96, 142, 2161, 2160, 2156, 107, 70, 2050, - 105, 49, 138, 233, 2155, 18, 55, 185, 2153, 135, - 120, 2150, 150, 2148, 129, 187, 98, 2147, 2146, 160, - 2145, 2144, 2143, 126, 2140, 2139, 2478, 2138, 2137, 148, - 2132, 64, 54, 44, 2130, 2129, 2128, 2124, 2122, 31, - 153, 2117, 2114, 140, 2112, 2111, 78, 2110, 2108, 174, - 2107, 2106, 2105, 130, 41, 2104, 2102, 47, 2101, 77, - 68, 2096, 94, 2092, 128, 2090, 2089, 36, 19, 2088, - 57, 2087, 52, 2086, 137, 536, 101, 2082, 11, 14, - 10, 2081, 32, 7, 24, 46, 62, 92, 122, 100, - 2080, 30, 39, 112, 97, 93, 42, 2079, 143, 2078, - 84, 145, 124, 125, 144, 2077, 2076, 2070, 1064, 2069, - 110, 95, 2068, 136, 883, 158, 106, 2066, 91, 2065, - 2064, 2063, 2062, 2059, 86, 113, 2058, 2057, 48, 66, - 1014, 1786, 53, 147, 2056, 45, 2055, 2053, 2052, 2819, - 104, 83, 102, 2051, 103, 37, 58, 2049, 2047, 2044, - 2028, 2023, 2021, 1359, 2020, 2017, 2015, 2013, 89, 67, - 2012, 2011, 121, 127, 2009, 2007, 2006, 2005, 116, 75, - 141, 2004, 108, 118, 156, 2002, 73, 2001, 2000, 50, - 43, 1993, 1992, 1989, 99, 90, 1984, 69, 33, 40, - 63, 8, 151, 1983, 1982, 82, 111, 1981, 25, 1980, - 4, 6, 9, 1979, 1978, 1977, 1970, 1969, 1968, 1965, - 76, 1964, 1961, 61, 1947, 1943, 1933, 38, 1929, 1926, - 1916, 131, 109, 88, 152, 191, 17, 1914, 1911, 12, - 1905, 119, 1895, 65, 1893, 59, 1891, 1889, 51, 1886, - 1881, 60, 1876, 1869, 155, 1575, 204, 1858, 154, 132, - 56, 74, 1856, 1848, 0, 998, 163, 164, 1846, 1800, + 0, 2303, 2300, 102, 2298, 186, 2297, 2295, 2294, 25, + 16, 11, 27, 2292, 1983, 1973, 1970, 1966, 1964, 2291, + 5, 2289, 2284, 1953, 2280, 2277, 1944, 1941, 1939, 1937, + 2276, 2275, 2274, 1933, 1929, 1924, 15, 2273, 23, 2271, + 4, 151, 160, 2269, 3, 2268, 2254, 9, 2252, 2251, + 1922, 2234, 2231, 2230, 96, 2228, 1913, 1910, 2227, 1905, + 1894, 2225, 2218, 1887, 1883, 1863, 2215, 163, 2214, 2212, + 2208, 148, 99, 155, 2207, 2206, 2205, 114, 82, 2290, + 118, 44, 108, 189, 2203, 29, 57, 185, 2199, 139, + 157, 2196, 162, 2195, 146, 104, 106, 2194, 2193, 169, + 2189, 2188, 2186, 141, 2185, 2183, 1977, 2181, 2174, 167, + 2173, 76, 49, 39, 2171, 2169, 2168, 2167, 2166, 31, + 843, 2163, 2158, 158, 2157, 2154, 87, 2152, 2151, 190, + 2146, 2145, 2139, 144, 40, 2134, 2132, 47, 2131, 53, + 70, 2128, 58, 2119, 142, 2114, 2106, 33, 22, 2105, + 64, 2104, 60, 2102, 143, 174, 1119, 2100, 20, 13, + 18, 2099, 32, 6, 8, 48, 62, 79, 133, 107, + 2097, 35, 41, 132, 100, 93, 37, 2093, 153, 2092, + 91, 164, 136, 140, 159, 2091, 2089, 2088, 999, 2086, + 128, 77, 2085, 111, 817, 161, 123, 2084, 85, 2083, + 2082, 2081, 2080, 2079, 90, 119, 2078, 2077, 45, 21, + 238, 1642, 19, 156, 2075, 46, 2074, 2071, 2069, 2899, + 113, 73, 129, 2067, 127, 94, 51, 2066, 2065, 2064, + 2063, 2061, 2058, 1633, 2057, 2056, 2054, 2053, 92, 97, + 2051, 2049, 131, 98, 2048, 2047, 2046, 2045, 130, 71, + 152, 2043, 121, 124, 138, 2042, 84, 2041, 2040, 50, + 43, 2038, 2036, 2035, 105, 95, 2030, 66, 34, 36, + 63, 24, 154, 2027, 2026, 2024, 80, 83, 2023, 30, + 2022, 2, 10, 14, 2021, 2020, 2019, 2018, 2015, 2014, + 2013, 86, 2012, 2010, 65, 2009, 2007, 1991, 38, 1990, + 1989, 1986, 147, 122, 61, 165, 125, 42, 1985, 1981, + 7, 1978, 126, 1968, 54, 1957, 55, 1949, 1935, 56, + 1927, 1920, 59, 1917, 1915, 168, 1542, 2848, 1901, 166, + 149, 52, 109, 1896, 1892, 0, 691, 170, 177, 1885, + 1859, } var yyR1 = [...]int{ - 0, 333, 333, 1, 1, 1, 1, 1, 1, 1, + 0, 334, 334, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 66, 3, 3, 8, 4, 4, 4, 5, 5, 88, 88, 87, 87, 92, 6, 6, 7, 7, 9, 9, 70, 70, 10, 11, - 11, 11, 11, 336, 336, 101, 101, 99, 99, 100, + 11, 11, 11, 337, 337, 101, 101, 99, 99, 100, 100, 173, 173, 12, 12, 12, 178, 178, 183, 183, 183, 186, 186, 186, 186, 164, 165, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 307, - 307, 316, 316, 316, 317, 317, 315, 315, 315, 315, - 315, 319, 319, 320, 320, 318, 318, 318, 318, 322, - 322, 323, 323, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 310, 310, 310, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 308, + 308, 317, 317, 317, 318, 318, 316, 316, 316, 316, + 316, 320, 320, 321, 321, 319, 319, 319, 319, 323, + 323, 324, 324, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 311, 311, 311, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, - 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, - 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, - 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, - 324, 325, 325, 326, 326, 327, 327, 328, 328, 328, - 328, 329, 329, 329, 329, 329, 330, 330, 330, 330, - 330, 330, 330, 331, 331, 332, 332, 2, 288, 288, - 289, 289, 290, 290, 290, 290, 291, 291, 292, 292, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 24, 207, 207, 309, 309, 309, 303, 303, 303, 305, - 305, 304, 304, 304, 306, 306, 311, 311, 311, 311, - 311, 313, 313, 313, 313, 313, 313, 314, 314, 314, - 312, 312, 48, 48, 49, 49, 49, 153, 153, 153, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 326, 326, 327, 327, 328, 328, 329, 329, 329, + 329, 330, 330, 330, 330, 330, 331, 331, 331, 331, + 331, 331, 331, 332, 332, 333, 333, 2, 289, 289, + 290, 290, 291, 291, 291, 291, 292, 292, 293, 293, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 24, 207, 207, 310, 310, 310, 304, 304, 304, 306, + 306, 305, 305, 305, 307, 307, 312, 312, 312, 312, + 312, 314, 314, 314, 314, 314, 314, 315, 315, 315, + 313, 313, 48, 48, 49, 49, 49, 153, 153, 153, 13, 13, 13, 13, 13, 19, 21, 21, 37, 37, 38, 22, 22, 22, 22, 39, 39, 40, 25, 25, 25, 25, 25, 25, 46, 46, 46, 45, 45, 44, 44, 44, 44, 44, 44, 23, 23, 23, 23, 47, 47, 42, 42, 41, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 26, 26, 26, 26, - 26, 26, 18, 287, 287, 287, 36, 36, 20, 20, + 26, 26, 18, 288, 288, 288, 36, 36, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 52, 261, @@ -5021,74 +5016,74 @@ var yyR1 = [...]int{ 240, 240, 241, 241, 236, 237, 244, 238, 238, 238, 239, 239, 239, 247, 247, 247, 247, 234, 35, 274, 273, 273, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 200, 200, 201, 201, 251, 251, 271, - 271, 270, 270, 269, 269, 269, 260, 260, 266, 266, - 266, 266, 266, 266, 266, 255, 255, 255, 254, 254, - 256, 256, 259, 259, 268, 268, 267, 267, 252, 252, - 252, 275, 275, 275, 275, 275, 253, 253, 253, 253, - 276, 257, 257, 258, 258, 258, 281, 282, 280, 280, - 280, 280, 280, 116, 116, 116, 263, 263, 263, 264, - 264, 264, 265, 265, 265, 285, 285, 284, 284, 50, - 51, 55, 55, 54, 54, 54, 54, 54, 54, 54, + 272, 272, 272, 272, 275, 275, 200, 200, 201, 201, + 251, 251, 271, 271, 270, 270, 269, 269, 269, 260, + 260, 266, 266, 266, 266, 266, 266, 266, 255, 255, + 255, 254, 254, 256, 256, 259, 259, 268, 268, 267, + 267, 252, 252, 252, 276, 276, 276, 276, 276, 253, + 253, 253, 253, 277, 257, 257, 258, 258, 258, 282, + 283, 281, 281, 281, 281, 281, 116, 116, 116, 263, + 263, 263, 264, 264, 264, 265, 265, 265, 286, 286, + 285, 285, 50, 51, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 152, 152, 152, - 205, 205, 279, 277, 277, 278, 278, 15, 15, 53, - 53, 308, 308, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 283, 283, 283, 17, 17, 56, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 152, 152, 152, 205, 205, 280, 278, 278, 279, 279, + 15, 15, 53, 53, 309, 309, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 284, 284, 284, 17, 17, + 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 84, 192, 192, 191, 191, 190, 190, 190, - 193, 193, 193, 223, 223, 223, 58, 58, 62, 62, - 65, 65, 65, 63, 64, 27, 28, 28, 28, 28, - 29, 206, 206, 60, 60, 61, 61, 61, 61, 76, - 76, 338, 338, 59, 339, 67, 68, 68, 69, 69, - 69, 196, 196, 73, 73, 73, 71, 71, 71, 72, - 72, 78, 78, 82, 82, 82, 82, 81, 81, 81, - 81, 155, 155, 160, 216, 216, 136, 136, 156, 156, - 161, 161, 161, 162, 162, 163, 163, 163, 163, 163, - 158, 158, 157, 157, 159, 124, 124, 214, 214, 214, - 213, 213, 213, 213, 86, 86, 89, 89, 90, 90, - 90, 90, 93, 138, 138, 110, 110, 111, 111, 111, - 111, 111, 122, 122, 172, 172, 171, 171, 174, 174, - 91, 91, 91, 91, 96, 96, 97, 97, 98, 98, - 204, 204, 221, 221, 221, 102, 102, 102, 104, 103, - 103, 103, 103, 105, 105, 107, 108, 108, 106, 106, - 109, 112, 112, 112, 112, 113, 113, 83, 83, 83, - 83, 83, 83, 83, 189, 189, 115, 115, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 132, 132, - 132, 132, 132, 132, 117, 117, 117, 117, 117, 117, - 117, 77, 77, 133, 133, 133, 95, 94, 94, 80, - 80, 79, 79, 134, 134, 120, 120, 120, 120, 120, + 57, 57, 57, 57, 57, 84, 192, 192, 191, 191, + 190, 190, 190, 193, 193, 193, 223, 223, 223, 58, + 58, 62, 62, 65, 65, 65, 63, 64, 27, 28, + 28, 28, 28, 29, 206, 206, 60, 60, 61, 61, + 61, 61, 76, 76, 339, 339, 59, 340, 67, 68, + 68, 69, 69, 69, 196, 196, 73, 73, 73, 71, + 71, 71, 72, 72, 78, 78, 82, 82, 82, 82, + 81, 81, 81, 81, 155, 155, 160, 216, 216, 136, + 136, 156, 156, 161, 161, 161, 162, 162, 163, 163, + 163, 163, 163, 158, 158, 157, 157, 159, 124, 124, + 214, 214, 214, 213, 213, 213, 213, 86, 86, 89, + 89, 90, 90, 90, 90, 93, 138, 138, 110, 110, + 111, 111, 111, 111, 111, 122, 122, 172, 172, 171, + 171, 174, 174, 91, 91, 91, 91, 96, 96, 97, + 97, 98, 98, 204, 204, 221, 221, 221, 102, 102, + 102, 104, 103, 103, 103, 103, 105, 105, 107, 108, + 108, 106, 106, 109, 112, 112, 112, 112, 113, 113, + 83, 83, 83, 83, 83, 83, 83, 189, 189, 115, + 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 132, 132, 132, 132, 132, 132, 117, 117, 117, + 117, 117, 117, 117, 77, 77, 133, 133, 133, 95, + 94, 94, 80, 80, 79, 79, 134, 134, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 127, 127, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 120, 120, 120, 127, 127, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 337, 337, - 129, 128, 128, 128, 128, 128, 128, 74, 74, 74, - 74, 74, 222, 222, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 145, 145, 75, - 75, 143, 143, 144, 146, 146, 142, 142, 142, 119, - 119, 119, 119, 119, 119, 119, 119, 121, 121, 121, - 147, 147, 135, 135, 85, 148, 148, 149, 150, 150, - 151, 151, 154, 166, 166, 166, 167, 167, 167, 167, - 123, 123, 168, 168, 168, 118, 118, 118, 118, 118, - 118, 118, 170, 170, 169, 169, 169, 169, 175, 175, - 137, 137, 140, 140, 139, 141, 176, 176, 180, 180, - 177, 177, 181, 181, 181, 181, 184, 184, 185, 185, - 185, 182, 182, 182, 179, 179, 179, 218, 218, 218, - 187, 187, 197, 197, 194, 194, 195, 195, 188, 188, - 235, 235, 203, 203, 202, 202, 202, 198, 198, 198, - 199, 199, 215, 215, 211, 211, 217, 217, 212, 212, - 219, 219, 220, 220, 286, 286, 245, 245, 296, 296, - 246, 246, 297, 297, 299, 299, 294, 294, 295, 295, - 298, 298, 30, 300, 300, 301, 301, 302, 302, 302, - 302, 31, 32, 32, 32, 208, 208, 208, 208, 208, + 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 338, 338, 129, 128, 128, 128, 128, 128, 128, + 74, 74, 74, 74, 74, 222, 222, 224, 224, 224, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 145, 145, 75, 75, 143, 143, 144, 146, 146, 142, + 142, 142, 119, 119, 119, 119, 119, 119, 119, 119, + 121, 121, 121, 147, 147, 135, 135, 85, 148, 148, + 149, 150, 150, 151, 151, 154, 166, 166, 166, 167, + 167, 167, 167, 123, 123, 168, 168, 168, 118, 118, + 118, 118, 118, 118, 118, 170, 170, 169, 169, 169, + 169, 175, 175, 137, 137, 140, 140, 139, 141, 176, + 176, 180, 180, 177, 177, 181, 181, 181, 181, 184, + 184, 185, 185, 185, 182, 182, 182, 179, 179, 179, + 218, 218, 218, 187, 187, 197, 197, 194, 194, 195, + 195, 188, 188, 235, 235, 203, 203, 202, 202, 202, + 198, 198, 198, 199, 199, 215, 215, 211, 211, 217, + 217, 212, 212, 219, 219, 220, 220, 287, 287, 245, + 245, 297, 297, 246, 246, 298, 298, 300, 300, 295, + 295, 296, 296, 299, 299, 30, 301, 301, 302, 302, + 303, 303, 303, 303, 31, 32, 32, 32, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, @@ -5105,6 +5100,7 @@ var yyR1 = [...]int{ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, @@ -5128,11 +5124,10 @@ var yyR1 = [...]int{ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, + 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 334, - 335, + 210, 210, 210, 335, 336, } var yyR2 = [...]int{ @@ -5185,74 +5180,74 @@ var yyR2 = [...]int{ 0, 1, 0, 1, 2, 3, 1, 0, 3, 3, 0, 2, 2, 2, 1, 2, 1, 2, 3, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 0, 1, 5, 4, 0, - 1, 1, 2, 2, 3, 2, 0, 1, 2, 4, - 3, 5, 3, 2, 2, 1, 1, 1, 1, 1, - 0, 1, 0, 1, 1, 3, 3, 3, 3, 3, - 1, 10, 11, 11, 12, 12, 3, 3, 2, 1, - 5, 1, 1, 0, 2, 2, 3, 3, 1, 1, - 2, 2, 2, 0, 1, 2, 0, 1, 3, 1, - 2, 3, 1, 1, 1, 0, 2, 0, 2, 1, - 5, 1, 3, 5, 4, 3, 5, 3, 8, 10, - 3, 3, 3, 3, 3, 5, 4, 5, 1, 2, - 2, 4, 3, 6, 5, 3, 8, 0, 1, 2, - 0, 1, 7, 1, 3, 8, 8, 3, 3, 3, - 5, 3, 5, 5, 5, 4, 4, 4, 4, 4, - 4, 4, 0, 1, 1, 3, 2, 3, 3, 4, - 3, 5, 5, 4, 4, 4, 2, 2, 2, 6, - 2, 4, 4, 4, 5, 7, 6, 3, 5, 4, - 2, 4, 3, 2, 4, 5, 6, 2, 6, 6, - 3, 3, 3, 0, 1, 1, 1, 0, 2, 2, - 0, 2, 2, 0, 1, 1, 2, 1, 1, 1, - 2, 4, 4, 1, 1, 2, 3, 4, 4, 5, - 3, 1, 1, 3, 3, 1, 1, 1, 1, 0, - 3, 1, 1, 2, 0, 2, 0, 2, 1, 2, - 2, 0, 1, 0, 1, 1, 0, 1, 1, 0, - 1, 3, 5, 1, 1, 3, 5, 1, 2, 3, - 5, 2, 2, 6, 0, 1, 0, 3, 0, 1, - 0, 2, 2, 4, 1, 2, 2, 2, 2, 2, - 0, 2, 1, 3, 3, 1, 3, 0, 1, 2, - 1, 1, 1, 1, 1, 3, 1, 1, 1, 4, - 1, 3, 2, 2, 4, 2, 6, 1, 4, 6, - 3, 2, 0, 3, 0, 3, 1, 3, 1, 3, - 4, 4, 4, 3, 2, 4, 0, 1, 0, 2, - 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, - 3, 2, 3, 2, 2, 3, 2, 1, 1, 3, - 3, 0, 5, 5, 5, 0, 2, 1, 3, 3, - 2, 3, 1, 2, 0, 3, 1, 1, 3, 3, - 4, 4, 5, 3, 4, 5, 6, 2, 1, 2, - 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 0, 2, 1, 1, 1, 3, 1, 3, 0, - 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, - 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 2, 2, 2, 3, 1, 1, 1, 1, 1, 1, - 5, 6, 6, 6, 5, 5, 5, 6, 5, 5, - 6, 5, 5, 5, 5, 6, 5, 5, 5, 4, - 4, 5, 5, 5, 5, 5, 4, 4, 4, 4, - 4, 4, 4, 3, 6, 6, 6, 8, 8, 8, - 8, 4, 6, 7, 7, 7, 9, 4, 7, 5, - 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 8, 8, 0, 2, - 3, 4, 4, 4, 4, 4, 4, 0, 3, 4, - 7, 3, 1, 1, 2, 3, 3, 1, 2, 2, - 1, 2, 1, 2, 2, 1, 2, 0, 1, 0, - 2, 1, 2, 4, 0, 2, 1, 3, 5, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 0, 3, 1, 3, 1, 0, 2, 1, 0, 3, - 1, 3, 2, 0, 1, 1, 0, 2, 4, 4, - 1, 1, 0, 2, 4, 2, 4, 1, 3, 5, - 4, 6, 0, 3, 1, 3, 3, 5, 0, 5, - 1, 3, 1, 2, 3, 1, 1, 3, 3, 3, - 1, 3, 1, 2, 2, 3, 1, 1, 1, 1, - 1, 3, 3, 3, 1, 2, 1, 1, 1, 1, - 1, 1, 0, 1, 0, 2, 0, 3, 0, 1, - 0, 3, 1, 1, 0, 1, 1, 1, 1, 1, - 0, 1, 0, 2, 1, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 0, 2, 0, 1, 0, 4, - 0, 1, 0, 3, 0, 3, 0, 4, 0, 3, - 0, 3, 3, 1, 3, 2, 4, 1, 2, 1, - 2, 2, 2, 3, 3, 1, 1, 1, 1, 1, + 3, 2, 1, 1, 0, 3, 1, 1, 0, 1, + 5, 4, 0, 1, 1, 2, 2, 3, 2, 0, + 1, 2, 4, 3, 5, 3, 2, 2, 1, 1, + 1, 1, 1, 0, 1, 0, 1, 1, 3, 3, + 3, 3, 3, 1, 10, 11, 11, 12, 12, 3, + 3, 2, 1, 5, 1, 1, 0, 2, 2, 3, + 3, 1, 1, 2, 2, 2, 0, 1, 2, 0, + 1, 3, 1, 2, 3, 1, 1, 1, 0, 2, + 0, 2, 1, 5, 1, 3, 5, 4, 3, 5, + 3, 8, 10, 3, 3, 3, 3, 3, 5, 4, + 5, 1, 2, 2, 4, 3, 6, 5, 3, 8, + 0, 1, 2, 0, 1, 7, 1, 3, 8, 8, + 3, 3, 3, 5, 3, 5, 5, 5, 4, 4, + 4, 4, 4, 4, 4, 0, 1, 1, 3, 2, + 3, 3, 4, 3, 5, 5, 4, 4, 4, 2, + 2, 2, 6, 2, 4, 4, 4, 5, 7, 6, + 3, 5, 4, 2, 4, 3, 2, 4, 5, 6, + 2, 6, 6, 3, 3, 3, 0, 1, 1, 1, + 0, 2, 2, 0, 2, 2, 0, 1, 1, 2, + 1, 1, 1, 2, 4, 4, 1, 1, 2, 3, + 4, 4, 5, 3, 1, 1, 3, 3, 1, 1, + 1, 1, 0, 3, 1, 1, 2, 0, 2, 0, + 2, 1, 2, 2, 0, 1, 0, 1, 1, 0, + 1, 1, 0, 1, 3, 5, 1, 1, 3, 5, + 1, 2, 3, 5, 2, 2, 6, 0, 1, 0, + 3, 0, 1, 0, 2, 2, 4, 1, 2, 2, + 2, 2, 2, 0, 2, 1, 3, 3, 1, 3, + 0, 1, 2, 1, 1, 1, 1, 1, 3, 1, + 1, 1, 4, 1, 3, 2, 2, 4, 2, 6, + 1, 4, 6, 3, 2, 0, 3, 0, 3, 1, + 3, 1, 3, 4, 4, 4, 3, 2, 4, 0, + 1, 0, 2, 0, 1, 1, 1, 1, 1, 2, + 2, 1, 2, 3, 2, 3, 2, 2, 3, 2, + 1, 1, 3, 3, 0, 5, 5, 5, 0, 2, + 1, 3, 3, 2, 3, 1, 2, 0, 3, 1, + 1, 3, 3, 4, 4, 5, 3, 4, 5, 6, + 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 1, 1, 1, 3, + 1, 3, 0, 1, 1, 3, 1, 3, 1, 1, + 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 2, 2, 2, 3, 1, 1, 1, + 1, 1, 1, 5, 6, 6, 6, 5, 5, 5, + 6, 5, 5, 6, 5, 5, 5, 5, 6, 5, + 5, 5, 4, 4, 5, 5, 5, 5, 5, 4, + 4, 4, 4, 4, 4, 4, 3, 6, 6, 6, + 8, 8, 8, 8, 4, 6, 7, 7, 7, 9, + 4, 7, 5, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 8, + 8, 0, 2, 3, 4, 4, 4, 4, 4, 4, + 0, 3, 4, 7, 3, 1, 1, 2, 3, 3, + 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, + 0, 1, 0, 2, 1, 2, 4, 0, 2, 1, + 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 0, 3, 1, 3, 1, 0, 2, + 1, 0, 3, 1, 3, 2, 0, 1, 1, 0, + 2, 4, 4, 1, 1, 0, 2, 4, 2, 4, + 1, 3, 5, 4, 6, 0, 3, 1, 3, 3, + 5, 0, 5, 1, 3, 1, 2, 3, 1, 1, + 3, 3, 3, 1, 3, 1, 2, 2, 3, 1, + 1, 1, 1, 1, 3, 3, 3, 1, 2, 1, + 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 3, 1, 1, 0, 1, 1, + 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, + 3, 1, 1, 1, 1, 1, 1, 0, 2, 0, + 1, 0, 4, 0, 1, 0, 3, 0, 3, 0, + 4, 0, 3, 0, 3, 3, 1, 3, 2, 4, + 1, 2, 1, 2, 2, 2, 3, 3, 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, @@ -5296,571 +5291,571 @@ 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, 1, } var yyChk = [...]int{ - -1000, -333, -1, -3, -8, -9, -10, -11, -12, -14, + -1000, -334, -1, -3, -8, -9, -10, -11, -12, -14, -50, -15, -16, -17, -56, -57, -58, -62, -63, -64, -60, -59, -23, -26, -18, -66, -27, -28, -29, -30, -31, -32, -33, -34, -35, -4, 6, 7, -70, 9, 10, 30, -52, 138, -51, 141, 140, 176, 142, 169, - 64, 292, -65, 295, 296, -338, -206, 221, 222, 20, - 37, 297, 299, 31, 32, 190, 238, 240, 265, -5, - -88, -6, 8, 390, 139, 293, 171, 170, 26, 439, - -334, 68, 500, -150, 15, -67, -339, -67, -67, -67, + 64, 293, -65, 296, 297, -339, -206, 221, 222, 20, + 37, 298, 300, 31, 32, 190, 238, 240, 265, -5, + -88, -6, 8, 391, 139, 294, 171, 170, 26, 440, + -335, 68, 501, -150, 15, -67, -340, -67, -67, -67, -67, -67, -261, -204, 106, 68, 23, -199, 150, 87, - 381, 146, -207, 234, 236, -197, -198, 198, 208, 44, - 157, 156, 147, 234, 147, 148, 150, 381, 146, 183, - 182, 234, 236, 147, -106, -219, 72, -209, 160, 450, - 259, 436, 246, 195, 292, 306, 308, 300, 335, 323, - 437, 451, 161, 216, 145, 321, 324, 368, 159, 249, - 209, 272, 452, 357, 363, 219, 295, 377, 453, 162, - 213, 215, 214, 203, 220, 36, 172, 319, 255, 312, - 224, 198, 454, 444, 310, 28, 193, 455, 283, 365, - 340, 284, 258, 456, 441, 253, 364, 315, 311, 265, - 163, 157, 285, 457, 341, 345, 458, 369, 239, 286, - 459, 460, 461, 149, 245, 304, 305, 462, 199, 371, - 250, 339, 33, 158, 438, 48, 180, 372, 38, 343, - 37, 349, 463, 282, 338, 333, 350, 464, 465, 466, - 467, 263, 261, 262, 264, 337, 303, 332, 211, 53, - 144, 347, 346, 348, 212, 367, 328, 326, 468, 469, - 254, 164, 470, 471, 313, 18, 472, 473, 375, 175, - 256, 257, 42, 474, 475, 476, 110, 477, 478, 479, - 366, 342, 344, 197, 114, 316, 154, 480, 260, 269, - 440, 243, 111, 373, 309, 482, 288, 299, 179, 174, - 376, 278, 483, 222, 484, 485, 486, 166, 487, 237, - 236, 296, 270, 112, 297, 359, 217, 488, 489, 490, - 491, 207, 192, 379, 370, 52, 221, 354, 492, 273, - 289, 302, 156, 223, 493, 247, 293, 43, 7, 210, - 251, 360, 271, 218, 208, 330, 181, 494, 495, 317, - 318, 336, 301, 331, 294, 184, 176, 109, 378, 355, - 442, 234, 290, 325, 322, 187, 329, 496, 150, 497, - 188, 298, 374, 248, 320, 356, 147, 131, 324, 368, - 138, 358, 359, 365, -255, 366, 182, 185, -223, 147, - -192, 357, 239, 260, 411, 188, 189, 148, 149, 33, - 370, 369, 361, -219, 151, 298, -76, 142, 177, -106, - -47, 72, 223, -47, 30, 72, 72, 36, 72, 297, - 360, 360, 75, 440, 191, 21, -325, -306, 269, -324, - -304, 139, 138, 10, 140, 274, 275, 276, 148, 8, - 31, 481, 165, 277, 278, 6, 169, 279, 280, 183, - 9, 281, -309, 74, 72, -209, 21, -325, -306, 269, - -201, -200, 291, 349, 6, -69, 5, -188, 152, 294, - -87, 449, -92, -221, -219, -210, 74, 407, 408, 409, - 410, 411, 424, 425, 426, 412, 413, 427, 428, 429, - 414, 415, 430, 431, 433, 434, 432, 186, 418, 417, - 416, 419, 420, 51, 422, 421, 423, 81, -3, -167, - 17, 16, -73, 54, 55, -68, -81, 122, -83, -219, - -114, 89, -120, 29, 72, -209, 24, -119, -210, -115, - -142, -141, -95, 131, 132, 133, 120, 121, 128, 90, - 134, -127, -125, -126, -128, -130, -131, 74, 73, 82, - 75, 76, 77, 78, 83, 407, 408, 409, 410, 411, - 424, 425, 426, 412, 413, 427, 428, 429, 414, 415, - 430, 431, 433, 434, 432, 418, 417, 416, 419, 420, - 422, 421, 423, 84, 85, -211, -139, -334, 58, 59, - 177, 146, 391, 392, 393, 394, 395, 435, 167, 399, - 92, 47, 380, 389, 388, 387, 385, 386, 382, 384, - 383, 401, 402, 153, 381, 126, 390, -188, -188, 11, - -99, -100, -106, -109, -219, -177, 294, -184, -181, 369, - 370, -182, -185, -179, -142, 349, 478, 479, 368, 324, - 367, -211, -219, -2, -5, 6, -106, -262, -250, -253, - -212, 162, -276, -211, -208, 159, 72, -209, 252, 143, - 168, 139, 88, 443, 23, 25, 242, 352, 407, 91, - 131, 408, 409, 410, 16, 20, 92, 130, 81, 391, - 191, 411, 138, 62, 406, 382, 384, 380, 381, 358, - 29, 10, 26, 170, 202, 22, 124, 140, 95, 96, - 97, 173, 274, 275, 24, 171, 266, 85, 276, 167, - 115, 19, 65, 11, 185, 238, 13, 405, 113, 14, - 235, 153, 152, 108, 200, 148, 60, 8, 134, 27, - 105, 56, 412, 413, 446, 45, 190, 447, 58, 106, - 17, 385, 386, 31, 435, 414, 178, 448, 415, 126, - 205, 63, 50, 241, 89, 83, 34, 86, 66, 287, - 87, 15, 201, 61, 403, 244, 267, 182, 481, 204, - 449, 165, 107, 277, 141, 390, 268, 240, 59, 146, - 6, 400, 30, 169, 279, 186, 418, 417, 416, 419, - 206, 57, 393, 394, 420, 280, 498, 147, 94, 401, - 402, 151, 183, 84, 5, 44, 32, 9, 281, 64, - 67, 387, 388, 389, 47, 51, 422, 421, 423, 93, - 12, 404, 439, 148, -106, 390, -195, 153, -195, 183, - 182, -195, -195, 147, 98, -53, -106, -308, -303, -309, - -194, 153, -211, -194, -194, -194, -194, -194, -194, -194, - -106, 135, -106, 72, 30, -193, 106, 12, 381, 146, - 147, 183, 150, -257, 11, 108, 186, 186, 186, 187, - 186, -191, 360, 362, 184, 363, 364, 12, -84, 106, - 19, -334, -167, -167, 72, 297, 151, -61, -3, -11, - -9, -10, -3, 98, 30, 30, 74, 51, 30, -42, - -41, -43, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 30, -287, 68, -245, 349, 72, - -300, -301, -106, 75, 75, 66, 66, 69, 151, 69, - 66, -326, 270, 68, -326, 236, 270, 271, 208, 234, - 150, -326, -326, 236, -326, -326, -326, -326, -326, 360, - -326, -326, -326, 272, 273, -326, 358, 150, -326, -326, - -326, -326, -326, 71, 66, 69, 260, 66, 11, 66, - -274, -273, -272, 131, 283, 284, 285, 286, 282, 260, - 287, 289, 186, 290, -67, -7, -5, -334, 21, 22, - 147, 373, 69, -87, -170, -334, -335, 70, -168, 19, - 31, -123, 75, 78, -151, -154, -83, -219, 50, -71, - 21, 22, 80, 11, -214, 88, 87, 105, -213, 23, - 72, -209, -210, 74, 135, -83, -117, 108, 89, 106, - 107, 91, 117, 116, 127, 120, 121, 122, 123, 124, - 125, 126, 118, 119, 130, 98, 99, 100, 101, 102, - 103, 104, -189, -334, -95, -334, 136, 137, -120, -120, - -120, -120, -120, -120, -120, -120, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -3, -134, -83, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -145, -83, -334, -337, -129, -334, -337, -129, -337, - -129, -337, -334, -337, -129, -337, -129, -337, -337, -129, - -337, -334, -334, -334, -334, -334, -334, -108, 27, -106, - -86, -89, -90, -91, -110, -94, -334, -106, -95, -106, - -99, -336, 69, 11, 67, -336, 69, 135, 69, -178, - -183, 371, 373, 294, -182, -182, -218, -211, 74, 29, - 98, 30, 135, -150, -67, 70, 69, -253, 162, 159, - -225, -229, -231, -230, -232, -227, -228, 321, 324, 328, - 326, 322, 327, 131, 325, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 30, 172, 317, 318, - 319, 320, 341, 342, 343, 344, 345, 346, 347, 348, - 300, 323, 437, 301, 302, 303, 304, 305, 306, 308, - 309, 310, 311, 312, 313, 314, 315, 72, -210, -276, - 68, -211, 23, 150, 72, 89, 72, 72, 72, -312, - -311, -303, -306, -195, 72, 69, 151, 69, 151, 71, - -99, 24, 66, -101, -106, 72, 72, 72, 72, -305, - -303, -306, -220, -219, -208, -193, 74, -83, -195, -195, - -106, -106, -106, -106, -193, -193, -193, -193, -190, 11, - 108, 11, -190, -190, -83, -120, -303, 383, 122, 72, - 72, 297, 72, -42, -42, 74, -42, 69, 98, -42, - 70, -134, -286, 499, 69, -302, 23, 373, 374, 350, - -328, 147, 185, 182, -328, -324, 278, -305, -304, -303, - -326, -327, -211, -326, -326, -326, 360, -326, -326, -326, - -326, -326, -326, -326, -326, -309, -328, 238, 69, -328, - -305, -303, -272, 282, 282, 282, 282, 282, -73, -3, - -106, 374, 375, -92, 23, -169, -212, 9, 108, 69, - 18, 69, -166, 25, 26, 135, -121, 51, 75, 78, - -196, 49, -106, -83, -83, -132, 83, 89, 84, 85, - -213, 122, -220, -212, -208, -120, -133, -139, -95, 79, - 108, 106, 107, 91, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, -120, -222, - 72, 74, 72, -119, -119, -211, -71, -79, -82, 122, - -83, -219, -79, -79, -71, -335, -335, -82, -79, -79, - -79, -82, -79, -71, -71, -79, -335, -335, -335, -335, - -79, -79, -79, -79, -71, -79, -79, -79, -71, -335, - 69, -335, -3, -79, -79, -79, -335, -83, -83, -142, - 74, -79, -142, 74, -79, -120, 396, 397, 398, -79, - -79, -71, -143, -144, 93, -142, -335, -120, -211, -211, - -79, -80, -79, -79, -79, -173, 110, -106, 30, 69, - -102, -104, -103, -105, 56, 60, 62, 57, 58, 59, - 63, -204, -86, -93, 47, -334, -111, 110, -112, 23, - -221, 64, 152, 65, -173, 67, -86, -106, -86, -109, - -219, 122, -181, -184, 69, 372, 374, 375, -178, -239, - 130, 66, 86, -83, -212, -220, -167, -73, -263, -264, - -265, -212, 74, 75, -250, -251, -252, -253, -266, 162, - -275, 154, 156, 44, -254, 163, 148, 45, -226, -240, - 355, -233, 68, -233, -233, 329, 321, 324, 322, -233, - -233, -233, -233, -233, -238, 324, -238, -238, -238, -238, - 322, 68, 68, -233, -233, -233, -242, 68, -242, 316, - -243, 68, -243, -243, -243, -243, -276, -276, -83, -215, - 67, -164, -106, 24, -48, 195, 168, 68, -307, 69, - 29, -313, 235, -106, -106, -106, -303, -303, -309, -283, - 166, 161, -106, 69, 69, 72, 72, -258, 11, 108, - -193, -219, -219, -106, -122, 23, -193, -77, 173, 67, - -337, -335, 72, -41, -119, 70, -107, 27, 74, -301, - -221, 349, 374, -329, 122, -211, -329, -332, 439, 151, - 70, 69, -326, -329, 256, 238, -329, 11, -71, -335, - -55, -54, 143, 140, 141, 144, 145, -279, 352, 139, - 179, -94, -334, -335, 69, 135, 52, -123, -123, -154, - -187, 19, 11, 47, 47, -72, 57, 83, 84, 85, - 135, -334, -133, -120, -120, -120, -77, 88, -335, -79, - 69, -335, 135, -335, -335, -79, -155, 403, -155, -335, - -335, -335, -335, -335, -335, -79, -79, -335, -155, -155, - -155, -155, -335, -335, -335, -335, -79, -335, -335, -335, - -80, -83, -335, -335, -335, -335, 69, 67, 23, 11, - 11, -335, 11, 11, -335, -335, 11, -120, -120, -120, - -335, -335, -79, -146, -144, 95, -83, -335, -335, 69, - 69, -335, -335, -335, -335, -118, 30, 47, -334, -3, - -334, -176, -180, -142, -208, -89, -90, -90, -89, -90, - 56, 56, 56, 61, 56, 61, 56, -103, -221, -335, - -335, -138, 194, -334, 34, -221, -112, 148, 148, 148, - -113, 12, -86, -113, -113, 135, -183, -186, 376, 373, - 379, 72, 74, 135, -168, 69, -265, 98, -253, 68, - 72, -259, -210, 45, -254, 148, 45, -254, -259, 72, - -259, 45, 83, 89, -236, -237, -244, -247, -234, 29, - 66, 352, 154, 45, 44, 81, -241, 356, 75, -238, - -238, -233, -233, -233, 329, -233, -238, -239, 30, -239, - -239, -239, -239, -238, -248, 74, -248, 75, -242, 75, - 70, 66, -211, -3, 23, -49, 8, 9, 10, -288, - -289, -290, 72, 108, 200, 201, -316, 268, -311, 236, - 245, 88, 16, 439, 151, 151, -106, -303, -113, 72, - 72, -190, -193, 34, -120, -306, 188, 189, -173, 147, - -302, 151, 135, 135, 151, 259, -305, -211, 11, 11, - 256, 11, -305, -196, 69, -205, -254, -285, -252, -253, - -284, 155, 162, 163, -205, 162, 159, -254, 163, 154, - 155, -202, -254, 151, 23, -205, -205, -260, 98, -205, - 110, -212, -212, 53, -106, -78, -165, 122, -212, -80, - -77, 88, -120, -335, -82, -156, -155, 122, -220, -156, - -156, -335, -211, -160, -334, -155, -156, -156, -155, -155, - -155, -335, -335, -155, -156, -156, -156, -156, -335, -156, - -156, -156, -335, -224, 131, 321, 172, 319, 312, 339, - 326, 354, 317, 355, -222, -224, -120, -120, -120, -120, - -120, 11, 11, 11, 436, -150, 97, -83, 94, -120, - -120, -175, 66, -176, -137, -140, -139, -334, -3, -335, - -169, 6, 439, -174, -211, -113, 69, 98, 98, -97, - -96, 66, 67, -98, 66, -96, 56, 56, -172, 68, - 69, -139, -334, -174, -120, -112, -334, -334, -334, -150, - -83, -113, 373, 377, 378, -264, -265, -268, -267, -211, - -210, 154, -275, 44, -275, -259, -259, 68, 83, -120, - 9, 45, 45, 74, 70, -239, -239, -238, -233, -239, - 72, 131, -239, 70, 69, 70, 69, 70, 69, -116, - 455, 89, -106, -164, -164, 66, 70, 69, -225, 72, - 72, 72, -319, 439, 241, -317, -315, 247, 248, 249, - 250, 251, -306, 246, -313, 243, 74, 72, -106, -303, - -193, -120, -238, -106, -305, 122, 122, -211, -305, 256, - -331, 439, -305, -305, 11, -305, -72, -54, 68, -249, - 72, -210, -259, -198, 154, 72, 72, 72, -210, 72, - -210, -211, 45, 45, 72, -106, -211, -249, 72, -83, - -211, -211, 135, -113, 11, 69, -81, -335, -120, -156, - 135, -156, -216, 72, -156, -156, -156, -335, -233, -233, - -233, -243, -233, 305, -233, 305, -335, -335, 19, 19, - 19, 19, -335, -120, -120, -120, -334, -75, 400, -83, - 69, 69, 28, -175, 69, -335, -335, 47, -335, -335, - 69, -150, -180, -83, -83, -83, 68, -83, -171, -211, - 194, -335, -112, -204, -171, -171, -171, -167, 70, 69, - -233, -233, 45, -256, -254, -171, -126, -239, -238, 74, - -238, 75, 75, 455, 68, -3, -106, -291, -292, -293, - 81, 438, 89, 202, 203, 164, 204, 205, 206, -290, - -225, -225, -225, -322, -323, -321, 244, 266, 267, 252, - -320, -318, 261, 262, 263, 264, 88, 74, 74, 74, - -314, 235, 88, 244, 16, 23, -294, -191, -331, -331, - 238, -305, -78, -249, -152, 167, 168, -225, -225, -215, - -256, 45, 72, -203, 151, 23, 151, -152, -249, 30, - 140, 27, -212, -147, 13, -86, -165, -165, 122, -136, - 110, -238, 72, -120, -120, -120, -120, -335, -335, -335, - -120, -335, 74, -120, -120, 45, -140, -137, 47, -3, - -334, -211, -167, -171, 70, 69, -139, -111, -221, -335, - -335, -335, -270, -269, 67, 158, 81, -267, -166, -166, - -259, 70, -239, -239, 70, 70, -268, -164, 19, -164, - -293, 74, 206, 202, 206, 206, 206, 206, 207, -310, - 81, 242, -321, 253, 460, 237, 268, 75, 75, 109, - 31, 32, -318, 75, 75, 75, 75, -315, 16, 439, - -313, 243, 74, 74, -295, 38, -297, 39, -330, 23, - -330, 256, 11, 70, 72, -226, -226, 68, -259, 68, - 72, -211, -152, 29, 29, -334, -148, 14, 16, -113, - -81, -150, 16, -335, -335, -335, -335, -74, 108, 439, - -335, -335, 9, -137, -3, 70, -211, -112, -269, 72, - -260, 74, 165, 70, 193, -20, -3, -9, -10, -11, - -12, -14, -50, -15, -16, -21, -22, -17, -56, -57, - -65, -63, -64, -60, -59, -25, -23, -26, -18, -27, - -28, -29, -33, -34, -24, -35, 92, 153, 224, 292, - 36, 36, 198, 199, 74, 74, 29, 254, 134, 29, - 75, 134, 406, 243, 74, 72, 244, -235, 152, -298, - 43, -296, -246, 42, 16, -303, -86, -268, -215, -268, - -120, -277, -278, 110, -158, 404, -149, -83, -135, -85, - -83, -147, -165, -161, 112, 111, -134, -335, 437, 63, - 440, -176, -335, 75, -106, -271, -270, 194, -164, -83, - -83, 72, -46, -217, 227, 228, 229, -212, -36, -20, - 75, 29, 75, 29, 257, 244, 23, -172, 75, -297, - 16, -299, 40, 41, 74, 439, -113, 70, 68, 70, - -335, 69, -211, -157, -159, -211, 69, -148, -335, -162, - 91, -163, 109, 406, -124, 75, 134, -162, 53, 438, - 441, 68, -153, 196, 197, -37, -38, 93, 94, 225, - 226, 230, -225, 69, 500, 255, 255, 74, 38, 74, - 16, 16, 236, -147, -271, -268, -271, -278, 47, 69, - 23, -85, -158, -163, 114, 115, 194, 114, 115, -119, - 53, -171, -164, 72, 72, 97, 95, -38, -83, -36, - 19, 19, 19, 29, -212, 97, -20, 74, 74, 29, - 241, 21, -306, -148, 70, 180, -159, -160, 88, -211, - 439, 70, -13, -19, -12, -9, -10, -11, 292, 92, - -36, 94, 500, -47, 75, -3, -45, -44, 75, -47, - 232, 89, 233, 72, -120, 258, -158, -271, 181, -163, - 440, -281, -282, 66, -164, -36, 500, -36, 97, 95, - -39, -40, 96, -20, 69, 231, -306, -334, 441, -282, - 66, -281, 66, 10, 9, 500, 97, 500, 153, -36, - 97, 95, -40, -83, -44, -120, 178, -280, 166, 161, - 164, 30, -280, 97, 92, 500, 153, -36, 94, -335, - -335, 160, 29, 83, 97, 500, -36, 153, 97, 500, - 153, + 382, 146, -207, 234, 236, -197, -198, 198, 208, 44, + 157, 156, 147, 234, 147, 148, 150, 382, 146, 183, + 182, 234, 236, 147, -106, -219, 72, -209, 160, 451, + 259, 437, 246, 195, 293, 307, 309, 301, 336, 324, + 438, 452, 161, 216, 145, 292, 322, 325, 369, 159, + 249, 209, 272, 453, 358, 364, 219, 296, 378, 454, + 162, 213, 215, 214, 203, 220, 36, 172, 320, 255, + 313, 224, 198, 455, 445, 311, 28, 193, 456, 283, + 366, 341, 284, 258, 457, 442, 253, 365, 316, 312, + 265, 163, 157, 285, 458, 342, 346, 459, 370, 239, + 286, 460, 461, 462, 149, 245, 305, 306, 463, 199, + 372, 250, 340, 33, 158, 439, 48, 180, 373, 38, + 344, 37, 350, 464, 282, 339, 334, 351, 465, 466, + 467, 468, 263, 261, 262, 264, 338, 304, 333, 211, + 53, 144, 348, 347, 349, 212, 368, 329, 327, 469, + 470, 254, 164, 471, 472, 314, 18, 473, 474, 376, + 175, 256, 257, 42, 475, 476, 477, 110, 478, 479, + 480, 367, 343, 345, 197, 114, 317, 154, 481, 260, + 269, 441, 243, 111, 374, 310, 483, 288, 300, 179, + 174, 377, 278, 484, 222, 485, 486, 487, 166, 488, + 237, 236, 297, 270, 112, 298, 360, 217, 489, 490, + 491, 492, 207, 192, 380, 371, 52, 221, 355, 493, + 273, 289, 303, 156, 223, 494, 247, 294, 43, 7, + 210, 251, 361, 271, 218, 208, 331, 181, 495, 496, + 318, 319, 337, 302, 332, 295, 184, 176, 109, 379, + 356, 443, 234, 290, 326, 323, 187, 330, 497, 150, + 498, 188, 299, 375, 248, 321, 357, 147, 131, 325, + 369, 138, 359, 360, 366, -255, 367, 182, 185, -223, + 147, -192, 358, 239, 260, 412, 188, 189, 148, 149, + 33, 371, 370, 362, -219, 151, 299, -76, 142, 177, + -106, -47, 72, 223, -47, 30, 72, 72, 36, 72, + 298, 361, 361, 75, 441, 191, 21, -326, -307, 269, + -325, -305, 139, 138, 10, 140, 274, 275, 276, 148, + 8, 31, 482, 165, 277, 278, 6, 169, 279, 280, + 183, 9, 281, -310, 74, 72, -209, 21, -326, -307, + 269, -201, -200, 291, 350, 6, -69, 5, -188, 152, + 295, -87, 450, -92, -221, -219, -210, 74, 408, 409, + 410, 411, 412, 425, 426, 427, 413, 414, 428, 429, + 430, 415, 416, 431, 432, 434, 435, 433, 186, 419, + 418, 417, 420, 421, 51, 423, 422, 424, 81, -3, + -167, 17, 16, -73, 54, 55, -68, -81, 122, -83, + -219, -114, 89, -120, 29, 72, -209, 24, -119, -210, + -115, -142, -141, -95, 131, 132, 133, 120, 121, 128, + 90, 134, -127, -125, -126, -128, -130, -131, 74, 73, + 82, 75, 76, 77, 78, 83, 408, 409, 410, 411, + 412, 425, 426, 427, 413, 414, 428, 429, 430, 415, + 416, 431, 432, 434, 435, 433, 419, 418, 417, 420, + 421, 423, 422, 424, 84, 85, -211, -139, -335, 58, + 59, 177, 146, 392, 393, 394, 395, 396, 436, 167, + 400, 92, 47, 381, 390, 389, 388, 386, 387, 383, + 385, 384, 402, 403, 153, 382, 126, 391, -188, -188, + 11, -99, -100, -106, -109, -219, -177, 295, -184, -181, + 370, 371, -182, -185, -179, -142, 350, 479, 480, 369, + 325, 368, -211, -219, -2, -5, 6, -106, -262, -250, + -253, -212, 162, -277, -211, -208, 159, 72, -209, 252, + 143, 168, 139, 88, 444, 23, 25, 242, 353, 408, + 91, 131, 409, 410, 411, 16, 20, 92, 130, 81, + 392, 191, 412, 138, 62, 407, 383, 385, 381, 382, + 359, 29, 10, 26, 170, 202, 22, 124, 140, 95, + 96, 97, 173, 274, 275, 24, 171, 266, 85, 276, + 167, 115, 19, 65, 11, 185, 238, 13, 406, 113, + 14, 235, 153, 152, 108, 200, 148, 60, 8, 134, + 27, 105, 56, 413, 414, 447, 45, 190, 448, 58, + 106, 17, 386, 387, 31, 436, 415, 178, 449, 416, + 126, 205, 63, 50, 241, 89, 83, 34, 86, 66, + 287, 87, 15, 201, 61, 404, 244, 267, 182, 482, + 204, 450, 165, 107, 277, 141, 391, 268, 240, 59, + 146, 6, 401, 30, 169, 279, 186, 419, 418, 417, + 420, 206, 57, 394, 395, 421, 280, 499, 147, 94, + 402, 403, 151, 183, 84, 5, 44, 32, 9, 281, + 64, 67, 388, 389, 390, 47, 51, 423, 422, 424, + 93, 12, 405, 440, 148, -106, 391, -195, 153, -195, + 183, 182, -195, -195, 147, 98, -53, -106, -309, -304, + -310, -194, 153, -211, -194, -194, -194, -194, -194, -194, + -194, -106, 135, -106, 72, 30, -193, 106, 12, 382, + 146, 147, 183, 150, -257, 11, 108, 186, 186, 186, + 187, 186, -191, 361, 363, 184, 364, 365, 12, -84, + 106, 19, -335, -167, -167, 72, 298, 151, -61, -3, + -11, -9, -10, -3, 98, 30, 30, 74, 51, 30, + -42, -41, -43, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 30, -288, 68, -245, 350, + 72, -301, -302, -106, 75, 75, 66, 66, 69, 151, + 69, 66, -327, 270, 68, -327, 236, 270, 271, 208, + 234, 150, -327, -327, 236, -327, -327, -327, -327, -327, + 361, -327, -327, -327, 272, 273, -327, 359, 150, -327, + -327, -327, -327, -327, 71, 66, 69, 260, 66, 11, + 66, -274, -273, -272, 131, 283, 284, 285, 286, 282, + 260, 287, 288, 289, 186, 290, -67, -7, -5, -335, + 21, 22, 147, 374, 69, -87, -170, -335, -336, 70, + -168, 19, 31, -123, 75, 78, -151, -154, -83, -219, + 50, -71, 21, 22, 80, 11, -214, 88, 87, 105, + -213, 23, 72, -209, -210, 74, 135, -83, -117, 108, + 89, 106, 107, 91, 117, 116, 127, 120, 121, 122, + 123, 124, 125, 126, 118, 119, 130, 98, 99, 100, + 101, 102, 103, 104, -189, -335, -95, -335, 136, 137, + -120, -120, -120, -120, -120, -120, -120, -120, -335, -335, + -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, + -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, + -335, -335, -335, -335, -335, -335, -335, -3, -134, -83, + -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, + -335, -335, -335, -145, -83, -335, -338, -129, -335, -338, + -129, -338, -129, -338, -335, -338, -129, -338, -129, -338, + -338, -129, -338, -335, -335, -335, -335, -335, -335, -108, + 27, -106, -86, -89, -90, -91, -110, -94, -335, -106, + -95, -106, -99, -337, 69, 11, 67, -337, 69, 135, + 69, -178, -183, 372, 374, 295, -182, -182, -218, -211, + 74, 29, 98, 30, 135, -150, -67, 70, 69, -253, + 162, 159, -225, -229, -231, -230, -232, -227, -228, 322, + 325, 329, 327, 323, 328, 131, 326, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, 30, 172, + 318, 319, 320, 321, 342, 343, 344, 345, 346, 347, + 348, 349, 301, 324, 438, 302, 303, 304, 305, 306, + 307, 309, 310, 311, 312, 313, 314, 315, 316, 72, + -210, -277, 68, -211, 23, 150, 72, 89, 72, 72, + 72, -313, -312, -304, -307, -195, 72, 69, 151, 69, + 151, 71, -99, 24, 66, -101, -106, 72, 72, 72, + 72, -306, -304, -307, -220, -219, -208, -193, 74, -83, + -195, -195, -106, -106, -106, -106, -193, -193, -193, -193, + -190, 11, 108, 11, -190, -190, -83, -120, -304, 384, + 122, 72, 72, 298, 72, -42, -42, 74, -42, 69, + 98, -42, 70, -134, -287, 500, 69, -303, 23, 374, + 375, 351, -329, 147, 185, 182, -329, -325, 278, -306, + -305, -304, -327, -328, -211, -327, -327, -327, 361, -327, + -327, -327, -327, -327, -327, -327, -327, -310, -329, 238, + 69, -329, -306, -304, -272, 282, 282, 282, 282, 282, + 282, -73, -3, -106, 375, 376, -92, 23, -169, -212, + 9, 108, 69, 18, 69, -166, 25, 26, 135, -121, + 51, 75, 78, -196, 49, -106, -83, -83, -132, 83, + 89, 84, 85, -213, 122, -220, -212, -208, -120, -133, + -139, -95, 79, 108, 106, 107, 91, -120, -120, -120, + -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, + -120, -120, -222, 72, 74, 72, -119, -119, -211, -71, + -79, -82, 122, -83, -219, -79, -79, -71, -336, -336, + -82, -79, -79, -79, -82, -79, -71, -71, -79, -336, + -336, -336, -336, -79, -79, -79, -79, -71, -79, -79, + -79, -71, -336, 69, -336, -3, -79, -79, -79, -336, + -83, -83, -142, 74, -79, -142, 74, -79, -120, 397, + 398, 399, -79, -79, -71, -143, -144, 93, -142, -336, + -120, -211, -211, -79, -80, -79, -79, -79, -173, 110, + -106, 30, 69, -102, -104, -103, -105, 56, 60, 62, + 57, 58, 59, 63, -204, -86, -93, 47, -335, -111, + 110, -112, 23, -221, 64, 152, 65, -173, 67, -86, + -106, -86, -109, -219, 122, -181, -184, 69, 373, 375, + 376, -178, -239, 130, 66, 86, -83, -212, -220, -167, + -73, -263, -264, -265, -212, 74, 75, -250, -251, -252, + -253, -266, 162, -276, 154, 156, 44, -254, 163, 148, + 45, -226, -240, 356, -233, 68, -233, -233, 330, 322, + 325, 323, -233, -233, -233, -233, -233, -238, 325, -238, + -238, -238, -238, 323, 68, 68, -233, -233, -233, -242, + 68, -242, 317, -243, 68, -243, -243, -243, -243, -277, + -277, -83, -215, 67, -164, -106, 24, -48, 195, 168, + 68, -308, 69, 29, -314, 235, -106, -106, -106, -304, + -304, -310, -284, 166, 161, -106, 69, 69, 72, 72, + -258, 11, 108, -193, -219, -219, -106, -122, 23, -193, + -77, 173, 67, -338, -336, 72, -41, -119, 70, -107, + 27, 74, -302, -221, 350, 375, -330, 122, -211, -330, + -333, 440, 151, 70, 69, -327, -330, 256, 238, -330, + 11, -275, 19, -71, -336, -55, -54, 143, 140, 141, + 144, 145, -280, 353, 139, 179, -94, -335, -336, 69, + 135, 52, -123, -123, -154, -187, 19, 11, 47, 47, + -72, 57, 83, 84, 85, 135, -335, -133, -120, -120, + -120, -77, 88, -336, -79, 69, -336, 135, -336, -336, + -79, -155, 404, -155, -336, -336, -336, -336, -336, -336, + -79, -79, -336, -155, -155, -155, -155, -336, -336, -336, + -336, -79, -336, -336, -336, -80, -83, -336, -336, -336, + -336, 69, 67, 23, 11, 11, -336, 11, 11, -336, + -336, 11, -120, -120, -120, -336, -336, -79, -146, -144, + 95, -83, -336, -336, 69, 69, -336, -336, -336, -336, + -118, 30, 47, -335, -3, -335, -176, -180, -142, -208, + -89, -90, -90, -89, -90, 56, 56, 56, 61, 56, + 61, 56, -103, -221, -336, -336, -138, 194, -335, 34, + -221, -112, 148, 148, 148, -113, 12, -86, -113, -113, + 135, -183, -186, 377, 374, 380, 72, 74, 135, -168, + 69, -265, 98, -253, 68, 72, -259, -210, 45, -254, + 148, 45, -254, -259, 72, -259, 45, 83, 89, -236, + -237, -244, -247, -234, 29, 66, 353, 154, 45, 44, + 81, -241, 357, 75, -238, -238, -233, -233, -233, 330, + -233, -238, -239, 30, -239, -239, -239, -239, -238, -248, + 74, -248, 75, -242, 75, 70, 66, -211, -3, 23, + -49, 8, 9, 10, -289, -290, -291, 72, 108, 200, + 201, -317, 268, -312, 236, 245, 88, 16, 440, 151, + 151, -106, -304, -113, 72, 72, -190, -193, 34, -120, + -307, 188, 189, -173, 147, -303, 151, 135, 135, 151, + 259, -306, -211, 11, 11, 256, 11, -306, 292, -196, + 69, -205, -254, -286, -252, -253, -285, 155, 162, 163, + -205, 162, 159, -254, 163, 154, 155, -202, -254, 151, + 23, -205, -205, -260, 98, -205, 110, -212, -212, 53, + -106, -78, -165, 122, -212, -80, -77, 88, -120, -336, + -82, -156, -155, 122, -220, -156, -156, -336, -211, -160, + -335, -155, -156, -156, -155, -155, -155, -336, -336, -155, + -156, -156, -156, -156, -336, -156, -156, -156, -336, -224, + 131, 322, 172, 320, 313, 340, 327, 355, 318, 356, + -222, -224, -120, -120, -120, -120, -120, 11, 11, 11, + 437, -150, 97, -83, 94, -120, -120, -175, 66, -176, + -137, -140, -139, -335, -3, -336, -169, 6, 440, -174, + -211, -113, 69, 98, 98, -97, -96, 66, 67, -98, + 66, -96, 56, 56, -172, 68, 69, -139, -335, -174, + -120, -112, -335, -335, -335, -150, -83, -113, 374, 378, + 379, -264, -265, -268, -267, -211, -210, 154, -276, 44, + -276, -259, -259, 68, 83, -120, 9, 45, 45, 74, + 70, -239, -239, -238, -233, -239, 72, 131, -239, 70, + 69, 70, 69, 70, 69, -116, 456, 89, -106, -164, + -164, 66, 70, 69, -225, 72, 72, 72, -320, 440, + 241, -318, -316, 247, 248, 249, 250, 251, -307, 246, + -314, 243, 74, 72, -106, -304, -193, -120, -238, -106, + -306, 122, 122, -211, -306, 256, -332, 440, -306, -306, + 11, -306, 74, -72, -54, 68, -249, 72, -210, -259, + -198, 154, 72, 72, 72, -210, 72, -210, -211, 45, + 45, 72, -106, -211, -249, 72, -83, -211, -211, 135, + -113, 11, 69, -81, -336, -120, -156, 135, -156, -216, + 72, -156, -156, -156, -336, -233, -233, -233, -243, -233, + 306, -233, 306, -336, -336, 19, 19, 19, 19, -336, + -120, -120, -120, -335, -75, 401, -83, 69, 69, 28, + -175, 69, -336, -336, 47, -336, -336, 69, -150, -180, + -83, -83, -83, 68, -83, -171, -211, 194, -336, -112, + -204, -171, -171, -171, -167, 70, 69, -233, -233, 45, + -256, -254, -171, -126, -239, -238, 74, -238, 75, 75, + 456, 68, -3, -106, -292, -293, -294, 81, 439, 89, + 202, 203, 164, 204, 205, 206, -291, -225, -225, -225, + -323, -324, -322, 244, 266, 267, 252, -321, -319, 261, + 262, 263, 264, 88, 74, 74, 74, -315, 235, 88, + 244, 16, 23, -295, -191, -332, -332, 238, -306, -78, + -249, -152, 167, 168, -225, -225, -215, -256, 45, 72, + -203, 151, 23, 151, -152, -249, 30, 140, 27, -212, + -147, 13, -86, -165, -165, 122, -136, 110, -238, 72, + -120, -120, -120, -120, -336, -336, -336, -120, -336, 74, + -120, -120, 45, -140, -137, 47, -3, -335, -211, -167, + -171, 70, 69, -139, -111, -221, -336, -336, -336, -270, + -269, 67, 158, 81, -267, -166, -166, -259, 70, -239, + -239, 70, 70, -268, -164, 19, -164, -294, 74, 206, + 202, 206, 206, 206, 206, 207, -311, 81, 242, -322, + 253, 461, 237, 268, 75, 75, 109, 31, 32, -319, + 75, 75, 75, 75, -316, 16, 440, -314, 243, 74, + 74, -296, 38, -298, 39, -331, 23, -331, 256, 11, + 70, 72, -226, -226, 68, -259, 68, 72, -211, -152, + 29, 29, -335, -148, 14, 16, -113, -81, -150, 16, + -336, -336, -336, -336, -74, 108, 440, -336, -336, 9, + -137, -3, 70, -211, -112, -269, 72, -260, 74, 165, + 70, 193, -20, -3, -9, -10, -11, -12, -14, -50, + -15, -16, -21, -22, -17, -56, -57, -65, -63, -64, + -60, -59, -25, -23, -26, -18, -27, -28, -29, -33, + -34, -24, -35, 92, 153, 224, 293, 36, 36, 198, + 199, 74, 74, 29, 254, 134, 29, 75, 134, 407, + 243, 74, 72, 244, -235, 152, -299, 43, -297, -246, + 42, 16, -304, -86, -268, -215, -268, -120, -278, -279, + 110, -158, 405, -149, -83, -135, -85, -83, -147, -165, + -161, 112, 111, -134, -336, 438, 63, 441, -176, -336, + 75, -106, -271, -270, 194, -164, -83, -83, 72, -46, + -217, 227, 228, 229, -212, -36, -20, 75, 29, 75, + 29, 257, 244, 23, -172, 75, -298, 16, -300, 40, + 41, 74, 440, -113, 70, 68, 70, -336, 69, -211, + -157, -159, -211, 69, -148, -336, -162, 91, -163, 109, + 407, -124, 75, 134, -162, 53, 439, 442, 68, -153, + 196, 197, -37, -38, 93, 94, 225, 226, 230, -225, + 69, 501, 255, 255, 74, 38, 74, 16, 16, 236, + -147, -271, -268, -271, -279, 47, 69, 23, -85, -158, + -163, 114, 115, 194, 114, 115, -119, 53, -171, -164, + 72, 72, 97, 95, -38, -83, -36, 19, 19, 19, + 29, -212, 97, -20, 74, 74, 29, 241, 21, -307, + -148, 70, 180, -159, -160, 88, -211, 440, 70, -13, + -19, -12, -9, -10, -11, 293, 92, -36, 94, 501, + -47, 75, -3, -45, -44, 75, -47, 232, 89, 233, + 72, -120, 258, -158, -271, 181, -163, 441, -282, -283, + 66, -164, -36, 501, -36, 97, 95, -39, -40, 96, + -20, 69, 231, -307, -335, 442, -283, 66, -282, 66, + 10, 9, 501, 97, 501, 153, -36, 97, 95, -40, + -83, -44, -120, 178, -281, 166, 161, 164, 30, -281, + 97, 92, 501, 153, -36, 94, -336, -336, 160, 29, + 83, 97, 501, -36, 153, 97, 501, 153, } var yyDef = [...]int{ 35, -2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -2, 704, 704, 704, 704, - 704, 704, 800, -2, 569, 0, 0, 0, 0, -2, - 677, 678, 679, 683, 684, 699, 701, 0, 326, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 495, 40, - 0, 0, 56, 57, 1108, 0, 702, 691, 692, 0, - 0, 1599, 2, 1046, 0, 713, 706, 0, 1108, 1108, - 0, 0, 87, 0, 0, 0, 801, 0, 0, 0, - 1106, 1106, 0, 1106, 1106, 0, 1121, 0, 1103, 1117, - 1118, 1119, 0, 0, 1104, 0, 1104, 1104, 1104, 1104, - 1104, 1104, 1104, 0, 626, 818, 1130, 1131, 1330, 1331, - 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, - 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, - 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, - 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, - 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, - 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, - 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, - 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, - 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, - 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, - 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, - 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, - 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, - 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, - 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, - 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, - 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, - 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, - 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, - 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, - 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, - 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, - 1562, 1563, 1564, 1565, 1566, 1567, 0, 0, 0, 670, - 0, 636, 637, 638, 0, 640, 0, 0, 0, 0, - 0, 650, 653, 657, 0, 1046, 1046, 515, 516, 517, - 674, 675, 664, 676, 0, 0, 0, 0, 0, 703, - 305, 307, 0, 327, 0, 330, 333, 1136, 685, 0, - 0, 1161, 1162, 0, 0, 0, 0, 0, 1481, 181, - 244, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 0, 183, 183, 183, 1493, 183, 0, 183, 183, 183, - 183, 183, 243, 233, 234, 235, 0, 0, 0, 1481, - 0, 496, 493, 494, 704, 0, 708, 0, 1109, 680, - 45, 0, 47, 1062, 802, 803, 804, 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, 0, 1052, - 0, 0, 716, 714, 715, 705, 0, 727, 757, 0, - 827, 0, 832, 834, -2, -2, 0, 875, 876, 877, - 878, 879, 880, 0, 0, 0, 0, 0, 0, 0, - 0, 904, 905, 906, 907, 908, 909, 1019, 1020, 1021, - 1022, 1023, 1024, 1025, 1026, 1568, 1569, 1570, 1571, 1572, - 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, - 1583, 1584, 1585, 1586, 1587, 1589, 1590, 1591, 1592, 1593, - 1595, 1596, 1597, 836, 837, 1016, 1075, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1007, 0, 978, 978, 978, 978, 978, 978, 978, 978, - 978, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 67, 69, 818, 73, 1546, 0, 1080, -2, - -2, 1082, 0, 0, 0, -2, -2, -2, -2, 1348, - -2, 1016, 0, 88, 1038, 704, 89, 0, 370, 371, - 0, 1361, 539, 1128, 1129, 1350, 1124, 1125, 1165, 1166, - 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, - 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, - 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, - 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, - 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, - 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, - 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, - 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, - 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, - 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, - 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, - 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, - 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, - 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, - 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, - 1327, 1328, 1329, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1106, 0, 607, 0, 608, 0, 238, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 625, 0, 627, 628, 670, 630, 0, 0, 1106, 1106, - 0, 0, 0, 0, 541, 542, 670, 670, 670, 670, - 667, 0, 667, 647, 667, 665, 666, 0, 652, 0, - 0, 0, 660, 661, 686, 0, 0, 693, 695, 696, - 697, 698, 694, 0, 0, 0, 309, 0, 0, 329, - 311, 0, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 0, 332, 0, 1134, 1137, 690, - 1152, 1153, 0, 1163, 1164, 187, 187, 0, 0, 0, - 0, 150, 183, 0, 152, 183, 183, 183, 0, 183, - 183, 159, 160, 183, 162, 163, 164, 165, 166, 183, - 168, 169, 170, 183, 183, 173, 183, 183, 176, 177, - 178, 179, 180, 242, 187, 0, 0, 187, 0, 0, - 478, 479, 480, 0, 0, 0, 0, 486, 487, 488, - 489, 0, 491, 492, 713, 42, 52, 0, 709, 710, - 0, 0, 0, 46, 0, 0, 51, 1600, 37, 0, - 0, 1047, 1050, 1051, 1039, 1040, 1043, 0, 0, 711, - 717, 718, 707, 0, 728, 0, 0, 0, 758, 0, - 760, 761, 762, 763, 0, 830, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 854, 855, 856, 857, 858, - 859, 860, 833, 0, 847, 0, 0, 0, 896, 897, - 898, 899, 900, 901, 902, 0, 716, 0, 0, 0, - 716, 0, 0, 0, 0, 0, 0, 0, 0, 716, - 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 716, 0, 0, 0, 716, 0, 0, 873, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 716, 0, 1008, 0, 961, 970, 0, 962, 971, 963, - 972, 964, 0, 965, 973, 966, 974, 967, 968, 975, - 969, 0, 0, 0, 869, 0, 0, 71, 0, 817, - 0, 764, 766, 767, 768, -2, 0, 821, 867, -2, - 0, 0, 0, 63, 64, 0, 0, 0, 0, 74, - 76, 0, 0, 1546, 1083, 1084, 470, 1097, 1098, 1099, - 0, 1095, 0, 1046, 713, 556, 0, 372, 0, 0, - 381, 460, 390, 391, 392, 453, 394, 453, 453, 0, - 453, 453, 453, 453, 453, 467, 467, 467, 467, 467, - 436, 437, 438, 439, 440, 0, 0, 413, 453, 453, - 453, 417, 443, 444, 445, 446, 447, 448, 449, 450, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 455, 455, 457, 457, 457, 457, 457, 0, 0, 538, - 0, 1122, 85, 0, 93, 0, 94, 0, 0, 99, - 260, 246, 98, 0, 232, 0, 0, 0, 0, 237, - 622, 1105, 0, 615, 65, 616, 617, 618, 619, 620, - 239, 621, 819, 1132, 1133, 629, 671, 672, 0, 0, - 633, 634, 635, 543, 641, 642, 643, 649, 670, 0, - 0, 0, 782, 670, 651, 861, 654, 978, 0, 688, - 687, 0, 700, 306, 308, 310, 328, 0, 0, 331, - 334, 0, 0, 0, 0, 1155, 0, 1157, 1159, 0, - 0, 188, 189, 190, 0, 182, 0, 205, 245, 0, - 151, 0, 185, 153, 154, 155, 183, 157, 158, 161, - 167, 171, 172, 174, 175, 241, 0, 0, 0, 0, - 148, 0, 481, 482, 483, 484, 485, 490, 716, 0, - 0, 681, 682, 48, 0, 0, 1064, 1053, 0, 0, - 0, 0, 1042, 1044, 1045, 0, 0, 1027, 0, 0, - 719, 712, 39, 828, 829, 831, 848, 0, 850, 852, - 759, 729, 0, 1017, -2, 838, 839, 863, 864, 865, - 0, 0, 0, 0, 861, 843, 0, 881, 882, 883, - 884, 885, 886, 887, 888, 889, 890, 891, 892, 895, - 992, 993, 0, 893, 894, 903, 0, 0, 871, 723, - 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 869, 866, - 0, 1074, 0, 0, 0, 0, 943, 0, 0, 878, - 1019, 0, 878, 1019, 0, 0, 0, 0, 0, 0, - 0, 0, 1014, 1011, 0, 0, 979, 0, 0, 0, - 0, 0, 870, 0, 0, 0, 0, 816, 0, 0, - 0, 0, 0, 0, 805, 0, 0, 808, 0, 0, - 0, 0, 0, 0, 0, 0, 775, 1468, 777, 0, - 821, 0, 0, 0, 825, 0, 825, 68, 825, 70, - 0, 820, 1081, 0, 0, 0, 79, 80, 75, 1085, - 0, 1091, 1092, 1093, 1017, 0, 1052, 716, 369, 557, - 559, 562, 563, 564, 373, 375, 376, 377, 0, -2, - 530, 1478, 1524, -2, 522, 1392, -2, -2, 380, 462, - 461, 393, 0, 467, 467, 453, 453, 453, 453, 422, - 467, 425, 428, 429, 470, 0, 470, 470, 470, 470, - 467, 0, 0, 414, 415, 416, 405, 0, 406, 455, - 408, 0, 409, 410, 411, 412, 536, 537, 0, 0, - 0, 0, 0, 1107, 0, 262, 263, 208, 101, 0, - 0, 247, 0, 368, 0, 609, 0, 611, 236, 613, - 623, 624, 614, 0, 0, 631, 632, 825, 0, 0, - 644, 668, 669, 667, 670, 0, 648, 662, 0, 0, - 655, 0, 689, 312, 313, 335, 71, 0, 1135, 1154, - 0, 1158, 1160, 0, 191, 193, 0, 142, 0, 0, - 184, 0, 156, 0, 0, 0, 0, 0, 711, 53, - 570, 571, -2, 600, 1114, 600, 600, 588, 506, 600, - 0, 49, 0, 1063, 0, 0, 0, 1048, 1049, 1041, - 0, 1100, 1101, 1028, 1029, 86, 720, 849, 851, 853, - 0, 869, 840, 861, 844, 0, 841, 0, 835, 0, - 0, 738, 0, 738, 738, 0, 929, 0, 930, 0, - 738, 738, 0, 0, 0, 0, 0, 0, 936, 937, - 938, 939, 738, 738, 738, 738, 0, 738, 738, 738, - 0, 874, -2, 940, 941, 942, 0, 0, 0, 0, - 0, 985, 0, 0, 986, 951, 0, 0, 0, 0, - 0, 957, 1038, 0, 1012, 0, 0, 960, 980, 0, - 0, 981, 982, 983, 984, 1068, 0, 0, 0, 1057, - 0, 825, 1076, 0, 0, 765, 796, 798, 0, 793, - 806, 807, 809, 0, 811, 0, 813, 814, 784, 771, - 868, 772, 0, 0, 0, 821, 781, 0, 0, 0, - 1038, 0, 825, 61, 62, 0, 77, 78, 0, 0, - 84, 471, 472, 0, 207, 0, 560, 0, 374, 0, - 523, 0, 0, 508, 522, 518, 519, 522, 513, 523, - 514, 0, 382, 0, 384, 385, 386, 387, 388, 0, - 0, 466, 0, 474, 476, 0, 389, 463, 0, 470, - 470, 467, 420, 421, 453, 426, 470, 430, 0, 431, - 432, 433, 434, 470, 0, 451, 0, 0, 407, 0, - 553, 0, 1123, 85, 85, 0, 264, 265, 266, 0, - 209, 210, 0, 0, 0, 0, 111, 0, 261, 0, - 0, 0, 0, 0, 0, 0, 66, 240, 639, 544, - 545, 670, 646, 0, 862, 656, 658, 659, 467, 0, - 1156, 0, 0, 0, 0, 0, 203, 186, 0, 0, - 0, 0, 149, 719, 0, 0, 522, 0, 589, 590, - 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1115, 1116, 0, 0, 0, 507, 0, - 0, 1066, 1065, 1054, 38, 825, 0, 730, 1018, 0, - 842, 0, 845, 738, 872, 914, 739, 725, 0, 915, - 916, 738, 731, 732, 734, 931, 918, 919, 932, 933, - 934, 738, 738, 935, 923, 922, 921, 924, 738, 927, - 926, 928, 910, 0, 453, 453, 997, 453, 457, 1000, - 453, 1002, 453, 1005, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1009, 959, 1015, 0, 0, - 0, 54, 0, 1068, 1055, 1070, 1072, 0, 0, 0, - 0, -2, 1329, 0, 788, 1038, 0, 0, 0, 790, - 797, 0, 0, 791, 0, 792, 810, 812, 769, 0, - 0, 773, 0, 0, -2, 780, 0, 0, 0, 1046, - 826, 60, 81, 82, 83, 558, 561, 0, 524, 453, - 453, 0, 528, 520, 529, 510, 512, 0, 383, 464, - 0, 473, 475, 477, 454, 418, 419, 470, 427, 423, - 468, 469, 435, 467, 0, 467, 0, 458, 0, 540, - 554, 0, 0, 91, 0, 0, 216, 0, 212, 0, - 0, 0, 119, 0, 102, 103, 104, 106, 107, 0, - 0, 0, 100, 0, 249, 0, 252, 253, 610, 612, - 645, 783, 1146, 815, 203, 192, 194, 195, 203, 206, - 143, 0, 144, 146, 0, 145, 86, 572, 0, 597, - 0, 0, 1122, 520, 0, -2, 575, 580, 581, 582, - 583, 584, 0, 595, 0, 577, 0, 597, 0, 592, - 0, 0, 0, 1030, 0, 86, 86, 911, 846, 913, - 0, 917, 736, 735, 912, 920, 925, 944, 994, 467, - 998, 999, 1001, 1003, 1004, 1006, 946, 945, 0, 0, - 0, 0, 952, 0, 0, 0, 0, 0, 0, 1013, - 0, 0, 0, 55, 0, 1073, -2, 0, 0, 72, - 0, 1046, 1077, 1078, 1079, 794, 0, 799, 0, 786, - 0, 821, 778, 0, 0, 0, 0, 59, 498, 0, - 1043, 1043, 509, 522, 521, 0, 465, 424, 470, 452, - 470, 0, 0, 555, 0, 85, 0, 85, 217, 218, - 0, 0, 0, 223, 0, 0, 0, 0, 0, 211, - 213, 214, 215, 137, 120, 121, 0, 0, 0, 0, - 112, 113, 0, 0, 0, 0, 0, 108, 109, 110, - 248, 0, 0, 251, 0, 0, 1148, 1142, 196, 196, - 0, 147, 0, 0, 574, 598, 0, 381, 381, 0, - 522, 0, 591, 0, 1112, 1113, 0, 586, 597, 0, - 0, 0, 1067, 1035, 0, 825, 0, 721, 726, 1038, - 0, 995, 996, 0, 0, 0, 0, 953, 954, 955, - 987, 958, 1010, 0, 0, 0, 1071, 1056, 0, 1060, - 0, 789, 58, 0, 785, 0, 774, 776, 821, 822, - 823, 824, 497, 501, 0, 506, 0, 525, 526, 527, - 511, 0, 441, 442, 456, 459, 0, 92, 0, 0, - 219, 220, 221, 222, 224, 225, 0, 0, 0, 97, - 0, 0, 122, 0, 0, 0, 0, 132, 133, 134, - 135, 136, 114, 115, 116, 117, 118, 105, 0, 0, - 250, 0, 255, 256, 1110, 1150, -2, 0, 140, 0, - 141, 204, 0, 573, 599, 378, 379, 0, 1122, 0, - 576, 585, 587, 0, 594, 0, 750, 0, 0, 1030, - 86, 740, 0, 947, 949, 948, 950, 0, 0, 0, - 976, 977, 0, 1059, 0, 795, 787, 779, 502, 503, - 0, 505, 0, 499, 0, 85, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 0, 0, 0, 0, - 226, 227, 228, 229, 138, 139, 123, 124, 0, 126, - 127, 0, 0, 0, 258, 0, 254, 784, 0, 1142, - 0, 1144, 0, 1141, 0, 197, 825, 0, 0, 0, - 593, 0, 603, 0, 43, 0, 1036, 1037, 1031, 1032, - 1034, 1035, 722, 0, 0, 0, 737, 956, 0, 0, - 0, 1069, -2, 504, 0, 90, 500, 267, 96, 0, - 0, 1124, 0, 0, 294, 295, 296, 1126, 0, 336, - 0, 128, 0, 130, 131, 257, 0, 36, 0, 1149, - 0, 1147, 0, 0, 1143, 0, 1030, 499, 0, 499, - 602, 0, 0, 751, 752, 0, 0, 750, 733, 741, - 0, 744, 0, 0, 0, 755, 0, 742, 988, 0, - 991, 0, 85, 0, 0, 0, 278, 0, 0, 0, - 0, 0, 292, 0, 0, 125, 129, 259, 1111, 1151, - 0, 0, 0, 1035, 578, 0, 596, 604, 0, 0, - 0, 1033, 44, 0, 745, 746, 747, 748, 749, 0, - 989, 0, 0, 268, 269, 0, 0, 279, 0, 0, - 0, 0, 0, 0, 1127, 230, 337, 1145, 1139, 198, - 199, 200, 202, 750, 499, 0, 753, 754, 0, 756, - 0, 531, 85, 270, 271, 272, 273, 274, 0, 276, - 0, 0, 0, 288, 289, 290, 0, 297, 299, 300, - 301, 0, 303, 304, 293, 0, 41, 579, 0, 743, - 0, 532, 533, 0, 95, 0, 0, 0, 0, 0, - 0, 285, 0, 291, 0, 302, 201, 0, 990, 534, - 0, 535, 0, 0, 0, 0, 0, 280, 281, 0, - 0, 0, 286, 0, 298, 0, 0, 546, 548, 549, - 0, 0, 547, 275, 277, 0, 283, 0, 0, 605, - 606, 550, 551, 552, 0, 0, 0, 282, 0, 287, - 284, + 30, 31, 32, 33, 34, -2, 707, 707, 707, 707, + 707, 707, 803, -2, 572, 0, 0, 0, 0, -2, + 680, 681, 682, 686, 687, 702, 704, 0, 326, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 498, 40, + 0, 0, 56, 57, 1111, 0, 705, 694, 695, 0, + 0, 1603, 2, 1049, 0, 716, 709, 0, 1111, 1111, + 0, 0, 87, 0, 0, 0, 804, 0, 0, 0, + 1109, 1109, 0, 1109, 1109, 0, 1124, 0, 1106, 1120, + 1121, 1122, 0, 0, 1107, 0, 1107, 1107, 1107, 1107, + 1107, 1107, 1107, 0, 629, 821, 1133, 1134, 1333, 1334, + 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, + 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, + 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, + 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, + 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, + 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, + 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, + 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, + 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, + 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, + 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, + 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, + 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, + 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, + 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, + 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, + 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, + 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, + 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, + 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, + 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, + 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, + 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, + 1565, 1566, 1567, 1568, 1569, 1570, 1571, 0, 0, 0, + 673, 0, 639, 640, 641, 0, 643, 0, 0, 0, + 0, 0, 653, 656, 660, 0, 1049, 1049, 518, 519, + 520, 677, 678, 667, 679, 0, 0, 0, 0, 0, + 706, 305, 307, 0, 327, 0, 330, 333, 1139, 688, + 0, 0, 1164, 1165, 0, 0, 0, 0, 0, 1485, + 181, 244, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 0, 183, 183, 183, 1497, 183, 0, 183, 183, + 183, 183, 183, 243, 233, 234, 235, 0, 0, 0, + 1485, 0, 499, 496, 497, 707, 0, 711, 0, 1112, + 683, 45, 0, 47, 1065, 805, 806, 807, 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, 0, + 1055, 0, 0, 719, 717, 718, 708, 0, 730, 760, + 0, 830, 0, 835, 837, -2, -2, 0, 878, 879, + 880, 881, 882, 883, 0, 0, 0, 0, 0, 0, + 0, 0, 907, 908, 909, 910, 911, 912, 1022, 1023, + 1024, 1025, 1026, 1027, 1028, 1029, 1572, 1573, 1574, 1575, + 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, + 1586, 1587, 1588, 1589, 1590, 1591, 1593, 1594, 1595, 1596, + 1597, 1599, 1600, 1601, 839, 840, 1019, 1078, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1010, 0, 981, 981, 981, 981, 981, 981, 981, + 981, 981, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 67, 69, 821, 73, 1550, 0, 1083, + -2, -2, 1085, 0, 0, 0, -2, -2, -2, -2, + 1352, -2, 1019, 0, 88, 1041, 707, 89, 0, 370, + 371, 0, 1365, 542, 1131, 1132, 1354, 1127, 1128, 1168, + 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, + 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, + 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, + 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, + 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, + 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, + 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, + 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, + 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, + 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, + 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, + 1329, 1330, 1331, 1332, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1109, 0, 610, 0, 611, 0, + 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 628, 0, 630, 631, 673, 633, 0, 0, 1109, + 1109, 0, 0, 0, 0, 544, 545, 673, 673, 673, + 673, 670, 0, 670, 650, 670, 668, 669, 0, 655, + 0, 0, 0, 663, 664, 689, 0, 0, 696, 698, + 699, 700, 701, 697, 0, 0, 0, 309, 0, 0, + 329, 311, 0, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 332, 0, 1137, 1140, + 693, 1155, 1156, 0, 1166, 1167, 187, 187, 0, 0, + 0, 0, 150, 183, 0, 152, 183, 183, 183, 0, + 183, 183, 159, 160, 183, 162, 163, 164, 165, 166, + 183, 168, 169, 170, 183, 183, 173, 183, 183, 176, + 177, 178, 179, 180, 242, 187, 0, 0, 187, 0, + 0, 478, 479, 480, 0, 0, 0, 0, 486, 487, + 488, 489, 0, 0, 492, 493, 716, 42, 52, 0, + 712, 713, 0, 0, 0, 46, 0, 0, 51, 1604, + 37, 0, 0, 1050, 1053, 1054, 1042, 1043, 1046, 0, + 0, 714, 720, 721, 710, 0, 731, 0, 0, 0, + 761, 0, 763, 764, 765, 766, 0, 833, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 857, 858, 859, + 860, 861, 862, 863, 836, 0, 850, 0, 0, 0, + 899, 900, 901, 902, 903, 904, 905, 0, 719, 0, + 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, + 0, 719, 719, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 719, 0, 0, 0, 719, 0, 0, 876, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 719, 0, 1011, 0, 964, 973, 0, 965, + 974, 966, 975, 967, 0, 968, 976, 969, 977, 970, + 971, 978, 972, 0, 0, 0, 872, 0, 0, 71, + 0, 820, 0, 767, 769, 770, 771, -2, 0, 824, + 870, -2, 0, 0, 0, 63, 64, 0, 0, 0, + 0, 74, 76, 0, 0, 1550, 1086, 1087, 470, 1100, + 1101, 1102, 0, 1098, 0, 1049, 716, 559, 0, 372, + 0, 0, 381, 460, 390, 391, 392, 453, 394, 453, + 453, 0, 453, 453, 453, 453, 453, 467, 467, 467, + 467, 467, 436, 437, 438, 439, 440, 0, 0, 413, + 453, 453, 453, 417, 443, 444, 445, 446, 447, 448, + 449, 450, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 455, 455, 457, 457, 457, 457, 457, 0, + 0, 541, 0, 1125, 85, 0, 93, 0, 94, 0, + 0, 99, 260, 246, 98, 0, 232, 0, 0, 0, + 0, 237, 625, 1108, 0, 618, 65, 619, 620, 621, + 622, 623, 239, 624, 822, 1135, 1136, 632, 674, 675, + 0, 0, 636, 637, 638, 546, 644, 645, 646, 652, + 673, 0, 0, 0, 785, 673, 654, 864, 657, 981, + 0, 691, 690, 0, 703, 306, 308, 310, 328, 0, + 0, 331, 334, 0, 0, 0, 0, 1158, 0, 1160, + 1162, 0, 0, 188, 189, 190, 0, 182, 0, 205, + 245, 0, 151, 0, 185, 153, 154, 155, 183, 157, + 158, 161, 167, 171, 172, 174, 175, 241, 0, 0, + 0, 0, 148, 0, 481, 482, 483, 484, 485, 494, + 491, 719, 0, 0, 684, 685, 48, 0, 0, 1067, + 1056, 0, 0, 0, 0, 1045, 1047, 1048, 0, 0, + 1030, 0, 0, 722, 715, 39, 831, 832, 834, 851, + 0, 853, 855, 762, 732, 0, 1020, -2, 841, 842, + 866, 867, 868, 0, 0, 0, 0, 864, 846, 0, + 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, + 894, 895, 898, 995, 996, 0, 896, 897, 906, 0, + 0, 874, 726, 727, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 872, 869, 0, 1077, 0, 0, 0, 0, 946, + 0, 0, 881, 1022, 0, 881, 1022, 0, 0, 0, + 0, 0, 0, 0, 0, 1017, 1014, 0, 0, 982, + 0, 0, 0, 0, 0, 873, 0, 0, 0, 0, + 819, 0, 0, 0, 0, 0, 0, 808, 0, 0, + 811, 0, 0, 0, 0, 0, 0, 0, 0, 778, + 1472, 780, 0, 824, 0, 0, 0, 828, 0, 828, + 68, 828, 70, 0, 823, 1084, 0, 0, 0, 79, + 80, 75, 1088, 0, 1094, 1095, 1096, 1020, 0, 1055, + 719, 369, 560, 562, 565, 566, 567, 373, 375, 376, + 377, 0, -2, 533, 1482, 1528, -2, 525, 1396, -2, + -2, 380, 462, 461, 393, 0, 467, 467, 453, 453, + 453, 453, 422, 467, 425, 428, 429, 470, 0, 470, + 470, 470, 470, 467, 0, 0, 414, 415, 416, 405, + 0, 406, 455, 408, 0, 409, 410, 411, 412, 539, + 540, 0, 0, 0, 0, 0, 1110, 0, 262, 263, + 208, 101, 0, 0, 247, 0, 368, 0, 612, 0, + 614, 236, 616, 626, 627, 617, 0, 0, 634, 635, + 828, 0, 0, 647, 671, 672, 670, 673, 0, 651, + 665, 0, 0, 658, 0, 692, 312, 313, 335, 71, + 0, 1138, 1157, 0, 1161, 1163, 0, 191, 193, 0, + 142, 0, 0, 184, 0, 156, 0, 0, 0, 0, + 0, 490, 0, 714, 53, 573, 574, -2, 603, 1117, + 603, 603, 591, 509, 603, 0, 49, 0, 1066, 0, + 0, 0, 1051, 1052, 1044, 0, 1103, 1104, 1031, 1032, + 86, 723, 852, 854, 856, 0, 872, 843, 864, 847, + 0, 844, 0, 838, 0, 0, 741, 0, 741, 741, + 0, 932, 0, 933, 0, 741, 741, 0, 0, 0, + 0, 0, 0, 939, 940, 941, 942, 741, 741, 741, + 741, 0, 741, 741, 741, 0, 877, -2, 943, 944, + 945, 0, 0, 0, 0, 0, 988, 0, 0, 989, + 954, 0, 0, 0, 0, 0, 960, 1041, 0, 1015, + 0, 0, 963, 983, 0, 0, 984, 985, 986, 987, + 1071, 0, 0, 0, 1060, 0, 828, 1079, 0, 0, + 768, 799, 801, 0, 796, 809, 810, 812, 0, 814, + 0, 816, 817, 787, 774, 871, 775, 0, 0, 0, + 824, 784, 0, 0, 0, 1041, 0, 828, 61, 62, + 0, 77, 78, 0, 0, 84, 471, 472, 0, 207, + 0, 563, 0, 374, 0, 526, 0, 0, 511, 525, + 521, 522, 525, 516, 526, 517, 0, 382, 0, 384, + 385, 386, 387, 388, 0, 0, 466, 0, 474, 476, + 0, 389, 463, 0, 470, 470, 467, 420, 421, 453, + 426, 470, 430, 0, 431, 432, 433, 434, 470, 0, + 451, 0, 0, 407, 0, 556, 0, 1126, 85, 85, + 0, 264, 265, 266, 0, 209, 210, 0, 0, 0, + 0, 111, 0, 261, 0, 0, 0, 0, 0, 0, + 0, 66, 240, 642, 547, 548, 673, 649, 0, 865, + 659, 661, 662, 467, 0, 1159, 0, 0, 0, 0, + 0, 203, 186, 0, 0, 0, 0, 149, 0, 722, + 0, 0, 525, 0, 592, 593, 0, 604, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1118, + 1119, 0, 0, 0, 510, 0, 0, 1069, 1068, 1057, + 38, 828, 0, 733, 1021, 0, 845, 0, 848, 741, + 875, 917, 742, 728, 0, 918, 919, 741, 734, 735, + 737, 934, 921, 922, 935, 936, 937, 741, 741, 938, + 926, 925, 924, 927, 741, 930, 929, 931, 913, 0, + 453, 453, 1000, 453, 457, 1003, 453, 1005, 453, 1008, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1012, 962, 1018, 0, 0, 0, 54, 0, 1071, + 1058, 1073, 1075, 0, 0, 0, 0, -2, 1332, 0, + 791, 1041, 0, 0, 0, 793, 800, 0, 0, 794, + 0, 795, 813, 815, 772, 0, 0, 776, 0, 0, + -2, 783, 0, 0, 0, 1049, 829, 60, 81, 82, + 83, 561, 564, 0, 527, 453, 453, 0, 531, 523, + 532, 513, 515, 0, 383, 464, 0, 473, 475, 477, + 454, 418, 419, 470, 427, 423, 468, 469, 435, 467, + 0, 467, 0, 458, 0, 543, 557, 0, 0, 91, + 0, 0, 216, 0, 212, 0, 0, 0, 119, 0, + 102, 103, 104, 106, 107, 0, 0, 0, 100, 0, + 249, 0, 252, 253, 613, 615, 648, 786, 1149, 818, + 203, 192, 194, 195, 203, 206, 143, 0, 144, 146, + 0, 145, 495, 86, 575, 0, 600, 0, 0, 1125, + 523, 0, -2, 578, 583, 584, 585, 586, 587, 0, + 598, 0, 580, 0, 600, 0, 595, 0, 0, 0, + 1033, 0, 86, 86, 914, 849, 916, 0, 920, 739, + 738, 915, 923, 928, 947, 997, 467, 1001, 1002, 1004, + 1006, 1007, 1009, 949, 948, 0, 0, 0, 0, 955, + 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0, + 55, 0, 1076, -2, 0, 0, 72, 0, 1049, 1080, + 1081, 1082, 797, 0, 802, 0, 789, 0, 824, 781, + 0, 0, 0, 0, 59, 501, 0, 1046, 1046, 512, + 525, 524, 0, 465, 424, 470, 452, 470, 0, 0, + 558, 0, 85, 0, 85, 217, 218, 0, 0, 0, + 223, 0, 0, 0, 0, 0, 211, 213, 214, 215, + 137, 120, 121, 0, 0, 0, 0, 112, 113, 0, + 0, 0, 0, 0, 108, 109, 110, 248, 0, 0, + 251, 0, 0, 1151, 1145, 196, 196, 0, 147, 0, + 0, 577, 601, 0, 381, 381, 0, 525, 0, 594, + 0, 1115, 1116, 0, 589, 600, 0, 0, 0, 1070, + 1038, 0, 828, 0, 724, 729, 1041, 0, 998, 999, + 0, 0, 0, 0, 956, 957, 958, 990, 961, 1013, + 0, 0, 0, 1074, 1059, 0, 1063, 0, 792, 58, + 0, 788, 0, 777, 779, 824, 825, 826, 827, 500, + 504, 0, 509, 0, 528, 529, 530, 514, 0, 441, + 442, 456, 459, 0, 92, 0, 0, 219, 220, 221, + 222, 224, 225, 0, 0, 0, 97, 0, 0, 122, + 0, 0, 0, 0, 132, 133, 134, 135, 136, 114, + 115, 116, 117, 118, 105, 0, 0, 250, 0, 255, + 256, 1113, 1153, -2, 0, 140, 0, 141, 204, 0, + 576, 602, 378, 379, 0, 1125, 0, 579, 588, 590, + 0, 597, 0, 753, 0, 0, 1033, 86, 743, 0, + 950, 952, 951, 953, 0, 0, 0, 979, 980, 0, + 1062, 0, 798, 790, 782, 505, 506, 0, 508, 0, + 502, 0, 85, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 0, 0, 0, 0, 226, 227, 228, + 229, 138, 139, 123, 124, 0, 126, 127, 0, 0, + 0, 258, 0, 254, 787, 0, 1145, 0, 1147, 0, + 1144, 0, 197, 828, 0, 0, 0, 596, 0, 606, + 0, 43, 0, 1039, 1040, 1034, 1035, 1037, 1038, 725, + 0, 0, 0, 740, 959, 0, 0, 0, 1072, -2, + 507, 0, 90, 503, 267, 96, 0, 0, 1127, 0, + 0, 294, 295, 296, 1129, 0, 336, 0, 128, 0, + 130, 131, 257, 0, 36, 0, 1152, 0, 1150, 0, + 0, 1146, 0, 1033, 502, 0, 502, 605, 0, 0, + 754, 755, 0, 0, 753, 736, 744, 0, 747, 0, + 0, 0, 758, 0, 745, 991, 0, 994, 0, 85, + 0, 0, 0, 278, 0, 0, 0, 0, 0, 292, + 0, 0, 125, 129, 259, 1114, 1154, 0, 0, 0, + 1038, 581, 0, 599, 607, 0, 0, 0, 1036, 44, + 0, 748, 749, 750, 751, 752, 0, 992, 0, 0, + 268, 269, 0, 0, 279, 0, 0, 0, 0, 0, + 0, 1130, 230, 337, 1148, 1142, 198, 199, 200, 202, + 753, 502, 0, 756, 757, 0, 759, 0, 534, 85, + 270, 271, 272, 273, 274, 0, 276, 0, 0, 0, + 288, 289, 290, 0, 297, 299, 300, 301, 0, 303, + 304, 293, 0, 41, 582, 0, 746, 0, 535, 536, + 0, 95, 0, 0, 0, 0, 0, 0, 285, 0, + 291, 0, 302, 201, 0, 993, 537, 0, 538, 0, + 0, 0, 0, 0, 280, 281, 0, 0, 0, 286, + 0, 298, 0, 0, 549, 551, 552, 0, 0, 550, + 275, 277, 0, 283, 0, 0, 608, 609, 553, 554, + 555, 0, 0, 0, 282, 0, 287, 284, } var yyTok1 = [...]int{ @@ -5869,7 +5864,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 90, 3, 3, 3, 125, 117, 3, 68, 70, 122, 120, 69, 121, 135, 123, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 500, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 501, 99, 98, 100, 3, 71, 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, @@ -5953,7 +5948,8 @@ var yyTok3 = [...]int{ 57805, 481, 57806, 482, 57807, 483, 57808, 484, 57809, 485, 57810, 486, 57811, 487, 57812, 488, 57813, 489, 57814, 490, 57815, 491, 57816, 492, 57817, 493, 57818, 494, 57819, 495, - 57820, 496, 57821, 497, 57822, 498, 57823, 499, 0, + 57820, 496, 57821, 497, 57822, 498, 57823, 499, 57824, 500, + 0, } var yyErrorMessages = [...]struct { @@ -6295,38 +6291,38 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:480 +//line sql.y:481 { setParseTree(yylex, yyDollar[1].statement) } case 2: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:484 +//line sql.y:485 { setParseTree(yylex, yyDollar[1].statement) statementSeen(yylex) } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:491 +//line sql.y:492 { yyVAL.statement = yyDollar[1].selStmt } case 35: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:526 +//line sql.y:527 { setParseTree(yylex, nil) } case 36: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:532 +//line sql.y:533 { yyVAL.statement = &Load{Local: yyDollar[3].boolVal, Infile: yyDollar[4].str, Table: yyDollar[5].tableName, Partition: yyDollar[6].partitions, Charset: yyDollar[7].str, Fields: yyDollar[8].Fields, Lines: yyDollar[9].Lines, IgnoreNum: yyDollar[10].sqlVal, Columns: yyDollar[11].columns} } case 37: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:538 +//line sql.y:539 { yyDollar[1].selStmt.SetOrderBy(yyDollar[2].orderBy) yyDollar[1].selStmt.SetLimit(yyDollar[3].limit) @@ -6335,25 +6331,25 @@ yydefault: } case 38: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:545 +//line sql.y:546 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, SelectExprs: SelectExprs{Nextval{Expr: yyDollar[5].expr}}, From: TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}} } case 39: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:551 +//line sql.y:552 { yyVAL.statement = &Stream{Comments: Comments(yyDollar[2].bytes2), SelectExpr: yyDollar[3].selectExpr, Table: yyDollar[5].tableName} } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:558 +//line sql.y:559 { yyVAL.selStmt = yyDollar[1].selStmt } case 41: yyDollar = yyS[yypt-14 : yypt+1] -//line sql.y:562 +//line sql.y:563 { yyVAL.selStmt = &Select{With: yyDollar[1].with, Comments: Comments(yyDollar[3].bytes2), Cache: yyDollar[4].str, Distinct: yyDollar[5].str, Hints: yyDollar[7].str, SelectExprs: yyDollar[8].selectExprs, From: yyDollar[10].tableExprs, Where: NewWhere(WhereStr, yyDollar[11].expr), GroupBy: GroupBy(yyDollar[12].exprs), Having: NewWhere(HavingStr, yyDollar[13].expr), Window: yyDollar[14].window} if yyDollar[6].byt == 1 { @@ -6362,13 +6358,13 @@ yydefault: } case 42: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:569 +//line sql.y:570 { yyVAL.selStmt = &Union{Type: yyDollar[2].str, Left: yyDollar[1].selStmt, Right: yyDollar[3].selStmt} } case 43: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:575 +//line sql.y:576 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[6].str, SelectExprs: yyDollar[7].selectExprs, From: TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}}, Where: NewWhere(WhereStr, yyDollar[8].expr), GroupBy: GroupBy(yyDollar[9].exprs), Having: NewWhere(HavingStr, yyDollar[10].expr), Window: yyDollar[11].window} if yyDollar[5].byt == 1 { @@ -6377,7 +6373,7 @@ yydefault: } case 44: yyDollar = yyS[yypt-13 : yypt+1] -//line sql.y:582 +//line sql.y:583 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[6].str, SelectExprs: yyDollar[7].selectExprs, From: yyDollar[9].tableExprs, Where: NewWhere(WhereStr, yyDollar[10].expr), GroupBy: GroupBy(yyDollar[11].exprs), Having: NewWhere(HavingStr, yyDollar[12].expr), Window: yyDollar[13].window} if yyDollar[5].byt == 1 { @@ -6386,61 +6382,61 @@ yydefault: } case 45: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:591 +//line sql.y:592 { yyVAL.with = &With{Ctes: yyDollar[2].tableExprs, Recursive: false} } case 46: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:595 +//line sql.y:596 { yyVAL.with = &With{Ctes: yyDollar[3].tableExprs, Recursive: true} } case 47: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:601 +//line sql.y:602 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } case 48: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:605 +//line sql.y:606 { yyVAL.tableExprs = append(yyDollar[1].tableExprs, yyDollar[3].tableExpr) } case 49: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:611 +//line sql.y:612 { yyVAL.tableExpr = &CommonTableExpr{&AliasedTableExpr{Expr: yyDollar[4].simpleTableExpr, As: yyDollar[1].tableIdent}, yyDollar[2].columns} } case 50: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:617 +//line sql.y:618 { yyVAL.selStmt = yyDollar[1].selStmt } case 51: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:621 +//line sql.y:622 { yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt} } case 52: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:627 +//line sql.y:628 { yyVAL.selStmt = yyDollar[1].selStmt } case 53: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:631 +//line sql.y:632 { yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt} } case 54: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:637 +//line sql.y:638 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].ins @@ -6454,7 +6450,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:649 +//line sql.y:650 { cols := make(Columns, 0, len(yyDollar[7].assignExprs)) vals := make(ValTuple, 0, len(yyDollar[8].assignExprs)) @@ -6466,113 +6462,113 @@ yydefault: } case 56: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:661 +//line sql.y:662 { yyVAL.str = InsertStr } case 57: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:665 +//line sql.y:666 { yyVAL.str = ReplaceStr } case 58: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:671 +//line sql.y:672 { yyVAL.statement = &Update{Comments: Comments(yyDollar[2].bytes2), Ignore: yyDollar[3].str, TableExprs: yyDollar[4].tableExprs, Exprs: yyDollar[6].assignExprs, Where: NewWhere(WhereStr, yyDollar[7].expr), OrderBy: yyDollar[8].orderBy, Limit: yyDollar[9].limit} } case 59: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:677 +//line sql.y:678 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[4].tableName}}, Partitions: yyDollar[5].partitions, Where: NewWhere(WhereStr, yyDollar[6].expr), OrderBy: yyDollar[7].orderBy, Limit: yyDollar[8].limit} } case 60: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:681 +//line sql.y:682 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[4].tableNames, TableExprs: yyDollar[6].tableExprs, Where: NewWhere(WhereStr, yyDollar[7].expr)} } case 61: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:685 +//line sql.y:686 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} } case 62: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:689 +//line sql.y:690 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} } case 63: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:694 +//line sql.y:695 { } case 64: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:695 +//line sql.y:696 { } case 65: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:699 +//line sql.y:700 { yyVAL.tableNames = TableNames{yyDollar[1].tableName.ToViewName()} } case 66: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:703 +//line sql.y:704 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName.ToViewName()) } case 67: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:709 +//line sql.y:710 { yyVAL.tableNames = TableNames{yyDollar[1].tableName} } case 68: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:713 +//line sql.y:714 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName) } case 69: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:719 +//line sql.y:720 { yyVAL.tableNames = TableNames{yyDollar[1].tableName} } case 70: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:723 +//line sql.y:724 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName) } case 71: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:728 +//line sql.y:729 { yyVAL.partitions = nil } case 72: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:732 +//line sql.y:733 { yyVAL.partitions = yyDollar[3].partitions } case 73: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:738 +//line sql.y:739 { yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Exprs: yyDollar[3].setVarExprs} } case 74: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:742 +//line sql.y:743 { for i := 0; i < len(yyDollar[4].setVarExprs); i++ { yyDollar[4].setVarExprs[i].Scope = SetScope_None @@ -6581,7 +6577,7 @@ yydefault: } case 75: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:749 +//line sql.y:750 { for i := 0; i < len(yyDollar[5].setVarExprs); i++ { yyDollar[5].setVarExprs[i].Scope = yyDollar[3].setScope @@ -6590,73 +6586,73 @@ yydefault: } case 76: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:758 +//line sql.y:759 { yyVAL.setVarExprs = SetVarExprs{yyDollar[1].setVarExpr} } case 77: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:762 +//line sql.y:763 { yyVAL.setVarExprs = append(yyVAL.setVarExprs, yyDollar[3].setVarExpr) } case 78: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:768 +//line sql.y:769 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(yyDollar[3].str))} } case 79: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:772 +//line sql.y:773 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(TxReadWrite))} } case 80: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:776 +//line sql.y:777 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(TxReadOnly))} } case 81: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:782 +//line sql.y:783 { yyVAL.str = IsolationLevelRepeatableRead } case 82: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:786 +//line sql.y:787 { yyVAL.str = IsolationLevelReadCommitted } case 83: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:790 +//line sql.y:791 { yyVAL.str = IsolationLevelReadUncommitted } case 84: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:794 +//line sql.y:795 { yyVAL.str = IsolationLevelSerializable } case 85: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:799 +//line sql.y:800 { yyVAL.int = yyPosition(yylex) } case 86: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:804 +//line sql.y:805 { yyVAL.int = yyOldPosition(yylex) } case 87: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:810 +//line sql.y:811 { yyDollar[1].ddl.TableSpec = yyDollar[2].TableSpec if len(yyDollar[1].ddl.TableSpec.Constraints) > 0 { @@ -6666,39 +6662,39 @@ yydefault: } case 88: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:819 +//line sql.y:820 { yyDollar[1].ddl.OptSelect = &OptSelect{Select: yyDollar[3].selStmt} yyVAL.statement = yyDollar[1].ddl } case 89: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:824 +//line sql.y:825 { yyDollar[1].ddl.OptLike = &OptLike{LikeTable: yyDollar[3].tableName} yyVAL.statement = yyDollar[1].ddl } case 90: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:829 +//line sql.y:830 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[7].tableName, IndexSpec: &IndexSpec{Action: CreateStr, ToName: yyDollar[4].colIdent, Using: yyDollar[5].colIdent, Type: yyDollar[2].str, Columns: yyDollar[9].indexColumns, Options: yyDollar[11].indexOptions}} } case 91: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:833 +//line sql.y:834 { yyVAL.statement = &DDL{Action: CreateStr, View: yyDollar[3].tableName.ToViewName(), ViewExpr: yyDollar[6].selStmt, SubStatementPositionStart: yyDollar[5].int, SubStatementPositionEnd: yyDollar[7].int - 1} } case 92: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:837 +//line sql.y:838 { yyVAL.statement = &DDL{Action: CreateStr, View: yyDollar[5].tableName.ToViewName(), ViewExpr: yyDollar[8].selStmt, SubStatementPositionStart: yyDollar[7].int, SubStatementPositionEnd: yyDollar[9].int - 1, OrReplace: true} } case 93: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:841 +//line sql.y:842 { var ne bool if yyDollar[3].byt != 0 { @@ -6708,7 +6704,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:849 +//line sql.y:850 { var ne bool if yyDollar[3].byt != 0 { @@ -6718,19 +6714,19 @@ yydefault: } case 95: yyDollar = yyS[yypt-15 : yypt+1] -//line sql.y:857 +//line sql.y:858 { yyVAL.statement = &DDL{Action: CreateStr, Table: yyDollar[8].tableName, TriggerSpec: &TriggerSpec{Name: string(yyDollar[4].bytes), Time: yyDollar[5].str, Event: yyDollar[6].str, Order: yyDollar[12].triggerOrder, Body: yyDollar[14].statement}, SubStatementPositionStart: yyDollar[13].int, SubStatementPositionEnd: yyDollar[15].int - 1} } case 96: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:861 +//line sql.y:862 { yyVAL.statement = &DDL{Action: CreateStr, ProcedureSpec: &ProcedureSpec{Name: string(yyDollar[4].bytes), Definer: yyDollar[2].str, Params: yyDollar[6].procedureParams, Characteristics: yyDollar[8].characteristics, Body: yyDollar[10].statement}, SubStatementPositionStart: yyDollar[9].int, SubStatementPositionEnd: yyDollar[11].int - 1} } case 97: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:865 +//line sql.y:866 { var notExists bool if yyDollar[3].byt != 0 { @@ -6751,7 +6747,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:884 +//line sql.y:885 { var notExists bool if yyDollar[3].byt != 0 { @@ -6761,658 +6757,658 @@ yydefault: } case 99: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:893 +//line sql.y:894 { yyVAL.accountNames = nil } case 100: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:897 +//line sql.y:898 { yyVAL.accountNames = yyDollar[3].accountNames } case 101: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:902 +//line sql.y:903 { yyVAL.tlsOptionItems = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:906 +//line sql.y:907 { yyVAL.tlsOptionItems = nil } case 103: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:910 +//line sql.y:911 { yyVAL.tlsOptionItems = yyDollar[2].tlsOptionItems } case 104: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:916 +//line sql.y:917 { yyVAL.tlsOptionItems = []TLSOptionItem{yyDollar[1].tlsOptionItem} } case 105: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:920 +//line sql.y:921 { yyVAL.tlsOptionItems = append(yyDollar[1].tlsOptionItems, yyDollar[3].tlsOptionItem) } case 106: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:926 +//line sql.y:927 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_SSL, ItemData: ""} } case 107: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:930 +//line sql.y:931 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_X509, ItemData: ""} } case 108: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:934 +//line sql.y:935 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Cipher, ItemData: string(yyDollar[2].bytes)} } case 109: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:938 +//line sql.y:939 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Issuer, ItemData: string(yyDollar[2].bytes)} } case 110: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:942 +//line sql.y:943 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Subject, ItemData: string(yyDollar[2].bytes)} } case 111: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:947 +//line sql.y:948 { yyVAL.accountLimitItems = nil } case 112: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:951 +//line sql.y:952 { yyVAL.accountLimitItems = yyDollar[2].accountLimitItems } case 113: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:957 +//line sql.y:958 { yyVAL.accountLimitItems = []AccountLimitItem{yyDollar[1].accountLimitItem} } case 114: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:961 +//line sql.y:962 { yyVAL.accountLimitItems = append(yyDollar[1].accountLimitItems, yyDollar[2].accountLimitItem) } case 115: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:967 +//line sql.y:968 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Queries_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 116: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:971 +//line sql.y:972 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Updates_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 117: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:975 +//line sql.y:976 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Connections_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 118: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:979 +//line sql.y:980 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Connections, Count: NewIntVal(yyDollar[2].bytes)} } case 119: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:984 +//line sql.y:985 { yyVAL.passLockItems = nil } case 120: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:988 +//line sql.y:989 { yyVAL.passLockItems = yyDollar[1].passLockItems } case 121: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:994 +//line sql.y:995 { yyVAL.passLockItems = []PassLockItem{yyDollar[1].passLockItem} } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:998 +//line sql.y:999 { yyVAL.passLockItems = append(yyDollar[1].passLockItems, yyDollar[2].passLockItem) } case 123: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1004 +//line sql.y:1005 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireDefault, Value: nil} } case 124: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1008 +//line sql.y:1009 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireNever, Value: nil} } case 125: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1012 +//line sql.y:1013 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireInterval, Value: NewIntVal(yyDollar[4].bytes)} } case 126: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1016 +//line sql.y:1017 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassHistory, Value: nil} } case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1020 +//line sql.y:1021 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassHistory, Value: NewIntVal(yyDollar[3].bytes)} } case 128: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1024 +//line sql.y:1025 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReuseInterval, Value: nil} } case 129: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1028 +//line sql.y:1029 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReuseInterval, Value: NewIntVal(yyDollar[4].bytes)} } case 130: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1032 +//line sql.y:1033 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReqCurrentDefault, Value: nil} } case 131: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1036 +//line sql.y:1037 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReqCurrentOptional, Value: nil} } case 132: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1040 +//line sql.y:1041 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassFailedLogins, Value: NewIntVal(yyDollar[2].bytes)} } case 133: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1044 +//line sql.y:1045 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassLockTime, Value: NewIntVal(yyDollar[2].bytes)} } case 134: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1048 +//line sql.y:1049 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassLockTime, Value: nil} } case 135: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1052 +//line sql.y:1053 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_AccountLock, Value: nil} } case 136: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1056 +//line sql.y:1057 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_AccountUnlock, Value: nil} } case 137: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1061 +//line sql.y:1062 { yyVAL.str = "" } case 138: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1065 +//line sql.y:1066 { comment := string(yyDollar[2].bytes) yyVAL.str = `{"comment": "` + escapeDoubleQuotes(comment) + `"}` } case 139: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1070 +//line sql.y:1071 { yyVAL.str = string(yyDollar[2].bytes) } case 140: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1076 +//line sql.y:1077 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &GrantPrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, To: yyDollar[7].accountNames, WithGrantOption: yyDollar[8].boolean, As: yyDollar[9].grantAssumption} } case 141: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1081 +//line sql.y:1082 { yyVAL.statement = &GrantPrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, To: yyDollar[7].accountNames, WithGrantOption: yyDollar[8].boolean, As: yyDollar[9].grantAssumption} } case 142: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1085 +//line sql.y:1086 { yyVAL.statement = &GrantRole{Roles: yyDollar[2].accountNames, To: yyDollar[4].accountNames, WithAdminOption: yyDollar[5].boolean} } case 143: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1089 +//line sql.y:1090 { yyVAL.statement = &GrantProxy{On: yyDollar[4].accountName, To: yyDollar[6].accountNames, WithGrantOption: yyDollar[7].boolean} } case 144: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1095 +//line sql.y:1096 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &RevokePrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } case 145: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1100 +//line sql.y:1101 { yyVAL.statement = &RevokePrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } case 146: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1104 +//line sql.y:1105 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[7].accountNames} } case 147: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1108 +//line sql.y:1109 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[8].accountNames} } case 148: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1112 +//line sql.y:1113 { yyVAL.statement = &RevokeRole{Roles: yyDollar[2].accountNames, From: yyDollar[4].accountNames} } case 149: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1116 +//line sql.y:1117 { yyVAL.statement = &RevokeProxy{On: yyDollar[4].accountName, From: yyDollar[6].accountNames} } case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1122 +//line sql.y:1123 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Alter, Columns: yyDollar[2].strs} } case 151: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1126 +//line sql.y:1127 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_AlterRoutine, Columns: yyDollar[3].strs} } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1130 +//line sql.y:1131 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Create, Columns: yyDollar[2].strs} } case 153: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1134 +//line sql.y:1135 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRole, Columns: yyDollar[3].strs} } case 154: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1138 +//line sql.y:1139 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRoutine, Columns: yyDollar[3].strs} } case 155: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1142 +//line sql.y:1143 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTablespace, Columns: yyDollar[3].strs} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1146 +//line sql.y:1147 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTemporaryTables, Columns: yyDollar[4].strs} } case 157: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1150 +//line sql.y:1151 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateUser, Columns: yyDollar[3].strs} } case 158: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1154 +//line sql.y:1155 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateView, Columns: yyDollar[3].strs} } case 159: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1158 +//line sql.y:1159 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Delete, Columns: yyDollar[2].strs} } case 160: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1162 +//line sql.y:1163 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Drop, Columns: yyDollar[2].strs} } case 161: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1166 +//line sql.y:1167 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_DropRole, Columns: yyDollar[3].strs} } case 162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1170 +//line sql.y:1171 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Event, Columns: yyDollar[2].strs} } case 163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1174 +//line sql.y:1175 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Execute, Columns: yyDollar[2].strs} } case 164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1178 +//line sql.y:1179 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_File, Columns: yyDollar[2].strs} } case 165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1182 +//line sql.y:1183 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Index, Columns: yyDollar[2].strs} } case 166: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1186 +//line sql.y:1187 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Insert, Columns: yyDollar[2].strs} } case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1190 +//line sql.y:1191 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_LockTables, Columns: yyDollar[3].strs} } case 168: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1194 +//line sql.y:1195 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Process, Columns: yyDollar[2].strs} } case 169: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1198 +//line sql.y:1199 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_References, Columns: yyDollar[2].strs} } case 170: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1202 +//line sql.y:1203 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Reload, Columns: yyDollar[2].strs} } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1206 +//line sql.y:1207 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationClient, Columns: yyDollar[3].strs} } case 172: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1210 +//line sql.y:1211 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationSlave, Columns: yyDollar[3].strs} } case 173: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1214 +//line sql.y:1215 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Select, Columns: yyDollar[2].strs} } case 174: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1218 +//line sql.y:1219 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowDatabases, Columns: yyDollar[3].strs} } case 175: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1222 +//line sql.y:1223 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowView, Columns: yyDollar[3].strs} } case 176: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1226 +//line sql.y:1227 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Shutdown, Columns: yyDollar[2].strs} } case 177: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1230 +//line sql.y:1231 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Super, Columns: yyDollar[2].strs} } case 178: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1234 +//line sql.y:1235 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Trigger, Columns: yyDollar[2].strs} } case 179: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1238 +//line sql.y:1239 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Update, Columns: yyDollar[2].strs} } case 180: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1242 +//line sql.y:1243 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Usage, Columns: yyDollar[2].strs} } case 181: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1248 +//line sql.y:1249 { yyVAL.grantPrivileges = []Privilege{yyDollar[1].grantPrivilege} } case 182: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1252 +//line sql.y:1253 { yyVAL.grantPrivileges = append(yyDollar[1].grantPrivileges, yyDollar[3].grantPrivilege) } case 183: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1257 +//line sql.y:1258 { yyVAL.strs = nil } case 184: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1261 +//line sql.y:1262 { yyVAL.strs = yyDollar[2].strs } case 185: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1267 +//line sql.y:1268 { yyVAL.strs = []string{yyDollar[1].colIdent.String()} } case 186: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1271 +//line sql.y:1272 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].colIdent.String()) } case 187: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1276 +//line sql.y:1277 { yyVAL.grantObjectType = GrantObjectType_Any } case 188: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1280 +//line sql.y:1281 { yyVAL.grantObjectType = GrantObjectType_Table } case 189: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1284 +//line sql.y:1285 { yyVAL.grantObjectType = GrantObjectType_Function } case 190: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1288 +//line sql.y:1289 { yyVAL.grantObjectType = GrantObjectType_Procedure } case 191: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1294 +//line sql.y:1295 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: "*"} } case 192: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1298 +//line sql.y:1299 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "*", TableRoutine: "*"} } case 193: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1302 +//line sql.y:1303 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: yyDollar[1].colIdent.String()} } case 194: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1306 +//line sql.y:1307 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: "*"} } case 195: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1310 +//line sql.y:1311 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: yyDollar[3].colIdent.String()} } case 196: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1315 +//line sql.y:1316 { yyVAL.grantAssumption = nil } case 197: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1319 +//line sql.y:1320 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } case 198: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1323 +//line sql.y:1324 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } case 199: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1327 +//line sql.y:1328 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_None, User: yyDollar[2].accountName, Roles: nil} } case 200: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1331 +//line sql.y:1332 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_All, User: yyDollar[2].accountName, Roles: nil} } case 201: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1335 +//line sql.y:1336 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_AllExcept, User: yyDollar[2].accountName, Roles: yyDollar[7].accountNames} } case 202: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1339 +//line sql.y:1340 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Roles, User: yyDollar[2].accountName, Roles: yyDollar[5].accountNames} } case 203: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1344 +//line sql.y:1345 { yyVAL.boolean = false } case 204: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1348 +//line sql.y:1349 { yyVAL.boolean = true } case 205: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1353 +//line sql.y:1354 { yyVAL.boolean = false } case 206: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1357 +//line sql.y:1358 { yyVAL.boolean = true } case 207: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1364 +//line sql.y:1365 { yyDollar[1].selStmt.SetOrderBy(yyDollar[2].orderBy) yyDollar[1].selStmt.SetLimit(yyDollar[3].limit) @@ -7421,175 +7417,175 @@ yydefault: } case 208: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1372 +//line sql.y:1373 { yyVAL.procedureParams = nil } case 209: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1376 +//line sql.y:1377 { yyVAL.procedureParams = yyDollar[1].procedureParams } case 210: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1382 +//line sql.y:1383 { yyVAL.procedureParams = []ProcedureParam{yyDollar[1].procedureParam} } case 211: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1386 +//line sql.y:1387 { yyVAL.procedureParams = append(yyVAL.procedureParams, yyDollar[3].procedureParam) } case 212: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1392 +//line sql.y:1393 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[1].bytes), Type: yyDollar[2].columnType} } case 213: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1396 +//line sql.y:1397 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } case 214: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1400 +//line sql.y:1401 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Inout, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } case 215: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1404 +//line sql.y:1405 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Out, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } case 216: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1409 +//line sql.y:1410 { yyVAL.characteristics = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1413 +//line sql.y:1414 { yyVAL.characteristics = yyDollar[1].characteristics } case 218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1419 +//line sql.y:1420 { yyVAL.characteristics = []Characteristic{yyDollar[1].characteristic} } case 219: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1423 +//line sql.y:1424 { yyVAL.characteristics = append(yyVAL.characteristics, yyDollar[2].characteristic) } case 220: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1429 +//line sql.y:1430 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Comment, Comment: string(yyDollar[2].bytes)} } case 221: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1433 +//line sql.y:1434 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_LanguageSql} } case 222: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1437 +//line sql.y:1438 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NotDeterministic} } case 223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1441 +//line sql.y:1442 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Deterministic} } case 224: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1445 +//line sql.y:1446 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ContainsSql} } case 225: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1449 +//line sql.y:1450 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NoSql} } case 226: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1453 +//line sql.y:1454 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ReadsSqlData} } case 227: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1457 +//line sql.y:1458 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ModifiesSqlData} } case 228: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1461 +//line sql.y:1462 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityDefiner} } case 229: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1465 +//line sql.y:1466 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityInvoker} } case 230: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1471 +//line sql.y:1472 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } case 231: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1476 +//line sql.y:1477 { yyVAL.str = "" } case 232: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1480 +//line sql.y:1481 { yyVAL.str = string(yyDollar[3].bytes) } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1486 +//line sql.y:1487 { yyVAL.str = string(yyDollar[1].bytes) } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1490 +//line sql.y:1491 { yyVAL.str = string(yyDollar[1].bytes) } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1494 +//line sql.y:1495 { yyVAL.str = string(yyDollar[1].bytes) } case 236: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1500 +//line sql.y:1501 { anyHost := false if yyDollar[3].str == "%" { @@ -7599,31 +7595,31 @@ yydefault: } case 237: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1508 +//line sql.y:1509 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: false} } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1512 +//line sql.y:1513 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: true} } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1518 +//line sql.y:1519 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } case 240: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1522 +//line sql.y:1523 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } case 241: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1528 +//line sql.y:1529 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7633,7 +7629,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1536 +//line sql.y:1537 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7643,7 +7639,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1544 +//line sql.y:1545 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7653,219 +7649,219 @@ yydefault: } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1554 +//line sql.y:1555 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } case 245: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1558 +//line sql.y:1559 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1564 +//line sql.y:1565 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName} } case 247: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1568 +//line sql.y:1569 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication} } case 248: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1572 +//line sql.y:1573 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, AuthInitial: yyDollar[5].authentication} } case 249: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1576 +//line sql.y:1577 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication} } case 250: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1580 +//line sql.y:1581 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication, Auth3: yyDollar[6].authentication} } case 251: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1586 +//line sql.y:1587 { yyVAL.authentication = &Authentication{RandomPassword: true} } case 252: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1590 +//line sql.y:1591 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } case 253: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1594 +//line sql.y:1595 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes)} } case 254: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1598 +//line sql.y:1599 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), RandomPassword: true} } case 255: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1602 +//line sql.y:1603 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Password: string(yyDollar[5].bytes)} } case 256: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1606 +//line sql.y:1607 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } case 257: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1612 +//line sql.y:1613 { yyVAL.authentication = &Authentication{RandomPassword: true} } case 258: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1616 +//line sql.y:1617 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } case 259: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1620 +//line sql.y:1621 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1626 +//line sql.y:1627 { yyVAL.accountsWithAuth = []AccountWithAuth{yyDollar[1].accountWithAuth} } case 261: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1630 +//line sql.y:1631 { yyVAL.accountsWithAuth = append(yyDollar[1].accountsWithAuth, yyDollar[3].accountWithAuth) } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1636 +//line sql.y:1637 { yyVAL.str = BeforeStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1640 +//line sql.y:1641 { yyVAL.str = AfterStr } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1646 +//line sql.y:1647 { yyVAL.str = InsertStr } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1650 +//line sql.y:1651 { yyVAL.str = UpdateStr } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1654 +//line sql.y:1655 { yyVAL.str = DeleteStr } case 267: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1659 +//line sql.y:1660 { yyVAL.triggerOrder = nil } case 268: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1663 +//line sql.y:1664 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: FollowsStr, OtherTriggerName: string(yyDollar[2].bytes)} } case 269: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1667 +//line sql.y:1668 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: PrecedesStr, OtherTriggerName: string(yyDollar[2].bytes)} } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1673 +//line sql.y:1674 { yyVAL.statement = yyDollar[1].statement } case 275: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1683 +//line sql.y:1684 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } case 276: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1689 +//line sql.y:1690 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases} } case 277: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1693 +//line sql.y:1694 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases, Else: yyDollar[5].statements} } case 278: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1699 +//line sql.y:1700 { yyVAL.caseStatementCases = []CaseStatementCase{yyDollar[1].caseStatementCase} } case 279: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1703 +//line sql.y:1704 { yyVAL.caseStatementCases = append(yyVAL.caseStatementCases, yyDollar[2].caseStatementCase) } case 280: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1709 +//line sql.y:1710 { yyVAL.caseStatementCase = CaseStatementCase{Case: yyDollar[2].expr, Statements: yyDollar[4].statements} } case 281: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1715 +//line sql.y:1716 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds} } case 282: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:1720 +//line sql.y:1721 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds, Else: yyDollar[7].statements} } case 283: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1725 +//line sql.y:1726 { conds := yyDollar[6].ifStatementConditions conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) @@ -7873,7 +7869,7 @@ yydefault: } case 284: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:1731 +//line sql.y:1732 { conds := yyDollar[6].ifStatementConditions conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) @@ -7881,332 +7877,332 @@ yydefault: } case 285: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1739 +//line sql.y:1740 { yyVAL.ifStatementConditions = []IfStatementCondition{yyDollar[1].ifStatementCondition} } case 286: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1743 +//line sql.y:1744 { yyVAL.ifStatementConditions = append(yyVAL.ifStatementConditions, yyDollar[2].ifStatementCondition) } case 287: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1749 +//line sql.y:1750 { yyVAL.ifStatementCondition = IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements} } case 288: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1755 +//line sql.y:1756 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), SqlStateValue: string(yyDollar[5].bytes)}} } case 289: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1759 +//line sql.y:1760 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), MysqlErrorCode: NewIntVal(yyDollar[5].bytes)}} } case 290: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1763 +//line sql.y:1764 { yyVAL.statement = &Declare{Cursor: &DeclareCursor{Name: string(yyDollar[2].bytes), SelectStmt: yyDollar[5].selStmt}} } case 291: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1767 +//line sql.y:1768 { yyVAL.statement = &Declare{Handler: &DeclareHandler{Action: yyDollar[2].declareHandlerAction, ConditionValues: yyDollar[5].declareHandlerConditions, Statement: yyDollar[6].statement}} } case 292: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1771 +//line sql.y:1772 { yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } case 293: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1775 +//line sql.y:1776 { yyDollar[3].columnType.Default = yyDollar[5].expr yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1782 +//line sql.y:1783 { yyVAL.declareHandlerAction = DeclareHandlerAction_Continue } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1786 +//line sql.y:1787 { yyVAL.declareHandlerAction = DeclareHandlerAction_Exit } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1790 +//line sql.y:1791 { yyVAL.declareHandlerAction = DeclareHandlerAction_Undo } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1796 +//line sql.y:1797 { yyVAL.declareHandlerConditions = []DeclareHandlerCondition{yyDollar[1].declareHandlerCondition} } case 298: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1800 +//line sql.y:1801 { yyVAL.declareHandlerConditions = append(yyVAL.declareHandlerConditions, yyDollar[3].declareHandlerCondition) } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1806 +//line sql.y:1807 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_MysqlErrorCode, MysqlErrorCode: NewIntVal(yyDollar[1].bytes)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1810 +//line sql.y:1811 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlState, String: string(yyDollar[1].bytes)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1814 +//line sql.y:1815 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlWarning} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1818 +//line sql.y:1819 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_NotFound} } case 303: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1822 +//line sql.y:1823 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlException} } case 304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1826 +//line sql.y:1827 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_ConditionName, String: string(yyDollar[1].bytes)} } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1832 +//line sql.y:1833 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes)} } case 306: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1836 +//line sql.y:1837 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } case 307: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1840 +//line sql.y:1841 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes)} } case 308: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1844 +//line sql.y:1845 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1850 +//line sql.y:1851 { yyVAL.bytes = yyDollar[2].bytes } case 310: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1854 +//line sql.y:1855 { yyVAL.bytes = yyDollar[3].bytes } case 311: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1860 +//line sql.y:1861 { yyVAL.signalInfos = []SignalInfo{yyDollar[1].signalInfo} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1864 +//line sql.y:1865 { yyVAL.signalInfos = append(yyVAL.signalInfos, yyDollar[3].signalInfo) } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1870 +//line sql.y:1871 { yyVAL.signalInfo = SignalInfo{ConditionItemName: yyDollar[1].signalConditionItemName, Value: yyDollar[3].expr.(*SQLVal)} } case 314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1876 +//line sql.y:1877 { yyVAL.signalConditionItemName = SignalConditionItemName_ClassOrigin } case 315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1880 +//line sql.y:1881 { yyVAL.signalConditionItemName = SignalConditionItemName_SubclassOrigin } case 316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1884 +//line sql.y:1885 { yyVAL.signalConditionItemName = SignalConditionItemName_MessageText } case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1888 +//line sql.y:1889 { yyVAL.signalConditionItemName = SignalConditionItemName_MysqlErrno } case 318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1892 +//line sql.y:1893 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintCatalog } case 319: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1896 +//line sql.y:1897 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintSchema } case 320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1900 +//line sql.y:1901 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintName } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1904 +//line sql.y:1905 { yyVAL.signalConditionItemName = SignalConditionItemName_CatalogName } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1908 +//line sql.y:1909 { yyVAL.signalConditionItemName = SignalConditionItemName_SchemaName } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1912 +//line sql.y:1913 { yyVAL.signalConditionItemName = SignalConditionItemName_TableName } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1916 +//line sql.y:1917 { yyVAL.signalConditionItemName = SignalConditionItemName_ColumnName } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1920 +//line sql.y:1921 { yyVAL.signalConditionItemName = SignalConditionItemName_CursorName } case 326: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1926 +//line sql.y:1927 { yyVAL.statement = &Resignal{} } case 327: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1930 +//line sql.y:1931 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes)}} } case 328: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1934 +//line sql.y:1935 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } case 329: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1938 +//line sql.y:1939 { yyVAL.statement = &Resignal{Signal{Info: yyDollar[3].signalInfos}} } case 330: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1942 +//line sql.y:1943 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes)}} } case 331: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1946 +//line sql.y:1947 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } case 332: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1952 +//line sql.y:1953 { yyVAL.statement = &Call{FuncName: string(yyDollar[2].bytes), Params: yyDollar[3].exprs} } case 333: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1957 +//line sql.y:1958 { yyVAL.exprs = nil } case 334: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1961 +//line sql.y:1962 { yyVAL.exprs = nil } case 335: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1965 +//line sql.y:1966 { yyVAL.exprs = yyDollar[2].exprs } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1971 +//line sql.y:1972 { yyVAL.statements = Statements{yyDollar[1].statement} } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1975 +//line sql.y:1976 { yyVAL.statements = append(yyVAL.statements, yyDollar[3].statement) } case 338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1981 +//line sql.y:1982 { yyVAL.statement = yyDollar[1].selStmt } case 368: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2016 +//line sql.y:2017 { var ne bool if yyDollar[4].byt != 0 { @@ -8222,28 +8218,28 @@ yydefault: } case 369: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2032 +//line sql.y:2033 { yyVAL.TableSpec = yyDollar[2].TableSpec yyVAL.TableSpec.Options = yyDollar[4].str } case 370: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2039 +//line sql.y:2040 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) } case 371: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2044 +//line sql.y:2045 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddConstraint(yyDollar[1].constraintDefinition) } case 372: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2049 +//line sql.y:2050 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) @@ -8251,38 +8247,38 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2055 +//line sql.y:2056 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) } case 374: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2059 +//line sql.y:2060 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) yyVAL.TableSpec.AddConstraint(yyDollar[4].constraintDefinition) } case 375: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2064 +//line sql.y:2065 { yyVAL.TableSpec.AddIndex(yyDollar[3].indexDefinition) } case 376: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2068 +//line sql.y:2069 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } case 377: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2072 +//line sql.y:2073 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } case 378: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2078 +//line sql.y:2079 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8292,7 +8288,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2086 +//line sql.y:2087 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8302,7 +8298,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2096 +//line sql.y:2097 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8312,13 +8308,13 @@ yydefault: } case 381: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2105 +//line sql.y:2106 { yyVAL.columnType = ColumnType{} } case 382: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2109 +//line sql.y:2110 { opt := ColumnType{Null: BoolVal(true), NotNull: BoolVal(false), sawnull: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8329,7 +8325,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2118 +//line sql.y:2119 { opt := ColumnType{Null: BoolVal(false), NotNull: BoolVal(true), sawnull: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8340,7 +8336,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2127 +//line sql.y:2128 { opt := ColumnType{Default: yyDollar[2].optVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8351,7 +8347,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2136 +//line sql.y:2137 { opt := ColumnType{OnUpdate: yyDollar[2].optVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8362,7 +8358,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2145 +//line sql.y:2146 { opt := ColumnType{Autoincrement: yyDollar[2].boolVal, sawai: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8373,7 +8369,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2154 +//line sql.y:2155 { opt := ColumnType{KeyOpt: yyDollar[2].colKeyOpt} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8384,7 +8380,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2163 +//line sql.y:2164 { opt := ColumnType{Comment: yyDollar[2].sqlVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8395,7 +8391,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2174 +//line sql.y:2175 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].boolVal @@ -8403,80 +8399,80 @@ yydefault: } case 393: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2185 +//line sql.y:2186 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].sqlVal } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2190 +//line sql.y:2191 { yyVAL.columnType = yyDollar[1].columnType } case 395: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2196 +//line sql.y:2197 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2200 +//line sql.y:2201 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 397: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2204 +//line sql.y:2205 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 398: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2208 +//line sql.y:2209 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 399: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2212 +//line sql.y:2213 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 400: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2216 +//line sql.y:2217 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 401: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2220 +//line sql.y:2221 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 402: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2224 +//line sql.y:2225 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 403: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2228 +//line sql.y:2229 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 404: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2232 +//line sql.y:2233 { yyVAL.columnType = ColumnType{Type: "bigint", Unsigned: true, NotNull: true, Autoincrement: true, KeyOpt: colKeyUnique} } case 405: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2238 +//line sql.y:2239 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8484,7 +8480,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2244 +//line sql.y:2245 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8492,7 +8488,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2250 +//line sql.y:2251 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} yyVAL.columnType.Length = yyDollar[3].LengthScaleOption.Length @@ -8500,7 +8496,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2256 +//line sql.y:2257 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8508,7 +8504,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2262 +//line sql.y:2263 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8516,7 +8512,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2268 +//line sql.y:2269 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8524,7 +8520,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2274 +//line sql.y:2275 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8532,7 +8528,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2280 +//line sql.y:2281 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8540,266 +8536,266 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2288 +//line sql.y:2289 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 414: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2292 +//line sql.y:2293 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 415: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2296 +//line sql.y:2297 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 416: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2300 +//line sql.y:2301 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 417: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2304 +//line sql.y:2305 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 418: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2310 +//line sql.y:2311 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 419: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2314 +//line sql.y:2315 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 420: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2318 +//line sql.y:2319 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } case 421: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2322 +//line sql.y:2323 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } case 422: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2326 +//line sql.y:2327 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 423: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2330 +//line sql.y:2331 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 424: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2334 +//line sql.y:2335 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal, Charset: yyDollar[4].str, Collate: yyDollar[5].str} } case 425: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2338 +//line sql.y:2339 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 426: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2342 +//line sql.y:2343 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } case 427: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2346 +//line sql.y:2347 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Length: yyDollar[4].sqlVal} } case 428: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2350 +//line sql.y:2351 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 429: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2354 +//line sql.y:2355 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 430: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2358 +//line sql.y:2359 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 431: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2362 +//line sql.y:2363 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 432: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2366 +//line sql.y:2367 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 433: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2370 +//line sql.y:2371 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 434: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2374 +//line sql.y:2375 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 435: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2378 +//line sql.y:2379 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 436: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2382 +//line sql.y:2383 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 437: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2386 +//line sql.y:2387 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 438: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2390 +//line sql.y:2391 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 439: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2394 +//line sql.y:2395 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 440: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2398 +//line sql.y:2399 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 441: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2402 +//line sql.y:2403 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } case 442: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2407 +//line sql.y:2408 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } case 443: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2413 +//line sql.y:2414 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 444: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2417 +//line sql.y:2418 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 445: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2421 +//line sql.y:2422 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 446: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2425 +//line sql.y:2426 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 447: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2429 +//line sql.y:2430 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 448: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2433 +//line sql.y:2434 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 449: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2437 +//line sql.y:2438 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 450: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2441 +//line sql.y:2442 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 451: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2447 +//line sql.y:2448 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, string(yyDollar[1].bytes)) } case 452: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2452 +//line sql.y:2453 { yyVAL.strs = append(yyDollar[1].strs, string(yyDollar[3].bytes)) } case 453: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2457 +//line sql.y:2458 { yyVAL.sqlVal = nil } case 454: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2461 +//line sql.y:2462 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } case 455: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2466 +//line sql.y:2467 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 456: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2470 +//line sql.y:2471 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), @@ -8808,13 +8804,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2478 +//line sql.y:2479 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 458: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2482 +//line sql.y:2483 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), @@ -8822,7 +8818,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2488 +//line sql.y:2489 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), @@ -8831,314 +8827,332 @@ yydefault: } case 460: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2496 +//line sql.y:2497 { yyVAL.boolVal = BoolVal(false) } case 461: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2500 +//line sql.y:2501 { yyVAL.boolVal = BoolVal(true) } case 462: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2505 +//line sql.y:2506 { yyVAL.boolVal = BoolVal(false) } case 463: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2509 +//line sql.y:2510 { yyVAL.boolVal = BoolVal(true) } case 464: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2515 +//line sql.y:2516 { yyVAL.optVal = yyDollar[2].expr } case 465: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2521 +//line sql.y:2522 { yyVAL.optVal = yyDollar[3].expr } case 466: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2527 +//line sql.y:2528 { yyVAL.boolVal = BoolVal(true) } case 467: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2532 +//line sql.y:2533 { yyVAL.str = "" } case 468: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2536 +//line sql.y:2537 { yyVAL.str = string(yyDollar[3].bytes) } case 469: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2540 +//line sql.y:2541 { yyVAL.str = string(yyDollar[3].bytes) } case 470: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2545 +//line sql.y:2546 { yyVAL.str = "" } case 471: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2549 +//line sql.y:2550 { yyVAL.str = string(yyDollar[2].bytes) } case 472: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2553 +//line sql.y:2554 { yyVAL.str = string(yyDollar[2].bytes) } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2559 +//line sql.y:2560 { yyVAL.colKeyOpt = colKeyPrimary } case 474: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2563 +//line sql.y:2564 { yyVAL.colKeyOpt = colKey } case 475: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2567 +//line sql.y:2568 { yyVAL.colKeyOpt = colKeyUniqueKey } case 476: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2571 +//line sql.y:2572 { yyVAL.colKeyOpt = colKeyUnique } case 477: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2577 +//line sql.y:2578 { yyVAL.sqlVal = NewStrVal(yyDollar[2].bytes) } case 478: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2583 +//line sql.y:2584 { yyVAL.statement = &Flush{Type: yyDollar[2].str, Options: yyDollar[3].flushOptions} } case 479: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2589 +//line sql.y:2590 { yyVAL.flushOptions = yyDollar[1].flushOptions } case 480: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2595 +//line sql.y:2596 { yyVAL.flushOptions = []*FlushOption{yyDollar[1].flushOption} } case 481: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2597 +//line sql.y:2598 { yyVAL.flushOptions = append(yyVAL.flushOptions, yyDollar[2].flushOption) } case 482: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2601 +//line sql.y:2602 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } case 483: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2605 +//line sql.y:2606 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } case 484: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2609 +//line sql.y:2610 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } case 485: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2613 +//line sql.y:2614 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2617 +//line sql.y:2618 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } case 487: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2621 +//line sql.y:2622 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } case 488: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2625 +//line sql.y:2626 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } case 489: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2629 +//line sql.y:2630 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } case 490: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2634 + { + yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Channel: yyDollar[3].str} + } + case 491: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2633 +//line sql.y:2638 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } - case 491: + case 492: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2637 +//line sql.y:2642 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } - case 492: + case 493: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2641 +//line sql.y:2646 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } - case 493: + case 494: + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:2651 + { + yyVAL.str = "" + } + case 495: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2653 + { + yyVAL.str = string(yyDollar[3].bytes) + } + case 496: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2647 +//line sql.y:2657 { yyVAL.str = string(yyDollar[1].bytes) } - case 494: + case 497: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2649 +//line sql.y:2659 { yyVAL.str = string(yyDollar[1].bytes) } - case 495: + case 498: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2652 +//line sql.y:2662 { yyVAL.str = "" } - case 496: + case 499: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2654 +//line sql.y:2664 { yyVAL.str = yyDollar[1].str } - case 497: + case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2658 +//line sql.y:2668 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Options: yyDollar[5].indexOptions} } - case 498: + case 501: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2662 +//line sql.y:2672 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns} } - case 499: + case 502: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2667 +//line sql.y:2677 { yyVAL.indexOptions = nil } - case 500: + case 503: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2671 +//line sql.y:2681 { yyVAL.indexOptions = yyDollar[1].indexOptions } - case 501: + case 504: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2677 +//line sql.y:2687 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 502: + case 505: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2681 +//line sql.y:2691 { yyVAL.indexOptions = append(yyVAL.indexOptions, yyDollar[2].indexOption) } - case 503: + case 506: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2687 +//line sql.y:2697 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Using: string(yyDollar[2].bytes)} } - case 504: + case 507: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2691 +//line sql.y:2701 { // should not be string yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewIntVal(yyDollar[3].bytes)} } - case 505: + case 508: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2696 +//line sql.y:2706 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewStrVal(yyDollar[2].bytes)} } - case 506: + case 509: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2702 +//line sql.y:2712 { yyVAL.str = "" } - case 507: + case 510: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2706 +//line sql.y:2716 { yyVAL.str = string(yyDollar[1].bytes) } - case 508: + case 511: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2712 +//line sql.y:2722 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } - case 509: + case 512: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2716 +//line sql.y:2726 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].bytes), Name: NewColIdent(string(yyDollar[2].bytes)), Primary: true, Unique: true} } - case 510: + case 513: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2720 +//line sql.y:2730 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } - case 511: + case 514: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2724 +//line sql.y:2734 { var name string name = yyDollar[2].str @@ -9147,351 +9161,351 @@ yydefault: } yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].str), Name: NewColIdent(name), Unique: true} } - case 512: + case 515: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2733 +//line sql.y:2743 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Unique: true} } - case 513: + case 516: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2737 +//line sql.y:2747 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes), Name: NewColIdent(yyDollar[2].str), Unique: true} } - case 514: + case 517: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2741 +//line sql.y:2751 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } - case 515: + case 518: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2747 +//line sql.y:2757 { yyVAL.str = string(yyDollar[1].bytes) } - case 516: + case 519: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2751 +//line sql.y:2761 { yyVAL.str = string(yyDollar[1].bytes) } - case 517: + case 520: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2755 +//line sql.y:2765 { yyVAL.str = string(yyDollar[1].bytes) } - case 518: + case 521: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2761 +//line sql.y:2771 { yyVAL.str = string(yyDollar[1].bytes) } - case 519: + case 522: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2765 +//line sql.y:2775 { yyVAL.str = string(yyDollar[1].bytes) } - case 520: + case 523: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2770 +//line sql.y:2780 { yyVAL.str = "" } - case 521: + case 524: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2774 +//line sql.y:2784 { yyVAL.str = yyDollar[1].str } - case 522: + case 525: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2779 +//line sql.y:2789 { yyVAL.str = "" } - case 523: + case 526: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2783 +//line sql.y:2793 { yyVAL.str = string(yyDollar[1].bytes) } - case 524: + case 527: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2789 +//line sql.y:2799 { yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn} } - case 525: + case 528: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2793 +//line sql.y:2803 { yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn) } - case 526: + case 529: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2799 +//line sql.y:2809 { yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } - case 527: + case 530: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2803 +//line sql.y:2813 { yyVAL.indexColumn = &IndexColumn{Column: NewColIdent(string(yyDollar[1].bytes)), Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } - case 528: + case 531: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2809 +//line sql.y:2819 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 529: + case 532: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2813 +//line sql.y:2823 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 530: + case 533: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2817 +//line sql.y:2827 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 531: + case 534: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2823 +//line sql.y:2833 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns} } - case 532: + case 535: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2827 +//line sql.y:2837 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction} } - case 533: + case 536: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2831 +//line sql.y:2841 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnUpdate: yyDollar[11].ReferenceAction} } - case 534: + case 537: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2835 +//line sql.y:2845 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction, OnUpdate: yyDollar[12].ReferenceAction} } - case 535: + case 538: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2839 +//line sql.y:2849 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[12].ReferenceAction, OnUpdate: yyDollar[11].ReferenceAction} } - case 536: + case 539: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2845 +//line sql.y:2855 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 537: + case 540: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2849 +//line sql.y:2859 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 538: + case 541: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2853 +//line sql.y:2863 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[2].constraintInfo} } - case 539: + case 542: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2857 +//line sql.y:2867 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 540: + case 543: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2863 +//line sql.y:2873 { yyVAL.constraintInfo = &CheckConstraintDefinition{Expr: yyDollar[3].expr, Enforced: yyDollar[5].boolean} } - case 541: + case 544: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2869 +//line sql.y:2879 { yyVAL.str = string(yyDollar[1].bytes) } - case 542: + case 545: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2873 +//line sql.y:2883 { yyVAL.str = string(yyDollar[1].bytes) } - case 543: + case 546: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2878 +//line sql.y:2888 { yyVAL.str = "" } - case 544: + case 547: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2882 +//line sql.y:2892 { yyVAL.str = string(yyDollar[2].bytes) } - case 545: + case 548: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2886 +//line sql.y:2896 { yyVAL.str = string(yyDollar[2].bytes) } - case 546: + case 549: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2892 +//line sql.y:2902 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 547: + case 550: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2898 +//line sql.y:2908 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 548: + case 551: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2904 +//line sql.y:2914 { yyVAL.ReferenceAction = Restrict } - case 549: + case 552: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2908 +//line sql.y:2918 { yyVAL.ReferenceAction = Cascade } - case 550: + case 553: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2912 +//line sql.y:2922 { yyVAL.ReferenceAction = NoAction } - case 551: + case 554: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2916 +//line sql.y:2926 { yyVAL.ReferenceAction = SetDefault } - case 552: + case 555: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2920 +//line sql.y:2930 { yyVAL.ReferenceAction = SetNull } - case 553: + case 556: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2925 +//line sql.y:2935 { yyVAL.boolean = true } - case 554: + case 557: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2929 +//line sql.y:2939 { yyVAL.boolean = true } - case 555: + case 558: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2933 +//line sql.y:2943 { yyVAL.boolean = false } - case 556: + case 559: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2938 +//line sql.y:2948 { yyVAL.str = "" } - case 557: + case 560: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2942 +//line sql.y:2952 { yyVAL.str = " " + string(yyDollar[1].str) } - case 558: + case 561: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2946 +//line sql.y:2956 { yyVAL.str = string(yyDollar[1].str) + ", " + string(yyDollar[3].str) } - case 559: + case 562: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2954 +//line sql.y:2964 { yyVAL.str = yyDollar[1].str } - case 560: + case 563: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2958 +//line sql.y:2968 { yyVAL.str = yyDollar[1].str + " " + yyDollar[2].str } - case 561: + case 564: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2962 +//line sql.y:2972 { yyVAL.str = yyDollar[1].str + "=" + yyDollar[3].str } - case 562: + case 565: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2968 +//line sql.y:2978 { yyVAL.str = yyDollar[1].colIdent.String() } - case 563: + case 566: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2972 +//line sql.y:2982 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'" } - case 564: + case 567: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2976 +//line sql.y:2986 { yyVAL.str = string(yyDollar[1].bytes) } - case 565: + case 568: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2981 +//line sql.y:2991 { yyVAL.str = "" } - case 566: + case 569: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2985 +//line sql.y:2995 { yyVAL.str = string(yyDollar[2].bytes) } - case 567: + case 570: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2990 +//line sql.y:3000 { yyVAL.str = string("") } - case 568: + case 571: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2994 +//line sql.y:3004 { yyVAL.str = string(yyDollar[2].bytes) } - case 570: + case 573: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3003 +//line sql.y:3013 { for i := 0; i < len(yyDollar[5].ddls); i++ { if yyDollar[5].ddls[i].Action == RenameStr { @@ -9502,279 +9516,279 @@ yydefault: } yyVAL.statement = &MultiAlterDDL{Table: yyDollar[4].tableName, Statements: yyDollar[5].ddls} } - case 571: + case 574: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3016 +//line sql.y:3026 { yyVAL.ddls = []*DDL{yyDollar[1].ddl} } - case 572: + case 575: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3020 +//line sql.y:3030 { yyVAL.ddls = append(yyVAL.ddls, yyDollar[3].ddl) } - case 573: + case 576: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3026 +//line sql.y:3036 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) ddl.Column = yyDollar[4].columnDefinition.Name yyVAL.ddl = ddl } - case 574: + case 577: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3033 +//line sql.y:3043 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 575: + case 578: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3040 +//line sql.y:3050 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: DropStr, Column: NewColIdent(string(yyDollar[3].bytes))} } - case 576: + case 579: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3044 +//line sql.y:3054 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: RenameStr, Column: NewColIdent(string(yyDollar[3].bytes)), ToColumn: NewColIdent(string(yyDollar[5].bytes))} } - case 577: + case 580: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3048 +//line sql.y:3058 { // Change this to a rename statement yyVAL.ddl = &DDL{Action: RenameStr, ToTables: TableNames{yyDollar[3].tableName}} } - case 578: + case 581: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3053 +//line sql.y:3063 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[3].str), Using: yyDollar[4].colIdent, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions}} } - case 579: + case 582: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:3057 +//line sql.y:3067 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[5].str), Type: yyDollar[3].str, Using: yyDollar[6].colIdent, Columns: yyDollar[8].indexColumns, Options: yyDollar[10].indexOptions}} } - case 580: + case 583: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3061 +//line sql.y:3071 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 581: + case 584: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3066 +//line sql.y:3076 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 582: + case 585: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3071 +//line sql.y:3081 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 583: + case 586: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3076 +//line sql.y:3086 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 584: + case 587: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3081 +//line sql.y:3091 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 585: + case 588: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3085 +//line sql.y:3095 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: RenameStr, FromName: yyDollar[3].colIdent, ToName: yyDollar[5].colIdent}} } - case 586: + case 589: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3089 +//line sql.y:3099 { ddl := &DDL{Action: AlterStr, ColumnAction: ModifyStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 587: + case 590: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3096 +//line sql.y:3106 { ddl := &DDL{Action: AlterStr, ColumnAction: ChangeStr, TableSpec: &TableSpec{}, Column: NewColIdent(string(yyDollar[3].bytes)), ColumnOrder: yyDollar[5].columnOrder} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) yyVAL.ddl = ddl } - case 588: + case 591: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3102 +//line sql.y:3112 { yyVAL.ddl = &DDL{Action: AlterStr, PartitionSpec: yyDollar[1].partSpec} } - case 589: + case 592: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3106 +//line sql.y:3116 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 590: + case 593: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3112 +//line sql.y:3122 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 591: + case 594: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3118 +//line sql.y:3128 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[4].bytes), Details: &ForeignKeyDefinition{}}}}} } - case 592: + case 595: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3123 +//line sql.y:3133 { yyVAL.ddl = &DDL{Action: AlterStr, AutoIncSpec: &AutoIncSpec{Value: yyDollar[3].expr}} } - case 593: + case 596: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3127 +//line sql.y:3137 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: SetStr, Column: yyDollar[3].colIdent, Value: yyDollar[6].expr}} } - case 594: + case 597: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3131 +//line sql.y:3141 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: DropStr, Column: yyDollar[3].colIdent}} } - case 595: + case 598: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3135 +//line sql.y:3145 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, Type: PrimaryStr}} } - case 596: + case 599: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3139 +//line sql.y:3149 { ddl := &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr}} ddl.IndexSpec = &IndexSpec{Action: CreateStr, Using: NewColIdent(""), ToName: NewColIdent(yyDollar[2].str), Type: PrimaryStr, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions} yyVAL.ddl = ddl } - case 597: + case 600: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3146 +//line sql.y:3156 { yyVAL.columnOrder = nil } - case 598: + case 601: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3150 +//line sql.y:3160 { yyVAL.columnOrder = &ColumnOrder{First: true} } - case 599: + case 602: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3154 +//line sql.y:3164 { yyVAL.columnOrder = &ColumnOrder{AfterColumn: NewColIdent(string(yyDollar[2].bytes))} } - case 600: + case 603: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3159 +//line sql.y:3169 { } - case 601: + case 604: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3161 +//line sql.y:3171 { } - case 602: + case 605: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3165 +//line sql.y:3175 { yyVAL.partSpec = &PartitionSpec{Action: ReorganizeStr, Name: yyDollar[3].colIdent, Definitions: yyDollar[6].partDefs} } - case 603: + case 606: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3171 +//line sql.y:3181 { yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef} } - case 604: + case 607: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3175 +//line sql.y:3185 { yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef) } - case 605: + case 608: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3181 +//line sql.y:3191 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr} } - case 606: + case 609: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3185 +//line sql.y:3195 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} } - case 607: + case 610: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3191 +//line sql.y:3201 { yyVAL.statement = yyDollar[3].ddl } - case 608: + case 611: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3195 +//line sql.y:3205 { yyVAL.statement = &RenameUser{Accounts: yyDollar[3].accountRenames} } - case 609: + case 612: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3201 +//line sql.y:3211 { yyVAL.ddl = &DDL{Action: RenameStr, FromTables: TableNames{yyDollar[1].tableName}, ToTables: TableNames{yyDollar[3].tableName}} } - case 610: + case 613: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3205 +//line sql.y:3215 { yyVAL.ddl = yyDollar[1].ddl yyVAL.ddl.FromTables = append(yyVAL.ddl.FromTables, yyDollar[3].tableName) yyVAL.ddl.ToTables = append(yyVAL.ddl.ToTables, yyDollar[5].tableName) } - case 611: + case 614: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3213 +//line sql.y:3223 { yyVAL.accountRenames = []AccountRename{{From: yyDollar[1].accountName, To: yyDollar[3].accountName}} } - case 612: + case 615: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3217 +//line sql.y:3227 { yyVAL.accountRenames = append(yyDollar[1].accountRenames, AccountRename{From: yyDollar[3].accountName, To: yyDollar[5].accountName}) } - case 613: + case 616: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3223 +//line sql.y:3233 { var exists bool if yyDollar[3].byt != 0 { @@ -9782,15 +9796,15 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromTables: yyDollar[4].tableNames, IfExists: exists} } - case 614: + case 617: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3231 +//line sql.y:3241 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[5].tableName, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 615: + case 618: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3235 +//line sql.y:3245 { var exists bool if yyDollar[3].byt != 0 { @@ -9798,9 +9812,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromViews: yyDollar[4].tableNames, IfExists: exists} } - case 616: + case 619: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3243 +//line sql.y:3253 { var exists bool if yyDollar[3].byt != 0 { @@ -9808,9 +9822,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes), IfExists: exists} } - case 617: + case 620: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3251 +//line sql.y:3261 { var exists bool if yyDollar[3].byt != 0 { @@ -9818,9 +9832,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes), IfExists: exists} } - case 618: + case 621: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3259 +//line sql.y:3269 { var exists bool if yyDollar[3].byt != 0 { @@ -9828,9 +9842,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, TriggerSpec: &TriggerSpec{Name: string(yyDollar[4].bytes)}, IfExists: exists} } - case 619: + case 622: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3267 +//line sql.y:3277 { var exists bool if yyDollar[3].byt != 0 { @@ -9838,9 +9852,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, ProcedureSpec: &ProcedureSpec{Name: string(yyDollar[4].bytes)}, IfExists: exists} } - case 620: + case 623: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3275 +//line sql.y:3285 { var exists bool if yyDollar[3].byt != 0 { @@ -9848,9 +9862,9 @@ yydefault: } yyVAL.statement = &DropUser{IfExists: exists, AccountNames: yyDollar[4].accountNames} } - case 621: + case 624: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3283 +//line sql.y:3293 { var exists bool if yyDollar[3].byt != 0 { @@ -9858,193 +9872,193 @@ yydefault: } yyVAL.statement = &DropRole{IfExists: exists, Roles: yyDollar[4].accountNames} } - case 622: + case 625: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3292 +//line sql.y:3302 { } - case 623: + case 626: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3296 +//line sql.y:3306 { yyVAL.ReferenceAction = Restrict } - case 624: + case 627: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3300 +//line sql.y:3310 { yyVAL.ReferenceAction = Cascade } - case 625: + case 628: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3306 +//line sql.y:3316 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[3].tableName} } - case 626: + case 629: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3310 +//line sql.y:3320 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[2].tableName} } - case 627: + case 630: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3315 +//line sql.y:3325 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[3].tableName} } - case 628: + case 631: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3321 +//line sql.y:3331 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } - case 629: + case 632: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3326 +//line sql.y:3336 { yyVAL.statement = &Show{Type: CharsetStr, Filter: yyDollar[4].showFilter} } - case 630: + case 633: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3330 +//line sql.y:3340 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Filter: yyDollar[3].showFilter} } - case 631: + case 634: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3334 +//line sql.y:3344 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), IfNotExists: yyDollar[4].byt == 1, Database: string(yyDollar[5].bytes)} } - case 632: + case 635: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3338 +//line sql.y:3348 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), IfNotExists: yyDollar[4].byt == 1, Database: string(yyDollar[5].bytes)} } - case 633: + case 636: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3342 +//line sql.y:3352 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } - case 634: + case 637: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3346 +//line sql.y:3356 { yyVAL.statement = &Show{Type: CreateTriggerStr, Table: yyDollar[4].tableName} } - case 635: + case 638: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3350 +//line sql.y:3360 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } - case 636: + case 639: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3354 +//line sql.y:3364 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 637: + case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3358 +//line sql.y:3368 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 638: + case 641: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3362 +//line sql.y:3372 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 639: + case 642: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3366 +//line sql.y:3376 { yyVAL.statement = &Show{Type: IndexStr, Table: yyDollar[4].tableName, Database: yyDollar[5].str, ShowIndexFilterOpt: yyDollar[6].expr} } - case 640: + case 643: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3370 +//line sql.y:3380 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 641: + case 644: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3374 +//line sql.y:3384 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 642: + case 645: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3378 +//line sql.y:3388 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 643: + case 646: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3382 +//line sql.y:3392 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 644: + case 647: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3386 +//line sql.y:3396 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Database: yyDollar[4].str, Filter: yyDollar[5].showFilter} } - case 645: + case 648: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3390 +//line sql.y:3400 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Full: yyDollar[2].boolean} } - case 646: + case 649: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3395 +//line sql.y:3405 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[4].str, Filter: yyDollar[6].showFilter, AsOf: yyDollar[5].expr} yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt, Full: yyDollar[2].boolean} } - case 647: + case 650: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3400 +//line sql.y:3410 { yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), Full: yyDollar[2].boolean} } - case 648: + case 651: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3404 +//line sql.y:3414 { yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), ShowTablesOpt: &ShowTablesOpt{DbName: yyDollar[4].str, Filter: yyDollar[5].showFilter}, Full: yyDollar[2].boolean} } - case 649: + case 652: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3408 +//line sql.y:3418 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 650: + case 653: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3412 +//line sql.y:3422 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 651: + case 654: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3416 +//line sql.y:3426 { // Cannot dereference $4 directly, or else the parser stackcannot be pooled. See yyParsePooled showCollationFilterOpt := yyDollar[4].expr yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &showCollationFilterOpt} } - case 652: + case 655: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3422 +//line sql.y:3432 { // Cannot dereference $3 directly, or else the parser stackcannot be pooled. See yyParsePooled cmp := yyDollar[3].expr.(*ComparisonExpr) @@ -10052,388 +10066,388 @@ yydefault: var ex Expr = cmp yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &ex} } - case 653: + case 656: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3430 +//line sql.y:3440 { yyVAL.statement = &ShowGrants{} } - case 654: + case 657: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3434 +//line sql.y:3444 { an := yyDollar[4].accountName yyVAL.statement = &ShowGrants{For: &an} } - case 655: + case 658: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3439 +//line sql.y:3449 { yyVAL.statement = &ShowGrants{CurrentUser: true} } - case 656: + case 659: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3443 +//line sql.y:3453 { an := yyDollar[4].accountName yyVAL.statement = &ShowGrants{For: &an, Using: yyDollar[6].accountNames} } - case 657: + case 660: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3448 +//line sql.y:3458 { yyVAL.statement = &ShowPrivileges{} } - case 658: + case 661: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3452 +//line sql.y:3462 { yyVAL.statement = &Show{Type: string(yyDollar[6].bytes), CountStar: true} } - case 659: + case 662: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3456 +//line sql.y:3466 { yyVAL.statement = &Show{Type: string(yyDollar[6].bytes), CountStar: true} } - case 660: + case 663: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3460 +//line sql.y:3470 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Limit: yyDollar[3].limit} } - case 661: + case 664: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3464 +//line sql.y:3474 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Limit: yyDollar[3].limit} } - case 662: + case 665: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3470 +//line sql.y:3480 { yyVAL.expr = &ComparisonExpr{Operator: LikeStr, Right: yyDollar[2].expr, Escape: yyDollar[3].expr} } - case 663: + case 666: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3476 +//line sql.y:3486 { yyVAL.boolean = false } - case 664: + case 667: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3480 +//line sql.y:3490 { yyVAL.boolean = true } - case 665: + case 668: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3486 +//line sql.y:3496 { yyVAL.str = string(yyDollar[1].bytes) } - case 666: + case 669: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3490 +//line sql.y:3500 { yyVAL.str = string(yyDollar[1].bytes) } - case 667: + case 670: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3496 +//line sql.y:3506 { yyVAL.str = "" } - case 668: + case 671: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3500 +//line sql.y:3510 { yyVAL.str = yyDollar[2].tableIdent.v } - case 669: + case 672: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3504 +//line sql.y:3514 { yyVAL.str = yyDollar[2].tableIdent.v } - case 670: + case 673: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3510 +//line sql.y:3520 { yyVAL.showFilter = nil } - case 671: + case 674: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3514 +//line sql.y:3524 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 672: + case 675: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3518 +//line sql.y:3528 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } - case 673: + case 676: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3524 +//line sql.y:3534 { yyVAL.str = "" } - case 674: + case 677: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3528 +//line sql.y:3538 { yyVAL.str = SessionStr } - case 675: + case 678: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3532 +//line sql.y:3542 { yyVAL.str = GlobalStr } - case 676: + case 679: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3538 +//line sql.y:3548 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } - case 677: + case 680: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3542 +//line sql.y:3552 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } - case 678: + case 681: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3548 +//line sql.y:3558 { yyVAL.statement = &Begin{} } - case 679: + case 682: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3552 +//line sql.y:3562 { yyVAL.statement = yyDollar[1].statement } - case 680: + case 683: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3558 +//line sql.y:3568 { yyVAL.statement = &Begin{} } - case 681: + case 684: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3562 +//line sql.y:3572 { yyVAL.statement = &Begin{TransactionCharacteristic: TxReadWrite} } - case 682: + case 685: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3566 +//line sql.y:3576 { yyVAL.statement = &Begin{TransactionCharacteristic: TxReadOnly} } - case 683: + case 686: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3572 +//line sql.y:3582 { yyVAL.statement = &Commit{} } - case 684: + case 687: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3578 +//line sql.y:3588 { yyVAL.statement = &Rollback{} } - case 685: + case 688: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3584 +//line sql.y:3594 { yyVAL.statement = &Savepoint{Identifier: string(yyDollar[2].bytes)} } - case 686: + case 689: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3590 +//line sql.y:3600 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[3].bytes)} } - case 687: + case 690: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3594 +//line sql.y:3604 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[4].bytes)} } - case 688: + case 691: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3598 +//line sql.y:3608 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[4].bytes)} } - case 689: + case 692: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3602 +//line sql.y:3612 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[5].bytes)} } - case 690: + case 693: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3608 +//line sql.y:3618 { yyVAL.statement = &ReleaseSavepoint{Identifier: string(yyDollar[3].bytes)} } - case 691: + case 694: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3613 +//line sql.y:3623 { } - case 692: + case 695: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3614 +//line sql.y:3624 { } - case 693: + case 696: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3618 +//line sql.y:3628 { yyVAL.statement = &Explain{ExplainFormat: yyDollar[2].str, Statement: yyDollar[3].statement} } - case 694: + case 697: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3622 +//line sql.y:3632 { yyVAL.statement = &Explain{Analyze: true, ExplainFormat: TreeStr, Statement: yyDollar[3].selStmt} } - case 695: + case 698: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3628 +//line sql.y:3638 { yyVAL.statement = yyDollar[1].selStmt } - case 699: + case 702: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3636 +//line sql.y:3646 { yyVAL.str = "" } - case 700: + case 703: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3640 +//line sql.y:3650 { yyVAL.str = string(yyDollar[3].bytes) } - case 703: + case 706: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3651 +//line sql.y:3661 { yyVAL.statement = &Show{Type: "columns", OnTable: yyDollar[2].tableName} } - case 704: + case 707: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3656 +//line sql.y:3666 { setAllowComments(yylex, true) } - case 705: + case 708: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3660 +//line sql.y:3670 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 706: + case 709: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3666 +//line sql.y:3676 { yyVAL.bytes2 = nil } - case 707: + case 710: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3670 +//line sql.y:3680 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 708: + case 711: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3676 +//line sql.y:3686 { yyVAL.str = UnionStr } - case 709: + case 712: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3680 +//line sql.y:3690 { yyVAL.str = UnionAllStr } - case 710: + case 713: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3684 +//line sql.y:3694 { yyVAL.str = UnionDistinctStr } - case 711: + case 714: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3689 +//line sql.y:3699 { yyVAL.byt = 0 } - case 712: + case 715: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3693 +//line sql.y:3703 { yyVAL.byt = 1 } - case 713: + case 716: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3698 +//line sql.y:3708 { yyVAL.str = "" } - case 714: + case 717: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3702 +//line sql.y:3712 { yyVAL.str = SQLNoCacheStr } - case 715: + case 718: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3706 +//line sql.y:3716 { yyVAL.str = SQLCacheStr } - case 716: + case 719: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3711 +//line sql.y:3721 { yyVAL.str = "" } - case 717: + case 720: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3715 +//line sql.y:3725 { yyVAL.str = "" } - case 718: + case 721: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3719 +//line sql.y:3729 { yyVAL.str = DistinctStr } - case 719: + case 722: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3724 +//line sql.y:3734 { yyVAL.str = "" } - case 720: + case 723: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3728 +//line sql.y:3738 { yyVAL.str = StraightJoinHint } - case 721: + case 724: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3734 +//line sql.y:3744 { if ae, ok := yyDollar[2].selectExpr.(*AliasedExpr); ok { ae.StartParsePos = yyDollar[1].int @@ -10441,9 +10455,9 @@ yydefault: } yyVAL.selectExprs = SelectExprs{yyDollar[2].selectExpr} } - case 722: + case 725: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3742 +//line sql.y:3752 { if ae, ok := yyDollar[4].selectExpr.(*AliasedExpr); ok { ae.StartParsePos = yyDollar[3].int @@ -10451,129 +10465,129 @@ yydefault: } yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[4].selectExpr) } - case 723: + case 726: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3753 +//line sql.y:3763 { yyVAL.selectExpr = &StarExpr{} } - case 724: + case 727: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3757 +//line sql.y:3767 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr} } - case 725: + case 728: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3761 +//line sql.y:3771 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 726: + case 729: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3765 +//line sql.y:3775 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 727: + case 730: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3771 +//line sql.y:3781 { yyVAL.selectExpr = &StarExpr{} } - case 728: + case 731: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3775 +//line sql.y:3785 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 729: + case 732: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3779 +//line sql.y:3789 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 730: + case 733: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3783 +//line sql.y:3793 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 731: + case 734: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3789 +//line sql.y:3799 { yyVAL.over = &Over{NameRef: yyDollar[2].colIdent} } - case 732: + case 735: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3793 +//line sql.y:3803 { yyVAL.over = (*Over)(yyDollar[2].windowDef) } - case 733: + case 736: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3799 +//line sql.y:3809 { yyVAL.windowDef = &WindowDef{NameRef: yyDollar[2].colIdent, PartitionBy: yyDollar[3].exprs, OrderBy: yyDollar[4].orderBy, Frame: yyDollar[5].frame} } - case 734: + case 737: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3804 +//line sql.y:3814 { yyVAL.colIdent = ColIdent{} } - case 735: + case 738: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3807 +//line sql.y:3817 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 736: + case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3812 +//line sql.y:3822 { yyVAL.exprs = nil } - case 737: + case 740: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3816 +//line sql.y:3826 { yyVAL.exprs = yyDollar[3].exprs } - case 738: + case 741: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3821 +//line sql.y:3831 { yyVAL.over = nil } - case 739: + case 742: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3825 +//line sql.y:3835 { yyVAL.over = yyDollar[1].over } - case 740: + case 743: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3830 +//line sql.y:3840 { yyVAL.frame = nil } - case 741: + case 744: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3834 +//line sql.y:3844 { yyVAL.frame = &Frame{Unit: RowsUnit, Extent: yyDollar[2].frameExtent} } - case 742: + case 745: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3838 +//line sql.y:3848 { yyVAL.frame = &Frame{Unit: RangeUnit, Extent: yyDollar[2].frameExtent} } - case 743: + case 746: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3845 +//line sql.y:3855 { startBound := yyDollar[2].frameBound endBound := yyDollar[4].frameBound @@ -10596,9 +10610,9 @@ yydefault: } yyVAL.frameExtent = &FrameExtent{Start: startBound, End: endBound} } - case 744: + case 747: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3868 +//line sql.y:3878 { startBound := yyDollar[1].frameBound switch { @@ -10611,149 +10625,149 @@ yydefault: } yyVAL.frameExtent = &FrameExtent{Start: startBound} } - case 745: + case 748: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3883 +//line sql.y:3893 { yyVAL.frameBound = &FrameBound{Type: UnboundedPreceding} } - case 746: + case 749: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3887 +//line sql.y:3897 { yyVAL.frameBound = &FrameBound{Type: UnboundedFollowing} } - case 747: + case 750: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3891 +//line sql.y:3901 { yyVAL.frameBound = &FrameBound{Type: CurrentRow} } - case 748: + case 751: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3895 +//line sql.y:3905 { yyVAL.frameBound = &FrameBound{ Expr: yyDollar[1].expr, Type: ExprPreceding, } } - case 749: + case 752: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3902 +//line sql.y:3912 { yyVAL.frameBound = &FrameBound{ Expr: yyDollar[1].expr, Type: ExprFollowing, } } - case 750: + case 753: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3910 +//line sql.y:3920 { yyVAL.window = nil } - case 751: + case 754: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3913 +//line sql.y:3923 { yyVAL.window = yyDollar[2].window } - case 752: + case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3919 +//line sql.y:3929 { yyVAL.window = Window{yyDollar[1].windowDef} } - case 753: + case 756: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3922 +//line sql.y:3932 { yyVAL.window = append(yyDollar[1].window, yyDollar[3].windowDef) } - case 754: + case 757: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3928 +//line sql.y:3938 { def := yyDollar[3].windowDef def.Name = yyDollar[1].colIdent yyVAL.windowDef = def } - case 755: + case 758: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3937 +//line sql.y:3947 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 756: + case 759: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3941 +//line sql.y:3951 { yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 757: + case 760: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3946 +//line sql.y:3956 { yyVAL.colIdent = ColIdent{} } - case 758: + case 761: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3950 +//line sql.y:3960 { yyVAL.colIdent = yyDollar[1].colIdent } - case 759: + case 762: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3954 +//line sql.y:3964 { yyVAL.colIdent = yyDollar[2].colIdent } - case 760: + case 763: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3960 +//line sql.y:3970 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 761: + case 764: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3964 +//line sql.y:3974 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 762: + case 765: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3968 +//line sql.y:3978 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 763: + case 766: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3972 +//line sql.y:3982 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 764: + case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3978 +//line sql.y:3988 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 765: + case 768: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3982 +//line sql.y:3992 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 768: + case 771: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3992 +//line sql.y:4002 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 769: + case 772: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3996 +//line sql.y:4006 { switch n := yyDollar[1].simpleTableExpr.(type) { case *Subquery: @@ -10763,272 +10777,272 @@ yydefault: } yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].simpleTableExpr, As: yyDollar[3].tableIdent} } - case 770: + case 773: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4006 +//line sql.y:4016 { // missed alias for subquery yylex.Error("Every derived table must have its own alias") return 1 } - case 771: + case 774: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4012 +//line sql.y:4022 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 772: + case 775: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4018 +//line sql.y:4028 { yyVAL.simpleTableExpr = &ValuesStatement{Rows: yyDollar[2].values} } - case 773: + case 776: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4024 +//line sql.y:4034 { yyVAL.values = Values{yyDollar[2].valTuple} } - case 774: + case 777: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4028 +//line sql.y:4038 { yyVAL.values = append(yyVAL.values, yyDollar[4].valTuple) } - case 775: + case 778: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4034 +//line sql.y:4044 { yyVAL.aliasedTableName = yyDollar[2].aliasedTableName yyVAL.aliasedTableName.Expr = yyDollar[1].tableName } - case 776: + case 779: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4039 +//line sql.y:4049 { yyVAL.aliasedTableName = yyDollar[6].aliasedTableName yyVAL.aliasedTableName.Expr = yyDollar[1].tableName yyVAL.aliasedTableName.Partitions = yyDollar[4].partitions } - case 777: + case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4050 +//line sql.y:4060 { yyVAL.aliasedTableName = &AliasedTableExpr{Hints: yyDollar[1].indexHints} } - case 778: + case 781: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4054 +//line sql.y:4064 { yyVAL.aliasedTableName = &AliasedTableExpr{AsOf: &AsOf{Time: yyDollar[3].expr}, Hints: yyDollar[4].indexHints} } - case 779: + case 782: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4058 +//line sql.y:4068 { yyVAL.aliasedTableName = &AliasedTableExpr{AsOf: &AsOf{Time: yyDollar[3].expr}, As: yyDollar[5].tableIdent, Hints: yyDollar[6].indexHints} } - case 780: + case 783: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4062 +//line sql.y:4072 { yyVAL.aliasedTableName = &AliasedTableExpr{As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 781: + case 784: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4066 +//line sql.y:4076 { yyVAL.aliasedTableName = &AliasedTableExpr{As: yyDollar[1].tableIdent, Hints: yyDollar[2].indexHints} } - case 782: + case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4077 +//line sql.y:4087 { yyVAL.expr = nil } - case 783: + case 786: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4081 +//line sql.y:4091 { yyVAL.expr = yyDollar[3].expr } - case 784: + case 787: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4086 +//line sql.y:4096 { yyVAL.columns = nil } - case 785: + case 788: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4090 +//line sql.y:4100 { yyVAL.columns = yyDollar[2].columns } - case 786: + case 789: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4096 +//line sql.y:4106 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 787: + case 790: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4100 +//line sql.y:4110 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 788: + case 791: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4106 +//line sql.y:4116 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 789: + case 792: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4110 +//line sql.y:4120 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 790: + case 793: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4123 +//line sql.y:4133 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 791: + case 794: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4127 +//line sql.y:4137 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 792: + case 795: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4131 +//line sql.y:4141 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 793: + case 796: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4135 +//line sql.y:4145 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr} } - case 794: + case 797: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4141 +//line sql.y:4151 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 795: + case 798: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4143 +//line sql.y:4153 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 796: + case 799: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4147 +//line sql.y:4157 { yyVAL.joinCondition = JoinCondition{} } - case 797: + case 800: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4149 +//line sql.y:4159 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 798: + case 801: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4153 +//line sql.y:4163 { yyVAL.joinCondition = JoinCondition{} } - case 799: + case 802: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4155 +//line sql.y:4165 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 800: + case 803: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4158 +//line sql.y:4168 { yyVAL.empty = struct{}{} } - case 801: + case 804: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4160 +//line sql.y:4170 { yyVAL.empty = struct{}{} } - case 803: + case 806: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4165 +//line sql.y:4175 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 804: + case 807: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4169 +//line sql.y:4179 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 805: + case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4175 +//line sql.y:4185 { yyVAL.str = JoinStr } - case 806: + case 809: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4179 +//line sql.y:4189 { yyVAL.str = JoinStr } - case 807: + case 810: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4183 +//line sql.y:4193 { yyVAL.str = JoinStr } - case 808: + case 811: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4189 +//line sql.y:4199 { yyVAL.str = StraightJoinStr } - case 809: + case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4195 +//line sql.y:4205 { yyVAL.str = LeftJoinStr } - case 810: + case 813: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4199 +//line sql.y:4209 { yyVAL.str = LeftJoinStr } - case 811: + case 814: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4203 +//line sql.y:4213 { yyVAL.str = RightJoinStr } - case 812: + case 815: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4207 +//line sql.y:4217 { yyVAL.str = RightJoinStr } - case 813: + case 816: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4213 +//line sql.y:4223 { yyVAL.str = NaturalJoinStr } - case 814: + case 817: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4217 +//line sql.y:4227 { if yyDollar[2].str == LeftJoinStr { yyVAL.str = NaturalLeftJoinStr @@ -11036,507 +11050,507 @@ yydefault: yyVAL.str = NaturalRightJoinStr } } - case 815: + case 818: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4227 +//line sql.y:4237 { yyVAL.tableName = yyDollar[3].tableName } - case 816: + case 819: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4233 +//line sql.y:4243 { yyVAL.tableName = yyDollar[2].tableName } - case 817: + case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4237 +//line sql.y:4247 { yyVAL.tableName = yyDollar[1].tableName } - case 818: + case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4243 +//line sql.y:4253 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 819: + case 822: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4247 +//line sql.y:4257 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 820: + case 823: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4253 +//line sql.y:4263 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 821: + case 824: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4258 +//line sql.y:4268 { yyVAL.indexHints = nil } - case 822: + case 825: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4262 +//line sql.y:4272 { yyVAL.indexHints = &IndexHints{Type: UseStr, Indexes: yyDollar[4].columns} } - case 823: + case 826: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4266 +//line sql.y:4276 { yyVAL.indexHints = &IndexHints{Type: IgnoreStr, Indexes: yyDollar[4].columns} } - case 824: + case 827: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4270 +//line sql.y:4280 { yyVAL.indexHints = &IndexHints{Type: ForceStr, Indexes: yyDollar[4].columns} } - case 825: + case 828: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4275 +//line sql.y:4285 { yyVAL.expr = nil } - case 826: + case 829: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4279 +//line sql.y:4289 { yyVAL.expr = yyDollar[2].expr } - case 827: + case 830: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4285 +//line sql.y:4295 { yyVAL.expr = yyDollar[1].expr } - case 828: + case 831: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4289 +//line sql.y:4299 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 829: + case 832: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4293 +//line sql.y:4303 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 830: + case 833: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4297 +//line sql.y:4307 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 831: + case 834: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4301 +//line sql.y:4311 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].str, Expr: yyDollar[1].expr} } - case 832: + case 835: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4305 +//line sql.y:4315 { yyVAL.expr = yyDollar[1].expr } - case 833: + case 836: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4309 +//line sql.y:4319 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 834: + case 837: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4315 +//line sql.y:4325 { yyVAL.str = "" } - case 835: + case 838: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4319 +//line sql.y:4329 { yyVAL.str = string(yyDollar[2].bytes) } - case 836: + case 839: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4325 +//line sql.y:4335 { yyVAL.boolVal = BoolVal(true) } - case 837: + case 840: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4329 +//line sql.y:4339 { yyVAL.boolVal = BoolVal(false) } - case 838: + case 841: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4335 +//line sql.y:4345 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].str, Right: yyDollar[3].expr} } - case 839: + case 842: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4339 +//line sql.y:4349 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InStr, Right: yyDollar[3].colTuple} } - case 840: + case 843: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4343 +//line sql.y:4353 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInStr, Right: yyDollar[4].colTuple} } - case 841: + case 844: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4347 +//line sql.y:4357 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeStr, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } - case 842: + case 845: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4351 +//line sql.y:4361 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeStr, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } - case 843: + case 846: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4355 +//line sql.y:4365 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpStr, Right: yyDollar[3].expr} } - case 844: + case 847: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4359 +//line sql.y:4369 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpStr, Right: yyDollar[4].expr} } - case 845: + case 848: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4363 +//line sql.y:4373 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenStr, From: yyDollar[3].expr, To: yyDollar[5].expr} } - case 846: + case 849: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4367 +//line sql.y:4377 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenStr, From: yyDollar[4].expr, To: yyDollar[6].expr} } - case 847: + case 850: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4371 +//line sql.y:4381 { yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } - case 848: + case 851: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4377 +//line sql.y:4387 { yyVAL.str = IsNullStr } - case 849: + case 852: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4381 +//line sql.y:4391 { yyVAL.str = IsNotNullStr } - case 850: + case 853: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4385 +//line sql.y:4395 { yyVAL.str = IsTrueStr } - case 851: + case 854: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4389 +//line sql.y:4399 { yyVAL.str = IsNotTrueStr } - case 852: + case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4393 +//line sql.y:4403 { yyVAL.str = IsFalseStr } - case 853: + case 856: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4397 +//line sql.y:4407 { yyVAL.str = IsNotFalseStr } - case 854: + case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4403 +//line sql.y:4413 { yyVAL.str = EqualStr } - case 855: + case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4407 +//line sql.y:4417 { yyVAL.str = LessThanStr } - case 856: + case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4411 +//line sql.y:4421 { yyVAL.str = GreaterThanStr } - case 857: + case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4415 +//line sql.y:4425 { yyVAL.str = LessEqualStr } - case 858: + case 861: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4419 +//line sql.y:4429 { yyVAL.str = GreaterEqualStr } - case 859: + case 862: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4423 +//line sql.y:4433 { yyVAL.str = NotEqualStr } - case 860: + case 863: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4427 +//line sql.y:4437 { yyVAL.str = NullSafeEqualStr } - case 861: + case 864: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4432 +//line sql.y:4442 { yyVAL.expr = nil } - case 862: + case 865: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4436 +//line sql.y:4446 { yyVAL.expr = yyDollar[2].expr } - case 863: + case 866: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4442 +//line sql.y:4452 { yyVAL.colTuple = yyDollar[1].valTuple } - case 864: + case 867: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4446 +//line sql.y:4456 { yyVAL.colTuple = yyDollar[1].subquery } - case 865: + case 868: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4450 +//line sql.y:4460 { yyVAL.colTuple = ListArg(yyDollar[1].bytes) } - case 866: + case 869: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4456 +//line sql.y:4466 { yyVAL.subquery = &Subquery{Select: yyDollar[2].selStmt} } - case 867: + case 870: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4462 +//line sql.y:4472 { yyVAL.simpleTableExpr = yyDollar[1].subquery } - case 868: + case 871: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4466 +//line sql.y:4476 { yyVAL.simpleTableExpr = yyDollar[2].simpleTableExpr } - case 869: + case 872: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4472 +//line sql.y:4482 { yyVAL.selectExprs = nil } - case 871: + case 874: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4479 +//line sql.y:4489 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 872: + case 875: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4483 +//line sql.y:4493 { yyVAL.selectExprs = append(yyDollar[1].selectExprs, yyDollar[3].selectExpr) } - case 873: + case 876: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4489 +//line sql.y:4499 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 874: + case 877: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4493 +//line sql.y:4503 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 875: + case 878: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4499 +//line sql.y:4509 { yyVAL.expr = yyDollar[1].expr } - case 876: + case 879: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4503 +//line sql.y:4513 { yyVAL.expr = &ColName{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 877: + case 880: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4507 +//line sql.y:4517 { yyVAL.expr = yyDollar[1].boolVal } - case 878: + case 881: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4511 +//line sql.y:4521 { yyVAL.expr = yyDollar[1].colName } - case 879: + case 882: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4515 +//line sql.y:4525 { yyVAL.expr = yyDollar[1].expr } - case 880: + case 883: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4519 +//line sql.y:4529 { yyVAL.expr = yyDollar[1].subquery } - case 881: + case 884: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4523 +//line sql.y:4533 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr} } - case 882: + case 885: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4527 +//line sql.y:4537 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr} } - case 883: + case 886: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4531 +//line sql.y:4541 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr} } - case 884: + case 887: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4535 +//line sql.y:4545 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr} } - case 885: + case 888: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4539 +//line sql.y:4549 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr} } - case 886: + case 889: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4543 +//line sql.y:4553 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr} } - case 887: + case 890: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4547 +//line sql.y:4557 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr} } - case 888: + case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4551 +//line sql.y:4561 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr} } - case 889: + case 892: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4555 +//line sql.y:4565 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } - case 890: + case 893: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4559 +//line sql.y:4569 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } - case 891: + case 894: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4563 +//line sql.y:4573 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr} } - case 892: + case 895: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4567 +//line sql.y:4577 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr} } - case 893: + case 896: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4571 +//line sql.y:4581 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } - case 894: + case 897: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4575 +//line sql.y:4585 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } - case 895: + case 898: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4579 +//line sql.y:4589 { yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } - case 896: + case 899: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4583 +//line sql.y:4593 { yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr} } - case 897: + case 900: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4587 +//line sql.y:4597 { yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr} } - case 898: + case 901: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4591 +//line sql.y:4601 { yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr} } - case 899: + case 902: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4595 +//line sql.y:4605 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { yyVAL.expr = num @@ -11544,9 +11558,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusStr, Expr: yyDollar[2].expr} } } - case 900: + case 903: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4603 +//line sql.y:4613 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { // Handle double negative @@ -11560,21 +11574,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusStr, Expr: yyDollar[2].expr} } } - case 901: + case 904: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4617 +//line sql.y:4627 { yyVAL.expr = &UnaryExpr{Operator: TildaStr, Expr: yyDollar[2].expr} } - case 902: + case 905: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4621 +//line sql.y:4631 { yyVAL.expr = &UnaryExpr{Operator: BangStr, Expr: yyDollar[2].expr} } - case 903: + case 906: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4625 +//line sql.y:4635 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -11582,991 +11596,991 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 910: + case 913: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4645 +//line sql.y:4655 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: yyDollar[3].str == DistinctStr, Exprs: yyDollar[4].selectExprs} } - case 911: + case 914: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4649 +//line sql.y:4659 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 912: + case 915: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4659 +//line sql.y:4669 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 913: + case 916: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4663 +//line sql.y:4673 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 914: + case 917: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4667 +//line sql.y:4677 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 915: + case 918: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4671 +//line sql.y:4681 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 916: + case 919: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4675 +//line sql.y:4685 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 917: + case 920: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4679 +//line sql.y:4689 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 918: + case 921: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4683 +//line sql.y:4693 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 919: + case 922: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4687 +//line sql.y:4697 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 920: + case 923: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4691 +//line sql.y:4701 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 921: + case 924: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4695 +//line sql.y:4705 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 922: + case 925: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4699 +//line sql.y:4709 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 923: + case 926: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4703 +//line sql.y:4713 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 924: + case 927: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4707 +//line sql.y:4717 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 925: + case 928: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4711 +//line sql.y:4721 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 926: + case 929: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4715 +//line sql.y:4725 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 927: + case 930: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4719 +//line sql.y:4729 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 928: + case 931: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4723 +//line sql.y:4733 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 929: + case 932: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4732 +//line sql.y:4742 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 930: + case 933: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4736 +//line sql.y:4746 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 931: + case 934: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4740 +//line sql.y:4750 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: SelectExprs{yyDollar[3].selectExpr}, Over: yyDollar[5].over} } - case 932: + case 935: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4744 +//line sql.y:4754 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 933: + case 936: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4748 +//line sql.y:4758 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: SelectExprs{yyDollar[3].selectExpr}, Over: yyDollar[5].over} } - case 934: + case 937: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4752 +//line sql.y:4762 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 935: + case 938: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4756 +//line sql.y:4766 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 936: + case 939: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4760 +//line sql.y:4770 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 937: + case 940: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4764 +//line sql.y:4774 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 938: + case 941: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4768 +//line sql.y:4778 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 939: + case 942: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4772 +//line sql.y:4782 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 940: + case 943: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4783 +//line sql.y:4793 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 941: + case 944: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4787 +//line sql.y:4797 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 942: + case 945: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4791 +//line sql.y:4801 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 943: + case 946: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4795 +//line sql.y:4805 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 944: + case 947: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4799 +//line sql.y:4809 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 945: + case 948: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4803 +//line sql.y:4813 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 946: + case 949: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4807 +//line sql.y:4817 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } - case 947: + case 950: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4811 +//line sql.y:4821 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 948: + case 951: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4815 +//line sql.y:4825 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 949: + case 952: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4819 +//line sql.y:4829 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 950: + case 953: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4823 +//line sql.y:4833 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 951: + case 954: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4827 +//line sql.y:4837 { yyVAL.expr = &TrimExpr{Pattern: NewStrVal([]byte(" ")), Str: yyDollar[3].expr, Dir: Both} } - case 952: + case 955: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4831 +//line sql.y:4841 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[3].expr, Str: yyDollar[5].expr, Dir: Both} } - case 953: + case 956: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4835 +//line sql.y:4845 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Leading} } - case 954: + case 957: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4839 +//line sql.y:4849 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Trailing} } - case 955: + case 958: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4843 +//line sql.y:4853 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Both} } - case 956: + case 959: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:4847 +//line sql.y:4857 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].str} } - case 957: + case 960: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4851 +//line sql.y:4861 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 958: + case 961: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4855 +//line sql.y:4865 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].str, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str} } - case 959: + case 962: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4859 +//line sql.y:4869 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } - case 960: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4863 - { - yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} - } - case 961: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4873 - { - yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} - } - case 962: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4877 - { - yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} - } case 963: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4881 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:4873 { - yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} + yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } case 964: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4886 +//line sql.y:4883 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 965: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4891 +//line sql.y:4887 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 966: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4896 +//line sql.y:4891 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 967: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4902 +//line sql.y:4896 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 968: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4907 +//line sql.y:4901 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 969: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4911 +//line sql.y:4906 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 970: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4916 +//line sql.y:4912 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} + yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 971: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4920 +//line sql.y:4917 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} + yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 972: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4924 +//line sql.y:4921 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} + yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 973: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4929 +//line sql.y:4926 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } case 974: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4934 +//line sql.y:4930 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } case 975: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4939 +//line sql.y:4934 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } case 976: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:4939 + { + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} + } + case 977: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:4944 + { + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} + } + case 978: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:4949 + { + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} + } + case 979: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4943 +//line sql.y:4953 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 977: + case 980: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4947 +//line sql.y:4957 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 980: + case 983: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4958 +//line sql.y:4968 { yyVAL.expr = yyDollar[2].expr } - case 981: + case 984: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4968 +//line sql.y:4978 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 982: + case 985: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4972 +//line sql.y:4982 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 983: + case 986: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4976 +//line sql.y:4986 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 984: + case 987: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4980 +//line sql.y:4990 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 985: + case 988: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4984 +//line sql.y:4994 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 986: + case 989: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4988 +//line sql.y:4998 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 987: + case 990: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4994 +//line sql.y:5004 { yyVAL.str = "" } - case 988: + case 991: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4998 +//line sql.y:5008 { yyVAL.str = BooleanModeStr } - case 989: + case 992: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5002 +//line sql.y:5012 { yyVAL.str = NaturalLanguageModeStr } - case 990: + case 993: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:5006 +//line sql.y:5016 { yyVAL.str = NaturalLanguageModeWithQueryExpansionStr } - case 991: + case 994: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5010 +//line sql.y:5020 { yyVAL.str = QueryExpansionStr } - case 992: + case 995: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5016 +//line sql.y:5026 { yyVAL.str = string(yyDollar[1].bytes) } - case 993: + case 996: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5020 +//line sql.y:5030 { yyVAL.str = string(yyDollar[1].bytes) } - case 994: + case 997: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5026 +//line sql.y:5036 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 995: + case 998: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5030 +//line sql.y:5040 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Operator: CharacterSetStr} } - case 996: + case 999: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5034 +//line sql.y:5044 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: string(yyDollar[3].bytes)} } - case 997: + case 1000: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5038 +//line sql.y:5048 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 998: + case 1001: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5042 +//line sql.y:5052 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 999: + case 1002: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5046 +//line sql.y:5056 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 1000: + case 1003: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5052 +//line sql.y:5062 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1001: + case 1004: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5056 +//line sql.y:5066 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 1002: + case 1005: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5060 +//line sql.y:5070 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1003: + case 1006: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5064 +//line sql.y:5074 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1004: + case 1007: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5068 +//line sql.y:5078 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 1005: + case 1008: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5072 +//line sql.y:5082 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1006: + case 1009: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5076 +//line sql.y:5086 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1007: + case 1010: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5081 +//line sql.y:5091 { yyVAL.expr = nil } - case 1008: + case 1011: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5085 +//line sql.y:5095 { yyVAL.expr = yyDollar[1].expr } - case 1009: + case 1012: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5090 +//line sql.y:5100 { yyVAL.str = string("") } - case 1010: + case 1013: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5094 +//line sql.y:5104 { yyVAL.str = string(yyDollar[2].bytes) } - case 1011: + case 1014: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5100 +//line sql.y:5110 { yyVAL.whens = []*When{yyDollar[1].when} } - case 1012: + case 1015: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5104 +//line sql.y:5114 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 1013: + case 1016: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5110 +//line sql.y:5120 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 1014: + case 1017: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5115 +//line sql.y:5125 { yyVAL.expr = nil } - case 1015: + case 1018: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5119 +//line sql.y:5129 { yyVAL.expr = yyDollar[2].expr } - case 1016: + case 1019: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5125 +//line sql.y:5135 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 1017: + case 1020: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5129 +//line sql.y:5139 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 1018: + case 1021: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5133 +//line sql.y:5143 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 1019: + case 1022: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5139 +//line sql.y:5149 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 1020: + case 1023: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5143 +//line sql.y:5153 { yyVAL.expr = NewHexVal(yyDollar[1].bytes) } - case 1021: + case 1024: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5147 +//line sql.y:5157 { yyVAL.expr = NewBitVal(yyDollar[1].bytes) } - case 1022: + case 1025: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5151 +//line sql.y:5161 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1023: + case 1026: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5155 +//line sql.y:5165 { yyVAL.expr = NewFloatVal(yyDollar[1].bytes) } - case 1024: + case 1027: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5159 +//line sql.y:5169 { yyVAL.expr = NewHexNum(yyDollar[1].bytes) } - case 1025: + case 1028: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5163 +//line sql.y:5173 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1026: + case 1029: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5167 +//line sql.y:5177 { yyVAL.expr = &NullVal{} } - case 1027: + case 1030: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5173 +//line sql.y:5183 { yyVAL.expr = NewIntVal([]byte("1")) } - case 1028: + case 1031: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5177 +//line sql.y:5187 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1029: + case 1032: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5181 +//line sql.y:5191 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1030: + case 1033: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5186 +//line sql.y:5196 { yyVAL.exprs = nil } - case 1031: + case 1034: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5190 +//line sql.y:5200 { yyVAL.exprs = yyDollar[3].exprs } - case 1032: + case 1035: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5196 +//line sql.y:5206 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 1033: + case 1036: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5200 +//line sql.y:5210 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 1034: + case 1037: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5206 +//line sql.y:5216 { yyVAL.expr = yyDollar[1].expr } - case 1035: + case 1038: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5211 +//line sql.y:5221 { yyVAL.expr = nil } - case 1036: + case 1039: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5215 +//line sql.y:5225 { yyVAL.expr = yyDollar[2].expr } - case 1037: + case 1040: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5221 +//line sql.y:5231 { yyVAL.expr = yyDollar[1].expr } - case 1038: + case 1041: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5226 +//line sql.y:5236 { yyVAL.orderBy = nil } - case 1039: + case 1042: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5230 +//line sql.y:5240 { yyVAL.orderBy = yyDollar[3].orderBy } - case 1040: + case 1043: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5236 +//line sql.y:5246 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 1041: + case 1044: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5240 +//line sql.y:5250 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 1042: + case 1045: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5246 +//line sql.y:5256 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].str} } - case 1043: + case 1046: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5251 +//line sql.y:5261 { yyVAL.str = AscScr } - case 1044: + case 1047: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5255 +//line sql.y:5265 { yyVAL.str = AscScr } - case 1045: + case 1048: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5259 +//line sql.y:5269 { yyVAL.str = DescScr } - case 1046: + case 1049: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5264 +//line sql.y:5274 { yyVAL.limit = nil } - case 1047: + case 1050: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5268 +//line sql.y:5278 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 1048: + case 1051: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5272 +//line sql.y:5282 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 1049: + case 1052: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5276 +//line sql.y:5286 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 1050: + case 1053: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5282 +//line sql.y:5292 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1051: + case 1054: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5286 +//line sql.y:5296 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1052: + case 1055: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5291 +//line sql.y:5301 { yyVAL.str = "" } - case 1053: + case 1056: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5295 +//line sql.y:5305 { yyVAL.str = ForUpdateStr } - case 1054: + case 1057: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5299 +//line sql.y:5309 { yyVAL.str = ShareModeStr } - case 1055: + case 1058: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5312 +//line sql.y:5322 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 1056: + case 1059: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5316 +//line sql.y:5326 { yyVAL.ins = &Insert{Columns: []ColIdent{}, Rows: yyDollar[4].values} } - case 1057: + case 1060: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5320 +//line sql.y:5330 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 1058: + case 1061: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5324 +//line sql.y:5334 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Rows: yyDollar[2].selStmt} } - case 1059: + case 1062: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5329 +//line sql.y:5339 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 1060: + case 1063: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5333 +//line sql.y:5343 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 1061: + case 1064: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:5337 +//line sql.y:5347 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].selStmt} } - case 1062: + case 1065: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5343 +//line sql.y:5353 { yyVAL.columns = nil } - case 1063: + case 1066: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5347 +//line sql.y:5357 { yyVAL.columns = yyDollar[2].columns } - case 1064: + case 1067: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5353 +//line sql.y:5363 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 1065: + case 1068: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5357 +//line sql.y:5367 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 1066: + case 1069: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5361 +//line sql.y:5371 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 1067: + case 1070: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5365 +//line sql.y:5375 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 1068: + case 1071: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5370 +//line sql.y:5380 { yyVAL.assignExprs = nil } - case 1069: + case 1072: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5374 +//line sql.y:5384 { yyVAL.assignExprs = yyDollar[5].assignExprs } - case 1070: + case 1073: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5380 +//line sql.y:5390 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 1071: + case 1074: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5384 +//line sql.y:5394 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 1072: + case 1075: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5390 +//line sql.y:5400 { yyVAL.valTuple = yyDollar[1].valTuple } - case 1073: + case 1076: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5394 +//line sql.y:5404 { yyVAL.valTuple = ValTuple{} } - case 1074: + case 1077: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5400 +//line sql.y:5410 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 1075: + case 1078: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5406 +//line sql.y:5416 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = &ParenExpr{yyDollar[1].valTuple[0]} @@ -12574,45 +12588,45 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 1076: + case 1079: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5416 +//line sql.y:5426 { yyVAL.assignExprs = AssignmentExprs{yyDollar[1].assignExpr} } - case 1077: + case 1080: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5420 +//line sql.y:5430 { yyVAL.assignExprs = append(yyDollar[1].assignExprs, yyDollar[3].assignExpr) } - case 1078: + case 1081: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5426 +//line sql.y:5436 { yyVAL.assignExpr = &AssignmentExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 1079: + case 1082: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5429 +//line sql.y:5439 { yyVAL.assignExpr = &AssignmentExpr{Name: &ColName{Name: NewColIdent(string(yyDollar[1].bytes))}, Expr: yyDollar[3].expr} } - case 1080: + case 1083: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5435 +//line sql.y:5445 { yyVAL.setVarExprs = SetVarExprs{yyDollar[1].setVarExpr} } - case 1081: + case 1084: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5439 +//line sql.y:5449 { yyVAL.setVarExprs = append(yyDollar[1].setVarExprs, yyDollar[3].setVarExpr) } - case 1082: + case 1085: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5445 +//line sql.y:5455 { colName, scope, err := VarScopeForColName(yyDollar[1].setVarExpr.Name) if err != nil { @@ -12623,9 +12637,9 @@ yydefault: yyDollar[1].setVarExpr.Scope = scope yyVAL.setVarExpr = yyDollar[1].setVarExpr } - case 1083: + case 1086: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5456 +//line sql.y:5466 { _, scope, err := VarScopeForColName(yyDollar[2].setVarExpr.Name) if err != nil { @@ -12638,9 +12652,9 @@ yydefault: yyDollar[2].setVarExpr.Scope = yyDollar[1].setScope yyVAL.setVarExpr = yyDollar[2].setVarExpr } - case 1084: + case 1087: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5469 +//line sql.y:5479 { _, scope, err := VarScopeForColName(yyDollar[2].setVarExpr.Name) if err != nil { @@ -12653,462 +12667,462 @@ yydefault: yyDollar[2].setVarExpr.Scope = yyDollar[1].setScope yyVAL.setVarExpr = yyDollar[2].setVarExpr } - case 1085: + case 1088: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5482 +//line sql.y:5492 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(string(yyDollar[1].bytes)), Expr: yyDollar[2].expr, Scope: SetScope_Session} } - case 1086: + case 1089: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5488 +//line sql.y:5498 { yyVAL.setScope = SetScope_Global } - case 1087: + case 1090: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5492 +//line sql.y:5502 { yyVAL.setScope = SetScope_Session } - case 1088: + case 1091: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5498 +//line sql.y:5508 { yyVAL.setScope = SetScope_Session } - case 1089: + case 1092: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5502 +//line sql.y:5512 { yyVAL.setScope = SetScope_Persist } - case 1090: + case 1093: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5506 +//line sql.y:5516 { yyVAL.setScope = SetScope_PersistOnly } - case 1091: + case 1094: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5512 +//line sql.y:5522 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: NewStrVal(yyDollar[3].bytes), Scope: SetScope_None} } - case 1092: + case 1095: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5516 +//line sql.y:5526 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: NewStrVal(yyDollar[3].bytes), Scope: SetScope_None} } - case 1093: + case 1096: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5520 +//line sql.y:5530 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr, Scope: SetScope_None} } - case 1095: + case 1098: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5527 +//line sql.y:5537 { yyVAL.bytes = []byte("charset") } - case 1097: + case 1100: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5534 +//line sql.y:5544 { yyVAL.expr = NewStrVal([]byte(yyDollar[1].colIdent.String())) } - case 1098: + case 1101: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5538 +//line sql.y:5548 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 1099: + case 1102: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5542 +//line sql.y:5552 { yyVAL.expr = &Default{} } - case 1102: + case 1105: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5551 +//line sql.y:5561 { yyVAL.byt = 0 } - case 1103: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5553 +//line sql.y:5563 { yyVAL.byt = 1 } - case 1104: + case 1107: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5556 +//line sql.y:5566 { yyVAL.byt = 0 } - case 1105: + case 1108: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5558 +//line sql.y:5568 { yyVAL.byt = 1 } - case 1106: + case 1109: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5561 +//line sql.y:5571 { yyVAL.byt = 0 } - case 1107: + case 1110: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5563 +//line sql.y:5573 { yyVAL.byt = 1 } - case 1108: + case 1111: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5566 +//line sql.y:5576 { yyVAL.str = "" } - case 1109: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5568 +//line sql.y:5578 { yyVAL.str = IgnoreStr } - case 1110: + case 1113: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5571 +//line sql.y:5581 { yyVAL.sqlVal = nil } - case 1111: + case 1114: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5573 +//line sql.y:5583 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } - case 1112: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5577 +//line sql.y:5587 { yyVAL.empty = struct{}{} } - case 1113: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5579 +//line sql.y:5589 { yyVAL.empty = struct{}{} } - case 1114: + case 1117: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5582 +//line sql.y:5592 { yyVAL.empty = struct{}{} } - case 1115: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5584 +//line sql.y:5594 { yyVAL.empty = struct{}{} } - case 1116: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5586 +//line sql.y:5596 { yyVAL.empty = struct{}{} } - case 1117: + case 1120: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5590 +//line sql.y:5600 { yyVAL.str = UniqueStr } - case 1118: + case 1121: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5592 +//line sql.y:5602 { yyVAL.str = FulltextStr } - case 1119: + case 1122: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5594 +//line sql.y:5604 { yyVAL.str = SpatialStr } - case 1120: + case 1123: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5597 +//line sql.y:5607 { yyVAL.str = "" } - case 1121: + case 1124: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5599 +//line sql.y:5609 { yyVAL.str = yyDollar[1].str } - case 1122: + case 1125: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5602 +//line sql.y:5612 { yyVAL.colIdent = ColIdent{} } - case 1123: + case 1126: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5604 +//line sql.y:5614 { yyVAL.colIdent = yyDollar[2].colIdent } - case 1124: + case 1127: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5608 +//line sql.y:5618 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1125: + case 1128: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5612 +//line sql.y:5622 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1126: + case 1129: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5618 +//line sql.y:5628 { yyVAL.colIdents = []ColIdent{yyDollar[1].colIdent} } - case 1127: + case 1130: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5622 +//line sql.y:5632 { yyVAL.colIdents = append(yyVAL.colIdents, yyDollar[3].colIdent) } - case 1129: + case 1132: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5629 +//line sql.y:5639 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1130: + case 1133: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5635 +//line sql.y:5645 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1131: + case 1134: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5639 +//line sql.y:5649 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1133: + case 1136: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5646 +//line sql.y:5656 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1134: + case 1137: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5651 +//line sql.y:5661 { yyVAL.str = string("") } - case 1135: + case 1138: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5653 +//line sql.y:5663 { yyVAL.str = string(yyDollar[2].bytes) } - case 1136: + case 1139: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5656 +//line sql.y:5666 { yyVAL.boolVal = BoolVal(false) } - case 1137: + case 1140: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5658 +//line sql.y:5668 { yyVAL.boolVal = BoolVal(true) } - case 1138: + case 1141: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5661 +//line sql.y:5671 { yyVAL.EnclosedBy = nil } - case 1139: + case 1142: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5665 +//line sql.y:5675 { yyVAL.EnclosedBy = &EnclosedBy{Optionally: yyDollar[1].boolVal, Delim: NewStrVal(yyDollar[4].bytes)} } - case 1140: + case 1143: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5670 +//line sql.y:5680 { yyVAL.boolVal = BoolVal(false) } - case 1141: + case 1144: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5674 +//line sql.y:5684 { yyVAL.boolVal = BoolVal(true) } - case 1142: + case 1145: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5679 +//line sql.y:5689 { yyVAL.sqlVal = nil } - case 1143: + case 1146: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5683 +//line sql.y:5693 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1144: + case 1147: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5688 +//line sql.y:5698 { yyVAL.sqlVal = nil } - case 1145: + case 1148: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5692 +//line sql.y:5702 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1146: + case 1149: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5697 +//line sql.y:5707 { yyVAL.Fields = nil } - case 1147: + case 1150: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5701 +//line sql.y:5711 { yyVAL.Fields = &Fields{TerminatedBy: yyDollar[2].sqlVal, EnclosedBy: yyDollar[3].EnclosedBy, EscapedBy: yyDollar[4].sqlVal} } - case 1148: + case 1151: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5706 +//line sql.y:5716 { yyVAL.Lines = nil } - case 1149: + case 1152: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5710 +//line sql.y:5720 { yyVAL.Lines = &Lines{StartingBy: yyDollar[2].sqlVal, TerminatedBy: yyDollar[3].sqlVal} } - case 1150: + case 1153: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5715 +//line sql.y:5725 { yyVAL.sqlVal = nil } - case 1151: + case 1154: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5719 +//line sql.y:5729 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1152: + case 1155: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5725 +//line sql.y:5735 { yyVAL.statement = &LockTables{Tables: yyDollar[3].tableAndLockTypes} } - case 1153: + case 1156: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5731 +//line sql.y:5741 { yyVAL.tableAndLockTypes = TableAndLockTypes{yyDollar[1].tableAndLockType} } - case 1154: + case 1157: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5735 +//line sql.y:5745 { yyVAL.tableAndLockTypes = append(yyDollar[1].tableAndLockTypes, yyDollar[3].tableAndLockType) } - case 1155: + case 1158: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5741 +//line sql.y:5751 { yyVAL.tableAndLockType = &TableAndLockType{Table: &AliasedTableExpr{Expr: yyDollar[1].tableName}, Lock: yyDollar[2].lockType} } - case 1156: + case 1159: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5745 +//line sql.y:5755 { yyVAL.tableAndLockType = &TableAndLockType{Table: &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[3].tableIdent}, Lock: yyDollar[4].lockType} } - case 1157: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5751 +//line sql.y:5761 { yyVAL.lockType = LockRead } - case 1158: + case 1161: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5755 +//line sql.y:5765 { yyVAL.lockType = LockReadLocal } - case 1159: + case 1162: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5759 +//line sql.y:5769 { yyVAL.lockType = LockWrite } - case 1160: + case 1163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5763 +//line sql.y:5773 { yyVAL.lockType = LockLowPriorityWrite } - case 1161: + case 1164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5769 +//line sql.y:5779 { yyVAL.statement = &UnlockTables{} } - case 1162: + case 1165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5775 +//line sql.y:5785 { yyVAL.statement = &Kill{Connection: true, ConnID: NewIntVal(yyDollar[2].bytes)} } - case 1163: + case 1166: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5779 +//line sql.y:5789 { yyVAL.statement = &Kill{ConnID: NewIntVal(yyDollar[3].bytes)} } - case 1164: + case 1167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5783 +//line sql.y:5793 { yyVAL.statement = &Kill{Connection: true, ConnID: NewIntVal(yyDollar[3].bytes)} } - case 1599: + case 1603: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6247 +//line sql.y:6258 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1600: + case 1604: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6256 +//line sql.y:6267 { decNesting(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 0d637d435da..d1fff03031e 100755 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -244,7 +244,7 @@ func yyOldPosition(yylex interface{}) int { %token MAX_QUERIES_PER_HOUR MAX_UPDATES_PER_HOUR MAX_CONNECTIONS_PER_HOUR MAX_USER_CONNECTIONS FLUSH %token FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME UNBOUNDED REQUIRE PROXY ROUTINE TABLESPACE CLIENT SLAVE %token EVENT EXECUTE FILE RELOAD REPLICATION SHUTDOWN SUPER USAGE LOGS ENGINE ERROR GENERAL HOSTS -%token OPTIMIZER_COSTS RELAY SLOW USER_RESOURCES NO_WRITE_TO_BINLOG +%token OPTIMIZER_COSTS RELAY SLOW USER_RESOURCES NO_WRITE_TO_BINLOG CHANNEL // Transaction Tokens %token BEGIN START TRANSACTION COMMIT ROLLBACK SAVEPOINT WORK RELEASE @@ -432,6 +432,7 @@ func yyOldPosition(yylex interface{}) int { %type index_option_list index_option_list_opt %type flush_option %type flush_option_list flush_option_list_opt +%type relay_logs_attribute %type constraint_info check_constraint_info %type partition_definitions %type partition_definition @@ -2629,6 +2630,10 @@ flush_option: { $$ = &FlushOption{Name: string($1)} } +| RELAY LOGS relay_logs_attribute + { + $$ = &FlushOption{Name: string($1) + " " + string($2), Channel: $3} + } | SLOW LOGS { $$ = &FlushOption{Name: string($1) + " " + string($2)} @@ -2642,6 +2647,11 @@ flush_option: $$ = &FlushOption{Name: string($1)} } +relay_logs_attribute: + { $$ = "" } +| FOR CHANNEL STRING + { $$ = string($3) } + flush_type: NO_WRITE_TO_BINLOG { $$ = string($1) } @@ -5985,6 +5995,7 @@ non_reserved_keyword: | CASCADE | CATALOG_NAME | CHANGE +| CHANNEL | CHAR | CHARACTER | CHARSET diff --git a/go/vt/sqlparser/token.go b/go/vt/sqlparser/token.go index ccff3668230..f104b186510 100644 --- a/go/vt/sqlparser/token.go +++ b/go/vt/sqlparser/token.go @@ -137,6 +137,7 @@ var keywords = map[string]int{ "cast": CAST, "catalog_name": CATALOG_NAME, "change": CHANGE, + "channel": CHANNEL, "char": CHAR, "character": CHARACTER, "charset": CHARSET, From 59b1181c87ac74939e8de7a830c49aacf9260781 Mon Sep 17 00:00:00 2001 From: jennifersp Date: Wed, 2 Mar 2022 15:03:33 -0800 Subject: [PATCH 6/6] fix flush statements --- go/vt/sqlparser/ast.go | 16 +- go/vt/sqlparser/parse_test.go | 14 +- go/vt/sqlparser/sql.go | 11330 ++++++++++++++++---------------- go/vt/sqlparser/sql.y | 18 +- 4 files changed, 5679 insertions(+), 5699 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 1704059399d..bd06977190b 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2828,25 +2828,21 @@ type FlushOption struct { // Flush represents a Flush statement. type Flush struct{ Type string - Options []*FlushOption + Option *FlushOption } // Format formats the node. func (node *Flush) Format(buf *TrackedBuffer) { buf.WriteString("flush") - var opts []string - for _, opt := range node.Options { - opts = append(opts, strings.ToLower(opt.Name)) - if opt.Name == "RELAY LOGS" && opt.Channel != ""{ - opts = append(opts, "for channel " + opt.Channel) - } + if node.Type != "" { + buf.Myprintf(" %s", strings.ToLower(node.Type)) } - if node.Type == "" { - buf.Myprintf(" %s", strings.Join(opts, " ")) + if node.Option.Name == "RELAY LOGS" && node.Option.Channel != ""{ + buf.Myprintf(" %s for channel %s", strings.ToLower(node.Option.Name), strings.ToLower(node.Option.Channel)) } else { - buf.Myprintf(" %s %s", strings.ToLower(node.Type), strings.Join(opts, " ")) + buf.Myprintf(" %s", strings.ToLower(node.Option.Name)) } } diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 303679fea79..74ff155a07d 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -2313,11 +2313,17 @@ var ( input: "FLUSH USER_RESOURCES", output: "flush user_resources", }, { - input: "FLUSH RELAY LOGS FOR CHANNEL 'connections'", - output: "flush relay logs for channel connections", + input: "FLUSH RELAY LOGS", + output: "flush relay logs", }, { - input: "FLUSH LOCAL HOSTS", - output: "flush local hosts", + input: "FLUSH LOCAL RELAY LOGS FOR CHANNEL 'connections'", + output: "flush local relay logs for channel connections", + }, { + input: "FLUSH LOCAL OPTIMIZER_COSTS", + output: "flush local optimizer_costs", + }, { + input: "FLUSH NO_WRITE_TO_BINLOG HOSTS", + output: "flush no_write_to_binlog hosts", }, { input: "SHOW GRANTS", output: "show grants", diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 058ee5cf3d7..58f3bf5d32d 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -109,7 +109,6 @@ type yySymType struct { indexOption *IndexOption indexOptions []*IndexOption flushOption *FlushOption - flushOptions []*FlushOption indexColumn *IndexColumn indexColumns []*IndexColumn constraintDefinition *ConstraintDefinition @@ -1162,1385 +1161,1420 @@ var yyExca = [...]int{ -2, 0, -1, 35, 5, 50, - -2, 1041, + -2, 1038, -1, 43, - 147, 1105, - 148, 1123, + 147, 1102, + 148, 1120, -2, 231, -1, 49, - 186, 676, - 187, 676, - -2, 666, + 186, 673, + 187, 673, + -2, 663, -1, 515, - 135, 1133, - -2, 1127, + 135, 1130, + -2, 1124, -1, 516, - 135, 1134, - -2, 1128, + 135, 1131, + -2, 1125, -1, 620, - 98, 1403, - 135, 1403, - -2, 1089, + 98, 1400, + 135, 1400, + -2, 1086, -1, 621, - 98, 1520, - 135, 1520, - -2, 1090, + 98, 1517, + 135, 1517, + -2, 1087, -1, 626, - 98, 1427, - 135, 1427, - -2, 1091, + 98, 1424, + 135, 1424, + -2, 1088, -1, 627, - 98, 1474, - 135, 1474, - -2, 1092, + 98, 1471, + 135, 1471, + -2, 1089, -1, 628, - 98, 1475, - 135, 1475, - -2, 1093, + 98, 1472, + 135, 1472, + -2, 1090, -1, 629, - 98, 1353, - 135, 1353, - -2, 1097, + 98, 1350, + 135, 1350, + -2, 1094, -1, 631, - 98, 1451, - 135, 1451, - -2, 1099, - -1, 1137, - 1, 773, - 5, 773, - 12, 773, - 13, 773, - 14, 773, - 15, 773, - 17, 773, - 19, 773, - 30, 773, - 31, 773, - 56, 773, - 57, 773, - 58, 773, - 59, 773, - 60, 773, - 62, 773, - 63, 773, - 66, 773, - 67, 773, - 69, 773, - 70, 773, - 405, 773, - 501, 773, - -2, 803, - -1, 1141, + 98, 1448, + 135, 1448, + -2, 1096, + -1, 1135, + 1, 770, + 5, 770, + 12, 770, + 13, 770, + 14, 770, + 15, 770, + 17, 770, + 19, 770, + 30, 770, + 31, 770, + 56, 770, + 57, 770, + 58, 770, + 59, 770, + 60, 770, + 62, 770, + 63, 770, + 66, 770, + 67, 770, + 69, 770, + 70, 770, + 405, 770, + 501, 770, + -2, 800, + -1, 1139, 67, 67, 69, 67, -2, 71, - -1, 1387, - 135, 1136, - -2, 1132, - -1, 1552, - 44, 525, - -2, 1365, - -1, 1556, - 68, 525, - -2, 1315, - -1, 1559, - 68, 521, - 72, 521, - -2, 1235, - -1, 1560, + -1, 1384, + 135, 1133, + -2, 1129, + -1, 1549, + 44, 522, + -2, 1362, + -1, 1553, 68, 522, - 72, 522, - -2, 1245, - -1, 1677, - 44, 568, - 154, 570, - 156, 568, - 157, 568, - -2, 603, - -1, 1747, + -2, 1312, + -1, 1556, + 68, 518, + 72, 518, + -2, 1232, + -1, 1557, + 68, 519, + 72, 519, + -2, 1242, + -1, 1674, + 44, 565, + 154, 567, + 156, 565, + 157, 565, + -2, 600, + -1, 1744, 5, 51, - -2, 869, - -1, 2047, - 69, 1290, - 70, 1290, - 135, 1290, - -2, 707, - -1, 2070, - 1, 824, - 5, 824, - 12, 824, - 13, 824, - 14, 824, - 15, 824, - 17, 824, - 19, 824, - 30, 824, - 31, 824, - 56, 824, - 57, 824, - 58, 824, - 59, 824, - 60, 824, - 62, 824, - 63, 824, - 66, 824, - 67, 824, - 69, 824, - 70, 824, - 405, 824, - 501, 824, - -2, 803, - -1, 2172, - 154, 571, - -2, 569, - -1, 2233, + -2, 866, + -1, 2044, + 69, 1287, + 70, 1287, + 135, 1287, + -2, 704, + -1, 2067, + 1, 821, + 5, 821, + 12, 821, + 13, 821, + 14, 821, + 15, 821, + 17, 821, + 19, 821, + 30, 821, + 31, 821, + 56, 821, + 57, 821, + 58, 821, + 59, 821, + 60, 821, + 62, 821, + 63, 821, + 66, 821, + 67, 821, + 69, 821, + 70, 821, + 405, 821, + 501, 821, + -2, 800, + -1, 2169, + 154, 568, + -2, 566, + -1, 2230, 5, 51, - -2, 1061, - -1, 2433, - 41, 1143, - -2, 1141, - -1, 2569, + -2, 1058, + -1, 2430, + 41, 1140, + -2, 1138, + -1, 2566, 5, 51, - -2, 1064, + -2, 1061, } const yyPrivate = 57344 -const yyLast = 33345 +const yyLast = 33467 var yyAct = [...]int{ - 578, 80, 2764, 2714, 2738, 2586, 2618, 830, 1604, 2716, - 2728, 2486, 7, 2611, 2729, 2585, 2485, 6, 1989, 1544, - 2551, 516, 2453, 2633, 2572, 2484, 5, 2487, 8, 2556, - 2549, 518, 2616, 2340, 2083, 2245, 2380, 1786, 2433, 1815, - 1088, 2064, 418, 1963, 507, 645, 1602, 2040, 1972, 1511, - 1836, 1561, 2435, 577, 1614, 2132, 2298, 1505, 521, 2292, - 2321, 1262, 1365, 2573, 83, 2276, 2084, 401, 404, 127, - 2041, 2166, 127, 464, 443, 443, 1509, 862, 127, 500, - 1553, 80, 1971, 643, 2260, 106, 1896, 534, 446, 446, - 93, 1787, 1577, 2037, 1172, 1543, 1676, 1532, 1593, 1700, - 2049, 127, 2483, 3, 523, 1542, 2056, 1358, 1421, 2156, - 449, 846, 127, 1264, 1640, 641, 127, 648, 1484, 1941, - 127, 1549, 1307, 1373, 640, 1261, 1242, 2009, 1280, 1412, - 1879, 1589, 1488, 990, 127, 446, 622, 648, 2261, 1133, - 1152, 1495, 1476, 997, 1389, 127, 1137, 912, 1001, 1656, - 625, 891, 639, 1151, 963, 503, 1010, 1134, 993, 618, - 890, 817, 463, 85, 619, 421, 1312, 614, 420, 611, - 1143, 2786, 2782, 2772, 1982, 829, 2754, 1106, 2752, 2733, - 2709, 2641, 82, 499, 1305, 461, 69, 2270, 2277, 1423, - 1107, 36, 2412, 72, 39, 40, 2279, 2745, 2627, 36, - 36, 87, 88, 89, 90, 91, 36, 436, 2410, 430, - 441, 424, 413, 36, 2727, 2567, 2697, 2602, 2425, 2129, - 1907, 2626, 2030, 2413, 1781, 2117, 2529, 2552, 1722, 2225, - 816, 1311, 431, 2079, 2080, 72, 39, 40, 519, 1655, - 2365, 1782, 1627, 1627, 2078, 2566, 1824, 1507, 983, 1823, - 1529, 1530, 1825, 81, 1309, 1310, 1328, 41, 1354, 1355, - 1528, 81, 81, 819, 865, 822, 823, 940, 81, 850, - 851, 2282, 1153, 853, 1154, 81, 412, 509, 948, 2465, - 635, 866, 867, 2622, 1308, 2622, 411, 1025, 1024, 1034, - 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 2617, - 109, 1036, 1862, 1563, 453, 1578, 852, 1654, 909, 2280, - 2281, 2283, 2284, 2285, 1583, 2010, 1578, 2619, 466, 2619, - 1684, 1678, 1679, 2212, 1677, 1680, 1681, 2210, 415, 593, - 410, 599, 601, 600, 597, 598, 596, 595, 594, 423, - 422, 425, 2623, 99, 2623, 1569, 1571, 1565, 1570, 429, - 602, 603, 460, 1938, 1565, 1350, 2012, 1349, 1348, 1347, - 1685, 1346, 395, 454, 1345, 1902, 433, 1930, 2349, 2293, - 437, 944, 945, 924, 1590, 2438, 2722, 2296, 2299, 2300, - 2301, 2302, 2155, 1935, 440, 1667, 872, 2643, 2642, 127, - 2139, 2294, 2295, 2592, 2533, 2310, 2590, 2317, 80, 80, - 1292, 875, 101, 118, 114, 115, 98, 116, 1668, 880, - 1339, 2649, 111, 110, 882, 1904, 2411, 2400, 2130, 2742, - 2523, 1615, 2308, 881, 2133, 2134, 2135, 2136, 2137, 2405, - 112, 2636, 2637, 127, 955, 2638, 2404, 956, 2403, 120, - 119, 863, 2402, 864, 866, 867, 2133, 2134, 2135, 2136, - 2137, 2401, 2399, 2725, 107, 2630, 2631, 979, 2519, 2520, - 2663, 2574, 1609, 2247, 108, 987, 873, 874, 2531, 1807, - 405, 2481, 1906, 924, 861, 426, 427, 428, 434, 1318, - 438, 439, 442, 858, 127, 2429, 2142, 947, 2407, 1608, - 103, 121, 104, 122, 1313, 1921, 1922, 2014, 857, 402, - 879, 883, 2018, 2711, 2013, 849, 2011, 859, 860, 2479, - 396, 2016, 406, 2720, 2692, 1045, 2715, 113, 1047, 2778, - 2705, 821, 820, 1171, 2015, 2525, 2768, 2322, 2323, 1315, - 2718, 1013, 1314, 2087, 1683, 1947, 2171, 1171, 1171, 2017, - 2019, 1949, 1949, 2787, 2333, 2784, 2278, 1058, 1059, 1060, - 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, - 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, - 1081, 1082, 1083, 1084, 1085, 923, 73, 1086, 414, 1090, - 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, - 1101, 1102, 2116, 1105, 1108, 1108, 1108, 1114, 1108, 1108, - 1114, 1108, 1114, 1123, 1124, 1125, 1126, 1127, 1128, 1869, - 1138, 2466, 1311, 2157, 1661, 2620, 1568, 2620, 73, 976, - 2565, 1578, 1046, 1592, 2591, 79, 1293, 876, 957, 1905, - 127, 127, 127, 79, 79, 1309, 1310, 2530, 100, 117, - 79, 934, 2426, 978, 1908, 2524, 648, 79, 985, 2408, - 403, 403, 924, 964, 2428, 2141, 2381, 2766, 398, 1144, - 2767, 2773, 2765, 403, 403, 1514, 1516, 1132, 1897, 1854, - 2383, 2755, 1171, 2717, 2719, 1170, 818, 625, 832, 2535, - 459, 1087, 625, 432, 1859, 1858, 109, 920, 2332, 1929, - 1926, 1479, 998, 399, 1910, 1909, 1662, 1250, 1248, 877, - 1165, 466, 1017, 1235, 1898, 1814, 1855, 1813, 974, 1812, - 814, 1841, 1841, 1924, 1140, 982, 824, 367, 2336, 1048, - 1049, 1860, 1841, 1847, 1841, 1757, 1231, 2197, 2189, 1848, - 1928, 2528, 1754, 1927, 931, 893, 894, 895, 896, 897, - 898, 899, 900, 901, 902, 903, 904, 2382, 1014, 1844, - 1828, 1624, 1820, 1515, 1717, 1156, 1623, 1705, 1690, 1368, - 1157, 1164, 1960, 1149, 1169, 1016, 842, 1533, 1089, 919, - 2151, 1036, 1109, 1111, 1113, 1115, 1117, 1119, 1120, 1122, - 1142, 1104, 970, 1147, 1841, 1110, 1112, 2106, 1116, 1118, - 1026, 1121, 929, 1036, 1857, 1524, 1899, 1900, 111, 110, - 1166, 2550, 1290, 2347, 969, 965, 966, 967, 968, 971, - 972, 973, 975, 2415, 1840, 1840, 2331, 831, 930, 1361, - 926, 1955, 1947, 2664, 2665, 1840, 1952, 1840, 2337, 1951, - 1954, 443, 2661, 2662, 1947, 1966, 648, 1489, 1171, 2562, - 2561, 1948, 1949, 513, 446, 446, 2107, 2416, 443, 1753, - 1048, 1049, 1396, 127, 927, 928, 127, 1048, 1049, 1009, - 1964, 446, 446, 1281, 127, 1007, 1244, 1394, 1395, 1393, - 989, 1631, 2054, 127, 127, 127, 127, 855, 1008, 1007, - 2053, 1230, 1009, 1263, 1243, 2775, 1300, 1840, 1266, 2032, - 1959, 1162, 884, 446, 1956, 848, 1009, 2758, 2739, 2757, - 390, 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, - 1032, 1033, 1026, 1008, 1007, 1036, 1025, 1024, 1034, 1035, - 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 443, 868, - 1036, 1009, 825, 1288, 834, 835, 836, 837, 838, 839, - 840, 446, 446, 446, 1477, 2771, 648, 2706, 1303, 1027, - 1028, 1029, 1030, 1031, 1032, 1033, 1026, 1267, 1641, 1036, - 1282, 2634, 1337, 2673, 1752, 2672, 1751, 1237, 1632, 1276, - 1277, 1278, 1279, 1477, 856, 1770, 446, 1366, 1367, 2695, - 80, 446, 446, 1321, 1008, 1007, 1245, 2309, 2303, 847, - 1008, 1007, 1284, 1856, 1285, 1008, 1007, 2708, 368, 458, - 2779, 1252, 1009, 2094, 127, 371, 127, 1359, 1009, 648, - 81, 1270, 1271, 1009, 380, 388, 389, 1008, 1007, 1008, - 1007, 1392, 1343, 870, 2635, 2634, 1885, 127, 1004, 96, - 1702, 1703, 1704, 1013, 2595, 1009, 1386, 1009, 1269, 1008, - 1007, 2587, 2570, 1008, 1007, 1319, 1295, 1296, 80, 377, - 1298, 2423, 378, 2422, 2780, 386, 387, 1009, 1286, 2421, - 994, 1009, 1387, 995, 2588, 2526, 1301, 1029, 1030, 1031, - 1032, 1033, 1026, 1390, 95, 1036, 1008, 1007, 1370, 648, - 1416, 1417, 1352, 2034, 1316, 1342, 1320, 1317, 608, 609, - 2685, 1090, 2420, 2414, 1009, 2269, 2268, 1089, 1379, 1381, - 1382, 1413, 1371, 1414, 1380, 1372, 383, 1884, 1882, 1863, - 2589, 2527, 94, 1826, 915, 1827, 2684, 1344, 914, 1981, - 2646, 2644, 1338, 2601, 1391, 1341, 888, 384, 2522, 2521, - 1385, 2478, 1351, 539, 538, 541, 542, 543, 544, 1508, - 2430, 2398, 540, 545, 1138, 648, 648, 1356, 1138, 887, - 1087, 2359, 127, 2306, 2305, 2304, 1462, 1465, 2266, 2162, - 127, 127, 2099, 1880, 1478, 127, 127, 1651, 1383, 127, - 127, 127, 1297, 1268, 1430, 2671, 2670, 2532, 1434, 2476, - 2447, 1844, 2441, 2329, 1537, 2200, 2185, 2181, 641, 648, - 648, 988, 369, 1455, 2173, 1266, 2143, 1376, 1377, 2127, - 2126, 1519, 2125, 1915, 1914, 1521, 1645, 1419, 1629, 625, - 1387, 1427, 1628, 1513, 1415, 1294, 1291, 1260, 1259, 1258, - 1436, 1437, 1257, 466, 1246, 382, 372, 373, 1504, 393, - 1240, 1447, 1239, 374, 376, 1451, 370, 392, 391, 1238, - 1236, 1087, 910, 1140, 844, 1539, 409, 96, 1140, 407, - 1014, 1474, 1140, 1251, 1231, 2372, 2698, 127, 954, 1621, - 2256, 2691, 2608, 989, 2256, 2606, 989, 127, 2440, 127, - 127, 446, 446, 446, 1517, 1145, 127, 2392, 1538, 385, - 1089, 1579, 1580, 1581, 1582, 1460, 1461, 2391, 1514, 1516, - 1114, 2256, 2604, 1550, 2256, 2480, 2372, 2472, 2372, 2388, - 2372, 989, 1816, 127, 127, 127, 2122, 1557, 2100, 1531, - 1526, 1619, 1620, 1599, 1600, 1525, 1522, 920, 1761, 2372, - 2371, 1547, 1540, 2439, 1595, 1596, 1597, 1598, 127, 2656, - 127, 1146, 1647, 1148, 648, 2256, 2255, 84, 648, 2052, - 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, - 1033, 1026, 1536, 1816, 1036, 1591, 2237, 989, 1687, 1492, - 648, 1689, 989, 648, 2029, 2114, 2113, 1453, 1050, 1051, - 1052, 1053, 1054, 1055, 1056, 1057, 1515, 989, 466, 2110, - 2111, 2192, 1653, 2110, 2109, 2191, 1816, 1706, 1386, 1715, - 989, 1715, 1633, 1492, 989, 1664, 1663, 1639, 1024, 1034, - 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 1230, - 2052, 1036, 1453, 1648, 1387, 1453, 989, 1168, 1167, 1613, - 2613, 1491, 1601, 1025, 1024, 1034, 1035, 1027, 1028, 1029, - 1030, 1031, 1032, 1033, 1026, 1363, 2231, 1036, 1497, 1500, - 1501, 1502, 1498, 2192, 1499, 1503, 1627, 1390, 2057, 2058, - 2038, 1646, 959, 2052, 1652, 1518, 2123, 1144, 958, 1612, - 1492, 918, 1140, 2112, 2066, 917, 1659, 1643, 918, 1025, - 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, - 1026, 1940, 1538, 1036, 1830, 1145, 1362, 1527, 1666, 1783, - 1785, 1669, 1715, 1138, 1138, 1138, 1138, 1138, 1391, 1775, - 1673, 1774, 1299, 1626, 1686, 1364, 984, 1340, 1694, 1508, - 920, 1808, 1711, 1306, 127, 127, 127, 127, 127, 1138, - 1249, 1692, 1693, 1247, 1150, 636, 127, 81, 2628, 2605, - 127, 2065, 2446, 2444, 127, 2271, 1565, 1789, 1707, 2243, - 127, 1146, 417, 1144, 1594, 2093, 1590, 466, 2057, 2058, - 1788, 1834, 924, 1610, 998, 1585, 1584, 1232, 907, 1818, - 1603, 1819, 1642, 1811, 648, 1497, 1500, 1501, 1502, 1498, - 1745, 1499, 1503, 2749, 2747, 1374, 1817, 2730, 1803, 2121, - 2060, 2038, 1886, 1254, 960, 625, 1810, 81, 921, 916, - 1799, 1784, 1701, 2063, 2062, 1800, 1796, 1140, 1140, 1140, - 1140, 1140, 1795, 1721, 1723, 80, 2667, 1843, 1845, 2625, - 448, 1455, 1969, 1140, 1733, 1734, 1735, 1736, 1769, 1797, - 504, 505, 2362, 1140, 1798, 648, 1801, 1691, 1501, 1502, - 2655, 2234, 1790, 1564, 446, 1793, 1231, 1699, 1831, 1698, - 1002, 1003, 576, 1746, 2328, 1802, 2259, 2180, 127, 446, - 443, 1791, 1792, 2179, 1794, 1846, 2098, 2097, 1838, 1864, - 1865, 2089, 2540, 1156, 446, 2537, 1871, 1771, 1821, 1000, - 1913, 2600, 1833, 1829, 1243, 1872, 1878, 1874, 1875, 1876, - 1877, 2599, 2434, 2645, 446, 1920, 648, 2432, 80, 1912, - 2518, 2517, 446, 408, 1839, 1842, 1034, 1035, 1027, 1028, - 1029, 1030, 1031, 1032, 1033, 1026, 1918, 1888, 1036, 1967, - 1968, 648, 648, 1873, 1287, 1163, 1881, 127, 2417, 2418, - 991, 905, 889, 1990, 1883, 1974, 886, 648, 885, 845, - 2338, 2680, 992, 2451, 632, 2450, 2229, 1386, 644, 1903, - 1366, 1367, 2657, 466, 648, 1650, 2311, 1606, 1253, 1917, - 2593, 466, 2436, 2312, 1889, 1428, 1429, 1638, 833, 1002, - 1003, 2679, 96, 1387, 1357, 1916, 1439, 1440, 1441, 1442, - 1234, 980, 981, 1697, 2678, 2677, 1925, 2395, 1672, 1452, - 1454, 1696, 1923, 2043, 80, 871, 1459, 501, 1931, 2648, - 1087, 1837, 2647, 2597, 2541, 2459, 1937, 1939, 1950, 1944, - 1961, 1962, 1945, 1359, 1965, 648, 2455, 648, 2068, 502, - 84, 2454, 2341, 2072, 2073, 2074, 1942, 1953, 1958, 2039, - 1816, 2751, 2750, 1976, 1980, 1975, 2051, 1789, 2160, 1936, - 648, 1984, 2031, 1891, 1892, 1893, 2042, 1934, 1933, 1758, - 1788, 1755, 1670, 1283, 1005, 2750, 2751, 2469, 1974, 2096, - 648, 1360, 648, 636, 648, 455, 648, 2077, 457, 86, - 2071, 2067, 1388, 2497, 52, 1397, 1398, 1399, 1400, 1401, - 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, - 2075, 2021, 2020, 2499, 19, 55, 2044, 2498, 18, 2028, - 2091, 2046, 1, 2092, 2500, 20, 1660, 2119, 2120, 1991, - 2061, 1323, 1994, 1995, 1996, 2501, 21, 1999, 127, 2069, - 2496, 15, 443, 2495, 14, 2291, 2088, 2290, 2090, 1599, - 2297, 1600, 2489, 10, 2512, 34, 446, 2128, 2082, 2510, - 33, 127, 446, 2509, 32, 2131, 2081, 2508, 28, 2507, - 27, 2506, 26, 1468, 2504, 23, 127, 2138, 446, 1901, - 648, 446, 1480, 2503, 22, 446, 446, 2307, 446, 2103, - 2033, 2140, 2101, 2102, 2505, 24, 2494, 13, 1241, 2105, - 2491, 12, 2145, 2490, 11, 648, 2108, 1139, 2406, 127, - 648, 828, 1644, 2488, 9, 1611, 911, 648, 648, 2598, - 2536, 2538, 2124, 2169, 1025, 1024, 1034, 1035, 1027, 1028, - 1029, 1030, 1031, 1032, 1033, 1026, 2076, 2431, 1036, 2313, - 2275, 2190, 2274, 1895, 1894, 906, 2148, 2193, 1304, 1943, - 1946, 1622, 1682, 2548, 1671, 124, 961, 962, 2146, 2170, - 1551, 2223, 1231, 2184, 400, 1541, 638, 2164, 92, 2163, - 1630, 854, 375, 1548, 1674, 1852, 2539, 908, 1851, 1861, - 1688, 1562, 2150, 1850, 1849, 2154, 2534, 1853, 1176, 2158, - 2159, 1174, 2161, 1175, 1173, 1178, 1177, 379, 613, 1158, - 127, 2580, 637, 2086, 2199, 1006, 815, 102, 56, 2330, - 1957, 451, 452, 97, 105, 381, 1044, 648, 1695, 1822, - 827, 623, 624, 616, 648, 648, 648, 986, 1789, 2560, - 2610, 841, 2629, 648, 996, 2553, 1768, 1713, 2251, 2252, - 2253, 1788, 1716, 2208, 1103, 648, 2238, 1718, 1719, 1475, - 2249, 80, 1724, 1725, 1726, 1727, 1728, 1729, 522, 2262, - 1732, 1806, 2346, 2230, 2555, 1737, 1738, 1739, 1740, 1378, - 1742, 1743, 1744, 127, 2239, 537, 536, 1747, 1748, 1749, - 1750, 535, 532, 2186, 533, 2254, 1756, 2621, 1637, 1759, - 1760, 2250, 509, 1369, 1765, 1766, 1780, 1018, 2115, 520, - 1772, 511, 1773, 1136, 1129, 1776, 1777, 1831, 1778, 1779, - 2168, 1649, 446, 1496, 2263, 1494, 1493, 1837, 1255, 612, - 2175, 2177, 1138, 2059, 2055, 1506, 1135, 1804, 1805, 70, - 2168, 2264, 2265, 869, 2267, 397, 2224, 2464, 38, 2339, - 2286, 648, 456, 127, 506, 25, 2326, 1974, 17, 648, - 2287, 2288, 2289, 2272, 2226, 878, 2314, 16, 1675, 2218, - 826, 42, 2043, 1089, 44, 2043, 2367, 2320, 1708, 1709, - 1710, 2343, 2344, 2240, 2241, 2334, 2319, 2242, 2068, 2342, - 2244, 1890, 1607, 2088, 2579, 2327, 1599, 2335, 1089, 648, - 2315, 632, 2324, 2325, 2316, 648, 632, 1159, 2713, 892, - 127, 2737, 127, 2632, 31, 30, 29, 2502, 648, 2370, - 2511, 2394, 2364, 2396, 2493, 2042, 2318, 466, 2042, 2492, - 1485, 2700, 2699, 648, 4, 977, 1140, 71, 35, 2348, - 634, 2373, 2363, 2, 0, 0, 2393, 0, 0, 0, - 0, 2387, 0, 1762, 1763, 1764, 0, 0, 2369, 2379, - 2385, 2386, 1513, 2384, 2375, 2374, 1025, 1024, 1034, 1035, - 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 2366, 2452, - 1036, 2397, 0, 0, 0, 843, 0, 0, 0, 0, - 0, 2409, 0, 0, 2419, 648, 0, 0, 0, 2424, - 0, 0, 0, 2389, 2427, 2390, 2043, 0, 80, 2437, - 0, 0, 0, 0, 0, 0, 2442, 2443, 2445, 0, - 0, 0, 2456, 0, 0, 0, 0, 0, 2457, 913, - 0, 0, 0, 0, 648, 2228, 2449, 80, 0, 0, - 0, 0, 2482, 0, 2168, 0, 1979, 0, 0, 0, - 0, 2458, 1987, 2470, 0, 0, 2475, 0, 0, 2042, - 0, 0, 1997, 1998, 2168, 2474, 2477, 0, 0, 0, - 0, 0, 0, 2004, 0, 0, 0, 2008, 0, 0, - 1138, 0, 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, - 1031, 1032, 1033, 1026, 0, 0, 1036, 1233, 446, 0, - 0, 127, 0, 0, 0, 0, 648, 0, 648, 0, - 2471, 0, 0, 0, 0, 2045, 0, 0, 0, 2544, - 0, 2546, 0, 0, 0, 1919, 0, 466, 0, 466, - 2558, 2575, 2545, 0, 0, 2086, 0, 2543, 2542, 0, - 2563, 127, 0, 0, 0, 0, 2559, 2568, 0, 0, - 2086, 0, 0, 0, 0, 1789, 0, 80, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1788, 0, - 0, 0, 0, 509, 0, 2584, 0, 648, 0, 0, - 0, 0, 0, 0, 1140, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1978, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1324, 0, 0, - 0, 0, 648, 0, 648, 2596, 2594, 0, 0, 0, - 0, 2614, 0, 2603, 0, 0, 1131, 0, 1141, 0, - 0, 0, 0, 0, 0, 2624, 0, 0, 2022, 2023, - 0, 2024, 2025, 0, 0, 2026, 0, 0, 0, 0, - 2475, 0, 0, 0, 0, 0, 0, 0, 2035, 2036, - 0, 0, 0, 0, 2660, 0, 0, 648, 0, 2651, - 644, 2653, 0, 0, 0, 2659, 80, 2650, 2669, 2654, - 2652, 0, 80, 2658, 2554, 2557, 0, 2683, 0, 1089, - 648, 2676, 0, 2070, 0, 2666, 2674, 443, 1990, 644, - 2681, 0, 648, 0, 2668, 0, 0, 2194, 0, 0, - 2693, 446, 0, 2690, 80, 2639, 2694, 0, 648, 80, - 0, 2704, 0, 2086, 0, 2086, 2703, 2710, 648, 2707, - 0, 0, 2689, 0, 0, 2702, 0, 2701, 2095, 0, - 1418, 2204, 2726, 2576, 2577, 0, 80, 0, 2731, 80, - 80, 2723, 2213, 2214, 80, 2683, 2724, 0, 2219, 2740, - 0, 2732, 0, 0, 2734, 0, 2744, 0, 0, 0, - 443, 0, 0, 0, 80, 2232, 2233, 80, 2235, 2683, - 2748, 2236, 2759, 2746, 446, 2761, 0, 0, 632, 0, - 0, 0, 2756, 80, 2769, 80, 0, 0, 2683, 80, - 2683, 2248, 2147, 0, 0, 2743, 1481, 1482, 0, 0, - 0, 0, 0, 80, 2774, 0, 80, 0, 2683, 0, - 0, 2712, 0, 80, 0, 0, 0, 80, 2683, 0, - 0, 2783, 2683, 632, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2557, 0, 0, 0, 644, 0, 613, - 644, 644, 1256, 1566, 1567, 0, 1572, 1573, 1574, 1575, - 1576, 2195, 0, 0, 2675, 0, 0, 2227, 0, 1272, - 1273, 1274, 1275, 0, 1586, 1587, 1588, 0, 1985, 1986, - 0, 0, 0, 0, 2086, 1992, 1993, 0, 922, 0, - 0, 0, 0, 0, 0, 0, 0, 2000, 2001, 2002, - 2003, 0, 2005, 2006, 2007, 2217, 0, 0, 0, 0, - 0, 2220, 2221, 2222, 1025, 1024, 1034, 1035, 1027, 1028, - 1029, 1030, 1031, 1032, 1033, 1026, 0, 0, 1036, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 999, - 0, 0, 2216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2354, 2355, 2356, 0, 2358, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2215, 0, 2760, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2376, 2377, 2378, 0, 125, 0, 0, - 394, 0, 0, 0, 0, 1658, 125, 0, 0, 1658, - 1353, 0, 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, - 1031, 1032, 1033, 1026, 2027, 0, 1036, 0, 0, 465, - 0, 1658, 0, 1375, 1658, 0, 0, 510, 0, 0, - 615, 633, 0, 0, 125, 0, 0, 0, 125, 1025, - 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, - 1026, 644, 125, 1036, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 1025, 1024, 1034, 1035, 1027, 1028, - 1029, 1030, 1031, 1032, 1033, 1026, 0, 0, 1036, 0, - 0, 0, 2460, 2461, 2462, 2463, 0, 0, 0, 0, - 0, 0, 2467, 2468, 0, 0, 0, 0, 0, 2350, - 2351, 2352, 2353, 0, 0, 0, 0, 2357, 0, 0, - 0, 2360, 2361, 0, 0, 0, 0, 0, 0, 1025, - 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, - 1026, 0, 0, 1036, 0, 0, 0, 0, 0, 2196, - 0, 0, 0, 0, 0, 0, 0, 2198, 1490, 1977, - 0, 0, 0, 0, 0, 0, 0, 2201, 2202, 0, - 0, 0, 1520, 0, 2203, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 632, 0, 0, 1025, 1024, 1034, - 1035, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 0, - 0, 1036, 0, 0, 0, 0, 2564, 0, 1712, 0, - 0, 0, 0, 2569, 0, 0, 0, 0, 0, 632, - 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, 1031, 1032, - 1033, 1026, 0, 0, 1036, 644, 1025, 1024, 1034, 1035, - 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1026, 0, 0, - 1036, 0, 1866, 1867, 1868, 1870, 0, 0, 0, 0, - 0, 0, 0, 1605, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1616, 0, 1617, 1618, 0, 0, 0, - 0, 0, 1625, 0, 0, 0, 0, 0, 0, 0, - 2607, 0, 0, 0, 0, 0, 1887, 0, 0, 0, - 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, - 0, 1636, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 925, 932, 933, 935, 936, 937, 938, 939, - 0, 941, 942, 943, 913, 946, 0, 949, 950, 951, - 952, 953, 0, 0, 2547, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1932, 1020, 0, - 1023, 125, 0, 0, 0, 0, 0, 1037, 1038, 1039, - 1040, 1041, 1042, 1043, 0, 1021, 1022, 1019, 0, 0, - 0, 0, 644, 644, 0, 1025, 1024, 1034, 1035, 1027, - 1028, 1029, 1030, 1031, 1032, 1033, 1026, 0, 644, 1036, - 1420, 1425, 1426, 0, 0, 0, 0, 1431, 1432, 1433, - 644, 1435, 465, 0, 1438, 1988, 0, 0, 0, 1443, - 1444, 1445, 1446, 0, 1448, 1449, 1450, 0, 0, 0, - 0, 0, 1456, 1457, 1458, 0, 0, 0, 1464, 1467, - 0, 1472, 1473, 0, 0, 0, 0, 36, 0, 72, - 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 59, 0, 0, 0, 0, 1483, 78, 1486, 1487, - 0, 41, 0, 0, 632, 0, 644, 0, 2050, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2050, 0, 0, 2776, 2777, 0, 0, 0, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 644, 0, 644, 0, 644, 0, 2085, 0, 0, - 0, 0, 0, 2513, 0, 0, 2736, 2739, 2735, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2104, 0, 0, 0, 0, 125, 125, - 125, 0, 0, 0, 0, 0, 0, 0, 633, 0, - 0, 0, 0, 633, 2721, 0, 0, 0, 0, 43, - 74, 46, 45, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2514, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 77, 76, 0, 0, 0, 0, 47, 0, 0, - 0, 2153, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2762, 0, - 0, 0, 0, 0, 0, 0, 2178, 0, 0, 0, - 0, 2183, 0, 0, 1911, 0, 0, 0, 2187, 2188, - 0, 0, 57, 58, 0, 2515, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, - 0, 67, 0, 0, 0, 36, 37, 72, 39, 40, - 0, 0, 0, 0, 2205, 2206, 0, 2207, 0, 59, - 2209, 0, 2211, 0, 0, 78, 68, 0, 0, 41, - 63, 64, 0, 0, 0, 0, 60, 0, 0, 0, - 0, 0, 0, 1970, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2516, 75, 0, 53, 54, 61, - 0, 62, 0, 50, 0, 632, 0, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2246, 0, - 1714, 0, 0, 0, 0, 2246, 2246, 2246, 1720, 2257, - 2258, 0, 0, 0, 644, 0, 0, 1730, 1731, 0, - 0, 125, 0, 0, 125, 0, 2246, 0, 1741, 0, - 0, 0, 1265, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 125, 125, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1767, 0, 43, 74, 46, - 45, 48, 1322, 0, 0, 1325, 1326, 1327, 0, 1329, - 1330, 0, 73, 1331, 0, 0, 0, 0, 0, 1332, - 0, 0, 0, 1333, 1334, 0, 1335, 1336, 49, 77, - 76, 0, 0, 0, 0, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 79, 644, 0, 0, 0, 0, 0, 0, 0, + 578, 80, 2761, 2711, 2735, 2583, 2725, 1601, 2569, 2726, + 2548, 1986, 2615, 2483, 7, 2582, 2713, 418, 2608, 2450, + 2630, 516, 2613, 2482, 6, 2481, 5, 2484, 8, 2553, + 1170, 518, 2546, 2377, 2337, 2061, 2430, 2242, 2480, 3, + 1541, 1783, 830, 1960, 1086, 507, 1508, 1812, 1260, 2037, + 1969, 1599, 2318, 577, 1558, 1502, 521, 2432, 2129, 1611, + 2295, 83, 2080, 1833, 2289, 2273, 2081, 1362, 2038, 127, + 2257, 645, 127, 2153, 401, 404, 2570, 1550, 127, 1506, + 2163, 80, 862, 1893, 1540, 449, 1784, 1968, 446, 446, + 93, 523, 500, 106, 534, 1673, 2034, 2053, 1697, 1539, + 2046, 127, 1355, 464, 2006, 1481, 1409, 1637, 640, 443, + 443, 1370, 127, 1590, 1546, 1262, 127, 648, 1305, 499, + 127, 1418, 1278, 1485, 1240, 1586, 1492, 1876, 988, 1132, + 622, 1150, 891, 995, 127, 446, 641, 648, 1473, 2258, + 643, 1386, 1131, 991, 1135, 127, 1938, 503, 625, 912, + 1149, 999, 639, 614, 1310, 1008, 618, 463, 619, 846, + 1104, 1653, 829, 420, 421, 85, 611, 890, 1141, 1105, + 2783, 817, 2779, 2769, 2751, 2749, 2730, 2706, 2638, 82, + 1303, 2409, 461, 69, 2267, 2742, 2274, 2624, 2724, 2564, + 36, 2422, 1904, 2694, 2276, 2599, 2126, 2407, 436, 2623, + 430, 441, 424, 87, 88, 89, 90, 91, 2114, 36, + 36, 2027, 2410, 1529, 1778, 2526, 36, 2549, 1719, 2222, + 816, 1624, 1652, 431, 2076, 2077, 36, 2075, 72, 39, + 40, 1779, 1821, 981, 1326, 1820, 1526, 1527, 1822, 865, + 1979, 1351, 1352, 1624, 2563, 1525, 2462, 413, 866, 867, + 2362, 1504, 81, 1259, 1023, 1022, 1032, 1033, 1025, 1026, + 1027, 1028, 1029, 1030, 1031, 1024, 1309, 940, 1034, 2279, + 412, 81, 81, 819, 411, 822, 823, 635, 81, 948, + 2619, 850, 851, 1859, 1560, 853, 2619, 453, 81, 1307, + 1308, 593, 1651, 599, 601, 600, 597, 598, 596, 595, + 594, 1151, 2614, 1152, 909, 1306, 1575, 2277, 2278, 2280, + 2281, 2282, 602, 603, 2616, 2209, 2207, 2007, 852, 410, + 2616, 1566, 1568, 1580, 1567, 1575, 460, 1935, 1851, 395, + 423, 422, 425, 1347, 1346, 1345, 1344, 1899, 109, 2620, + 429, 1343, 1342, 1856, 1855, 2620, 454, 494, 944, 945, + 72, 39, 40, 1927, 2719, 2435, 2290, 433, 2009, 2152, + 1932, 437, 1664, 415, 2293, 1852, 1562, 519, 2169, 2640, + 2639, 513, 41, 2346, 1562, 440, 1587, 498, 2291, 2292, + 1857, 99, 1844, 2136, 2589, 2530, 872, 2307, 1845, 127, + 2646, 2314, 2587, 118, 114, 115, 1665, 116, 80, 80, + 1337, 1290, 1901, 1612, 2305, 2408, 2402, 2635, 1681, 1675, + 1676, 880, 1674, 1677, 1678, 875, 863, 2520, 864, 866, + 867, 882, 112, 881, 2296, 2297, 2298, 2299, 2739, 120, + 119, 2633, 2634, 127, 2401, 924, 879, 883, 2400, 2399, + 101, 2398, 2396, 2397, 98, 1420, 2660, 466, 1682, 1606, + 111, 110, 2571, 1854, 2528, 1169, 405, 977, 2244, 955, + 2516, 2517, 956, 2627, 2628, 985, 426, 427, 428, 434, + 1316, 438, 439, 442, 1804, 861, 1605, 396, 2404, 873, + 874, 121, 488, 122, 127, 2426, 2139, 2127, 947, 858, + 1903, 924, 107, 2130, 2131, 2132, 2133, 2134, 406, 2011, + 2708, 857, 108, 2478, 2015, 2722, 2010, 2717, 2008, 113, + 2712, 402, 2689, 2013, 2476, 1043, 2084, 849, 1045, 1918, + 1919, 1169, 2522, 1169, 2715, 1946, 2012, 1946, 103, 1169, + 104, 1011, 1168, 509, 2130, 2131, 2132, 2133, 2134, 859, + 860, 2014, 2016, 2775, 2275, 2319, 2320, 1056, 1057, 1058, + 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, + 1079, 1080, 1081, 1082, 1083, 2113, 1476, 1084, 2463, 1088, + 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, + 1099, 1100, 2154, 1103, 1106, 1106, 1106, 1112, 1106, 1106, + 1112, 1106, 1112, 1121, 1122, 1123, 1124, 1125, 1126, 1044, + 1136, 73, 2617, 414, 1658, 2423, 1905, 1085, 2617, 2562, + 2588, 974, 1680, 2527, 79, 1589, 1575, 1291, 1866, 117, + 127, 127, 127, 1309, 962, 2702, 1565, 923, 398, 2405, + 976, 876, 2521, 79, 79, 983, 648, 1902, 403, 403, + 79, 1894, 1853, 957, 2425, 2138, 1307, 1308, 403, 934, + 79, 1311, 403, 821, 820, 1130, 1169, 2714, 2716, 2784, + 1944, 2168, 2781, 399, 432, 625, 100, 1142, 2330, 2770, + 625, 2378, 109, 2752, 924, 2765, 818, 1895, 832, 972, + 1511, 1513, 2532, 920, 2329, 2380, 1313, 1163, 459, 1312, + 1926, 1138, 1923, 1907, 468, 469, 470, 471, 472, 476, + 477, 481, 482, 491, 490, 489, 492, 493, 496, 495, + 497, 473, 474, 475, 478, 479, 480, 483, 484, 487, + 485, 486, 1906, 73, 893, 894, 895, 896, 897, 898, + 899, 900, 901, 902, 903, 904, 1659, 1248, 1167, 1154, + 1246, 877, 1233, 1811, 1155, 1107, 1109, 1111, 1113, 1115, + 1117, 1118, 1120, 968, 1108, 1110, 931, 1114, 1116, 1621, + 1119, 1810, 2379, 1809, 1620, 919, 1838, 1140, 1512, 1896, + 1897, 1145, 814, 1229, 1921, 967, 963, 964, 965, 966, + 969, 970, 971, 973, 111, 110, 980, 824, 367, 2333, + 2194, 1838, 1164, 1023, 1022, 1032, 1033, 1025, 1026, 1027, + 1028, 1029, 1030, 1031, 1024, 2186, 2763, 1034, 1925, 2764, + 1924, 2762, 2328, 1825, 929, 1046, 1047, 1817, 96, 1714, + 466, 1702, 1687, 1365, 1162, 1147, 648, 1838, 1014, 1754, + 842, 1242, 2525, 1957, 446, 446, 2103, 1751, 1024, 1530, + 930, 1034, 926, 127, 1034, 2148, 127, 1838, 1261, 1521, + 1638, 446, 446, 1288, 127, 1838, 443, 2661, 2662, 1511, + 1513, 1241, 831, 127, 127, 127, 127, 1012, 2547, 1837, + 2344, 1574, 2412, 443, 1841, 1358, 927, 928, 1963, 2658, + 2659, 2559, 2558, 446, 1486, 1007, 1048, 1049, 1050, 1051, + 1052, 1053, 1054, 1055, 1837, 2104, 1279, 1961, 2051, 2334, + 1952, 1944, 848, 2050, 1264, 1949, 2413, 1005, 1948, 1951, + 1286, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, + 1030, 1031, 1024, 1628, 1007, 1034, 1298, 855, 1006, 1005, + 1837, 446, 446, 446, 1160, 2772, 648, 1944, 996, 868, + 884, 1169, 1301, 825, 1945, 1946, 1007, 1512, 1015, 2029, + 1837, 1006, 1005, 443, 1046, 1047, 96, 2631, 1837, 1474, + 1319, 1956, 1046, 1047, 2768, 1953, 446, 2703, 80, 1007, + 1235, 446, 446, 1002, 1393, 1758, 1282, 1750, 1283, 834, + 835, 836, 837, 838, 839, 840, 1243, 1335, 1250, 1391, + 1392, 1390, 127, 1280, 127, 1265, 847, 648, 2091, 1341, + 1228, 95, 1749, 1474, 1748, 1767, 1349, 1274, 1275, 1276, + 1277, 1268, 1269, 2692, 1087, 127, 1356, 2755, 2736, 2754, + 1629, 1011, 1006, 1005, 856, 2306, 2300, 1102, 1006, 1005, + 1699, 1700, 1701, 870, 987, 2705, 80, 2592, 2776, 94, + 1007, 1006, 1005, 1293, 1294, 1383, 1007, 1296, 1032, 1033, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 2584, 1007, + 1034, 1387, 1314, 1299, 2567, 2420, 986, 648, 1413, 1414, + 992, 458, 1315, 993, 1085, 1318, 1384, 2419, 2418, 1088, + 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1024, 2777, 2417, 1034, 1006, 1005, 1006, 1005, 1388, + 1336, 2585, 2632, 1339, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1024, 1348, 1007, 1034, 1007, 2411, 1452, 2523, 1978, + 1382, 1027, 1028, 1029, 1030, 1031, 1024, 1505, 81, 1034, + 1353, 2266, 1136, 648, 648, 2682, 1136, 1363, 1364, 1389, + 127, 2265, 1459, 1462, 1006, 1005, 1367, 2586, 127, 127, + 1475, 2031, 1881, 127, 127, 1380, 1879, 127, 127, 127, + 608, 609, 1007, 1317, 2524, 1085, 1882, 2631, 1860, 2670, + 1368, 2669, 1410, 1369, 1411, 1427, 915, 648, 648, 1431, + 1376, 1378, 1379, 1006, 1005, 914, 1377, 1516, 1823, 2681, + 1824, 1518, 888, 1534, 2643, 625, 2641, 641, 1416, 1006, + 1005, 1007, 1424, 1340, 2598, 2519, 2518, 2475, 2427, 1264, + 2395, 1433, 1434, 2356, 2303, 887, 1501, 1007, 1138, 2302, + 2301, 2263, 1444, 1138, 1384, 2159, 1448, 1138, 2096, 1877, + 1648, 1510, 1285, 1295, 539, 538, 541, 542, 543, 544, + 1266, 2668, 1471, 540, 545, 127, 1536, 2667, 2529, 2473, + 2444, 1841, 2438, 1514, 2326, 127, 2197, 127, 127, 446, + 446, 446, 2182, 2178, 127, 1547, 2170, 2140, 1535, 1494, + 1497, 1498, 1499, 1495, 2124, 1496, 1500, 2123, 1112, 2054, + 2055, 2122, 1618, 1912, 1267, 1249, 1616, 1617, 1911, 1642, + 1519, 127, 127, 127, 1528, 1523, 1554, 1522, 1626, 1229, + 1625, 1412, 1537, 1292, 1284, 1289, 1258, 576, 1257, 1544, + 1256, 1255, 1244, 1238, 1237, 1236, 127, 1234, 127, 910, + 1644, 844, 648, 409, 407, 954, 648, 1592, 1593, 1594, + 1595, 2369, 2695, 2253, 2688, 2605, 987, 1588, 2253, 2603, + 466, 2253, 2601, 1087, 987, 1684, 2253, 2477, 648, 2215, + 2437, 648, 2389, 1561, 2369, 2469, 2369, 2385, 1596, 1597, + 2388, 987, 2369, 987, 2369, 2368, 2119, 1012, 2253, 2252, + 2234, 987, 1686, 987, 1703, 2111, 2110, 2436, 1385, 2188, + 1813, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1403, 1404, 1405, 1406, 1407, 1408, 1383, 2107, 2108, 632, + 1650, 2107, 2106, 644, 1712, 987, 1813, 1023, 1022, 1032, + 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 2035, + 1643, 1034, 2049, 833, 1489, 987, 2097, 1384, 1630, 1661, + 1660, 1450, 1645, 1636, 1387, 2189, 1138, 2189, 1640, 1450, + 987, 1373, 1374, 1813, 1649, 84, 1023, 1022, 1032, 1033, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 1488, 1465, + 1034, 1166, 1165, 1489, 1360, 920, 1656, 1143, 1477, 1610, + 958, 1535, 1388, 918, 959, 1143, 1780, 1782, 2653, 2049, + 1136, 1136, 1136, 1136, 1136, 1691, 1450, 2610, 1663, 1683, + 1670, 1666, 1708, 1689, 1690, 466, 1505, 1489, 1805, 1712, + 2049, 127, 127, 127, 127, 127, 1136, 2228, 1515, 1609, + 1142, 1624, 2120, 127, 1781, 1359, 917, 127, 2109, 918, + 2063, 127, 1704, 1144, 1087, 1146, 1228, 127, 636, 1457, + 1458, 1144, 920, 1142, 1452, 1785, 1494, 1497, 1498, 1499, + 1495, 1937, 1496, 1500, 1742, 1827, 1524, 1808, 1712, 81, + 1786, 648, 1772, 1771, 1815, 1297, 1816, 1623, 1361, 982, + 1338, 1814, 1304, 1247, 1245, 1148, 2625, 2602, 2062, 2443, + 625, 1138, 1138, 1138, 1138, 1138, 1022, 1032, 1033, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1024, 1138, 2441, 1034, + 81, 2268, 80, 1562, 2240, 1800, 1533, 1138, 1591, 2090, + 1587, 1766, 1831, 1807, 2054, 2055, 417, 1840, 1842, 924, + 1788, 1789, 648, 1791, 1828, 1607, 1582, 1799, 1581, 1230, + 907, 446, 1787, 1600, 1639, 1790, 2746, 2744, 1425, 1426, + 1885, 2727, 2118, 2057, 2035, 127, 446, 1883, 1252, 1436, + 1437, 1438, 1439, 1830, 1154, 960, 1818, 1917, 1241, 921, + 916, 446, 1449, 1451, 1698, 1826, 1718, 1720, 1798, 1456, + 1498, 1499, 2060, 1909, 466, 1910, 1598, 1730, 1731, 1732, + 1733, 446, 443, 648, 448, 80, 1796, 2059, 1793, 446, + 1229, 1797, 1836, 1839, 1794, 1792, 504, 505, 2664, 1795, + 2622, 1966, 1688, 1000, 1001, 1371, 2652, 2231, 648, 648, + 1878, 1696, 1695, 2359, 127, 1880, 2325, 2256, 2177, 2176, + 1987, 1843, 2095, 1085, 648, 2094, 1835, 1964, 1965, 2086, + 2534, 2537, 998, 2597, 1900, 2596, 2431, 2642, 2429, 2515, + 2514, 648, 408, 1971, 1915, 2414, 2415, 989, 1870, 1161, + 905, 889, 886, 885, 845, 1383, 1913, 2335, 2677, 990, + 2448, 2447, 2226, 1705, 1706, 1707, 1363, 1364, 2308, 1922, + 1920, 1647, 1603, 1251, 2654, 2309, 2590, 2433, 1886, 1635, + 2040, 80, 1936, 1942, 1000, 1001, 1384, 96, 1869, 1941, + 1871, 1872, 1873, 1874, 1914, 1354, 1232, 978, 979, 2676, + 1694, 2675, 648, 2674, 648, 2065, 2392, 996, 1693, 1972, + 2069, 2070, 2071, 1973, 1939, 1950, 1955, 1669, 871, 2041, + 2036, 1356, 1947, 501, 1958, 1959, 2028, 648, 1962, 2645, + 1981, 2048, 2644, 2039, 1977, 1785, 2594, 2538, 1759, 1760, + 1761, 2456, 2452, 502, 84, 2451, 2338, 648, 1813, 648, + 1786, 648, 2157, 648, 2068, 2018, 2017, 1933, 2064, 1888, + 1889, 1890, 2074, 2748, 2747, 1641, 1971, 1931, 1930, 466, + 1755, 1752, 1667, 1281, 2072, 1003, 2747, 466, 2748, 2466, + 2093, 1357, 636, 2043, 455, 457, 2494, 52, 2058, 2496, + 19, 2495, 18, 2116, 2117, 86, 1743, 2497, 20, 55, + 2088, 2498, 21, 2089, 1, 127, 2066, 2493, 15, 1657, + 2085, 1321, 2087, 1928, 2079, 2492, 14, 1834, 2288, 2135, + 1768, 1934, 2287, 446, 2294, 2121, 1671, 2078, 127, 446, + 2486, 10, 1685, 2509, 34, 2125, 632, 2507, 33, 2506, + 32, 632, 1157, 127, 443, 446, 2128, 648, 446, 2505, + 28, 1898, 446, 446, 2304, 446, 2142, 2504, 27, 2503, + 26, 1239, 1988, 2137, 2403, 1991, 1992, 1993, 2501, 23, + 1996, 828, 648, 1596, 1608, 1597, 127, 648, 2500, 22, + 2502, 24, 2491, 13, 648, 648, 2488, 12, 911, 1710, + 2487, 11, 1482, 2595, 1713, 2485, 9, 2533, 2535, 1715, + 1716, 2428, 2310, 2166, 1721, 1722, 1723, 1724, 1725, 1726, + 1916, 2272, 1729, 2271, 1892, 2190, 2187, 1734, 1735, 1736, + 1737, 1891, 1739, 1740, 1741, 906, 1302, 1940, 2220, 1744, + 1745, 1746, 1747, 2161, 2167, 2160, 1943, 1619, 1753, 2181, + 1679, 1756, 1757, 2545, 1668, 961, 1762, 1763, 1548, 1538, + 638, 92, 1769, 1627, 1770, 854, 375, 1773, 1774, 1545, + 1775, 1776, 1849, 2536, 908, 1848, 1858, 127, 1576, 1577, + 1578, 1579, 1559, 2143, 1847, 2098, 2099, 1846, 2531, 1801, + 1802, 1975, 2102, 1850, 648, 1174, 1229, 1172, 1173, 2105, + 1171, 648, 648, 648, 1176, 1175, 379, 1156, 2577, 2196, + 648, 1004, 102, 56, 2327, 1954, 1785, 2248, 2249, 2250, + 2235, 451, 648, 452, 2246, 97, 105, 381, 80, 1042, + 1692, 1786, 1819, 2019, 2020, 2205, 2021, 2022, 2259, 623, + 2023, 624, 1231, 2227, 616, 984, 2236, 2557, 2607, 2626, + 127, 994, 2550, 2032, 2033, 1765, 1101, 1472, 522, 1803, + 2343, 2552, 1375, 2284, 2285, 2286, 2269, 537, 2247, 536, + 535, 532, 533, 1828, 2618, 2251, 1634, 1366, 1777, 1016, + 2112, 520, 511, 1134, 1127, 1646, 1493, 2147, 2067, 446, + 2151, 1491, 1490, 1253, 2155, 2156, 612, 2158, 2260, 1136, + 2056, 2052, 1503, 1133, 70, 2321, 2322, 869, 397, 2083, + 2221, 2461, 38, 456, 2283, 506, 25, 17, 648, 878, + 127, 16, 1672, 2030, 826, 42, 648, 44, 2323, 1887, + 1604, 2312, 2576, 2092, 2710, 2313, 892, 2336, 2311, 2040, + 2734, 2629, 2040, 2364, 2331, 1971, 31, 30, 2324, 29, + 2340, 2341, 1322, 2317, 2339, 2065, 2499, 2085, 2316, 2508, + 2490, 2489, 2697, 2696, 4, 975, 648, 71, 35, 2073, + 634, 2, 648, 2332, 0, 0, 0, 127, 0, 127, + 0, 2363, 0, 0, 0, 648, 0, 2391, 2367, 2393, + 1138, 2361, 2039, 0, 0, 2039, 0, 2144, 1976, 0, + 648, 0, 0, 0, 1984, 0, 0, 2360, 2370, 0, + 0, 0, 0, 644, 1994, 1995, 2165, 0, 0, 0, + 1596, 0, 0, 1834, 2261, 2001, 2172, 2174, 0, 2005, + 2381, 2384, 2382, 2383, 0, 2371, 2165, 2214, 2366, 2376, + 0, 2390, 644, 0, 0, 0, 2449, 0, 2394, 0, + 0, 0, 0, 0, 0, 0, 2192, 0, 0, 1510, + 0, 2372, 648, 2406, 0, 2416, 0, 2042, 0, 2421, + 0, 0, 0, 2040, 0, 80, 2424, 0, 0, 0, + 0, 2434, 0, 1415, 0, 0, 2439, 2440, 0, 0, + 0, 0, 0, 0, 0, 2446, 2454, 2453, 2442, 0, + 0, 648, 0, 0, 80, 0, 2217, 2218, 2219, 2479, + 1137, 0, 0, 2468, 0, 2455, 2183, 0, 0, 0, + 2472, 2315, 2467, 466, 0, 509, 2039, 0, 0, 2471, + 0, 632, 0, 2474, 1023, 1022, 1032, 1033, 1025, 1026, + 1027, 1028, 1029, 1030, 1031, 1024, 0, 1136, 1034, 1478, + 1479, 0, 0, 0, 0, 1861, 1862, 0, 124, 0, + 0, 0, 1868, 0, 0, 446, 0, 400, 127, 0, + 0, 0, 1875, 648, 0, 648, 632, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2386, 2223, 2387, 0, + 644, 0, 2539, 644, 644, 0, 1087, 2572, 2555, 0, + 0, 613, 2540, 0, 2542, 637, 2237, 2238, 127, 815, + 2239, 2560, 0, 2241, 2541, 2556, 2543, 0, 2565, 0, + 0, 1087, 0, 827, 80, 0, 0, 0, 0, 0, + 0, 0, 0, 1785, 841, 0, 0, 0, 1138, 0, + 2165, 0, 0, 0, 648, 0, 0, 0, 1786, 0, + 0, 1563, 1564, 0, 1569, 1570, 1571, 1572, 1573, 2191, + 2165, 0, 0, 2581, 0, 0, 0, 0, 0, 0, + 0, 0, 1583, 1584, 1585, 0, 0, 2591, 0, 648, + 2593, 648, 0, 0, 0, 2611, 0, 0, 0, 0, + 0, 0, 2621, 2201, 2347, 2348, 2349, 2350, 2600, 0, + 0, 0, 2354, 0, 2210, 2211, 2357, 2358, 0, 0, + 2216, 0, 0, 0, 2472, 0, 0, 0, 2636, 0, + 2648, 0, 2650, 466, 0, 466, 0, 2229, 2230, 0, + 2232, 2083, 2656, 2233, 648, 0, 0, 2657, 1655, 0, + 0, 0, 1655, 80, 2666, 2647, 2083, 0, 2651, 80, + 2655, 0, 0, 2245, 2680, 0, 0, 648, 2673, 0, + 2671, 0, 2663, 0, 1655, 1987, 0, 1655, 0, 648, + 0, 0, 0, 2665, 2686, 2649, 2691, 2687, 446, 0, + 0, 80, 2690, 0, 0, 648, 80, 0, 2678, 0, + 2701, 0, 0, 644, 0, 648, 2704, 0, 0, 443, + 2700, 2707, 2699, 0, 2698, 0, 0, 2721, 2720, 0, + 0, 0, 0, 80, 2728, 2723, 80, 80, 0, 0, + 0, 80, 2680, 0, 2709, 0, 2737, 0, 2729, 0, + 0, 2731, 0, 2741, 0, 0, 0, 922, 0, 0, + 0, 80, 0, 2745, 80, 2743, 2680, 2740, 0, 2756, + 0, 446, 2758, 0, 0, 2100, 0, 0, 0, 2753, + 80, 2766, 80, 0, 0, 2680, 80, 2680, 0, 997, + 0, 0, 443, 0, 0, 0, 0, 0, 843, 0, + 80, 2771, 0, 80, 0, 2680, 0, 0, 0, 0, + 80, 0, 0, 0, 80, 2680, 509, 0, 2780, 2680, + 0, 0, 0, 0, 2351, 2352, 2353, 0, 2355, 0, + 0, 0, 2145, 0, 0, 0, 632, 125, 0, 2083, + 394, 2083, 913, 0, 0, 0, 125, 0, 0, 2544, + 0, 0, 0, 0, 0, 2373, 2374, 2375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 465, + 0, 632, 0, 0, 0, 1982, 1983, 510, 0, 0, + 615, 633, 1989, 1990, 125, 0, 0, 644, 125, 0, + 0, 0, 0, 0, 1997, 1998, 1999, 2000, 0, 2002, + 2003, 2004, 125, 0, 0, 0, 1018, 0, 1021, 0, + 0, 0, 0, 125, 0, 1035, 1036, 1037, 1038, 1039, + 1040, 1041, 0, 1019, 1020, 1017, 0, 2551, 2554, 0, + 0, 0, 1087, 1023, 1022, 1032, 1033, 1025, 1026, 1027, + 1028, 1029, 1030, 1031, 1024, 0, 0, 1034, 1884, 0, + 0, 0, 0, 0, 2457, 2458, 2459, 2460, 494, 1863, + 1864, 1865, 1867, 0, 2464, 2465, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2162, 0, 0, 0, 2164, + 0, 0, 0, 0, 0, 0, 2573, 2574, 498, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2083, 0, 0, 0, 0, 0, 0, 0, 0, 1929, + 0, 0, 494, 0, 0, 0, 0, 0, 2262, 0, + 2264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1832, 644, 644, 0, 0, 0, 1129, + 0, 1139, 498, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2118, 0, 0, 66, 0, 67, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2368, 0, 125, 0, 465, 0, 2246, 2144, 0, 0, - 0, 0, 0, 0, 68, 0, 0, 0, 0, 2085, - 0, 0, 2149, 0, 0, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 2085, 0, 1265, 0, 0, 0, - 0, 0, 51, 75, 0, 53, 54, 61, 0, 62, - 0, 0, 0, 0, 0, 2182, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, - 1424, 1424, 0, 0, 0, 1424, 1424, 1424, 1424, 1424, - 1424, 0, 0, 1424, 0, 0, 2448, 0, 1424, 1424, - 1424, 1424, 0, 1424, 1424, 1424, 0, 0, 0, 0, - 0, 1424, 1424, 1424, 0, 0, 0, 1424, 1424, 0, - 1424, 1424, 0, 0, 0, 633, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2473, 0, 0, 0, 0, - 73, 0, 0, 0, 0, 1424, 1424, 1424, 1424, 0, - 125, 0, 0, 0, 0, 0, 0, 0, 125, 465, - 0, 0, 0, 125, 125, 0, 0, 125, 1523, 1265, - 633, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1265, 0, 0, 0, 0, 79, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2085, 0, 2085, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2273, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 125, 0, 125, 125, 0, - 0, 0, 0, 0, 125, 0, 0, 0, 644, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1665, 0, 1198, - 0, 1634, 1635, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2609, 0, 2612, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 125, 0, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2640, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, - 0, 0, 0, 0, 0, 0, 0, 0, 2085, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, - 0, 2246, 0, 0, 0, 0, 0, 0, 0, 0, - 1185, 0, 0, 644, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2612, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2696, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, - 0, 1199, 0, 0, 0, 0, 0, 1424, 0, 0, - 0, 0, 0, 0, 0, 0, 1424, 1424, 0, 0, - 1185, 0, 0, 0, 0, 0, 0, 1424, 0, 0, - 0, 1424, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1424, 0, 0, 0, 0, 0, - 0, 1199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 633, 125, 125, 125, 125, 125, 0, 0, 0, - 0, 0, 0, 0, 465, 0, 0, 0, 125, 0, - 0, 0, 465, 0, 0, 0, 0, 0, 125, 0, - 0, 0, 0, 0, 0, 0, 633, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1212, 1215, 1216, 1217, 1218, 1219, 1220, 2571, 1221, 1222, - 1223, 1224, 1225, 1226, 1227, 1228, 0, 1200, 1201, 1202, - 1203, 1179, 1183, 1213, 1180, 1186, 1182, 1184, 1181, 0, - 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, - 1197, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1212, 1215, 1216, 1217, 1218, 1219, 1220, 0, 1221, 1222, - 1223, 1224, 1225, 1226, 1227, 1228, 125, 1200, 1201, 1202, - 1203, 1179, 1183, 1213, 1180, 1186, 1182, 1184, 1181, 0, - 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, - 1197, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 36, - 0, 72, 39, 40, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 59, 0, 0, 0, 0, 0, 78, - 0, 0, 0, 41, 0, 0, 0, 1214, 0, 0, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 36, - 0, 72, 39, 40, 0, 0, 1424, 0, 0, 0, - 0, 0, 0, 59, 0, 1424, 0, 1265, 0, 78, - 0, 81, 0, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2513, 0, 1214, 0, 0, - 2785, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 633, 0, 0, 0, 2513, 0, 0, 0, 0, - 2781, 43, 74, 46, 45, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2514, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 49, 77, 76, 0, 0, 0, 0, 47, - 0, 43, 74, 46, 45, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2514, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 49, 77, 76, 0, 0, 0, 0, 47, - 0, 0, 0, 0, 57, 58, 36, 2515, 72, 39, - 40, 0, 0, 0, 0, 0, 125, 0, 0, 0, - 59, 66, 0, 67, 0, 0, 78, 0, 0, 0, - 41, 0, 36, 0, 72, 39, 40, 0, 0, 125, - 0, 0, 0, 0, 57, 58, 59, 2515, 68, 0, - 0, 0, 78, 0, 125, 0, 41, 0, 0, 0, - 0, 66, 0, 67, 0, 0, 0, 0, 81, 0, - 0, 36, 0, 72, 39, 40, 2516, 75, 0, 53, - 54, 61, 0, 62, 0, 59, 0, 125, 68, 0, - 0, 78, 2513, 0, 81, 41, 0, 2770, 0, 0, - 0, 0, 510, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2516, 75, 2513, 53, - 54, 61, 0, 62, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, 0, 0, 43, 74, - 46, 45, 48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2514, 0, 0, 0, 2513, 0, 0, - 0, 0, 2753, 0, 43, 74, 46, 45, 48, 49, - 77, 76, 0, 0, 73, 0, 47, 0, 465, 2514, - 0, 0, 633, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 644, 0, 0, 0, 0, 1985, 2561, 0, + 0, 0, 0, 0, 0, 2566, 0, 0, 0, 2718, + 1417, 1422, 1423, 0, 0, 0, 2554, 1428, 1429, 1430, + 0, 1432, 0, 488, 1435, 0, 0, 0, 0, 1440, + 1441, 1442, 1443, 0, 1445, 1446, 1447, 2672, 0, 0, + 0, 0, 1453, 1454, 1455, 2345, 0, 0, 1461, 1464, + 1169, 1469, 1470, 0, 0, 0, 632, 0, 644, 0, + 2047, 0, 0, 0, 0, 0, 2193, 0, 0, 0, + 0, 0, 0, 2759, 2195, 0, 1480, 488, 1483, 1484, + 0, 0, 2604, 2047, 2198, 2199, 0, 125, 0, 0, + 0, 2200, 0, 0, 2612, 0, 2225, 0, 0, 0, + 0, 0, 0, 644, 0, 644, 0, 644, 0, 2082, + 0, 925, 932, 933, 935, 936, 937, 938, 939, 0, + 941, 942, 943, 0, 946, 0, 949, 950, 951, 952, + 953, 125, 0, 0, 0, 0, 0, 1196, 0, 0, + 0, 0, 2757, 1023, 1022, 1032, 1033, 1025, 1026, 1027, + 1028, 1029, 1030, 1031, 1024, 0, 0, 1034, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2224, + 0, 0, 0, 0, 0, 0, 2637, 0, 0, 0, + 0, 0, 465, 2213, 0, 0, 0, 0, 0, 0, + 2101, 0, 613, 0, 0, 1254, 0, 0, 0, 0, + 0, 0, 0, 2150, 0, 0, 0, 0, 0, 0, + 0, 0, 1270, 1271, 1272, 1273, 1023, 1022, 1032, 1033, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 2175, 0, + 1034, 0, 0, 2180, 0, 0, 0, 0, 1183, 0, + 2184, 2185, 0, 0, 0, 468, 469, 470, 471, 472, + 476, 477, 481, 482, 491, 490, 489, 492, 493, 496, + 495, 497, 473, 474, 475, 478, 479, 480, 483, 484, + 487, 485, 486, 0, 0, 0, 0, 0, 0, 1197, + 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1024, 0, 0, 1034, 0, 2773, 2774, 0, 468, + 469, 470, 471, 472, 476, 477, 481, 482, 491, 490, + 489, 492, 493, 496, 495, 497, 473, 474, 475, 478, + 479, 480, 483, 484, 487, 485, 486, 632, 125, 125, + 125, 2202, 2203, 0, 2204, 0, 0, 2206, 633, 2208, + 2243, 1350, 0, 633, 0, 0, 0, 2243, 2243, 2243, + 0, 0, 0, 0, 0, 0, 644, 0, 0, 0, + 0, 390, 0, 0, 1372, 0, 0, 0, 2243, 1711, + 0, 0, 0, 0, 0, 0, 0, 1717, 0, 0, + 0, 0, 0, 0, 0, 0, 1727, 1728, 0, 0, + 0, 0, 0, 2212, 0, 0, 0, 1738, 0, 0, + 0, 0, 0, 0, 0, 0, 2254, 2255, 1210, 1213, + 1214, 1215, 1216, 1217, 1218, 0, 1219, 1220, 1221, 1222, + 1223, 1224, 1225, 1226, 1764, 1198, 1199, 1200, 1201, 1177, + 1181, 1211, 1178, 1184, 1180, 1182, 1179, 0, 1185, 1186, + 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1202, + 1203, 1204, 1205, 1206, 1207, 1208, 1209, 0, 0, 368, + 0, 0, 0, 0, 644, 0, 371, 0, 0, 0, + 2026, 0, 644, 0, 0, 380, 388, 389, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1487, + 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1024, 0, 1517, 1034, 1974, 0, 0, 0, 0, + 377, 0, 2365, 378, 0, 0, 386, 387, 2243, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2082, 0, 1023, 1022, 1032, 1033, 1025, 1026, 1027, + 1028, 1029, 1030, 1031, 1024, 1212, 2082, 1034, 0, 0, + 0, 125, 0, 0, 125, 0, 0, 0, 0, 0, + 0, 2025, 1263, 0, 0, 0, 0, 383, 0, 0, + 0, 125, 125, 125, 125, 1023, 1022, 1032, 1033, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1024, 0, 384, 1034, + 0, 0, 0, 0, 1602, 0, 0, 0, 2024, 0, + 0, 0, 0, 0, 1613, 0, 1614, 1615, 2445, 0, + 0, 1320, 0, 1622, 1323, 1324, 1325, 0, 1327, 1328, + 0, 0, 1329, 0, 0, 0, 0, 0, 1330, 0, + 0, 0, 1331, 1332, 0, 1333, 1334, 0, 0, 0, + 0, 0, 1633, 0, 0, 0, 0, 2470, 0, 0, + 0, 0, 0, 369, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 913, 1023, 1022, 1032, 1033, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 0, 0, + 1034, 0, 0, 0, 0, 0, 382, 372, 373, 0, + 393, 0, 0, 0, 374, 376, 0, 370, 392, 391, + 125, 0, 465, 1023, 1022, 1032, 1033, 1025, 1026, 1027, + 1028, 1029, 1030, 1031, 1024, 0, 0, 1034, 1709, 2082, + 0, 2082, 0, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1263, 0, 0, 0, 0, 0, + 385, 0, 0, 0, 632, 0, 1023, 1022, 1032, 1033, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 0, 0, + 1034, 1023, 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, + 1030, 1031, 1024, 0, 0, 1034, 0, 1421, 1421, 1421, + 0, 0, 0, 1421, 1421, 1421, 1421, 1421, 1421, 0, + 644, 1421, 0, 0, 0, 0, 1421, 1421, 1421, 1421, + 0, 1421, 1421, 1421, 0, 0, 0, 1196, 0, 1421, + 1421, 1421, 0, 0, 0, 1421, 1421, 0, 1421, 1421, + 0, 0, 0, 633, 0, 2606, 0, 2609, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1421, 1421, 1421, 1421, 0, 125, 0, + 0, 0, 0, 0, 0, 0, 125, 465, 0, 0, + 0, 125, 125, 0, 0, 125, 1520, 1263, 633, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2082, 0, 1263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2243, 0, 0, 0, 0, 1183, 0, + 0, 0, 0, 0, 0, 644, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2609, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2693, 0, 0, 0, 0, 0, 0, 0, 1197, + 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 125, 0, 125, 125, 0, 0, 0, + 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1908, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1631, + 1632, 125, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1662, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 125, 0, 465, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1967, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1213, + 1214, 1215, 1216, 1217, 1218, 1263, 1219, 1220, 1221, 1222, + 1223, 1224, 1225, 1226, 0, 1198, 1199, 1200, 1201, 1177, + 1181, 1211, 1178, 1184, 1180, 1182, 1179, 0, 1185, 1186, + 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1202, + 1203, 1204, 1205, 1206, 1207, 1208, 1209, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1421, 36, 0, 72, + 39, 40, 0, 0, 1421, 0, 0, 0, 0, 0, + 0, 59, 0, 1421, 1421, 0, 0, 78, 0, 0, + 0, 41, 0, 0, 1421, 0, 0, 0, 1421, 0, + 0, 0, 0, 0, 0, 0, 36, 37, 72, 39, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 59, 1421, 0, 0, 0, 0, 78, 0, 0, 81, + 41, 63, 64, 0, 0, 0, 0, 60, 633, 125, + 125, 125, 125, 125, 0, 1212, 0, 0, 0, 0, + 0, 465, 0, 2510, 0, 125, 2733, 2736, 2732, 465, + 0, 0, 0, 0, 50, 125, 0, 0, 81, 0, + 0, 0, 0, 633, 2115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2141, 0, 43, + 74, 46, 45, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 2146, 0, 2511, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 49, 77, 76, 0, 0, 0, 0, 47, 43, 74, + 46, 45, 48, 0, 0, 2179, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 77, 76, 0, 125, 0, 0, 47, 0, 0, 0, + 0, 0, 57, 58, 0, 2512, 0, 0, 0, 0, + 65, 0, 0, 0, 0, 0, 0, 0, 0, 66, + 0, 67, 0, 0, 36, 0, 72, 39, 40, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, + 0, 57, 58, 0, 78, 0, 68, 0, 41, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, + 67, 0, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1421, 2513, 75, 0, 53, 54, 61, + 0, 62, 1421, 0, 1263, 68, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2510, 0, 0, 51, 75, 2782, 53, 54, 61, 0, + 62, 0, 0, 0, 0, 0, 0, 0, 0, 2270, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 633, 494, + 0, 0, 0, 0, 0, 0, 43, 74, 46, 45, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1227, 2511, 73, 0, 0, 0, 0, 0, 0, 498, + 0, 0, 0, 0, 0, 0, 0, 49, 77, 76, + 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, + 0, 0, 36, 0, 72, 39, 40, 0, 0, 0, + 36, 73, 72, 39, 40, 0, 59, 0, 0, 0, + 0, 79, 78, 0, 59, 0, 41, 0, 0, 0, + 78, 0, 0, 0, 41, 0, 0, 0, 0, 57, + 58, 0, 2512, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 125, 0, 0, 66, 1169, 67, 0, + 79, 0, 0, 0, 81, 0, 0, 0, 0, 0, + 0, 0, 81, 0, 0, 0, 125, 0, 0, 0, + 0, 0, 0, 68, 488, 0, 0, 0, 2510, 494, + 0, 125, 0, 2778, 0, 0, 2510, 0, 0, 0, + 0, 2767, 0, 0, 0, 0, 0, 0, 0, 0, + 2164, 2513, 75, 0, 53, 54, 61, 0, 62, 498, + 494, 0, 0, 0, 125, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43, 74, 46, 45, 48, 510, + 0, 2173, 43, 74, 46, 45, 48, 0, 0, 2511, + 498, 0, 0, 0, 0, 0, 494, 2511, 0, 0, 0, 0, 0, 0, 0, 49, 77, 76, 0, 0, - 0, 0, 47, 43, 74, 46, 45, 48, 0, 0, - 0, 0, 0, 0, 73, 0, 0, 0, 2514, 0, - 0, 57, 58, 79, 2515, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 49, 77, 76, 0, 66, 0, - 67, 47, 0, 0, 0, 0, 0, 57, 58, 0, - 2515, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 79, 66, 68, 67, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 57, 58, 0, 2515, - 0, 68, 0, 2516, 75, 0, 53, 54, 61, 0, - 62, 0, 0, 66, 0, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516, - 75, 125, 53, 54, 61, 0, 62, 0, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2516, 75, - 0, 53, 54, 61, 0, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 465, 0, - 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 49, 77, 76, 0, 2171, 0, 0, + 47, 0, 0, 0, 0, 0, 498, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, + 0, 0, 0, 0, 0, 465, 0, 57, 58, 633, + 2512, 0, 0, 0, 488, 57, 58, 0, 2512, 0, + 0, 0, 0, 0, 66, 0, 67, 0, 0, 0, + 0, 0, 66, 0, 67, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 488, 0, 0, 79, 0, + 0, 68, 0, 0, 0, 0, 0, 0, 0, 68, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2568, 125, 2513, + 75, 488, 53, 54, 61, 0, 62, 2513, 75, 0, + 53, 54, 61, 0, 62, 0, 468, 469, 470, 471, + 472, 476, 477, 481, 482, 491, 490, 489, 492, 493, + 496, 495, 497, 473, 474, 475, 478, 479, 480, 483, + 484, 487, 485, 486, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, + 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 465, 0, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, - 0, 0, 0, 510, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 795, 771, 329, 718, 798, 682, - 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, - 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, - 734, 797, 213, 747, 0, 166, 221, 219, 0, 125, - 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, - 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, - 754, 674, 742, 800, 703, 749, 801, 0, 0, 633, - 0, 2578, 0, 0, 0, 0, 0, 0, 0, 125, - 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, - 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, - 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, - 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, - 0, 0, 0, 687, 0, 740, 0, 0, 0, 668, - 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, - 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, - 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, - 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, - 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, - 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, - 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 2581, 2582, 2583, 0, - 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, - 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, - 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, - 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, - 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, - 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, - 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, - 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, - 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, - 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, - 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, - 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, - 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, - 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, - 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, - 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, - 749, 801, 0, 0, 0, 0, 647, 0, 1545, 1546, - 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, - 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, - 690, 691, 1832, 0, 0, 0, 0, 0, 0, 721, - 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, - 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, - 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, - 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, - 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, - 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, - 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, - 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, - 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, - 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 0, 0, 0, 0, 79, 0, 468, 469, 470, 471, + 472, 476, 477, 481, 482, 491, 490, 489, 492, 493, + 496, 495, 497, 473, 474, 475, 478, 479, 480, 483, + 484, 487, 485, 486, 0, 0, 0, 468, 469, 470, + 471, 472, 476, 477, 481, 482, 491, 490, 489, 492, + 493, 496, 495, 497, 473, 474, 475, 478, 479, 480, + 483, 484, 487, 485, 486, 0, 0, 0, 0, 0, + 510, 0, 0, 468, 469, 470, 471, 472, 476, 477, + 481, 482, 491, 490, 489, 492, 493, 496, 495, 497, + 473, 474, 475, 478, 479, 480, 483, 484, 487, 485, + 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 795, 771, 329, 718, 798, 682, 704, 811, 707, + 710, 752, 665, 731, 256, 702, 666, 0, 686, 655, + 695, 656, 683, 720, 176, 681, 773, 734, 797, 213, + 747, 0, 166, 221, 219, 0, 125, 0, 263, 328, + 796, 726, 0, 805, 216, 0, 743, 806, 316, 240, + 0, 0, 722, 782, 729, 769, 717, 754, 674, 742, + 800, 703, 749, 801, 0, 0, 633, 0, 2575, 0, + 0, 0, 0, 0, 0, 0, 125, 669, 0, 746, + 794, 698, 748, 751, 653, 745, 0, 660, 667, 810, + 789, 689, 690, 691, 0, 0, 0, 0, 0, 0, + 0, 721, 730, 763, 714, 348, 267, 283, 304, 709, + 275, 701, 0, 0, 0, 0, 0, 0, 0, 0, + 687, 0, 740, 0, 0, 0, 668, 661, 0, 0, + 719, 0, 0, 0, 673, 652, 688, 765, 0, 650, + 241, 144, 770, 788, 716, 204, 359, 792, 713, 712, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 762, 298, 700, 651, 774, 684, 696, 167, 692, + 290, 260, 347, 0, 737, 289, 217, 337, 758, 793, + 346, 705, 776, 356, 361, 0, 727, 671, 313, 177, + 0, 133, 0, 274, 172, 209, 715, 753, 685, 164, + 760, 741, 781, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 2578, 2579, 2580, 0, 0, 0, 0, + 352, 711, 301, 300, 706, 199, 768, 744, 657, 282, + 756, 205, 132, 326, 364, 150, 211, 331, 649, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 697, 757, 767, 280, 303, 333, 152, 320, + 693, 694, 699, 764, 292, 775, 786, 799, 224, 179, + 182, 193, 200, 750, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 658, + 0, 318, 350, 366, 154, 680, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 678, 679, 676, + 0, 677, 732, 733, 802, 803, 804, 766, 670, 0, + 783, 784, 0, 0, 0, 0, 0, 772, 790, 791, + 755, 812, 708, 675, 659, 662, 663, 664, 672, 723, + 724, 736, 739, 779, 778, 777, 780, 785, 808, 807, + 809, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 131, 140, 215, 813, 281, 185, 351, + 654, 174, 0, 725, 728, 738, 761, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 759, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 787, 795, 771, 329, 718, + 798, 682, 704, 811, 707, 710, 752, 665, 731, 256, + 702, 666, 0, 686, 655, 695, 656, 683, 720, 176, + 681, 773, 734, 797, 213, 747, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 796, 726, 0, 805, 216, + 0, 743, 806, 316, 240, 0, 0, 722, 782, 729, + 769, 717, 754, 674, 742, 800, 703, 749, 801, 0, + 0, 0, 0, 647, 0, 1542, 1543, 0, 0, 0, + 0, 0, 669, 0, 746, 794, 698, 748, 751, 653, + 745, 0, 660, 667, 810, 789, 689, 690, 691, 1829, + 0, 0, 0, 0, 0, 0, 721, 730, 763, 714, + 348, 267, 283, 304, 709, 275, 701, 0, 0, 0, + 0, 0, 0, 0, 0, 687, 0, 740, 0, 0, + 0, 668, 661, 0, 0, 719, 0, 0, 0, 673, + 652, 688, 765, 0, 650, 241, 144, 770, 788, 716, + 204, 359, 792, 713, 712, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 762, 298, 700, 651, + 774, 684, 696, 167, 692, 290, 260, 347, 0, 737, + 289, 217, 337, 758, 793, 346, 705, 776, 356, 361, + 0, 727, 671, 313, 177, 0, 133, 0, 274, 172, + 209, 715, 753, 685, 164, 760, 741, 781, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 711, 301, 300, 706, + 199, 768, 744, 657, 282, 756, 205, 132, 326, 364, + 150, 211, 331, 649, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 697, 757, 767, + 280, 303, 333, 152, 320, 693, 694, 699, 764, 292, + 775, 786, 799, 224, 179, 182, 193, 200, 750, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 658, 0, 318, 350, 366, 154, + 680, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 678, 679, 676, 0, 677, 732, 733, 802, + 803, 804, 766, 670, 0, 783, 784, 0, 0, 0, + 0, 0, 772, 790, 791, 755, 812, 708, 675, 659, + 662, 663, 664, 672, 723, 724, 736, 739, 779, 778, + 777, 780, 785, 808, 807, 809, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 131, 140, + 215, 813, 281, 185, 351, 654, 174, 0, 725, 728, + 738, 761, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 759, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 787, 795, 771, 329, 718, 798, 682, 704, 811, 707, + 710, 752, 665, 731, 256, 702, 666, 0, 686, 655, + 695, 656, 683, 720, 176, 681, 773, 734, 797, 213, + 747, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 796, 726, 0, 805, 216, 0, 743, 806, 316, 240, + 0, 0, 722, 782, 729, 769, 717, 754, 674, 742, + 800, 703, 749, 801, 0, 0, 0, 0, 647, 0, + 1542, 1543, 0, 0, 0, 0, 0, 669, 0, 746, + 794, 698, 748, 751, 653, 745, 0, 660, 667, 810, + 789, 689, 690, 691, 0, 0, 0, 0, 0, 0, + 0, 721, 730, 763, 714, 348, 267, 283, 304, 709, + 275, 701, 0, 0, 0, 0, 0, 0, 0, 0, + 687, 0, 740, 0, 0, 0, 668, 661, 0, 0, + 719, 0, 0, 0, 673, 652, 688, 765, 0, 650, + 241, 144, 770, 788, 716, 204, 359, 792, 713, 712, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 762, 298, 700, 651, 774, 684, 696, 167, 692, + 290, 260, 347, 0, 737, 289, 217, 337, 758, 793, + 346, 705, 776, 356, 361, 0, 727, 671, 313, 177, + 0, 133, 0, 274, 172, 209, 715, 753, 685, 164, + 760, 741, 781, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 711, 301, 300, 706, 199, 768, 744, 657, 282, + 756, 205, 132, 326, 364, 150, 211, 331, 649, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 697, 757, 767, 280, 303, 333, 152, 320, + 693, 694, 699, 764, 292, 775, 786, 799, 224, 179, + 182, 193, 200, 750, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 658, + 0, 318, 350, 366, 154, 680, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 678, 679, 676, + 0, 677, 732, 733, 802, 803, 804, 766, 670, 0, + 783, 784, 0, 0, 0, 0, 0, 772, 790, 791, + 755, 812, 708, 675, 659, 662, 663, 664, 672, 723, + 724, 736, 739, 779, 778, 777, 780, 785, 808, 807, + 809, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 131, 140, 215, 813, 281, 185, 351, + 654, 174, 0, 725, 728, 738, 761, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 759, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 787, 795, 2044, 329, 718, + 798, 682, 704, 811, 707, 710, 752, 665, 731, 256, + 702, 666, 0, 686, 655, 695, 656, 683, 720, 176, + 681, 773, 734, 797, 213, 747, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 796, 726, 0, 805, 216, + 0, 743, 806, 316, 240, 0, 0, 722, 782, 729, + 769, 717, 754, 674, 742, 800, 703, 749, 801, 81, + 0, 987, 0, 647, 0, 0, 0, 0, 0, 0, + 0, 0, 669, 0, 746, 794, 698, 748, 751, 653, + 745, 0, 660, 667, 810, 789, 689, 690, 691, 0, + 0, 0, 0, 0, 0, 0, 721, 730, 763, 714, + 348, 267, 283, 304, 709, 275, 701, 0, 0, 0, + 0, 0, 0, 0, 0, 687, 0, 740, 0, 0, + 0, 668, 661, 0, 0, 719, 0, 0, 0, 673, + 652, 688, 765, 0, 650, 241, 144, 770, 788, 716, + 204, 359, 792, 713, 712, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 762, 298, 700, 651, + 774, 684, 696, 167, 692, 290, 260, 347, 0, 737, + 289, 217, 337, 758, 793, 346, 705, 776, 356, 361, + 0, 727, 671, 313, 177, 0, 133, 0, 274, 172, + 209, 715, 753, 685, 164, 760, 741, 781, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 711, 301, 300, 706, + 199, 768, 744, 657, 282, 756, 205, 132, 326, 364, + 150, 211, 331, 649, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 697, 757, 767, + 280, 303, 333, 152, 320, 693, 694, 699, 764, 292, + 775, 786, 799, 224, 179, 182, 193, 200, 750, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 658, 0, 318, 350, 366, 154, + 680, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 678, 679, 676, 0, 677, 732, 733, 802, + 803, 804, 766, 670, 0, 783, 784, 0, 0, 0, + 0, 0, 772, 790, 791, 755, 812, 708, 675, 659, + 662, 663, 664, 672, 723, 724, 736, 739, 779, 778, + 777, 780, 785, 808, 807, 809, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 131, 140, + 215, 2045, 281, 185, 351, 654, 174, 0, 725, 728, + 738, 761, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 759, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 787, 795, 771, 329, 718, 798, 682, 704, 811, 707, + 710, 752, 665, 731, 256, 702, 666, 0, 686, 655, + 695, 656, 683, 720, 176, 681, 773, 734, 797, 213, + 747, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 796, 726, 0, 805, 216, 0, 743, 806, 316, 240, + 0, 0, 722, 782, 729, 769, 717, 754, 674, 742, + 800, 703, 749, 801, 0, 0, 0, 0, 647, 0, + 0, 0, 0, 0, 0, 0, 0, 669, 0, 746, + 794, 698, 748, 751, 653, 745, 0, 660, 667, 810, + 789, 689, 690, 691, 0, 0, 0, 0, 0, 0, + 0, 721, 730, 763, 714, 348, 267, 283, 304, 709, + 275, 701, 0, 0, 0, 0, 0, 0, 2342, 0, + 687, 0, 740, 0, 0, 0, 668, 661, 0, 0, + 719, 0, 0, 0, 673, 652, 688, 765, 0, 650, + 241, 144, 770, 788, 716, 204, 359, 792, 713, 712, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 762, 298, 700, 651, 774, 684, 696, 167, 692, + 290, 260, 347, 0, 737, 289, 217, 337, 758, 793, + 346, 705, 776, 356, 361, 0, 727, 671, 313, 177, + 0, 133, 0, 274, 172, 209, 715, 753, 685, 164, + 760, 741, 781, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 711, 301, 300, 706, 199, 768, 744, 657, 282, + 756, 205, 132, 326, 364, 150, 211, 331, 649, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 697, 757, 767, 280, 303, 333, 152, 320, + 693, 694, 699, 764, 292, 775, 786, 799, 224, 179, + 182, 193, 200, 750, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 658, + 0, 318, 350, 366, 154, 680, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 678, 679, 676, + 0, 677, 732, 733, 802, 803, 804, 766, 670, 0, + 783, 784, 0, 0, 0, 0, 0, 772, 790, 791, + 755, 812, 708, 675, 659, 662, 663, 664, 672, 723, + 724, 736, 739, 779, 778, 777, 780, 785, 808, 807, + 809, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 131, 140, 215, 813, 281, 185, 351, + 654, 174, 0, 725, 728, 738, 761, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 759, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 787, 795, 771, 329, 718, + 798, 682, 704, 811, 707, 710, 752, 665, 731, 256, + 702, 666, 0, 686, 655, 695, 656, 683, 720, 176, + 681, 773, 734, 797, 213, 747, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 796, 726, 0, 805, 216, + 0, 743, 806, 316, 240, 0, 0, 722, 782, 729, + 769, 717, 754, 674, 742, 800, 703, 749, 801, 0, + 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, + 0, 0, 669, 0, 746, 794, 698, 748, 751, 653, + 745, 0, 660, 667, 810, 789, 689, 690, 691, 0, + 0, 0, 0, 0, 0, 0, 721, 730, 763, 714, + 348, 267, 283, 304, 709, 275, 701, 0, 0, 0, + 0, 0, 0, 1980, 0, 687, 0, 740, 0, 0, + 0, 668, 661, 0, 0, 719, 0, 0, 0, 673, + 652, 688, 765, 0, 650, 241, 144, 770, 788, 716, + 204, 359, 792, 713, 712, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 762, 298, 700, 651, + 774, 684, 696, 167, 692, 290, 260, 347, 0, 737, + 289, 217, 337, 758, 793, 346, 705, 776, 356, 361, + 0, 727, 671, 313, 177, 0, 133, 0, 274, 172, + 209, 715, 753, 685, 164, 760, 741, 781, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 711, 301, 300, 706, + 199, 768, 744, 657, 282, 756, 205, 132, 326, 364, + 150, 211, 331, 649, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 697, 757, 767, + 280, 303, 333, 152, 320, 693, 694, 699, 764, 292, + 775, 786, 799, 224, 179, 182, 193, 200, 750, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 658, 0, 318, 350, 366, 154, + 680, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 678, 679, 676, 0, 677, 732, 733, 802, + 803, 804, 766, 670, 0, 783, 784, 0, 0, 0, + 0, 0, 772, 790, 791, 755, 812, 708, 675, 659, + 662, 663, 664, 672, 723, 724, 736, 739, 779, 778, + 777, 780, 785, 808, 807, 809, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 131, 140, + 215, 813, 281, 185, 351, 654, 174, 0, 725, 728, + 738, 761, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 759, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 787, 795, 771, 329, 718, 798, 682, 704, 811, 707, + 710, 752, 665, 731, 256, 702, 666, 0, 686, 655, + 695, 656, 683, 720, 176, 681, 773, 734, 797, 213, + 747, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 796, 726, 0, 805, 216, 0, 743, 806, 316, 240, + 0, 0, 722, 782, 729, 769, 717, 754, 674, 742, + 800, 703, 749, 801, 0, 0, 0, 0, 647, 0, + 0, 0, 0, 0, 0, 0, 0, 669, 0, 746, + 794, 698, 748, 751, 653, 745, 0, 660, 667, 810, + 789, 689, 690, 691, 0, 0, 0, 0, 0, 0, + 0, 721, 730, 763, 714, 348, 267, 283, 304, 709, + 275, 701, 0, 0, 0, 0, 0, 0, 1970, 0, + 687, 0, 740, 0, 0, 0, 668, 661, 0, 0, + 719, 0, 0, 0, 673, 652, 688, 765, 0, 650, + 241, 144, 770, 788, 716, 204, 359, 792, 713, 712, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 762, 298, 700, 651, 774, 684, 696, 167, 692, + 290, 260, 347, 0, 737, 289, 217, 337, 758, 793, + 346, 705, 776, 356, 361, 0, 727, 671, 313, 177, + 0, 133, 0, 274, 172, 209, 715, 753, 685, 164, + 760, 741, 781, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 711, 301, 300, 706, 199, 768, 744, 657, 282, + 756, 205, 132, 326, 364, 150, 211, 331, 649, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 697, 757, 767, 280, 303, 333, 152, 320, + 693, 694, 699, 764, 292, 775, 786, 799, 224, 179, + 182, 193, 200, 750, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 658, + 0, 318, 350, 366, 154, 680, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 678, 679, 676, + 0, 677, 732, 733, 802, 803, 804, 766, 670, 0, + 783, 784, 0, 0, 0, 0, 0, 772, 790, 791, + 755, 812, 708, 675, 659, 662, 663, 664, 672, 723, + 724, 736, 739, 779, 778, 777, 780, 785, 808, 807, + 809, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 131, 140, 215, 813, 281, 185, 351, + 654, 174, 0, 725, 728, 738, 761, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 759, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 787, 795, 771, 329, 718, + 798, 682, 704, 811, 707, 710, 752, 665, 731, 256, + 702, 666, 0, 686, 655, 695, 656, 683, 720, 176, + 681, 773, 734, 797, 213, 747, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 796, 726, 0, 805, 216, + 0, 743, 806, 316, 240, 0, 0, 722, 782, 729, + 769, 717, 754, 674, 742, 800, 703, 749, 801, 0, + 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, + 0, 0, 669, 0, 746, 794, 698, 748, 751, 653, + 745, 0, 660, 667, 810, 789, 689, 690, 691, 0, + 0, 0, 0, 0, 0, 0, 721, 730, 763, 714, + 348, 267, 283, 304, 709, 275, 701, 0, 0, 0, + 0, 0, 0, 1521, 0, 687, 0, 740, 0, 0, + 0, 668, 661, 0, 0, 719, 0, 0, 0, 673, + 652, 688, 765, 0, 650, 241, 144, 770, 788, 716, + 204, 359, 792, 713, 712, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 762, 298, 700, 651, + 774, 684, 696, 167, 692, 290, 260, 347, 0, 737, + 289, 217, 337, 758, 793, 346, 705, 776, 356, 361, + 0, 727, 671, 313, 177, 0, 133, 0, 274, 172, + 209, 715, 753, 685, 164, 760, 741, 781, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 711, 301, 300, 706, + 199, 768, 744, 657, 282, 756, 205, 132, 326, 364, + 150, 211, 331, 649, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 697, 757, 767, + 280, 303, 333, 152, 320, 693, 694, 699, 764, 292, + 775, 786, 799, 224, 179, 182, 193, 200, 750, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 658, 0, 318, 350, 366, 154, + 680, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 678, 679, 676, 0, 677, 732, 733, 802, + 803, 804, 766, 670, 0, 783, 784, 0, 0, 0, + 0, 0, 772, 790, 791, 755, 812, 708, 675, 659, + 662, 663, 664, 672, 723, 724, 736, 739, 779, 778, + 777, 780, 785, 808, 807, 809, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 131, 140, + 215, 813, 281, 185, 351, 654, 174, 0, 725, 728, + 738, 761, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 759, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 787, 795, 771, 329, 718, 798, 682, 704, 811, 707, + 710, 752, 665, 731, 256, 702, 666, 0, 686, 655, + 695, 656, 683, 720, 176, 681, 773, 734, 797, 213, + 747, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 796, 726, 0, 805, 216, 0, 743, 806, 316, 240, + 0, 0, 722, 782, 729, 769, 717, 754, 674, 742, + 800, 703, 749, 801, 0, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 0, 669, 0, 746, + 794, 698, 748, 751, 653, 745, 0, 660, 667, 810, + 789, 689, 690, 691, 0, 0, 0, 0, 0, 0, + 0, 721, 730, 763, 714, 348, 267, 283, 304, 709, + 275, 701, 0, 0, 0, 0, 0, 0, 1381, 0, + 687, 0, 740, 0, 0, 0, 668, 661, 0, 0, + 719, 0, 0, 0, 673, 652, 688, 765, 0, 650, + 241, 144, 770, 788, 716, 204, 359, 792, 713, 712, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 762, 298, 700, 651, 774, 684, 696, 167, 692, + 290, 260, 347, 0, 737, 289, 217, 337, 758, 793, + 346, 705, 776, 356, 361, 0, 727, 671, 313, 177, + 0, 133, 0, 274, 172, 209, 715, 753, 685, 164, + 760, 741, 781, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 711, 301, 300, 706, 199, 768, 744, 657, 282, + 756, 205, 132, 326, 364, 150, 211, 331, 649, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 697, 757, 767, 280, 303, 333, 152, 320, + 693, 694, 699, 764, 292, 775, 786, 799, 224, 179, + 182, 193, 200, 750, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 658, + 0, 318, 350, 366, 154, 680, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 678, 679, 676, + 0, 677, 732, 733, 802, 803, 804, 766, 670, 0, + 783, 784, 0, 0, 0, 0, 0, 772, 790, 791, + 755, 812, 708, 675, 659, 662, 663, 664, 672, 723, + 724, 736, 739, 779, 778, 777, 780, 785, 808, 807, + 809, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 131, 140, 215, 813, 281, 185, 351, + 654, 174, 0, 725, 728, 738, 761, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 759, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 787, 795, 771, 329, 718, + 798, 682, 704, 811, 707, 710, 752, 665, 731, 256, + 702, 666, 0, 686, 655, 695, 656, 683, 720, 176, + 681, 773, 734, 797, 213, 747, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 796, 726, 0, 805, 216, + 0, 743, 806, 316, 240, 0, 0, 722, 782, 729, + 769, 717, 754, 674, 742, 800, 703, 749, 801, 0, + 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, + 0, 0, 669, 0, 746, 794, 698, 748, 751, 653, + 745, 0, 660, 667, 810, 789, 689, 690, 691, 0, + 0, 0, 0, 0, 0, 0, 721, 730, 763, 714, + 348, 267, 283, 304, 709, 275, 701, 0, 0, 0, + 0, 0, 0, 0, 0, 687, 0, 740, 0, 0, + 0, 668, 661, 0, 0, 719, 0, 0, 0, 673, + 652, 688, 765, 0, 650, 241, 144, 770, 788, 716, + 204, 359, 792, 713, 712, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 762, 298, 700, 651, + 774, 684, 696, 167, 692, 290, 260, 347, 0, 737, + 289, 217, 337, 758, 793, 346, 705, 776, 356, 361, + 0, 727, 671, 313, 177, 0, 133, 0, 274, 172, + 209, 715, 753, 685, 164, 760, 741, 781, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 711, 301, 300, 706, + 199, 768, 744, 657, 282, 756, 205, 132, 326, 364, + 150, 211, 331, 649, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 697, 757, 767, + 280, 303, 333, 152, 320, 693, 694, 699, 764, 292, + 775, 786, 799, 224, 179, 182, 193, 200, 750, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 658, 0, 318, 350, 366, 154, + 680, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 678, 679, 676, 0, 677, 732, 733, 802, + 803, 804, 766, 670, 0, 783, 784, 0, 0, 0, + 0, 0, 772, 790, 791, 755, 812, 708, 675, 659, + 662, 663, 664, 672, 723, 724, 736, 739, 779, 778, + 777, 780, 785, 808, 807, 809, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 131, 140, + 215, 813, 281, 185, 351, 654, 174, 0, 725, 728, + 738, 761, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 759, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 787, 795, 771, 329, 718, 798, 682, 704, 811, 707, + 710, 752, 665, 731, 256, 702, 666, 0, 686, 655, + 695, 656, 683, 720, 176, 681, 773, 734, 797, 213, + 747, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 796, 726, 0, 805, 216, 0, 743, 806, 316, 240, + 0, 0, 722, 782, 729, 769, 717, 754, 674, 742, + 800, 703, 749, 801, 0, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 0, 669, 0, 746, + 794, 698, 748, 751, 653, 745, 0, 660, 667, 810, + 789, 689, 690, 691, 0, 0, 0, 0, 0, 0, + 0, 721, 730, 763, 714, 348, 267, 283, 304, 709, + 275, 701, 0, 0, 0, 0, 0, 0, 0, 0, + 687, 0, 740, 0, 0, 0, 668, 661, 0, 0, + 719, 0, 0, 0, 673, 652, 688, 765, 0, 650, + 241, 144, 770, 788, 716, 204, 359, 792, 713, 712, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 762, 298, 700, 651, 774, 684, 696, 167, 692, + 290, 260, 347, 0, 737, 289, 217, 337, 758, 793, + 346, 705, 776, 356, 361, 0, 727, 671, 313, 177, + 0, 133, 0, 274, 172, 209, 715, 753, 685, 164, + 760, 741, 781, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 711, 301, 300, 706, 199, 768, 744, 657, 282, + 756, 205, 132, 326, 364, 150, 211, 331, 649, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 697, 757, 767, 280, 303, 333, 152, 320, + 693, 694, 699, 764, 292, 775, 786, 799, 224, 179, + 182, 193, 200, 750, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 658, + 0, 318, 350, 366, 154, 680, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 678, 679, 676, + 0, 677, 732, 733, 802, 803, 804, 766, 670, 0, + 783, 784, 0, 0, 0, 0, 0, 772, 790, 791, + 755, 812, 708, 675, 659, 662, 663, 664, 672, 723, + 724, 736, 739, 779, 778, 777, 780, 785, 808, 807, + 809, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 131, 140, 215, 813, 281, 185, 351, + 654, 174, 0, 725, 728, 738, 761, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 759, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 787, 795, 771, 329, 718, + 798, 682, 704, 811, 707, 710, 752, 665, 731, 256, + 702, 666, 0, 686, 655, 695, 656, 683, 720, 176, + 681, 773, 734, 797, 213, 747, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 1553, 1557, 0, 805, 216, + 0, 743, 806, 316, 240, 0, 0, 722, 782, 729, + 769, 717, 754, 674, 742, 800, 703, 749, 801, 0, + 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, + 0, 0, 669, 0, 746, 794, 698, 748, 751, 653, + 745, 0, 660, 667, 810, 789, 689, 690, 691, 0, + 0, 0, 0, 0, 0, 0, 721, 730, 763, 714, + 348, 267, 283, 304, 709, 275, 701, 0, 0, 0, + 0, 0, 0, 0, 0, 687, 0, 740, 0, 0, + 0, 668, 661, 0, 0, 719, 0, 0, 0, 673, + 652, 688, 765, 0, 650, 241, 144, 770, 788, 1556, + 204, 359, 792, 713, 712, 1551, 0, 1552, 192, 214, + 646, 128, 142, 1549, 1555, 252, 762, 298, 700, 651, + 774, 684, 696, 167, 692, 290, 260, 347, 0, 737, + 289, 217, 337, 758, 793, 346, 705, 776, 356, 361, + 0, 727, 671, 313, 177, 0, 133, 0, 274, 172, + 209, 715, 753, 685, 164, 760, 741, 781, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 711, 301, 300, 706, + 199, 768, 744, 657, 282, 756, 205, 132, 326, 364, + 150, 211, 331, 649, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 697, 757, 767, + 280, 303, 333, 152, 320, 693, 694, 699, 764, 292, + 775, 786, 799, 224, 179, 182, 193, 200, 750, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 658, 0, 318, 350, 366, 154, + 680, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 678, 679, 676, 0, 677, 732, 733, 802, + 803, 804, 766, 670, 0, 783, 784, 0, 0, 0, + 0, 0, 772, 790, 791, 755, 812, 708, 675, 659, + 662, 663, 664, 672, 723, 724, 736, 739, 779, 778, + 777, 780, 785, 808, 807, 809, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 131, 140, + 215, 813, 281, 185, 351, 654, 174, 0, 725, 728, + 738, 761, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 759, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 787, 795, 771, 329, 718, 798, 682, 704, 811, 707, + 710, 752, 665, 731, 256, 702, 666, 0, 686, 655, + 695, 656, 683, 720, 176, 681, 773, 734, 797, 213, + 747, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 796, 726, 0, 805, 216, 0, 743, 806, 316, 240, + 0, 0, 722, 782, 729, 769, 717, 754, 674, 742, + 800, 703, 749, 801, 0, 0, 0, 0, 126, 0, + 0, 0, 0, 0, 0, 0, 0, 669, 0, 746, + 794, 698, 748, 751, 653, 745, 0, 660, 667, 810, + 789, 689, 690, 691, 0, 0, 0, 0, 0, 0, + 0, 721, 730, 763, 714, 348, 267, 283, 304, 709, + 275, 701, 0, 0, 0, 0, 0, 0, 0, 0, + 687, 0, 740, 0, 0, 0, 668, 661, 0, 0, + 719, 0, 0, 0, 673, 652, 688, 765, 0, 650, + 241, 144, 770, 788, 716, 204, 359, 792, 713, 712, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 762, 298, 700, 651, 774, 684, 696, 167, 692, + 290, 260, 347, 0, 737, 289, 217, 337, 758, 793, + 346, 705, 776, 356, 361, 0, 727, 671, 313, 177, + 0, 133, 0, 274, 172, 209, 715, 753, 685, 164, + 760, 741, 781, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 711, 301, 300, 706, 199, 768, 744, 657, 282, + 756, 205, 132, 326, 364, 150, 211, 331, 649, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 697, 757, 767, 280, 303, 333, 152, 320, + 693, 694, 699, 764, 292, 775, 786, 799, 224, 179, + 182, 193, 200, 750, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 658, + 0, 318, 350, 366, 154, 680, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 678, 679, 676, + 0, 677, 732, 733, 802, 803, 804, 766, 670, 0, + 783, 784, 0, 0, 0, 0, 0, 772, 790, 791, + 755, 812, 708, 675, 659, 662, 663, 664, 672, 723, + 724, 736, 739, 779, 778, 777, 780, 785, 808, 807, + 809, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 735, 131, 140, 215, 813, 281, 185, 351, + 654, 174, 0, 725, 728, 738, 761, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 759, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 787, 795, 771, 329, 718, + 798, 682, 704, 811, 707, 710, 752, 665, 731, 256, + 702, 666, 0, 686, 655, 695, 656, 683, 720, 176, + 681, 773, 734, 797, 213, 747, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 796, 726, 0, 805, 216, + 0, 743, 806, 316, 240, 0, 0, 722, 782, 729, + 769, 717, 754, 674, 742, 800, 703, 749, 801, 0, + 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, + 0, 0, 669, 0, 746, 794, 698, 748, 751, 653, + 745, 0, 660, 667, 810, 789, 689, 690, 691, 0, + 0, 0, 0, 0, 0, 0, 721, 730, 763, 714, + 348, 267, 283, 304, 709, 275, 701, 0, 0, 0, + 0, 0, 0, 0, 0, 687, 0, 740, 0, 0, + 0, 668, 661, 0, 0, 719, 0, 0, 0, 673, + 652, 688, 765, 0, 650, 241, 144, 770, 788, 716, + 204, 359, 792, 713, 712, 277, 0, 323, 192, 214, + 646, 128, 142, 642, 191, 252, 762, 298, 700, 651, + 774, 684, 696, 167, 692, 290, 260, 347, 0, 737, + 289, 217, 337, 758, 793, 346, 705, 776, 356, 361, + 0, 727, 671, 313, 177, 0, 133, 0, 274, 172, + 209, 715, 753, 685, 164, 760, 741, 781, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 711, 301, 300, 706, + 199, 768, 744, 657, 282, 756, 205, 132, 326, 364, + 150, 211, 331, 649, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 697, 757, 767, + 280, 303, 333, 152, 320, 693, 694, 699, 764, 292, + 775, 786, 799, 224, 179, 182, 193, 200, 750, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 658, 0, 318, 350, 366, 154, + 680, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 678, 679, 676, 0, 677, 732, 733, 802, + 803, 804, 766, 670, 0, 783, 784, 0, 0, 0, + 0, 0, 772, 790, 791, 755, 812, 708, 675, 659, + 662, 663, 664, 672, 723, 724, 736, 739, 779, 778, + 777, 780, 785, 808, 807, 809, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 735, 131, 140, + 215, 813, 281, 185, 351, 654, 174, 0, 725, 728, + 738, 761, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 759, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 787, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 0, 0, 517, 0, + 0, 0, 176, 514, 0, 0, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 592, 216, 0, 0, 494, 316, 240, 0, 0, + 0, 0, 579, 580, 0, 0, 0, 0, 0, 0, + 1531, 0, 81, 0, 0, 0, 515, 539, 538, 541, + 542, 543, 544, 0, 0, 498, 540, 545, 574, 575, + 1532, 0, 0, 512, 530, 0, 591, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, + 0, 0, 0, 0, 527, 528, 0, 0, 0, 0, + 606, 0, 529, 0, 0, 524, 525, 526, 531, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, + 582, 0, 0, 204, 359, 0, 0, 604, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, + 298, 589, 0, 0, 0, 0, 167, 0, 290, 260, + 347, 581, 0, 289, 217, 337, 0, 0, 346, 0, + 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, - 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, - 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, - 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, - 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, + 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, + 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, - 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, - 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, - 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, - 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, - 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, - 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, - 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, - 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, - 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, - 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, - 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, - 0, 647, 0, 1545, 1546, 0, 0, 0, 0, 0, - 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, - 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, - 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, - 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, - 0, 0, 0, 687, 0, 740, 0, 0, 0, 668, - 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, - 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, - 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, - 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, - 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, - 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, - 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, - 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, - 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, - 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, - 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, - 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, - 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, - 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, - 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, - 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, - 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, - 2047, 329, 718, 798, 682, 704, 811, 707, 710, 752, - 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, - 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, - 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, - 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, - 749, 801, 81, 0, 989, 0, 647, 0, 0, 0, - 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, - 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, - 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, - 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, - 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, - 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, - 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, - 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, - 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, - 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, - 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, - 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, - 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, - 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, - 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, - 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, - 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, - 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, - 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, - 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, - 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, - 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 131, 140, 215, 2048, 281, 185, 351, 654, 174, - 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, - 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, - 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, - 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, - 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, - 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, - 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, - 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, - 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, - 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, - 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, - 0, 2345, 0, 687, 0, 740, 0, 0, 0, 668, - 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, - 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, - 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, - 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, - 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, - 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, - 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, - 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, - 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, - 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, - 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, - 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, - 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, - 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, - 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, - 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, - 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, - 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, - 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, - 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, - 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, - 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, - 749, 801, 0, 0, 0, 0, 515, 0, 0, 0, - 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, - 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, - 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, - 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, - 0, 0, 0, 0, 0, 0, 1983, 0, 687, 0, - 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, - 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, - 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, - 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, - 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, - 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, - 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, - 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, - 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, - 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, - 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, - 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, - 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, - 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, - 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, - 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, - 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, - 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, - 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, - 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, - 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, - 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, - 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, - 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, - 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, - 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, - 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, - 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, - 0, 1973, 0, 687, 0, 740, 0, 0, 0, 668, - 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, - 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, - 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, - 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, - 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, - 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, - 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, - 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, - 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, - 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, - 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, - 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, - 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, - 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, - 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, - 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, - 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, - 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, - 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, - 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, - 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, - 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, - 749, 801, 0, 0, 0, 0, 126, 0, 0, 0, - 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, - 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, - 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, - 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, - 0, 0, 0, 0, 0, 0, 1524, 0, 687, 0, - 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, - 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, - 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, - 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, - 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, - 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, - 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, - 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, - 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, - 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, - 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, - 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, - 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, - 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, - 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, - 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, - 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, - 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, - 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, - 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, - 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, - 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, - 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, - 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, - 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, - 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, - 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, - 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, - 0, 1384, 0, 687, 0, 740, 0, 0, 0, 668, - 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, - 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, - 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, - 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, - 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, - 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, - 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, - 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, - 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, - 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, - 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, - 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, - 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, - 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, - 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, - 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, - 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, - 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, - 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, - 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, - 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, - 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, - 749, 801, 0, 0, 0, 0, 647, 0, 0, 0, - 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, - 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, - 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, - 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, - 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, - 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, - 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, - 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 762, - 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, - 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, - 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, - 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, - 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, - 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, - 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, - 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, - 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, - 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, - 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, - 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, - 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, - 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, - 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, - 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, - 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, - 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, - 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, - 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, - 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, - 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, - 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, - 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, - 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, - 0, 0, 0, 687, 0, 740, 0, 0, 0, 668, - 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, - 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, - 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, - 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, - 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, - 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, - 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, - 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, - 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, - 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, - 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, - 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, - 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, - 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, - 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, - 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, - 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, - 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, - 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, - 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 1556, 1560, - 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, - 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, - 749, 801, 0, 0, 0, 0, 647, 0, 0, 0, - 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, - 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, - 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, - 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, - 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, - 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, - 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, - 770, 788, 1559, 204, 359, 792, 713, 712, 1554, 0, - 1555, 192, 214, 646, 128, 142, 1552, 1558, 252, 762, - 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, - 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, - 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, - 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, - 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, - 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, - 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, - 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, - 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, - 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, - 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, - 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, - 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, - 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, - 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 787, 795, 771, 329, 718, 798, 682, - 704, 811, 707, 710, 752, 665, 731, 256, 702, 666, - 0, 686, 655, 695, 656, 683, 720, 176, 681, 773, - 734, 797, 213, 747, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 796, 726, 0, 805, 216, 0, 743, - 806, 316, 240, 0, 0, 722, 782, 729, 769, 717, - 754, 674, 742, 800, 703, 749, 801, 0, 0, 0, - 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, - 669, 0, 746, 794, 698, 748, 751, 653, 745, 0, - 660, 667, 810, 789, 689, 690, 691, 0, 0, 0, - 0, 0, 0, 0, 721, 730, 763, 714, 348, 267, - 283, 304, 709, 275, 701, 0, 0, 0, 0, 0, - 0, 0, 0, 687, 0, 740, 0, 0, 0, 668, - 661, 0, 0, 719, 0, 0, 0, 673, 652, 688, - 765, 0, 650, 241, 144, 770, 788, 716, 204, 359, - 792, 713, 712, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 762, 298, 700, 651, 774, 684, - 696, 167, 692, 290, 260, 347, 0, 737, 289, 217, - 337, 758, 793, 346, 705, 776, 356, 361, 0, 727, - 671, 313, 177, 0, 133, 0, 274, 172, 209, 715, - 753, 685, 164, 760, 741, 781, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 711, 301, 300, 706, 199, 768, - 744, 657, 282, 756, 205, 132, 326, 364, 150, 211, - 331, 649, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 697, 757, 767, 280, 303, - 333, 152, 320, 693, 694, 699, 764, 292, 775, 786, - 799, 224, 179, 182, 193, 200, 750, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 658, 0, 318, 350, 366, 154, 680, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, - 678, 679, 676, 0, 677, 732, 733, 802, 803, 804, - 766, 670, 0, 783, 784, 0, 0, 0, 0, 0, - 772, 790, 791, 755, 812, 708, 675, 659, 662, 663, - 664, 672, 723, 724, 736, 739, 779, 778, 777, 780, - 785, 808, 807, 809, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 735, 131, 140, 215, 813, - 281, 185, 351, 654, 174, 0, 725, 728, 738, 761, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 759, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 787, 795, - 771, 329, 718, 798, 682, 704, 811, 707, 710, 752, - 665, 731, 256, 702, 666, 0, 686, 655, 695, 656, - 683, 720, 176, 681, 773, 734, 797, 213, 747, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 796, 726, - 0, 805, 216, 0, 743, 806, 316, 240, 0, 0, - 722, 782, 729, 769, 717, 754, 674, 742, 800, 703, - 749, 801, 0, 0, 0, 0, 647, 0, 0, 0, - 0, 0, 0, 0, 0, 669, 0, 746, 794, 698, - 748, 751, 653, 745, 0, 660, 667, 810, 789, 689, - 690, 691, 0, 0, 0, 0, 0, 0, 0, 721, - 730, 763, 714, 348, 267, 283, 304, 709, 275, 701, - 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, - 740, 0, 0, 0, 668, 661, 0, 0, 719, 0, - 0, 0, 673, 652, 688, 765, 0, 650, 241, 144, - 770, 788, 716, 204, 359, 792, 713, 712, 277, 0, - 323, 192, 214, 646, 128, 142, 642, 191, 252, 762, - 298, 700, 651, 774, 684, 696, 167, 692, 290, 260, - 347, 0, 737, 289, 217, 337, 758, 793, 346, 705, - 776, 356, 361, 0, 727, 671, 313, 177, 0, 133, - 0, 274, 172, 209, 715, 753, 685, 164, 760, 741, - 781, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 711, - 301, 300, 706, 199, 768, 744, 657, 282, 756, 205, - 132, 326, 364, 150, 211, 331, 649, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 697, 757, 767, 280, 303, 333, 152, 320, 693, 694, - 699, 764, 292, 775, 786, 799, 224, 179, 182, 193, - 200, 750, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 658, 0, 318, - 350, 366, 154, 680, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 678, 679, 676, 0, 677, - 732, 733, 802, 803, 804, 766, 670, 0, 783, 784, - 0, 0, 0, 0, 0, 772, 790, 791, 755, 812, - 708, 675, 659, 662, 663, 664, 672, 723, 724, 736, - 739, 779, 778, 777, 780, 785, 808, 807, 809, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 735, 131, 140, 215, 813, 281, 185, 351, 654, 174, - 0, 725, 728, 738, 761, 129, 141, 153, 159, 173, + 259, 291, 158, 349, 314, 593, 605, 599, 601, 600, + 597, 598, 596, 595, 594, 607, 583, 584, 585, 586, + 587, 0, 0, 0, 590, 0, 602, 603, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 554, 555, 559, + 560, 568, 567, 566, 569, 570, 572, 571, 573, 551, + 552, 553, 556, 557, 558, 561, 562, 565, 563, 564, + 588, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 759, 286, 293, 295, + 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 787, 329, 0, 0, 0, 0, 0, + 339, 358, 360, 36, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 517, 0, 0, 0, 176, 514, 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, 592, 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, 579, 580, 0, 0, 0, - 0, 0, 0, 1534, 0, 81, 0, 0, 0, 515, + 0, 0, 0, 0, 0, 81, 0, 0, 0, 515, 539, 538, 541, 542, 543, 544, 0, 0, 498, 540, - 545, 574, 575, 1535, 0, 0, 512, 530, 0, 591, + 545, 574, 575, 0, 0, 0, 512, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 527, 528, 0, @@ -2575,1015 +2609,818 @@ var yyAct = [...]int{ 603, 0, 0, 0, 0, 546, 547, 548, 549, 550, 554, 555, 559, 560, 568, 567, 566, 569, 570, 572, 571, 573, 551, 552, 553, 556, 557, 558, 561, 562, - 565, 563, 564, 588, 131, 140, 215, 0, 281, 185, + 565, 563, 564, 588, 131, 140, 215, 79, 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, - 319, 325, 338, 339, 358, 360, 36, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 517, 0, 0, 0, 176, 514, - 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, - 0, 0, 263, 328, 0, 0, 0, 592, 216, 0, - 0, 494, 316, 240, 0, 0, 0, 0, 579, 580, - 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, - 0, 0, 515, 539, 538, 541, 542, 543, 544, 0, - 0, 498, 540, 545, 574, 575, 0, 0, 0, 512, - 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, - 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, - 527, 528, 0, 0, 0, 0, 606, 0, 529, 0, - 0, 524, 525, 526, 531, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 241, 144, 582, 0, 0, 204, - 359, 0, 0, 604, 277, 0, 323, 192, 214, 149, - 128, 142, 160, 191, 252, 0, 298, 589, 0, 0, - 0, 0, 167, 0, 290, 260, 347, 581, 0, 289, - 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, - 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, - 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, - 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, - 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, - 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, - 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, - 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, - 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, - 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, - 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, - 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, - 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, - 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, - 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, - 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, - 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, - 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, - 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, - 314, 593, 605, 599, 601, 600, 597, 598, 596, 595, - 594, 607, 583, 584, 585, 586, 587, 0, 0, 0, - 590, 0, 602, 603, 0, 0, 0, 0, 546, 547, - 548, 549, 550, 554, 555, 559, 560, 568, 567, 566, - 569, 570, 572, 571, 573, 551, 552, 553, 556, 557, - 558, 561, 562, 565, 563, 564, 588, 131, 140, 215, - 79, 281, 185, 351, 0, 174, 0, 0, 0, 0, - 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, - 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, - 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, - 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, - 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, + 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 517, 0, 0, 0, 176, 514, 0, + 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 0, 0, 0, 592, 216, 0, 0, + 494, 316, 240, 0, 0, 0, 0, 579, 580, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 515, 539, 538, 541, 542, 543, 544, 0, 0, + 498, 540, 545, 574, 575, 0, 0, 0, 512, 530, + 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, + 283, 304, 0, 275, 0, 0, 0, 0, 0, 527, + 528, 508, 0, 0, 0, 606, 0, 529, 0, 0, + 524, 525, 526, 531, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 241, 144, 582, 0, 0, 204, 359, + 0, 0, 604, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 0, 298, 589, 0, 0, 0, + 0, 167, 0, 290, 260, 347, 581, 0, 289, 217, + 337, 0, 0, 346, 0, 488, 356, 361, 0, 0, + 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, + 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, + 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, + 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, + 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, + 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 593, 605, 599, 601, 600, 597, 598, 596, 595, 594, + 607, 583, 584, 585, 586, 587, 0, 0, 0, 590, + 0, 602, 603, 0, 0, 0, 0, 546, 547, 548, + 549, 550, 554, 555, 559, 560, 568, 567, 566, 569, + 570, 572, 571, 573, 551, 552, 553, 556, 557, 558, + 561, 562, 565, 563, 564, 588, 131, 140, 215, 0, + 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 0, 0, 0, 517, 0, 0, 0, 176, + 514, 0, 0, 0, 213, 0, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 592, 216, + 0, 0, 494, 316, 240, 0, 0, 0, 0, 579, + 580, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 987, 0, 515, 539, 538, 541, 542, 543, 544, + 0, 0, 498, 540, 545, 574, 575, 0, 0, 0, + 512, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 517, 0, 0, 0, - 176, 514, 0, 0, 0, 213, 0, 0, 166, 221, - 219, 0, 0, 0, 263, 328, 0, 0, 0, 592, - 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, - 579, 580, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 0, 0, 515, 539, 538, 541, 542, 543, - 544, 0, 0, 498, 540, 545, 574, 575, 0, 0, - 0, 512, 530, 0, 591, 0, 0, 0, 0, 0, + 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, + 0, 527, 528, 0, 0, 0, 0, 606, 0, 529, + 0, 0, 524, 525, 526, 531, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 144, 582, 0, 0, + 204, 359, 0, 0, 604, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 0, 298, 589, 0, + 0, 0, 0, 167, 0, 290, 260, 347, 581, 0, + 289, 217, 337, 0, 0, 346, 0, 488, 356, 361, + 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, + 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, + 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, + 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, + 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, + 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, + 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 593, 605, 599, 601, 600, 597, 598, 596, + 595, 594, 607, 583, 584, 585, 586, 587, 0, 0, + 0, 590, 0, 602, 603, 0, 0, 0, 0, 546, + 547, 548, 549, 550, 554, 555, 559, 560, 568, 567, + 566, 569, 570, 572, 571, 573, 551, 552, 553, 556, + 557, 558, 561, 562, 565, 563, 564, 588, 131, 140, + 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, + 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 0, 517, 0, 0, + 0, 176, 514, 0, 0, 0, 213, 0, 0, 166, + 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, + 592, 216, 0, 0, 494, 316, 240, 0, 0, 0, + 0, 579, 580, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 515, 539, 538, 541, 542, + 543, 544, 0, 0, 498, 540, 545, 574, 575, 0, + 0, 0, 512, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, - 0, 0, 527, 528, 508, 0, 0, 0, 606, 0, - 529, 0, 0, 524, 525, 526, 531, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 241, 144, 582, 0, - 0, 204, 359, 0, 0, 604, 277, 0, 323, 192, - 214, 149, 128, 142, 160, 191, 252, 0, 298, 589, - 0, 0, 0, 0, 167, 0, 290, 260, 347, 581, - 0, 289, 217, 337, 0, 0, 346, 0, 488, 356, - 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, - 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, - 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, - 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, - 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, - 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, - 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, - 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, - 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, - 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, - 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, - 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, - 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, - 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, - 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, - 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, - 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, - 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, - 158, 349, 314, 593, 605, 599, 601, 600, 597, 598, - 596, 595, 594, 607, 583, 584, 585, 586, 587, 0, - 0, 0, 590, 0, 602, 603, 0, 0, 0, 0, - 546, 547, 548, 549, 550, 554, 555, 559, 560, 568, - 567, 566, 569, 570, 572, 571, 573, 551, 552, 553, - 556, 557, 558, 561, 562, 565, 563, 564, 588, 131, - 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, - 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, - 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, - 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, - 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, - 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, - 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 517, 0, - 0, 0, 176, 514, 0, 0, 0, 213, 0, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, - 0, 592, 216, 0, 0, 494, 316, 240, 0, 0, - 0, 0, 579, 580, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 989, 0, 515, 539, 538, 541, - 542, 543, 544, 0, 0, 498, 540, 545, 574, 575, - 0, 0, 0, 512, 530, 0, 591, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, - 0, 0, 0, 0, 527, 528, 0, 0, 0, 0, - 606, 0, 529, 0, 0, 524, 525, 526, 531, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, - 582, 0, 0, 204, 359, 0, 0, 604, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, - 298, 589, 0, 0, 0, 0, 167, 0, 290, 260, - 347, 581, 0, 289, 217, 337, 0, 0, 346, 0, - 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, - 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, - 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, - 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, - 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, - 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, - 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, - 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 593, 605, 599, 601, 600, - 597, 598, 596, 595, 594, 607, 583, 584, 585, 586, - 587, 0, 0, 0, 590, 0, 602, 603, 0, 0, - 0, 0, 546, 547, 548, 549, 550, 554, 555, 559, - 560, 568, 567, 566, 569, 570, 572, 571, 573, 551, - 552, 553, 556, 557, 558, 561, 562, 565, 563, 564, - 588, 131, 140, 215, 0, 281, 185, 351, 0, 174, - 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 517, 0, 0, 0, 176, 514, 0, 0, 0, 213, - 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, - 0, 0, 0, 592, 216, 0, 0, 494, 316, 240, - 0, 0, 0, 0, 579, 580, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 515, 539, - 538, 541, 542, 543, 544, 0, 0, 498, 540, 545, - 574, 575, 0, 0, 0, 512, 530, 0, 591, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, - 275, 0, 0, 0, 0, 0, 527, 528, 1422, 0, - 0, 0, 606, 0, 529, 0, 0, 524, 525, 526, - 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 241, 144, 582, 0, 0, 204, 359, 0, 0, 604, - 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, - 252, 0, 298, 589, 0, 0, 0, 0, 167, 0, - 290, 260, 347, 581, 0, 289, 217, 337, 0, 0, - 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, - 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, - 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, - 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, - 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, - 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, - 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, - 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, - 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, - 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, - 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, - 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, - 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, - 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, - 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, - 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, - 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, - 284, 363, 259, 291, 158, 349, 314, 593, 605, 599, - 601, 600, 597, 598, 596, 595, 594, 607, 583, 584, - 585, 586, 587, 0, 0, 0, 590, 0, 602, 603, - 0, 0, 0, 0, 546, 547, 548, 549, 550, 554, - 555, 559, 560, 568, 567, 566, 569, 570, 572, 571, - 573, 551, 552, 553, 556, 557, 558, 561, 562, 565, - 563, 564, 588, 131, 140, 215, 0, 281, 185, 351, - 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, - 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, - 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, - 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, - 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, - 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, - 0, 0, 517, 0, 0, 0, 176, 514, 0, 0, - 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, - 263, 328, 0, 0, 0, 592, 216, 0, 0, 494, - 316, 240, 0, 0, 0, 0, 579, 580, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 515, 539, 1466, 541, 542, 543, 544, 0, 0, 498, - 540, 545, 574, 575, 0, 0, 0, 512, 530, 0, - 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, - 304, 0, 275, 0, 0, 0, 0, 0, 527, 528, - 1422, 0, 0, 0, 606, 0, 529, 0, 0, 524, - 525, 526, 531, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 241, 144, 582, 0, 0, 204, 359, 0, - 0, 604, 277, 0, 323, 192, 214, 149, 128, 142, - 160, 191, 252, 0, 298, 589, 0, 0, 0, 0, - 167, 0, 290, 260, 347, 581, 0, 289, 217, 337, - 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, - 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, - 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, - 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, - 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, - 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, - 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, - 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, - 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, - 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, - 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, - 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, - 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, - 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, - 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, - 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, - 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, - 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, - 210, 218, 284, 363, 259, 291, 158, 349, 314, 593, - 605, 599, 601, 600, 597, 598, 596, 595, 594, 607, - 583, 584, 585, 586, 587, 0, 0, 0, 590, 0, - 602, 603, 0, 0, 0, 0, 546, 547, 548, 549, - 550, 554, 555, 559, 560, 568, 567, 566, 569, 570, - 572, 571, 573, 551, 552, 553, 556, 557, 558, 561, - 562, 565, 563, 564, 588, 131, 140, 215, 0, 281, - 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, - 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, - 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, - 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, - 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, - 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 517, 0, 0, 0, 176, 514, - 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, - 0, 0, 263, 328, 0, 0, 0, 592, 216, 0, - 0, 494, 316, 240, 0, 0, 0, 0, 579, 580, - 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, - 0, 0, 515, 539, 1463, 541, 542, 543, 544, 0, - 0, 498, 540, 545, 574, 575, 0, 0, 0, 512, - 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, - 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, - 527, 528, 1422, 0, 0, 0, 606, 0, 529, 0, - 0, 524, 525, 526, 531, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 241, 144, 582, 0, 0, 204, - 359, 0, 0, 604, 277, 0, 323, 192, 214, 149, - 128, 142, 160, 191, 252, 0, 298, 589, 0, 0, - 0, 0, 167, 0, 290, 260, 347, 581, 0, 289, - 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, - 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, - 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, - 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, - 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, - 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, - 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, - 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, - 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, - 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, - 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, - 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, - 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, - 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, - 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, - 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, - 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, - 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, - 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, - 314, 593, 605, 599, 601, 600, 597, 598, 596, 595, - 594, 607, 583, 584, 585, 586, 587, 0, 0, 0, - 590, 0, 602, 603, 0, 0, 0, 0, 546, 547, - 548, 549, 550, 554, 555, 559, 560, 568, 567, 566, - 569, 570, 572, 571, 573, 551, 552, 553, 556, 557, - 558, 561, 562, 565, 563, 564, 588, 131, 140, 215, - 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, - 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, - 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, - 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, - 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, - 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 517, 0, 0, 0, - 176, 514, 0, 0, 0, 213, 0, 0, 166, 221, - 219, 0, 0, 0, 263, 328, 0, 0, 0, 592, - 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, - 579, 580, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 1302, 0, 515, 539, 538, 541, 542, 543, - 544, 0, 0, 498, 540, 545, 574, 575, 0, 0, - 0, 512, 530, 0, 591, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, - 0, 0, 527, 528, 0, 0, 0, 0, 606, 0, - 529, 0, 0, 524, 525, 526, 531, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 241, 144, 582, 0, - 0, 204, 359, 0, 0, 604, 277, 0, 323, 192, - 214, 149, 128, 142, 160, 191, 252, 0, 298, 589, - 0, 0, 0, 0, 167, 0, 290, 260, 347, 581, - 0, 289, 217, 337, 0, 0, 346, 0, 488, 356, - 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, - 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, - 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, - 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, - 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, - 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, - 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, - 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, - 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, - 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, - 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, - 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, - 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, - 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, - 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, - 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, - 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, - 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, - 158, 349, 314, 593, 605, 599, 601, 600, 597, 598, - 596, 595, 594, 607, 583, 584, 585, 586, 587, 0, - 0, 0, 590, 0, 602, 603, 0, 0, 0, 0, - 546, 547, 548, 549, 550, 554, 555, 559, 560, 568, - 567, 566, 569, 570, 572, 571, 573, 551, 552, 553, - 556, 557, 558, 561, 562, 565, 563, 564, 588, 131, - 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, - 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, - 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, - 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, - 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, - 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, - 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 517, 0, - 0, 0, 176, 514, 0, 0, 0, 213, 0, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, - 0, 592, 216, 0, 0, 494, 316, 240, 0, 0, - 0, 0, 579, 580, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 0, 0, 515, 539, 538, 541, - 542, 543, 544, 0, 0, 498, 540, 545, 574, 575, - 0, 0, 0, 512, 530, 0, 591, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, - 0, 0, 0, 0, 527, 528, 0, 0, 0, 0, - 606, 0, 529, 0, 0, 524, 525, 526, 531, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, - 582, 0, 0, 204, 359, 0, 0, 604, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, - 298, 589, 0, 0, 0, 0, 167, 0, 290, 260, - 347, 581, 0, 289, 217, 337, 0, 0, 346, 0, - 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, - 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, - 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, - 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, - 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, - 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, - 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, - 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 593, 605, 599, 601, 600, - 597, 598, 596, 595, 594, 607, 583, 584, 585, 586, - 587, 0, 0, 0, 590, 0, 602, 603, 0, 0, - 0, 0, 546, 547, 548, 549, 550, 554, 555, 559, - 560, 568, 567, 566, 569, 570, 572, 571, 573, 551, - 552, 553, 556, 557, 558, 561, 562, 565, 563, 564, - 588, 131, 140, 215, 0, 281, 185, 351, 0, 174, - 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, - 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, - 0, 0, 0, 592, 216, 0, 0, 494, 316, 240, - 0, 0, 0, 0, 579, 580, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 515, 539, - 538, 541, 542, 543, 544, 0, 0, 498, 540, 545, - 574, 575, 0, 0, 0, 0, 530, 0, 591, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, - 275, 0, 0, 0, 0, 0, 527, 528, 0, 0, - 0, 0, 606, 0, 529, 0, 0, 524, 525, 526, - 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 241, 144, 582, 0, 0, 204, 359, 0, 0, 604, - 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, - 252, 0, 298, 589, 0, 0, 0, 0, 167, 0, - 290, 260, 347, 581, 0, 289, 217, 337, 0, 0, - 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, - 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, - 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, - 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, - 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, - 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, - 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, - 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, - 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, - 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, - 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, - 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, - 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, - 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, - 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, - 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, - 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, - 284, 363, 259, 291, 158, 349, 314, 593, 605, 599, - 601, 600, 597, 598, 596, 595, 594, 607, 583, 584, - 585, 586, 587, 1469, 1470, 1471, 590, 0, 602, 603, - 0, 0, 0, 0, 546, 547, 548, 549, 550, 554, - 555, 559, 560, 568, 567, 566, 569, 570, 572, 571, - 573, 551, 552, 553, 556, 557, 558, 561, 562, 565, - 563, 564, 588, 131, 140, 215, 0, 281, 185, 351, - 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, - 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, - 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, - 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, - 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, - 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, - 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, - 263, 328, 0, 0, 0, 592, 216, 0, 0, 494, - 316, 240, 0, 0, 0, 0, 579, 580, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 515, 539, 538, 541, 542, 543, 544, 0, 0, 498, - 540, 545, 574, 575, 0, 0, 0, 0, 530, 0, - 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, - 304, 0, 275, 0, 0, 0, 0, 0, 527, 528, - 0, 0, 0, 0, 606, 0, 529, 0, 0, 524, - 525, 526, 531, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 241, 144, 582, 0, 0, 204, 359, 0, - 0, 604, 277, 0, 323, 192, 214, 149, 128, 142, - 160, 191, 252, 0, 298, 589, 0, 0, 0, 0, - 167, 0, 290, 260, 347, 581, 2763, 289, 217, 337, - 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, - 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, - 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, - 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, - 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, - 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, - 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, - 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, - 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, - 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, - 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, - 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, - 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, - 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, - 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, - 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, - 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, - 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, - 210, 218, 284, 363, 259, 291, 158, 349, 314, 593, - 605, 599, 601, 600, 597, 598, 596, 595, 594, 607, - 583, 584, 585, 586, 587, 0, 0, 0, 590, 0, - 602, 603, 0, 0, 0, 0, 546, 547, 548, 549, - 550, 554, 555, 559, 560, 568, 567, 566, 569, 570, - 572, 571, 573, 551, 552, 553, 556, 557, 558, 561, - 562, 565, 563, 564, 588, 131, 140, 215, 0, 281, - 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, - 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, - 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, - 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, - 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, - 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, - 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, - 0, 0, 263, 328, 0, 0, 0, 592, 216, 0, - 0, 494, 316, 240, 0, 0, 0, 0, 579, 580, - 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, - 989, 0, 515, 539, 538, 541, 542, 543, 544, 0, - 0, 498, 540, 545, 574, 575, 0, 0, 0, 0, - 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, - 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, - 527, 528, 0, 0, 0, 0, 606, 0, 529, 0, - 0, 524, 525, 526, 531, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 241, 144, 582, 0, 0, 204, - 359, 0, 0, 604, 277, 0, 323, 192, 214, 149, - 128, 142, 160, 191, 252, 0, 298, 589, 0, 0, - 0, 0, 167, 0, 290, 260, 347, 581, 0, 289, - 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, - 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, - 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, - 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, - 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, - 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, - 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, - 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, - 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, - 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, - 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, - 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, - 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, - 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, - 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, - 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, - 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, - 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, - 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, - 314, 593, 605, 599, 601, 600, 597, 598, 596, 595, - 594, 607, 583, 584, 585, 586, 587, 0, 0, 0, - 590, 0, 602, 603, 0, 0, 0, 0, 546, 547, - 548, 549, 550, 554, 555, 559, 560, 568, 567, 566, - 569, 570, 572, 571, 573, 551, 552, 553, 556, 557, - 558, 561, 562, 565, 563, 564, 588, 131, 140, 215, - 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, - 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, - 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, - 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, - 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, - 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 176, 0, 0, 0, 0, 213, 0, 0, 166, 221, - 219, 0, 0, 0, 263, 328, 0, 0, 0, 592, - 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, - 579, 580, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 0, 0, 515, 539, 538, 541, 542, 543, - 544, 0, 0, 498, 540, 545, 574, 575, 0, 0, - 0, 0, 530, 0, 591, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, - 0, 0, 527, 528, 0, 0, 0, 0, 606, 0, - 529, 0, 0, 524, 525, 526, 531, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 241, 144, 582, 0, - 0, 204, 359, 0, 0, 604, 277, 0, 323, 192, - 214, 149, 128, 142, 160, 191, 252, 0, 298, 589, - 0, 0, 0, 0, 167, 0, 290, 260, 347, 581, - 0, 289, 217, 337, 0, 0, 346, 0, 488, 356, - 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, - 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, - 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, - 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, - 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, - 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, - 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, - 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, - 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, - 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, - 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, - 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, - 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, - 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, - 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, - 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, - 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, - 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, - 158, 349, 314, 593, 605, 599, 601, 600, 597, 598, - 596, 595, 594, 607, 583, 584, 585, 586, 587, 0, - 0, 0, 590, 0, 602, 603, 0, 0, 0, 0, - 546, 547, 548, 549, 550, 554, 555, 559, 560, 568, - 567, 566, 569, 570, 572, 571, 573, 551, 552, 553, - 556, 557, 558, 561, 562, 565, 563, 564, 588, 131, - 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, - 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, - 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, - 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, - 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, - 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, - 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 1512, 0, 0, - 0, 0, 176, 0, 0, 0, 0, 213, 0, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, - 0, 0, 216, 0, 0, 494, 316, 240, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1514, 1516, - 0, 0, 0, 0, 0, 0, 126, 0, 467, 0, - 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, - 0, 0, 0, 204, 359, 0, 1515, 0, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, - 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, - 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, - 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, - 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, - 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, - 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, - 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, - 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, - 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, - 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 468, 469, 470, 471, 472, 476, 477, 481, - 482, 491, 490, 489, 492, 493, 496, 495, 497, 473, - 474, 475, 478, 479, 480, 483, 484, 487, 485, 486, - 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, - 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 1512, - 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, - 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, - 0, 0, 0, 0, 216, 0, 0, 494, 316, 240, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1514, 1516, 0, 0, 0, 0, 0, 0, 126, 0, - 467, 0, 0, 0, 0, 0, 0, 498, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 348, 1510, 283, 304, 0, - 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 241, 144, 0, 0, 0, 204, 359, 0, 1515, 0, - 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, - 252, 0, 298, 0, 0, 0, 0, 0, 167, 0, - 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, - 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, - 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, - 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, - 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, - 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, - 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, - 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, - 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, - 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, - 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, - 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, - 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, - 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, - 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, - 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, - 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, - 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, - 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 468, 469, 470, 471, 472, 476, - 477, 481, 482, 491, 490, 489, 492, 493, 496, 495, - 497, 473, 474, 475, 478, 479, 480, 483, 484, 487, - 485, 486, 0, 131, 140, 215, 0, 281, 185, 351, - 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, - 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, - 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, - 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, - 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, - 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, - 0, 1011, 0, 0, 0, 0, 176, 0, 0, 0, - 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, - 263, 328, 0, 0, 0, 0, 216, 0, 0, 494, - 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1012, 0, 1015, 0, 0, 0, 0, 0, 0, 498, - 0, 0, 0, 0, 0, 1008, 1007, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1009, 0, 0, 0, 348, 267, 283, - 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, - 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, - 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, - 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, - 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, - 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, - 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, - 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, - 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, - 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, - 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, - 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, - 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, - 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, - 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, - 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, - 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, - 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, - 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, - 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, - 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, - 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, - 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 468, 469, 470, 471, - 472, 476, 477, 481, 482, 491, 490, 489, 492, 493, - 496, 495, 497, 473, 474, 475, 478, 479, 480, 483, - 484, 487, 485, 486, 0, 131, 140, 215, 0, 281, - 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, - 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, - 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, - 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, - 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, - 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, - 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, - 0, 0, 263, 328, 0, 0, 0, 0, 216, 0, - 0, 494, 316, 240, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 0, 467, 0, 0, 0, 0, 0, - 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, - 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, - 359, 0, 0, 0, 277, 0, 323, 192, 214, 149, - 128, 142, 160, 191, 252, 0, 298, 0, 0, 0, - 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, - 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, - 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, - 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, - 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, - 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, - 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, - 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, - 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, - 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, - 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, - 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, - 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, - 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, - 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, - 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, - 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, - 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, - 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, - 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, - 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 468, 469, - 470, 471, 472, 476, 477, 481, 482, 491, 490, 489, - 492, 493, 496, 495, 497, 473, 474, 475, 478, 479, - 480, 483, 484, 487, 485, 486, 0, 131, 140, 215, - 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, - 462, 129, 141, 153, 159, 173, 178, 184, 194, 197, - 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, - 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, - 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, - 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, + 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, + 0, 0, 0, 527, 528, 1419, 0, 0, 0, 606, + 0, 529, 0, 0, 524, 525, 526, 531, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 144, 582, + 0, 0, 204, 359, 0, 0, 604, 277, 0, 323, + 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, + 589, 0, 0, 0, 0, 167, 0, 290, 260, 347, + 581, 0, 289, 217, 337, 0, 0, 346, 0, 488, + 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, + 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, + 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, + 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, + 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, + 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, + 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, + 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, + 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, + 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, + 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, + 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, + 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, + 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, + 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, + 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, + 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, + 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, + 291, 158, 349, 314, 593, 605, 599, 601, 600, 597, + 598, 596, 595, 594, 607, 583, 584, 585, 586, 587, + 0, 0, 0, 590, 0, 602, 603, 0, 0, 0, + 0, 546, 547, 548, 549, 550, 554, 555, 559, 560, + 568, 567, 566, 569, 570, 572, 571, 573, 551, 552, + 553, 556, 557, 558, 561, 562, 565, 563, 564, 588, + 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, + 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, + 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, + 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, + 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, + 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, + 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 256, 0, 0, 0, 0, 0, 517, + 0, 0, 0, 176, 514, 0, 0, 0, 213, 0, + 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, + 0, 0, 592, 216, 0, 0, 494, 316, 240, 0, + 0, 0, 0, 579, 580, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, 0, 515, 539, 1463, + 541, 542, 543, 544, 0, 0, 498, 540, 545, 574, + 575, 0, 0, 0, 512, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 176, 0, 0, 0, 0, 213, 1809, 0, 166, 221, - 219, 0, 0, 0, 263, 328, 0, 0, 0, 0, - 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, + 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, + 0, 0, 0, 0, 0, 527, 528, 1419, 0, 0, + 0, 606, 0, 529, 0, 0, 524, 525, 526, 531, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 144, 582, 0, 0, 204, 359, 0, 0, 604, 277, + 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, + 0, 298, 589, 0, 0, 0, 0, 167, 0, 290, + 260, 347, 581, 0, 289, 217, 337, 0, 0, 346, + 0, 488, 356, 361, 0, 0, 0, 313, 177, 0, + 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, + 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, + 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, + 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, + 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, + 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, + 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, + 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, + 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, + 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, + 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, + 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, + 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, + 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, + 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, + 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, + 363, 259, 291, 158, 349, 314, 593, 605, 599, 601, + 600, 597, 598, 596, 595, 594, 607, 583, 584, 585, + 586, 587, 0, 0, 0, 590, 0, 602, 603, 0, + 0, 0, 0, 546, 547, 548, 549, 550, 554, 555, + 559, 560, 568, 567, 566, 569, 570, 572, 571, 573, + 551, 552, 553, 556, 557, 558, 561, 562, 565, 563, + 564, 588, 131, 140, 215, 0, 281, 185, 351, 0, + 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, + 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, + 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, + 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, + 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, + 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 517, 0, 0, 0, 176, 514, 0, 0, 0, + 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, + 328, 0, 0, 0, 592, 216, 0, 0, 494, 316, + 240, 0, 0, 0, 0, 579, 580, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 0, 0, 0, 515, + 539, 1460, 541, 542, 543, 544, 0, 0, 498, 540, + 545, 574, 575, 0, 0, 0, 512, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 0, 467, 0, 0, 0, - 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, + 0, 275, 0, 0, 0, 0, 0, 527, 528, 1419, + 0, 0, 0, 606, 0, 529, 0, 0, 524, 525, + 526, 531, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 144, 582, 0, 0, 204, 359, 0, 0, + 604, 277, 0, 323, 192, 214, 149, 128, 142, 160, + 191, 252, 0, 298, 589, 0, 0, 0, 0, 167, + 0, 290, 260, 347, 581, 0, 289, 217, 337, 0, + 0, 346, 0, 488, 356, 361, 0, 0, 0, 313, + 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, + 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, + 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, + 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, + 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, + 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, + 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, + 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, + 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, + 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, + 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, + 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, + 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, + 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, + 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, + 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, + 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, + 218, 284, 363, 259, 291, 158, 349, 314, 593, 605, + 599, 601, 600, 597, 598, 596, 595, 594, 607, 583, + 584, 585, 586, 587, 0, 0, 0, 590, 0, 602, + 603, 0, 0, 0, 0, 546, 547, 548, 549, 550, + 554, 555, 559, 560, 568, 567, 566, 569, 570, 572, + 571, 573, 551, 552, 553, 556, 557, 558, 561, 562, + 565, 563, 564, 588, 131, 140, 215, 0, 281, 185, + 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, + 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, + 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, + 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, + 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, + 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 517, 0, 0, 0, 176, 514, 0, + 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 0, 0, 0, 592, 216, 0, 0, + 494, 316, 240, 0, 0, 0, 0, 579, 580, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 1300, + 0, 515, 539, 538, 541, 542, 543, 544, 0, 0, + 498, 540, 545, 574, 575, 0, 0, 0, 512, 530, + 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, + 283, 304, 0, 275, 0, 0, 0, 0, 0, 527, + 528, 0, 0, 0, 0, 606, 0, 529, 0, 0, + 524, 525, 526, 531, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 241, 144, 582, 0, 0, 204, 359, + 0, 0, 604, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 0, 298, 589, 0, 0, 0, + 0, 167, 0, 290, 260, 347, 581, 0, 289, 217, + 337, 0, 0, 346, 0, 488, 356, 361, 0, 0, + 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, + 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, + 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, + 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, + 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, + 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 593, 605, 599, 601, 600, 597, 598, 596, 595, 594, + 607, 583, 584, 585, 586, 587, 0, 0, 0, 590, + 0, 602, 603, 0, 0, 0, 0, 546, 547, 548, + 549, 550, 554, 555, 559, 560, 568, 567, 566, 569, + 570, 572, 571, 573, 551, 552, 553, 556, 557, 558, + 561, 562, 565, 563, 564, 588, 131, 140, 215, 0, + 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 0, 0, 0, 517, 0, 0, 0, 176, + 514, 0, 0, 0, 213, 0, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 592, 216, + 0, 0, 494, 316, 240, 0, 0, 0, 0, 579, + 580, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 0, 0, 515, 539, 538, 541, 542, 543, 544, + 0, 0, 498, 540, 545, 574, 575, 0, 0, 0, + 512, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, + 0, 527, 528, 0, 0, 0, 0, 606, 0, 529, + 0, 0, 524, 525, 526, 531, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 144, 582, 0, 0, + 204, 359, 0, 0, 604, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 0, 298, 589, 0, + 0, 0, 0, 167, 0, 290, 260, 347, 581, 0, + 289, 217, 337, 0, 0, 346, 0, 488, 356, 361, + 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, + 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, + 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, + 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, + 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, + 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, + 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 593, 605, 599, 601, 600, 597, 598, 596, + 595, 594, 607, 583, 584, 585, 586, 587, 0, 0, + 0, 590, 0, 602, 603, 0, 0, 0, 0, 546, + 547, 548, 549, 550, 554, 555, 559, 560, 568, 567, + 566, 569, 570, 572, 571, 573, 551, 552, 553, 556, + 557, 558, 561, 562, 565, 563, 564, 588, 131, 140, + 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, + 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, + 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, + 592, 216, 0, 0, 494, 316, 240, 0, 0, 0, + 0, 579, 580, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 515, 539, 538, 541, 542, + 543, 544, 0, 0, 498, 540, 545, 574, 575, 0, + 0, 0, 0, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, + 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, + 0, 0, 0, 527, 528, 0, 0, 0, 0, 606, + 0, 529, 0, 0, 524, 525, 526, 531, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 144, 582, + 0, 0, 204, 359, 0, 0, 604, 277, 0, 323, + 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, + 589, 0, 0, 0, 0, 167, 0, 290, 260, 347, + 581, 0, 289, 217, 337, 0, 0, 346, 0, 488, + 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, + 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, + 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, + 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, + 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, + 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, + 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, + 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, + 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, + 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, + 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, + 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, + 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, + 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, + 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, + 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, + 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, + 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, + 291, 158, 349, 314, 593, 605, 599, 601, 600, 597, + 598, 596, 595, 594, 607, 583, 584, 585, 586, 587, + 1466, 1467, 1468, 590, 0, 602, 603, 0, 0, 0, + 0, 546, 547, 548, 549, 550, 554, 555, 559, 560, + 568, 567, 566, 569, 570, 572, 571, 573, 551, 552, + 553, 556, 557, 558, 561, 562, 565, 563, 564, 588, + 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, + 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, + 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, + 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, + 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, + 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, + 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 176, 0, 0, 0, 0, 213, 0, + 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, + 0, 0, 592, 216, 0, 0, 494, 316, 240, 0, + 0, 0, 0, 579, 580, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, 0, 515, 539, 538, + 541, 542, 543, 544, 0, 0, 498, 540, 545, 574, + 575, 0, 0, 0, 0, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, + 0, 0, 0, 0, 0, 527, 528, 0, 0, 0, + 0, 606, 0, 529, 0, 0, 524, 525, 526, 531, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 144, 582, 0, 0, 204, 359, 0, 0, 604, 277, + 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, + 0, 298, 589, 0, 0, 0, 0, 167, 0, 290, + 260, 347, 581, 2760, 289, 217, 337, 0, 0, 346, + 0, 488, 356, 361, 0, 0, 0, 313, 177, 0, + 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, + 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, + 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, + 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, + 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, + 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, + 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, + 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, + 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, + 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, + 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, + 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, + 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, + 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, + 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, + 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, + 363, 259, 291, 158, 349, 314, 593, 605, 599, 601, + 600, 597, 598, 596, 595, 594, 607, 583, 584, 585, + 586, 587, 0, 0, 0, 590, 0, 602, 603, 0, + 0, 0, 0, 546, 547, 548, 549, 550, 554, 555, + 559, 560, 568, 567, 566, 569, 570, 572, 571, 573, + 551, 552, 553, 556, 557, 558, 561, 562, 565, 563, + 564, 588, 131, 140, 215, 0, 281, 185, 351, 0, + 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, + 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, + 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, + 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, + 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, + 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, + 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, + 328, 0, 0, 0, 592, 216, 0, 0, 494, 316, + 240, 0, 0, 0, 0, 579, 580, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 0, 987, 0, 515, + 539, 538, 541, 542, 543, 544, 0, 0, 498, 540, + 545, 574, 575, 0, 0, 0, 0, 530, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 241, 144, 0, 0, - 0, 204, 359, 0, 0, 0, 277, 0, 323, 192, - 214, 149, 128, 142, 160, 191, 252, 0, 298, 0, - 0, 0, 0, 0, 167, 0, 290, 260, 347, 0, - 0, 289, 217, 337, 0, 0, 346, 0, 488, 356, - 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, - 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, - 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, - 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, - 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, - 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, - 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, - 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, - 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, - 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, - 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, - 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, - 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, - 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, - 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, - 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, - 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, - 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, - 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, + 0, 275, 0, 0, 0, 0, 0, 527, 528, 0, + 0, 0, 0, 606, 0, 529, 0, 0, 524, 525, + 526, 531, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 144, 582, 0, 0, 204, 359, 0, 0, + 604, 277, 0, 323, 192, 214, 149, 128, 142, 160, + 191, 252, 0, 298, 589, 0, 0, 0, 0, 167, + 0, 290, 260, 347, 581, 0, 289, 217, 337, 0, + 0, 346, 0, 488, 356, 361, 0, 0, 0, 313, + 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, + 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, + 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, + 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, + 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, + 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, + 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, + 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, + 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, + 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, + 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, + 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, + 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, + 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, + 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, + 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, + 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, + 218, 284, 363, 259, 291, 158, 349, 314, 593, 605, + 599, 601, 600, 597, 598, 596, 595, 594, 607, 583, + 584, 585, 586, 587, 0, 0, 0, 590, 0, 602, + 603, 0, 0, 0, 0, 546, 547, 548, 549, 550, + 554, 555, 559, 560, 568, 567, 566, 569, 570, 572, + 571, 573, 551, 552, 553, 556, 557, 558, 561, 562, + 565, 563, 564, 588, 131, 140, 215, 0, 281, 185, + 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, + 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, + 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, + 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, + 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, + 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, + 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 0, 0, 0, 592, 216, 0, 0, + 494, 316, 240, 0, 0, 0, 0, 579, 580, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 515, 539, 538, 541, 542, 543, 544, 0, 0, + 498, 540, 545, 574, 575, 0, 0, 0, 0, 530, + 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, + 283, 304, 0, 275, 0, 0, 0, 0, 0, 527, + 528, 0, 0, 0, 0, 606, 0, 529, 0, 0, + 524, 525, 526, 531, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 241, 144, 582, 0, 0, 204, 359, + 0, 0, 604, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 0, 298, 589, 0, 0, 0, + 0, 167, 0, 290, 260, 347, 581, 0, 289, 217, + 337, 0, 0, 346, 0, 488, 356, 361, 0, 0, + 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, + 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, + 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, + 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, + 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, + 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 593, 605, 599, 601, 600, 597, 598, 596, 595, 594, + 607, 583, 584, 585, 586, 587, 0, 0, 0, 590, + 0, 602, 603, 0, 0, 0, 0, 546, 547, 548, + 549, 550, 554, 555, 559, 560, 568, 567, 566, 569, + 570, 572, 571, 573, 551, 552, 553, 556, 557, 558, + 561, 562, 565, 563, 564, 588, 131, 140, 215, 0, + 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 0, 0, 1509, 0, 0, 0, 0, 176, + 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, + 0, 0, 494, 316, 240, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1511, 1513, 0, 0, 0, + 0, 0, 0, 126, 0, 467, 0, 0, 0, 0, + 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 468, 469, 470, 471, 472, 476, 477, 481, 482, 491, - 490, 489, 492, 493, 496, 495, 497, 473, 474, 475, - 478, 479, 480, 483, 484, 487, 485, 486, 0, 131, - 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, - 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, - 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, - 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, - 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, - 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, - 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 176, 0, 0, 0, 0, 213, 0, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, - 0, 0, 216, 0, 0, 494, 316, 240, 0, 0, + 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 126, 0, 467, 0, - 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, + 204, 359, 0, 1512, 0, 277, 0, 323, 192, 214, + 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, + 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, + 289, 217, 337, 0, 0, 346, 0, 488, 356, 361, + 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, + 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, + 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, + 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, + 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, + 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, + 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, + 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, + 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, + 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, + 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, + 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, + 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, + 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, + 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, + 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, + 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, + 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, + 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, + 469, 470, 471, 472, 476, 477, 481, 482, 491, 490, + 489, 492, 493, 496, 495, 497, 473, 474, 475, 478, + 479, 480, 483, 484, 487, 485, 486, 0, 131, 140, + 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, + 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, + 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, + 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, + 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, + 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 1509, 0, 0, 0, + 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, + 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, + 0, 216, 0, 0, 494, 316, 240, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1511, 1513, 0, + 0, 0, 0, 0, 0, 126, 0, 467, 0, 0, + 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, - 0, 0, 0, 204, 359, 0, 0, 0, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, - 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, - 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, - 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, - 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, - 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, - 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, - 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, - 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, - 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, - 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, + 0, 0, 348, 1507, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 468, 469, 470, 471, 472, 476, 477, 481, - 482, 491, 490, 489, 492, 493, 496, 495, 497, 473, - 474, 475, 478, 479, 480, 483, 484, 487, 485, 486, - 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, - 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, - 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, - 0, 0, 0, 0, 216, 0, 0, 494, 316, 240, + 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, + 0, 0, 204, 359, 0, 1512, 0, 277, 0, 323, + 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, + 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, + 0, 0, 289, 217, 337, 0, 0, 346, 0, 488, + 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, + 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, + 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, + 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, + 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, + 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, + 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, + 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, + 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, + 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, + 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, + 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, + 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, + 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, + 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, + 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, + 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, + 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, + 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, - 1015, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 468, 469, 470, 471, 472, 476, 477, 481, 482, + 491, 490, 489, 492, 493, 496, 495, 497, 473, 474, + 475, 478, 479, 480, 483, 484, 487, 485, 486, 0, + 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, + 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, + 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, + 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, + 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, + 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, + 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 256, 0, 0, 0, 0, 1009, 0, + 0, 0, 0, 176, 0, 0, 0, 0, 213, 0, + 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, + 0, 0, 0, 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, - 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1010, 0, 1013, + 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, + 0, 0, 1006, 1005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1007, 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, - 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, - 252, 0, 298, 0, 0, 0, 0, 0, 167, 0, - 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, - 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, - 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, - 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, - 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, - 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, - 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, - 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, - 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, - 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, - 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, - 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, - 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, - 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, - 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, - 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, - 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, - 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, - 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, + 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, + 0, 298, 0, 0, 0, 0, 0, 167, 0, 290, + 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, + 0, 488, 356, 361, 0, 0, 0, 313, 177, 0, + 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, + 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, + 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, + 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, + 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, + 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, + 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, + 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, + 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, + 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, + 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, + 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, + 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, + 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, + 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, + 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, + 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 468, 469, 470, 471, 472, 476, - 477, 481, 482, 491, 490, 489, 492, 493, 496, 495, - 497, 473, 474, 475, 478, 479, 480, 483, 484, 487, - 485, 486, 0, 131, 140, 215, 0, 281, 185, 351, - 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, - 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, - 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, - 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, - 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, - 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, - 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, - 263, 328, 0, 0, 0, 0, 216, 0, 0, 494, - 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 468, 469, 470, 471, 472, 476, 477, + 481, 482, 491, 490, 489, 492, 493, 496, 495, 497, + 473, 474, 475, 478, 479, 480, 483, 484, 487, 485, + 486, 0, 131, 140, 215, 0, 281, 185, 351, 0, + 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, + 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, + 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, + 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, + 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, + 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, + 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, + 328, 0, 0, 0, 0, 216, 0, 0, 494, 316, + 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, + 0, 467, 0, 0, 0, 0, 0, 0, 498, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 647, 0, 0, 0, 0, 0, 0, 0, 0, 498, + 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, + 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, - 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, + 0, 277, 0, 323, 192, 214, 149, 128, 142, 160, + 191, 252, 0, 298, 0, 0, 0, 0, 0, 167, + 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, + 0, 346, 0, 488, 356, 361, 0, 0, 0, 313, + 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, + 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, + 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, + 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, + 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, + 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, + 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, + 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, + 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, + 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, + 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, + 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, + 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, + 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, + 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, + 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, + 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, + 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, - 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, - 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, - 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, - 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, - 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, - 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, - 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, - 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, - 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, - 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, - 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, - 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, - 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, - 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, - 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, - 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, - 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, - 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, - 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, - 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, - 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, - 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, + 0, 0, 0, 0, 0, 468, 469, 470, 471, 472, + 476, 477, 481, 482, 491, 490, 489, 492, 493, 496, + 495, 497, 473, 474, 475, 478, 479, 480, 483, 484, + 487, 485, 486, 0, 131, 140, 215, 0, 281, 185, + 351, 0, 174, 0, 0, 0, 0, 462, 129, 141, + 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, + 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, + 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, + 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, + 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, + 0, 0, 213, 1806, 0, 166, 221, 219, 0, 0, + 0, 263, 328, 0, 0, 0, 0, 216, 0, 0, + 494, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 126, 0, 467, 0, 0, 0, 0, 0, 0, + 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 468, 469, 470, 471, - 472, 476, 477, 481, 482, 491, 490, 489, 492, 493, - 496, 495, 497, 473, 474, 475, 478, 479, 480, 483, - 484, 487, 485, 486, 0, 131, 140, 215, 0, 281, - 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, - 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, - 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, - 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, - 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, - 311, 319, 325, 338, 339, 358, 360, 436, 329, 430, - 441, 424, 0, 0, 0, 0, 0, 0, 0, 256, - 0, 0, 447, 0, 0, 0, 0, 0, 0, 176, - 0, 0, 431, 0, 213, 0, 494, 166, 221, 219, + 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, + 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, + 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, + 142, 160, 191, 252, 0, 298, 0, 0, 0, 0, + 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, + 337, 0, 0, 346, 0, 488, 356, 361, 0, 0, + 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, + 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, + 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, + 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, + 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, + 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, + 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, + 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, + 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, + 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, + 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, + 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, + 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, + 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, + 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, + 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, + 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, + 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 468, 469, 470, + 471, 472, 476, 477, 481, 482, 491, 490, 489, 492, + 493, 496, 495, 497, 473, 474, 475, 478, 479, 480, + 483, 484, 487, 485, 486, 0, 131, 140, 215, 0, + 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, + 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, + 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, + 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, + 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, + 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, + 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, - 0, 0, 0, 316, 240, 0, 0, 2172, 0, 0, - 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, - 0, 0, 0, 445, 0, 444, 0, 0, 0, 0, + 0, 0, 494, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 126, 0, 467, 0, 0, 0, 0, + 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, - 422, 425, 0, 0, 1171, 241, 144, 0, 0, 429, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, - 149, 128, 142, 160, 191, 252, 433, 298, 0, 0, - 437, 488, 0, 167, 0, 290, 260, 347, 0, 0, - 289, 217, 337, 0, 440, 346, 0, 0, 356, 361, + 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, + 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, + 289, 217, 337, 0, 0, 346, 0, 488, 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, @@ -3592,8 +3429,8 @@ var yyAct = [...]int{ 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, - 450, 303, 333, 152, 320, 426, 427, 428, 434, 435, - 438, 439, 442, 224, 179, 182, 193, 200, 0, 287, + 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, + 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, @@ -3604,121 +3441,121 @@ var yyAct = [...]int{ 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 468, 469, 470, 471, 472, 476, 477, - 481, 482, 491, 490, 489, 492, 493, 496, 495, 497, - 473, 474, 475, 478, 479, 480, 483, 484, 487, 485, - 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, + 469, 470, 471, 472, 476, 477, 481, 482, 491, 490, + 489, 492, 493, 496, 495, 497, 473, 474, 475, 478, + 479, 480, 483, 484, 487, 485, 486, 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, - 269, 270, 278, 432, 286, 293, 295, 296, 297, 299, + 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, - 436, 329, 430, 441, 424, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 416, 0, 0, 0, 0, - 0, 0, 176, 0, 0, 431, 0, 213, 0, 0, - 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, - 0, 494, 216, 0, 0, 0, 316, 240, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2165, 0, - 0, 0, 2167, 0, 0, 0, 445, 0, 444, 0, - 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, + 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, + 0, 216, 0, 0, 494, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1010, 0, 1013, 0, 0, + 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 423, 422, 425, 0, 0, 0, 241, 144, - 0, 0, 429, 204, 359, 0, 0, 0, 277, 0, - 323, 192, 214, 149, 128, 142, 160, 191, 252, 433, - 298, 0, 0, 437, 0, 0, 167, 0, 290, 260, - 347, 0, 0, 289, 217, 337, 488, 440, 346, 0, - 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, - 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, - 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, - 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, - 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, - 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, - 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, - 0, 0, 0, 419, 303, 333, 152, 320, 426, 427, - 428, 434, 435, 438, 439, 442, 224, 179, 182, 193, - 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, - 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, - 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, - 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, - 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, - 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, - 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, - 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, - 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, - 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 468, 469, - 470, 471, 472, 476, 477, 481, 482, 491, 490, 489, - 492, 493, 496, 495, 497, 473, 474, 475, 478, 479, - 480, 483, 484, 487, 485, 486, 0, 0, 0, 0, - 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, - 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, - 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, - 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, - 265, 266, 268, 269, 270, 278, 432, 286, 293, 295, - 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, - 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 176, 0, 494, 0, 0, 213, - 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, - 0, 0, 0, 0, 216, 0, 0, 1835, 316, 240, + 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, + 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, + 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, + 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, + 0, 0, 289, 217, 337, 0, 0, 346, 0, 488, + 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, + 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, + 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, + 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, + 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, + 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, + 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, + 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, + 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, + 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, + 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, + 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, + 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, + 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, + 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, + 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, + 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, + 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, + 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 468, 469, 470, 471, 472, 476, 477, 481, 482, + 491, 490, 489, 492, 493, 496, 495, 497, 473, 474, + 475, 478, 479, 480, 483, 484, 487, 485, 486, 0, + 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, + 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, + 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, + 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, + 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, + 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, + 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 176, 0, 0, 0, 0, 213, 0, + 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, + 0, 0, 0, 216, 0, 0, 494, 316, 240, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, + 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, + 0, 298, 0, 0, 0, 0, 0, 167, 0, 290, + 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, + 0, 488, 356, 361, 0, 0, 0, 313, 177, 0, + 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, + 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, + 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, + 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, + 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, + 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, + 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, + 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, + 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, + 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, + 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, + 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, + 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, + 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, + 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, + 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, + 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, - 275, 0, 1025, 1024, 1034, 1035, 1027, 1028, 1029, 1030, - 1031, 1032, 1033, 1026, 0, 0, 1036, 0, 0, 0, - 0, 0, 0, 0, 1171, 0, 0, 0, 0, 0, - 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, - 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, - 252, 488, 298, 0, 0, 0, 0, 0, 167, 0, - 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, - 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, - 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, - 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, - 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, - 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, - 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, - 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, - 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, - 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, - 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, - 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, - 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, - 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, - 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, - 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, - 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, - 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, - 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 468, 469, 470, 471, 472, 476, 477, 481, 482, 491, 490, 489, 492, 493, 496, 495, 497, 473, 474, 475, 478, 479, 480, 483, 484, 487, 485, - 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 131, 140, 215, 0, 281, 185, 351, - 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, - 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, - 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, - 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, - 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, - 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 2688, - 0, 0, 0, 0, 0, 0, 176, 2686, 494, 0, + 486, 0, 131, 140, 215, 0, 281, 185, 351, 0, + 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, + 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, + 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, + 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, + 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, + 338, 339, 358, 360, 436, 329, 430, 441, 424, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 447, + 0, 0, 0, 0, 0, 0, 176, 0, 0, 431, 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, - 263, 328, 0, 0, 0, 0, 216, 0, 0, 1229, - 316, 240, 0, 0, 0, 0, 0, 0, 498, 0, + 263, 328, 0, 0, 0, 0, 216, 0, 0, 0, + 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 445, 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3726,21 +3563,21 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0, - 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, + 0, 0, 0, 0, 0, 0, 423, 422, 425, 0, + 0, 0, 241, 144, 0, 0, 429, 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, - 160, 191, 252, 488, 298, 0, 0, 0, 0, 0, + 160, 191, 252, 433, 298, 0, 0, 437, 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, - 0, 0, 346, 0, 0, 356, 361, 0, 0, 0, + 0, 440, 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 352, 0, 301, 300, 0, 199, 0, 2687, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, - 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, - 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 234, 232, 235, 190, 0, 0, 0, 450, 303, 333, + 152, 320, 426, 427, 428, 434, 435, 438, 439, 442, 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, @@ -3751,36 +3588,36 @@ var yyAct = [...]int{ 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, - 0, 0, 0, 0, 0, 468, 469, 470, 471, 472, - 476, 477, 481, 482, 491, 490, 489, 492, 493, 496, - 495, 497, 473, 474, 475, 478, 479, 480, 483, 484, - 487, 485, 486, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, - 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, - 311, 319, 325, 338, 339, 358, 360, 36, 329, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, - 0, 494, 0, 0, 213, 0, 0, 166, 221, 219, - 0, 0, 0, 263, 328, 0, 0, 0, 1507, 216, - 0, 0, 2167, 316, 240, 0, 0, 0, 0, 0, - 0, 498, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, + 432, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 436, 329, 430, + 441, 424, 0, 0, 0, 0, 0, 0, 0, 256, + 0, 0, 416, 0, 0, 0, 0, 0, 0, 176, + 0, 0, 431, 0, 213, 0, 0, 166, 221, 219, + 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, + 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 445, 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, + 422, 425, 0, 0, 0, 241, 144, 0, 0, 429, 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, - 149, 128, 142, 160, 191, 252, 488, 298, 0, 0, - 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, - 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, + 149, 128, 142, 160, 191, 252, 433, 298, 0, 0, + 437, 0, 0, 167, 0, 290, 260, 347, 0, 0, + 289, 217, 337, 0, 440, 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, @@ -3789,8 +3626,8 @@ var yyAct = [...]int{ 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, - 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, - 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, + 419, 303, 333, 152, 320, 426, 427, 428, 434, 435, + 438, 439, 442, 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, @@ -3800,34 +3637,34 @@ var yyAct = [...]int{ 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, - 349, 314, 0, 0, 0, 0, 0, 0, 468, 469, - 470, 471, 472, 476, 477, 481, 482, 491, 490, 489, - 492, 493, 496, 495, 497, 473, 474, 475, 478, 479, - 480, 483, 484, 487, 485, 486, 0, 0, 0, 0, + 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, - 215, 79, 281, 185, 351, 0, 174, 0, 0, 0, + 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, - 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, + 269, 270, 278, 432, 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 176, 0, 494, 0, 0, 213, 0, 0, 166, + 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, - 0, 216, 0, 0, 2176, 316, 240, 0, 0, 0, - 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 445, 0, 444, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 348, 267, 283, 304, 0, 275, 0, 1023, + 1022, 1032, 1033, 1025, 1026, 1027, 1028, 1029, 1030, 1031, + 1024, 0, 0, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, - 192, 214, 149, 128, 142, 160, 191, 252, 488, 298, + 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, @@ -3849,10 +3686,10 @@ var yyAct = [...]int{ 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, - 291, 158, 349, 314, 0, 0, 0, 1289, 0, 0, - 468, 469, 470, 471, 472, 476, 477, 481, 482, 491, - 490, 489, 492, 493, 496, 495, 497, 473, 474, 475, - 478, 479, 480, 483, 484, 487, 485, 486, 0, 0, + 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, @@ -3862,12 +3699,12 @@ var yyAct = [...]int{ 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 176, 1161, 494, 0, 0, 213, 0, + 0, 0, 0, 256, 0, 0, 2685, 0, 0, 0, + 0, 0, 0, 176, 2683, 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, - 0, 0, 0, 216, 0, 0, 2174, 316, 240, 0, - 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 647, 0, 1160, + 0, 0, 0, 216, 0, 0, 0, 316, 240, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 445, 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3877,14 +3714,14 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, - 488, 298, 0, 0, 0, 0, 0, 167, 0, 290, + 0, 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, - 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, + 0, 301, 300, 0, 199, 0, 2684, 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, @@ -3899,9 +3736,9 @@ var yyAct = [...]int{ 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, - 0, 0, 468, 469, 470, 471, 472, 476, 477, 481, - 482, 491, 490, 489, 492, 493, 496, 495, 497, 473, - 474, 475, 478, 479, 480, 483, 484, 487, 485, 486, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, 351, 0, @@ -3910,726 +3747,901 @@ var yyAct = [...]int{ 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, - 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, - 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, - 328, 0, 0, 0, 0, 216, 0, 0, 0, 316, - 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 445, - 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, + 338, 339, 358, 360, 36, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 1504, 216, 0, 0, 0, + 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, + 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, - 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, - 0, 277, 0, 323, 192, 214, 149, 128, 142, 160, - 191, 252, 0, 298, 0, 0, 0, 0, 0, 167, - 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, - 0, 346, 0, 0, 356, 361, 0, 0, 0, 313, - 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, - 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, - 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, - 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, - 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, - 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, - 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, - 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, - 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, - 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, - 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, - 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, - 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, - 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, - 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, - 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, - 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, - 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, + 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, + 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, + 0, 0, 346, 0, 0, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, - 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, - 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, - 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, - 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, - 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, - 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, - 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 0, 0, 0, 0, 216, 0, 0, - 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, - 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 140, 215, 79, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, + 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, + 0, 0, 263, 328, 0, 0, 0, 0, 216, 0, + 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 445, 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, - 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, - 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 0, 298, 0, 0, 0, 0, - 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, - 337, 0, 0, 346, 0, 0, 356, 361, 0, 0, - 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, - 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, - 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, - 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, - 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, - 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, + 359, 0, 0, 0, 277, 0, 323, 192, 214, 149, + 128, 142, 160, 191, 252, 0, 298, 0, 0, 0, + 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, + 217, 337, 0, 0, 346, 0, 0, 356, 361, 0, + 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, + 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, + 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, + 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, + 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, + 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, + 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, + 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, + 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, + 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, + 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, + 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, + 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, + 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, + 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, + 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, + 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, + 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, + 314, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 140, 215, + 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, + 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, + 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, + 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, + 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, + 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, - 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, - 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, - 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, - 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, + 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 176, 1159, 0, 0, 0, 213, 0, 0, 166, 221, + 219, 0, 0, 0, 263, 328, 0, 0, 0, 0, + 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 647, 0, 1158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, - 0, 0, 0, 2152, 0, 0, 0, 0, 0, 0, + 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 144, 0, 0, + 0, 204, 359, 0, 0, 0, 277, 0, 323, 192, + 214, 149, 128, 142, 160, 191, 252, 0, 298, 0, + 0, 0, 0, 0, 167, 0, 290, 260, 347, 0, + 0, 289, 217, 337, 0, 0, 346, 0, 0, 356, + 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, + 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, + 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, + 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, + 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, + 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, + 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, + 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, + 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, + 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, + 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, + 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, + 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, + 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, + 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, + 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, + 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, + 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, + 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, + 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, + 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, + 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, + 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, + 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, + 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 176, 0, 0, 0, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 0, 216, 0, 0, 0, 316, 240, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 445, 0, 444, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, + 0, 0, 0, 204, 359, 0, 0, 0, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, + 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, + 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, + 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, + 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, + 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 0, 0, 0, 0, 216, 0, 0, 0, 316, 240, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 126, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, - 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, - 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, - 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, - 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, - 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, - 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, - 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, - 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, - 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, - 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, - 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, - 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, - 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, - 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, - 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, - 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, - 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, - 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, - 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, - 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, - 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, - 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, - 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 0, 298, 0, 0, 0, 0, 0, 167, 0, + 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, + 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, + 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, + 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, + 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, + 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, + 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, + 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, - 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, - 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, - 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, - 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, - 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, - 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, - 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, - 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, - 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 140, 215, 0, 281, 185, 351, + 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 0, 216, 0, 0, 0, + 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, + 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, - 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, - 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, - 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, - 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, - 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, - 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, - 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, - 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, - 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, - 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, - 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, - 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, - 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, - 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, - 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, - 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, - 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, - 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, - 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, - 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, - 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, - 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, - 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, + 2149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, + 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, + 0, 0, 346, 0, 0, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, - 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, - 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, - 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, - 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, - 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, - 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 176, 0, 0, 0, 0, 213, 0, - 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, - 0, 0, 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, + 0, 0, 0, 0, 0, 131, 140, 215, 0, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, + 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, + 0, 0, 263, 328, 0, 0, 0, 0, 216, 0, + 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, - 0, 0, 0, 0, 0, 0, 0, 1657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, - 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, - 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, - 0, 298, 0, 0, 0, 0, 0, 167, 0, 290, - 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, - 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, - 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, - 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, - 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, - 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, - 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, - 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, - 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, - 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, - 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, - 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, - 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, - 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, - 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, - 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, - 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, - 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, - 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, - 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, + 359, 0, 0, 0, 277, 0, 323, 192, 214, 149, + 128, 142, 160, 191, 252, 0, 298, 0, 0, 0, + 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, + 217, 337, 0, 0, 346, 0, 0, 356, 361, 0, + 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, + 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, + 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, + 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, + 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, + 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, + 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, + 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, + 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, + 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, + 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, + 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, + 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, + 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, + 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, + 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, + 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, + 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, + 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 140, 215, + 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, + 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, + 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, + 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, + 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, + 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 131, 140, 215, 0, 281, 185, 351, 0, - 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, - 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, - 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, - 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, - 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, - 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, - 0, 0, 0, 0, 1130, 176, 0, 0, 0, 0, - 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, - 328, 0, 0, 0, 0, 216, 0, 0, 0, 316, - 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, + 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 176, 0, 0, 0, 0, 213, 0, 0, 166, 221, + 219, 0, 0, 0, 263, 328, 0, 0, 0, 0, + 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, - 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, + 0, 0, 0, 0, 1654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, - 0, 277, 0, 323, 192, 214, 149, 128, 142, 160, - 191, 252, 0, 298, 0, 0, 0, 0, 0, 167, - 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, - 0, 346, 0, 0, 356, 361, 0, 0, 0, 313, - 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, - 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, - 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, - 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, - 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, - 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, - 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, - 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, - 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, - 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, - 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, - 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, - 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, - 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, - 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, - 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, - 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, - 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 144, 0, 0, + 0, 204, 359, 0, 0, 0, 277, 0, 323, 192, + 214, 149, 128, 142, 160, 191, 252, 0, 298, 0, + 0, 0, 0, 0, 167, 0, 290, 260, 347, 0, + 0, 289, 217, 337, 0, 0, 346, 0, 0, 356, + 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, + 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, + 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, + 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, + 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, + 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, + 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, + 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, + 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, + 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, + 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, + 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, + 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, + 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, + 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, + 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, + 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, + 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, + 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, + 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, + 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, + 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, + 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, + 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, + 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 1128, 176, 0, 0, 0, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, - 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, - 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, - 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, - 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, - 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, - 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, - 610, 0, 0, 0, 0, 0, 0, 256, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, - 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 0, 0, 0, 0, 216, 0, 0, - 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, - 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, - 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 0, 298, 0, 0, 0, 0, - 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, - 337, 0, 0, 346, 0, 0, 356, 361, 0, 0, - 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, - 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, - 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, - 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, - 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, - 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 147, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 222, - 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, - 332, 0, 0, 155, 187, 180, 271, 246, 148, 198, - 315, 210, 218, 284, 363, 259, 291, 158, 349, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, + 0, 0, 0, 204, 359, 0, 0, 0, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, + 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, + 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, + 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, + 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, - 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 269, 270, - 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, - 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, - 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, - 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, + 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 329, 0, 0, 0, 610, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, + 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 0, 0, 0, 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 241, 144, 0, 123, 0, - 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, - 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, - 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, - 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, - 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, - 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, - 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, - 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, - 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, - 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, - 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, - 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, - 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, - 321, 353, 0, 145, 134, 327, 345, 157, 302, 305, - 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, - 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, - 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, - 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, - 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, - 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, - 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, - 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, - 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 0, 298, 0, 0, 0, 0, 0, 167, 0, + 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, + 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, + 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, + 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, + 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, + 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, + 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 147, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 222, 227, 0, 0, + 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, + 155, 187, 180, 271, 246, 148, 198, 315, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, - 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, - 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, - 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, - 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, - 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, - 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, - 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, - 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, - 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, + 0, 0, 0, 131, 140, 215, 0, 281, 185, 351, + 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 269, 270, 278, 0, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 0, 216, 0, 0, 0, + 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, - 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, - 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, - 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, - 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, - 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, - 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, - 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, - 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, - 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, - 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, - 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, - 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, - 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, - 0, 287, 321, 353, 0, 145, 134, 327, 345, 157, - 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, - 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, - 276, 340, 341, 168, 365, 146, 355, 139, 147, 354, - 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, - 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, - 243, 242, 244, 222, 227, 0, 0, 0, 318, 350, - 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, - 271, 246, 148, 198, 315, 210, 218, 284, 363, 259, - 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 144, 0, 123, 0, 204, 359, 0, + 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, + 0, 0, 346, 0, 0, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 345, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, - 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, - 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, - 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, - 266, 268, 269, 270, 278, 0, 286, 293, 295, 296, - 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, - 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 176, 0, 0, 0, 0, 213, 0, - 0, 166, 221, 219, 0, 0, 0, 263, 328, 0, - 0, 0, 0, 216, 0, 0, 0, 316, 240, 0, + 0, 0, 0, 0, 0, 131, 140, 215, 0, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, + 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, + 0, 0, 263, 328, 0, 0, 0, 0, 216, 0, + 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, + 359, 0, 0, 0, 277, 0, 323, 192, 214, 149, + 128, 142, 160, 191, 252, 0, 298, 0, 0, 0, + 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, + 217, 337, 0, 0, 346, 0, 0, 356, 361, 0, + 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, + 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, + 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, + 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, + 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, + 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, + 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, + 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, + 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, + 353, 0, 145, 134, 327, 345, 157, 302, 305, 362, + 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, + 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, + 168, 365, 146, 355, 139, 147, 354, 248, 0, 247, + 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, + 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, + 222, 227, 0, 0, 0, 318, 350, 366, 154, 0, + 306, 332, 0, 0, 155, 187, 180, 271, 246, 148, + 198, 315, 210, 218, 284, 363, 259, 291, 158, 349, + 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, - 144, 0, 0, 0, 204, 359, 0, 0, 0, 277, - 0, 323, 192, 214, 149, 128, 142, 160, 191, 252, - 0, 298, 0, 0, 0, 0, 0, 167, 0, 290, - 260, 347, 0, 0, 289, 217, 337, 0, 0, 346, - 0, 0, 356, 361, 0, 0, 0, 313, 177, 0, - 133, 0, 274, 172, 209, 0, 0, 0, 164, 0, - 0, 0, 312, 335, 151, 330, 239, 245, 161, 163, - 162, 143, 307, 334, 156, 165, 317, 294, 324, 171, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, - 0, 301, 300, 0, 199, 0, 0, 0, 282, 0, - 205, 132, 326, 364, 150, 211, 331, 0, 186, 251, - 169, 261, 262, 183, 130, 279, 233, 234, 232, 235, - 190, 0, 0, 0, 280, 303, 333, 152, 320, 0, - 0, 0, 0, 292, 0, 0, 0, 224, 179, 182, - 193, 200, 0, 287, 321, 353, 0, 145, 134, 327, - 345, 157, 302, 305, 362, 288, 137, 343, 322, 237, - 206, 207, 135, 0, 136, 285, 175, 189, 170, 255, - 0, 188, 276, 340, 341, 168, 365, 146, 355, 139, - 147, 354, 248, 0, 247, 357, 336, 344, 238, 226, - 0, 138, 342, 236, 225, 212, 181, 195, 272, 220, - 273, 196, 243, 242, 244, 222, 227, 0, 0, 0, - 318, 350, 366, 154, 0, 306, 332, 0, 0, 155, - 187, 180, 271, 246, 148, 198, 315, 210, 218, 284, - 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 140, 215, + 0, 281, 185, 351, 0, 174, 0, 0, 0, 0, + 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, + 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, + 250, 253, 254, 257, 258, 264, 265, 266, 268, 269, + 270, 278, 0, 286, 293, 295, 296, 297, 299, 308, + 309, 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 176, 0, 0, 0, 0, 213, 0, 0, 166, 221, + 219, 0, 0, 0, 263, 328, 0, 0, 0, 0, + 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 131, 140, 215, 0, 281, 185, 351, 0, - 174, 0, 0, 0, 0, 0, 129, 141, 153, 159, - 173, 178, 184, 194, 197, 201, 202, 203, 208, 223, - 228, 229, 230, 231, 249, 250, 253, 254, 257, 258, - 264, 265, 266, 268, 269, 270, 278, 0, 286, 293, - 295, 296, 297, 299, 308, 309, 310, 311, 319, 325, - 338, 339, 358, 360, 329, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, - 213, 0, 0, 166, 221, 219, 0, 0, 0, 263, - 328, 0, 0, 0, 0, 216, 0, 0, 0, 316, - 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, + 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 144, 0, 0, + 0, 204, 359, 0, 0, 0, 277, 0, 323, 192, + 214, 149, 128, 142, 160, 191, 252, 0, 298, 0, + 0, 0, 0, 0, 167, 0, 290, 260, 347, 0, + 0, 289, 217, 337, 0, 0, 346, 0, 0, 356, + 361, 0, 0, 0, 313, 177, 0, 133, 0, 274, + 172, 209, 0, 0, 0, 164, 0, 0, 0, 312, + 335, 151, 330, 239, 245, 161, 163, 162, 143, 307, + 334, 156, 165, 317, 294, 324, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 352, 0, 301, 300, + 0, 199, 0, 0, 0, 282, 0, 205, 132, 326, + 364, 150, 211, 331, 0, 186, 251, 169, 261, 262, + 183, 130, 279, 233, 234, 232, 235, 190, 0, 0, + 0, 280, 303, 333, 152, 320, 0, 0, 0, 0, + 292, 0, 0, 0, 224, 179, 182, 193, 200, 0, + 287, 321, 353, 0, 145, 134, 327, 345, 157, 302, + 305, 362, 288, 137, 343, 322, 237, 206, 207, 135, + 0, 136, 285, 175, 189, 170, 255, 0, 188, 276, + 340, 341, 168, 365, 146, 355, 139, 147, 354, 248, + 0, 247, 357, 336, 344, 238, 226, 0, 138, 342, + 236, 225, 212, 181, 195, 272, 220, 273, 196, 243, + 242, 244, 222, 227, 0, 0, 0, 318, 350, 366, + 154, 0, 306, 332, 0, 0, 155, 187, 180, 271, + 246, 148, 198, 315, 210, 218, 284, 363, 259, 291, + 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 348, 267, 283, 304, - 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 241, 144, 0, 0, 0, 204, 359, 0, 0, - 0, 277, 0, 323, 192, 214, 149, 128, 142, 160, - 191, 252, 0, 298, 0, 0, 0, 0, 0, 167, - 0, 290, 260, 347, 0, 0, 289, 217, 337, 0, - 0, 346, 0, 0, 356, 361, 0, 0, 0, 313, - 177, 0, 133, 0, 274, 172, 209, 0, 0, 0, - 164, 0, 0, 0, 312, 335, 151, 330, 239, 245, - 161, 163, 162, 143, 307, 334, 156, 165, 317, 294, - 324, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 352, 0, 301, 300, 0, 199, 0, 0, 0, - 282, 0, 205, 132, 326, 364, 150, 211, 331, 0, - 186, 251, 169, 261, 262, 183, 130, 279, 233, 234, - 232, 235, 190, 0, 0, 0, 280, 303, 333, 152, - 320, 0, 0, 0, 0, 292, 0, 0, 0, 224, - 179, 182, 193, 200, 0, 287, 321, 353, 0, 145, - 134, 327, 345, 157, 302, 305, 362, 288, 137, 343, - 322, 237, 206, 207, 135, 0, 136, 285, 175, 189, - 170, 255, 0, 188, 276, 340, 341, 168, 365, 146, - 355, 139, 147, 354, 248, 0, 247, 357, 336, 344, - 238, 226, 0, 138, 342, 236, 225, 212, 181, 195, - 272, 220, 273, 196, 243, 242, 244, 222, 227, 0, - 0, 0, 318, 350, 366, 154, 0, 306, 332, 0, - 0, 155, 187, 180, 271, 246, 148, 198, 315, 210, - 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 140, 215, 0, 281, 185, 351, 0, 174, 0, 0, + 0, 0, 0, 129, 141, 153, 159, 173, 178, 184, + 194, 197, 201, 202, 203, 208, 223, 228, 229, 230, + 231, 249, 250, 253, 254, 257, 258, 264, 265, 266, + 268, 269, 270, 278, 0, 286, 293, 295, 296, 297, + 299, 308, 309, 310, 311, 319, 325, 338, 339, 358, + 360, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 176, 0, 0, 0, 0, 213, 0, 0, + 166, 221, 219, 0, 0, 0, 263, 328, 0, 0, + 0, 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 140, 215, 0, 281, 185, - 351, 0, 174, 0, 0, 0, 0, 0, 129, 141, - 153, 159, 173, 178, 184, 194, 197, 201, 202, 203, - 208, 223, 228, 229, 230, 231, 249, 250, 253, 254, - 257, 258, 264, 265, 266, 268, 269, 270, 278, 0, - 286, 293, 295, 296, 297, 299, 308, 309, 310, 311, - 319, 325, 338, 339, 358, 360, 329, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, - 0, 0, 213, 0, 0, 166, 221, 219, 0, 0, - 0, 263, 328, 0, 0, 0, 0, 216, 0, 0, - 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 241, 144, + 0, 0, 0, 204, 359, 0, 0, 0, 277, 0, + 323, 192, 214, 149, 128, 142, 160, 191, 252, 0, + 298, 0, 0, 0, 0, 0, 167, 0, 290, 260, + 347, 0, 0, 289, 217, 337, 0, 0, 346, 0, + 0, 356, 361, 0, 0, 0, 313, 177, 0, 133, + 0, 274, 172, 209, 0, 0, 0, 164, 0, 0, + 0, 312, 335, 151, 330, 239, 245, 161, 163, 162, + 143, 307, 334, 156, 165, 317, 294, 324, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, + 301, 300, 0, 199, 0, 0, 0, 282, 0, 205, + 132, 326, 364, 150, 211, 331, 0, 186, 251, 169, + 261, 262, 183, 130, 279, 233, 234, 232, 235, 190, + 0, 0, 0, 280, 303, 333, 152, 320, 0, 0, + 0, 0, 292, 0, 0, 0, 224, 179, 182, 193, + 200, 0, 287, 321, 353, 0, 145, 134, 327, 345, + 157, 302, 305, 362, 288, 137, 343, 322, 237, 206, + 207, 135, 0, 136, 285, 175, 189, 170, 255, 0, + 188, 276, 340, 341, 168, 365, 146, 355, 139, 147, + 354, 248, 0, 247, 357, 336, 344, 238, 226, 0, + 138, 342, 236, 225, 212, 181, 195, 272, 220, 273, + 196, 243, 242, 244, 222, 227, 0, 0, 0, 318, + 350, 366, 154, 0, 306, 332, 0, 0, 155, 187, + 180, 271, 246, 148, 198, 315, 210, 218, 284, 363, + 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 348, 267, - 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 241, 144, 0, 0, 0, 204, 359, - 0, 0, 0, 277, 0, 323, 192, 214, 149, 128, - 142, 160, 191, 252, 0, 298, 0, 0, 0, 0, - 0, 167, 0, 290, 260, 347, 0, 0, 289, 217, - 337, 0, 0, 346, 0, 0, 356, 361, 0, 0, - 0, 313, 177, 0, 133, 0, 274, 172, 209, 0, - 0, 0, 164, 0, 0, 0, 312, 335, 151, 330, - 239, 245, 161, 163, 162, 143, 307, 334, 156, 165, - 317, 294, 324, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 0, 301, 300, 0, 199, 0, - 0, 0, 282, 0, 205, 132, 326, 364, 150, 211, - 331, 0, 186, 251, 169, 261, 262, 183, 130, 279, - 233, 234, 232, 235, 190, 0, 0, 0, 280, 303, - 333, 152, 320, 0, 0, 0, 0, 292, 0, 0, - 0, 224, 179, 182, 193, 200, 0, 287, 321, 353, - 0, 145, 134, 327, 345, 157, 302, 305, 362, 288, - 137, 343, 322, 237, 206, 207, 135, 0, 136, 285, - 175, 189, 170, 255, 0, 188, 276, 340, 341, 168, - 365, 146, 355, 139, 630, 354, 248, 0, 247, 357, - 336, 344, 238, 226, 0, 138, 342, 236, 225, 212, - 181, 195, 272, 220, 273, 196, 243, 242, 244, 626, - 227, 0, 0, 0, 318, 350, 366, 154, 0, 306, - 332, 0, 0, 155, 187, 180, 271, 631, 629, 620, - 621, 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 140, 215, 0, 281, 185, 351, 0, 174, + 0, 0, 0, 0, 0, 129, 141, 153, 159, 173, + 178, 184, 194, 197, 201, 202, 203, 208, 223, 228, + 229, 230, 231, 249, 250, 253, 254, 257, 258, 264, + 265, 266, 268, 269, 270, 278, 0, 286, 293, 295, + 296, 297, 299, 308, 309, 310, 311, 319, 325, 338, + 339, 358, 360, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 0, 0, 0, 0, 213, + 0, 0, 166, 221, 219, 0, 0, 0, 263, 328, + 0, 0, 0, 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 140, 215, 0, - 281, 185, 351, 0, 174, 0, 0, 0, 0, 0, - 129, 141, 153, 159, 173, 178, 184, 194, 197, 201, - 202, 203, 208, 223, 228, 229, 230, 231, 249, 250, - 253, 254, 257, 258, 264, 265, 266, 268, 627, 628, - 278, 0, 286, 293, 295, 296, 297, 299, 308, 309, - 310, 311, 319, 325, 338, 339, 358, 360, 329, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, - 0, 0, 0, 0, 213, 0, 0, 166, 221, 219, - 0, 0, 0, 263, 328, 0, 0, 0, 0, 216, - 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 348, 267, 283, 304, 0, + 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 144, 0, 0, 0, 204, 359, 0, 0, 0, + 277, 0, 323, 192, 214, 149, 128, 142, 160, 191, + 252, 0, 298, 0, 0, 0, 0, 0, 167, 0, + 290, 260, 347, 0, 0, 289, 217, 337, 0, 0, + 346, 0, 0, 356, 361, 0, 0, 0, 313, 177, + 0, 133, 0, 274, 172, 209, 0, 0, 0, 164, + 0, 0, 0, 312, 335, 151, 330, 239, 245, 161, + 163, 162, 143, 307, 334, 156, 165, 317, 294, 324, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 352, 0, 301, 300, 0, 199, 0, 0, 0, 282, + 0, 205, 132, 326, 364, 150, 211, 331, 0, 186, + 251, 169, 261, 262, 183, 130, 279, 233, 234, 232, + 235, 190, 0, 0, 0, 280, 303, 333, 152, 320, + 0, 0, 0, 0, 292, 0, 0, 0, 224, 179, + 182, 193, 200, 0, 287, 321, 353, 0, 145, 134, + 327, 345, 157, 302, 305, 362, 288, 137, 343, 322, + 237, 206, 207, 135, 0, 136, 285, 175, 189, 170, + 255, 0, 188, 276, 340, 341, 168, 365, 146, 355, + 139, 630, 354, 248, 0, 247, 357, 336, 344, 238, + 226, 0, 138, 342, 236, 225, 212, 181, 195, 272, + 220, 273, 196, 243, 242, 244, 626, 227, 0, 0, + 0, 318, 350, 366, 154, 0, 306, 332, 0, 0, + 155, 187, 180, 271, 631, 629, 620, 621, 210, 218, + 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 241, 144, 0, 0, 0, - 204, 359, 0, 0, 0, 277, 0, 323, 192, 214, - 149, 128, 142, 160, 191, 252, 0, 298, 0, 0, - 0, 0, 0, 167, 0, 290, 260, 347, 0, 0, - 289, 217, 337, 0, 0, 346, 0, 0, 356, 361, - 0, 0, 0, 313, 177, 0, 133, 0, 274, 172, - 209, 0, 0, 0, 164, 0, 0, 0, 312, 335, - 151, 330, 239, 245, 161, 163, 162, 143, 307, 334, - 156, 165, 317, 294, 324, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 352, 0, 301, 300, 0, - 199, 0, 0, 0, 282, 0, 205, 132, 326, 364, - 150, 211, 331, 0, 186, 251, 169, 261, 262, 183, - 130, 279, 233, 234, 232, 235, 190, 0, 0, 0, - 280, 303, 333, 152, 320, 0, 0, 0, 0, 292, - 0, 0, 0, 224, 179, 182, 193, 200, 0, 287, - 321, 353, 0, 145, 134, 327, 1155, 157, 302, 305, - 362, 288, 137, 343, 322, 237, 206, 207, 135, 0, - 136, 285, 175, 189, 170, 255, 0, 188, 276, 340, - 341, 168, 365, 146, 355, 139, 147, 354, 248, 0, - 247, 357, 336, 344, 238, 226, 0, 138, 342, 236, - 225, 212, 181, 195, 272, 220, 273, 196, 243, 242, - 244, 222, 227, 0, 0, 0, 318, 350, 366, 154, - 0, 306, 332, 0, 0, 155, 187, 180, 271, 246, - 148, 198, 315, 210, 218, 284, 363, 259, 291, 158, - 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 140, 215, 0, 281, 185, 351, + 0, 174, 0, 0, 0, 0, 0, 129, 141, 153, + 159, 173, 178, 184, 194, 197, 201, 202, 203, 208, + 223, 228, 229, 230, 231, 249, 250, 253, 254, 257, + 258, 264, 265, 266, 268, 627, 628, 278, 0, 286, + 293, 295, 296, 297, 299, 308, 309, 310, 311, 319, + 325, 338, 339, 358, 360, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, + 0, 213, 0, 0, 166, 221, 219, 0, 0, 0, + 263, 328, 0, 0, 0, 0, 216, 0, 0, 0, + 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 131, 140, - 215, 0, 281, 185, 351, 0, 174, 0, 0, 0, - 0, 0, 129, 141, 153, 159, 173, 178, 184, 194, - 197, 201, 202, 203, 208, 223, 228, 229, 230, 231, - 249, 250, 253, 254, 257, 258, 264, 265, 266, 268, - 269, 270, 278, 0, 286, 293, 295, 296, 297, 299, - 308, 309, 310, 311, 319, 325, 338, 339, 358, 360, - 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 176, 0, 0, 0, 0, 213, 0, 0, 166, - 221, 219, 0, 0, 0, 263, 328, 0, 0, 0, - 0, 216, 0, 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 267, 283, + 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 144, 0, 0, 0, 204, 359, 0, + 0, 0, 277, 0, 323, 192, 214, 149, 128, 142, + 160, 191, 252, 0, 298, 0, 0, 0, 0, 0, + 167, 0, 290, 260, 347, 0, 0, 289, 217, 337, + 0, 0, 346, 0, 0, 356, 361, 0, 0, 0, + 313, 177, 0, 133, 0, 274, 172, 209, 0, 0, + 0, 164, 0, 0, 0, 312, 335, 151, 330, 239, + 245, 161, 163, 162, 143, 307, 334, 156, 165, 317, + 294, 324, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 301, 300, 0, 199, 0, 0, + 0, 282, 0, 205, 132, 326, 364, 150, 211, 331, + 0, 186, 251, 169, 261, 262, 183, 130, 279, 233, + 234, 232, 235, 190, 0, 0, 0, 280, 303, 333, + 152, 320, 0, 0, 0, 0, 292, 0, 0, 0, + 224, 179, 182, 193, 200, 0, 287, 321, 353, 0, + 145, 134, 327, 1153, 157, 302, 305, 362, 288, 137, + 343, 322, 237, 206, 207, 135, 0, 136, 285, 175, + 189, 170, 255, 0, 188, 276, 340, 341, 168, 365, + 146, 355, 139, 147, 354, 248, 0, 247, 357, 336, + 344, 238, 226, 0, 138, 342, 236, 225, 212, 181, + 195, 272, 220, 273, 196, 243, 242, 244, 222, 227, + 0, 0, 0, 318, 350, 366, 154, 0, 306, 332, + 0, 0, 155, 187, 180, 271, 246, 148, 198, 315, + 210, 218, 284, 363, 259, 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 348, 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 241, 144, 0, - 0, 0, 204, 359, 0, 0, 0, 277, 0, 323, - 192, 214, 149, 128, 142, 160, 191, 252, 0, 298, - 0, 0, 0, 0, 0, 167, 0, 290, 260, 347, - 0, 0, 289, 217, 337, 0, 0, 346, 0, 0, - 356, 361, 0, 0, 0, 313, 177, 0, 133, 0, - 274, 172, 209, 0, 0, 0, 164, 0, 0, 0, - 312, 335, 151, 330, 239, 245, 161, 163, 162, 143, - 307, 334, 156, 165, 317, 294, 324, 171, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 352, 0, 301, - 300, 0, 199, 0, 0, 0, 282, 0, 205, 132, - 326, 364, 150, 211, 331, 0, 186, 251, 169, 261, - 262, 183, 130, 279, 233, 234, 232, 235, 190, 0, - 0, 0, 280, 303, 333, 152, 320, 0, 0, 0, - 0, 292, 0, 0, 0, 224, 179, 182, 193, 200, - 0, 287, 321, 353, 0, 145, 134, 327, 617, 157, - 302, 305, 362, 288, 137, 343, 322, 237, 206, 207, - 135, 0, 136, 285, 175, 189, 170, 255, 0, 188, - 276, 340, 341, 168, 365, 146, 355, 139, 630, 354, - 248, 0, 247, 357, 336, 344, 238, 226, 0, 138, - 342, 236, 225, 212, 181, 195, 272, 220, 273, 196, - 243, 242, 244, 626, 227, 0, 0, 0, 318, 350, - 366, 154, 0, 306, 332, 0, 0, 155, 187, 180, - 271, 631, 629, 620, 621, 210, 218, 284, 363, 259, - 291, 158, 349, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 140, 215, 0, 281, + 185, 351, 0, 174, 0, 0, 0, 0, 0, 129, + 141, 153, 159, 173, 178, 184, 194, 197, 201, 202, + 203, 208, 223, 228, 229, 230, 231, 249, 250, 253, + 254, 257, 258, 264, 265, 266, 268, 269, 270, 278, + 0, 286, 293, 295, 296, 297, 299, 308, 309, 310, + 311, 319, 325, 338, 339, 358, 360, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, + 0, 0, 0, 213, 0, 0, 166, 221, 219, 0, + 0, 0, 263, 328, 0, 0, 0, 0, 216, 0, + 0, 0, 316, 240, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 267, 283, 304, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 131, 140, 215, 0, 281, 185, 351, 0, 174, 0, - 0, 0, 0, 0, 129, 141, 153, 159, 173, 178, - 184, 194, 197, 201, 202, 203, 208, 223, 228, 229, - 230, 231, 249, 250, 253, 254, 257, 258, 264, 265, - 266, 268, 627, 628, 278, 0, 286, 293, 295, 296, - 297, 299, 308, 309, 310, 311, 319, 325, 338, 339, - 358, 360, 36, 0, 72, 39, 40, 0, 0, 0, - 36, 0, 72, 39, 40, 0, 59, 0, 0, 0, - 0, 0, 78, 0, 59, 0, 41, 0, 0, 0, + 0, 0, 0, 0, 241, 144, 0, 0, 0, 204, + 359, 0, 0, 0, 277, 0, 323, 192, 214, 149, + 128, 142, 160, 191, 252, 0, 298, 0, 0, 0, + 0, 0, 167, 0, 290, 260, 347, 0, 0, 289, + 217, 337, 0, 0, 346, 0, 0, 356, 361, 0, + 0, 0, 313, 177, 0, 133, 0, 274, 172, 209, + 0, 0, 0, 164, 0, 0, 0, 312, 335, 151, + 330, 239, 245, 161, 163, 162, 143, 307, 334, 156, + 165, 317, 294, 324, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 352, 0, 301, 300, 0, 199, + 0, 0, 0, 282, 0, 205, 132, 326, 364, 150, + 211, 331, 0, 186, 251, 169, 261, 262, 183, 130, + 279, 233, 234, 232, 235, 190, 0, 0, 0, 280, + 303, 333, 152, 320, 0, 0, 0, 0, 292, 0, + 0, 0, 224, 179, 182, 193, 200, 0, 287, 321, + 353, 0, 145, 134, 327, 617, 157, 302, 305, 362, + 288, 137, 343, 322, 237, 206, 207, 135, 0, 136, + 285, 175, 189, 170, 255, 0, 188, 276, 340, 341, + 168, 365, 146, 355, 139, 630, 354, 248, 0, 247, + 357, 336, 344, 238, 226, 0, 138, 342, 236, 225, + 212, 181, 195, 272, 220, 273, 196, 243, 242, 244, + 626, 227, 0, 0, 0, 318, 350, 366, 154, 0, + 306, 332, 0, 0, 155, 187, 180, 271, 631, 629, + 620, 621, 210, 218, 284, 363, 259, 291, 158, 349, + 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 36, 0, 72, 39, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 59, 0, 0, 131, 140, 215, + 78, 281, 185, 351, 41, 174, 0, 0, 0, 0, + 0, 129, 141, 153, 159, 173, 178, 184, 194, 197, + 201, 202, 203, 208, 223, 228, 229, 230, 231, 249, + 250, 253, 254, 257, 258, 264, 265, 266, 268, 627, + 628, 278, 81, 286, 293, 295, 296, 297, 299, 308, + 309, 310, 311, 319, 325, 338, 339, 358, 360, 0, + 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, + 36, 2750, 72, 39, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 78, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 74, 46, 45, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2511, 0, 0, + 0, 0, 81, 2738, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 77, 76, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 0, 2510, 0, 36, 0, + 72, 39, 40, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 59, 0, 0, 0, 0, 0, 78, 0, + 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 58, 0, 2512, 0, + 0, 0, 43, 74, 46, 45, 48, 0, 0, 0, + 0, 0, 66, 0, 67, 0, 0, 2511, 0, 0, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 77, 76, 0, 0, 0, 68, + 47, 0, 0, 0, 2510, 0, 0, 0, 0, 2679, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2513, 75, 0, + 53, 54, 61, 0, 62, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 58, 0, 2512, 0, + 43, 74, 46, 45, 48, 0, 0, 0, 0, 0, + 0, 0, 66, 0, 67, 2511, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 49, 77, 76, 0, 0, 0, 0, 47, 68, + 0, 0, 36, 0, 72, 39, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, + 0, 0, 78, 0, 0, 0, 41, 2513, 75, 0, + 53, 54, 61, 0, 62, 73, 0, 0, 0, 0, + 0, 0, 0, 57, 58, 0, 2512, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66, 0, 67, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 2741, 0, 0, 0, 0, - 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2513, 0, - 0, 0, 0, 0, 0, 0, 2513, 0, 0, 0, - 0, 2682, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 0, 0, 68, 2510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2513, 75, 0, 53, 54, + 61, 0, 62, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 43, 74, 46, 45, 48, 0, - 0, 0, 43, 74, 46, 45, 48, 0, 0, 2514, - 0, 0, 0, 0, 0, 0, 0, 2514, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2511, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 77, 76, 0, 0, - 0, 0, 47, 49, 77, 76, 0, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 0, 79, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 57, 58, 0, - 2515, 0, 0, 0, 0, 57, 58, 0, 2515, 0, + 0, 0, 0, 73, 0, 0, 0, 57, 58, 0, + 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 67, 0, 0, 0, - 0, 0, 66, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 68, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516, - 75, 0, 53, 54, 61, 0, 62, 2516, 75, 0, - 53, 54, 61, 0, 62, 0, 0, 0, 0, 0, + 0, 68, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2513, + 75, 0, 53, 54, 61, 0, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4638,28 +4650,27 @@ 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, 73, 0, 0, - 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, - 0, 0, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, } var yyPact = [...]int{ - 3629, -1000, -319, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 4210, -1000, -322, -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, 1795, -1000, -1000, -1000, -1000, - -1000, -1000, 1006, 256, -1000, 283, 257, 29451, 570, 867, - 30435, -1000, -1000, -1000, 211, 516, 30435, 427, 440, 1177, - 1657, 1174, 32, -75, -85, 137, 23054, 22561, 13, -1000, - 1849, 1853, -1000, -1000, 528, 57, -1000, -1000, -1000, 20100, - 207, -1000, -1000, 1770, 1793, 1566, -1000, 13212, 528, 528, - 28959, 32403, -1000, 1847, 30435, 11734, -1000, 562, 30435, -161, - 523, 523, 339, 523, 523, 569, -1000, 834, -1000, -1000, - -1000, -1000, 30435, 26007, 525, 29943, 525, 525, 525, 525, - 525, 525, 525, 30435, -1000, 631, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1829, -1000, -1000, -1000, -1000, + -1000, -1000, 943, 294, -1000, 275, 247, 29308, 651, 3368, + 30292, -1000, -1000, -1000, 178, 496, 30292, 439, 426, 1262, + 1706, 1261, 21, -87, -91, 172, 22911, 22418, -4, -1000, + 1878, 1880, -1000, -1000, 546, 31, -1000, -1000, -1000, 19957, + 210, -1000, -1000, 1806, 1827, 1642, -1000, 13069, 546, 546, + 28816, 32260, -1000, 1876, 30292, 11591, -1000, 634, 30292, -171, + 533, 533, 481, 533, 533, 650, -1000, 855, -1000, -1000, + -1000, -1000, 30292, 25864, 535, 29800, 535, 535, 535, 535, + 535, 535, 535, 30292, -1000, 705, -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, @@ -4683,35 +4694,35 @@ 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, -1000, -1000, -1000, 30435, 1172, 1699, - 883, 123, -1000, -1000, -1000, 866, -1000, 312, 297, 321, - 288, 80, 917, 1766, -1000, 1459, 1770, 1770, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 329, 548, 185, 207, 794, - -1000, 1698, 1696, 1075, 1692, 526, 1691, 1490, -42, -1000, - 1170, 30435, -1000, -1000, 1043, 1039, 1523, 1399, 618, 1522, - -1000, -1000, 305, 584, 1484, 405, 1484, 1484, 1484, 1484, - 1484, -94, 1484, 1484, 1484, 99, 1484, 128, 1484, 1484, - 1484, 1484, 1484, 1187, -1000, -1000, -1000, 368, 1392, 1441, - 1518, 522, -1000, -1000, -1000, -1000, 1519, 1750, 568, -1000, - -126, 1437, 21084, -1000, 1459, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 30292, 1259, 1724, + 900, 135, -1000, -1000, -1000, 926, -1000, 315, 303, 353, + 289, 55, 937, 1799, -1000, 1491, 1806, 1806, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 343, 600, 220, 210, 852, + -1000, 1723, 1722, 1151, 1721, 525, 1720, 1562, -46, -1000, + 1257, 30292, -1000, -1000, 1120, 1111, 1594, 1460, 624, 1593, + -1000, -1000, 367, 616, 1551, 423, 1551, 1551, 1551, 1551, + 1551, -94, 1551, 1551, 1551, 76, 1551, 129, 1551, 1551, + 1551, 1551, 1551, 1264, -1000, -1000, -1000, 393, 1414, 1473, + 1589, 503, -1000, -1000, -1000, -1000, 1532, 1776, 649, -1000, + -141, 1500, 20941, -1000, 1491, -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, 1196, - 1701, 985, 16164, 1619, -1000, -1000, 948, 1833, -1000, 19608, - 630, -1000, 16164, 3219, 1459, -1000, -1000, 1459, -1000, -1000, - -1000, 583, -1000, -1000, 18132, 18132, 18132, 18132, 18132, 18132, - 18132, 18132, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, -1000, -1000, 1459, -1000, 12720, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 16164, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 28467, 26499, - 30435, 1474, 1264, -1000, -1000, 628, 1455, -100, 31911, -1000, - -1000, -1000, -1000, 30927, 25515, 793, -1000, -1000, -1000, -1000, - 1685, -1000, -1000, 626, -1000, 1795, -1000, -1000, 1348, 513, - -1000, 4209, 24017, -1000, -1000, -1000, 1489, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1284, + 1728, 1005, 16021, 1682, -1000, -1000, 903, 1864, -1000, 19465, + 703, -1000, 16021, 2787, 1491, -1000, -1000, 1491, -1000, -1000, + -1000, 689, -1000, -1000, 17989, 17989, 17989, 17989, 17989, 17989, + 17989, 17989, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1491, 1491, 1491, 1491, + 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, + 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, + 1491, 1491, 1491, 1491, -1000, -1000, 1491, -1000, 12577, 1491, + 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, + 1491, 16021, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, + 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 28324, 26356, + 30292, 1474, 1466, -1000, -1000, 700, 1506, -71, 31768, -1000, + -1000, -1000, -1000, 30784, 25372, 846, -1000, -1000, -1000, -1000, + 1719, -1000, -1000, 699, -1000, 1829, -1000, -1000, 1402, 370, + -1000, 3817, 4488, -1000, -1000, -1000, 1561, -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, @@ -4728,279 +4739,278 @@ 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, 29943, 1747, 553, 1168, 878, 1167, - 1160, 1158, 26007, 26007, 523, 1152, 1454, 547, 1451, 546, - 1182, 30435, 1724, 1517, 30435, 1150, 1147, 1146, 1145, 26007, - 26007, -1000, 11239, -1000, -1000, 883, -1000, 1099, 16164, 523, - 523, 30435, 30435, 30435, 30435, -1000, -1000, 883, 883, 883, - 883, 852, 1832, 852, -1000, 852, -1000, -1000, 16164, -1000, - 18132, 25023, 680, -1000, -1000, -1000, 1144, 328, -1000, -1000, - -1000, -1000, -1000, -1000, 1143, 526, 526, -1000, 1098, 526, - 1433, -1000, 788, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 526, -1000, 15672, -316, -1000, - -1000, 1444, -1000, 261, -1000, -1000, 347, 347, 201, 26007, - 26007, 26007, -1000, 1484, 29943, -1000, 1484, 1484, 1484, -105, - 1484, 1484, -1000, -1000, 1484, -1000, -1000, -1000, -1000, -1000, - 1484, -1000, -1000, -1000, 1484, 1484, -1000, 1484, 1484, -1000, - -1000, -1000, -1000, -1000, 26007, 347, 172, 1438, 347, 26007, - 26007, -1000, 522, -1000, 82, 79, 77, 76, -1000, -1000, - -1000, -1000, 75, 73, -1000, -1000, 1566, -1000, -1000, 207, - -1000, -1000, 30435, -117, 21084, 1437, 1741, 9754, -1000, -1000, - -1000, 1842, 711, 1417, -1000, -1000, 1436, -1000, 952, 624, - 1027, 1526, -1000, -1000, -1000, 30435, -1000, 16164, 16164, 1015, - -1000, 21576, -1000, -1000, -1000, -1000, 9259, 754, 18132, 942, - 761, 18132, 18132, 18132, 18132, 18132, 18132, 18132, 18132, 18132, - 18132, 18132, 18132, 18132, 18132, 18132, 1029, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1142, -1000, 207, 1060, 1060, - 641, 641, 641, 641, 641, 641, 641, 23546, 1738, 14196, - 14196, 14196, 1738, 1196, 1196, 14196, 14196, 14196, 14196, 14196, - 14196, 1738, 1738, 14196, 1196, 1196, 1196, 1196, 14196, 14196, - 14196, 14196, 1738, 14196, 14196, 14196, 1738, 1196, 1346, 908, - 12720, 14196, 14196, 14196, 1196, 16164, 16164, 15180, 14688, 16656, - 14196, 14196, 1738, 851, 908, 30927, -1000, -1000, 17640, -1000, - -1000, -1000, -1000, -1000, 1196, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 29943, 29943, 14196, 14196, 14196, 14196, 727, - 30435, -1000, 1391, 1509, -1000, -1000, -1000, 1739, 24531, 19116, - -1000, 727, 1388, 26499, 30435, -1000, -1000, 26499, 30435, 8764, - 31419, 1418, -1000, -113, -125, -100, -1000, -1000, 637, -1000, - -1000, -1000, 12227, -1000, 10249, 1770, 1566, 6289, 10744, -1000, - 24017, 1489, -1000, -53, -1000, -1000, -1000, 1468, -1000, 1468, - 286, 23, 1468, 1468, 1468, 1468, 1468, -20, -20, -20, - -20, -9, -1000, -1000, -1000, -1000, -1000, 1488, 1487, -1000, - 1468, 1468, 1468, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 29800, 1773, 602, 1255, 891, 1253, + 1252, 1251, 25864, 25864, 533, 1250, 1505, 599, 1504, 596, + 1224, 30292, 1749, 1582, 30292, 1249, 1248, 1246, 1244, 25864, + 25864, -1000, 11096, -1000, -1000, 900, -1000, 1176, 16021, 533, + 533, 30292, 30292, 30292, 30292, -1000, -1000, 900, 900, 900, + 900, 895, 1862, 895, -1000, 895, -1000, -1000, 16021, -1000, + 17989, 24880, 741, -1000, -1000, -1000, 1243, 329, -1000, -1000, + -1000, -1000, -1000, -1000, 1241, 525, 525, -1000, 1169, 525, + 1496, -1000, 838, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 525, -1000, 15529, -320, -1000, + -1000, 1503, -1000, 282, -1000, -1000, 514, 514, 192, 25864, + 25864, 25864, -1000, 1551, 29800, -1000, 1551, 1551, 1551, -127, + 1551, 1551, -1000, -1000, 1551, -1000, -1000, -1000, -1000, -1000, + 1551, -1000, -1000, -1000, 1551, 1551, -1000, 1551, 1551, -1000, + -1000, -1000, -1000, -1000, 25864, 514, 162, 1501, 514, 25864, + 25864, -1000, 60, 59, 54, 53, -1000, -1000, -1000, -1000, + 52, 51, -1000, -1000, 1642, -1000, -1000, 210, -1000, -1000, + 30292, -134, 20941, 1500, 1772, 9611, -1000, -1000, -1000, 1872, + 777, 1456, -1000, -1000, 1499, -1000, 1122, 698, 1105, 1656, + -1000, -1000, -1000, 30292, -1000, 16021, 16021, 1107, -1000, 21433, + -1000, -1000, -1000, -1000, 9116, 790, 17989, 1070, 893, 17989, + 17989, 17989, 17989, 17989, 17989, 17989, 17989, 17989, 17989, 17989, + 17989, 17989, 17989, 17989, 1110, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1239, -1000, 210, 1171, 1171, 724, 724, + 724, 724, 724, 724, 724, 23403, 1763, 14053, 14053, 14053, + 1763, 1284, 1284, 14053, 14053, 14053, 14053, 14053, 14053, 1763, + 1763, 14053, 1284, 1284, 1284, 1284, 14053, 14053, 14053, 14053, + 1763, 14053, 14053, 14053, 1763, 1284, 1380, 1020, 12577, 14053, + 14053, 14053, 1284, 16021, 16021, 15037, 14545, 16513, 14053, 14053, + 1763, 876, 1020, 30784, -1000, -1000, 17497, -1000, -1000, -1000, + -1000, -1000, 1284, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 29800, 29800, 14053, 14053, 14053, 14053, 784, 30292, -1000, + 1438, 1490, -1000, -1000, -1000, 1764, 24388, 18973, -1000, 784, + 1451, 26356, 30292, -1000, -1000, 26356, 30292, 8621, 31276, 1487, + -1000, -128, -139, -71, -1000, -1000, 719, -1000, -1000, -1000, + 12084, -1000, 10106, 1806, 1642, 6146, 10601, -1000, 4488, 1561, + -1000, -72, -1000, -1000, -1000, 1535, -1000, 1535, 306, -1, + 1535, 1535, 1535, 1535, 1535, -19, -19, -19, -19, 0, + -1000, -1000, -1000, -1000, -1000, 1560, 1558, -1000, 1535, 1535, + 1535, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1478, 306, 1476, 1476, 1476, 1476, 1476, 364, - 364, -1000, 16164, 1493, -1000, 30435, -1000, 1723, -1000, 294, - 1485, 1390, -1000, 186, 1248, 30435, -1000, 30435, 30435, 26007, - 26007, 26007, 590, -1000, 30435, 1434, -1000, -1000, -1000, -1000, - -1000, 1377, -1000, 1248, -1000, -1000, -1000, -1000, -1000, 908, - 1140, 1136, -1000, -1000, -1000, 860, -1000, -1000, -1000, -1000, - 883, 30435, 30435, 30435, 1734, 883, 908, 785, 1495, 1459, - 1196, -1000, -1000, 1134, -1000, 1433, 1433, -1000, 1433, 526, - 1060, 1433, -1000, 1343, 1718, 1093, 30435, -1000, 21084, -43, - -1000, -136, 27975, -1000, -1000, -1000, 27975, -1000, 99, 174, - -1000, 545, -1000, 1326, -1000, -1000, -1000, -1000, 1484, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27975, 129, - 170, 27975, 1377, 1831, -1000, -1000, -1000, -1000, -1000, 1759, - -1000, 1738, 1196, 181, -1000, -1000, -1000, 1459, 1292, 623, - -1000, 1575, 985, 985, 16164, -1000, -1000, -1000, 10249, 1762, - -1000, 1592, 1590, 1535, -1000, -1000, 754, 777, -1000, -1000, - 947, -1000, -1000, -1000, -1000, 622, 1459, -1000, 3054, -1000, - -1000, -1000, -1000, 942, 18132, 18132, 18132, 785, 3054, 3070, - 1578, 1281, 641, 945, 945, 663, 663, 663, 663, 663, - 829, 829, -1000, -1000, -1000, 1196, -1000, -1000, -1000, 14196, - 1320, -1000, -1000, 908, 619, 1320, 1320, 14196, -176, -176, - 1196, 1320, 1320, 1320, 1196, 1320, 14196, 14196, 1320, -176, - -176, -176, -176, 1320, 1320, 1320, 1320, 14196, 1320, 1320, - 1320, 14196, -1000, 16164, -1000, 1196, 1320, 1320, 1320, -1000, - 897, 826, 721, 1830, 1320, 714, 1828, 1320, 1307, 18132, - 18132, 18132, 1320, 1320, 14196, 880, -1000, 16164, 1196, -1000, - 800, 1432, 1430, 1320, 1196, 1423, 1320, 1320, 194, 1459, - -1000, 10249, 26499, 26499, 26499, 26499, 26499, -1000, 1546, 1540, - -1000, 1563, 1534, 1570, 21084, 1324, 1196, 275, 24531, -1000, - 1459, -1000, 20592, 601, 561, 559, 557, 1808, 26499, 1290, - -1000, 1290, -1000, 617, -1000, -1000, 30927, -100, -128, -1000, - -1000, 1418, -1000, 1041, -1000, -1000, 908, -1000, 615, 1701, - 1738, 1415, 5794, -1000, -1000, -1000, -1000, 513, -1000, -1000, - -1000, 1483, 23525, -1000, 1613, 666, 677, 1109, 1610, -1000, - -1000, 640, -55, -1000, -1000, 1034, -20, -20, 1468, 1468, - 279, 1468, -1000, -20, -1000, -1000, -1000, 637, 1683, 637, - 637, 637, 637, -20, 1089, 1089, -1000, -1000, -1000, -1000, - 1033, -1000, 1478, -1000, 1032, -1000, -1000, -1000, -1000, -1000, - -1000, 956, 1516, 29943, 207, 1731, -1000, 1825, -1000, -1000, - 596, 97, 26007, 179, 384, 204, -1000, 544, -1000, 543, - -1000, -1000, -1000, -1000, -1000, -1000, 30435, 26007, -1000, -1000, - 1808, 1132, 1131, -1000, -1000, -1000, 852, 883, 1672, -1000, - -1000, 18132, 26007, -1000, 307, -1000, -1000, -1000, -1000, 727, - 566, -1000, -1000, -120, -1000, -1000, 539, 598, 595, 538, - -1000, 108, 26007, -1000, 29943, -1000, 1827, 1826, 127, 1818, - 26007, -1000, 61, 1526, -1000, 1412, -1000, 679, 667, 739, - 380, 380, -1000, 762, 380, 725, -1000, 200, -1000, 9754, - 9754, 1559, -1000, -1000, -1000, 30435, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 8269, 14196, -1000, 785, 3054, - 3021, -1000, 18132, -1000, 1320, 14196, -176, 7774, -176, -176, - 1320, -1000, 27483, -1000, -176, -176, -176, -176, -176, -176, - 1320, 1320, -176, -1000, -1000, -1000, -1000, -176, -176, -176, - -176, 1320, -176, -176, -176, 1196, 908, -1000, -1000, -1000, - -1000, 184, 1029, 184, 18132, 18132, -1000, 18132, 18132, -1000, - -1000, 18132, 2963, 1878, 1353, -215, -1000, 1322, 792, -1000, - 16164, 989, -1000, -1000, 18132, 18132, -1000, -1000, -1000, -1000, - 1515, 10249, 1459, 6784, -1000, 29943, 1341, -1000, 782, 774, - 1509, 1482, 1514, 1382, -1000, -1000, -1000, -1000, 1538, -1000, - 1537, -1000, -1000, 1463, -1000, -1000, 1395, 1459, 29943, 18132, - 601, -1000, 1459, 1459, 1459, 1795, 16164, 1290, -1000, -1000, - 673, -1000, -1000, -130, -145, -1000, -1000, -1000, 9754, -1000, - 6289, -1000, 6289, -1000, 22068, 379, 1617, 378, -1000, 1109, - -1000, -1000, 1109, -1000, -1000, -1000, 1477, -1000, 920, -1000, - -1000, -1000, -1000, -1000, 18132, 1840, -1000, 1612, -1000, 1611, - 1088, -1000, -1000, 1238, 637, 637, -20, -1000, -1000, 1468, - -1000, 637, -1000, 715, -1000, -1000, -1000, -1000, 637, 1314, - -1000, 1310, 1394, -1000, 1296, 136, 30435, -1000, -1000, -1000, - 1513, -1000, -1000, -1000, 1236, 1387, -1000, 4209, 1130, 1128, - 1127, -221, 177, -1000, 26007, 144, 186, 412, 1124, 30435, - 26007, -1000, -1000, -1000, -1000, -1000, 883, -1000, 18132, 3054, - 1248, -1000, -1000, -20, 30435, -1000, 26007, 648, 26991, 26007, - 126, 173, -1000, 26007, 26007, 1817, 26007, 1377, 1085, 1535, - 181, 23050, 1109, 642, -1000, -1000, 382, -1000, 22545, 1610, - 1122, 25494, 25002, 29943, 1608, 1602, 1115, 30435, 29943, -1000, - -1000, 24510, 1114, 16164, -1000, 29943, 29943, 593, -1000, -1000, - -1000, 1374, 13212, -1000, -1000, 1196, -1000, 18132, 3054, -176, - -1000, -1000, -1000, -1000, 592, -1000, -1000, -176, -1000, -1000, - 1113, -1000, -1000, -1000, -1000, -1000, -1000, -176, -176, -1000, - -1000, -1000, -1000, -1000, -176, -1000, -1000, -1000, -1000, 1196, - 1468, 1468, -1000, 1468, 1476, -1000, 1468, 21, 1468, 17, - 1196, 1196, 2908, 2883, 2846, 2210, 800, 18132, 18132, 18132, - 1459, -172, -1000, 908, 16164, 2758, 2326, -1000, 1708, 1384, - 1367, -1000, -1000, 13704, 1196, 1584, 1292, -1000, 20100, 1287, - -1000, 1795, 10249, 16164, 16164, -1000, -1000, 16164, 1471, -1000, - 16164, -1000, -1000, -1000, -1000, 29943, 269, -1000, 16164, 1287, - 1224, -1000, 29943, 29943, 29943, 1770, 908, -1000, -1000, -1000, - -1000, 5794, -1000, 1266, -1000, 1468, 1468, 1601, -1000, 666, - -1000, -1000, -1000, 29943, -1000, 3054, -52, -1000, -1000, -1000, - -1000, -1000, -1000, 637, -1000, -1000, -1000, -1000, -1000, -20, - 1084, -20, 1021, -1000, 1020, -1000, -1000, -269, 1467, -1000, - 207, 30435, 107, 596, -1000, 4209, 4209, 4209, 125, 117, - -1000, 900, -1000, -1000, -1000, 1081, 1080, 1079, 1248, 187, - 899, 151, -1000, 1730, -1000, -1000, -1000, 3054, -83, -1000, - 173, -1000, -1000, -1000, 173, -1000, -1000, 159, 1377, 1377, - 26007, 1377, -1000, -1000, -1000, 24510, 360, 4209, 4209, 1493, - 666, 1599, 378, -1000, -1000, -1000, -1000, -1000, -1000, 1111, - -1000, 665, -1000, 393, 360, 24510, 908, 688, 1703, 9754, - 1799, 26499, -1000, -1000, -1000, 3054, -1000, 7279, -1000, 693, - -1000, -1000, -1000, -1000, -1000, -1000, 296, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 18132, 18132, 18132, 18132, -1000, - 800, 800, 800, 18132, 1196, 1077, 908, 18132, 18132, 1577, - -1000, 1459, -1000, -1000, 1459, 193, -1000, 29943, 1770, -1000, - 908, 908, 908, 29943, 908, 1250, -1000, 1459, 18624, -1000, - 21084, 1231, 1231, 1231, -1000, 589, 22068, 1715, 1715, -1000, - 1109, -1000, 1229, -1000, -1000, 637, -1000, 637, 1217, 1207, - -1000, 22068, -1000, 1758, -1000, 107, -1000, 1067, 246, 215, - -1000, 245, 236, 232, 230, 222, -1000, -1000, -1000, -1000, - 407, 125, -1000, -45, 1018, 738, 1687, 117, -1000, 1017, - 984, 978, 976, 199, -1000, -1000, -1000, -1000, 202, 186, - -1000, 411, 1066, 1649, 1643, 1729, 1729, 119, 1377, 1312, - 1198, -1000, -1000, 1110, -1000, -1000, 1465, 1109, 1464, -1000, - 1108, -1000, -1000, 29943, -1000, 360, 1706, 1704, 1459, -1000, - 1797, 1790, 1290, 13212, -1000, -1000, 1795, 1779, -1000, -1000, - 800, 800, 800, 800, -1000, -1000, -1000, 171, -1000, -1000, - 800, 800, 1838, -1000, 1367, 1459, -1000, 207, -1000, -1000, - 1227, -1000, 29943, -1000, -1000, 601, -1000, -1000, -1000, 589, - -1000, 1107, 762, 1057, -1000, -1000, -1000, -1000, 344, -1000, - -1000, -1000, -1000, 1225, -1000, 278, 4796, -1000, -1000, -1000, - -1000, -1000, -1000, 1655, 1654, 260, -1000, 1055, 1054, -1000, - 391, 1036, 597, -181, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 394, 1105, -1000, 150, -1000, - -1000, 527, 1622, 1620, 1778, -1000, 26007, -1000, -1000, 26499, - -1000, -1000, 640, 640, 22068, 1493, 22068, -1000, -1000, -1000, - 18132, -1000, 691, -178, 16164, 16164, 1799, -1000, 728, 16164, - -1000, -1000, -1000, -1000, 1196, 182, -226, -1000, -1000, 10249, - 1367, 1196, -1000, -1000, -1000, -1000, -1000, 967, -1000, 30435, - 589, 267, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1542, 308, 1540, 1540, 1540, 1540, 1540, 507, 507, -1000, + 16021, 1566, -1000, 30292, -1000, 1748, -1000, 281, 1557, 1450, + -1000, 168, 1406, 30292, -1000, 30292, 30292, 25864, 25864, 25864, + 608, -1000, 30292, 1498, -1000, -1000, -1000, -1000, -1000, 1452, + -1000, 1406, -1000, -1000, -1000, -1000, -1000, 1020, 1238, 1236, + -1000, -1000, -1000, 922, -1000, -1000, -1000, -1000, 900, 30292, + 30292, 30292, 1756, 900, 1020, 687, 1567, 1491, 1284, -1000, + -1000, 1227, -1000, 1496, 1496, -1000, 1496, 525, 1171, 1496, + -1000, 1372, 1744, 1166, 30292, -1000, 20941, -58, -1000, -153, + 27832, -1000, -1000, -1000, 27832, -1000, 76, 174, -1000, 595, + -1000, 1370, -1000, -1000, -1000, -1000, 1551, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 27832, 106, 158, 27832, + 1452, 1861, -1000, -1000, -1000, -1000, 1798, -1000, 1763, 1284, + 269, -1000, -1000, -1000, 1491, 1313, 697, -1000, 1650, 1005, + 1005, 16021, -1000, -1000, -1000, 10106, 1789, -1000, 1665, 1664, + 1607, -1000, -1000, 790, 829, -1000, -1000, 957, -1000, -1000, + -1000, -1000, 696, 1491, -1000, 3685, -1000, -1000, -1000, -1000, + 1070, 17989, 17989, 17989, 687, 3685, 3670, 940, 1469, 724, + 1009, 1009, 721, 721, 721, 721, 721, 994, 994, -1000, + -1000, -1000, 1284, -1000, -1000, -1000, 14053, 1345, -1000, -1000, + 1020, 694, 1345, 1345, 14053, -186, -186, 1284, 1345, 1345, + 1345, 1284, 1345, 14053, 14053, 1345, -186, -186, -186, -186, + 1345, 1345, 1345, 1345, 14053, 1345, 1345, 1345, 14053, -1000, + 16021, -1000, 1284, 1345, 1345, 1345, -1000, 945, 964, 836, + 1860, 1345, 828, 1859, 1345, 974, 17989, 17989, 17989, 1345, + 1345, 14053, 920, -1000, 16021, 1284, -1000, 1301, 1494, 1493, + 1345, 1284, 1489, 1345, 1345, 184, 1491, -1000, 10106, 26356, + 26356, 26356, 26356, 26356, -1000, 1639, 1632, -1000, 1638, 1630, + 1612, 20941, 1365, 1284, 280, 24388, -1000, 1491, -1000, 20449, + 626, 625, 623, 605, 1836, 26356, 1404, -1000, 1404, -1000, + 692, -1000, -1000, 30784, -71, -142, -1000, -1000, 1487, -1000, + 1126, -1000, -1000, 1020, -1000, 688, 1728, 1763, 1486, 5651, + -1000, -1000, -1000, -1000, 370, -1000, -1000, -1000, 1544, 2931, + -1000, 1681, 731, 812, 1189, 1676, -1000, -1000, 299, -74, + -1000, -1000, 1103, -19, -19, 1535, 1535, 298, 1535, -1000, + -19, -1000, -1000, -1000, 719, 1718, 719, 719, 719, 719, + -19, 1165, 1165, -1000, -1000, -1000, -1000, 1091, -1000, 1542, + -1000, 1087, -1000, -1000, -1000, -1000, -1000, -1000, 1106, 1581, + 29800, 210, 1755, -1000, 1851, -1000, -1000, 579, 69, 25864, + 166, 402, 176, -1000, 581, -1000, 552, -1000, -1000, -1000, + -1000, -1000, -1000, 30292, 25864, -1000, -1000, 1836, 1226, 1221, + -1000, -1000, -1000, 895, 900, 1710, -1000, -1000, 17989, 25864, + -1000, 331, -1000, -1000, -1000, -1000, 784, 637, -1000, -1000, + -85, -1000, -1000, 551, 685, 683, 549, -1000, 94, 25864, + -1000, 29800, -1000, 1857, 1856, 104, 1846, 25864, -1000, 35, + 1656, -1000, 1482, -1000, 792, 756, 820, 515, 515, -1000, + 809, 515, 778, -1000, 204, -1000, 9611, 9611, 1648, -1000, + -1000, -1000, 30292, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 8126, 14053, -1000, 687, 3685, 3457, -1000, 17989, + -1000, 1345, 14053, -186, 7631, -186, -186, 1345, -1000, 27340, + -1000, -186, -186, -186, -186, -186, -186, 1345, 1345, -186, + -1000, -1000, -1000, -1000, -186, -186, -186, -186, 1345, -186, + -186, -186, 1284, 1020, -1000, -1000, -1000, -1000, 186, 1110, + 186, 17989, 17989, -1000, 17989, 17989, -1000, -1000, 17989, 3627, + 3590, 3499, -226, -1000, 1440, 862, -1000, 16021, 1067, -1000, + -1000, 17989, 17989, -1000, -1000, -1000, -1000, 1578, 10106, 1491, + 6641, -1000, 29800, 1441, -1000, 815, 810, 1490, 1548, 1577, + 1223, -1000, -1000, -1000, -1000, 1631, -1000, 1616, -1000, -1000, + 1510, -1000, -1000, 1461, 1491, 29800, 17989, 626, -1000, 1491, + 1491, 1491, 1829, 16021, 1404, -1000, -1000, 737, -1000, -1000, + -147, -154, -1000, -1000, -1000, 9611, -1000, 6146, -1000, 6146, + -1000, 21925, 362, 1685, 364, -1000, 1189, -1000, -1000, 1189, + -1000, -1000, -1000, 1541, -1000, 925, -1000, -1000, -1000, -1000, + -1000, 17989, 1871, -1000, 1680, -1000, 1677, 1164, -1000, -1000, + 1366, 719, 719, -19, -1000, -1000, 1535, -1000, 719, -1000, + 774, -1000, -1000, -1000, -1000, 719, 1342, -1000, 1338, 1459, + -1000, 1316, 119, 30292, -1000, -1000, -1000, 1576, -1000, -1000, + -1000, 1306, 1453, -1000, 3817, 1219, 1215, 1212, -244, 246, + -1000, 25864, 137, 168, 412, 1205, 30292, 25864, -1000, -1000, + -1000, -1000, -1000, 900, -1000, 17989, 3685, 1406, -1000, -1000, + -19, 30292, -1000, 25864, 733, 26848, 25864, 103, 152, -1000, + 25864, 25864, 1841, 25864, 1452, 1161, 1607, 269, 2877, 1189, + 638, -1000, -1000, 517, -1000, 296, 1676, 1204, 4695, 4659, + 29800, 1674, 1673, 1201, 30292, 29800, -1000, -1000, 4628, 1200, + 16021, -1000, 29800, 29800, 680, -1000, -1000, -1000, 1378, 13069, + -1000, -1000, 1284, -1000, 17989, 3685, -186, -1000, -1000, -1000, + -1000, 665, -1000, -1000, -186, -1000, -1000, 1194, -1000, -1000, + -1000, -1000, -1000, -1000, -186, -186, -1000, -1000, -1000, -1000, + -1000, -186, -1000, -1000, -1000, -1000, 1284, 1535, 1535, -1000, + 1535, 1540, -1000, 1535, 10, 1535, 9, 1284, 1284, 3414, + 3204, 2308, 1340, 1301, 17989, 17989, 17989, 1491, -182, -1000, + 1020, 16021, 3140, 3067, -1000, 1734, 1363, 1448, -1000, -1000, + 13561, 1284, 1660, 1313, -1000, 19957, 1311, -1000, 1829, 10106, + 16021, 16021, -1000, -1000, 16021, 1536, -1000, 16021, -1000, -1000, + -1000, -1000, 29800, 264, -1000, 16021, 1311, 805, -1000, 29800, + 29800, 29800, 1806, 1020, -1000, -1000, -1000, -1000, 5651, -1000, + 1309, -1000, 1535, 1535, 1672, -1000, 731, -1000, -1000, -1000, + 29800, -1000, 3685, -90, -1000, -1000, -1000, -1000, -1000, -1000, + 719, -1000, -1000, -1000, -1000, -1000, -19, 1157, -19, 1076, + -1000, 1066, -1000, -1000, -272, 1533, -1000, 210, 30292, 105, + 579, -1000, 3817, 3817, 3817, 112, 163, -1000, 948, -1000, + -1000, -1000, 1156, 1155, 1150, 1406, 169, 947, 143, -1000, + 1752, -1000, -1000, -1000, 3685, -116, -1000, 152, -1000, -1000, + -1000, 152, -1000, -1000, 153, 1452, 1452, 25864, 1452, -1000, + -1000, -1000, 4628, 378, 3817, 3817, 1566, 731, 1671, 364, + -1000, -1000, -1000, -1000, -1000, -1000, 1192, -1000, 671, -1000, + 527, 378, 4628, 1020, 769, 1730, 9611, 1833, 26356, -1000, + -1000, -1000, 3685, -1000, 7136, -1000, 770, -1000, -1000, -1000, + -1000, -1000, -1000, 301, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 17989, 17989, 17989, 17989, -1000, 1301, 1301, 1301, + 17989, 1284, 1149, 1020, 17989, 17989, 1668, -1000, 1491, -1000, + -1000, 1491, 203, -1000, 29800, 1806, -1000, 1020, 1020, 1020, + 29800, 1020, 1305, -1000, 1491, 18481, -1000, 20941, 1303, 1303, + 1303, -1000, 614, 21925, 1741, 1741, -1000, 1189, -1000, 1297, + -1000, -1000, 719, -1000, 719, 1300, 1292, -1000, 21925, -1000, + 1787, -1000, 105, -1000, 1146, 236, 241, -1000, 235, 233, + 232, 228, 199, -1000, -1000, -1000, -1000, 397, 112, -1000, + -56, 1051, 807, 1714, 163, -1000, 1028, 1013, 1012, 1000, + 287, -1000, -1000, -1000, -1000, 175, 168, -1000, 411, 1144, + 1700, 1697, 1754, 1754, 99, 1452, 1376, 1290, -1000, -1000, + 1190, -1000, -1000, 1530, 1189, 1511, -1000, 1188, -1000, -1000, + 29800, -1000, 378, 1732, 1731, 1491, -1000, 1831, 1826, 1404, + 13069, -1000, -1000, 1829, 1825, -1000, -1000, 1301, 1301, 1301, + 1301, -1000, -1000, -1000, 138, -1000, -1000, 1301, 1301, 1870, + -1000, 1448, 1491, -1000, 210, -1000, -1000, 1295, -1000, 29800, + -1000, -1000, 626, -1000, -1000, -1000, 614, -1000, 1187, 809, + 1143, -1000, -1000, -1000, -1000, 349, -1000, -1000, -1000, -1000, + 1287, -1000, 310, 33026, -1000, -1000, -1000, -1000, -1000, -1000, + 1704, 1703, 262, -1000, 1142, 1141, -1000, 388, 1099, 708, + -192, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 380, 1186, -1000, 141, -1000, -1000, 540, 1687, + 1689, 1821, -1000, 25864, -1000, -1000, 26356, -1000, -1000, 299, + 299, 21925, 1566, 21925, -1000, -1000, -1000, 17989, -1000, 768, + -188, 16021, 16021, 1833, -1000, 780, 16021, -1000, -1000, -1000, + -1000, 1284, 181, -252, -1000, -1000, 10106, 1448, 1284, -1000, + -1000, -1000, -1000, -1000, 999, -1000, 30292, 614, 258, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 16164, 16164, 5299, 4796, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 966, -1000, -1000, 1035, 367, - 149, -1000, 1727, -1000, 1463, 959, 1643, 1777, 1641, 1630, - -1000, 1049, -223, 1290, 1222, 1461, 1195, 3054, 1193, -1000, - 29943, -1000, 29943, -1000, 908, 1351, -1000, 908, 1797, -1000, - 1196, 208, 208, 1298, -1000, 1556, -218, -244, 1270, -1000, - -1000, 1460, -1000, 589, 259, -1000, 932, 930, 206, 205, - 4149, -1000, -1000, -1000, -1000, -320, -1000, 133, -1000, 132, - -1000, -1000, -1000, 1047, -1000, 1645, -1000, 1046, -1000, 1776, - 1773, -1000, 175, 1799, 589, 22068, 589, -1000, 691, 1583, - 1260, -1000, 1719, 16164, -178, -1000, -1000, 210, -1000, 718, - 266, 709, -1000, 1060, -1000, -1000, 1553, -1000, 29943, -1000, - 1104, 1103, 868, -1000, 16164, 4796, 1756, 1755, 1742, 1702, - 9754, 32904, -1000, -1000, -1000, -1000, -1000, 1042, 1016, 24038, - 1797, -1000, 1191, -1000, -1000, 334, 29943, 1459, -1000, -1000, - 891, -1000, -1000, -1000, -1000, -1000, 29943, -224, 1186, 227, - -1000, -1000, 855, 4796, -1000, 903, -321, 428, 207, 441, - 18132, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 118, 1248, - -178, 589, 272, -1000, -1000, 210, -1000, -227, 1511, -1000, - -1000, -1000, -1000, -1000, -1000, 4796, -1000, -322, 4796, 3391, - -1000, -1000, -1000, 32896, -1000, -1000, -1000, -1000, 188, -1000, - -1000, 3054, 26007, -1000, -1000, 1459, -1000, -245, 1508, 1507, - 1812, -1000, -323, 4835, -325, 518, 4796, 802, -1000, 16164, - -1000, 441, -1000, 1248, 17148, -1000, -1000, 1837, -1000, 1835, - 496, 496, 4770, 853, 4796, -1000, -328, 508, 4796, -1000, - 791, -1000, 800, 1196, -1000, -1000, -1000, 359, 971, -1000, - -1000, -1000, 4593, -1000, -329, 4796, -1000, -1000, -1000, -1000, - -1000, 392, 4553, -330, -1000, 390, 4796, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 16021, 16021, 5156, 33026, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 993, -1000, -1000, 1082, 363, 140, -1000, 1753, + -1000, 1510, 972, 1697, 1820, 1695, 1692, -1000, 1140, -245, + 1404, 1282, 1509, 1279, 3685, 1276, -1000, 29800, -1000, 29800, + -1000, 1020, 1428, -1000, 1020, 1831, -1000, 1284, 211, 211, + 1427, -1000, 1647, -240, -255, 1420, -1000, -1000, 1508, -1000, + 614, 267, -1000, 874, 1018, 206, 177, 3147, -1000, -1000, + -1000, -1000, -323, -1000, 115, -1000, 114, -1000, -1000, -1000, + 1132, -1000, 1699, -1000, 1130, -1000, 1816, 1813, -1000, 154, + 1833, 614, 21925, 614, -1000, 768, 1659, 1419, -1000, 1751, + 16021, -188, -1000, -1000, 205, -1000, 775, 252, 753, -1000, + 1171, -1000, -1000, 1645, -1000, 29800, -1000, 1185, 1179, 1084, + -1000, 16021, 33026, 1784, 1782, 1780, 1729, 9611, 32852, -1000, + -1000, -1000, -1000, -1000, 1125, 1071, 23895, 1831, -1000, 1274, + -1000, -1000, 332, 29800, 1491, -1000, -1000, 935, -1000, -1000, + -1000, -1000, -1000, 29800, -247, 1272, 342, -1000, -1000, 885, + 33026, -1000, 951, -324, 425, 210, 435, 17989, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 96, 1406, -188, 614, 324, + -1000, -1000, 205, -1000, -253, 1575, -1000, -1000, -1000, -1000, + -1000, -1000, 33026, -1000, -325, 33026, 4171, -1000, -1000, -1000, + 32764, -1000, -1000, -1000, -1000, 197, -1000, -1000, 3685, 25864, + -1000, -1000, 1491, -1000, -257, 1571, 1570, 1854, -1000, -326, + 32674, -327, 530, 33026, 932, -1000, 16021, -1000, 435, -1000, + 1406, 17005, -1000, -1000, 1869, -1000, 1866, 655, 655, 4594, + 882, 33026, -1000, -328, 526, 33026, -1000, 851, -1000, 1301, + 1284, -1000, -1000, -1000, 383, 1019, -1000, -1000, -1000, 4586, + -1000, -329, 33026, -1000, -1000, -1000, -1000, -1000, 519, 4408, + -331, -1000, 516, 33026, -1000, } var yyPgo = [...]int{ - 0, 2303, 2300, 102, 2298, 186, 2297, 2295, 2294, 25, - 16, 11, 27, 2292, 1983, 1973, 1970, 1966, 1964, 2291, - 5, 2289, 2284, 1953, 2280, 2277, 1944, 1941, 1939, 1937, - 2276, 2275, 2274, 1933, 1929, 1924, 15, 2273, 23, 2271, - 4, 151, 160, 2269, 3, 2268, 2254, 9, 2252, 2251, - 1922, 2234, 2231, 2230, 96, 2228, 1913, 1910, 2227, 1905, - 1894, 2225, 2218, 1887, 1883, 1863, 2215, 163, 2214, 2212, - 2208, 148, 99, 155, 2207, 2206, 2205, 114, 82, 2290, - 118, 44, 108, 189, 2203, 29, 57, 185, 2199, 139, - 157, 2196, 162, 2195, 146, 104, 106, 2194, 2193, 169, - 2189, 2188, 2186, 141, 2185, 2183, 1977, 2181, 2174, 167, - 2173, 76, 49, 39, 2171, 2169, 2168, 2167, 2166, 31, - 843, 2163, 2158, 158, 2157, 2154, 87, 2152, 2151, 190, - 2146, 2145, 2139, 144, 40, 2134, 2132, 47, 2131, 53, - 70, 2128, 58, 2119, 142, 2114, 2106, 33, 22, 2105, - 64, 2104, 60, 2102, 143, 174, 1119, 2100, 20, 13, - 18, 2099, 32, 6, 8, 48, 62, 79, 133, 107, - 2097, 35, 41, 132, 100, 93, 37, 2093, 153, 2092, - 91, 164, 136, 140, 159, 2091, 2089, 2088, 999, 2086, - 128, 77, 2085, 111, 817, 161, 123, 2084, 85, 2083, - 2082, 2081, 2080, 2079, 90, 119, 2078, 2077, 45, 21, - 238, 1642, 19, 156, 2075, 46, 2074, 2071, 2069, 2899, - 113, 73, 129, 2067, 127, 94, 51, 2066, 2065, 2064, - 2063, 2061, 2058, 1633, 2057, 2056, 2054, 2053, 92, 97, - 2051, 2049, 131, 98, 2048, 2047, 2046, 2045, 130, 71, - 152, 2043, 121, 124, 138, 2042, 84, 2041, 2040, 50, - 43, 2038, 2036, 2035, 105, 95, 2030, 66, 34, 36, - 63, 24, 154, 2027, 2026, 2024, 80, 83, 2023, 30, - 2022, 2, 10, 14, 2021, 2020, 2019, 2018, 2015, 2014, - 2013, 86, 2012, 2010, 65, 2009, 2007, 1991, 38, 1990, - 1989, 1986, 147, 122, 61, 165, 125, 42, 1985, 1981, - 7, 1978, 126, 1968, 54, 1957, 55, 1949, 1935, 56, - 1927, 1920, 59, 1917, 1915, 168, 1542, 2848, 1901, 166, - 149, 52, 109, 1896, 1892, 0, 691, 170, 177, 1885, - 1859, + 0, 2261, 2260, 38, 2258, 183, 2257, 2255, 2254, 25, + 23, 13, 27, 2253, 1995, 1990, 1986, 1982, 1980, 2252, + 5, 2251, 2250, 1978, 2249, 2246, 1968, 1959, 1957, 1949, + 2239, 2237, 2236, 1939, 1937, 1933, 15, 2231, 20, 2230, + 4, 132, 167, 2226, 3, 2224, 2222, 16, 2220, 2219, + 1930, 2217, 2215, 2214, 95, 2212, 1915, 1907, 2211, 1901, + 1897, 2209, 2207, 1891, 1889, 1886, 2206, 165, 2205, 2203, + 2202, 151, 98, 147, 2201, 2200, 2198, 107, 87, 1992, + 105, 45, 121, 445, 2197, 29, 55, 182, 2194, 142, + 129, 2193, 157, 2192, 144, 91, 97, 2191, 2190, 166, + 2186, 2183, 2182, 126, 2181, 2176, 2400, 2175, 2174, 153, + 2173, 79, 46, 47, 2172, 2171, 2170, 2169, 2168, 31, + 371, 2167, 2166, 143, 2164, 2162, 94, 2161, 2160, 169, + 2159, 2157, 2152, 141, 44, 2151, 2150, 49, 2149, 53, + 68, 2148, 56, 2147, 138, 2146, 2145, 34, 19, 2142, + 61, 2141, 52, 2139, 133, 240, 1129, 2138, 10, 18, + 11, 2137, 22, 12, 7, 50, 67, 92, 128, 102, + 2135, 37, 35, 123, 100, 96, 41, 2134, 150, 2131, + 86, 158, 130, 131, 156, 2129, 2122, 2120, 1081, 2119, + 122, 82, 2117, 159, 872, 171, 111, 2116, 93, 2115, + 2113, 2111, 2105, 2104, 90, 146, 2103, 2102, 71, 21, + 367, 1317, 40, 155, 2101, 51, 2099, 2098, 2097, 2759, + 115, 103, 106, 2096, 104, 30, 54, 2095, 2094, 2090, + 2088, 2087, 2085, 1363, 2083, 2078, 2077, 2074, 881, 213, + 2072, 2066, 125, 113, 2065, 2064, 2063, 2062, 127, 80, + 152, 2059, 114, 108, 139, 2056, 70, 2055, 2053, 63, + 43, 2051, 2050, 2049, 99, 84, 2048, 66, 62, 33, + 76, 8, 2045, 2044, 77, 140, 2043, 32, 2040, 2, + 6, 9, 2037, 2036, 2027, 2026, 2025, 2021, 2014, 83, + 2013, 2011, 65, 2002, 2001, 1998, 36, 1997, 1993, 1988, + 149, 118, 48, 164, 253, 17, 1974, 1971, 42, 1964, + 124, 1961, 59, 1954, 58, 1951, 1946, 60, 1935, 1924, + 64, 1922, 1918, 163, 1616, 2727, 1911, 154, 161, 57, + 73, 1909, 1904, 0, 576, 168, 160, 1899, 1895, } var yyR1 = [...]int{ - 0, 334, 334, 1, 1, 1, 1, 1, 1, 1, + 0, 332, 332, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 66, 3, 3, 8, 4, 4, 4, 5, 5, 88, 88, 87, 87, 92, 6, 6, 7, 7, 9, 9, 70, 70, 10, 11, - 11, 11, 11, 337, 337, 101, 101, 99, 99, 100, + 11, 11, 11, 335, 335, 101, 101, 99, 99, 100, 100, 173, 173, 12, 12, 12, 178, 178, 183, 183, 183, 186, 186, 186, 186, 164, 165, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 308, - 308, 317, 317, 317, 318, 318, 316, 316, 316, 316, - 316, 320, 320, 321, 321, 319, 319, 319, 319, 323, - 323, 324, 324, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 311, 311, 311, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 306, + 306, 315, 315, 315, 316, 316, 314, 314, 314, 314, + 314, 318, 318, 319, 319, 317, 317, 317, 317, 321, + 321, 322, 322, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 309, 309, 309, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, - 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 325, 326, 326, 327, 327, 328, 328, 329, 329, 329, - 329, 330, 330, 330, 330, 330, 331, 331, 331, 331, - 331, 331, 331, 332, 332, 333, 333, 2, 289, 289, - 290, 290, 291, 291, 291, 291, 292, 292, 293, 293, - 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, - 24, 207, 207, 310, 310, 310, 304, 304, 304, 306, - 306, 305, 305, 305, 307, 307, 312, 312, 312, 312, - 312, 314, 314, 314, 314, 314, 314, 315, 315, 315, - 313, 313, 48, 48, 49, 49, 49, 153, 153, 153, + 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, + 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, + 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, + 323, 324, 324, 325, 325, 326, 326, 327, 327, 327, + 327, 328, 328, 328, 328, 328, 329, 329, 329, 329, + 329, 329, 329, 330, 330, 331, 331, 2, 287, 287, + 288, 288, 289, 289, 289, 289, 290, 290, 291, 291, + 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, + 24, 207, 207, 308, 308, 308, 302, 302, 302, 304, + 304, 303, 303, 303, 305, 305, 310, 310, 310, 310, + 310, 312, 312, 312, 312, 312, 312, 313, 313, 313, + 311, 311, 48, 48, 49, 49, 49, 153, 153, 153, 13, 13, 13, 13, 13, 19, 21, 21, 37, 37, 38, 22, 22, 22, 22, 39, 39, 40, 25, 25, 25, 25, 25, 25, 46, 46, 46, 45, 45, 44, 44, 44, 44, 44, 44, 23, 23, 23, 23, 47, 47, 42, 42, 41, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 26, 26, 26, 26, - 26, 26, 18, 288, 288, 288, 36, 36, 20, 20, + 26, 26, 18, 286, 286, 286, 36, 36, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 52, 261, @@ -5014,76 +5024,76 @@ var yyR1 = [...]int{ 231, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 248, 248, 233, 233, 242, 242, 243, 243, 243, 240, 240, 241, 241, 236, 237, 244, 238, 238, 238, - 239, 239, 239, 247, 247, 247, 247, 234, 35, 274, - 273, 273, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 275, 275, 200, 200, 201, 201, - 251, 251, 271, 271, 270, 270, 269, 269, 269, 260, - 260, 266, 266, 266, 266, 266, 266, 266, 255, 255, - 255, 254, 254, 256, 256, 259, 259, 268, 268, 267, - 267, 252, 252, 252, 276, 276, 276, 276, 276, 253, - 253, 253, 253, 277, 257, 257, 258, 258, 258, 282, - 283, 281, 281, 281, 281, 281, 116, 116, 116, 263, - 263, 263, 264, 264, 264, 265, 265, 265, 286, 286, - 285, 285, 50, 51, 55, 55, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 239, 239, 239, 247, 247, 247, 247, 234, 35, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 273, 273, 200, 200, 201, 201, 251, 251, 271, + 271, 270, 270, 269, 269, 269, 260, 260, 266, 266, + 266, 266, 266, 266, 266, 255, 255, 255, 254, 254, + 256, 256, 259, 259, 268, 268, 267, 267, 252, 252, + 252, 274, 274, 274, 274, 274, 253, 253, 253, 253, + 275, 257, 257, 258, 258, 258, 280, 281, 279, 279, + 279, 279, 279, 116, 116, 116, 263, 263, 263, 264, + 264, 264, 265, 265, 265, 284, 284, 283, 283, 50, + 51, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 152, 152, 152, 205, 205, 280, 278, 278, 279, 279, - 15, 15, 53, 53, 309, 309, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 284, 284, 284, 17, 17, - 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 54, 54, 54, 54, 54, 54, 54, 152, 152, 152, + 205, 205, 278, 276, 276, 277, 277, 15, 15, 53, + 53, 307, 307, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 282, 282, 282, 17, 17, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 84, 192, 192, 191, 191, - 190, 190, 190, 193, 193, 193, 223, 223, 223, 58, - 58, 62, 62, 65, 65, 65, 63, 64, 27, 28, - 28, 28, 28, 29, 206, 206, 60, 60, 61, 61, - 61, 61, 76, 76, 339, 339, 59, 340, 67, 68, - 68, 69, 69, 69, 196, 196, 73, 73, 73, 71, - 71, 71, 72, 72, 78, 78, 82, 82, 82, 82, - 81, 81, 81, 81, 155, 155, 160, 216, 216, 136, - 136, 156, 156, 161, 161, 161, 162, 162, 163, 163, - 163, 163, 163, 158, 158, 157, 157, 159, 124, 124, - 214, 214, 214, 213, 213, 213, 213, 86, 86, 89, - 89, 90, 90, 90, 90, 93, 138, 138, 110, 110, - 111, 111, 111, 111, 111, 122, 122, 172, 172, 171, - 171, 174, 174, 91, 91, 91, 91, 96, 96, 97, - 97, 98, 98, 204, 204, 221, 221, 221, 102, 102, - 102, 104, 103, 103, 103, 103, 105, 105, 107, 108, - 108, 106, 106, 109, 112, 112, 112, 112, 113, 113, - 83, 83, 83, 83, 83, 83, 83, 189, 189, 115, - 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 132, 132, 132, 132, 132, 132, 117, 117, 117, - 117, 117, 117, 117, 77, 77, 133, 133, 133, 95, - 94, 94, 80, 80, 79, 79, 134, 134, 120, 120, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 84, 192, 192, 191, 191, 190, 190, 190, + 193, 193, 193, 223, 223, 223, 58, 58, 62, 62, + 65, 65, 65, 63, 64, 27, 28, 28, 28, 28, + 29, 206, 206, 60, 60, 61, 61, 61, 61, 76, + 76, 337, 337, 59, 338, 67, 68, 68, 69, 69, + 69, 196, 196, 73, 73, 73, 71, 71, 71, 72, + 72, 78, 78, 82, 82, 82, 82, 81, 81, 81, + 81, 155, 155, 160, 216, 216, 136, 136, 156, 156, + 161, 161, 161, 162, 162, 163, 163, 163, 163, 163, + 158, 158, 157, 157, 159, 124, 124, 214, 214, 214, + 213, 213, 213, 213, 86, 86, 89, 89, 90, 90, + 90, 90, 93, 138, 138, 110, 110, 111, 111, 111, + 111, 111, 122, 122, 172, 172, 171, 171, 174, 174, + 91, 91, 91, 91, 96, 96, 97, 97, 98, 98, + 204, 204, 221, 221, 221, 102, 102, 102, 104, 103, + 103, 103, 103, 105, 105, 107, 108, 108, 106, 106, + 109, 112, 112, 112, 112, 113, 113, 83, 83, 83, + 83, 83, 83, 83, 189, 189, 115, 115, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 132, 132, + 132, 132, 132, 132, 117, 117, 117, 117, 117, 117, + 117, 77, 77, 133, 133, 133, 95, 94, 94, 80, + 80, 79, 79, 134, 134, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 127, 127, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 125, 125, 125, 125, 125, 125, 125, + 127, 127, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 338, 338, 129, 128, 128, 128, 128, 128, 128, - 74, 74, 74, 74, 74, 222, 222, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 145, 145, 75, 75, 143, 143, 144, 146, 146, 142, - 142, 142, 119, 119, 119, 119, 119, 119, 119, 119, - 121, 121, 121, 147, 147, 135, 135, 85, 148, 148, - 149, 150, 150, 151, 151, 154, 166, 166, 166, 167, - 167, 167, 167, 123, 123, 168, 168, 168, 118, 118, - 118, 118, 118, 118, 118, 170, 170, 169, 169, 169, - 169, 175, 175, 137, 137, 140, 140, 139, 141, 176, - 176, 180, 180, 177, 177, 181, 181, 181, 181, 184, - 184, 185, 185, 185, 182, 182, 182, 179, 179, 179, - 218, 218, 218, 187, 187, 197, 197, 194, 194, 195, - 195, 188, 188, 235, 235, 203, 203, 202, 202, 202, - 198, 198, 198, 199, 199, 215, 215, 211, 211, 217, - 217, 212, 212, 219, 219, 220, 220, 287, 287, 245, - 245, 297, 297, 246, 246, 298, 298, 300, 300, 295, - 295, 296, 296, 299, 299, 30, 301, 301, 302, 302, - 303, 303, 303, 303, 31, 32, 32, 32, 208, 208, + 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 336, 336, + 129, 128, 128, 128, 128, 128, 128, 74, 74, 74, + 74, 74, 222, 222, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 224, 224, 224, 145, 145, 75, + 75, 143, 143, 144, 146, 146, 142, 142, 142, 119, + 119, 119, 119, 119, 119, 119, 119, 121, 121, 121, + 147, 147, 135, 135, 85, 148, 148, 149, 150, 150, + 151, 151, 154, 166, 166, 166, 167, 167, 167, 167, + 123, 123, 168, 168, 168, 118, 118, 118, 118, 118, + 118, 118, 170, 170, 169, 169, 169, 169, 175, 175, + 137, 137, 140, 140, 139, 141, 176, 176, 180, 180, + 177, 177, 181, 181, 181, 181, 184, 184, 185, 185, + 185, 182, 182, 182, 179, 179, 179, 218, 218, 218, + 187, 187, 197, 197, 194, 194, 195, 195, 188, 188, + 235, 235, 203, 203, 202, 202, 202, 198, 198, 198, + 199, 199, 215, 215, 211, 211, 217, 217, 212, 212, + 219, 219, 220, 220, 285, 285, 245, 245, 295, 295, + 246, 246, 296, 296, 298, 298, 293, 293, 294, 294, + 297, 297, 30, 299, 299, 300, 300, 301, 301, 301, + 301, 31, 32, 32, 32, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, @@ -5100,7 +5110,6 @@ var yyR1 = [...]int{ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, @@ -5124,10 +5133,11 @@ var yyR1 = [...]int{ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 335, 336, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 333, 334, } var yyR2 = [...]int{ @@ -5178,76 +5188,76 @@ var yyR2 = [...]int{ 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 3, 0, 5, 0, 3, 5, 0, 1, 0, 1, 2, 3, 1, 0, 3, 3, - 0, 2, 2, 2, 1, 2, 1, 2, 3, 1, - 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, - 3, 2, 1, 1, 0, 3, 1, 1, 0, 1, - 5, 4, 0, 1, 1, 2, 2, 3, 2, 0, - 1, 2, 4, 3, 5, 3, 2, 2, 1, 1, - 1, 1, 1, 0, 1, 0, 1, 1, 3, 3, - 3, 3, 3, 1, 10, 11, 11, 12, 12, 3, - 3, 2, 1, 5, 1, 1, 0, 2, 2, 3, - 3, 1, 1, 2, 2, 2, 0, 1, 2, 0, - 1, 3, 1, 2, 3, 1, 1, 1, 0, 2, - 0, 2, 1, 5, 1, 3, 5, 4, 3, 5, - 3, 8, 10, 3, 3, 3, 3, 3, 5, 4, - 5, 1, 2, 2, 4, 3, 6, 5, 3, 8, - 0, 1, 2, 0, 1, 7, 1, 3, 8, 8, - 3, 3, 3, 5, 3, 5, 5, 5, 4, 4, - 4, 4, 4, 4, 4, 0, 1, 1, 3, 2, - 3, 3, 4, 3, 5, 5, 4, 4, 4, 2, - 2, 2, 6, 2, 4, 4, 4, 5, 7, 6, - 3, 5, 4, 2, 4, 3, 2, 4, 5, 6, - 2, 6, 6, 3, 3, 3, 0, 1, 1, 1, - 0, 2, 2, 0, 2, 2, 0, 1, 1, 2, - 1, 1, 1, 2, 4, 4, 1, 1, 2, 3, - 4, 4, 5, 3, 1, 1, 3, 3, 1, 1, - 1, 1, 0, 3, 1, 1, 2, 0, 2, 0, - 2, 1, 2, 2, 0, 1, 0, 1, 1, 0, - 1, 1, 0, 1, 3, 5, 1, 1, 3, 5, - 1, 2, 3, 5, 2, 2, 6, 0, 1, 0, - 3, 0, 1, 0, 2, 2, 4, 1, 2, 2, - 2, 2, 2, 0, 2, 1, 3, 3, 1, 3, - 0, 1, 2, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 4, 1, 3, 2, 2, 4, 2, 6, - 1, 4, 6, 3, 2, 0, 3, 0, 3, 1, - 3, 1, 3, 4, 4, 4, 3, 2, 4, 0, - 1, 0, 2, 0, 1, 1, 1, 1, 1, 2, - 2, 1, 2, 3, 2, 3, 2, 2, 3, 2, - 1, 1, 3, 3, 0, 5, 5, 5, 0, 2, - 1, 3, 3, 2, 3, 1, 2, 0, 3, 1, - 1, 3, 3, 4, 4, 5, 3, 4, 5, 6, - 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 0, 2, 1, 1, 1, 3, - 1, 3, 0, 1, 1, 3, 1, 3, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, - 2, 2, 2, 2, 2, 2, 3, 1, 1, 1, - 1, 1, 1, 5, 6, 6, 6, 5, 5, 5, - 6, 5, 5, 6, 5, 5, 5, 5, 6, 5, - 5, 5, 4, 4, 5, 5, 5, 5, 5, 4, - 4, 4, 4, 4, 4, 4, 3, 6, 6, 6, - 8, 8, 8, 8, 4, 6, 7, 7, 7, 9, - 4, 7, 5, 4, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 8, - 8, 0, 2, 3, 4, 4, 4, 4, 4, 4, - 0, 3, 4, 7, 3, 1, 1, 2, 3, 3, - 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, - 0, 1, 0, 2, 1, 2, 4, 0, 2, 1, - 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 0, 3, 1, 3, 1, 0, 2, - 1, 0, 3, 1, 3, 2, 0, 1, 1, 0, - 2, 4, 4, 1, 1, 0, 2, 4, 2, 4, - 1, 3, 5, 4, 6, 0, 3, 1, 3, 3, - 5, 0, 5, 1, 3, 1, 2, 3, 1, 1, - 3, 3, 3, 1, 3, 1, 2, 2, 3, 1, - 1, 1, 1, 1, 3, 3, 3, 1, 2, 1, - 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, - 3, 0, 1, 0, 3, 1, 1, 0, 1, 1, - 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, - 3, 1, 1, 1, 1, 1, 1, 0, 2, 0, - 1, 0, 4, 0, 1, 0, 3, 0, 3, 0, - 4, 0, 3, 0, 3, 3, 1, 3, 2, 4, - 1, 2, 1, 2, 2, 2, 3, 3, 1, 1, + 0, 2, 2, 2, 1, 2, 1, 2, 3, 2, + 2, 2, 2, 1, 1, 1, 1, 3, 2, 1, + 1, 0, 3, 1, 1, 0, 1, 5, 4, 0, + 1, 1, 2, 2, 3, 2, 0, 1, 2, 4, + 3, 5, 3, 2, 2, 1, 1, 1, 1, 1, + 0, 1, 0, 1, 1, 3, 3, 3, 3, 3, + 1, 10, 11, 11, 12, 12, 3, 3, 2, 1, + 5, 1, 1, 0, 2, 2, 3, 3, 1, 1, + 2, 2, 2, 0, 1, 2, 0, 1, 3, 1, + 2, 3, 1, 1, 1, 0, 2, 0, 2, 1, + 5, 1, 3, 5, 4, 3, 5, 3, 8, 10, + 3, 3, 3, 3, 3, 5, 4, 5, 1, 2, + 2, 4, 3, 6, 5, 3, 8, 0, 1, 2, + 0, 1, 7, 1, 3, 8, 8, 3, 3, 3, + 5, 3, 5, 5, 5, 4, 4, 4, 4, 4, + 4, 4, 0, 1, 1, 3, 2, 3, 3, 4, + 3, 5, 5, 4, 4, 4, 2, 2, 2, 6, + 2, 4, 4, 4, 5, 7, 6, 3, 5, 4, + 2, 4, 3, 2, 4, 5, 6, 2, 6, 6, + 3, 3, 3, 0, 1, 1, 1, 0, 2, 2, + 0, 2, 2, 0, 1, 1, 2, 1, 1, 1, + 2, 4, 4, 1, 1, 2, 3, 4, 4, 5, + 3, 1, 1, 3, 3, 1, 1, 1, 1, 0, + 3, 1, 1, 2, 0, 2, 0, 2, 1, 2, + 2, 0, 1, 0, 1, 1, 0, 1, 1, 0, + 1, 3, 5, 1, 1, 3, 5, 1, 2, 3, + 5, 2, 2, 6, 0, 1, 0, 3, 0, 1, + 0, 2, 2, 4, 1, 2, 2, 2, 2, 2, + 0, 2, 1, 3, 3, 1, 3, 0, 1, 2, + 1, 1, 1, 1, 1, 3, 1, 1, 1, 4, + 1, 3, 2, 2, 4, 2, 6, 1, 4, 6, + 3, 2, 0, 3, 0, 3, 1, 3, 1, 3, + 4, 4, 4, 3, 2, 4, 0, 1, 0, 2, + 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, + 3, 2, 3, 2, 2, 3, 2, 1, 1, 3, + 3, 0, 5, 5, 5, 0, 2, 1, 3, 3, + 2, 3, 1, 2, 0, 3, 1, 1, 3, 3, + 4, 4, 5, 3, 4, 5, 6, 2, 1, 2, + 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 0, 2, 1, 1, 1, 3, 1, 3, 0, + 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, + 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, + 2, 2, 2, 3, 1, 1, 1, 1, 1, 1, + 5, 6, 6, 6, 5, 5, 5, 6, 5, 5, + 6, 5, 5, 5, 5, 6, 5, 5, 5, 4, + 4, 5, 5, 5, 5, 5, 4, 4, 4, 4, + 4, 4, 4, 3, 6, 6, 6, 8, 8, 8, + 8, 4, 6, 7, 7, 7, 9, 4, 7, 5, + 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 8, 8, 0, 2, + 3, 4, 4, 4, 4, 4, 4, 0, 3, 4, + 7, 3, 1, 1, 2, 3, 3, 1, 2, 2, + 1, 2, 1, 2, 2, 1, 2, 0, 1, 0, + 2, 1, 2, 4, 0, 2, 1, 3, 5, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 0, 3, 1, 3, 1, 0, 2, 1, 0, 3, + 1, 3, 2, 0, 1, 1, 0, 2, 4, 4, + 1, 1, 0, 2, 4, 2, 4, 1, 3, 5, + 4, 6, 0, 3, 1, 3, 3, 5, 0, 5, + 1, 3, 1, 2, 3, 1, 1, 3, 3, 3, + 1, 3, 1, 2, 2, 3, 1, 1, 1, 1, + 1, 3, 3, 3, 1, 2, 1, 1, 1, 1, + 1, 1, 0, 1, 0, 2, 0, 3, 0, 1, + 0, 3, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 0, 2, 1, 1, 1, 3, 1, 1, + 1, 1, 1, 1, 0, 2, 0, 1, 0, 4, + 0, 1, 0, 3, 0, 3, 0, 4, 0, 3, + 0, 3, 3, 1, 3, 2, 4, 1, 2, 1, + 2, 2, 2, 3, 3, 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, @@ -5291,19 +5301,19 @@ 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, + 1, 1, } var yyChk = [...]int{ - -1000, -334, -1, -3, -8, -9, -10, -11, -12, -14, + -1000, -332, -1, -3, -8, -9, -10, -11, -12, -14, -50, -15, -16, -17, -56, -57, -58, -62, -63, -64, -60, -59, -23, -26, -18, -66, -27, -28, -29, -30, -31, -32, -33, -34, -35, -4, 6, 7, -70, 9, 10, 30, -52, 138, -51, 141, 140, 176, 142, 169, - 64, 293, -65, 296, 297, -339, -206, 221, 222, 20, + 64, 293, -65, 296, 297, -337, -206, 221, 222, 20, 37, 298, 300, 31, 32, 190, 238, 240, 265, -5, -88, -6, 8, 391, 139, 294, 171, 170, 26, 440, - -335, 68, 501, -150, 15, -67, -340, -67, -67, -67, + -333, 68, 501, -150, 15, -67, -338, -67, -67, -67, -67, -67, -261, -204, 106, 68, 23, -199, 150, 87, 382, 146, -207, 234, 236, -197, -198, 198, 208, 44, 157, 156, 147, 234, 147, 148, 150, 382, 146, 183, @@ -5336,10 +5346,10 @@ var yyChk = [...]int{ 147, -192, 358, 239, 260, 412, 188, 189, 148, 149, 33, 371, 370, 362, -219, 151, 299, -76, 142, 177, -106, -47, 72, 223, -47, 30, 72, 72, 36, 72, - 298, 361, 361, 75, 441, 191, 21, -326, -307, 269, - -325, -305, 139, 138, 10, 140, 274, 275, 276, 148, + 298, 361, 361, 75, 441, 191, 21, -324, -305, 269, + -323, -303, 139, 138, 10, 140, 274, 275, 276, 148, 8, 31, 482, 165, 277, 278, 6, 169, 279, 280, - 183, 9, 281, -310, 74, 72, -209, 21, -326, -307, + 183, 9, 281, -308, 74, 72, -209, 21, -324, -305, 269, -201, -200, 291, 350, 6, -69, 5, -188, 152, 295, -87, 450, -92, -221, -219, -210, 74, 408, 409, 410, 411, 412, 425, 426, 427, 413, 414, 428, 429, @@ -5352,14 +5362,14 @@ var yyChk = [...]int{ 82, 75, 76, 77, 78, 83, 408, 409, 410, 411, 412, 425, 426, 427, 413, 414, 428, 429, 430, 415, 416, 431, 432, 434, 435, 433, 419, 418, 417, 420, - 421, 423, 422, 424, 84, 85, -211, -139, -335, 58, + 421, 423, 422, 424, 84, 85, -211, -139, -333, 58, 59, 177, 146, 392, 393, 394, 395, 396, 436, 167, 400, 92, 47, 381, 390, 389, 388, 386, 387, 383, 385, 384, 402, 403, 153, 382, 126, 391, -188, -188, 11, -99, -100, -106, -109, -219, -177, 295, -184, -181, 370, 371, -182, -185, -179, -142, 350, 479, 480, 369, 325, 368, -211, -219, -2, -5, 6, -106, -262, -250, - -253, -212, 162, -277, -211, -208, 159, 72, -209, 252, + -253, -212, 162, -275, -211, -208, 159, 72, -209, 252, 143, 168, 139, 88, 444, 23, 25, 242, 353, 408, 91, 131, 409, 410, 411, 16, 20, 92, 130, 81, 392, 191, 412, 138, 62, 407, 383, 385, 381, 382, @@ -5377,485 +5387,485 @@ var yyChk = [...]int{ 402, 403, 151, 183, 84, 5, 44, 32, 9, 281, 64, 67, 388, 389, 390, 47, 51, 423, 422, 424, 93, 12, 405, 440, 148, -106, 391, -195, 153, -195, - 183, 182, -195, -195, 147, 98, -53, -106, -309, -304, - -310, -194, 153, -211, -194, -194, -194, -194, -194, -194, + 183, 182, -195, -195, 147, 98, -53, -106, -307, -302, + -308, -194, 153, -211, -194, -194, -194, -194, -194, -194, -194, -106, 135, -106, 72, 30, -193, 106, 12, 382, 146, 147, 183, 150, -257, 11, 108, 186, 186, 186, 187, 186, -191, 361, 363, 184, 364, 365, 12, -84, - 106, 19, -335, -167, -167, 72, 298, 151, -61, -3, + 106, 19, -333, -167, -167, 72, 298, 151, -61, -3, -11, -9, -10, -3, 98, 30, 30, 74, 51, 30, -42, -41, -43, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 30, -288, 68, -245, 350, - 72, -301, -302, -106, 75, 75, 66, 66, 69, 151, - 69, 66, -327, 270, 68, -327, 236, 270, 271, 208, - 234, 150, -327, -327, 236, -327, -327, -327, -327, -327, - 361, -327, -327, -327, 272, 273, -327, 359, 150, -327, - -327, -327, -327, -327, 71, 66, 69, 260, 66, 11, - 66, -274, -273, -272, 131, 283, 284, 285, 286, 282, - 260, 287, 288, 289, 186, 290, -67, -7, -5, -335, - 21, 22, 147, 374, 69, -87, -170, -335, -336, 70, - -168, 19, 31, -123, 75, 78, -151, -154, -83, -219, - 50, -71, 21, 22, 80, 11, -214, 88, 87, 105, - -213, 23, 72, -209, -210, 74, 135, -83, -117, 108, - 89, 106, 107, 91, 117, 116, 127, 120, 121, 122, - 123, 124, 125, 126, 118, 119, 130, 98, 99, 100, - 101, 102, 103, 104, -189, -335, -95, -335, 136, 137, - -120, -120, -120, -120, -120, -120, -120, -120, -335, -335, - -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, -335, -335, -335, -335, -335, -3, -134, -83, - -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, -335, -145, -83, -335, -338, -129, -335, -338, - -129, -338, -129, -338, -335, -338, -129, -338, -129, -338, - -338, -129, -338, -335, -335, -335, -335, -335, -335, -108, - 27, -106, -86, -89, -90, -91, -110, -94, -335, -106, - -95, -106, -99, -337, 69, 11, 67, -337, 69, 135, - 69, -178, -183, 372, 374, 295, -182, -182, -218, -211, - 74, 29, 98, 30, 135, -150, -67, 70, 69, -253, - 162, 159, -225, -229, -231, -230, -232, -227, -228, 322, - 325, 329, 327, 323, 328, 131, 326, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 30, 172, - 318, 319, 320, 321, 342, 343, 344, 345, 346, 347, - 348, 349, 301, 324, 438, 302, 303, 304, 305, 306, - 307, 309, 310, 311, 312, 313, 314, 315, 316, 72, - -210, -277, 68, -211, 23, 150, 72, 89, 72, 72, - 72, -313, -312, -304, -307, -195, 72, 69, 151, 69, - 151, 71, -99, 24, 66, -101, -106, 72, 72, 72, - 72, -306, -304, -307, -220, -219, -208, -193, 74, -83, - -195, -195, -106, -106, -106, -106, -193, -193, -193, -193, - -190, 11, 108, 11, -190, -190, -83, -120, -304, 384, - 122, 72, 72, 298, 72, -42, -42, 74, -42, 69, - 98, -42, 70, -134, -287, 500, 69, -303, 23, 374, - 375, 351, -329, 147, 185, 182, -329, -325, 278, -306, - -305, -304, -327, -328, -211, -327, -327, -327, 361, -327, - -327, -327, -327, -327, -327, -327, -327, -310, -329, 238, - 69, -329, -306, -304, -272, 282, 282, 282, 282, 282, - 282, -73, -3, -106, 375, 376, -92, 23, -169, -212, - 9, 108, 69, 18, 69, -166, 25, 26, 135, -121, - 51, 75, 78, -196, 49, -106, -83, -83, -132, 83, - 89, 84, 85, -213, 122, -220, -212, -208, -120, -133, - -139, -95, 79, 108, 106, 107, 91, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -222, 72, 74, 72, -119, -119, -211, -71, - -79, -82, 122, -83, -219, -79, -79, -71, -336, -336, - -82, -79, -79, -79, -82, -79, -71, -71, -79, -336, - -336, -336, -336, -79, -79, -79, -79, -71, -79, -79, - -79, -71, -336, 69, -336, -3, -79, -79, -79, -336, - -83, -83, -142, 74, -79, -142, 74, -79, -120, 397, - 398, 399, -79, -79, -71, -143, -144, 93, -142, -336, - -120, -211, -211, -79, -80, -79, -79, -79, -173, 110, - -106, 30, 69, -102, -104, -103, -105, 56, 60, 62, - 57, 58, 59, 63, -204, -86, -93, 47, -335, -111, - 110, -112, 23, -221, 64, 152, 65, -173, 67, -86, - -106, -86, -109, -219, 122, -181, -184, 69, 373, 375, - 376, -178, -239, 130, 66, 86, -83, -212, -220, -167, - -73, -263, -264, -265, -212, 74, 75, -250, -251, -252, - -253, -266, 162, -276, 154, 156, 44, -254, 163, 148, - 45, -226, -240, 356, -233, 68, -233, -233, 330, 322, - 325, 323, -233, -233, -233, -233, -233, -238, 325, -238, - -238, -238, -238, 323, 68, 68, -233, -233, -233, -242, - 68, -242, 317, -243, 68, -243, -243, -243, -243, -277, - -277, -83, -215, 67, -164, -106, 24, -48, 195, 168, - 68, -308, 69, 29, -314, 235, -106, -106, -106, -304, - -304, -310, -284, 166, 161, -106, 69, 69, 72, 72, - -258, 11, 108, -193, -219, -219, -106, -122, 23, -193, - -77, 173, 67, -338, -336, 72, -41, -119, 70, -107, - 27, 74, -302, -221, 350, 375, -330, 122, -211, -330, - -333, 440, 151, 70, 69, -327, -330, 256, 238, -330, - 11, -275, 19, -71, -336, -55, -54, 143, 140, 141, - 144, 145, -280, 353, 139, 179, -94, -335, -336, 69, - 135, 52, -123, -123, -154, -187, 19, 11, 47, 47, - -72, 57, 83, 84, 85, 135, -335, -133, -120, -120, - -120, -77, 88, -336, -79, 69, -336, 135, -336, -336, - -79, -155, 404, -155, -336, -336, -336, -336, -336, -336, - -79, -79, -336, -155, -155, -155, -155, -336, -336, -336, - -336, -79, -336, -336, -336, -80, -83, -336, -336, -336, - -336, 69, 67, 23, 11, 11, -336, 11, 11, -336, - -336, 11, -120, -120, -120, -336, -336, -79, -146, -144, - 95, -83, -336, -336, 69, 69, -336, -336, -336, -336, - -118, 30, 47, -335, -3, -335, -176, -180, -142, -208, - -89, -90, -90, -89, -90, 56, 56, 56, 61, 56, - 61, 56, -103, -221, -336, -336, -138, 194, -335, 34, - -221, -112, 148, 148, 148, -113, 12, -86, -113, -113, - 135, -183, -186, 377, 374, 380, 72, 74, 135, -168, - 69, -265, 98, -253, 68, 72, -259, -210, 45, -254, - 148, 45, -254, -259, 72, -259, 45, 83, 89, -236, - -237, -244, -247, -234, 29, 66, 353, 154, 45, 44, - 81, -241, 357, 75, -238, -238, -233, -233, -233, 330, - -233, -238, -239, 30, -239, -239, -239, -239, -238, -248, - 74, -248, 75, -242, 75, 70, 66, -211, -3, 23, - -49, 8, 9, 10, -289, -290, -291, 72, 108, 200, - 201, -317, 268, -312, 236, 245, 88, 16, 440, 151, - 151, -106, -304, -113, 72, 72, -190, -193, 34, -120, - -307, 188, 189, -173, 147, -303, 151, 135, 135, 151, - 259, -306, -211, 11, 11, 256, 11, -306, 292, -196, - 69, -205, -254, -286, -252, -253, -285, 155, 162, 163, - -205, 162, 159, -254, 163, 154, 155, -202, -254, 151, - 23, -205, -205, -260, 98, -205, 110, -212, -212, 53, - -106, -78, -165, 122, -212, -80, -77, 88, -120, -336, - -82, -156, -155, 122, -220, -156, -156, -336, -211, -160, - -335, -155, -156, -156, -155, -155, -155, -336, -336, -155, - -156, -156, -156, -156, -336, -156, -156, -156, -336, -224, - 131, 322, 172, 320, 313, 340, 327, 355, 318, 356, - -222, -224, -120, -120, -120, -120, -120, 11, 11, 11, - 437, -150, 97, -83, 94, -120, -120, -175, 66, -176, - -137, -140, -139, -335, -3, -336, -169, 6, 440, -174, - -211, -113, 69, 98, 98, -97, -96, 66, 67, -98, - 66, -96, 56, 56, -172, 68, 69, -139, -335, -174, - -120, -112, -335, -335, -335, -150, -83, -113, 374, 378, - 379, -264, -265, -268, -267, -211, -210, 154, -276, 44, - -276, -259, -259, 68, 83, -120, 9, 45, 45, 74, - 70, -239, -239, -238, -233, -239, 72, 131, -239, 70, - 69, 70, 69, 70, 69, -116, 456, 89, -106, -164, - -164, 66, 70, 69, -225, 72, 72, 72, -320, 440, - 241, -318, -316, 247, 248, 249, 250, 251, -307, 246, - -314, 243, 74, 72, -106, -304, -193, -120, -238, -106, - -306, 122, 122, -211, -306, 256, -332, 440, -306, -306, - 11, -306, 74, -72, -54, 68, -249, 72, -210, -259, - -198, 154, 72, 72, 72, -210, 72, -210, -211, 45, - 45, 72, -106, -211, -249, 72, -83, -211, -211, 135, - -113, 11, 69, -81, -336, -120, -156, 135, -156, -216, - 72, -156, -156, -156, -336, -233, -233, -233, -243, -233, - 306, -233, 306, -336, -336, 19, 19, 19, 19, -336, - -120, -120, -120, -335, -75, 401, -83, 69, 69, 28, - -175, 69, -336, -336, 47, -336, -336, 69, -150, -180, - -83, -83, -83, 68, -83, -171, -211, 194, -336, -112, - -204, -171, -171, -171, -167, 70, 69, -233, -233, 45, - -256, -254, -171, -126, -239, -238, 74, -238, 75, 75, - 456, 68, -3, -106, -292, -293, -294, 81, 439, 89, - 202, 203, 164, 204, 205, 206, -291, -225, -225, -225, - -323, -324, -322, 244, 266, 267, 252, -321, -319, 261, - 262, 263, 264, 88, 74, 74, 74, -315, 235, 88, - 244, 16, 23, -295, -191, -332, -332, 238, -306, -78, - -249, -152, 167, 168, -225, -225, -215, -256, 45, 72, - -203, 151, 23, 151, -152, -249, 30, 140, 27, -212, - -147, 13, -86, -165, -165, 122, -136, 110, -238, 72, - -120, -120, -120, -120, -336, -336, -336, -120, -336, 74, - -120, -120, 45, -140, -137, 47, -3, -335, -211, -167, - -171, 70, 69, -139, -111, -221, -336, -336, -336, -270, - -269, 67, 158, 81, -267, -166, -166, -259, 70, -239, - -239, 70, 70, -268, -164, 19, -164, -294, 74, 206, - 202, 206, 206, 206, 206, 207, -311, 81, 242, -322, - 253, 461, 237, 268, 75, 75, 109, 31, 32, -319, - 75, 75, 75, 75, -316, 16, 440, -314, 243, 74, - 74, -296, 38, -298, 39, -331, 23, -331, 256, 11, - 70, 72, -226, -226, 68, -259, 68, 72, -211, -152, - 29, 29, -335, -148, 14, 16, -113, -81, -150, 16, - -336, -336, -336, -336, -74, 108, 440, -336, -336, 9, - -137, -3, 70, -211, -112, -269, 72, -260, 74, 165, - 70, 193, -20, -3, -9, -10, -11, -12, -14, -50, - -15, -16, -21, -22, -17, -56, -57, -65, -63, -64, - -60, -59, -25, -23, -26, -18, -27, -28, -29, -33, - -34, -24, -35, 92, 153, 224, 293, 36, 36, 198, - 199, 74, 74, 29, 254, 134, 29, 75, 134, 407, - 243, 74, 72, 244, -235, 152, -299, 43, -297, -246, - 42, 16, -304, -86, -268, -215, -268, -120, -278, -279, - 110, -158, 405, -149, -83, -135, -85, -83, -147, -165, - -161, 112, 111, -134, -336, 438, 63, 441, -176, -336, - 75, -106, -271, -270, 194, -164, -83, -83, 72, -46, - -217, 227, 228, 229, -212, -36, -20, 75, 29, 75, - 29, 257, 244, 23, -172, 75, -298, 16, -300, 40, - 41, 74, 440, -113, 70, 68, 70, -336, 69, -211, - -157, -159, -211, 69, -148, -336, -162, 91, -163, 109, - 407, -124, 75, 134, -162, 53, 439, 442, 68, -153, - 196, 197, -37, -38, 93, 94, 225, 226, 230, -225, - 69, 501, 255, 255, 74, 38, 74, 16, 16, 236, - -147, -271, -268, -271, -279, 47, 69, 23, -85, -158, - -163, 114, 115, 194, 114, 115, -119, 53, -171, -164, - 72, 72, 97, 95, -38, -83, -36, 19, 19, 19, - 29, -212, 97, -20, 74, 74, 29, 241, 21, -307, - -148, 70, 180, -159, -160, 88, -211, 440, 70, -13, - -19, -12, -9, -10, -11, 293, 92, -36, 94, 501, - -47, 75, -3, -45, -44, 75, -47, 232, 89, 233, - 72, -120, 258, -158, -271, 181, -163, 441, -282, -283, - 66, -164, -36, 501, -36, 97, 95, -39, -40, 96, - -20, 69, 231, -307, -335, 442, -283, 66, -282, 66, - 10, 9, 501, 97, 501, 153, -36, 97, 95, -40, - -83, -44, -120, 178, -281, 166, 161, 164, 30, -281, - 97, 92, 501, 153, -36, 94, -336, -336, 160, 29, - 83, 97, 501, -36, 153, 97, 501, 153, + 216, 217, 218, 219, 220, 30, -286, 68, -245, 350, + 72, -299, -300, -106, 75, 75, 66, 66, 69, 151, + 69, 66, -325, 270, 68, -325, 236, 270, 271, 208, + 234, 150, -325, -325, 236, -325, -325, -325, -325, -325, + 361, -325, -325, -325, 272, 273, -325, 359, 150, -325, + -325, -325, -325, -325, 71, 66, 69, 260, 66, 11, + 66, -272, 131, 283, 284, 285, 286, 282, 260, 287, + 288, 289, 186, 290, -67, -7, -5, -333, 21, 22, + 147, 374, 69, -87, -170, -333, -334, 70, -168, 19, + 31, -123, 75, 78, -151, -154, -83, -219, 50, -71, + 21, 22, 80, 11, -214, 88, 87, 105, -213, 23, + 72, -209, -210, 74, 135, -83, -117, 108, 89, 106, + 107, 91, 117, 116, 127, 120, 121, 122, 123, 124, + 125, 126, 118, 119, 130, 98, 99, 100, 101, 102, + 103, 104, -189, -333, -95, -333, 136, 137, -120, -120, + -120, -120, -120, -120, -120, -120, -333, -333, -333, -333, + -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, + -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, + -333, -333, -333, -333, -333, -3, -134, -83, -333, -333, + -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, + -333, -145, -83, -333, -336, -129, -333, -336, -129, -336, + -129, -336, -333, -336, -129, -336, -129, -336, -336, -129, + -336, -333, -333, -333, -333, -333, -333, -108, 27, -106, + -86, -89, -90, -91, -110, -94, -333, -106, -95, -106, + -99, -335, 69, 11, 67, -335, 69, 135, 69, -178, + -183, 372, 374, 295, -182, -182, -218, -211, 74, 29, + 98, 30, 135, -150, -67, 70, 69, -253, 162, 159, + -225, -229, -231, -230, -232, -227, -228, 322, 325, 329, + 327, 323, 328, 131, 326, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, 30, 172, 318, 319, + 320, 321, 342, 343, 344, 345, 346, 347, 348, 349, + 301, 324, 438, 302, 303, 304, 305, 306, 307, 309, + 310, 311, 312, 313, 314, 315, 316, 72, -210, -275, + 68, -211, 23, 150, 72, 89, 72, 72, 72, -311, + -310, -302, -305, -195, 72, 69, 151, 69, 151, 71, + -99, 24, 66, -101, -106, 72, 72, 72, 72, -304, + -302, -305, -220, -219, -208, -193, 74, -83, -195, -195, + -106, -106, -106, -106, -193, -193, -193, -193, -190, 11, + 108, 11, -190, -190, -83, -120, -302, 384, 122, 72, + 72, 298, 72, -42, -42, 74, -42, 69, 98, -42, + 70, -134, -285, 500, 69, -301, 23, 374, 375, 351, + -327, 147, 185, 182, -327, -323, 278, -304, -303, -302, + -325, -326, -211, -325, -325, -325, 361, -325, -325, -325, + -325, -325, -325, -325, -325, -308, -327, 238, 69, -327, + -304, -302, 282, 282, 282, 282, 282, 282, -73, -3, + -106, 375, 376, -92, 23, -169, -212, 9, 108, 69, + 18, 69, -166, 25, 26, 135, -121, 51, 75, 78, + -196, 49, -106, -83, -83, -132, 83, 89, 84, 85, + -213, 122, -220, -212, -208, -120, -133, -139, -95, 79, + 108, 106, 107, 91, -120, -120, -120, -120, -120, -120, + -120, -120, -120, -120, -120, -120, -120, -120, -120, -222, + 72, 74, 72, -119, -119, -211, -71, -79, -82, 122, + -83, -219, -79, -79, -71, -334, -334, -82, -79, -79, + -79, -82, -79, -71, -71, -79, -334, -334, -334, -334, + -79, -79, -79, -79, -71, -79, -79, -79, -71, -334, + 69, -334, -3, -79, -79, -79, -334, -83, -83, -142, + 74, -79, -142, 74, -79, -120, 397, 398, 399, -79, + -79, -71, -143, -144, 93, -142, -334, -120, -211, -211, + -79, -80, -79, -79, -79, -173, 110, -106, 30, 69, + -102, -104, -103, -105, 56, 60, 62, 57, 58, 59, + 63, -204, -86, -93, 47, -333, -111, 110, -112, 23, + -221, 64, 152, 65, -173, 67, -86, -106, -86, -109, + -219, 122, -181, -184, 69, 373, 375, 376, -178, -239, + 130, 66, 86, -83, -212, -220, -167, -73, -263, -264, + -265, -212, 74, 75, -250, -251, -252, -253, -266, 162, + -274, 154, 156, 44, -254, 163, 148, 45, -226, -240, + 356, -233, 68, -233, -233, 330, 322, 325, 323, -233, + -233, -233, -233, -233, -238, 325, -238, -238, -238, -238, + 323, 68, 68, -233, -233, -233, -242, 68, -242, 317, + -243, 68, -243, -243, -243, -243, -275, -275, -83, -215, + 67, -164, -106, 24, -48, 195, 168, 68, -306, 69, + 29, -312, 235, -106, -106, -106, -302, -302, -308, -282, + 166, 161, -106, 69, 69, 72, 72, -258, 11, 108, + -193, -219, -219, -106, -122, 23, -193, -77, 173, 67, + -336, -334, 72, -41, -119, 70, -107, 27, 74, -300, + -221, 350, 375, -328, 122, -211, -328, -331, 440, 151, + 70, 69, -325, -328, 256, 238, -328, 11, -273, 19, + -71, -334, -55, -54, 143, 140, 141, 144, 145, -278, + 353, 139, 179, -94, -333, -334, 69, 135, 52, -123, + -123, -154, -187, 19, 11, 47, 47, -72, 57, 83, + 84, 85, 135, -333, -133, -120, -120, -120, -77, 88, + -334, -79, 69, -334, 135, -334, -334, -79, -155, 404, + -155, -334, -334, -334, -334, -334, -334, -79, -79, -334, + -155, -155, -155, -155, -334, -334, -334, -334, -79, -334, + -334, -334, -80, -83, -334, -334, -334, -334, 69, 67, + 23, 11, 11, -334, 11, 11, -334, -334, 11, -120, + -120, -120, -334, -334, -79, -146, -144, 95, -83, -334, + -334, 69, 69, -334, -334, -334, -334, -118, 30, 47, + -333, -3, -333, -176, -180, -142, -208, -89, -90, -90, + -89, -90, 56, 56, 56, 61, 56, 61, 56, -103, + -221, -334, -334, -138, 194, -333, 34, -221, -112, 148, + 148, 148, -113, 12, -86, -113, -113, 135, -183, -186, + 377, 374, 380, 72, 74, 135, -168, 69, -265, 98, + -253, 68, 72, -259, -210, 45, -254, 148, 45, -254, + -259, 72, -259, 45, 83, 89, -236, -237, -244, -247, + -234, 29, 66, 353, 154, 45, 44, 81, -241, 357, + 75, -238, -238, -233, -233, -233, 330, -233, -238, -239, + 30, -239, -239, -239, -239, -238, -248, 74, -248, 75, + -242, 75, 70, 66, -211, -3, 23, -49, 8, 9, + 10, -287, -288, -289, 72, 108, 200, 201, -315, 268, + -310, 236, 245, 88, 16, 440, 151, 151, -106, -302, + -113, 72, 72, -190, -193, 34, -120, -305, 188, 189, + -173, 147, -301, 151, 135, 135, 151, 259, -304, -211, + 11, 11, 256, 11, -304, 292, -196, 69, -205, -254, + -284, -252, -253, -283, 155, 162, 163, -205, 162, 159, + -254, 163, 154, 155, -202, -254, 151, 23, -205, -205, + -260, 98, -205, 110, -212, -212, 53, -106, -78, -165, + 122, -212, -80, -77, 88, -120, -334, -82, -156, -155, + 122, -220, -156, -156, -334, -211, -160, -333, -155, -156, + -156, -155, -155, -155, -334, -334, -155, -156, -156, -156, + -156, -334, -156, -156, -156, -334, -224, 131, 322, 172, + 320, 313, 340, 327, 355, 318, 356, -222, -224, -120, + -120, -120, -120, -120, 11, 11, 11, 437, -150, 97, + -83, 94, -120, -120, -175, 66, -176, -137, -140, -139, + -333, -3, -334, -169, 6, 440, -174, -211, -113, 69, + 98, 98, -97, -96, 66, 67, -98, 66, -96, 56, + 56, -172, 68, 69, -139, -333, -174, -120, -112, -333, + -333, -333, -150, -83, -113, 374, 378, 379, -264, -265, + -268, -267, -211, -210, 154, -274, 44, -274, -259, -259, + 68, 83, -120, 9, 45, 45, 74, 70, -239, -239, + -238, -233, -239, 72, 131, -239, 70, 69, 70, 69, + 70, 69, -116, 456, 89, -106, -164, -164, 66, 70, + 69, -225, 72, 72, 72, -318, 440, 241, -316, -314, + 247, 248, 249, 250, 251, -305, 246, -312, 243, 74, + 72, -106, -302, -193, -120, -238, -106, -304, 122, 122, + -211, -304, 256, -330, 440, -304, -304, 11, -304, 74, + -72, -54, 68, -249, 72, -210, -259, -198, 154, 72, + 72, 72, -210, 72, -210, -211, 45, 45, 72, -106, + -211, -249, 72, -83, -211, -211, 135, -113, 11, 69, + -81, -334, -120, -156, 135, -156, -216, 72, -156, -156, + -156, -334, -233, -233, -233, -243, -233, 306, -233, 306, + -334, -334, 19, 19, 19, 19, -334, -120, -120, -120, + -333, -75, 401, -83, 69, 69, 28, -175, 69, -334, + -334, 47, -334, -334, 69, -150, -180, -83, -83, -83, + 68, -83, -171, -211, 194, -334, -112, -204, -171, -171, + -171, -167, 70, 69, -233, -233, 45, -256, -254, -171, + -126, -239, -238, 74, -238, 75, 75, 456, 68, -3, + -106, -290, -291, -292, 81, 439, 89, 202, 203, 164, + 204, 205, 206, -289, -225, -225, -225, -321, -322, -320, + 244, 266, 267, 252, -319, -317, 261, 262, 263, 264, + 88, 74, 74, 74, -313, 235, 88, 244, 16, 23, + -293, -191, -330, -330, 238, -304, -78, -249, -152, 167, + 168, -225, -225, -215, -256, 45, 72, -203, 151, 23, + 151, -152, -249, 30, 140, 27, -212, -147, 13, -86, + -165, -165, 122, -136, 110, -238, 72, -120, -120, -120, + -120, -334, -334, -334, -120, -334, 74, -120, -120, 45, + -140, -137, 47, -3, -333, -211, -167, -171, 70, 69, + -139, -111, -221, -334, -334, -334, -270, -269, 67, 158, + 81, -267, -166, -166, -259, 70, -239, -239, 70, 70, + -268, -164, 19, -164, -292, 74, 206, 202, 206, 206, + 206, 206, 207, -309, 81, 242, -320, 253, 461, 237, + 268, 75, 75, 109, 31, 32, -317, 75, 75, 75, + 75, -314, 16, 440, -312, 243, 74, 74, -294, 38, + -296, 39, -329, 23, -329, 256, 11, 70, 72, -226, + -226, 68, -259, 68, 72, -211, -152, 29, 29, -333, + -148, 14, 16, -113, -81, -150, 16, -334, -334, -334, + -334, -74, 108, 440, -334, -334, 9, -137, -3, 70, + -211, -112, -269, 72, -260, 74, 165, 70, 193, -20, + -3, -9, -10, -11, -12, -14, -50, -15, -16, -21, + -22, -17, -56, -57, -65, -63, -64, -60, -59, -25, + -23, -26, -18, -27, -28, -29, -33, -34, -24, -35, + 92, 153, 224, 293, 36, 36, 198, 199, 74, 74, + 29, 254, 134, 29, 75, 134, 407, 243, 74, 72, + 244, -235, 152, -297, 43, -295, -246, 42, 16, -302, + -86, -268, -215, -268, -120, -276, -277, 110, -158, 405, + -149, -83, -135, -85, -83, -147, -165, -161, 112, 111, + -134, -334, 438, 63, 441, -176, -334, 75, -106, -271, + -270, 194, -164, -83, -83, 72, -46, -217, 227, 228, + 229, -212, -36, -20, 75, 29, 75, 29, 257, 244, + 23, -172, 75, -296, 16, -298, 40, 41, 74, 440, + -113, 70, 68, 70, -334, 69, -211, -157, -159, -211, + 69, -148, -334, -162, 91, -163, 109, 407, -124, 75, + 134, -162, 53, 439, 442, 68, -153, 196, 197, -37, + -38, 93, 94, 225, 226, 230, -225, 69, 501, 255, + 255, 74, 38, 74, 16, 16, 236, -147, -271, -268, + -271, -277, 47, 69, 23, -85, -158, -163, 114, 115, + 194, 114, 115, -119, 53, -171, -164, 72, 72, 97, + 95, -38, -83, -36, 19, 19, 19, 29, -212, 97, + -20, 74, 74, 29, 241, 21, -305, -148, 70, 180, + -159, -160, 88, -211, 440, 70, -13, -19, -12, -9, + -10, -11, 293, 92, -36, 94, 501, -47, 75, -3, + -45, -44, 75, -47, 232, 89, 233, 72, -120, 258, + -158, -271, 181, -163, 441, -280, -281, 66, -164, -36, + 501, -36, 97, 95, -39, -40, 96, -20, 69, 231, + -305, -333, 442, -281, 66, -280, 66, 10, 9, 501, + 97, 501, 153, -36, 97, 95, -40, -83, -44, -120, + 178, -279, 166, 161, 164, 30, -279, 97, 92, 501, + 153, -36, 94, -334, -334, 160, 29, 83, 97, 501, + -36, 153, 97, 501, 153, } var yyDef = [...]int{ 35, -2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -2, 707, 707, 707, 707, - 707, 707, 803, -2, 572, 0, 0, 0, 0, -2, - 680, 681, 682, 686, 687, 702, 704, 0, 326, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 498, 40, - 0, 0, 56, 57, 1111, 0, 705, 694, 695, 0, - 0, 1603, 2, 1049, 0, 716, 709, 0, 1111, 1111, - 0, 0, 87, 0, 0, 0, 804, 0, 0, 0, - 1109, 1109, 0, 1109, 1109, 0, 1124, 0, 1106, 1120, - 1121, 1122, 0, 0, 1107, 0, 1107, 1107, 1107, 1107, - 1107, 1107, 1107, 0, 629, 821, 1133, 1134, 1333, 1334, - 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, - 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, - 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, - 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, - 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, - 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, - 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, - 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, - 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, - 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, - 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, - 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, - 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, - 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, - 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, - 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, - 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, - 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, - 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, - 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, - 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, - 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, - 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, - 1565, 1566, 1567, 1568, 1569, 1570, 1571, 0, 0, 0, - 673, 0, 639, 640, 641, 0, 643, 0, 0, 0, - 0, 0, 653, 656, 660, 0, 1049, 1049, 518, 519, - 520, 677, 678, 667, 679, 0, 0, 0, 0, 0, - 706, 305, 307, 0, 327, 0, 330, 333, 1139, 688, - 0, 0, 1164, 1165, 0, 0, 0, 0, 0, 1485, + 30, 31, 32, 33, 34, -2, 704, 704, 704, 704, + 704, 704, 800, -2, 569, 0, 0, 0, 0, -2, + 677, 678, 679, 683, 684, 699, 701, 0, 326, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 495, 40, + 0, 0, 56, 57, 1108, 0, 702, 691, 692, 0, + 0, 1600, 2, 1046, 0, 713, 706, 0, 1108, 1108, + 0, 0, 87, 0, 0, 0, 801, 0, 0, 0, + 1106, 1106, 0, 1106, 1106, 0, 1121, 0, 1103, 1117, + 1118, 1119, 0, 0, 1104, 0, 1104, 1104, 1104, 1104, + 1104, 1104, 1104, 0, 626, 818, 1130, 1131, 1330, 1331, + 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, + 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, + 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, + 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, + 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, + 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, + 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, + 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, + 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, + 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, + 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, + 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, + 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, + 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, + 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, + 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, + 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, + 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, + 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, + 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, + 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, + 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, + 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, + 1562, 1563, 1564, 1565, 1566, 1567, 1568, 0, 0, 0, + 670, 0, 636, 637, 638, 0, 640, 0, 0, 0, + 0, 0, 650, 653, 657, 0, 1046, 1046, 515, 516, + 517, 674, 675, 664, 676, 0, 0, 0, 0, 0, + 703, 305, 307, 0, 327, 0, 330, 333, 1136, 685, + 0, 0, 1161, 1162, 0, 0, 0, 0, 0, 1482, 181, 244, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 0, 183, 183, 183, 1497, 183, 0, 183, 183, + 183, 0, 183, 183, 183, 1494, 183, 0, 183, 183, 183, 183, 183, 243, 233, 234, 235, 0, 0, 0, - 1485, 0, 499, 496, 497, 707, 0, 711, 0, 1112, - 683, 45, 0, 47, 1065, 805, 806, 807, 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, 0, - 1055, 0, 0, 719, 717, 718, 708, 0, 730, 760, - 0, 830, 0, 835, 837, -2, -2, 0, 878, 879, - 880, 881, 882, 883, 0, 0, 0, 0, 0, 0, - 0, 0, 907, 908, 909, 910, 911, 912, 1022, 1023, - 1024, 1025, 1026, 1027, 1028, 1029, 1572, 1573, 1574, 1575, - 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, - 1586, 1587, 1588, 1589, 1590, 1591, 1593, 1594, 1595, 1596, - 1597, 1599, 1600, 1601, 839, 840, 1019, 1078, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1010, 0, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 67, 69, 821, 73, 1550, 0, 1083, - -2, -2, 1085, 0, 0, 0, -2, -2, -2, -2, - 1352, -2, 1019, 0, 88, 1041, 707, 89, 0, 370, - 371, 0, 1365, 542, 1131, 1132, 1354, 1127, 1128, 1168, - 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, - 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, - 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, - 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, - 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, - 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, - 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, - 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, - 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, - 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, - 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, - 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, - 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, - 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, - 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, - 1329, 1330, 1331, 1332, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1109, 0, 610, 0, 611, 0, + 1482, 0, 496, 493, 494, 704, 0, 708, 0, 1109, + 680, 45, 0, 47, 1062, 802, 803, 804, 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, 0, + 1052, 0, 0, 716, 714, 715, 705, 0, 727, 757, + 0, 827, 0, 832, 834, -2, -2, 0, 875, 876, + 877, 878, 879, 880, 0, 0, 0, 0, 0, 0, + 0, 0, 904, 905, 906, 907, 908, 909, 1019, 1020, + 1021, 1022, 1023, 1024, 1025, 1026, 1569, 1570, 1571, 1572, + 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, + 1583, 1584, 1585, 1586, 1587, 1588, 1590, 1591, 1592, 1593, + 1594, 1596, 1597, 1598, 836, 837, 1016, 1075, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1007, 0, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 67, 69, 818, 73, 1547, 0, 1080, + -2, -2, 1082, 0, 0, 0, -2, -2, -2, -2, + 1349, -2, 1016, 0, 88, 1038, 704, 89, 0, 370, + 371, 0, 1362, 539, 1128, 1129, 1351, 1124, 1125, 1165, + 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, + 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, + 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, + 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, + 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, + 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, + 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, + 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, + 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, + 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, + 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, + 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, + 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, + 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, + 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, + 1326, 1327, 1328, 1329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1106, 0, 607, 0, 608, 0, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 628, 0, 630, 631, 673, 633, 0, 0, 1109, - 1109, 0, 0, 0, 0, 544, 545, 673, 673, 673, - 673, 670, 0, 670, 650, 670, 668, 669, 0, 655, - 0, 0, 0, 663, 664, 689, 0, 0, 696, 698, - 699, 700, 701, 697, 0, 0, 0, 309, 0, 0, + 0, 625, 0, 627, 628, 670, 630, 0, 0, 1106, + 1106, 0, 0, 0, 0, 541, 542, 670, 670, 670, + 670, 667, 0, 667, 647, 667, 665, 666, 0, 652, + 0, 0, 0, 660, 661, 686, 0, 0, 693, 695, + 696, 697, 698, 694, 0, 0, 0, 309, 0, 0, 329, 311, 0, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 0, 332, 0, 1137, 1140, - 693, 1155, 1156, 0, 1166, 1167, 187, 187, 0, 0, + 321, 322, 323, 324, 325, 0, 332, 0, 1134, 1137, + 690, 1152, 1153, 0, 1163, 1164, 187, 187, 0, 0, 0, 0, 150, 183, 0, 152, 183, 183, 183, 0, 183, 183, 159, 160, 183, 162, 163, 164, 165, 166, 183, 168, 169, 170, 183, 183, 173, 183, 183, 176, 177, 178, 179, 180, 242, 187, 0, 0, 187, 0, - 0, 478, 479, 480, 0, 0, 0, 0, 486, 487, - 488, 489, 0, 0, 492, 493, 716, 42, 52, 0, - 712, 713, 0, 0, 0, 46, 0, 0, 51, 1604, - 37, 0, 0, 1050, 1053, 1054, 1042, 1043, 1046, 0, - 0, 714, 720, 721, 710, 0, 731, 0, 0, 0, - 761, 0, 763, 764, 765, 766, 0, 833, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 857, 858, 859, - 860, 861, 862, 863, 836, 0, 850, 0, 0, 0, - 899, 900, 901, 902, 903, 904, 905, 0, 719, 0, - 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, - 0, 719, 719, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 719, 0, 0, 0, 719, 0, 0, 876, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 719, 0, 1011, 0, 964, 973, 0, 965, - 974, 966, 975, 967, 0, 968, 976, 969, 977, 970, - 971, 978, 972, 0, 0, 0, 872, 0, 0, 71, - 0, 820, 0, 767, 769, 770, 771, -2, 0, 824, - 870, -2, 0, 0, 0, 63, 64, 0, 0, 0, - 0, 74, 76, 0, 0, 1550, 1086, 1087, 470, 1100, - 1101, 1102, 0, 1098, 0, 1049, 716, 559, 0, 372, - 0, 0, 381, 460, 390, 391, 392, 453, 394, 453, - 453, 0, 453, 453, 453, 453, 453, 467, 467, 467, - 467, 467, 436, 437, 438, 439, 440, 0, 0, 413, - 453, 453, 453, 417, 443, 444, 445, 446, 447, 448, - 449, 450, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 455, 455, 457, 457, 457, 457, 457, 0, - 0, 541, 0, 1125, 85, 0, 93, 0, 94, 0, - 0, 99, 260, 246, 98, 0, 232, 0, 0, 0, - 0, 237, 625, 1108, 0, 618, 65, 619, 620, 621, - 622, 623, 239, 624, 822, 1135, 1136, 632, 674, 675, - 0, 0, 636, 637, 638, 546, 644, 645, 646, 652, - 673, 0, 0, 0, 785, 673, 654, 864, 657, 981, - 0, 691, 690, 0, 703, 306, 308, 310, 328, 0, - 0, 331, 334, 0, 0, 0, 0, 1158, 0, 1160, - 1162, 0, 0, 188, 189, 190, 0, 182, 0, 205, - 245, 0, 151, 0, 185, 153, 154, 155, 183, 157, - 158, 161, 167, 171, 172, 174, 175, 241, 0, 0, - 0, 0, 148, 0, 481, 482, 483, 484, 485, 494, - 491, 719, 0, 0, 684, 685, 48, 0, 0, 1067, - 1056, 0, 0, 0, 0, 1045, 1047, 1048, 0, 0, - 1030, 0, 0, 722, 715, 39, 831, 832, 834, 851, - 0, 853, 855, 762, 732, 0, 1020, -2, 841, 842, - 866, 867, 868, 0, 0, 0, 0, 864, 846, 0, - 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, - 894, 895, 898, 995, 996, 0, 896, 897, 906, 0, - 0, 874, 726, 727, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 872, 869, 0, 1077, 0, 0, 0, 0, 946, - 0, 0, 881, 1022, 0, 881, 1022, 0, 0, 0, - 0, 0, 0, 0, 0, 1017, 1014, 0, 0, 982, - 0, 0, 0, 0, 0, 873, 0, 0, 0, 0, - 819, 0, 0, 0, 0, 0, 0, 808, 0, 0, - 811, 0, 0, 0, 0, 0, 0, 0, 0, 778, - 1472, 780, 0, 824, 0, 0, 0, 828, 0, 828, - 68, 828, 70, 0, 823, 1084, 0, 0, 0, 79, - 80, 75, 1088, 0, 1094, 1095, 1096, 1020, 0, 1055, - 719, 369, 560, 562, 565, 566, 567, 373, 375, 376, - 377, 0, -2, 533, 1482, 1528, -2, 525, 1396, -2, - -2, 380, 462, 461, 393, 0, 467, 467, 453, 453, - 453, 453, 422, 467, 425, 428, 429, 470, 0, 470, - 470, 470, 470, 467, 0, 0, 414, 415, 416, 405, - 0, 406, 455, 408, 0, 409, 410, 411, 412, 539, - 540, 0, 0, 0, 0, 0, 1110, 0, 262, 263, - 208, 101, 0, 0, 247, 0, 368, 0, 612, 0, - 614, 236, 616, 626, 627, 617, 0, 0, 634, 635, - 828, 0, 0, 647, 671, 672, 670, 673, 0, 651, - 665, 0, 0, 658, 0, 692, 312, 313, 335, 71, - 0, 1138, 1157, 0, 1161, 1163, 0, 191, 193, 0, - 142, 0, 0, 184, 0, 156, 0, 0, 0, 0, - 0, 490, 0, 714, 53, 573, 574, -2, 603, 1117, - 603, 603, 591, 509, 603, 0, 49, 0, 1066, 0, - 0, 0, 1051, 1052, 1044, 0, 1103, 1104, 1031, 1032, - 86, 723, 852, 854, 856, 0, 872, 843, 864, 847, - 0, 844, 0, 838, 0, 0, 741, 0, 741, 741, - 0, 932, 0, 933, 0, 741, 741, 0, 0, 0, - 0, 0, 0, 939, 940, 941, 942, 741, 741, 741, - 741, 0, 741, 741, 741, 0, 877, -2, 943, 944, - 945, 0, 0, 0, 0, 0, 988, 0, 0, 989, - 954, 0, 0, 0, 0, 0, 960, 1041, 0, 1015, - 0, 0, 963, 983, 0, 0, 984, 985, 986, 987, - 1071, 0, 0, 0, 1060, 0, 828, 1079, 0, 0, - 768, 799, 801, 0, 796, 809, 810, 812, 0, 814, - 0, 816, 817, 787, 774, 871, 775, 0, 0, 0, - 824, 784, 0, 0, 0, 1041, 0, 828, 61, 62, - 0, 77, 78, 0, 0, 84, 471, 472, 0, 207, - 0, 563, 0, 374, 0, 526, 0, 0, 511, 525, - 521, 522, 525, 516, 526, 517, 0, 382, 0, 384, - 385, 386, 387, 388, 0, 0, 466, 0, 474, 476, - 0, 389, 463, 0, 470, 470, 467, 420, 421, 453, - 426, 470, 430, 0, 431, 432, 433, 434, 470, 0, - 451, 0, 0, 407, 0, 556, 0, 1126, 85, 85, - 0, 264, 265, 266, 0, 209, 210, 0, 0, 0, - 0, 111, 0, 261, 0, 0, 0, 0, 0, 0, - 0, 66, 240, 642, 547, 548, 673, 649, 0, 865, - 659, 661, 662, 467, 0, 1159, 0, 0, 0, 0, - 0, 203, 186, 0, 0, 0, 0, 149, 0, 722, - 0, 0, 525, 0, 592, 593, 0, 604, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1118, - 1119, 0, 0, 0, 510, 0, 0, 1069, 1068, 1057, - 38, 828, 0, 733, 1021, 0, 845, 0, 848, 741, - 875, 917, 742, 728, 0, 918, 919, 741, 734, 735, - 737, 934, 921, 922, 935, 936, 937, 741, 741, 938, - 926, 925, 924, 927, 741, 930, 929, 931, 913, 0, - 453, 453, 1000, 453, 457, 1003, 453, 1005, 453, 1008, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1012, 962, 1018, 0, 0, 0, 54, 0, 1071, - 1058, 1073, 1075, 0, 0, 0, 0, -2, 1332, 0, - 791, 1041, 0, 0, 0, 793, 800, 0, 0, 794, - 0, 795, 813, 815, 772, 0, 0, 776, 0, 0, - -2, 783, 0, 0, 0, 1049, 829, 60, 81, 82, - 83, 561, 564, 0, 527, 453, 453, 0, 531, 523, - 532, 513, 515, 0, 383, 464, 0, 473, 475, 477, - 454, 418, 419, 470, 427, 423, 468, 469, 435, 467, - 0, 467, 0, 458, 0, 543, 557, 0, 0, 91, - 0, 0, 216, 0, 212, 0, 0, 0, 119, 0, - 102, 103, 104, 106, 107, 0, 0, 0, 100, 0, - 249, 0, 252, 253, 613, 615, 648, 786, 1149, 818, - 203, 192, 194, 195, 203, 206, 143, 0, 144, 146, - 0, 145, 495, 86, 575, 0, 600, 0, 0, 1125, - 523, 0, -2, 578, 583, 584, 585, 586, 587, 0, - 598, 0, 580, 0, 600, 0, 595, 0, 0, 0, - 1033, 0, 86, 86, 914, 849, 916, 0, 920, 739, - 738, 915, 923, 928, 947, 997, 467, 1001, 1002, 1004, - 1006, 1007, 1009, 949, 948, 0, 0, 0, 0, 955, - 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0, - 55, 0, 1076, -2, 0, 0, 72, 0, 1049, 1080, - 1081, 1082, 797, 0, 802, 0, 789, 0, 824, 781, - 0, 0, 0, 0, 59, 501, 0, 1046, 1046, 512, - 525, 524, 0, 465, 424, 470, 452, 470, 0, 0, - 558, 0, 85, 0, 85, 217, 218, 0, 0, 0, - 223, 0, 0, 0, 0, 0, 211, 213, 214, 215, - 137, 120, 121, 0, 0, 0, 0, 112, 113, 0, - 0, 0, 0, 0, 108, 109, 110, 248, 0, 0, - 251, 0, 0, 1151, 1145, 196, 196, 0, 147, 0, - 0, 577, 601, 0, 381, 381, 0, 525, 0, 594, - 0, 1115, 1116, 0, 589, 600, 0, 0, 0, 1070, - 1038, 0, 828, 0, 724, 729, 1041, 0, 998, 999, - 0, 0, 0, 0, 956, 957, 958, 990, 961, 1013, - 0, 0, 0, 1074, 1059, 0, 1063, 0, 792, 58, - 0, 788, 0, 777, 779, 824, 825, 826, 827, 500, - 504, 0, 509, 0, 528, 529, 530, 514, 0, 441, - 442, 456, 459, 0, 92, 0, 0, 219, 220, 221, - 222, 224, 225, 0, 0, 0, 97, 0, 0, 122, - 0, 0, 0, 0, 132, 133, 134, 135, 136, 114, - 115, 116, 117, 118, 105, 0, 0, 250, 0, 255, - 256, 1113, 1153, -2, 0, 140, 0, 141, 204, 0, - 576, 602, 378, 379, 0, 1125, 0, 579, 588, 590, - 0, 597, 0, 753, 0, 0, 1033, 86, 743, 0, - 950, 952, 951, 953, 0, 0, 0, 979, 980, 0, - 1062, 0, 798, 790, 782, 505, 506, 0, 508, 0, - 502, 0, 85, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 0, 0, 0, 0, 226, 227, 228, - 229, 138, 139, 123, 124, 0, 126, 127, 0, 0, - 0, 258, 0, 254, 787, 0, 1145, 0, 1147, 0, - 1144, 0, 197, 828, 0, 0, 0, 596, 0, 606, - 0, 43, 0, 1039, 1040, 1034, 1035, 1037, 1038, 725, - 0, 0, 0, 740, 959, 0, 0, 0, 1072, -2, - 507, 0, 90, 503, 267, 96, 0, 0, 1127, 0, - 0, 294, 295, 296, 1129, 0, 336, 0, 128, 0, - 130, 131, 257, 0, 36, 0, 1152, 0, 1150, 0, - 0, 1146, 0, 1033, 502, 0, 502, 605, 0, 0, - 754, 755, 0, 0, 753, 736, 744, 0, 747, 0, - 0, 0, 758, 0, 745, 991, 0, 994, 0, 85, - 0, 0, 0, 278, 0, 0, 0, 0, 0, 292, - 0, 0, 125, 129, 259, 1114, 1154, 0, 0, 0, - 1038, 581, 0, 599, 607, 0, 0, 0, 1036, 44, - 0, 748, 749, 750, 751, 752, 0, 992, 0, 0, - 268, 269, 0, 0, 279, 0, 0, 0, 0, 0, - 0, 1130, 230, 337, 1148, 1142, 198, 199, 200, 202, - 753, 502, 0, 756, 757, 0, 759, 0, 534, 85, - 270, 271, 272, 273, 274, 0, 276, 0, 0, 0, - 288, 289, 290, 0, 297, 299, 300, 301, 0, 303, - 304, 293, 0, 41, 582, 0, 746, 0, 535, 536, - 0, 95, 0, 0, 0, 0, 0, 0, 285, 0, - 291, 0, 302, 201, 0, 993, 537, 0, 538, 0, - 0, 0, 0, 0, 280, 281, 0, 0, 0, 286, - 0, 298, 0, 0, 549, 551, 552, 0, 0, 550, - 275, 277, 0, 283, 0, 0, 608, 609, 553, 554, - 555, 0, 0, 0, 282, 0, 287, 284, + 0, 478, 0, 0, 0, 0, 483, 484, 485, 486, + 0, 0, 489, 490, 713, 42, 52, 0, 709, 710, + 0, 0, 0, 46, 0, 0, 51, 1601, 37, 0, + 0, 1047, 1050, 1051, 1039, 1040, 1043, 0, 0, 711, + 717, 718, 707, 0, 728, 0, 0, 0, 758, 0, + 760, 761, 762, 763, 0, 830, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 854, 855, 856, 857, 858, + 859, 860, 833, 0, 847, 0, 0, 0, 896, 897, + 898, 899, 900, 901, 902, 0, 716, 0, 0, 0, + 716, 0, 0, 0, 0, 0, 0, 0, 0, 716, + 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 716, 0, 0, 0, 716, 0, 0, 873, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 716, 0, 1008, 0, 961, 970, 0, 962, 971, 963, + 972, 964, 0, 965, 973, 966, 974, 967, 968, 975, + 969, 0, 0, 0, 869, 0, 0, 71, 0, 817, + 0, 764, 766, 767, 768, -2, 0, 821, 867, -2, + 0, 0, 0, 63, 64, 0, 0, 0, 0, 74, + 76, 0, 0, 1547, 1083, 1084, 470, 1097, 1098, 1099, + 0, 1095, 0, 1046, 713, 556, 0, 372, 0, 0, + 381, 460, 390, 391, 392, 453, 394, 453, 453, 0, + 453, 453, 453, 453, 453, 467, 467, 467, 467, 467, + 436, 437, 438, 439, 440, 0, 0, 413, 453, 453, + 453, 417, 443, 444, 445, 446, 447, 448, 449, 450, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 455, 455, 457, 457, 457, 457, 457, 0, 0, 538, + 0, 1122, 85, 0, 93, 0, 94, 0, 0, 99, + 260, 246, 98, 0, 232, 0, 0, 0, 0, 237, + 622, 1105, 0, 615, 65, 616, 617, 618, 619, 620, + 239, 621, 819, 1132, 1133, 629, 671, 672, 0, 0, + 633, 634, 635, 543, 641, 642, 643, 649, 670, 0, + 0, 0, 782, 670, 651, 861, 654, 978, 0, 688, + 687, 0, 700, 306, 308, 310, 328, 0, 0, 331, + 334, 0, 0, 0, 0, 1155, 0, 1157, 1159, 0, + 0, 188, 189, 190, 0, 182, 0, 205, 245, 0, + 151, 0, 185, 153, 154, 155, 183, 157, 158, 161, + 167, 171, 172, 174, 175, 241, 0, 0, 0, 0, + 148, 0, 479, 480, 481, 482, 491, 488, 716, 0, + 0, 681, 682, 48, 0, 0, 1064, 1053, 0, 0, + 0, 0, 1042, 1044, 1045, 0, 0, 1027, 0, 0, + 719, 712, 39, 828, 829, 831, 848, 0, 850, 852, + 759, 729, 0, 1017, -2, 838, 839, 863, 864, 865, + 0, 0, 0, 0, 861, 843, 0, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 891, 892, 895, + 992, 993, 0, 893, 894, 903, 0, 0, 871, 723, + 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 869, 866, + 0, 1074, 0, 0, 0, 0, 943, 0, 0, 878, + 1019, 0, 878, 1019, 0, 0, 0, 0, 0, 0, + 0, 0, 1014, 1011, 0, 0, 979, 0, 0, 0, + 0, 0, 870, 0, 0, 0, 0, 816, 0, 0, + 0, 0, 0, 0, 805, 0, 0, 808, 0, 0, + 0, 0, 0, 0, 0, 0, 775, 1469, 777, 0, + 821, 0, 0, 0, 825, 0, 825, 68, 825, 70, + 0, 820, 1081, 0, 0, 0, 79, 80, 75, 1085, + 0, 1091, 1092, 1093, 1017, 0, 1052, 716, 369, 557, + 559, 562, 563, 564, 373, 375, 376, 377, 0, -2, + 530, 1479, 1525, -2, 522, 1393, -2, -2, 380, 462, + 461, 393, 0, 467, 467, 453, 453, 453, 453, 422, + 467, 425, 428, 429, 470, 0, 470, 470, 470, 470, + 467, 0, 0, 414, 415, 416, 405, 0, 406, 455, + 408, 0, 409, 410, 411, 412, 536, 537, 0, 0, + 0, 0, 0, 1107, 0, 262, 263, 208, 101, 0, + 0, 247, 0, 368, 0, 609, 0, 611, 236, 613, + 623, 624, 614, 0, 0, 631, 632, 825, 0, 0, + 644, 668, 669, 667, 670, 0, 648, 662, 0, 0, + 655, 0, 689, 312, 313, 335, 71, 0, 1135, 1154, + 0, 1158, 1160, 0, 191, 193, 0, 142, 0, 0, + 184, 0, 156, 0, 0, 0, 0, 0, 487, 0, + 711, 53, 570, 571, -2, 600, 1114, 600, 600, 588, + 506, 600, 0, 49, 0, 1063, 0, 0, 0, 1048, + 1049, 1041, 0, 1100, 1101, 1028, 1029, 86, 720, 849, + 851, 853, 0, 869, 840, 861, 844, 0, 841, 0, + 835, 0, 0, 738, 0, 738, 738, 0, 929, 0, + 930, 0, 738, 738, 0, 0, 0, 0, 0, 0, + 936, 937, 938, 939, 738, 738, 738, 738, 0, 738, + 738, 738, 0, 874, -2, 940, 941, 942, 0, 0, + 0, 0, 0, 985, 0, 0, 986, 951, 0, 0, + 0, 0, 0, 957, 1038, 0, 1012, 0, 0, 960, + 980, 0, 0, 981, 982, 983, 984, 1068, 0, 0, + 0, 1057, 0, 825, 1076, 0, 0, 765, 796, 798, + 0, 793, 806, 807, 809, 0, 811, 0, 813, 814, + 784, 771, 868, 772, 0, 0, 0, 821, 781, 0, + 0, 0, 1038, 0, 825, 61, 62, 0, 77, 78, + 0, 0, 84, 471, 472, 0, 207, 0, 560, 0, + 374, 0, 523, 0, 0, 508, 522, 518, 519, 522, + 513, 523, 514, 0, 382, 0, 384, 385, 386, 387, + 388, 0, 0, 466, 0, 474, 476, 0, 389, 463, + 0, 470, 470, 467, 420, 421, 453, 426, 470, 430, + 0, 431, 432, 433, 434, 470, 0, 451, 0, 0, + 407, 0, 553, 0, 1123, 85, 85, 0, 264, 265, + 266, 0, 209, 210, 0, 0, 0, 0, 111, 0, + 261, 0, 0, 0, 0, 0, 0, 0, 66, 240, + 639, 544, 545, 670, 646, 0, 862, 656, 658, 659, + 467, 0, 1156, 0, 0, 0, 0, 0, 203, 186, + 0, 0, 0, 0, 149, 0, 719, 0, 0, 522, + 0, 589, 590, 0, 601, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1115, 1116, 0, 0, + 0, 507, 0, 0, 1066, 1065, 1054, 38, 825, 0, + 730, 1018, 0, 842, 0, 845, 738, 872, 914, 739, + 725, 0, 915, 916, 738, 731, 732, 734, 931, 918, + 919, 932, 933, 934, 738, 738, 935, 923, 922, 921, + 924, 738, 927, 926, 928, 910, 0, 453, 453, 997, + 453, 457, 1000, 453, 1002, 453, 1005, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1009, 959, + 1015, 0, 0, 0, 54, 0, 1068, 1055, 1070, 1072, + 0, 0, 0, 0, -2, 1329, 0, 788, 1038, 0, + 0, 0, 790, 797, 0, 0, 791, 0, 792, 810, + 812, 769, 0, 0, 773, 0, 0, -2, 780, 0, + 0, 0, 1046, 826, 60, 81, 82, 83, 558, 561, + 0, 524, 453, 453, 0, 528, 520, 529, 510, 512, + 0, 383, 464, 0, 473, 475, 477, 454, 418, 419, + 470, 427, 423, 468, 469, 435, 467, 0, 467, 0, + 458, 0, 540, 554, 0, 0, 91, 0, 0, 216, + 0, 212, 0, 0, 0, 119, 0, 102, 103, 104, + 106, 107, 0, 0, 0, 100, 0, 249, 0, 252, + 253, 610, 612, 645, 783, 1146, 815, 203, 192, 194, + 195, 203, 206, 143, 0, 144, 146, 0, 145, 492, + 86, 572, 0, 597, 0, 0, 1122, 520, 0, -2, + 575, 580, 581, 582, 583, 584, 0, 595, 0, 577, + 0, 597, 0, 592, 0, 0, 0, 1030, 0, 86, + 86, 911, 846, 913, 0, 917, 736, 735, 912, 920, + 925, 944, 994, 467, 998, 999, 1001, 1003, 1004, 1006, + 946, 945, 0, 0, 0, 0, 952, 0, 0, 0, + 0, 0, 0, 1013, 0, 0, 0, 55, 0, 1073, + -2, 0, 0, 72, 0, 1046, 1077, 1078, 1079, 794, + 0, 799, 0, 786, 0, 821, 778, 0, 0, 0, + 0, 59, 498, 0, 1043, 1043, 509, 522, 521, 0, + 465, 424, 470, 452, 470, 0, 0, 555, 0, 85, + 0, 85, 217, 218, 0, 0, 0, 223, 0, 0, + 0, 0, 0, 211, 213, 214, 215, 137, 120, 121, + 0, 0, 0, 0, 112, 113, 0, 0, 0, 0, + 0, 108, 109, 110, 248, 0, 0, 251, 0, 0, + 1148, 1142, 196, 196, 0, 147, 0, 0, 574, 598, + 0, 381, 381, 0, 522, 0, 591, 0, 1112, 1113, + 0, 586, 597, 0, 0, 0, 1067, 1035, 0, 825, + 0, 721, 726, 1038, 0, 995, 996, 0, 0, 0, + 0, 953, 954, 955, 987, 958, 1010, 0, 0, 0, + 1071, 1056, 0, 1060, 0, 789, 58, 0, 785, 0, + 774, 776, 821, 822, 823, 824, 497, 501, 0, 506, + 0, 525, 526, 527, 511, 0, 441, 442, 456, 459, + 0, 92, 0, 0, 219, 220, 221, 222, 224, 225, + 0, 0, 0, 97, 0, 0, 122, 0, 0, 0, + 0, 132, 133, 134, 135, 136, 114, 115, 116, 117, + 118, 105, 0, 0, 250, 0, 255, 256, 1110, 1150, + -2, 0, 140, 0, 141, 204, 0, 573, 599, 378, + 379, 0, 1122, 0, 576, 585, 587, 0, 594, 0, + 750, 0, 0, 1030, 86, 740, 0, 947, 949, 948, + 950, 0, 0, 0, 976, 977, 0, 1059, 0, 795, + 787, 779, 502, 503, 0, 505, 0, 499, 0, 85, + 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 0, 0, 0, 0, 226, 227, 228, 229, 138, 139, + 123, 124, 0, 126, 127, 0, 0, 0, 258, 0, + 254, 784, 0, 1142, 0, 1144, 0, 1141, 0, 197, + 825, 0, 0, 0, 593, 0, 603, 0, 43, 0, + 1036, 1037, 1031, 1032, 1034, 1035, 722, 0, 0, 0, + 737, 956, 0, 0, 0, 1069, -2, 504, 0, 90, + 500, 267, 96, 0, 0, 1124, 0, 0, 294, 295, + 296, 1126, 0, 336, 0, 128, 0, 130, 131, 257, + 0, 36, 0, 1149, 0, 1147, 0, 0, 1143, 0, + 1030, 499, 0, 499, 602, 0, 0, 751, 752, 0, + 0, 750, 733, 741, 0, 744, 0, 0, 0, 755, + 0, 742, 988, 0, 991, 0, 85, 0, 0, 0, + 278, 0, 0, 0, 0, 0, 292, 0, 0, 125, + 129, 259, 1111, 1151, 0, 0, 0, 1035, 578, 0, + 596, 604, 0, 0, 0, 1033, 44, 0, 745, 746, + 747, 748, 749, 0, 989, 0, 0, 268, 269, 0, + 0, 279, 0, 0, 0, 0, 0, 0, 1127, 230, + 337, 1145, 1139, 198, 199, 200, 202, 750, 499, 0, + 753, 754, 0, 756, 0, 531, 85, 270, 271, 272, + 273, 274, 0, 276, 0, 0, 0, 288, 289, 290, + 0, 297, 299, 300, 301, 0, 303, 304, 293, 0, + 41, 579, 0, 743, 0, 532, 533, 0, 95, 0, + 0, 0, 0, 0, 0, 285, 0, 291, 0, 302, + 201, 0, 990, 534, 0, 535, 0, 0, 0, 0, + 0, 280, 281, 0, 0, 0, 286, 0, 298, 0, + 0, 546, 548, 549, 0, 0, 547, 275, 277, 0, + 283, 0, 0, 605, 606, 550, 551, 552, 0, 0, + 0, 282, 0, 287, 284, } var yyTok1 = [...]int{ @@ -6291,38 +6301,38 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:481 +//line sql.y:479 { setParseTree(yylex, yyDollar[1].statement) } case 2: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:485 +//line sql.y:483 { setParseTree(yylex, yyDollar[1].statement) statementSeen(yylex) } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:492 +//line sql.y:490 { yyVAL.statement = yyDollar[1].selStmt } case 35: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:527 +//line sql.y:525 { setParseTree(yylex, nil) } case 36: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:533 +//line sql.y:531 { yyVAL.statement = &Load{Local: yyDollar[3].boolVal, Infile: yyDollar[4].str, Table: yyDollar[5].tableName, Partition: yyDollar[6].partitions, Charset: yyDollar[7].str, Fields: yyDollar[8].Fields, Lines: yyDollar[9].Lines, IgnoreNum: yyDollar[10].sqlVal, Columns: yyDollar[11].columns} } case 37: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:539 +//line sql.y:537 { yyDollar[1].selStmt.SetOrderBy(yyDollar[2].orderBy) yyDollar[1].selStmt.SetLimit(yyDollar[3].limit) @@ -6331,25 +6341,25 @@ yydefault: } case 38: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:546 +//line sql.y:544 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, SelectExprs: SelectExprs{Nextval{Expr: yyDollar[5].expr}}, From: TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}} } case 39: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:552 +//line sql.y:550 { yyVAL.statement = &Stream{Comments: Comments(yyDollar[2].bytes2), SelectExpr: yyDollar[3].selectExpr, Table: yyDollar[5].tableName} } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:559 +//line sql.y:557 { yyVAL.selStmt = yyDollar[1].selStmt } case 41: yyDollar = yyS[yypt-14 : yypt+1] -//line sql.y:563 +//line sql.y:561 { yyVAL.selStmt = &Select{With: yyDollar[1].with, Comments: Comments(yyDollar[3].bytes2), Cache: yyDollar[4].str, Distinct: yyDollar[5].str, Hints: yyDollar[7].str, SelectExprs: yyDollar[8].selectExprs, From: yyDollar[10].tableExprs, Where: NewWhere(WhereStr, yyDollar[11].expr), GroupBy: GroupBy(yyDollar[12].exprs), Having: NewWhere(HavingStr, yyDollar[13].expr), Window: yyDollar[14].window} if yyDollar[6].byt == 1 { @@ -6358,13 +6368,13 @@ yydefault: } case 42: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:570 +//line sql.y:568 { yyVAL.selStmt = &Union{Type: yyDollar[2].str, Left: yyDollar[1].selStmt, Right: yyDollar[3].selStmt} } case 43: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:576 +//line sql.y:574 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[6].str, SelectExprs: yyDollar[7].selectExprs, From: TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}}, Where: NewWhere(WhereStr, yyDollar[8].expr), GroupBy: GroupBy(yyDollar[9].exprs), Having: NewWhere(HavingStr, yyDollar[10].expr), Window: yyDollar[11].window} if yyDollar[5].byt == 1 { @@ -6373,7 +6383,7 @@ yydefault: } case 44: yyDollar = yyS[yypt-13 : yypt+1] -//line sql.y:583 +//line sql.y:581 { yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[6].str, SelectExprs: yyDollar[7].selectExprs, From: yyDollar[9].tableExprs, Where: NewWhere(WhereStr, yyDollar[10].expr), GroupBy: GroupBy(yyDollar[11].exprs), Having: NewWhere(HavingStr, yyDollar[12].expr), Window: yyDollar[13].window} if yyDollar[5].byt == 1 { @@ -6382,61 +6392,61 @@ yydefault: } case 45: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:592 +//line sql.y:590 { yyVAL.with = &With{Ctes: yyDollar[2].tableExprs, Recursive: false} } case 46: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:596 +//line sql.y:594 { yyVAL.with = &With{Ctes: yyDollar[3].tableExprs, Recursive: true} } case 47: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:602 +//line sql.y:600 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } case 48: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:606 +//line sql.y:604 { yyVAL.tableExprs = append(yyDollar[1].tableExprs, yyDollar[3].tableExpr) } case 49: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:612 +//line sql.y:610 { yyVAL.tableExpr = &CommonTableExpr{&AliasedTableExpr{Expr: yyDollar[4].simpleTableExpr, As: yyDollar[1].tableIdent}, yyDollar[2].columns} } case 50: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:618 +//line sql.y:616 { yyVAL.selStmt = yyDollar[1].selStmt } case 51: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:622 +//line sql.y:620 { yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt} } case 52: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:628 +//line sql.y:626 { yyVAL.selStmt = yyDollar[1].selStmt } case 53: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:632 +//line sql.y:630 { yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt} } case 54: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:638 +//line sql.y:636 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].ins @@ -6450,7 +6460,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:650 +//line sql.y:648 { cols := make(Columns, 0, len(yyDollar[7].assignExprs)) vals := make(ValTuple, 0, len(yyDollar[8].assignExprs)) @@ -6462,113 +6472,113 @@ yydefault: } case 56: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:662 +//line sql.y:660 { yyVAL.str = InsertStr } case 57: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:666 +//line sql.y:664 { yyVAL.str = ReplaceStr } case 58: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:672 +//line sql.y:670 { yyVAL.statement = &Update{Comments: Comments(yyDollar[2].bytes2), Ignore: yyDollar[3].str, TableExprs: yyDollar[4].tableExprs, Exprs: yyDollar[6].assignExprs, Where: NewWhere(WhereStr, yyDollar[7].expr), OrderBy: yyDollar[8].orderBy, Limit: yyDollar[9].limit} } case 59: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:678 +//line sql.y:676 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[4].tableName}}, Partitions: yyDollar[5].partitions, Where: NewWhere(WhereStr, yyDollar[6].expr), OrderBy: yyDollar[7].orderBy, Limit: yyDollar[8].limit} } case 60: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:682 +//line sql.y:680 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[4].tableNames, TableExprs: yyDollar[6].tableExprs, Where: NewWhere(WhereStr, yyDollar[7].expr)} } case 61: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:686 +//line sql.y:684 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} } case 62: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:690 +//line sql.y:688 { yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)} } case 63: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:695 +//line sql.y:693 { } case 64: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:696 +//line sql.y:694 { } case 65: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:700 +//line sql.y:698 { yyVAL.tableNames = TableNames{yyDollar[1].tableName.ToViewName()} } case 66: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:704 +//line sql.y:702 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName.ToViewName()) } case 67: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:710 +//line sql.y:708 { yyVAL.tableNames = TableNames{yyDollar[1].tableName} } case 68: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:714 +//line sql.y:712 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName) } case 69: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:720 +//line sql.y:718 { yyVAL.tableNames = TableNames{yyDollar[1].tableName} } case 70: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:724 +//line sql.y:722 { yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName) } case 71: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:729 +//line sql.y:727 { yyVAL.partitions = nil } case 72: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:733 +//line sql.y:731 { yyVAL.partitions = yyDollar[3].partitions } case 73: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:739 +//line sql.y:737 { yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Exprs: yyDollar[3].setVarExprs} } case 74: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:743 +//line sql.y:741 { for i := 0; i < len(yyDollar[4].setVarExprs); i++ { yyDollar[4].setVarExprs[i].Scope = SetScope_None @@ -6577,7 +6587,7 @@ yydefault: } case 75: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:750 +//line sql.y:748 { for i := 0; i < len(yyDollar[5].setVarExprs); i++ { yyDollar[5].setVarExprs[i].Scope = yyDollar[3].setScope @@ -6586,73 +6596,73 @@ yydefault: } case 76: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:759 +//line sql.y:757 { yyVAL.setVarExprs = SetVarExprs{yyDollar[1].setVarExpr} } case 77: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:763 +//line sql.y:761 { yyVAL.setVarExprs = append(yyVAL.setVarExprs, yyDollar[3].setVarExpr) } case 78: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:769 +//line sql.y:767 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(yyDollar[3].str))} } case 79: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:773 +//line sql.y:771 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(TxReadWrite))} } case 80: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:777 +//line sql.y:775 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(TransactionStr), Expr: NewStrVal([]byte(TxReadOnly))} } case 81: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:783 +//line sql.y:781 { yyVAL.str = IsolationLevelRepeatableRead } case 82: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:787 +//line sql.y:785 { yyVAL.str = IsolationLevelReadCommitted } case 83: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:791 +//line sql.y:789 { yyVAL.str = IsolationLevelReadUncommitted } case 84: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:795 +//line sql.y:793 { yyVAL.str = IsolationLevelSerializable } case 85: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:800 +//line sql.y:798 { yyVAL.int = yyPosition(yylex) } case 86: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:805 +//line sql.y:803 { yyVAL.int = yyOldPosition(yylex) } case 87: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:811 +//line sql.y:809 { yyDollar[1].ddl.TableSpec = yyDollar[2].TableSpec if len(yyDollar[1].ddl.TableSpec.Constraints) > 0 { @@ -6662,39 +6672,39 @@ yydefault: } case 88: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:820 +//line sql.y:818 { yyDollar[1].ddl.OptSelect = &OptSelect{Select: yyDollar[3].selStmt} yyVAL.statement = yyDollar[1].ddl } case 89: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:825 +//line sql.y:823 { yyDollar[1].ddl.OptLike = &OptLike{LikeTable: yyDollar[3].tableName} yyVAL.statement = yyDollar[1].ddl } case 90: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:830 +//line sql.y:828 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[7].tableName, IndexSpec: &IndexSpec{Action: CreateStr, ToName: yyDollar[4].colIdent, Using: yyDollar[5].colIdent, Type: yyDollar[2].str, Columns: yyDollar[9].indexColumns, Options: yyDollar[11].indexOptions}} } case 91: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:834 +//line sql.y:832 { yyVAL.statement = &DDL{Action: CreateStr, View: yyDollar[3].tableName.ToViewName(), ViewExpr: yyDollar[6].selStmt, SubStatementPositionStart: yyDollar[5].int, SubStatementPositionEnd: yyDollar[7].int - 1} } case 92: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:838 +//line sql.y:836 { yyVAL.statement = &DDL{Action: CreateStr, View: yyDollar[5].tableName.ToViewName(), ViewExpr: yyDollar[8].selStmt, SubStatementPositionStart: yyDollar[7].int, SubStatementPositionEnd: yyDollar[9].int - 1, OrReplace: true} } case 93: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:842 +//line sql.y:840 { var ne bool if yyDollar[3].byt != 0 { @@ -6704,7 +6714,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:850 +//line sql.y:848 { var ne bool if yyDollar[3].byt != 0 { @@ -6714,19 +6724,19 @@ yydefault: } case 95: yyDollar = yyS[yypt-15 : yypt+1] -//line sql.y:858 +//line sql.y:856 { yyVAL.statement = &DDL{Action: CreateStr, Table: yyDollar[8].tableName, TriggerSpec: &TriggerSpec{Name: string(yyDollar[4].bytes), Time: yyDollar[5].str, Event: yyDollar[6].str, Order: yyDollar[12].triggerOrder, Body: yyDollar[14].statement}, SubStatementPositionStart: yyDollar[13].int, SubStatementPositionEnd: yyDollar[15].int - 1} } case 96: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:862 +//line sql.y:860 { yyVAL.statement = &DDL{Action: CreateStr, ProcedureSpec: &ProcedureSpec{Name: string(yyDollar[4].bytes), Definer: yyDollar[2].str, Params: yyDollar[6].procedureParams, Characteristics: yyDollar[8].characteristics, Body: yyDollar[10].statement}, SubStatementPositionStart: yyDollar[9].int, SubStatementPositionEnd: yyDollar[11].int - 1} } case 97: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:866 +//line sql.y:864 { var notExists bool if yyDollar[3].byt != 0 { @@ -6747,7 +6757,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:885 +//line sql.y:883 { var notExists bool if yyDollar[3].byt != 0 { @@ -6757,658 +6767,658 @@ yydefault: } case 99: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:894 +//line sql.y:892 { yyVAL.accountNames = nil } case 100: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:898 +//line sql.y:896 { yyVAL.accountNames = yyDollar[3].accountNames } case 101: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:903 +//line sql.y:901 { yyVAL.tlsOptionItems = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:907 +//line sql.y:905 { yyVAL.tlsOptionItems = nil } case 103: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:911 +//line sql.y:909 { yyVAL.tlsOptionItems = yyDollar[2].tlsOptionItems } case 104: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:917 +//line sql.y:915 { yyVAL.tlsOptionItems = []TLSOptionItem{yyDollar[1].tlsOptionItem} } case 105: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:921 +//line sql.y:919 { yyVAL.tlsOptionItems = append(yyDollar[1].tlsOptionItems, yyDollar[3].tlsOptionItem) } case 106: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:927 +//line sql.y:925 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_SSL, ItemData: ""} } case 107: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:931 +//line sql.y:929 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_X509, ItemData: ""} } case 108: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:935 +//line sql.y:933 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Cipher, ItemData: string(yyDollar[2].bytes)} } case 109: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:939 +//line sql.y:937 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Issuer, ItemData: string(yyDollar[2].bytes)} } case 110: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:943 +//line sql.y:941 { yyVAL.tlsOptionItem = TLSOptionItem{TLSOptionItemType: TLSOptionItemType_Subject, ItemData: string(yyDollar[2].bytes)} } case 111: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:948 +//line sql.y:946 { yyVAL.accountLimitItems = nil } case 112: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:952 +//line sql.y:950 { yyVAL.accountLimitItems = yyDollar[2].accountLimitItems } case 113: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:958 +//line sql.y:956 { yyVAL.accountLimitItems = []AccountLimitItem{yyDollar[1].accountLimitItem} } case 114: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:962 +//line sql.y:960 { yyVAL.accountLimitItems = append(yyDollar[1].accountLimitItems, yyDollar[2].accountLimitItem) } case 115: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:968 +//line sql.y:966 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Queries_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 116: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:972 +//line sql.y:970 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Updates_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 117: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:976 +//line sql.y:974 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Connections_PH, Count: NewIntVal(yyDollar[2].bytes)} } case 118: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:980 +//line sql.y:978 { yyVAL.accountLimitItem = AccountLimitItem{AccountLimitItemType: AccountLimitItemType_Connections, Count: NewIntVal(yyDollar[2].bytes)} } case 119: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:985 +//line sql.y:983 { yyVAL.passLockItems = nil } case 120: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:989 +//line sql.y:987 { yyVAL.passLockItems = yyDollar[1].passLockItems } case 121: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:995 +//line sql.y:993 { yyVAL.passLockItems = []PassLockItem{yyDollar[1].passLockItem} } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:999 +//line sql.y:997 { yyVAL.passLockItems = append(yyDollar[1].passLockItems, yyDollar[2].passLockItem) } case 123: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1005 +//line sql.y:1003 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireDefault, Value: nil} } case 124: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1009 +//line sql.y:1007 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireNever, Value: nil} } case 125: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1013 +//line sql.y:1011 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassExpireInterval, Value: NewIntVal(yyDollar[4].bytes)} } case 126: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1017 +//line sql.y:1015 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassHistory, Value: nil} } case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1021 +//line sql.y:1019 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassHistory, Value: NewIntVal(yyDollar[3].bytes)} } case 128: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1025 +//line sql.y:1023 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReuseInterval, Value: nil} } case 129: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1029 +//line sql.y:1027 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReuseInterval, Value: NewIntVal(yyDollar[4].bytes)} } case 130: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1033 +//line sql.y:1031 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReqCurrentDefault, Value: nil} } case 131: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1037 +//line sql.y:1035 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassReqCurrentOptional, Value: nil} } case 132: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1041 +//line sql.y:1039 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassFailedLogins, Value: NewIntVal(yyDollar[2].bytes)} } case 133: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1045 +//line sql.y:1043 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassLockTime, Value: NewIntVal(yyDollar[2].bytes)} } case 134: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1049 +//line sql.y:1047 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_PassLockTime, Value: nil} } case 135: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1053 +//line sql.y:1051 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_AccountLock, Value: nil} } case 136: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1057 +//line sql.y:1055 { yyVAL.passLockItem = PassLockItem{PassLockItemType: PassLockItemType_AccountUnlock, Value: nil} } case 137: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1062 +//line sql.y:1060 { yyVAL.str = "" } case 138: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1066 +//line sql.y:1064 { comment := string(yyDollar[2].bytes) yyVAL.str = `{"comment": "` + escapeDoubleQuotes(comment) + `"}` } case 139: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1071 +//line sql.y:1069 { yyVAL.str = string(yyDollar[2].bytes) } case 140: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1077 +//line sql.y:1075 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &GrantPrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, To: yyDollar[7].accountNames, WithGrantOption: yyDollar[8].boolean, As: yyDollar[9].grantAssumption} } case 141: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1082 +//line sql.y:1080 { yyVAL.statement = &GrantPrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, To: yyDollar[7].accountNames, WithGrantOption: yyDollar[8].boolean, As: yyDollar[9].grantAssumption} } case 142: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1086 +//line sql.y:1084 { yyVAL.statement = &GrantRole{Roles: yyDollar[2].accountNames, To: yyDollar[4].accountNames, WithAdminOption: yyDollar[5].boolean} } case 143: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1090 +//line sql.y:1088 { yyVAL.statement = &GrantProxy{On: yyDollar[4].accountName, To: yyDollar[6].accountNames, WithGrantOption: yyDollar[7].boolean} } case 144: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1096 +//line sql.y:1094 { allPriv := []Privilege{Privilege{Type: PrivilegeType_All, Columns: nil}} yyVAL.statement = &RevokePrivilege{Privileges: allPriv, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } case 145: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1101 +//line sql.y:1099 { yyVAL.statement = &RevokePrivilege{Privileges: yyDollar[2].grantPrivileges, ObjectType: yyDollar[4].grantObjectType, PrivilegeLevel: yyDollar[5].privilegeLevel, From: yyDollar[7].accountNames} } case 146: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1105 +//line sql.y:1103 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[7].accountNames} } case 147: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1109 +//line sql.y:1107 { yyVAL.statement = &RevokeAllPrivileges{From: yyDollar[8].accountNames} } case 148: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1113 +//line sql.y:1111 { yyVAL.statement = &RevokeRole{Roles: yyDollar[2].accountNames, From: yyDollar[4].accountNames} } case 149: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1117 +//line sql.y:1115 { yyVAL.statement = &RevokeProxy{On: yyDollar[4].accountName, From: yyDollar[6].accountNames} } case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1123 +//line sql.y:1121 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Alter, Columns: yyDollar[2].strs} } case 151: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1127 +//line sql.y:1125 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_AlterRoutine, Columns: yyDollar[3].strs} } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1131 +//line sql.y:1129 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Create, Columns: yyDollar[2].strs} } case 153: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1135 +//line sql.y:1133 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRole, Columns: yyDollar[3].strs} } case 154: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1139 +//line sql.y:1137 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateRoutine, Columns: yyDollar[3].strs} } case 155: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1143 +//line sql.y:1141 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTablespace, Columns: yyDollar[3].strs} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1147 +//line sql.y:1145 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateTemporaryTables, Columns: yyDollar[4].strs} } case 157: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1151 +//line sql.y:1149 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateUser, Columns: yyDollar[3].strs} } case 158: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1155 +//line sql.y:1153 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_CreateView, Columns: yyDollar[3].strs} } case 159: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1159 +//line sql.y:1157 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Delete, Columns: yyDollar[2].strs} } case 160: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1163 +//line sql.y:1161 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Drop, Columns: yyDollar[2].strs} } case 161: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1167 +//line sql.y:1165 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_DropRole, Columns: yyDollar[3].strs} } case 162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1171 +//line sql.y:1169 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Event, Columns: yyDollar[2].strs} } case 163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1175 +//line sql.y:1173 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Execute, Columns: yyDollar[2].strs} } case 164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1179 +//line sql.y:1177 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_File, Columns: yyDollar[2].strs} } case 165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1183 +//line sql.y:1181 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Index, Columns: yyDollar[2].strs} } case 166: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1187 +//line sql.y:1185 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Insert, Columns: yyDollar[2].strs} } case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1191 +//line sql.y:1189 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_LockTables, Columns: yyDollar[3].strs} } case 168: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1195 +//line sql.y:1193 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Process, Columns: yyDollar[2].strs} } case 169: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1199 +//line sql.y:1197 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_References, Columns: yyDollar[2].strs} } case 170: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1203 +//line sql.y:1201 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Reload, Columns: yyDollar[2].strs} } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1207 +//line sql.y:1205 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationClient, Columns: yyDollar[3].strs} } case 172: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1211 +//line sql.y:1209 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ReplicationSlave, Columns: yyDollar[3].strs} } case 173: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1215 +//line sql.y:1213 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Select, Columns: yyDollar[2].strs} } case 174: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1219 +//line sql.y:1217 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowDatabases, Columns: yyDollar[3].strs} } case 175: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1223 +//line sql.y:1221 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_ShowView, Columns: yyDollar[3].strs} } case 176: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1227 +//line sql.y:1225 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Shutdown, Columns: yyDollar[2].strs} } case 177: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1231 +//line sql.y:1229 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Super, Columns: yyDollar[2].strs} } case 178: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1235 +//line sql.y:1233 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Trigger, Columns: yyDollar[2].strs} } case 179: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1239 +//line sql.y:1237 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Update, Columns: yyDollar[2].strs} } case 180: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1243 +//line sql.y:1241 { yyVAL.grantPrivilege = Privilege{Type: PrivilegeType_Usage, Columns: yyDollar[2].strs} } case 181: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1249 +//line sql.y:1247 { yyVAL.grantPrivileges = []Privilege{yyDollar[1].grantPrivilege} } case 182: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1253 +//line sql.y:1251 { yyVAL.grantPrivileges = append(yyDollar[1].grantPrivileges, yyDollar[3].grantPrivilege) } case 183: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1258 +//line sql.y:1256 { yyVAL.strs = nil } case 184: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1262 +//line sql.y:1260 { yyVAL.strs = yyDollar[2].strs } case 185: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1268 +//line sql.y:1266 { yyVAL.strs = []string{yyDollar[1].colIdent.String()} } case 186: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1272 +//line sql.y:1270 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].colIdent.String()) } case 187: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1277 +//line sql.y:1275 { yyVAL.grantObjectType = GrantObjectType_Any } case 188: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1281 +//line sql.y:1279 { yyVAL.grantObjectType = GrantObjectType_Table } case 189: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1285 +//line sql.y:1283 { yyVAL.grantObjectType = GrantObjectType_Function } case 190: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1289 +//line sql.y:1287 { yyVAL.grantObjectType = GrantObjectType_Procedure } case 191: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1295 +//line sql.y:1293 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: "*"} } case 192: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1299 +//line sql.y:1297 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "*", TableRoutine: "*"} } case 193: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1303 +//line sql.y:1301 { yyVAL.privilegeLevel = PrivilegeLevel{Database: "", TableRoutine: yyDollar[1].colIdent.String()} } case 194: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1307 +//line sql.y:1305 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: "*"} } case 195: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1311 +//line sql.y:1309 { yyVAL.privilegeLevel = PrivilegeLevel{Database: yyDollar[1].colIdent.String(), TableRoutine: yyDollar[3].colIdent.String()} } case 196: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1316 +//line sql.y:1314 { yyVAL.grantAssumption = nil } case 197: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1320 +//line sql.y:1318 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } case 198: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1324 +//line sql.y:1322 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Default, User: yyDollar[2].accountName, Roles: nil} } case 199: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1328 +//line sql.y:1326 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_None, User: yyDollar[2].accountName, Roles: nil} } case 200: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1332 +//line sql.y:1330 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_All, User: yyDollar[2].accountName, Roles: nil} } case 201: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1336 +//line sql.y:1334 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_AllExcept, User: yyDollar[2].accountName, Roles: yyDollar[7].accountNames} } case 202: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1340 +//line sql.y:1338 { yyVAL.grantAssumption = &GrantUserAssumption{Type: GrantUserAssumptionType_Roles, User: yyDollar[2].accountName, Roles: yyDollar[5].accountNames} } case 203: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1345 +//line sql.y:1343 { yyVAL.boolean = false } case 204: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1349 +//line sql.y:1347 { yyVAL.boolean = true } case 205: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1354 +//line sql.y:1352 { yyVAL.boolean = false } case 206: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1358 +//line sql.y:1356 { yyVAL.boolean = true } case 207: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1365 +//line sql.y:1363 { yyDollar[1].selStmt.SetOrderBy(yyDollar[2].orderBy) yyDollar[1].selStmt.SetLimit(yyDollar[3].limit) @@ -7417,175 +7427,175 @@ yydefault: } case 208: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1373 +//line sql.y:1371 { yyVAL.procedureParams = nil } case 209: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1377 +//line sql.y:1375 { yyVAL.procedureParams = yyDollar[1].procedureParams } case 210: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1383 +//line sql.y:1381 { yyVAL.procedureParams = []ProcedureParam{yyDollar[1].procedureParam} } case 211: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1387 +//line sql.y:1385 { yyVAL.procedureParams = append(yyVAL.procedureParams, yyDollar[3].procedureParam) } case 212: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1393 +//line sql.y:1391 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[1].bytes), Type: yyDollar[2].columnType} } case 213: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1397 +//line sql.y:1395 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_In, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } case 214: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1401 +//line sql.y:1399 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Inout, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } case 215: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1405 +//line sql.y:1403 { yyVAL.procedureParam = ProcedureParam{Direction: ProcedureParamDirection_Out, Name: string(yyDollar[2].bytes), Type: yyDollar[3].columnType} } case 216: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1410 +//line sql.y:1408 { yyVAL.characteristics = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1414 +//line sql.y:1412 { yyVAL.characteristics = yyDollar[1].characteristics } case 218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1420 +//line sql.y:1418 { yyVAL.characteristics = []Characteristic{yyDollar[1].characteristic} } case 219: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1424 +//line sql.y:1422 { yyVAL.characteristics = append(yyVAL.characteristics, yyDollar[2].characteristic) } case 220: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1430 +//line sql.y:1428 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Comment, Comment: string(yyDollar[2].bytes)} } case 221: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1434 +//line sql.y:1432 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_LanguageSql} } case 222: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1438 +//line sql.y:1436 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NotDeterministic} } case 223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1442 +//line sql.y:1440 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_Deterministic} } case 224: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1446 +//line sql.y:1444 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ContainsSql} } case 225: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1450 +//line sql.y:1448 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_NoSql} } case 226: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1454 +//line sql.y:1452 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ReadsSqlData} } case 227: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1458 +//line sql.y:1456 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_ModifiesSqlData} } case 228: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1462 +//line sql.y:1460 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityDefiner} } case 229: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1466 +//line sql.y:1464 { yyVAL.characteristic = Characteristic{Type: CharacteristicValue_SqlSecurityInvoker} } case 230: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1472 +//line sql.y:1470 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } case 231: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1477 +//line sql.y:1475 { yyVAL.str = "" } case 232: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1481 +//line sql.y:1479 { yyVAL.str = string(yyDollar[3].bytes) } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1487 +//line sql.y:1485 { yyVAL.str = string(yyDollar[1].bytes) } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1491 +//line sql.y:1489 { yyVAL.str = string(yyDollar[1].bytes) } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1495 +//line sql.y:1493 { yyVAL.str = string(yyDollar[1].bytes) } case 236: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1501 +//line sql.y:1499 { anyHost := false if yyDollar[3].str == "%" { @@ -7595,31 +7605,31 @@ yydefault: } case 237: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1509 +//line sql.y:1507 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: false} } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1513 +//line sql.y:1511 { yyVAL.accountName = AccountName{Name: yyDollar[1].str, Host: "", AnyHost: true} } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1519 +//line sql.y:1517 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } case 240: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1523 +//line sql.y:1521 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } case 241: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1529 +//line sql.y:1527 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7629,7 +7639,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1537 +//line sql.y:1535 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7639,7 +7649,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1545 +//line sql.y:1543 { if len(yyDollar[1].str) == 0 { yylex.Error("the anonymous user is not a valid role name") @@ -7649,219 +7659,219 @@ yydefault: } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1555 +//line sql.y:1553 { yyVAL.accountNames = []AccountName{yyDollar[1].accountName} } case 245: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1559 +//line sql.y:1557 { yyVAL.accountNames = append(yyDollar[1].accountNames, yyDollar[3].accountName) } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1565 +//line sql.y:1563 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName} } case 247: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1569 +//line sql.y:1567 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication} } case 248: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1573 +//line sql.y:1571 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, AuthInitial: yyDollar[5].authentication} } case 249: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1577 +//line sql.y:1575 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication} } case 250: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1581 +//line sql.y:1579 { yyVAL.accountWithAuth = AccountWithAuth{AccountName: yyDollar[1].accountName, Auth1: yyDollar[2].authentication, Auth2: yyDollar[4].authentication, Auth3: yyDollar[6].authentication} } case 251: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1587 +//line sql.y:1585 { yyVAL.authentication = &Authentication{RandomPassword: true} } case 252: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1591 +//line sql.y:1589 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } case 253: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1595 +//line sql.y:1593 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes)} } case 254: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1599 +//line sql.y:1597 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), RandomPassword: true} } case 255: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1603 +//line sql.y:1601 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Password: string(yyDollar[5].bytes)} } case 256: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1607 +//line sql.y:1605 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } case 257: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1613 +//line sql.y:1611 { yyVAL.authentication = &Authentication{RandomPassword: true} } case 258: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1617 +//line sql.y:1615 { yyVAL.authentication = &Authentication{Password: string(yyDollar[3].bytes)} } case 259: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1621 +//line sql.y:1619 { yyVAL.authentication = &Authentication{Plugin: string(yyDollar[3].bytes), Identity: string(yyDollar[5].bytes)} } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1627 +//line sql.y:1625 { yyVAL.accountsWithAuth = []AccountWithAuth{yyDollar[1].accountWithAuth} } case 261: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1631 +//line sql.y:1629 { yyVAL.accountsWithAuth = append(yyDollar[1].accountsWithAuth, yyDollar[3].accountWithAuth) } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1637 +//line sql.y:1635 { yyVAL.str = BeforeStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1641 +//line sql.y:1639 { yyVAL.str = AfterStr } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1647 +//line sql.y:1645 { yyVAL.str = InsertStr } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1651 +//line sql.y:1649 { yyVAL.str = UpdateStr } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1655 +//line sql.y:1653 { yyVAL.str = DeleteStr } case 267: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1660 +//line sql.y:1658 { yyVAL.triggerOrder = nil } case 268: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1664 +//line sql.y:1662 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: FollowsStr, OtherTriggerName: string(yyDollar[2].bytes)} } case 269: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1668 +//line sql.y:1666 { yyVAL.triggerOrder = &TriggerOrder{PrecedesOrFollows: PrecedesStr, OtherTriggerName: string(yyDollar[2].bytes)} } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1674 +//line sql.y:1672 { yyVAL.statement = yyDollar[1].statement } case 275: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1684 +//line sql.y:1682 { yyVAL.statement = &BeginEndBlock{Statements: yyDollar[2].statements} } case 276: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1690 +//line sql.y:1688 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases} } case 277: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1694 +//line sql.y:1692 { yyVAL.statement = &CaseStatement{Expr: yyDollar[2].expr, Cases: yyDollar[3].caseStatementCases, Else: yyDollar[5].statements} } case 278: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1700 +//line sql.y:1698 { yyVAL.caseStatementCases = []CaseStatementCase{yyDollar[1].caseStatementCase} } case 279: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1704 +//line sql.y:1702 { yyVAL.caseStatementCases = append(yyVAL.caseStatementCases, yyDollar[2].caseStatementCase) } case 280: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1710 +//line sql.y:1708 { yyVAL.caseStatementCase = CaseStatementCase{Case: yyDollar[2].expr, Statements: yyDollar[4].statements} } case 281: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1716 +//line sql.y:1714 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds} } case 282: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:1721 +//line sql.y:1719 { conds := []IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}} yyVAL.statement = &IfStatement{Conditions: conds, Else: yyDollar[7].statements} } case 283: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1726 +//line sql.y:1724 { conds := yyDollar[6].ifStatementConditions conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) @@ -7869,7 +7879,7 @@ yydefault: } case 284: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:1732 +//line sql.y:1730 { conds := yyDollar[6].ifStatementConditions conds = append([]IfStatementCondition{IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements}}, conds...) @@ -7877,332 +7887,332 @@ yydefault: } case 285: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1740 +//line sql.y:1738 { yyVAL.ifStatementConditions = []IfStatementCondition{yyDollar[1].ifStatementCondition} } case 286: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1744 +//line sql.y:1742 { yyVAL.ifStatementConditions = append(yyVAL.ifStatementConditions, yyDollar[2].ifStatementCondition) } case 287: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1750 +//line sql.y:1748 { yyVAL.ifStatementCondition = IfStatementCondition{Expr: yyDollar[2].expr, Statements: yyDollar[4].statements} } case 288: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1756 +//line sql.y:1754 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), SqlStateValue: string(yyDollar[5].bytes)}} } case 289: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1760 +//line sql.y:1758 { yyVAL.statement = &Declare{Condition: &DeclareCondition{Name: string(yyDollar[2].bytes), MysqlErrorCode: NewIntVal(yyDollar[5].bytes)}} } case 290: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1764 +//line sql.y:1762 { yyVAL.statement = &Declare{Cursor: &DeclareCursor{Name: string(yyDollar[2].bytes), SelectStmt: yyDollar[5].selStmt}} } case 291: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1768 +//line sql.y:1766 { yyVAL.statement = &Declare{Handler: &DeclareHandler{Action: yyDollar[2].declareHandlerAction, ConditionValues: yyDollar[5].declareHandlerConditions, Statement: yyDollar[6].statement}} } case 292: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1772 +//line sql.y:1770 { yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } case 293: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1776 +//line sql.y:1774 { yyDollar[3].columnType.Default = yyDollar[5].expr yyVAL.statement = &Declare{Variables: &DeclareVariables{Names: yyDollar[2].colIdents, VarType: yyDollar[3].columnType}} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1783 +//line sql.y:1781 { yyVAL.declareHandlerAction = DeclareHandlerAction_Continue } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1787 +//line sql.y:1785 { yyVAL.declareHandlerAction = DeclareHandlerAction_Exit } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1791 +//line sql.y:1789 { yyVAL.declareHandlerAction = DeclareHandlerAction_Undo } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1797 +//line sql.y:1795 { yyVAL.declareHandlerConditions = []DeclareHandlerCondition{yyDollar[1].declareHandlerCondition} } case 298: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1801 +//line sql.y:1799 { yyVAL.declareHandlerConditions = append(yyVAL.declareHandlerConditions, yyDollar[3].declareHandlerCondition) } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1807 +//line sql.y:1805 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_MysqlErrorCode, MysqlErrorCode: NewIntVal(yyDollar[1].bytes)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1811 +//line sql.y:1809 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlState, String: string(yyDollar[1].bytes)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1815 +//line sql.y:1813 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlWarning} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1819 +//line sql.y:1817 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_NotFound} } case 303: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1823 +//line sql.y:1821 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_SqlException} } case 304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1827 +//line sql.y:1825 { yyVAL.declareHandlerCondition = DeclareHandlerCondition{ValueType: DeclareHandlerCondition_ConditionName, String: string(yyDollar[1].bytes)} } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1833 +//line sql.y:1831 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes)} } case 306: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1837 +//line sql.y:1835 { yyVAL.statement = &Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } case 307: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1841 +//line sql.y:1839 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes)} } case 308: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1845 +//line sql.y:1843 { yyVAL.statement = &Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1851 +//line sql.y:1849 { yyVAL.bytes = yyDollar[2].bytes } case 310: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1855 +//line sql.y:1853 { yyVAL.bytes = yyDollar[3].bytes } case 311: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1861 +//line sql.y:1859 { yyVAL.signalInfos = []SignalInfo{yyDollar[1].signalInfo} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1865 +//line sql.y:1863 { yyVAL.signalInfos = append(yyVAL.signalInfos, yyDollar[3].signalInfo) } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1871 +//line sql.y:1869 { yyVAL.signalInfo = SignalInfo{ConditionItemName: yyDollar[1].signalConditionItemName, Value: yyDollar[3].expr.(*SQLVal)} } case 314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1877 +//line sql.y:1875 { yyVAL.signalConditionItemName = SignalConditionItemName_ClassOrigin } case 315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1881 +//line sql.y:1879 { yyVAL.signalConditionItemName = SignalConditionItemName_SubclassOrigin } case 316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1885 +//line sql.y:1883 { yyVAL.signalConditionItemName = SignalConditionItemName_MessageText } case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1889 +//line sql.y:1887 { yyVAL.signalConditionItemName = SignalConditionItemName_MysqlErrno } case 318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1893 +//line sql.y:1891 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintCatalog } case 319: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1897 +//line sql.y:1895 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintSchema } case 320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1901 +//line sql.y:1899 { yyVAL.signalConditionItemName = SignalConditionItemName_ConstraintName } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1905 +//line sql.y:1903 { yyVAL.signalConditionItemName = SignalConditionItemName_CatalogName } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1909 +//line sql.y:1907 { yyVAL.signalConditionItemName = SignalConditionItemName_SchemaName } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1913 +//line sql.y:1911 { yyVAL.signalConditionItemName = SignalConditionItemName_TableName } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1917 +//line sql.y:1915 { yyVAL.signalConditionItemName = SignalConditionItemName_ColumnName } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1921 +//line sql.y:1919 { yyVAL.signalConditionItemName = SignalConditionItemName_CursorName } case 326: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1927 +//line sql.y:1925 { yyVAL.statement = &Resignal{} } case 327: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1931 +//line sql.y:1929 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes)}} } case 328: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1935 +//line sql.y:1933 { yyVAL.statement = &Resignal{Signal{SqlStateValue: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } case 329: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1939 +//line sql.y:1937 { yyVAL.statement = &Resignal{Signal{Info: yyDollar[3].signalInfos}} } case 330: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1943 +//line sql.y:1941 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes)}} } case 331: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1947 +//line sql.y:1945 { yyVAL.statement = &Resignal{Signal{ConditionName: string(yyDollar[2].bytes), Info: yyDollar[4].signalInfos}} } case 332: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1953 +//line sql.y:1951 { yyVAL.statement = &Call{FuncName: string(yyDollar[2].bytes), Params: yyDollar[3].exprs} } case 333: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1958 +//line sql.y:1956 { yyVAL.exprs = nil } case 334: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1962 +//line sql.y:1960 { yyVAL.exprs = nil } case 335: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1966 +//line sql.y:1964 { yyVAL.exprs = yyDollar[2].exprs } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1972 +//line sql.y:1970 { yyVAL.statements = Statements{yyDollar[1].statement} } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1976 +//line sql.y:1974 { yyVAL.statements = append(yyVAL.statements, yyDollar[3].statement) } case 338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1982 +//line sql.y:1980 { yyVAL.statement = yyDollar[1].selStmt } case 368: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2017 +//line sql.y:2015 { var ne bool if yyDollar[4].byt != 0 { @@ -8218,28 +8228,28 @@ yydefault: } case 369: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2033 +//line sql.y:2031 { yyVAL.TableSpec = yyDollar[2].TableSpec yyVAL.TableSpec.Options = yyDollar[4].str } case 370: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2040 +//line sql.y:2038 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) } case 371: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2045 +//line sql.y:2043 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddConstraint(yyDollar[1].constraintDefinition) } case 372: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2050 +//line sql.y:2048 { yyVAL.TableSpec = &TableSpec{} yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition) @@ -8247,38 +8257,38 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2056 +//line sql.y:2054 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) } case 374: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2060 +//line sql.y:2058 { yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition) yyVAL.TableSpec.AddConstraint(yyDollar[4].constraintDefinition) } case 375: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2065 +//line sql.y:2063 { yyVAL.TableSpec.AddIndex(yyDollar[3].indexDefinition) } case 376: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2069 +//line sql.y:2067 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } case 377: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2073 +//line sql.y:2071 { yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } case 378: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2079 +//line sql.y:2077 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8288,7 +8298,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2087 +//line sql.y:2085 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8298,7 +8308,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2097 +//line sql.y:2095 { if err := yyDollar[2].columnType.merge(yyDollar[3].columnType); err != nil { yylex.Error(err.Error()) @@ -8308,13 +8318,13 @@ yydefault: } case 381: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2106 +//line sql.y:2104 { yyVAL.columnType = ColumnType{} } case 382: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2110 +//line sql.y:2108 { opt := ColumnType{Null: BoolVal(true), NotNull: BoolVal(false), sawnull: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8325,7 +8335,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2119 +//line sql.y:2117 { opt := ColumnType{Null: BoolVal(false), NotNull: BoolVal(true), sawnull: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8336,7 +8346,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2128 +//line sql.y:2126 { opt := ColumnType{Default: yyDollar[2].optVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8347,7 +8357,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2137 +//line sql.y:2135 { opt := ColumnType{OnUpdate: yyDollar[2].optVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8358,7 +8368,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2146 +//line sql.y:2144 { opt := ColumnType{Autoincrement: yyDollar[2].boolVal, sawai: true} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8369,7 +8379,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2155 +//line sql.y:2153 { opt := ColumnType{KeyOpt: yyDollar[2].colKeyOpt} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8380,7 +8390,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2164 +//line sql.y:2162 { opt := ColumnType{Comment: yyDollar[2].sqlVal} if err := yyDollar[1].columnType.merge(opt); err != nil { @@ -8391,7 +8401,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2175 +//line sql.y:2173 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].boolVal @@ -8399,80 +8409,80 @@ yydefault: } case 393: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2186 +//line sql.y:2184 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].sqlVal } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2191 +//line sql.y:2189 { yyVAL.columnType = yyDollar[1].columnType } case 395: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2197 +//line sql.y:2195 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2201 +//line sql.y:2199 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 397: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2205 +//line sql.y:2203 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 398: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2209 +//line sql.y:2207 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 399: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2213 +//line sql.y:2211 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 400: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2217 +//line sql.y:2215 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 401: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2221 +//line sql.y:2219 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 402: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2225 +//line sql.y:2223 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 403: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2229 +//line sql.y:2227 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 404: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2233 +//line sql.y:2231 { yyVAL.columnType = ColumnType{Type: "bigint", Unsigned: true, NotNull: true, Autoincrement: true, KeyOpt: colKeyUnique} } case 405: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2239 +//line sql.y:2237 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8480,7 +8490,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2245 +//line sql.y:2243 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8488,7 +8498,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2251 +//line sql.y:2249 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} yyVAL.columnType.Length = yyDollar[3].LengthScaleOption.Length @@ -8496,7 +8506,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2257 +//line sql.y:2255 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8504,7 +8514,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2263 +//line sql.y:2261 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8512,7 +8522,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2269 +//line sql.y:2267 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8520,7 +8530,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2275 +//line sql.y:2273 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8528,7 +8538,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2281 +//line sql.y:2279 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -8536,266 +8546,266 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2289 +//line sql.y:2287 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 414: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2293 +//line sql.y:2291 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 415: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2297 +//line sql.y:2295 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 416: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2301 +//line sql.y:2299 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 417: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2305 +//line sql.y:2303 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 418: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2311 +//line sql.y:2309 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 419: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2315 +//line sql.y:2313 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 420: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2319 +//line sql.y:2317 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } case 421: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2323 +//line sql.y:2321 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } case 422: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2327 +//line sql.y:2325 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 423: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2331 +//line sql.y:2329 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 424: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2335 +//line sql.y:2333 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal, Charset: yyDollar[4].str, Collate: yyDollar[5].str} } case 425: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2339 +//line sql.y:2337 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 426: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2343 +//line sql.y:2341 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Length: yyDollar[3].sqlVal} } case 427: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2347 +//line sql.y:2345 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Length: yyDollar[4].sqlVal} } case 428: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2351 +//line sql.y:2349 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 429: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2355 +//line sql.y:2353 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } case 430: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2359 +//line sql.y:2357 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 431: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2363 +//line sql.y:2361 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 432: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2367 +//line sql.y:2365 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 433: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2371 +//line sql.y:2369 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 434: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2375 +//line sql.y:2373 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 435: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2379 +//line sql.y:2377 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 436: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2383 +//line sql.y:2381 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 437: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2387 +//line sql.y:2385 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 438: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2391 +//line sql.y:2389 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 439: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2395 +//line sql.y:2393 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 440: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2399 +//line sql.y:2397 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 441: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2403 +//line sql.y:2401 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } case 442: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2408 +//line sql.y:2406 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } case 443: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2414 +//line sql.y:2412 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 444: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2418 +//line sql.y:2416 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 445: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2422 +//line sql.y:2420 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 446: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2426 +//line sql.y:2424 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 447: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2430 +//line sql.y:2428 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 448: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2434 +//line sql.y:2432 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 449: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2438 +//line sql.y:2436 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 450: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2442 +//line sql.y:2440 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 451: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2448 +//line sql.y:2446 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, string(yyDollar[1].bytes)) } case 452: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2453 +//line sql.y:2451 { yyVAL.strs = append(yyDollar[1].strs, string(yyDollar[3].bytes)) } case 453: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2458 +//line sql.y:2456 { yyVAL.sqlVal = nil } case 454: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2462 +//line sql.y:2460 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } case 455: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2467 +//line sql.y:2465 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 456: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2471 +//line sql.y:2469 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), @@ -8804,13 +8814,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2479 +//line sql.y:2477 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 458: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2483 +//line sql.y:2481 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), @@ -8818,7 +8828,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2489 +//line sql.y:2487 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntVal(yyDollar[2].bytes), @@ -8827,332 +8837,314 @@ yydefault: } case 460: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2497 +//line sql.y:2495 { yyVAL.boolVal = BoolVal(false) } case 461: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2501 +//line sql.y:2499 { yyVAL.boolVal = BoolVal(true) } case 462: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2506 +//line sql.y:2504 { yyVAL.boolVal = BoolVal(false) } case 463: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2510 +//line sql.y:2508 { yyVAL.boolVal = BoolVal(true) } case 464: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2516 +//line sql.y:2514 { yyVAL.optVal = yyDollar[2].expr } case 465: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2522 +//line sql.y:2520 { yyVAL.optVal = yyDollar[3].expr } case 466: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2528 +//line sql.y:2526 { yyVAL.boolVal = BoolVal(true) } case 467: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2533 +//line sql.y:2531 { yyVAL.str = "" } case 468: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2537 +//line sql.y:2535 { yyVAL.str = string(yyDollar[3].bytes) } case 469: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2541 +//line sql.y:2539 { yyVAL.str = string(yyDollar[3].bytes) } case 470: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2546 +//line sql.y:2544 { yyVAL.str = "" } case 471: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2550 +//line sql.y:2548 { yyVAL.str = string(yyDollar[2].bytes) } case 472: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2554 +//line sql.y:2552 { yyVAL.str = string(yyDollar[2].bytes) } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2560 +//line sql.y:2558 { yyVAL.colKeyOpt = colKeyPrimary } case 474: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2564 +//line sql.y:2562 { yyVAL.colKeyOpt = colKey } case 475: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2568 +//line sql.y:2566 { yyVAL.colKeyOpt = colKeyUniqueKey } case 476: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2572 +//line sql.y:2570 { yyVAL.colKeyOpt = colKeyUnique } case 477: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2578 +//line sql.y:2576 { yyVAL.sqlVal = NewStrVal(yyDollar[2].bytes) } case 478: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2584 +//line sql.y:2582 { - yyVAL.statement = &Flush{Type: yyDollar[2].str, Options: yyDollar[3].flushOptions} + yyVAL.statement = &Flush{Type: yyDollar[2].str, Option: yyDollar[3].flushOption} } case 479: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2590 - { - yyVAL.flushOptions = yyDollar[1].flushOptions - } - case 480: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2596 - { - yyVAL.flushOptions = []*FlushOption{yyDollar[1].flushOption} - } - case 481: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2598 - { - yyVAL.flushOptions = append(yyVAL.flushOptions, yyDollar[2].flushOption) - } - case 482: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2602 +//line sql.y:2588 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } - case 483: + case 480: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2606 +//line sql.y:2592 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } - case 484: + case 481: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2610 +//line sql.y:2596 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } - case 485: + case 482: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2614 +//line sql.y:2600 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } - case 486: + case 483: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2618 +//line sql.y:2604 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } - case 487: + case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2622 +//line sql.y:2608 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } - case 488: + case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2626 +//line sql.y:2612 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } - case 489: + case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2630 +//line sql.y:2616 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } - case 490: + case 487: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2634 +//line sql.y:2620 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Channel: yyDollar[3].str} } - case 491: + case 488: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2638 +//line sql.y:2624 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)} } - case 492: + case 489: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2642 +//line sql.y:2628 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } - case 493: + case 490: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2646 +//line sql.y:2632 { yyVAL.flushOption = &FlushOption{Name: string(yyDollar[1].bytes)} } - case 494: + case 491: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2651 +//line sql.y:2637 { yyVAL.str = "" } - case 495: + case 492: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2653 +//line sql.y:2639 { yyVAL.str = string(yyDollar[3].bytes) } - case 496: + case 493: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2657 +//line sql.y:2643 { yyVAL.str = string(yyDollar[1].bytes) } - case 497: + case 494: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2659 +//line sql.y:2645 { yyVAL.str = string(yyDollar[1].bytes) } - case 498: + case 495: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2662 +//line sql.y:2648 { yyVAL.str = "" } - case 499: + case 496: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2664 +//line sql.y:2650 { yyVAL.str = yyDollar[1].str } - case 500: + case 497: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2668 +//line sql.y:2654 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Options: yyDollar[5].indexOptions} } - case 501: + case 498: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2672 +//line sql.y:2658 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns} } - case 502: + case 499: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2677 +//line sql.y:2663 { yyVAL.indexOptions = nil } - case 503: + case 500: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2681 +//line sql.y:2667 { yyVAL.indexOptions = yyDollar[1].indexOptions } - case 504: + case 501: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2687 +//line sql.y:2673 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 505: + case 502: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2691 +//line sql.y:2677 { yyVAL.indexOptions = append(yyVAL.indexOptions, yyDollar[2].indexOption) } - case 506: + case 503: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2697 +//line sql.y:2683 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Using: string(yyDollar[2].bytes)} } - case 507: + case 504: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2701 +//line sql.y:2687 { // should not be string yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewIntVal(yyDollar[3].bytes)} } - case 508: + case 505: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2706 +//line sql.y:2692 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewStrVal(yyDollar[2].bytes)} } - case 509: + case 506: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2712 +//line sql.y:2698 { yyVAL.str = "" } - case 510: + case 507: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2716 +//line sql.y:2702 { yyVAL.str = string(yyDollar[1].bytes) } - case 511: + case 508: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2722 +//line sql.y:2708 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } - case 512: + case 509: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2726 +//line sql.y:2712 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].bytes), Name: NewColIdent(string(yyDollar[2].bytes)), Primary: true, Unique: true} } - case 513: + case 510: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2730 +//line sql.y:2716 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } - case 514: + case 511: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2734 +//line sql.y:2720 { var name string name = yyDollar[2].str @@ -9161,351 +9153,351 @@ yydefault: } yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[3].bytes) + " " + string(yyDollar[4].str), Name: NewColIdent(name), Unique: true} } - case 515: + case 512: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2743 +//line sql.y:2729 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Unique: true} } - case 516: + case 513: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2747 +//line sql.y:2733 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes), Name: NewColIdent(yyDollar[2].str), Unique: true} } - case 517: + case 514: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2751 +//line sql.y:2737 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } - case 518: + case 515: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2757 +//line sql.y:2743 { yyVAL.str = string(yyDollar[1].bytes) } - case 519: + case 516: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2761 +//line sql.y:2747 { yyVAL.str = string(yyDollar[1].bytes) } - case 520: + case 517: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2765 +//line sql.y:2751 { yyVAL.str = string(yyDollar[1].bytes) } - case 521: + case 518: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2771 +//line sql.y:2757 { yyVAL.str = string(yyDollar[1].bytes) } - case 522: + case 519: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2775 +//line sql.y:2761 { yyVAL.str = string(yyDollar[1].bytes) } - case 523: + case 520: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2780 +//line sql.y:2766 { yyVAL.str = "" } - case 524: + case 521: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2784 +//line sql.y:2770 { yyVAL.str = yyDollar[1].str } - case 525: + case 522: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2789 +//line sql.y:2775 { yyVAL.str = "" } - case 526: + case 523: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2793 +//line sql.y:2779 { yyVAL.str = string(yyDollar[1].bytes) } - case 527: + case 524: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2799 +//line sql.y:2785 { yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn} } - case 528: + case 525: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2803 +//line sql.y:2789 { yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn) } - case 529: + case 526: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2809 +//line sql.y:2795 { yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } - case 530: + case 527: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2813 +//line sql.y:2799 { yyVAL.indexColumn = &IndexColumn{Column: NewColIdent(string(yyDollar[1].bytes)), Length: yyDollar[2].sqlVal, Order: yyDollar[3].str} } - case 531: + case 528: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2819 +//line sql.y:2805 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 532: + case 529: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2823 +//line sql.y:2809 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 533: + case 530: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2827 +//line sql.y:2813 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 534: + case 531: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2833 +//line sql.y:2819 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns} } - case 535: + case 532: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2837 +//line sql.y:2823 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction} } - case 536: + case 533: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:2841 +//line sql.y:2827 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnUpdate: yyDollar[11].ReferenceAction} } - case 537: + case 534: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2845 +//line sql.y:2831 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction, OnUpdate: yyDollar[12].ReferenceAction} } - case 538: + case 535: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2849 +//line sql.y:2835 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[12].ReferenceAction, OnUpdate: yyDollar[11].ReferenceAction} } - case 539: + case 536: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2855 +//line sql.y:2841 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 540: + case 537: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2859 +//line sql.y:2845 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo} } - case 541: + case 538: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2863 +//line sql.y:2849 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[2].constraintInfo} } - case 542: + case 539: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2867 +//line sql.y:2853 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 543: + case 540: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2873 +//line sql.y:2859 { yyVAL.constraintInfo = &CheckConstraintDefinition{Expr: yyDollar[3].expr, Enforced: yyDollar[5].boolean} } - case 544: + case 541: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2879 +//line sql.y:2865 { yyVAL.str = string(yyDollar[1].bytes) } - case 545: + case 542: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2883 +//line sql.y:2869 { yyVAL.str = string(yyDollar[1].bytes) } - case 546: + case 543: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2888 +//line sql.y:2874 { yyVAL.str = "" } - case 547: + case 544: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2892 +//line sql.y:2878 { yyVAL.str = string(yyDollar[2].bytes) } - case 548: + case 545: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2896 +//line sql.y:2882 { yyVAL.str = string(yyDollar[2].bytes) } - case 549: + case 546: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2902 +//line sql.y:2888 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 550: + case 547: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2908 +//line sql.y:2894 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 551: + case 548: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2914 +//line sql.y:2900 { yyVAL.ReferenceAction = Restrict } - case 552: + case 549: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2918 +//line sql.y:2904 { yyVAL.ReferenceAction = Cascade } - case 553: + case 550: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2922 +//line sql.y:2908 { yyVAL.ReferenceAction = NoAction } - case 554: + case 551: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2926 +//line sql.y:2912 { yyVAL.ReferenceAction = SetDefault } - case 555: + case 552: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2930 +//line sql.y:2916 { yyVAL.ReferenceAction = SetNull } - case 556: + case 553: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2935 +//line sql.y:2921 { yyVAL.boolean = true } - case 557: + case 554: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2939 +//line sql.y:2925 { yyVAL.boolean = true } - case 558: + case 555: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2943 +//line sql.y:2929 { yyVAL.boolean = false } - case 559: + case 556: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2948 +//line sql.y:2934 { yyVAL.str = "" } - case 560: + case 557: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2952 +//line sql.y:2938 { yyVAL.str = " " + string(yyDollar[1].str) } - case 561: + case 558: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2956 +//line sql.y:2942 { yyVAL.str = string(yyDollar[1].str) + ", " + string(yyDollar[3].str) } - case 562: + case 559: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2964 +//line sql.y:2950 { yyVAL.str = yyDollar[1].str } - case 563: + case 560: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2968 +//line sql.y:2954 { yyVAL.str = yyDollar[1].str + " " + yyDollar[2].str } - case 564: + case 561: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2972 +//line sql.y:2958 { yyVAL.str = yyDollar[1].str + "=" + yyDollar[3].str } - case 565: + case 562: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2978 +//line sql.y:2964 { yyVAL.str = yyDollar[1].colIdent.String() } - case 566: + case 563: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2982 +//line sql.y:2968 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'" } - case 567: + case 564: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2986 +//line sql.y:2972 { yyVAL.str = string(yyDollar[1].bytes) } - case 568: + case 565: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2991 +//line sql.y:2977 { yyVAL.str = "" } - case 569: + case 566: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2995 +//line sql.y:2981 { yyVAL.str = string(yyDollar[2].bytes) } - case 570: + case 567: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3000 +//line sql.y:2986 { yyVAL.str = string("") } - case 571: + case 568: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3004 +//line sql.y:2990 { yyVAL.str = string(yyDollar[2].bytes) } - case 573: + case 570: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3013 +//line sql.y:2999 { for i := 0; i < len(yyDollar[5].ddls); i++ { if yyDollar[5].ddls[i].Action == RenameStr { @@ -9516,279 +9508,279 @@ yydefault: } yyVAL.statement = &MultiAlterDDL{Table: yyDollar[4].tableName, Statements: yyDollar[5].ddls} } - case 574: + case 571: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3026 +//line sql.y:3012 { yyVAL.ddls = []*DDL{yyDollar[1].ddl} } - case 575: + case 572: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3030 +//line sql.y:3016 { yyVAL.ddls = append(yyVAL.ddls, yyDollar[3].ddl) } - case 576: + case 573: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3036 +//line sql.y:3022 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) ddl.Column = yyDollar[4].columnDefinition.Name yyVAL.ddl = ddl } - case 577: + case 574: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3043 +//line sql.y:3029 { ddl := &DDL{Action: AlterStr, ColumnAction: AddStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 578: + case 575: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3050 +//line sql.y:3036 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: DropStr, Column: NewColIdent(string(yyDollar[3].bytes))} } - case 579: + case 576: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3054 +//line sql.y:3040 { yyVAL.ddl = &DDL{Action: AlterStr, ColumnAction: RenameStr, Column: NewColIdent(string(yyDollar[3].bytes)), ToColumn: NewColIdent(string(yyDollar[5].bytes))} } - case 580: + case 577: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3058 +//line sql.y:3044 { // Change this to a rename statement yyVAL.ddl = &DDL{Action: RenameStr, ToTables: TableNames{yyDollar[3].tableName}} } - case 581: + case 578: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3063 +//line sql.y:3049 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[3].str), Using: yyDollar[4].colIdent, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions}} } - case 582: + case 579: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:3067 +//line sql.y:3053 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr, ToName: NewColIdent(yyDollar[5].str), Type: yyDollar[3].str, Using: yyDollar[6].colIdent, Columns: yyDollar[8].indexColumns, Options: yyDollar[10].indexOptions}} } - case 583: + case 580: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3071 +//line sql.y:3057 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 584: + case 581: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3076 +//line sql.y:3062 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes)}}}} } - case 585: + case 582: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3081 +//line sql.y:3067 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 586: + case 583: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3086 +//line sql.y:3072 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[3].bytes), Details: &CheckConstraintDefinition{}}}}} } - case 587: + case 584: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3091 +//line sql.y:3077 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 588: + case 585: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3095 +//line sql.y:3081 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: RenameStr, FromName: yyDollar[3].colIdent, ToName: yyDollar[5].colIdent}} } - case 589: + case 586: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3099 +//line sql.y:3085 { ddl := &DDL{Action: AlterStr, ColumnAction: ModifyStr, TableSpec: &TableSpec{}, ColumnOrder: yyDollar[4].columnOrder} ddl.TableSpec.AddColumn(yyDollar[3].columnDefinition) ddl.Column = yyDollar[3].columnDefinition.Name yyVAL.ddl = ddl } - case 590: + case 587: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3106 +//line sql.y:3092 { ddl := &DDL{Action: AlterStr, ColumnAction: ChangeStr, TableSpec: &TableSpec{}, Column: NewColIdent(string(yyDollar[3].bytes)), ColumnOrder: yyDollar[5].columnOrder} ddl.TableSpec.AddColumn(yyDollar[4].columnDefinition) yyVAL.ddl = ddl } - case 591: + case 588: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3112 +//line sql.y:3098 { yyVAL.ddl = &DDL{Action: AlterStr, PartitionSpec: yyDollar[1].partSpec} } - case 592: + case 589: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3116 +//line sql.y:3102 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 593: + case 590: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3122 +//line sql.y:3108 { ddl := &DDL{Action: AlterStr, ConstraintAction: AddStr, TableSpec: &TableSpec{}} ddl.TableSpec.AddConstraint(yyDollar[2].constraintDefinition) yyVAL.ddl = ddl } - case 594: + case 591: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3128 +//line sql.y:3114 { yyVAL.ddl = &DDL{Action: AlterStr, ConstraintAction: DropStr, TableSpec: &TableSpec{Constraints: []*ConstraintDefinition{&ConstraintDefinition{Name: string(yyDollar[4].bytes), Details: &ForeignKeyDefinition{}}}}} } - case 595: + case 592: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3133 +//line sql.y:3119 { yyVAL.ddl = &DDL{Action: AlterStr, AutoIncSpec: &AutoIncSpec{Value: yyDollar[3].expr}} } - case 596: + case 593: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3137 +//line sql.y:3123 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: SetStr, Column: yyDollar[3].colIdent, Value: yyDollar[6].expr}} } - case 597: + case 594: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3141 +//line sql.y:3127 { yyVAL.ddl = &DDL{Action: AlterStr, DefaultSpec: &DefaultSpec{Action: DropStr, Column: yyDollar[3].colIdent}} } - case 598: + case 595: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3145 +//line sql.y:3131 { yyVAL.ddl = &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: DropStr, Type: PrimaryStr}} } - case 599: + case 596: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3149 +//line sql.y:3135 { ddl := &DDL{Action: AlterStr, IndexSpec: &IndexSpec{Action: CreateStr}} ddl.IndexSpec = &IndexSpec{Action: CreateStr, Using: NewColIdent(""), ToName: NewColIdent(yyDollar[2].str), Type: PrimaryStr, Columns: yyDollar[6].indexColumns, Options: yyDollar[8].indexOptions} yyVAL.ddl = ddl } - case 600: + case 597: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3156 +//line sql.y:3142 { yyVAL.columnOrder = nil } - case 601: + case 598: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3160 +//line sql.y:3146 { yyVAL.columnOrder = &ColumnOrder{First: true} } - case 602: + case 599: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3164 +//line sql.y:3150 { yyVAL.columnOrder = &ColumnOrder{AfterColumn: NewColIdent(string(yyDollar[2].bytes))} } - case 603: + case 600: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3169 +//line sql.y:3155 { } - case 604: + case 601: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3171 +//line sql.y:3157 { } - case 605: + case 602: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3175 +//line sql.y:3161 { yyVAL.partSpec = &PartitionSpec{Action: ReorganizeStr, Name: yyDollar[3].colIdent, Definitions: yyDollar[6].partDefs} } - case 606: + case 603: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3181 +//line sql.y:3167 { yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef} } - case 607: + case 604: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3185 +//line sql.y:3171 { yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef) } - case 608: + case 605: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3191 +//line sql.y:3177 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr} } - case 609: + case 606: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3195 +//line sql.y:3181 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} } - case 610: + case 607: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3201 +//line sql.y:3187 { yyVAL.statement = yyDollar[3].ddl } - case 611: + case 608: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3205 +//line sql.y:3191 { yyVAL.statement = &RenameUser{Accounts: yyDollar[3].accountRenames} } - case 612: + case 609: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3211 +//line sql.y:3197 { yyVAL.ddl = &DDL{Action: RenameStr, FromTables: TableNames{yyDollar[1].tableName}, ToTables: TableNames{yyDollar[3].tableName}} } - case 613: + case 610: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3215 +//line sql.y:3201 { yyVAL.ddl = yyDollar[1].ddl yyVAL.ddl.FromTables = append(yyVAL.ddl.FromTables, yyDollar[3].tableName) yyVAL.ddl.ToTables = append(yyVAL.ddl.ToTables, yyDollar[5].tableName) } - case 614: + case 611: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3223 +//line sql.y:3209 { yyVAL.accountRenames = []AccountRename{{From: yyDollar[1].accountName, To: yyDollar[3].accountName}} } - case 615: + case 612: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3227 +//line sql.y:3213 { yyVAL.accountRenames = append(yyDollar[1].accountRenames, AccountRename{From: yyDollar[3].accountName, To: yyDollar[5].accountName}) } - case 616: + case 613: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3233 +//line sql.y:3219 { var exists bool if yyDollar[3].byt != 0 { @@ -9796,15 +9788,15 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromTables: yyDollar[4].tableNames, IfExists: exists} } - case 617: + case 614: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3241 +//line sql.y:3227 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[5].tableName, IndexSpec: &IndexSpec{Action: DropStr, ToName: yyDollar[3].colIdent}} } - case 618: + case 615: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3245 +//line sql.y:3231 { var exists bool if yyDollar[3].byt != 0 { @@ -9812,9 +9804,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromViews: yyDollar[4].tableNames, IfExists: exists} } - case 619: + case 616: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3253 +//line sql.y:3239 { var exists bool if yyDollar[3].byt != 0 { @@ -9822,9 +9814,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes), IfExists: exists} } - case 620: + case 617: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3261 +//line sql.y:3247 { var exists bool if yyDollar[3].byt != 0 { @@ -9832,9 +9824,9 @@ yydefault: } yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes), IfExists: exists} } - case 621: + case 618: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3269 +//line sql.y:3255 { var exists bool if yyDollar[3].byt != 0 { @@ -9842,9 +9834,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, TriggerSpec: &TriggerSpec{Name: string(yyDollar[4].bytes)}, IfExists: exists} } - case 622: + case 619: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3277 +//line sql.y:3263 { var exists bool if yyDollar[3].byt != 0 { @@ -9852,9 +9844,9 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, ProcedureSpec: &ProcedureSpec{Name: string(yyDollar[4].bytes)}, IfExists: exists} } - case 623: + case 620: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3285 +//line sql.y:3271 { var exists bool if yyDollar[3].byt != 0 { @@ -9862,9 +9854,9 @@ yydefault: } yyVAL.statement = &DropUser{IfExists: exists, AccountNames: yyDollar[4].accountNames} } - case 624: + case 621: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3293 +//line sql.y:3279 { var exists bool if yyDollar[3].byt != 0 { @@ -9872,193 +9864,193 @@ yydefault: } yyVAL.statement = &DropRole{IfExists: exists, Roles: yyDollar[4].accountNames} } - case 625: + case 622: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3302 +//line sql.y:3288 { } - case 626: + case 623: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3306 +//line sql.y:3292 { yyVAL.ReferenceAction = Restrict } - case 627: + case 624: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3310 +//line sql.y:3296 { yyVAL.ReferenceAction = Cascade } - case 628: + case 625: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3316 +//line sql.y:3302 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[3].tableName} } - case 629: + case 626: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3320 +//line sql.y:3306 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[2].tableName} } - case 630: + case 627: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3325 +//line sql.y:3311 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[3].tableName} } - case 631: + case 628: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3331 +//line sql.y:3317 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } - case 632: + case 629: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3336 +//line sql.y:3322 { yyVAL.statement = &Show{Type: CharsetStr, Filter: yyDollar[4].showFilter} } - case 633: + case 630: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3340 +//line sql.y:3326 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Filter: yyDollar[3].showFilter} } - case 634: + case 631: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3344 +//line sql.y:3330 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), IfNotExists: yyDollar[4].byt == 1, Database: string(yyDollar[5].bytes)} } - case 635: + case 632: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3348 +//line sql.y:3334 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), IfNotExists: yyDollar[4].byt == 1, Database: string(yyDollar[5].bytes)} } - case 636: + case 633: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3352 +//line sql.y:3338 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } - case 637: + case 634: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3356 +//line sql.y:3342 { yyVAL.statement = &Show{Type: CreateTriggerStr, Table: yyDollar[4].tableName} } - case 638: + case 635: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3360 +//line sql.y:3346 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } - case 639: + case 636: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3364 +//line sql.y:3350 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 640: + case 637: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3368 +//line sql.y:3354 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 641: + case 638: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3372 +//line sql.y:3358 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 642: + case 639: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3376 +//line sql.y:3362 { yyVAL.statement = &Show{Type: IndexStr, Table: yyDollar[4].tableName, Database: yyDollar[5].str, ShowIndexFilterOpt: yyDollar[6].expr} } - case 643: + case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3380 +//line sql.y:3366 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 644: + case 641: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3384 +//line sql.y:3370 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 645: + case 642: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3388 +//line sql.y:3374 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 646: + case 643: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3392 +//line sql.y:3378 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 647: + case 644: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3396 +//line sql.y:3382 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Database: yyDollar[4].str, Filter: yyDollar[5].showFilter} } - case 648: + case 645: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3400 +//line sql.y:3386 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Full: yyDollar[2].boolean} } - case 649: + case 646: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3405 +//line sql.y:3391 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[4].str, Filter: yyDollar[6].showFilter, AsOf: yyDollar[5].expr} yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt, Full: yyDollar[2].boolean} } - case 650: + case 647: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3410 +//line sql.y:3396 { yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), Full: yyDollar[2].boolean} } - case 651: + case 648: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3414 +//line sql.y:3400 { yyVAL.statement = &Show{Type: string(yyDollar[3].bytes), ShowTablesOpt: &ShowTablesOpt{DbName: yyDollar[4].str, Filter: yyDollar[5].showFilter}, Full: yyDollar[2].boolean} } - case 652: + case 649: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3418 +//line sql.y:3404 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes), Filter: yyDollar[4].showFilter} } - case 653: + case 650: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3422 +//line sql.y:3408 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 654: + case 651: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3426 +//line sql.y:3412 { // Cannot dereference $4 directly, or else the parser stackcannot be pooled. See yyParsePooled showCollationFilterOpt := yyDollar[4].expr yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &showCollationFilterOpt} } - case 655: + case 652: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3432 +//line sql.y:3418 { // Cannot dereference $3 directly, or else the parser stackcannot be pooled. See yyParsePooled cmp := yyDollar[3].expr.(*ComparisonExpr) @@ -10066,388 +10058,388 @@ yydefault: var ex Expr = cmp yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &ex} } - case 656: + case 653: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3440 +//line sql.y:3426 { yyVAL.statement = &ShowGrants{} } - case 657: + case 654: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3444 +//line sql.y:3430 { an := yyDollar[4].accountName yyVAL.statement = &ShowGrants{For: &an} } - case 658: + case 655: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3449 +//line sql.y:3435 { yyVAL.statement = &ShowGrants{CurrentUser: true} } - case 659: + case 656: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3453 +//line sql.y:3439 { an := yyDollar[4].accountName yyVAL.statement = &ShowGrants{For: &an, Using: yyDollar[6].accountNames} } - case 660: + case 657: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3458 +//line sql.y:3444 { yyVAL.statement = &ShowPrivileges{} } - case 661: + case 658: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3462 +//line sql.y:3448 { yyVAL.statement = &Show{Type: string(yyDollar[6].bytes), CountStar: true} } - case 662: + case 659: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3466 +//line sql.y:3452 { yyVAL.statement = &Show{Type: string(yyDollar[6].bytes), CountStar: true} } - case 663: + case 660: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3470 +//line sql.y:3456 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Limit: yyDollar[3].limit} } - case 664: + case 661: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3474 +//line sql.y:3460 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), Limit: yyDollar[3].limit} } - case 665: + case 662: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3480 +//line sql.y:3466 { yyVAL.expr = &ComparisonExpr{Operator: LikeStr, Right: yyDollar[2].expr, Escape: yyDollar[3].expr} } - case 666: + case 663: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3486 +//line sql.y:3472 { yyVAL.boolean = false } - case 667: + case 664: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3490 +//line sql.y:3476 { yyVAL.boolean = true } - case 668: + case 665: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3496 +//line sql.y:3482 { yyVAL.str = string(yyDollar[1].bytes) } - case 669: + case 666: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3500 +//line sql.y:3486 { yyVAL.str = string(yyDollar[1].bytes) } - case 670: + case 667: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3506 +//line sql.y:3492 { yyVAL.str = "" } - case 671: + case 668: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3510 +//line sql.y:3496 { yyVAL.str = yyDollar[2].tableIdent.v } - case 672: + case 669: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3514 +//line sql.y:3500 { yyVAL.str = yyDollar[2].tableIdent.v } - case 673: + case 670: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3520 +//line sql.y:3506 { yyVAL.showFilter = nil } - case 674: + case 671: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3524 +//line sql.y:3510 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 675: + case 672: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3528 +//line sql.y:3514 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } - case 676: + case 673: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3534 +//line sql.y:3520 { yyVAL.str = "" } - case 677: + case 674: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3538 +//line sql.y:3524 { yyVAL.str = SessionStr } - case 678: + case 675: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3542 +//line sql.y:3528 { yyVAL.str = GlobalStr } - case 679: + case 676: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3548 +//line sql.y:3534 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } - case 680: + case 677: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3552 +//line sql.y:3538 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } - case 681: + case 678: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3558 +//line sql.y:3544 { yyVAL.statement = &Begin{} } - case 682: + case 679: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3562 +//line sql.y:3548 { yyVAL.statement = yyDollar[1].statement } - case 683: + case 680: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3568 +//line sql.y:3554 { yyVAL.statement = &Begin{} } - case 684: + case 681: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3572 +//line sql.y:3558 { yyVAL.statement = &Begin{TransactionCharacteristic: TxReadWrite} } - case 685: + case 682: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3576 +//line sql.y:3562 { yyVAL.statement = &Begin{TransactionCharacteristic: TxReadOnly} } - case 686: + case 683: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3582 +//line sql.y:3568 { yyVAL.statement = &Commit{} } - case 687: + case 684: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3588 +//line sql.y:3574 { yyVAL.statement = &Rollback{} } - case 688: + case 685: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3594 +//line sql.y:3580 { yyVAL.statement = &Savepoint{Identifier: string(yyDollar[2].bytes)} } - case 689: + case 686: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3600 +//line sql.y:3586 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[3].bytes)} } - case 690: + case 687: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3604 +//line sql.y:3590 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[4].bytes)} } - case 691: + case 688: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3608 +//line sql.y:3594 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[4].bytes)} } - case 692: + case 689: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3612 +//line sql.y:3598 { yyVAL.statement = &RollbackSavepoint{Identifier: string(yyDollar[5].bytes)} } - case 693: + case 690: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3618 +//line sql.y:3604 { yyVAL.statement = &ReleaseSavepoint{Identifier: string(yyDollar[3].bytes)} } - case 694: + case 691: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3623 +//line sql.y:3609 { } - case 695: + case 692: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3624 +//line sql.y:3610 { } - case 696: + case 693: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3628 +//line sql.y:3614 { yyVAL.statement = &Explain{ExplainFormat: yyDollar[2].str, Statement: yyDollar[3].statement} } - case 697: + case 694: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3632 +//line sql.y:3618 { yyVAL.statement = &Explain{Analyze: true, ExplainFormat: TreeStr, Statement: yyDollar[3].selStmt} } - case 698: + case 695: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3638 +//line sql.y:3624 { yyVAL.statement = yyDollar[1].selStmt } - case 702: + case 699: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3646 +//line sql.y:3632 { yyVAL.str = "" } - case 703: + case 700: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3650 +//line sql.y:3636 { yyVAL.str = string(yyDollar[3].bytes) } - case 706: + case 703: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3661 +//line sql.y:3647 { yyVAL.statement = &Show{Type: "columns", OnTable: yyDollar[2].tableName} } - case 707: + case 704: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3666 +//line sql.y:3652 { setAllowComments(yylex, true) } - case 708: + case 705: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3670 +//line sql.y:3656 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 709: + case 706: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3676 +//line sql.y:3662 { yyVAL.bytes2 = nil } - case 710: + case 707: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3680 +//line sql.y:3666 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 711: + case 708: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3686 +//line sql.y:3672 { yyVAL.str = UnionStr } - case 712: + case 709: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3690 +//line sql.y:3676 { yyVAL.str = UnionAllStr } - case 713: + case 710: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3694 +//line sql.y:3680 { yyVAL.str = UnionDistinctStr } - case 714: + case 711: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3699 +//line sql.y:3685 { yyVAL.byt = 0 } - case 715: + case 712: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3703 +//line sql.y:3689 { yyVAL.byt = 1 } - case 716: + case 713: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3708 +//line sql.y:3694 { yyVAL.str = "" } - case 717: + case 714: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3712 +//line sql.y:3698 { yyVAL.str = SQLNoCacheStr } - case 718: + case 715: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3716 +//line sql.y:3702 { yyVAL.str = SQLCacheStr } - case 719: + case 716: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3721 +//line sql.y:3707 { yyVAL.str = "" } - case 720: + case 717: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3725 +//line sql.y:3711 { yyVAL.str = "" } - case 721: + case 718: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3729 +//line sql.y:3715 { yyVAL.str = DistinctStr } - case 722: + case 719: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3734 +//line sql.y:3720 { yyVAL.str = "" } - case 723: + case 720: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3738 +//line sql.y:3724 { yyVAL.str = StraightJoinHint } - case 724: + case 721: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3744 +//line sql.y:3730 { if ae, ok := yyDollar[2].selectExpr.(*AliasedExpr); ok { ae.StartParsePos = yyDollar[1].int @@ -10455,9 +10447,9 @@ yydefault: } yyVAL.selectExprs = SelectExprs{yyDollar[2].selectExpr} } - case 725: + case 722: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3752 +//line sql.y:3738 { if ae, ok := yyDollar[4].selectExpr.(*AliasedExpr); ok { ae.StartParsePos = yyDollar[3].int @@ -10465,129 +10457,129 @@ yydefault: } yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[4].selectExpr) } - case 726: + case 723: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3763 +//line sql.y:3749 { yyVAL.selectExpr = &StarExpr{} } - case 727: + case 724: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3767 +//line sql.y:3753 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr} } - case 728: + case 725: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3771 +//line sql.y:3757 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 729: + case 726: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3775 +//line sql.y:3761 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 730: + case 727: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3781 +//line sql.y:3767 { yyVAL.selectExpr = &StarExpr{} } - case 731: + case 728: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3785 +//line sql.y:3771 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 732: + case 729: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3789 +//line sql.y:3775 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 733: + case 730: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3793 +//line sql.y:3779 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 734: + case 731: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3799 +//line sql.y:3785 { yyVAL.over = &Over{NameRef: yyDollar[2].colIdent} } - case 735: + case 732: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3803 +//line sql.y:3789 { yyVAL.over = (*Over)(yyDollar[2].windowDef) } - case 736: + case 733: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3809 +//line sql.y:3795 { yyVAL.windowDef = &WindowDef{NameRef: yyDollar[2].colIdent, PartitionBy: yyDollar[3].exprs, OrderBy: yyDollar[4].orderBy, Frame: yyDollar[5].frame} } - case 737: + case 734: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3814 +//line sql.y:3800 { yyVAL.colIdent = ColIdent{} } - case 738: + case 735: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3817 +//line sql.y:3803 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 739: + case 736: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3822 +//line sql.y:3808 { yyVAL.exprs = nil } - case 740: + case 737: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3826 +//line sql.y:3812 { yyVAL.exprs = yyDollar[3].exprs } - case 741: + case 738: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3831 +//line sql.y:3817 { yyVAL.over = nil } - case 742: + case 739: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3835 +//line sql.y:3821 { yyVAL.over = yyDollar[1].over } - case 743: + case 740: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3840 +//line sql.y:3826 { yyVAL.frame = nil } - case 744: + case 741: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3844 +//line sql.y:3830 { yyVAL.frame = &Frame{Unit: RowsUnit, Extent: yyDollar[2].frameExtent} } - case 745: + case 742: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3848 +//line sql.y:3834 { yyVAL.frame = &Frame{Unit: RangeUnit, Extent: yyDollar[2].frameExtent} } - case 746: + case 743: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3855 +//line sql.y:3841 { startBound := yyDollar[2].frameBound endBound := yyDollar[4].frameBound @@ -10610,9 +10602,9 @@ yydefault: } yyVAL.frameExtent = &FrameExtent{Start: startBound, End: endBound} } - case 747: + case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3878 +//line sql.y:3864 { startBound := yyDollar[1].frameBound switch { @@ -10625,149 +10617,149 @@ yydefault: } yyVAL.frameExtent = &FrameExtent{Start: startBound} } - case 748: + case 745: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3893 +//line sql.y:3879 { yyVAL.frameBound = &FrameBound{Type: UnboundedPreceding} } - case 749: + case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3897 +//line sql.y:3883 { yyVAL.frameBound = &FrameBound{Type: UnboundedFollowing} } - case 750: + case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3901 +//line sql.y:3887 { yyVAL.frameBound = &FrameBound{Type: CurrentRow} } - case 751: + case 748: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3905 +//line sql.y:3891 { yyVAL.frameBound = &FrameBound{ Expr: yyDollar[1].expr, Type: ExprPreceding, } } - case 752: + case 749: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3912 +//line sql.y:3898 { yyVAL.frameBound = &FrameBound{ Expr: yyDollar[1].expr, Type: ExprFollowing, } } - case 753: + case 750: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3920 +//line sql.y:3906 { yyVAL.window = nil } - case 754: + case 751: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3923 +//line sql.y:3909 { yyVAL.window = yyDollar[2].window } - case 755: + case 752: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3929 +//line sql.y:3915 { yyVAL.window = Window{yyDollar[1].windowDef} } - case 756: + case 753: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3932 +//line sql.y:3918 { yyVAL.window = append(yyDollar[1].window, yyDollar[3].windowDef) } - case 757: + case 754: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3938 +//line sql.y:3924 { def := yyDollar[3].windowDef def.Name = yyDollar[1].colIdent yyVAL.windowDef = def } - case 758: + case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3947 +//line sql.y:3933 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 759: + case 756: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3951 +//line sql.y:3937 { yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 760: + case 757: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3956 +//line sql.y:3942 { yyVAL.colIdent = ColIdent{} } - case 761: + case 758: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3960 +//line sql.y:3946 { yyVAL.colIdent = yyDollar[1].colIdent } - case 762: + case 759: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3964 +//line sql.y:3950 { yyVAL.colIdent = yyDollar[2].colIdent } - case 763: + case 760: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3970 +//line sql.y:3956 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 764: + case 761: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3974 +//line sql.y:3960 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 765: + case 762: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3978 +//line sql.y:3964 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 766: + case 763: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3982 +//line sql.y:3968 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 767: + case 764: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3988 +//line sql.y:3974 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 768: + case 765: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3992 +//line sql.y:3978 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 771: + case 768: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4002 +//line sql.y:3988 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 772: + case 769: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4006 +//line sql.y:3992 { switch n := yyDollar[1].simpleTableExpr.(type) { case *Subquery: @@ -10777,272 +10769,272 @@ yydefault: } yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].simpleTableExpr, As: yyDollar[3].tableIdent} } - case 773: + case 770: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4016 +//line sql.y:4002 { // missed alias for subquery yylex.Error("Every derived table must have its own alias") return 1 } - case 774: + case 771: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4022 +//line sql.y:4008 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 775: + case 772: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4028 +//line sql.y:4014 { yyVAL.simpleTableExpr = &ValuesStatement{Rows: yyDollar[2].values} } - case 776: + case 773: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4034 +//line sql.y:4020 { yyVAL.values = Values{yyDollar[2].valTuple} } - case 777: + case 774: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4038 +//line sql.y:4024 { yyVAL.values = append(yyVAL.values, yyDollar[4].valTuple) } - case 778: + case 775: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4044 +//line sql.y:4030 { yyVAL.aliasedTableName = yyDollar[2].aliasedTableName yyVAL.aliasedTableName.Expr = yyDollar[1].tableName } - case 779: + case 776: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4049 +//line sql.y:4035 { yyVAL.aliasedTableName = yyDollar[6].aliasedTableName yyVAL.aliasedTableName.Expr = yyDollar[1].tableName yyVAL.aliasedTableName.Partitions = yyDollar[4].partitions } - case 780: + case 777: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4060 +//line sql.y:4046 { yyVAL.aliasedTableName = &AliasedTableExpr{Hints: yyDollar[1].indexHints} } - case 781: + case 778: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4064 +//line sql.y:4050 { yyVAL.aliasedTableName = &AliasedTableExpr{AsOf: &AsOf{Time: yyDollar[3].expr}, Hints: yyDollar[4].indexHints} } - case 782: + case 779: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4068 +//line sql.y:4054 { yyVAL.aliasedTableName = &AliasedTableExpr{AsOf: &AsOf{Time: yyDollar[3].expr}, As: yyDollar[5].tableIdent, Hints: yyDollar[6].indexHints} } - case 783: + case 780: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4072 +//line sql.y:4058 { yyVAL.aliasedTableName = &AliasedTableExpr{As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 784: + case 781: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4076 +//line sql.y:4062 { yyVAL.aliasedTableName = &AliasedTableExpr{As: yyDollar[1].tableIdent, Hints: yyDollar[2].indexHints} } - case 785: + case 782: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4087 +//line sql.y:4073 { yyVAL.expr = nil } - case 786: + case 783: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4091 +//line sql.y:4077 { yyVAL.expr = yyDollar[3].expr } - case 787: + case 784: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4096 +//line sql.y:4082 { yyVAL.columns = nil } - case 788: + case 785: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4100 +//line sql.y:4086 { yyVAL.columns = yyDollar[2].columns } - case 789: + case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4106 +//line sql.y:4092 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 790: + case 787: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4110 +//line sql.y:4096 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 791: + case 788: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4116 +//line sql.y:4102 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 792: + case 789: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4120 +//line sql.y:4106 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 793: + case 790: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4133 +//line sql.y:4119 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 794: + case 791: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4137 +//line sql.y:4123 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 795: + case 792: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4141 +//line sql.y:4127 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 796: + case 793: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4145 +//line sql.y:4131 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr} } - case 797: + case 794: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4151 +//line sql.y:4137 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 798: + case 795: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4153 +//line sql.y:4139 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 799: + case 796: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4157 +//line sql.y:4143 { yyVAL.joinCondition = JoinCondition{} } - case 800: + case 797: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4159 +//line sql.y:4145 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 801: + case 798: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4163 +//line sql.y:4149 { yyVAL.joinCondition = JoinCondition{} } - case 802: + case 799: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4165 +//line sql.y:4151 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 803: + case 800: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4168 +//line sql.y:4154 { yyVAL.empty = struct{}{} } - case 804: + case 801: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4170 +//line sql.y:4156 { yyVAL.empty = struct{}{} } - case 806: + case 803: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4175 +//line sql.y:4161 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 807: + case 804: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4179 +//line sql.y:4165 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 808: + case 805: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4185 +//line sql.y:4171 { yyVAL.str = JoinStr } - case 809: + case 806: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4189 +//line sql.y:4175 { yyVAL.str = JoinStr } - case 810: + case 807: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4193 +//line sql.y:4179 { yyVAL.str = JoinStr } - case 811: + case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4199 +//line sql.y:4185 { yyVAL.str = StraightJoinStr } - case 812: + case 809: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4205 +//line sql.y:4191 { yyVAL.str = LeftJoinStr } - case 813: + case 810: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4209 +//line sql.y:4195 { yyVAL.str = LeftJoinStr } - case 814: + case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4213 +//line sql.y:4199 { yyVAL.str = RightJoinStr } - case 815: + case 812: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4217 +//line sql.y:4203 { yyVAL.str = RightJoinStr } - case 816: + case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4223 +//line sql.y:4209 { yyVAL.str = NaturalJoinStr } - case 817: + case 814: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4227 +//line sql.y:4213 { if yyDollar[2].str == LeftJoinStr { yyVAL.str = NaturalLeftJoinStr @@ -11050,507 +11042,507 @@ yydefault: yyVAL.str = NaturalRightJoinStr } } - case 818: + case 815: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4237 +//line sql.y:4223 { yyVAL.tableName = yyDollar[3].tableName } - case 819: + case 816: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4243 +//line sql.y:4229 { yyVAL.tableName = yyDollar[2].tableName } - case 820: + case 817: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4247 +//line sql.y:4233 { yyVAL.tableName = yyDollar[1].tableName } - case 821: + case 818: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4253 +//line sql.y:4239 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 822: + case 819: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4257 +//line sql.y:4243 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 823: + case 820: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4263 +//line sql.y:4249 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 824: + case 821: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4268 +//line sql.y:4254 { yyVAL.indexHints = nil } - case 825: + case 822: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4272 +//line sql.y:4258 { yyVAL.indexHints = &IndexHints{Type: UseStr, Indexes: yyDollar[4].columns} } - case 826: + case 823: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4276 +//line sql.y:4262 { yyVAL.indexHints = &IndexHints{Type: IgnoreStr, Indexes: yyDollar[4].columns} } - case 827: + case 824: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4280 +//line sql.y:4266 { yyVAL.indexHints = &IndexHints{Type: ForceStr, Indexes: yyDollar[4].columns} } - case 828: + case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4285 +//line sql.y:4271 { yyVAL.expr = nil } - case 829: + case 826: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4289 +//line sql.y:4275 { yyVAL.expr = yyDollar[2].expr } - case 830: + case 827: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4295 +//line sql.y:4281 { yyVAL.expr = yyDollar[1].expr } - case 831: + case 828: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4299 +//line sql.y:4285 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 832: + case 829: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4303 +//line sql.y:4289 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 833: + case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4307 +//line sql.y:4293 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 834: + case 831: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4311 +//line sql.y:4297 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].str, Expr: yyDollar[1].expr} } - case 835: + case 832: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4315 +//line sql.y:4301 { yyVAL.expr = yyDollar[1].expr } - case 836: + case 833: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4319 +//line sql.y:4305 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 837: + case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4325 +//line sql.y:4311 { yyVAL.str = "" } - case 838: + case 835: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4329 +//line sql.y:4315 { yyVAL.str = string(yyDollar[2].bytes) } - case 839: + case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4335 +//line sql.y:4321 { yyVAL.boolVal = BoolVal(true) } - case 840: + case 837: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4339 +//line sql.y:4325 { yyVAL.boolVal = BoolVal(false) } - case 841: + case 838: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4345 +//line sql.y:4331 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].str, Right: yyDollar[3].expr} } - case 842: + case 839: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4349 +//line sql.y:4335 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InStr, Right: yyDollar[3].colTuple} } - case 843: + case 840: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4353 +//line sql.y:4339 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInStr, Right: yyDollar[4].colTuple} } - case 844: + case 841: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4357 +//line sql.y:4343 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeStr, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } - case 845: + case 842: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4361 +//line sql.y:4347 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeStr, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } - case 846: + case 843: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4365 +//line sql.y:4351 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpStr, Right: yyDollar[3].expr} } - case 847: + case 844: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4369 +//line sql.y:4355 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpStr, Right: yyDollar[4].expr} } - case 848: + case 845: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4373 +//line sql.y:4359 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenStr, From: yyDollar[3].expr, To: yyDollar[5].expr} } - case 849: + case 846: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4377 +//line sql.y:4363 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenStr, From: yyDollar[4].expr, To: yyDollar[6].expr} } - case 850: + case 847: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4381 +//line sql.y:4367 { yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } - case 851: + case 848: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4387 +//line sql.y:4373 { yyVAL.str = IsNullStr } - case 852: + case 849: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4391 +//line sql.y:4377 { yyVAL.str = IsNotNullStr } - case 853: + case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4395 +//line sql.y:4381 { yyVAL.str = IsTrueStr } - case 854: + case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4399 +//line sql.y:4385 { yyVAL.str = IsNotTrueStr } - case 855: + case 852: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4403 +//line sql.y:4389 { yyVAL.str = IsFalseStr } - case 856: + case 853: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4407 +//line sql.y:4393 { yyVAL.str = IsNotFalseStr } - case 857: + case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4413 +//line sql.y:4399 { yyVAL.str = EqualStr } - case 858: + case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4417 +//line sql.y:4403 { yyVAL.str = LessThanStr } - case 859: + case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4421 +//line sql.y:4407 { yyVAL.str = GreaterThanStr } - case 860: + case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4425 +//line sql.y:4411 { yyVAL.str = LessEqualStr } - case 861: + case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4429 +//line sql.y:4415 { yyVAL.str = GreaterEqualStr } - case 862: + case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4433 +//line sql.y:4419 { yyVAL.str = NotEqualStr } - case 863: + case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4437 +//line sql.y:4423 { yyVAL.str = NullSafeEqualStr } - case 864: + case 861: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4442 +//line sql.y:4428 { yyVAL.expr = nil } - case 865: + case 862: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4446 +//line sql.y:4432 { yyVAL.expr = yyDollar[2].expr } - case 866: + case 863: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4452 +//line sql.y:4438 { yyVAL.colTuple = yyDollar[1].valTuple } - case 867: + case 864: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4456 +//line sql.y:4442 { yyVAL.colTuple = yyDollar[1].subquery } - case 868: + case 865: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4460 +//line sql.y:4446 { yyVAL.colTuple = ListArg(yyDollar[1].bytes) } - case 869: + case 866: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4466 +//line sql.y:4452 { yyVAL.subquery = &Subquery{Select: yyDollar[2].selStmt} } - case 870: + case 867: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4472 +//line sql.y:4458 { yyVAL.simpleTableExpr = yyDollar[1].subquery } - case 871: + case 868: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4476 +//line sql.y:4462 { yyVAL.simpleTableExpr = yyDollar[2].simpleTableExpr } - case 872: + case 869: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4482 +//line sql.y:4468 { yyVAL.selectExprs = nil } - case 874: + case 871: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4489 +//line sql.y:4475 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 875: + case 872: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4493 +//line sql.y:4479 { yyVAL.selectExprs = append(yyDollar[1].selectExprs, yyDollar[3].selectExpr) } - case 876: + case 873: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4499 +//line sql.y:4485 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 877: + case 874: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4503 +//line sql.y:4489 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 878: + case 875: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4509 +//line sql.y:4495 { yyVAL.expr = yyDollar[1].expr } - case 879: + case 876: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4513 +//line sql.y:4499 { yyVAL.expr = &ColName{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 880: + case 877: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4517 +//line sql.y:4503 { yyVAL.expr = yyDollar[1].boolVal } - case 881: + case 878: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4521 +//line sql.y:4507 { yyVAL.expr = yyDollar[1].colName } - case 882: + case 879: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4525 +//line sql.y:4511 { yyVAL.expr = yyDollar[1].expr } - case 883: + case 880: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4529 +//line sql.y:4515 { yyVAL.expr = yyDollar[1].subquery } - case 884: + case 881: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4533 +//line sql.y:4519 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr} } - case 885: + case 882: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4537 +//line sql.y:4523 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr} } - case 886: + case 883: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4541 +//line sql.y:4527 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr} } - case 887: + case 884: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4545 +//line sql.y:4531 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr} } - case 888: + case 885: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4549 +//line sql.y:4535 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr} } - case 889: + case 886: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4553 +//line sql.y:4539 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr} } - case 890: + case 887: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4557 +//line sql.y:4543 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr} } - case 891: + case 888: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4561 +//line sql.y:4547 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr} } - case 892: + case 889: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4565 +//line sql.y:4551 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } - case 893: + case 890: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4569 +//line sql.y:4555 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } - case 894: + case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4573 +//line sql.y:4559 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr} } - case 895: + case 892: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4577 +//line sql.y:4563 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr} } - case 896: + case 893: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4581 +//line sql.y:4567 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } - case 897: + case 894: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4585 +//line sql.y:4571 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } - case 898: + case 895: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4589 +//line sql.y:4575 { yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } - case 899: + case 896: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4593 +//line sql.y:4579 { yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr} } - case 900: + case 897: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4597 +//line sql.y:4583 { yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr} } - case 901: + case 898: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4601 +//line sql.y:4587 { yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr} } - case 902: + case 899: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4605 +//line sql.y:4591 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { yyVAL.expr = num @@ -11558,9 +11550,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusStr, Expr: yyDollar[2].expr} } } - case 903: + case 900: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4613 +//line sql.y:4599 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { // Handle double negative @@ -11574,21 +11566,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusStr, Expr: yyDollar[2].expr} } } - case 904: + case 901: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4627 +//line sql.y:4613 { yyVAL.expr = &UnaryExpr{Operator: TildaStr, Expr: yyDollar[2].expr} } - case 905: + case 902: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4631 +//line sql.y:4617 { yyVAL.expr = &UnaryExpr{Operator: BangStr, Expr: yyDollar[2].expr} } - case 906: + case 903: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4635 +//line sql.y:4621 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -11596,315 +11588,333 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 913: + case 910: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4655 +//line sql.y:4641 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: yyDollar[3].str == DistinctStr, Exprs: yyDollar[4].selectExprs} } - case 914: + case 911: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4659 +//line sql.y:4645 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 915: + case 912: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4669 +//line sql.y:4655 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 916: + case 913: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4673 +//line sql.y:4659 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 917: + case 914: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4677 +//line sql.y:4663 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 918: + case 915: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4681 +//line sql.y:4667 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 919: + case 916: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4685 +//line sql.y:4671 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 920: + case 917: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4689 +//line sql.y:4675 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 921: + case 918: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4693 +//line sql.y:4679 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 922: + case 919: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4697 +//line sql.y:4683 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 923: + case 920: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4701 +//line sql.y:4687 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 924: + case 921: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4705 +//line sql.y:4691 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 925: + case 922: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4709 +//line sql.y:4695 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 926: + case 923: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4713 +//line sql.y:4699 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 927: + case 924: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4717 +//line sql.y:4703 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 928: + case 925: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4721 +//line sql.y:4707 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[4].selectExprs, Distinct: yyDollar[3].str == DistinctStr, Over: yyDollar[6].over} } - case 929: + case 926: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4725 +//line sql.y:4711 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 930: + case 927: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4729 +//line sql.y:4715 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 931: + case 928: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4733 +//line sql.y:4719 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 932: + case 929: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4742 +//line sql.y:4728 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 933: + case 930: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4746 +//line sql.y:4732 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 934: + case 931: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4750 +//line sql.y:4736 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: SelectExprs{yyDollar[3].selectExpr}, Over: yyDollar[5].over} } - case 935: + case 932: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4754 +//line sql.y:4740 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 936: + case 933: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4758 +//line sql.y:4744 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: SelectExprs{yyDollar[3].selectExpr}, Over: yyDollar[5].over} } - case 937: + case 934: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4762 +//line sql.y:4748 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 938: + case 935: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4766 +//line sql.y:4752 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs, Over: yyDollar[5].over} } - case 939: + case 936: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4770 +//line sql.y:4756 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 940: + case 937: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4774 +//line sql.y:4760 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 941: + case 938: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4778 +//line sql.y:4764 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 942: + case 939: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4782 +//line sql.y:4768 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Over: yyDollar[4].over} } - case 943: + case 940: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4793 +//line sql.y:4779 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 944: + case 941: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4797 +//line sql.y:4783 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 945: + case 942: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4801 +//line sql.y:4787 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 946: + case 943: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4805 +//line sql.y:4791 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } - case 947: + case 944: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4809 +//line sql.y:4795 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 948: + case 945: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4813 +//line sql.y:4799 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 949: + case 946: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4817 +//line sql.y:4803 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } - case 950: + case 947: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4821 +//line sql.y:4807 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 951: + case 948: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4825 +//line sql.y:4811 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 952: + case 949: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4829 +//line sql.y:4815 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 953: + case 950: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4833 +//line sql.y:4819 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 954: + case 951: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4837 +//line sql.y:4823 { yyVAL.expr = &TrimExpr{Pattern: NewStrVal([]byte(" ")), Str: yyDollar[3].expr, Dir: Both} } - case 955: + case 952: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:4841 +//line sql.y:4827 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[3].expr, Str: yyDollar[5].expr, Dir: Both} } - case 956: + case 953: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4845 +//line sql.y:4831 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Leading} } - case 957: + case 954: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4849 +//line sql.y:4835 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Trailing} } - case 958: + case 955: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4853 +//line sql.y:4839 { yyVAL.expr = &TrimExpr{Pattern: yyDollar[4].expr, Str: yyDollar[6].expr, Dir: Both} } - case 959: + case 956: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:4857 +//line sql.y:4843 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].str} } - case 960: + case 957: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4861 +//line sql.y:4847 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 961: + case 958: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:4865 +//line sql.y:4851 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].str, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str} } - case 962: + case 959: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4869 +//line sql.y:4855 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } - case 963: + case 960: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4873 +//line sql.y:4859 { yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } + case 961: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:4869 + { + yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} + } + case 962: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:4873 + { + yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} + } + case 963: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:4877 + { + yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} + } case 964: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4883 +//line sql.y:4882 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } @@ -11916,25 +11926,25 @@ yydefault: } case 966: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4891 +//line sql.y:4892 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 967: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4896 +//line sql.y:4898 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 968: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4901 +//line sql.y:4903 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } case 969: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4906 +//line sql.y:4907 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} } @@ -11942,23 +11952,23 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:4912 { - yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } case 971: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4917 +//line sql.y:4916 { - yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } case 972: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4921 +//line sql.y:4920 { - yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes))} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } case 973: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4926 +//line sql.y:4925 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } @@ -11970,617 +11980,599 @@ yydefault: } case 975: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4934 +//line sql.y:4935 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} } case 976: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4939 - { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} - } - case 977: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4944 - { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} - } - case 978: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4949 - { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Fsp: yyDollar[2].expr} - } - case 979: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4953 +//line sql.y:4939 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 980: + case 977: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:4957 +//line sql.y:4943 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 983: + case 980: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4968 +//line sql.y:4954 { yyVAL.expr = yyDollar[2].expr } - case 984: + case 981: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4978 +//line sql.y:4964 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 985: + case 982: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4982 +//line sql.y:4968 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 986: + case 983: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4986 +//line sql.y:4972 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 987: + case 984: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4990 +//line sql.y:4976 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 988: + case 985: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4994 +//line sql.y:4980 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 989: + case 986: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4998 +//line sql.y:4984 { yyVAL.expr = &FuncExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Exprs: yyDollar[3].selectExprs} } - case 990: + case 987: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5004 +//line sql.y:4990 { yyVAL.str = "" } - case 991: + case 988: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5008 +//line sql.y:4994 { yyVAL.str = BooleanModeStr } - case 992: + case 989: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5012 +//line sql.y:4998 { yyVAL.str = NaturalLanguageModeStr } - case 993: + case 990: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:5016 +//line sql.y:5002 { yyVAL.str = NaturalLanguageModeWithQueryExpansionStr } - case 994: + case 991: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5020 +//line sql.y:5006 { yyVAL.str = QueryExpansionStr } - case 995: + case 992: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5026 +//line sql.y:5012 { yyVAL.str = string(yyDollar[1].bytes) } - case 996: + case 993: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5030 +//line sql.y:5016 { yyVAL.str = string(yyDollar[1].bytes) } - case 997: + case 994: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5036 +//line sql.y:5022 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 998: + case 995: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5040 +//line sql.y:5026 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Operator: CharacterSetStr} } - case 999: + case 996: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5044 +//line sql.y:5030 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: string(yyDollar[3].bytes)} } - case 1000: + case 997: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5048 +//line sql.y:5034 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1001: + case 998: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5052 +//line sql.y:5038 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 1002: + case 999: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5056 +//line sql.y:5042 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 1003: + case 1000: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5062 +//line sql.y:5048 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1004: + case 1001: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5066 +//line sql.y:5052 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 1005: + case 1002: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5070 +//line sql.y:5056 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1006: + case 1003: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5074 +//line sql.y:5060 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1007: + case 1004: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5078 +//line sql.y:5064 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 1008: + case 1005: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5082 +//line sql.y:5068 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1009: + case 1006: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5086 +//line sql.y:5072 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 1010: + case 1007: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5091 +//line sql.y:5077 { yyVAL.expr = nil } - case 1011: + case 1008: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5095 +//line sql.y:5081 { yyVAL.expr = yyDollar[1].expr } - case 1012: + case 1009: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5100 +//line sql.y:5086 { yyVAL.str = string("") } - case 1013: + case 1010: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5104 +//line sql.y:5090 { yyVAL.str = string(yyDollar[2].bytes) } - case 1014: + case 1011: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5110 +//line sql.y:5096 { yyVAL.whens = []*When{yyDollar[1].when} } - case 1015: + case 1012: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5114 +//line sql.y:5100 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 1016: + case 1013: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5120 +//line sql.y:5106 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 1017: + case 1014: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5125 +//line sql.y:5111 { yyVAL.expr = nil } - case 1018: + case 1015: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5129 +//line sql.y:5115 { yyVAL.expr = yyDollar[2].expr } - case 1019: + case 1016: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5135 +//line sql.y:5121 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 1020: + case 1017: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5139 +//line sql.y:5125 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 1021: + case 1018: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5143 +//line sql.y:5129 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 1022: + case 1019: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5149 +//line sql.y:5135 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 1023: + case 1020: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5153 +//line sql.y:5139 { yyVAL.expr = NewHexVal(yyDollar[1].bytes) } - case 1024: + case 1021: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5157 +//line sql.y:5143 { yyVAL.expr = NewBitVal(yyDollar[1].bytes) } - case 1025: + case 1022: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5161 +//line sql.y:5147 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1026: + case 1023: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5165 +//line sql.y:5151 { yyVAL.expr = NewFloatVal(yyDollar[1].bytes) } - case 1027: + case 1024: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5169 +//line sql.y:5155 { yyVAL.expr = NewHexNum(yyDollar[1].bytes) } - case 1028: + case 1025: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5173 +//line sql.y:5159 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1029: + case 1026: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5177 +//line sql.y:5163 { yyVAL.expr = &NullVal{} } - case 1030: + case 1027: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5183 +//line sql.y:5169 { yyVAL.expr = NewIntVal([]byte("1")) } - case 1031: + case 1028: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5187 +//line sql.y:5173 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1032: + case 1029: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5191 +//line sql.y:5177 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1033: + case 1030: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5196 +//line sql.y:5182 { yyVAL.exprs = nil } - case 1034: + case 1031: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5200 +//line sql.y:5186 { yyVAL.exprs = yyDollar[3].exprs } - case 1035: + case 1032: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5206 +//line sql.y:5192 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 1036: + case 1033: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5210 +//line sql.y:5196 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 1037: + case 1034: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5216 +//line sql.y:5202 { yyVAL.expr = yyDollar[1].expr } - case 1038: + case 1035: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5221 +//line sql.y:5207 { yyVAL.expr = nil } - case 1039: + case 1036: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5225 +//line sql.y:5211 { yyVAL.expr = yyDollar[2].expr } - case 1040: + case 1037: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5231 +//line sql.y:5217 { yyVAL.expr = yyDollar[1].expr } - case 1041: + case 1038: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5236 +//line sql.y:5222 { yyVAL.orderBy = nil } - case 1042: + case 1039: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5240 +//line sql.y:5226 { yyVAL.orderBy = yyDollar[3].orderBy } - case 1043: + case 1040: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5246 +//line sql.y:5232 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 1044: + case 1041: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5250 +//line sql.y:5236 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 1045: + case 1042: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5256 +//line sql.y:5242 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].str} } - case 1046: + case 1043: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5261 +//line sql.y:5247 { yyVAL.str = AscScr } - case 1047: + case 1044: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5265 +//line sql.y:5251 { yyVAL.str = AscScr } - case 1048: + case 1045: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5269 +//line sql.y:5255 { yyVAL.str = DescScr } - case 1049: + case 1046: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5274 +//line sql.y:5260 { yyVAL.limit = nil } - case 1050: + case 1047: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5278 +//line sql.y:5264 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 1051: + case 1048: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5282 +//line sql.y:5268 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 1052: + case 1049: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5286 +//line sql.y:5272 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 1053: + case 1050: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5292 +//line sql.y:5278 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 1054: + case 1051: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5296 +//line sql.y:5282 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 1055: + case 1052: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5301 +//line sql.y:5287 { yyVAL.str = "" } - case 1056: + case 1053: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5305 +//line sql.y:5291 { yyVAL.str = ForUpdateStr } - case 1057: + case 1054: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5309 +//line sql.y:5295 { yyVAL.str = ShareModeStr } - case 1058: + case 1055: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5322 +//line sql.y:5308 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 1059: + case 1056: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5326 +//line sql.y:5312 { yyVAL.ins = &Insert{Columns: []ColIdent{}, Rows: yyDollar[4].values} } - case 1060: + case 1057: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5330 +//line sql.y:5316 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 1061: + case 1058: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5334 +//line sql.y:5320 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Rows: yyDollar[2].selStmt} } - case 1062: + case 1059: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5339 +//line sql.y:5325 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 1063: + case 1060: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5343 +//line sql.y:5329 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 1064: + case 1061: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:5347 +//line sql.y:5333 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].selStmt} } - case 1065: + case 1062: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5353 +//line sql.y:5339 { yyVAL.columns = nil } - case 1066: + case 1063: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5357 +//line sql.y:5343 { yyVAL.columns = yyDollar[2].columns } - case 1067: + case 1064: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5363 +//line sql.y:5349 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 1068: + case 1065: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5367 +//line sql.y:5353 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 1069: + case 1066: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5371 +//line sql.y:5357 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 1070: + case 1067: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5375 +//line sql.y:5361 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 1071: + case 1068: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5380 +//line sql.y:5366 { yyVAL.assignExprs = nil } - case 1072: + case 1069: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5384 +//line sql.y:5370 { yyVAL.assignExprs = yyDollar[5].assignExprs } - case 1073: + case 1070: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5390 +//line sql.y:5376 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 1074: + case 1071: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5394 +//line sql.y:5380 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 1075: + case 1072: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5400 +//line sql.y:5386 { yyVAL.valTuple = yyDollar[1].valTuple } - case 1076: + case 1073: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5404 +//line sql.y:5390 { yyVAL.valTuple = ValTuple{} } - case 1077: + case 1074: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5410 +//line sql.y:5396 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 1078: + case 1075: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5416 +//line sql.y:5402 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = &ParenExpr{yyDollar[1].valTuple[0]} @@ -12588,45 +12580,45 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 1079: + case 1076: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5426 +//line sql.y:5412 { yyVAL.assignExprs = AssignmentExprs{yyDollar[1].assignExpr} } - case 1080: + case 1077: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5430 +//line sql.y:5416 { yyVAL.assignExprs = append(yyDollar[1].assignExprs, yyDollar[3].assignExpr) } - case 1081: + case 1078: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5436 +//line sql.y:5422 { yyVAL.assignExpr = &AssignmentExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 1082: + case 1079: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5439 +//line sql.y:5425 { yyVAL.assignExpr = &AssignmentExpr{Name: &ColName{Name: NewColIdent(string(yyDollar[1].bytes))}, Expr: yyDollar[3].expr} } - case 1083: + case 1080: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5445 +//line sql.y:5431 { yyVAL.setVarExprs = SetVarExprs{yyDollar[1].setVarExpr} } - case 1084: + case 1081: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5449 +//line sql.y:5435 { yyVAL.setVarExprs = append(yyDollar[1].setVarExprs, yyDollar[3].setVarExpr) } - case 1085: + case 1082: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5455 +//line sql.y:5441 { colName, scope, err := VarScopeForColName(yyDollar[1].setVarExpr.Name) if err != nil { @@ -12637,9 +12629,9 @@ yydefault: yyDollar[1].setVarExpr.Scope = scope yyVAL.setVarExpr = yyDollar[1].setVarExpr } - case 1086: + case 1083: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5466 +//line sql.y:5452 { _, scope, err := VarScopeForColName(yyDollar[2].setVarExpr.Name) if err != nil { @@ -12652,9 +12644,9 @@ yydefault: yyDollar[2].setVarExpr.Scope = yyDollar[1].setScope yyVAL.setVarExpr = yyDollar[2].setVarExpr } - case 1087: + case 1084: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5479 +//line sql.y:5465 { _, scope, err := VarScopeForColName(yyDollar[2].setVarExpr.Name) if err != nil { @@ -12667,462 +12659,462 @@ yydefault: yyDollar[2].setVarExpr.Scope = yyDollar[1].setScope yyVAL.setVarExpr = yyDollar[2].setVarExpr } - case 1088: + case 1085: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5492 +//line sql.y:5478 { yyVAL.setVarExpr = &SetVarExpr{Name: NewColName(string(yyDollar[1].bytes)), Expr: yyDollar[2].expr, Scope: SetScope_Session} } - case 1089: + case 1086: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5498 +//line sql.y:5484 { yyVAL.setScope = SetScope_Global } - case 1090: + case 1087: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5502 +//line sql.y:5488 { yyVAL.setScope = SetScope_Session } - case 1091: + case 1088: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5508 +//line sql.y:5494 { yyVAL.setScope = SetScope_Session } - case 1092: + case 1089: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5512 +//line sql.y:5498 { yyVAL.setScope = SetScope_Persist } - case 1093: + case 1090: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5516 +//line sql.y:5502 { yyVAL.setScope = SetScope_PersistOnly } - case 1094: + case 1091: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5522 +//line sql.y:5508 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: NewStrVal(yyDollar[3].bytes), Scope: SetScope_None} } - case 1095: + case 1092: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5526 +//line sql.y:5512 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: NewStrVal(yyDollar[3].bytes), Scope: SetScope_None} } - case 1096: + case 1093: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5530 +//line sql.y:5516 { yyVAL.setVarExpr = &SetVarExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr, Scope: SetScope_None} } - case 1098: + case 1095: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5537 +//line sql.y:5523 { yyVAL.bytes = []byte("charset") } - case 1100: + case 1097: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5544 +//line sql.y:5530 { yyVAL.expr = NewStrVal([]byte(yyDollar[1].colIdent.String())) } - case 1101: + case 1098: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5548 +//line sql.y:5534 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 1102: + case 1099: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5552 +//line sql.y:5538 { yyVAL.expr = &Default{} } - case 1105: + case 1102: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5561 +//line sql.y:5547 { yyVAL.byt = 0 } - case 1106: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5563 +//line sql.y:5549 { yyVAL.byt = 1 } - case 1107: + case 1104: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5566 +//line sql.y:5552 { yyVAL.byt = 0 } - case 1108: + case 1105: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5568 +//line sql.y:5554 { yyVAL.byt = 1 } - case 1109: + case 1106: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5571 +//line sql.y:5557 { yyVAL.byt = 0 } - case 1110: + case 1107: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5573 +//line sql.y:5559 { yyVAL.byt = 1 } - case 1111: + case 1108: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5576 +//line sql.y:5562 { yyVAL.str = "" } - case 1112: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5578 +//line sql.y:5564 { yyVAL.str = IgnoreStr } - case 1113: + case 1110: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5581 +//line sql.y:5567 { yyVAL.sqlVal = nil } - case 1114: + case 1111: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5583 +//line sql.y:5569 { yyVAL.sqlVal = NewIntVal(yyDollar[2].bytes) } - case 1115: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5587 +//line sql.y:5573 { yyVAL.empty = struct{}{} } - case 1116: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5589 +//line sql.y:5575 { yyVAL.empty = struct{}{} } - case 1117: + case 1114: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5592 +//line sql.y:5578 { yyVAL.empty = struct{}{} } - case 1118: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5594 +//line sql.y:5580 { yyVAL.empty = struct{}{} } - case 1119: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5596 +//line sql.y:5582 { yyVAL.empty = struct{}{} } - case 1120: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5600 +//line sql.y:5586 { yyVAL.str = UniqueStr } - case 1121: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5602 +//line sql.y:5588 { yyVAL.str = FulltextStr } - case 1122: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5604 +//line sql.y:5590 { yyVAL.str = SpatialStr } - case 1123: + case 1120: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5607 +//line sql.y:5593 { yyVAL.str = "" } - case 1124: + case 1121: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5609 +//line sql.y:5595 { yyVAL.str = yyDollar[1].str } - case 1125: + case 1122: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5612 +//line sql.y:5598 { yyVAL.colIdent = ColIdent{} } - case 1126: + case 1123: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5614 +//line sql.y:5600 { yyVAL.colIdent = yyDollar[2].colIdent } - case 1127: + case 1124: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5618 +//line sql.y:5604 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1128: + case 1125: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5622 +//line sql.y:5608 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1129: + case 1126: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5628 +//line sql.y:5614 { yyVAL.colIdents = []ColIdent{yyDollar[1].colIdent} } - case 1130: + case 1127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5632 +//line sql.y:5618 { yyVAL.colIdents = append(yyVAL.colIdents, yyDollar[3].colIdent) } - case 1132: + case 1129: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5639 +//line sql.y:5625 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 1133: + case 1130: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5645 +//line sql.y:5631 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1134: + case 1131: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5649 +//line sql.y:5635 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1136: + case 1133: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5656 +//line sql.y:5642 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1137: + case 1134: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5661 +//line sql.y:5647 { yyVAL.str = string("") } - case 1138: + case 1135: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5663 +//line sql.y:5649 { yyVAL.str = string(yyDollar[2].bytes) } - case 1139: + case 1136: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5666 +//line sql.y:5652 { yyVAL.boolVal = BoolVal(false) } - case 1140: + case 1137: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5668 +//line sql.y:5654 { yyVAL.boolVal = BoolVal(true) } - case 1141: + case 1138: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5671 +//line sql.y:5657 { yyVAL.EnclosedBy = nil } - case 1142: + case 1139: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5675 +//line sql.y:5661 { yyVAL.EnclosedBy = &EnclosedBy{Optionally: yyDollar[1].boolVal, Delim: NewStrVal(yyDollar[4].bytes)} } - case 1143: + case 1140: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5680 +//line sql.y:5666 { yyVAL.boolVal = BoolVal(false) } - case 1144: + case 1141: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5684 +//line sql.y:5670 { yyVAL.boolVal = BoolVal(true) } - case 1145: + case 1142: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5689 +//line sql.y:5675 { yyVAL.sqlVal = nil } - case 1146: + case 1143: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5693 +//line sql.y:5679 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1147: + case 1144: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5698 +//line sql.y:5684 { yyVAL.sqlVal = nil } - case 1148: + case 1145: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5702 +//line sql.y:5688 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1149: + case 1146: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5707 +//line sql.y:5693 { yyVAL.Fields = nil } - case 1150: + case 1147: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5711 +//line sql.y:5697 { yyVAL.Fields = &Fields{TerminatedBy: yyDollar[2].sqlVal, EnclosedBy: yyDollar[3].EnclosedBy, EscapedBy: yyDollar[4].sqlVal} } - case 1151: + case 1148: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5716 +//line sql.y:5702 { yyVAL.Lines = nil } - case 1152: + case 1149: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5720 +//line sql.y:5706 { yyVAL.Lines = &Lines{StartingBy: yyDollar[2].sqlVal, TerminatedBy: yyDollar[3].sqlVal} } - case 1153: + case 1150: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5725 +//line sql.y:5711 { yyVAL.sqlVal = nil } - case 1154: + case 1151: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5729 +//line sql.y:5715 { yyVAL.sqlVal = NewStrVal(yyDollar[3].bytes) } - case 1155: + case 1152: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5735 +//line sql.y:5721 { yyVAL.statement = &LockTables{Tables: yyDollar[3].tableAndLockTypes} } - case 1156: + case 1153: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5741 +//line sql.y:5727 { yyVAL.tableAndLockTypes = TableAndLockTypes{yyDollar[1].tableAndLockType} } - case 1157: + case 1154: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5745 +//line sql.y:5731 { yyVAL.tableAndLockTypes = append(yyDollar[1].tableAndLockTypes, yyDollar[3].tableAndLockType) } - case 1158: + case 1155: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5751 +//line sql.y:5737 { yyVAL.tableAndLockType = &TableAndLockType{Table: &AliasedTableExpr{Expr: yyDollar[1].tableName}, Lock: yyDollar[2].lockType} } - case 1159: + case 1156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5755 +//line sql.y:5741 { yyVAL.tableAndLockType = &TableAndLockType{Table: &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[3].tableIdent}, Lock: yyDollar[4].lockType} } - case 1160: + case 1157: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5761 +//line sql.y:5747 { yyVAL.lockType = LockRead } - case 1161: + case 1158: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5765 +//line sql.y:5751 { yyVAL.lockType = LockReadLocal } - case 1162: + case 1159: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5769 +//line sql.y:5755 { yyVAL.lockType = LockWrite } - case 1163: + case 1160: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5773 +//line sql.y:5759 { yyVAL.lockType = LockLowPriorityWrite } - case 1164: + case 1161: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5779 +//line sql.y:5765 { yyVAL.statement = &UnlockTables{} } - case 1165: + case 1162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5785 +//line sql.y:5771 { yyVAL.statement = &Kill{Connection: true, ConnID: NewIntVal(yyDollar[2].bytes)} } - case 1166: + case 1163: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5789 +//line sql.y:5775 { yyVAL.statement = &Kill{ConnID: NewIntVal(yyDollar[3].bytes)} } - case 1167: + case 1164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5793 +//line sql.y:5779 { yyVAL.statement = &Kill{Connection: true, ConnID: NewIntVal(yyDollar[3].bytes)} } - case 1603: + case 1600: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6258 +//line sql.y:6244 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1604: + case 1601: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6267 +//line sql.y:6253 { decNesting(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index d1fff03031e..080fc84d426 100755 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -119,7 +119,6 @@ func yyOldPosition(yylex interface{}) int { indexOption *IndexOption indexOptions []*IndexOption flushOption *FlushOption - flushOptions []*FlushOption indexColumn *IndexColumn indexColumns []*IndexColumn constraintDefinition *ConstraintDefinition @@ -431,7 +430,6 @@ func yyOldPosition(yylex interface{}) int { %type index_option %type index_option_list index_option_list_opt %type flush_option -%type flush_option_list flush_option_list_opt %type relay_logs_attribute %type constraint_info check_constraint_info %type partition_definitions @@ -2580,23 +2578,11 @@ column_comment: } flush_statement: - FLUSH flush_type_opt flush_option_list_opt + FLUSH flush_type_opt flush_option { - $$ = &Flush{Type: $2, Options: $3} + $$ = &Flush{Type: $2, Option: $3} } -flush_option_list_opt: - flush_option_list - { - $$ = $1 - } - -flush_option_list: - flush_option - { $$ = []*FlushOption{$1} } -| flush_option_list flush_option - { $$ = append($$, $2) } - flush_option: BINARY LOGS {