From b23afc0074efb7df22b3fdb9d34382a0c9933b98 Mon Sep 17 00:00:00 2001 From: Anthony Yeh Date: Fri, 17 Jan 2020 16:25:34 -0800 Subject: [PATCH] ApplySchema: Allow ALTER DATABASE. This allows using vtctl ApplySchema to execute ALTER DATABASE across all shards of a keyspace. Signed-off-by: Anthony Yeh --- go/test/endtoend/vtgate/schema/schema_test.go | 8 + go/vt/schemamanager/tablet_executor.go | 25 +- go/vt/schemamanager/tablet_executor_test.go | 2 + go/vt/sqlparser/ast.go | 4 +- go/vt/sqlparser/parse_test.go | 24 + go/vt/sqlparser/sql.go | 5298 +++++++++-------- go/vt/sqlparser/sql.y | 8 + 7 files changed, 2712 insertions(+), 2657 deletions(-) diff --git a/go/test/endtoend/vtgate/schema/schema_test.go b/go/test/endtoend/vtgate/schema/schema_test.go index 9591ae1f076..6e16e66e140 100644 --- a/go/test/endtoend/vtgate/schema/schema_test.go +++ b/go/test/endtoend/vtgate/schema/schema_test.go @@ -100,6 +100,7 @@ func TestMain(m *testing.M) { func TestSchemaChange(t *testing.T) { testWithInitialSchema(t) testWithAlterSchema(t) + testWithAlterDatabase(t) testWithDropCreateSchema(t) testSchemaChangePreflightErrorPartially(t) testDropNonExistentTables(t) @@ -135,6 +136,13 @@ func testWithAlterSchema(t *testing.T) { matchSchema(t, clusterInstance.Keyspaces[0].Shards[0].Vttablets[0].VttabletProcess.TabletPath, clusterInstance.Keyspaces[0].Shards[1].Vttablets[0].VttabletProcess.TabletPath) } +// testWithAlterDatabase tests that ALTER DATABASE is accepted by the validator. +func testWithAlterDatabase(t *testing.T) { + sql := "create database alter_database_test; alter database alter_database_test default character set = utf8mb4; drop database alter_database_test" + err := clusterInstance.VtctlclientProcess.ApplySchema(keyspaceName, sql) + assert.NoError(t, err) +} + // testWithDropCreateSchema , we should be able to drop and create same schema //Tests that a DROP and CREATE table will pass PreflightSchema check. // diff --git a/go/vt/schemamanager/tablet_executor.go b/go/vt/schemamanager/tablet_executor.go index 865ce3cede8..652686398a1 100644 --- a/go/vt/schemamanager/tablet_executor.go +++ b/go/vt/schemamanager/tablet_executor.go @@ -101,7 +101,9 @@ func (exec *TabletExecutor) Validate(ctx context.Context, sqls []string) error { return fmt.Errorf("executor is closed") } - parsedDDLs, err := exec.parseDDLs(sqls) + // We ignore DATABASE-level DDLs here because detectBigSchemaChanges doesn't + // look at them anyway. + parsedDDLs, _, err := exec.parseDDLs(sqls) if err != nil { return err } @@ -114,23 +116,26 @@ func (exec *TabletExecutor) Validate(ctx context.Context, sqls []string) error { return err } -func (exec *TabletExecutor) parseDDLs(sqls []string) ([]*sqlparser.DDL, error) { - parsedDDLs := make([]*sqlparser.DDL, 0, len(sqls)) +func (exec *TabletExecutor) parseDDLs(sqls []string) ([]*sqlparser.DDL, []*sqlparser.DBDDL, error) { + parsedDDLs := make([]*sqlparser.DDL, 0) + parsedDBDDLs := make([]*sqlparser.DBDDL, 0) for _, sql := range sqls { stat, err := sqlparser.Parse(sql) if err != nil { - return nil, fmt.Errorf("failed to parse sql: %s, got error: %v", sql, err) + return nil, nil, fmt.Errorf("failed to parse sql: %s, got error: %v", sql, err) } - ddl, ok := stat.(*sqlparser.DDL) - if !ok { + switch ddl := stat.(type) { + case *sqlparser.DDL: + parsedDDLs = append(parsedDDLs, ddl) + case *sqlparser.DBDDL: + parsedDBDDLs = append(parsedDBDDLs, ddl) + default: if len(exec.tablets) != 1 { - return nil, fmt.Errorf("non-ddl statements can only be executed for single shard keyspaces: %s", sql) + return nil, nil, fmt.Errorf("non-ddl statements can only be executed for single shard keyspaces: %s", sql) } - continue } - parsedDDLs = append(parsedDDLs, ddl) } - return parsedDDLs, nil + return parsedDDLs, parsedDBDDLs, nil } // a schema change that satisfies any following condition is considered diff --git a/go/vt/schemamanager/tablet_executor_test.go b/go/vt/schemamanager/tablet_executor_test.go index 579f4bd794c..890a4c5bfb9 100644 --- a/go/vt/schemamanager/tablet_executor_test.go +++ b/go/vt/schemamanager/tablet_executor_test.go @@ -108,6 +108,8 @@ func TestTabletExecutorValidate(t *testing.T) { sqls := []string{ "ALTER TABLE test_table ADD COLUMN new_id bigint(20)", "CREATE TABLE test_table_02 (pk int)", + "ALTER DATABASE db_name DEFAULT CHARACTER SET = utf8mb4", + "ALTER SCHEMA db_name CHARACTER SET = utf8mb4", } if err := executor.Validate(ctx, sqls); err == nil { diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index cb74aff4f2a..58dad3940bc 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -688,7 +688,7 @@ func (node *Set) walkSubtree(visit Visit) error { ) } -// DBDDL represents a CREATE, DROP database statement. +// DBDDL represents a CREATE, DROP, or ALTER database statement. type DBDDL struct { Action string DBName string @@ -700,7 +700,7 @@ type DBDDL struct { // Format formats the node. func (node *DBDDL) Format(buf *TrackedBuffer) { switch node.Action { - case CreateStr: + case CreateStr, AlterStr: buf.WriteString(fmt.Sprintf("%s database %s", node.Action, node.DBName)) case DropStr: exists := "" diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 6a3d329585c..20f20de3457 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -958,6 +958,30 @@ var ( }, { input: "alter table a drop id", output: "alter table a", + }, { + input: "alter database d default character set = charset", + output: "alter database d", + }, { + input: "alter database d character set = charset", + output: "alter database d", + }, { + input: "alter database d default collate = collation", + output: "alter database d", + }, { + input: "alter database d collate = collation", + output: "alter database d", + }, { + input: "alter schema d default character set = charset", + output: "alter database d", + }, { + input: "alter schema d character set = charset", + output: "alter database d", + }, { + input: "alter schema d default collate = collation", + output: "alter database d", + }, { + input: "alter schema d collate = collation", + output: "alter database d", }, { input: "create table a", }, { diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index cb711899920..145b73f70c0 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -800,1583 +800,1413 @@ var yyExca = [...]int{ 5, 29, -2, 4, -1, 37, - 161, 300, - 162, 300, - -2, 288, - -1, 320, - 113, 641, - -2, 637, - -1, 321, - 113, 642, - -2, 638, - -1, 389, - 83, 890, + 161, 302, + 162, 302, + -2, 290, + -1, 322, + 113, 643, + -2, 639, + -1, 323, + 113, 644, + -2, 640, + -1, 391, + 83, 892, -2, 63, - -1, 390, - 83, 808, + -1, 392, + 83, 810, -2, 64, - -1, 395, - 83, 777, - -2, 603, -1, 397, - 83, 838, + 83, 779, -2, 605, - -1, 691, - 1, 353, - 5, 353, - 12, 353, - 13, 353, - 14, 353, - 15, 353, - 17, 353, - 19, 353, - 30, 353, - 31, 353, - 43, 353, - 44, 353, - 45, 353, - 46, 353, - 47, 353, - 49, 353, - 50, 353, - 53, 353, - 54, 353, - 56, 353, - 57, 353, - 348, 353, - -2, 371, - -1, 694, + -1, 399, + 83, 840, + -2, 607, + -1, 695, + 1, 355, + 5, 355, + 12, 355, + 13, 355, + 14, 355, + 15, 355, + 17, 355, + 19, 355, + 30, 355, + 31, 355, + 43, 355, + 44, 355, + 45, 355, + 46, 355, + 47, 355, + 49, 355, + 50, 355, + 53, 355, + 54, 355, + 56, 355, + 57, 355, + 348, 355, + -2, 373, + -1, 698, 54, 44, 56, 44, -2, 48, - -1, 842, - 113, 644, - -2, 640, - -1, 1071, + -1, 848, + 113, 646, + -2, 642, + -1, 1077, 5, 30, - -2, 438, - -1, 1101, + -2, 440, + -1, 1107, 5, 29, - -2, 577, - -1, 1346, + -2, 579, + -1, 1352, 5, 30, - -2, 578, - -1, 1399, - 5, 29, -2, 580, - -1, 1477, + -1, 1405, + 5, 29, + -2, 582, + -1, 1483, 5, 30, - -2, 581, + -2, 583, } const yyPrivate = 57344 -const yyLast = 16558 +const yyLast = 16515 var yyAct = [...]int{ - 321, 1511, 1501, 1465, 900, 1308, 1196, 325, 1104, 1411, - 647, 955, 984, 1122, 1366, 1248, 338, 1379, 1249, 299, - 1282, 57, 1105, 926, 928, 351, 1245, 547, 998, 1035, - 1149, 290, 81, 954, 964, 1220, 264, 1261, 1255, 264, - 791, 867, 1128, 805, 1063, 877, 1175, 707, 930, 394, - 895, 844, 1166, 951, 578, 646, 3, 874, 968, 584, - 915, 352, 51, 706, 388, 994, 908, 264, 81, 518, - 323, 688, 264, 383, 264, 599, 291, 292, 293, 294, - 308, 590, 297, 380, 385, 696, 661, 56, 61, 1504, - 1017, 1488, 1499, 662, 1475, 1496, 1309, 1487, 1474, 536, - 1237, 1338, 523, 1276, 1016, 551, 708, 298, 709, 312, - 945, 687, 296, 51, 63, 64, 65, 66, 67, 572, - 363, 304, 369, 370, 367, 368, 366, 365, 364, 259, - 255, 256, 257, 1021, 1221, 1137, 371, 372, 1136, 946, - 947, 1138, 1015, 1440, 612, 611, 621, 622, 614, 615, - 616, 617, 618, 619, 620, 613, 1277, 1278, 623, 567, - 295, 1157, 977, 568, 565, 566, 1198, 251, 1369, 253, - 985, 553, 1223, 555, 1329, 1327, 1386, 289, 571, 570, - 780, 560, 561, 779, 1498, 1200, 777, 1495, 1466, 1195, - 909, 1458, 1012, 1009, 1010, 969, 1008, 1519, 537, 525, - 1412, 1123, 1125, 1515, 552, 554, 1225, 253, 1229, 1201, - 1224, 784, 1222, 1414, 770, 1420, 1192, 1227, 778, 1199, - 781, 1271, 1194, 971, 1270, 971, 1226, 1269, 1019, 1022, - 521, 528, 533, 266, 254, 1029, 635, 636, 1028, 1228, - 1230, 1080, 1447, 1349, 1207, 1077, 1133, 1090, 258, 1057, - 971, 816, 264, 1150, 702, 264, 603, 543, 813, 1294, - 613, 264, 252, 623, 952, 1014, 623, 264, 941, 806, - 81, 1037, 81, 810, 81, 81, 851, 81, 1124, 81, - 519, 1413, 596, 598, 1239, 81, 1456, 1013, 1429, 550, - 849, 850, 848, 1259, 70, 530, 519, 531, 598, 556, - 532, 557, 558, 576, 559, 896, 562, 978, 985, 1473, - 1295, 1513, 573, 1441, 1514, 81, 1512, 1421, 1419, 1193, - 970, 1191, 970, 710, 586, 772, 1018, 574, 575, 517, - 71, 548, 896, 548, 1087, 548, 548, 974, 548, 1155, - 548, 1020, 1520, 975, 635, 636, 548, 970, 635, 636, - 1036, 807, 967, 965, 1075, 966, 1074, 539, 540, 541, - 587, 963, 969, 1054, 1055, 1056, 51, 54, 597, 596, - 524, 1183, 593, 597, 596, 1241, 1461, 847, 264, 264, - 264, 632, 1521, 1479, 634, 598, 1375, 81, 1374, 1170, - 598, 327, 1076, 81, 588, 868, 1169, 869, 1481, 318, - 1158, 1181, 686, 614, 615, 616, 617, 618, 619, 620, - 613, 1457, 645, 623, 649, 650, 651, 652, 653, 654, - 655, 656, 657, 1393, 660, 663, 663, 663, 669, 663, - 663, 669, 663, 677, 678, 679, 680, 681, 682, 1139, - 692, 1140, 549, 597, 596, 1372, 1204, 526, 527, 1167, - 1454, 664, 666, 668, 670, 672, 674, 675, 665, 667, - 598, 671, 673, 695, 676, 819, 820, 700, 1182, 1040, - 250, 704, 22, 1187, 1184, 1177, 1185, 1180, 1311, 1176, - 597, 596, 1178, 1179, 612, 611, 621, 622, 614, 615, - 616, 617, 618, 619, 620, 613, 1186, 598, 623, 611, - 621, 622, 614, 615, 616, 617, 618, 619, 620, 613, - 391, 1150, 623, 1145, 597, 596, 1417, 1497, 264, 834, - 836, 837, 870, 81, 790, 835, 1483, 577, 264, 264, - 81, 598, 303, 789, 264, 377, 378, 264, 1064, 773, - 264, 1417, 1469, 577, 264, 771, 81, 81, 768, 815, - 769, 81, 81, 81, 264, 81, 81, 776, 1417, 577, - 1426, 81, 81, 1417, 1448, 1417, 1416, 350, 1364, 1363, - 1351, 577, 1425, 794, 795, 1348, 577, 1291, 796, 797, - 798, 545, 800, 801, 548, 1301, 1300, 814, 802, 803, - 81, 548, 822, 793, 538, 264, 1297, 1298, 972, 79, - 1258, 81, 1297, 1296, 597, 596, 821, 548, 548, 1069, - 577, 879, 548, 548, 548, 1344, 548, 548, 912, 577, - 785, 598, 548, 548, 1428, 616, 617, 618, 619, 620, - 613, 1129, 845, 623, 54, 393, 1210, 341, 340, 343, - 344, 345, 346, 24, 840, 81, 342, 347, 879, 577, - 58, 878, 880, 842, 917, 920, 921, 922, 918, 24, - 919, 923, 886, 889, 1262, 1263, 1129, 1099, 897, 823, - 717, 716, 1100, 698, 1246, 912, 838, 1258, 81, 81, - 698, 1069, 935, 912, 697, 264, 911, 24, 1398, 1299, - 1141, 1069, 54, 264, 264, 944, 51, 264, 264, 1093, - 1092, 264, 264, 264, 81, 881, 871, 872, 54, 1197, - 1258, 649, 912, 1069, 633, 697, 699, 81, 701, 703, - 936, 817, 783, 699, 938, 697, 1489, 314, 637, 638, - 639, 640, 641, 642, 643, 644, 54, 305, 905, 893, - 1381, 979, 1356, 999, 986, 987, 988, 1287, 1262, 1263, - 1506, 1144, 793, 995, 927, 990, 989, 1382, 692, 1002, - 1502, 934, 692, 1289, 1265, 1246, 1171, 811, 942, 943, - 691, 264, 81, 787, 81, 939, 829, 1268, 264, 264, - 264, 264, 264, 1267, 264, 264, 54, 959, 264, 81, - 1113, 917, 920, 921, 922, 918, 1000, 919, 923, 1004, - 1118, 1006, 921, 922, 1116, 264, 1114, 264, 264, 1117, - 1112, 1115, 264, 309, 310, 1493, 1033, 1486, 1206, 1042, - 1491, 1052, 1051, 591, 1162, 715, 579, 591, 546, 391, - 996, 997, 1154, 548, 1377, 548, 592, 393, 580, 393, - 592, 393, 393, 589, 393, 1463, 393, 1462, 1396, 1152, - 548, 1146, 393, 1342, 1005, 786, 925, 1045, 306, 307, - 300, 1050, 1434, 301, 58, 1433, 842, 1384, 876, 1049, - 1129, 569, 1508, 1507, 845, 1066, 1047, 1046, 1081, 1067, - 1078, 804, 601, 594, 1508, 1444, 1071, 1072, 1073, 1370, - 812, 60, 62, 1079, 55, 1, 1082, 1083, 1500, 1310, - 1059, 1378, 1089, 1058, 1011, 1464, 1091, 1410, 1281, 1094, - 1095, 1096, 1097, 264, 264, 264, 264, 264, 962, 1106, - 953, 69, 516, 68, 1455, 264, 961, 960, 264, 1418, - 1368, 1121, 264, 973, 1156, 976, 264, 1288, 1153, 1460, - 723, 721, 722, 720, 725, 1086, 724, 719, 277, 386, - 924, 711, 1001, 595, 393, 81, 72, 1190, 1189, 1130, - 712, 1007, 809, 563, 1101, 564, 1142, 279, 631, 1048, - 1102, 1103, 1135, 392, 692, 692, 692, 692, 692, 1131, - 1127, 1132, 1253, 881, 1119, 1108, 1109, 818, 1111, 927, - 583, 1126, 1134, 1159, 1160, 1432, 1383, 692, 846, 1151, - 1085, 658, 894, 81, 81, 843, 326, 833, 852, 853, - 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, - 864, 865, 866, 339, 1107, 1147, 1148, 1110, 581, 585, - 336, 1173, 337, 81, 980, 981, 982, 983, 1161, 1174, - 1163, 1164, 1165, 1168, 824, 604, 841, 1098, 605, 264, - 991, 992, 993, 324, 316, 690, 1188, 683, 81, 916, - 1202, 914, 913, 901, 381, 548, 1264, 1260, 689, 1209, - 1337, 1439, 828, 1218, 26, 59, 311, 19, 1203, 18, - 648, 17, 20, 16, 691, 15, 14, 534, 691, 659, - 393, 30, 691, 21, 548, 13, 12, 393, 11, 10, - 9, 8, 7, 81, 81, 1214, 1238, 1106, 1247, 6, - 5, 4, 1232, 393, 393, 1219, 1213, 1231, 393, 393, - 393, 302, 393, 393, 23, 2, 1250, 81, 393, 393, - 0, 1045, 0, 0, 0, 0, 0, 0, 0, 0, - 842, 0, 81, 0, 81, 81, 391, 1257, 1266, 0, - 1273, 0, 0, 0, 0, 1280, 0, 825, 1252, 956, - 0, 0, 1251, 0, 51, 1272, 0, 0, 601, 0, - 0, 393, 264, 1275, 0, 1279, 0, 0, 1285, 1286, - 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 264, 0, 0, 0, 0, 0, 81, 0, 0, 81, - 81, 81, 264, 0, 0, 0, 0, 1303, 81, 0, - 0, 264, 873, 1292, 1293, 0, 0, 0, 1319, 0, - 1304, 0, 1306, 0, 0, 1321, 0, 0, 898, 0, - 0, 0, 0, 1316, 1318, 0, 1330, 1331, 0, 0, - 846, 0, 0, 0, 0, 902, 903, 0, 0, 1060, - 1061, 1062, 1317, 0, 1325, 0, 1345, 1346, 1347, 841, - 1350, 0, 0, 0, 0, 0, 1106, 0, 0, 0, - 0, 393, 692, 0, 1343, 0, 0, 1361, 0, 1352, - 81, 1353, 0, 0, 393, 0, 0, 0, 81, 0, - 0, 1142, 0, 1362, 0, 0, 0, 808, 0, 1336, - 0, 0, 0, 81, 691, 691, 691, 691, 691, 1371, - 81, 1373, 0, 0, 0, 0, 0, 0, 0, 691, - 0, 0, 0, 0, 831, 832, 0, 691, 0, 0, - 1376, 1358, 1359, 1360, 0, 0, 1385, 0, 0, 393, - 0, 393, 1392, 0, 0, 0, 0, 0, 0, 81, - 81, 0, 81, 0, 0, 0, 393, 81, 0, 81, - 81, 81, 264, 1397, 548, 81, 0, 0, 582, 0, - 1250, 1405, 1404, 1406, 1407, 1408, 0, 648, 0, 0, - 884, 885, 81, 264, 393, 1415, 1409, 1422, 0, 0, - 0, 0, 1435, 1436, 1437, 1438, 1430, 956, 0, 1442, - 1443, 0, 0, 1399, 262, 0, 1251, 288, 0, 1400, - 0, 1449, 1450, 1451, 1445, 0, 0, 0, 81, 0, - 1453, 0, 693, 1452, 1250, 1423, 0, 1424, 0, 81, - 81, 0, 315, 0, 0, 384, 0, 0, 950, 1427, - 262, 1468, 262, 0, 1472, 1471, 1467, 0, 81, 0, - 0, 1477, 1106, 1476, 0, 0, 1446, 0, 261, 264, - 1251, 0, 51, 0, 1216, 1217, 0, 81, 0, 1482, - 0, 0, 0, 0, 0, 0, 1485, 1233, 1234, 898, - 1235, 1236, 0, 0, 0, 0, 0, 1490, 0, 382, - 81, 1492, 1243, 1244, 520, 0, 522, 0, 0, 0, - 1212, 0, 0, 1505, 1494, 0, 0, 0, 0, 0, - 1516, 0, 0, 0, 1517, 1518, 0, 0, 0, 882, - 883, 0, 393, 888, 891, 892, 0, 0, 0, 1322, - 1323, 0, 1324, 1242, 0, 1326, 0, 1328, 0, 0, - 0, 0, 1043, 1044, 0, 585, 0, 0, 904, 0, - 906, 907, 0, 0, 1290, 0, 0, 0, 0, 0, - 1503, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1172, 393, 0, 621, 622, 614, 615, 616, 617, 618, - 619, 620, 613, 0, 956, 623, 956, 0, 0, 0, - 0, 1365, 0, 274, 0, 0, 0, 0, 0, 0, - 393, 577, 691, 0, 0, 0, 0, 1070, 0, 0, - 0, 0, 0, 0, 0, 1320, 0, 0, 284, 0, - 262, 0, 0, 262, 1088, 393, 0, 0, 0, 262, - 0, 0, 0, 0, 0, 262, 0, 0, 612, 611, - 621, 622, 614, 615, 616, 617, 618, 619, 620, 613, - 1212, 0, 623, 0, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 0, 0, 898, 0, 267, - 1254, 1256, 0, 0, 529, 0, 270, 535, 0, 0, - 0, 0, 0, 542, 278, 273, 0, 0, 0, 544, - 0, 0, 0, 0, 1256, 0, 0, 1053, 0, 0, - 24, 25, 52, 27, 28, 0, 0, 0, 0, 393, - 0, 393, 1283, 0, 0, 0, 0, 276, 0, 43, - 0, 0, 956, 283, 29, 48, 49, 0, 0, 0, - 0, 0, 1387, 1388, 1389, 1390, 1391, 0, 0, 0, - 1394, 1395, 0, 0, 1068, 38, 262, 262, 262, 54, - 268, 0, 1380, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1084, 1307, 0, 1205, 1312, 1313, 1314, 0, - 0, 0, 0, 0, 0, 393, 0, 280, 271, 0, - 281, 282, 287, 0, 0, 0, 272, 275, 0, 269, - 286, 285, 0, 0, 0, 0, 0, 0, 0, 0, - 685, 0, 694, 0, 0, 0, 0, 0, 0, 0, - 31, 32, 34, 33, 36, 1240, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 898, 0, 0, 0, + 323, 1517, 1507, 1314, 1471, 1202, 327, 1110, 1417, 961, + 1128, 651, 1254, 957, 1288, 340, 1372, 1111, 1385, 934, + 57, 650, 3, 1255, 932, 553, 1251, 1004, 960, 970, + 1041, 1261, 81, 811, 1226, 301, 266, 1155, 1069, 266, + 1267, 873, 797, 1181, 396, 883, 974, 711, 692, 901, + 936, 582, 697, 880, 1172, 850, 588, 520, 353, 329, + 1000, 921, 710, 390, 385, 594, 914, 266, 81, 325, + 310, 603, 266, 300, 266, 382, 387, 691, 700, 665, + 56, 551, 1134, 1510, 61, 1494, 1023, 1505, 263, 1481, + 540, 1502, 1315, 393, 1493, 1480, 666, 1243, 1344, 525, + 1022, 261, 257, 258, 259, 292, 712, 555, 713, 314, + 63, 64, 65, 66, 67, 253, 1283, 1284, 251, 384, + 255, 952, 953, 1282, 522, 951, 524, 576, 365, 1027, + 371, 372, 369, 370, 368, 367, 366, 990, 1021, 298, + 1143, 297, 1163, 1142, 373, 374, 1144, 983, 1204, 1375, + 293, 294, 295, 296, 1392, 991, 299, 1446, 616, 615, + 625, 626, 618, 619, 620, 621, 622, 623, 624, 617, + 1335, 1333, 627, 557, 571, 559, 291, 786, 572, 569, + 570, 564, 565, 574, 785, 1206, 575, 783, 1018, 1015, + 1016, 1504, 1014, 1501, 1472, 1201, 915, 1464, 975, 1525, + 1521, 1205, 541, 1418, 527, 255, 556, 558, 1129, 1131, + 1207, 790, 774, 254, 1277, 1198, 1420, 787, 1276, 784, + 260, 1200, 1275, 523, 1025, 1028, 530, 1227, 1426, 977, + 537, 268, 977, 256, 252, 616, 615, 625, 626, 618, + 619, 620, 621, 622, 623, 624, 617, 1035, 1453, 627, + 1034, 1355, 266, 639, 640, 1213, 1139, 266, 1096, 1156, + 1063, 1020, 1086, 266, 822, 1229, 706, 977, 607, 266, + 1083, 547, 81, 1300, 81, 958, 81, 81, 947, 81, + 627, 81, 819, 1019, 1419, 1130, 991, 81, 816, 1070, + 1462, 554, 1043, 534, 1435, 535, 602, 521, 536, 1231, + 600, 1235, 521, 1230, 531, 1228, 1479, 1265, 1519, 539, + 1233, 1520, 812, 1518, 1189, 546, 602, 81, 1199, 1232, + 1197, 548, 1024, 906, 1301, 590, 976, 1447, 591, 976, + 1427, 1425, 1234, 1236, 1082, 519, 744, 1026, 620, 621, + 622, 623, 624, 617, 1187, 617, 627, 70, 627, 714, + 543, 544, 545, 1245, 902, 560, 1093, 561, 562, 1161, + 563, 857, 566, 776, 976, 639, 640, 984, 577, 973, + 971, 1042, 972, 639, 640, 855, 856, 854, 969, 975, + 266, 266, 266, 71, 637, 601, 600, 902, 1081, 81, + 1080, 1526, 592, 1467, 813, 81, 601, 600, 597, 821, + 980, 1485, 602, 578, 579, 690, 981, 601, 600, 825, + 826, 1188, 1381, 602, 393, 732, 1193, 1190, 1183, 1191, + 1186, 1380, 1182, 54, 602, 1184, 1185, 1176, 601, 600, + 1175, 1527, 689, 853, 698, 1247, 874, 820, 875, 1192, + 695, 526, 1060, 1061, 1062, 602, 668, 670, 672, 674, + 676, 678, 679, 745, 601, 600, 1164, 699, 601, 600, + 1487, 1463, 704, 669, 671, 708, 675, 677, 1399, 680, + 250, 602, 1145, 1378, 1146, 602, 758, 761, 762, 763, + 764, 765, 766, 1210, 767, 768, 769, 770, 771, 746, + 747, 748, 749, 730, 731, 759, 1173, 733, 1046, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 750, + 751, 752, 753, 754, 755, 756, 757, 22, 528, 529, + 266, 840, 842, 843, 1460, 81, 1317, 841, 354, 51, + 266, 266, 81, 81, 81, 379, 380, 1156, 266, 1423, + 1503, 266, 1489, 581, 266, 1423, 1475, 581, 266, 1151, + 81, 81, 1423, 581, 1432, 81, 81, 81, 266, 81, + 81, 1423, 1454, 1423, 1422, 81, 81, 760, 1370, 1369, + 1357, 581, 722, 1354, 581, 1307, 1306, 305, 1303, 1304, + 51, 876, 778, 779, 1303, 1302, 1075, 581, 306, 796, + 788, 795, 799, 384, 81, 777, 794, 918, 581, 266, + 885, 581, 54, 775, 772, 81, 773, 721, 720, 1431, + 805, 549, 542, 780, 781, 782, 791, 1297, 343, 342, + 345, 346, 347, 348, 580, 533, 827, 344, 349, 532, + 1135, 800, 801, 847, 702, 702, 802, 803, 804, 1252, + 806, 807, 1264, 24, 24, 978, 808, 809, 1264, 81, + 846, 836, 848, 885, 618, 619, 620, 621, 622, 623, + 624, 617, 58, 829, 627, 892, 895, 1105, 1350, 851, + 852, 903, 1106, 1404, 918, 887, 844, 703, 703, 705, + 701, 1216, 81, 81, 923, 926, 927, 928, 924, 266, + 925, 929, 54, 54, 1268, 1269, 1135, 266, 266, 24, + 1434, 266, 266, 1075, 917, 266, 266, 266, 81, 877, + 878, 918, 320, 352, 941, 1305, 701, 1147, 950, 1099, + 1098, 81, 1075, 701, 707, 942, 1075, 899, 823, 944, + 918, 789, 1495, 393, 307, 1387, 985, 1362, 911, 1203, + 1264, 916, 1005, 1293, 1150, 79, 962, 1001, 54, 1268, + 1269, 799, 996, 995, 943, 1388, 695, 1008, 1512, 1508, + 695, 1295, 1271, 1252, 695, 940, 1177, 817, 793, 1122, + 945, 948, 949, 835, 1123, 266, 81, 1120, 81, 965, + 1274, 395, 1121, 54, 266, 266, 266, 266, 266, 1273, + 266, 266, 1119, 1118, 266, 81, 311, 312, 1499, 1006, + 552, 1492, 552, 1212, 552, 552, 1048, 552, 1497, 552, + 1058, 266, 1057, 266, 266, 552, 1168, 719, 266, 923, + 926, 927, 928, 924, 550, 925, 929, 1009, 595, 1002, + 1003, 1124, 595, 927, 928, 51, 1029, 1030, 1031, 1032, + 1033, 596, 1036, 1037, 593, 596, 1038, 1160, 847, 583, + 636, 1469, 1468, 638, 1402, 1158, 1152, 1010, 1348, 1012, + 1383, 584, 1011, 1040, 792, 1051, 931, 848, 882, 1056, + 1047, 308, 309, 992, 993, 994, 1039, 1055, 302, 1053, + 1052, 649, 1440, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 303, 664, 667, 667, 667, 673, 667, 667, + 673, 667, 681, 682, 683, 684, 685, 686, 58, 696, + 1065, 1439, 1390, 851, 852, 828, 1135, 573, 1087, 266, + 266, 266, 266, 266, 1112, 1514, 1513, 60, 1084, 810, + 598, 266, 1514, 1450, 266, 1376, 1107, 818, 266, 62, + 55, 1, 266, 1506, 1316, 1384, 1017, 1470, 1416, 1287, + 1092, 968, 959, 69, 518, 887, 68, 1461, 967, 966, + 1424, 81, 1374, 979, 1162, 982, 1136, 1294, 1114, 1115, + 1148, 1117, 1159, 1466, 884, 886, 727, 725, 695, 695, + 695, 695, 695, 726, 724, 395, 962, 395, 1133, 395, + 395, 1125, 395, 695, 395, 729, 1113, 728, 1140, 1116, + 395, 695, 723, 279, 1167, 388, 1169, 1170, 1171, 81, + 81, 930, 1157, 715, 1007, 599, 72, 1196, 1195, 1153, + 1154, 1013, 815, 567, 568, 1137, 281, 1138, 635, 1054, + 605, 1141, 394, 1259, 824, 587, 1438, 1389, 1091, 81, + 662, 900, 328, 641, 642, 643, 644, 645, 646, 647, + 648, 1174, 839, 552, 341, 266, 338, 339, 830, 1194, + 552, 552, 552, 1104, 81, 609, 326, 318, 694, 687, + 922, 920, 919, 383, 1209, 1270, 1266, 693, 552, 552, + 1215, 1343, 1445, 552, 552, 552, 834, 552, 552, 1218, + 26, 1179, 59, 552, 552, 313, 19, 18, 986, 987, + 988, 989, 395, 17, 20, 1220, 16, 1214, 716, 81, + 81, 1244, 1112, 1253, 997, 998, 999, 1238, 1219, 1180, + 1208, 1225, 1248, 1237, 1165, 1166, 15, 14, 538, 30, + 1258, 21, 13, 81, 12, 11, 10, 9, 8, 1051, + 7, 848, 6, 5, 4, 304, 23, 2, 81, 0, + 81, 81, 0, 0, 0, 1279, 0, 1272, 0, 1286, + 0, 0, 0, 0, 1278, 1256, 0, 51, 0, 0, + 0, 0, 0, 962, 0, 962, 1285, 0, 266, 1298, + 1299, 1290, 653, 0, 316, 0, 0, 0, 0, 0, + 0, 1291, 1292, 1263, 0, 0, 266, 0, 0, 0, + 1072, 0, 81, 0, 1073, 81, 81, 81, 266, 0, + 0, 1077, 1078, 1079, 81, 0, 0, 266, 1085, 1281, + 0, 1088, 1089, 0, 0, 933, 0, 1095, 0, 696, + 1308, 1097, 0, 696, 1100, 1101, 1102, 1103, 395, 1218, + 1322, 1324, 0, 0, 0, 395, 395, 395, 1311, 0, + 0, 0, 0, 0, 0, 0, 1127, 0, 0, 1331, + 1321, 0, 0, 395, 395, 0, 0, 0, 395, 395, + 395, 1112, 395, 395, 0, 0, 695, 0, 395, 395, + 1349, 0, 1359, 0, 1358, 0, 81, 1309, 0, 0, + 0, 0, 0, 0, 81, 1148, 0, 0, 1323, 0, + 1310, 0, 1312, 0, 552, 1347, 552, 831, 0, 81, + 0, 962, 0, 0, 0, 1368, 81, 0, 605, 0, + 0, 395, 849, 552, 0, 858, 859, 860, 861, 862, + 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, + 0, 1386, 0, 616, 615, 625, 626, 618, 619, 620, + 621, 622, 623, 624, 617, 81, 81, 627, 81, 0, + 0, 0, 879, 81, 0, 81, 81, 81, 266, 0, + 0, 81, 0, 0, 1403, 1405, 1064, 0, 904, 1411, + 907, 1412, 1413, 1414, 0, 1421, 0, 1415, 81, 266, + 1382, 1429, 1428, 1430, 1410, 908, 909, 0, 1224, 0, + 0, 0, 0, 0, 1436, 0, 0, 0, 0, 1256, + 0, 0, 0, 0, 0, 0, 0, 1451, 0, 0, + 0, 395, 0, 0, 81, 1459, 1458, 0, 1452, 0, + 0, 0, 0, 586, 395, 81, 81, 0, 0, 0, + 1377, 1437, 1379, 1108, 1109, 1474, 0, 696, 696, 696, + 696, 696, 1477, 1473, 81, 0, 0, 1112, 1482, 0, + 1386, 962, 933, 1256, 1132, 266, 0, 1391, 0, 264, + 696, 0, 290, 81, 0, 0, 0, 0, 0, 0, + 0, 1491, 0, 0, 0, 0, 0, 585, 589, 395, + 0, 395, 0, 0, 1496, 1498, 81, 317, 0, 0, + 386, 0, 0, 0, 608, 264, 0, 264, 395, 1511, + 0, 0, 1500, 0, 0, 0, 1522, 1486, 0, 0, + 0, 0, 0, 888, 889, 0, 0, 894, 897, 898, + 0, 0, 0, 0, 0, 0, 395, 0, 552, 652, + 0, 0, 0, 1325, 0, 0, 0, 0, 663, 0, + 1327, 0, 910, 0, 912, 913, 0, 0, 0, 0, + 0, 1336, 1337, 0, 0, 0, 0, 552, 1066, 1067, + 1068, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1351, 1352, 1353, 0, 1356, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1328, 1329, 611, 1330, 614, + 0, 1332, 1367, 1334, 581, 628, 629, 630, 631, 632, + 633, 634, 0, 612, 613, 610, 616, 615, 625, 626, + 618, 619, 620, 621, 622, 623, 624, 617, 0, 0, + 627, 904, 0, 0, 0, 1257, 0, 51, 0, 0, + 0, 616, 615, 625, 626, 618, 619, 620, 621, 622, + 623, 624, 617, 0, 0, 627, 0, 1371, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, + 0, 0, 0, 0, 395, 625, 626, 618, 619, 620, + 621, 622, 623, 624, 617, 264, 0, 627, 0, 0, + 264, 0, 0, 0, 0, 0, 264, 0, 0, 0, + 0, 0, 264, 1059, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1441, 1442, 1443, + 1444, 0, 1178, 395, 1448, 1449, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1455, 1456, 1457, 0, + 0, 0, 0, 0, 0, 696, 0, 0, 0, 0, + 1074, 0, 395, 276, 0, 0, 0, 0, 814, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1090, 1478, + 0, 0, 1342, 0, 0, 0, 1483, 395, 286, 0, + 0, 0, 0, 1222, 1223, 837, 838, 0, 0, 0, + 0, 0, 0, 0, 1488, 0, 1239, 1240, 0, 1241, + 1242, 0, 0, 0, 1364, 1365, 1366, 0, 0, 0, + 395, 1249, 1250, 264, 264, 264, 0, 0, 0, 904, + 0, 0, 1260, 1262, 0, 0, 0, 0, 0, 269, + 0, 0, 0, 0, 0, 0, 272, 552, 652, 1523, + 1524, 890, 891, 0, 280, 275, 1262, 0, 1346, 615, + 625, 626, 618, 619, 620, 621, 622, 623, 624, 617, + 0, 395, 627, 395, 1289, 0, 0, 0, 0, 0, + 0, 0, 0, 1296, 0, 0, 0, 278, 0, 1257, + 0, 0, 1406, 285, 0, 0, 616, 615, 625, 626, + 618, 619, 620, 621, 622, 623, 624, 617, 0, 956, + 627, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 270, 0, 1433, 0, 0, 1313, 0, 0, 1318, 1319, + 1320, 0, 0, 0, 0, 0, 0, 395, 0, 0, + 0, 0, 0, 1257, 1326, 51, 0, 282, 273, 0, + 283, 284, 289, 0, 0, 0, 274, 277, 0, 271, + 288, 287, 0, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, + 0, 264, 0, 0, 264, 0, 0, 264, 904, 0, + 0, 798, 0, 0, 0, 0, 0, 0, 0, 1221, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 395, + 0, 0, 0, 0, 0, 1049, 1050, 1373, 589, 616, + 615, 625, 626, 618, 619, 620, 621, 622, 623, 624, + 617, 0, 395, 627, 0, 0, 0, 1341, 0, 395, + 0, 0, 264, 1509, 0, 0, 0, 0, 0, 0, + 0, 798, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1393, 1394, 1395, 1396, 1397, 0, 0, 0, 1400, + 1401, 0, 0, 0, 0, 0, 0, 0, 1407, 1408, + 1076, 1409, 0, 0, 0, 0, 1373, 0, 1373, 1373, + 1373, 0, 0, 317, 1289, 0, 0, 1094, 317, 317, + 0, 0, 317, 317, 317, 0, 0, 0, 905, 0, + 0, 1373, 616, 615, 625, 626, 618, 619, 620, 621, + 622, 623, 624, 617, 0, 0, 627, 317, 317, 317, + 317, 0, 264, 0, 0, 0, 0, 0, 0, 0, + 264, 938, 0, 0, 264, 264, 0, 1465, 264, 946, + 798, 0, 0, 0, 0, 0, 0, 0, 395, 395, + 24, 25, 52, 27, 28, 0, 1340, 0, 0, 0, + 0, 0, 0, 0, 904, 0, 0, 1484, 0, 43, + 0, 0, 0, 0, 29, 48, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1490, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 0, 54, + 0, 0, 0, 0, 0, 0, 0, 0, 264, 1373, + 0, 0, 0, 0, 0, 0, 0, 264, 264, 264, + 264, 264, 1515, 264, 264, 0, 0, 264, 1211, 0, + 0, 616, 615, 625, 626, 618, 619, 620, 621, 622, + 623, 624, 617, 0, 264, 627, 1044, 1045, 0, 0, + 0, 264, 0, 0, 0, 0, 798, 0, 0, 1339, + 31, 32, 34, 33, 36, 0, 50, 0, 317, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 44, - 45, 0, 0, 46, 47, 35, 0, 393, 0, 0, - 0, 0, 0, 0, 0, 1367, 0, 1274, 0, 39, - 40, 0, 41, 42, 0, 0, 0, 0, 0, 0, - 393, 1380, 956, 0, 0, 0, 0, 393, 0, 0, - 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, - 0, 0, 262, 1509, 0, 262, 0, 0, 262, 0, - 0, 0, 792, 0, 0, 0, 1401, 1402, 0, 1403, - 0, 0, 262, 0, 1367, 0, 1367, 1367, 1367, 0, - 0, 0, 1283, 0, 0, 0, 0, 0, 0, 0, - 718, 0, 0, 0, 53, 0, 0, 0, 0, 1367, - 774, 775, 0, 0, 0, 0, 782, 0, 0, 382, - 0, 1341, 788, 262, 0, 0, 0, 0, 0, 1339, - 0, 0, 792, 0, 0, 0, 799, 0, 0, 648, - 0, 0, 0, 0, 0, 1459, 0, 1354, 0, 0, - 1355, 0, 0, 1357, 0, 0, 393, 393, 0, 612, - 611, 621, 622, 614, 615, 616, 617, 618, 619, 620, - 613, 0, 898, 623, 315, 1478, 0, 830, 0, 315, - 315, 0, 0, 315, 315, 315, 0, 0, 0, 899, - 0, 0, 0, 1335, 1484, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 315, 315, - 315, 315, 1334, 262, 0, 0, 0, 1367, 0, 0, - 0, 262, 932, 0, 0, 262, 262, 0, 0, 262, - 940, 792, 607, 0, 610, 0, 0, 0, 0, 0, - 624, 625, 626, 627, 628, 629, 630, 0, 608, 609, - 606, 612, 611, 621, 622, 614, 615, 616, 617, 618, - 619, 620, 613, 0, 0, 623, 0, 910, 612, 611, - 621, 622, 614, 615, 616, 617, 618, 619, 620, 613, - 937, 0, 623, 0, 0, 0, 0, 612, 611, 621, - 622, 614, 615, 616, 617, 618, 619, 620, 613, 262, - 0, 623, 0, 0, 0, 0, 262, 262, 262, 262, - 262, 0, 262, 262, 0, 0, 262, 0, 0, 0, - 0, 1470, 648, 0, 0, 0, 0, 0, 0, 740, - 0, 0, 0, 262, 1340, 1038, 1039, 0, 0, 0, - 262, 0, 0, 0, 0, 792, 0, 0, 1333, 0, - 0, 0, 0, 1003, 0, 0, 0, 315, 0, 0, - 1023, 1024, 1025, 1026, 1027, 0, 1030, 1031, 0, 0, - 1032, 0, 612, 611, 621, 622, 614, 615, 616, 617, - 618, 619, 620, 613, 0, 0, 623, 1034, 0, 0, - 0, 0, 0, 0, 1041, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 315, 0, 0, 0, 728, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 315, 612, 611, 621, 622, 614, 615, 616, - 617, 618, 619, 620, 613, 1332, 0, 623, 0, 0, - 899, 262, 262, 262, 262, 262, 741, 0, 0, 0, - 0, 0, 0, 1120, 0, 0, 262, 0, 0, 0, - 932, 0, 0, 0, 262, 0, 0, 0, 0, 754, - 757, 758, 759, 760, 761, 762, 0, 763, 764, 765, - 766, 767, 742, 743, 744, 745, 726, 727, 755, 0, - 729, 0, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 746, 747, 748, 749, 750, 751, 752, 753, - 612, 611, 621, 622, 614, 615, 616, 617, 618, 619, - 620, 613, 1215, 0, 623, 612, 611, 621, 622, 614, - 615, 616, 617, 618, 619, 620, 613, 0, 0, 623, - 0, 1065, 612, 611, 621, 622, 614, 615, 616, 617, - 618, 619, 620, 613, 0, 0, 623, 0, 0, 0, - 756, 612, 611, 621, 622, 614, 615, 616, 617, 618, - 619, 620, 613, 0, 0, 623, 0, 262, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 315, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 792, - 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, - 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 262, 0, 0, 0, 0, 0, 0, 0, 0, 262, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1315, 0, 0, 899, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1431, 0, 0, 0, 0, - 0, 0, 0, 899, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 262, 0, 503, - 491, 0, 448, 506, 421, 438, 514, 439, 442, 479, - 406, 461, 165, 436, 0, 425, 401, 432, 402, 423, - 450, 111, 454, 420, 493, 464, 505, 137, 426, 512, - 139, 470, 0, 211, 153, 0, 0, 452, 495, 459, - 488, 447, 480, 411, 469, 507, 437, 477, 508, 0, - 0, 1480, 80, 0, 957, 958, 0, 0, 0, 0, - 0, 101, 0, 474, 502, 434, 476, 478, 400, 471, - 0, 404, 407, 513, 498, 429, 430, 1143, 0, 0, - 0, 0, 0, 0, 451, 460, 485, 445, 0, 0, - 0, 0, 0, 0, 0, 0, 427, 0, 468, 0, - 0, 0, 408, 405, 0, 0, 449, 0, 0, 0, - 410, 0, 428, 486, 0, 398, 119, 490, 497, 446, - 265, 501, 444, 443, 504, 184, 0, 215, 122, 136, - 97, 83, 93, 0, 121, 162, 191, 195, 494, 424, - 433, 105, 431, 193, 172, 231, 467, 174, 192, 140, + 45, 0, 0, 46, 47, 35, 0, 0, 0, 0, + 0, 1338, 0, 0, 0, 0, 0, 0, 0, 39, + 40, 0, 41, 42, 0, 317, 0, 0, 0, 0, + 1280, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 317, 616, 615, 625, 626, 618, 619, + 620, 621, 622, 623, 624, 617, 0, 0, 627, 0, + 0, 905, 264, 264, 264, 264, 264, 0, 0, 0, + 0, 0, 0, 0, 1126, 0, 0, 264, 0, 0, + 0, 938, 0, 0, 0, 264, 616, 615, 625, 626, + 618, 619, 620, 621, 622, 623, 624, 617, 1071, 0, + 627, 0, 0, 0, 53, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 616, 615, + 625, 626, 618, 619, 620, 621, 622, 623, 624, 617, + 0, 0, 627, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 652, 0, 0, 0, 0, 0, 0, 0, + 1360, 0, 0, 1361, 0, 0, 1363, 616, 615, 625, + 626, 618, 619, 620, 621, 622, 623, 624, 617, 0, + 0, 627, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 798, 0, 0, 0, 0, 0, 0, 0, 0, 905, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1476, 652, 0, 0, 0, 264, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 905, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 505, 493, 0, 450, + 508, 423, 440, 516, 441, 444, 481, 408, 463, 165, + 438, 938, 427, 403, 434, 404, 425, 452, 111, 456, + 422, 495, 466, 507, 137, 428, 514, 139, 472, 0, + 211, 153, 264, 0, 454, 497, 461, 490, 449, 482, + 413, 471, 509, 439, 479, 510, 0, 0, 0, 80, + 0, 963, 964, 0, 0, 0, 0, 0, 101, 0, + 476, 504, 436, 478, 480, 402, 473, 0, 406, 409, + 515, 500, 431, 432, 1149, 0, 0, 0, 0, 0, + 0, 453, 462, 487, 447, 0, 0, 0, 0, 0, + 0, 0, 0, 429, 905, 470, 0, 0, 0, 410, + 407, 0, 0, 451, 0, 0, 0, 412, 264, 430, + 488, 0, 400, 119, 492, 499, 448, 267, 503, 446, + 445, 506, 184, 0, 215, 122, 136, 97, 83, 93, + 0, 121, 162, 191, 195, 496, 426, 435, 105, 433, + 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, + 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, + 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, + 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, + 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, + 150, 144, 135, 114, 124, 182, 142, 183, 125, 155, + 154, 156, 0, 405, 0, 212, 234, 249, 99, 421, + 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, + 96, 127, 209, 134, 141, 188, 247, 171, 194, 103, + 233, 210, 417, 420, 415, 416, 464, 465, 511, 512, + 513, 489, 411, 0, 418, 419, 0, 494, 501, 502, + 468, 82, 91, 138, 246, 186, 116, 235, 401, 414, + 109, 424, 0, 0, 437, 442, 443, 455, 457, 458, + 459, 460, 467, 474, 475, 477, 483, 484, 485, 486, + 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, + 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, + 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, + 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, + 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, + 206, 207, 213, 216, 222, 223, 232, 239, 242, 505, + 493, 0, 450, 508, 423, 440, 516, 441, 444, 481, + 408, 463, 165, 438, 0, 427, 403, 434, 404, 425, + 452, 111, 456, 422, 495, 466, 507, 137, 428, 514, + 139, 472, 0, 211, 153, 0, 0, 454, 497, 461, + 490, 449, 482, 413, 471, 509, 439, 479, 510, 0, + 0, 0, 80, 0, 963, 964, 0, 0, 0, 0, + 0, 101, 0, 476, 504, 436, 478, 480, 402, 473, + 0, 406, 409, 515, 500, 431, 432, 0, 0, 0, + 0, 0, 0, 0, 453, 462, 487, 447, 0, 0, + 0, 0, 0, 0, 0, 0, 429, 0, 470, 0, + 0, 0, 410, 407, 0, 0, 451, 0, 0, 0, + 412, 0, 430, 488, 0, 400, 119, 492, 499, 448, + 267, 503, 446, 445, 506, 184, 0, 215, 122, 136, + 97, 83, 93, 0, 121, 162, 191, 195, 496, 426, + 435, 105, 433, 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, - 183, 125, 155, 154, 156, 0, 403, 0, 212, 234, - 249, 99, 419, 219, 243, 244, 0, 0, 100, 118, + 183, 125, 155, 154, 156, 0, 405, 0, 212, 234, + 249, 99, 421, 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, - 171, 194, 103, 233, 210, 415, 418, 413, 414, 462, - 463, 509, 510, 511, 487, 409, 0, 416, 417, 0, - 492, 499, 500, 466, 82, 91, 138, 246, 186, 116, - 235, 399, 412, 109, 422, 0, 0, 435, 440, 441, - 453, 455, 456, 457, 458, 465, 472, 473, 475, 481, - 482, 483, 484, 489, 496, 515, 84, 85, 92, 98, + 171, 194, 103, 233, 210, 417, 420, 415, 416, 464, + 465, 511, 512, 513, 489, 411, 0, 418, 419, 0, + 494, 501, 502, 468, 82, 91, 138, 246, 186, 116, + 235, 401, 414, 109, 424, 0, 0, 437, 442, 443, + 455, 457, 458, 459, 460, 467, 474, 475, 477, 483, + 484, 485, 486, 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, - 239, 242, 503, 491, 0, 448, 506, 421, 438, 514, - 439, 442, 479, 406, 461, 165, 436, 0, 425, 401, - 432, 402, 423, 450, 111, 454, 420, 493, 464, 505, - 137, 426, 512, 139, 470, 0, 211, 153, 0, 0, - 452, 495, 459, 488, 447, 480, 411, 469, 507, 437, - 477, 508, 0, 0, 0, 80, 0, 957, 958, 0, - 0, 0, 0, 0, 101, 0, 474, 502, 434, 476, - 478, 400, 471, 0, 404, 407, 513, 498, 429, 430, - 0, 0, 0, 0, 0, 0, 0, 451, 460, 485, - 445, 0, 0, 0, 0, 0, 0, 0, 0, 427, - 0, 468, 0, 0, 0, 408, 405, 0, 0, 449, - 0, 0, 0, 410, 0, 428, 486, 0, 398, 119, - 490, 497, 446, 265, 501, 444, 443, 504, 184, 0, + 239, 242, 505, 493, 0, 450, 508, 423, 440, 516, + 441, 444, 481, 408, 463, 165, 438, 0, 427, 403, + 434, 404, 425, 452, 111, 456, 422, 495, 466, 507, + 137, 428, 514, 139, 472, 0, 211, 153, 0, 0, + 454, 497, 461, 490, 449, 482, 413, 471, 509, 439, + 479, 510, 54, 0, 0, 80, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 476, 504, 436, 478, + 480, 402, 473, 0, 406, 409, 515, 500, 431, 432, + 0, 0, 0, 0, 0, 0, 0, 453, 462, 487, + 447, 0, 0, 0, 0, 0, 0, 0, 0, 429, + 0, 470, 0, 0, 0, 410, 407, 0, 0, 451, + 0, 0, 0, 412, 0, 430, 488, 0, 400, 119, + 492, 499, 448, 267, 503, 446, 445, 506, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, - 195, 494, 424, 433, 105, 431, 193, 172, 231, 467, + 195, 496, 426, 435, 105, 433, 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, - 124, 182, 142, 183, 125, 155, 154, 156, 0, 403, - 0, 212, 234, 249, 99, 419, 219, 243, 244, 0, + 124, 182, 142, 183, 125, 155, 154, 156, 0, 405, + 0, 212, 234, 249, 99, 421, 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, - 141, 188, 247, 171, 194, 103, 233, 210, 415, 418, - 413, 414, 462, 463, 509, 510, 511, 487, 409, 0, - 416, 417, 0, 492, 499, 500, 466, 82, 91, 138, - 246, 186, 116, 235, 399, 412, 109, 422, 0, 0, - 435, 440, 441, 453, 455, 456, 457, 458, 465, 472, - 473, 475, 481, 482, 483, 484, 489, 496, 515, 84, + 141, 188, 247, 171, 194, 103, 233, 210, 417, 420, + 415, 416, 464, 465, 511, 512, 513, 489, 411, 0, + 418, 419, 0, 494, 501, 502, 468, 82, 91, 138, + 246, 186, 116, 235, 401, 414, 109, 424, 0, 0, + 437, 442, 443, 455, 457, 458, 459, 460, 467, 474, + 475, 477, 483, 484, 485, 486, 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, - 222, 223, 232, 239, 242, 503, 491, 0, 448, 506, - 421, 438, 514, 439, 442, 479, 406, 461, 165, 436, - 0, 425, 401, 432, 402, 423, 450, 111, 454, 420, - 493, 464, 505, 137, 426, 512, 139, 470, 0, 211, - 153, 0, 0, 452, 495, 459, 488, 447, 480, 411, - 469, 507, 437, 477, 508, 54, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 474, - 502, 434, 476, 478, 400, 471, 0, 404, 407, 513, - 498, 429, 430, 0, 0, 0, 0, 0, 0, 0, - 451, 460, 485, 445, 0, 0, 0, 0, 0, 0, - 0, 0, 427, 0, 468, 0, 0, 0, 408, 405, - 0, 0, 449, 0, 0, 0, 410, 0, 428, 486, - 0, 398, 119, 490, 497, 446, 265, 501, 444, 443, - 504, 184, 0, 215, 122, 136, 97, 83, 93, 0, - 121, 162, 191, 195, 494, 424, 433, 105, 431, 193, - 172, 231, 467, 174, 192, 140, 221, 185, 230, 240, + 222, 223, 232, 239, 242, 505, 493, 0, 450, 508, + 423, 440, 516, 441, 444, 481, 408, 463, 165, 438, + 0, 427, 403, 434, 404, 425, 452, 111, 456, 422, + 495, 466, 507, 137, 428, 514, 139, 472, 0, 211, + 153, 0, 0, 454, 497, 461, 490, 449, 482, 413, + 471, 509, 439, 479, 510, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, 0, 101, 0, 476, + 504, 436, 478, 480, 402, 473, 0, 406, 409, 515, + 500, 431, 432, 0, 0, 0, 0, 0, 0, 0, + 453, 462, 487, 447, 0, 0, 0, 0, 0, 0, + 1217, 0, 429, 0, 470, 0, 0, 0, 410, 407, + 0, 0, 451, 0, 0, 0, 412, 0, 430, 488, + 0, 400, 119, 492, 499, 448, 267, 503, 446, 445, + 506, 184, 0, 215, 122, 136, 97, 83, 93, 0, + 121, 162, 191, 195, 496, 426, 435, 105, 433, 193, + 172, 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, 125, 155, 154, - 156, 0, 403, 0, 212, 234, 249, 99, 419, 219, + 156, 0, 405, 0, 212, 234, 249, 99, 421, 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, 194, 103, 233, - 210, 415, 418, 413, 414, 462, 463, 509, 510, 511, - 487, 409, 0, 416, 417, 0, 492, 499, 500, 466, - 82, 91, 138, 246, 186, 116, 235, 399, 412, 109, - 422, 0, 0, 435, 440, 441, 453, 455, 456, 457, - 458, 465, 472, 473, 475, 481, 482, 483, 484, 489, - 496, 515, 84, 85, 92, 98, 104, 108, 112, 115, + 210, 417, 420, 415, 416, 464, 465, 511, 512, 513, + 489, 411, 0, 418, 419, 0, 494, 501, 502, 468, + 82, 91, 138, 246, 186, 116, 235, 401, 414, 109, + 424, 0, 0, 437, 442, 443, 455, 457, 458, 459, + 460, 467, 474, 475, 477, 483, 484, 485, 486, 491, + 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, - 207, 213, 216, 222, 223, 232, 239, 242, 503, 491, - 0, 448, 506, 421, 438, 514, 439, 442, 479, 406, - 461, 165, 436, 0, 425, 401, 432, 402, 423, 450, - 111, 454, 420, 493, 464, 505, 137, 426, 512, 139, - 470, 0, 211, 153, 0, 0, 452, 495, 459, 488, - 447, 480, 411, 469, 507, 437, 477, 508, 0, 0, - 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 474, 502, 434, 476, 478, 400, 471, 0, - 404, 407, 513, 498, 429, 430, 0, 0, 0, 0, - 0, 0, 0, 451, 460, 485, 445, 0, 0, 0, - 0, 0, 0, 1211, 0, 427, 0, 468, 0, 0, - 0, 408, 405, 0, 0, 449, 0, 0, 0, 410, - 0, 428, 486, 0, 398, 119, 490, 497, 446, 265, - 501, 444, 443, 504, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 494, 424, 433, - 105, 431, 193, 172, 231, 467, 174, 192, 140, 221, + 207, 213, 216, 222, 223, 232, 239, 242, 505, 493, + 0, 450, 508, 423, 440, 516, 441, 444, 481, 408, + 463, 165, 438, 0, 427, 403, 434, 404, 425, 452, + 111, 456, 422, 495, 466, 507, 137, 428, 514, 139, + 472, 0, 211, 153, 0, 0, 454, 497, 461, 490, + 449, 482, 413, 471, 509, 439, 479, 510, 0, 0, + 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, + 101, 0, 476, 504, 436, 478, 480, 402, 473, 0, + 406, 409, 515, 500, 431, 432, 0, 0, 0, 0, + 0, 0, 0, 453, 462, 487, 447, 0, 0, 0, + 0, 0, 0, 947, 0, 429, 0, 470, 0, 0, + 0, 410, 407, 0, 0, 451, 0, 0, 0, 412, + 0, 430, 488, 0, 400, 119, 492, 499, 448, 267, + 503, 446, 445, 506, 184, 0, 215, 122, 136, 97, + 83, 93, 0, 121, 162, 191, 195, 496, 426, 435, + 105, 433, 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 403, 0, 212, 234, 249, - 99, 419, 219, 243, 244, 0, 0, 100, 118, 113, + 125, 155, 154, 156, 0, 405, 0, 212, 234, 249, + 99, 421, 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 415, 418, 413, 414, 462, 463, - 509, 510, 511, 487, 409, 0, 416, 417, 0, 492, - 499, 500, 466, 82, 91, 138, 246, 186, 116, 235, - 399, 412, 109, 422, 0, 0, 435, 440, 441, 453, - 455, 456, 457, 458, 465, 472, 473, 475, 481, 482, - 483, 484, 489, 496, 515, 84, 85, 92, 98, 104, + 194, 103, 233, 210, 417, 420, 415, 416, 464, 465, + 511, 512, 513, 489, 411, 0, 418, 419, 0, 494, + 501, 502, 468, 82, 91, 138, 246, 186, 116, 235, + 401, 414, 109, 424, 0, 0, 437, 442, 443, 455, + 457, 458, 459, 460, 467, 474, 475, 477, 483, 484, + 485, 486, 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 503, 491, 0, 448, 506, 421, 438, 514, 439, - 442, 479, 406, 461, 165, 436, 0, 425, 401, 432, - 402, 423, 450, 111, 454, 420, 493, 464, 505, 137, - 426, 512, 139, 470, 0, 211, 153, 0, 0, 452, - 495, 459, 488, 447, 480, 411, 469, 507, 437, 477, - 508, 0, 0, 0, 263, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 0, 474, 502, 434, 476, 478, - 400, 471, 0, 404, 407, 513, 498, 429, 430, 0, - 0, 0, 0, 0, 0, 0, 451, 460, 485, 445, - 0, 0, 0, 0, 0, 0, 941, 0, 427, 0, - 468, 0, 0, 0, 408, 405, 0, 0, 449, 0, - 0, 0, 410, 0, 428, 486, 0, 398, 119, 490, - 497, 446, 265, 501, 444, 443, 504, 184, 0, 215, + 242, 505, 493, 0, 450, 508, 423, 440, 516, 441, + 444, 481, 408, 463, 165, 438, 0, 427, 403, 434, + 404, 425, 452, 111, 456, 422, 495, 466, 507, 137, + 428, 514, 139, 472, 0, 211, 153, 0, 0, 454, + 497, 461, 490, 449, 482, 413, 471, 509, 439, 479, + 510, 0, 0, 0, 322, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 0, 476, 504, 436, 478, 480, + 402, 473, 0, 406, 409, 515, 500, 431, 432, 0, + 0, 0, 0, 0, 0, 0, 453, 462, 487, 447, + 0, 0, 0, 0, 0, 0, 845, 0, 429, 0, + 470, 0, 0, 0, 410, 407, 0, 0, 451, 0, + 0, 0, 412, 0, 430, 488, 0, 400, 119, 492, + 499, 448, 267, 503, 446, 445, 506, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, - 494, 424, 433, 105, 431, 193, 172, 231, 467, 174, + 496, 426, 435, 105, 433, 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, - 182, 142, 183, 125, 155, 154, 156, 0, 403, 0, - 212, 234, 249, 99, 419, 219, 243, 244, 0, 0, + 182, 142, 183, 125, 155, 154, 156, 0, 405, 0, + 212, 234, 249, 99, 421, 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, - 188, 247, 171, 194, 103, 233, 210, 415, 418, 413, - 414, 462, 463, 509, 510, 511, 487, 409, 0, 416, - 417, 0, 492, 499, 500, 466, 82, 91, 138, 246, - 186, 116, 235, 399, 412, 109, 422, 0, 0, 435, - 440, 441, 453, 455, 456, 457, 458, 465, 472, 473, - 475, 481, 482, 483, 484, 489, 496, 515, 84, 85, + 188, 247, 171, 194, 103, 233, 210, 417, 420, 415, + 416, 464, 465, 511, 512, 513, 489, 411, 0, 418, + 419, 0, 494, 501, 502, 468, 82, 91, 138, 246, + 186, 116, 235, 401, 414, 109, 424, 0, 0, 437, + 442, 443, 455, 457, 458, 459, 460, 467, 474, 475, + 477, 483, 484, 485, 486, 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, - 223, 232, 239, 242, 503, 491, 0, 448, 506, 421, - 438, 514, 439, 442, 479, 406, 461, 165, 436, 0, - 425, 401, 432, 402, 423, 450, 111, 454, 420, 493, - 464, 505, 137, 426, 512, 139, 470, 0, 211, 153, - 0, 0, 452, 495, 459, 488, 447, 480, 411, 469, - 507, 437, 477, 508, 0, 0, 0, 320, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 0, 474, 502, - 434, 476, 478, 400, 471, 0, 404, 407, 513, 498, - 429, 430, 0, 0, 0, 0, 0, 0, 0, 451, - 460, 485, 445, 0, 0, 0, 0, 0, 0, 839, - 0, 427, 0, 468, 0, 0, 0, 408, 405, 0, - 0, 449, 0, 0, 0, 410, 0, 428, 486, 0, - 398, 119, 490, 497, 446, 265, 501, 444, 443, 504, + 223, 232, 239, 242, 505, 493, 0, 450, 508, 423, + 440, 516, 441, 444, 481, 408, 463, 165, 438, 0, + 427, 403, 434, 404, 425, 452, 111, 456, 422, 495, + 466, 507, 137, 428, 514, 139, 472, 0, 211, 153, + 0, 0, 454, 497, 461, 490, 449, 482, 413, 471, + 509, 439, 479, 510, 0, 0, 0, 80, 0, 0, + 0, 0, 0, 0, 0, 0, 101, 0, 476, 504, + 436, 478, 480, 402, 473, 0, 406, 409, 515, 500, + 431, 432, 0, 0, 0, 0, 0, 0, 0, 453, + 462, 487, 447, 0, 0, 0, 0, 0, 0, 0, + 0, 429, 0, 470, 0, 0, 0, 410, 407, 0, + 0, 451, 0, 0, 0, 412, 0, 430, 488, 0, + 400, 119, 492, 499, 448, 267, 503, 446, 445, 506, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 494, 424, 433, 105, 431, 193, 172, - 231, 467, 174, 192, 140, 221, 185, 230, 240, 241, + 162, 191, 195, 496, 426, 435, 105, 433, 193, 172, + 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 403, 0, 212, 234, 249, 99, 419, 219, 243, + 0, 405, 0, 212, 234, 249, 99, 421, 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 415, 418, 413, 414, 462, 463, 509, 510, 511, 487, - 409, 0, 416, 417, 0, 492, 499, 500, 466, 82, - 91, 138, 246, 186, 116, 235, 399, 412, 109, 422, - 0, 0, 435, 440, 441, 453, 455, 456, 457, 458, - 465, 472, 473, 475, 481, 482, 483, 484, 489, 496, - 515, 84, 85, 92, 98, 104, 108, 112, 115, 120, + 417, 420, 415, 416, 464, 465, 511, 512, 513, 489, + 411, 0, 418, 419, 0, 494, 501, 502, 468, 82, + 91, 138, 246, 186, 116, 235, 401, 414, 109, 424, + 0, 0, 437, 442, 443, 455, 457, 458, 459, 460, + 467, 474, 475, 477, 483, 484, 485, 486, 491, 498, + 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 503, 491, 0, - 448, 506, 421, 438, 514, 439, 442, 479, 406, 461, - 165, 436, 0, 425, 401, 432, 402, 423, 450, 111, - 454, 420, 493, 464, 505, 137, 426, 512, 139, 470, - 0, 211, 153, 0, 0, 452, 495, 459, 488, 447, - 480, 411, 469, 507, 437, 477, 508, 0, 0, 0, - 80, 0, 0, 0, 0, 0, 0, 0, 0, 101, - 0, 474, 502, 434, 476, 478, 400, 471, 0, 404, - 407, 513, 498, 429, 430, 0, 0, 0, 0, 0, - 0, 0, 451, 460, 485, 445, 0, 0, 0, 0, - 0, 0, 0, 0, 427, 0, 468, 0, 0, 0, - 408, 405, 0, 0, 449, 0, 0, 0, 410, 0, - 428, 486, 0, 398, 119, 490, 497, 446, 265, 501, - 444, 443, 504, 184, 0, 215, 122, 136, 97, 83, - 93, 0, 121, 162, 191, 195, 494, 424, 433, 105, - 431, 193, 172, 231, 467, 174, 192, 140, 221, 185, + 213, 216, 222, 223, 232, 239, 242, 505, 493, 0, + 450, 508, 423, 440, 516, 441, 444, 481, 408, 463, + 165, 438, 0, 427, 403, 434, 404, 425, 452, 111, + 456, 422, 495, 466, 507, 137, 428, 514, 139, 472, + 0, 211, 153, 0, 0, 454, 497, 461, 490, 449, + 482, 413, 471, 509, 439, 479, 510, 0, 0, 0, + 322, 0, 0, 0, 0, 0, 0, 0, 0, 101, + 0, 476, 504, 436, 478, 480, 402, 473, 0, 406, + 409, 515, 500, 431, 432, 0, 0, 0, 0, 0, + 0, 0, 453, 462, 487, 447, 0, 0, 0, 0, + 0, 0, 0, 0, 429, 0, 470, 0, 0, 0, + 410, 407, 0, 0, 451, 0, 0, 0, 412, 0, + 430, 488, 0, 400, 119, 492, 499, 448, 267, 503, + 446, 445, 506, 184, 0, 215, 122, 136, 97, 83, + 93, 0, 121, 162, 191, 195, 496, 426, 435, 105, + 433, 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, 125, - 155, 154, 156, 0, 403, 0, 212, 234, 249, 99, - 419, 219, 243, 244, 0, 0, 100, 118, 113, 181, + 155, 154, 156, 0, 405, 0, 212, 234, 249, 99, + 421, 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, 194, - 103, 233, 210, 415, 418, 413, 414, 462, 463, 509, - 510, 511, 487, 409, 0, 416, 417, 0, 492, 499, - 500, 466, 82, 91, 138, 246, 186, 116, 235, 399, - 412, 109, 422, 0, 0, 435, 440, 441, 453, 455, - 456, 457, 458, 465, 472, 473, 475, 481, 482, 483, - 484, 489, 496, 515, 84, 85, 92, 98, 104, 108, + 103, 233, 210, 417, 420, 415, 416, 464, 465, 511, + 512, 513, 489, 411, 0, 418, 419, 0, 494, 501, + 502, 468, 82, 91, 138, 246, 186, 116, 235, 401, + 414, 109, 424, 0, 0, 437, 442, 443, 455, 457, + 458, 459, 460, 467, 474, 475, 477, 483, 484, 485, + 486, 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, 242, - 503, 491, 0, 448, 506, 421, 438, 514, 439, 442, - 479, 406, 461, 165, 436, 0, 425, 401, 432, 402, - 423, 450, 111, 454, 420, 493, 464, 505, 137, 426, - 512, 139, 470, 0, 211, 153, 0, 0, 452, 495, - 459, 488, 447, 480, 411, 469, 507, 437, 477, 508, - 0, 0, 0, 320, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 0, 474, 502, 434, 476, 478, 400, - 471, 0, 404, 407, 513, 498, 429, 430, 0, 0, - 0, 0, 0, 0, 0, 451, 460, 485, 445, 0, - 0, 0, 0, 0, 0, 0, 0, 427, 0, 468, - 0, 0, 0, 408, 405, 0, 0, 449, 0, 0, - 0, 410, 0, 428, 486, 0, 398, 119, 490, 497, - 446, 265, 501, 444, 443, 504, 184, 0, 215, 122, - 136, 97, 83, 93, 0, 121, 162, 191, 195, 494, - 424, 433, 105, 431, 193, 172, 231, 467, 174, 192, + 505, 493, 0, 450, 508, 423, 440, 516, 441, 444, + 481, 408, 463, 165, 438, 0, 427, 403, 434, 404, + 425, 452, 111, 456, 422, 495, 466, 507, 137, 428, + 514, 139, 472, 0, 211, 153, 0, 0, 454, 497, + 461, 490, 449, 482, 413, 471, 509, 439, 479, 510, + 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, + 0, 0, 101, 0, 476, 504, 436, 478, 480, 402, + 473, 0, 406, 409, 515, 500, 431, 432, 0, 0, + 0, 0, 0, 0, 0, 453, 462, 487, 447, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 470, + 0, 0, 0, 410, 407, 0, 0, 451, 0, 0, + 0, 412, 0, 430, 488, 0, 400, 119, 492, 499, + 448, 267, 503, 446, 445, 506, 184, 0, 215, 122, + 136, 97, 83, 93, 0, 121, 162, 191, 195, 496, + 426, 435, 105, 433, 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, - 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, + 106, 248, 94, 237, 90, 398, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, - 142, 183, 125, 155, 154, 156, 0, 403, 0, 212, - 234, 249, 99, 419, 219, 243, 244, 0, 0, 100, - 118, 113, 181, 157, 96, 127, 209, 134, 141, 188, - 247, 171, 194, 103, 233, 210, 415, 418, 413, 414, - 462, 463, 509, 510, 511, 487, 409, 0, 416, 417, - 0, 492, 499, 500, 466, 82, 91, 138, 246, 186, - 116, 235, 399, 412, 109, 422, 0, 0, 435, 440, - 441, 453, 455, 456, 457, 458, 465, 472, 473, 475, - 481, 482, 483, 484, 489, 496, 515, 84, 85, 92, + 142, 183, 125, 155, 154, 156, 0, 405, 0, 212, + 234, 249, 99, 421, 219, 243, 244, 0, 0, 100, + 118, 113, 181, 399, 397, 127, 209, 134, 141, 188, + 247, 171, 194, 103, 233, 210, 417, 420, 415, 416, + 464, 465, 511, 512, 513, 489, 411, 0, 418, 419, + 0, 494, 501, 502, 468, 82, 91, 138, 246, 186, + 116, 235, 401, 414, 109, 424, 0, 0, 437, 442, + 443, 455, 457, 458, 459, 460, 467, 474, 475, 477, + 483, 484, 485, 486, 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, 223, - 232, 239, 242, 503, 491, 0, 448, 506, 421, 438, - 514, 439, 442, 479, 406, 461, 165, 436, 0, 425, - 401, 432, 402, 423, 450, 111, 454, 420, 493, 464, - 505, 137, 426, 512, 139, 470, 0, 211, 153, 0, - 0, 452, 495, 459, 488, 447, 480, 411, 469, 507, - 437, 477, 508, 0, 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 0, 474, 502, 434, - 476, 478, 400, 471, 0, 404, 407, 513, 498, 429, - 430, 0, 0, 0, 0, 0, 0, 0, 451, 460, - 485, 445, 0, 0, 0, 0, 0, 0, 0, 0, - 427, 0, 468, 0, 0, 0, 408, 405, 0, 0, - 449, 0, 0, 0, 410, 0, 428, 486, 0, 398, - 119, 490, 497, 446, 265, 501, 444, 443, 504, 184, + 232, 239, 242, 505, 493, 0, 450, 508, 423, 440, + 516, 441, 444, 481, 408, 463, 165, 438, 0, 427, + 403, 434, 404, 425, 452, 111, 456, 422, 495, 466, + 507, 137, 428, 514, 139, 472, 0, 211, 153, 0, + 0, 454, 497, 461, 490, 449, 482, 413, 471, 509, + 439, 479, 510, 0, 0, 0, 265, 0, 0, 0, + 0, 0, 0, 0, 0, 101, 0, 476, 504, 436, + 478, 480, 402, 473, 0, 406, 409, 515, 500, 431, + 432, 0, 0, 0, 0, 0, 0, 0, 453, 462, + 487, 447, 0, 0, 0, 0, 0, 0, 0, 0, + 429, 0, 470, 0, 0, 0, 410, 407, 0, 0, + 451, 0, 0, 0, 412, 0, 430, 488, 0, 400, + 119, 492, 499, 448, 267, 503, 446, 445, 506, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, - 191, 195, 494, 424, 433, 105, 431, 193, 172, 231, - 467, 174, 192, 140, 221, 185, 230, 240, 241, 218, + 191, 195, 496, 426, 435, 105, 433, 193, 172, 231, + 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, - 164, 224, 225, 106, 248, 94, 237, 90, 396, 236, + 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, 0, - 403, 0, 212, 234, 249, 99, 419, 219, 243, 244, - 0, 0, 100, 118, 113, 181, 397, 395, 127, 209, - 134, 141, 188, 247, 171, 194, 103, 233, 210, 415, - 418, 413, 414, 462, 463, 509, 510, 511, 487, 409, - 0, 416, 417, 0, 492, 499, 500, 466, 82, 91, - 138, 246, 186, 116, 235, 399, 412, 109, 422, 0, - 0, 435, 440, 441, 453, 455, 456, 457, 458, 465, - 472, 473, 475, 481, 482, 483, 484, 489, 496, 515, + 405, 0, 212, 234, 249, 99, 421, 219, 243, 244, + 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, + 134, 141, 188, 247, 171, 194, 103, 233, 210, 417, + 420, 415, 416, 464, 465, 511, 512, 513, 489, 411, + 0, 418, 419, 0, 494, 501, 502, 468, 82, 91, + 138, 246, 186, 116, 235, 401, 414, 109, 424, 0, + 0, 437, 442, 443, 455, 457, 458, 459, 460, 467, + 474, 475, 477, 483, 484, 485, 486, 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, - 216, 222, 223, 232, 239, 242, 503, 491, 0, 448, - 506, 421, 438, 514, 439, 442, 479, 406, 461, 165, - 436, 0, 425, 401, 432, 402, 423, 450, 111, 454, - 420, 493, 464, 505, 137, 426, 512, 139, 470, 0, - 211, 153, 0, 0, 452, 495, 459, 488, 447, 480, - 411, 469, 507, 437, 477, 508, 0, 0, 0, 263, + 216, 222, 223, 232, 239, 242, 505, 493, 0, 450, + 508, 423, 440, 516, 441, 444, 481, 408, 463, 165, + 438, 0, 427, 403, 434, 404, 425, 452, 111, 456, + 422, 495, 466, 507, 137, 428, 514, 139, 472, 0, + 211, 153, 0, 0, 454, 497, 461, 490, 449, 482, + 413, 471, 509, 439, 479, 510, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, - 474, 502, 434, 476, 478, 400, 471, 0, 404, 407, - 513, 498, 429, 430, 0, 0, 0, 0, 0, 0, - 0, 451, 460, 485, 445, 0, 0, 0, 0, 0, - 0, 0, 0, 427, 0, 468, 0, 0, 0, 408, - 405, 0, 0, 449, 0, 0, 0, 410, 0, 428, - 486, 0, 398, 119, 490, 497, 446, 265, 501, 444, - 443, 504, 184, 0, 215, 122, 136, 97, 83, 93, - 0, 121, 162, 191, 195, 494, 424, 433, 105, 431, - 193, 172, 231, 467, 174, 192, 140, 221, 185, 230, - 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, + 476, 504, 436, 478, 480, 402, 473, 0, 406, 409, + 515, 500, 431, 432, 0, 0, 0, 0, 0, 0, + 0, 453, 462, 487, 447, 0, 0, 0, 0, 0, + 0, 0, 0, 429, 0, 470, 0, 0, 0, 410, + 407, 0, 0, 451, 0, 0, 0, 412, 0, 430, + 488, 0, 400, 119, 492, 499, 448, 267, 503, 446, + 445, 506, 184, 0, 215, 122, 136, 97, 83, 93, + 0, 121, 162, 191, 195, 496, 426, 435, 105, 433, + 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, + 240, 241, 218, 238, 245, 208, 86, 217, 709, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, - 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, + 90, 398, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, 125, 155, - 154, 156, 0, 403, 0, 212, 234, 249, 99, 419, - 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, - 96, 127, 209, 134, 141, 188, 247, 171, 194, 103, - 233, 210, 415, 418, 413, 414, 462, 463, 509, 510, - 511, 487, 409, 0, 416, 417, 0, 492, 499, 500, - 466, 82, 91, 138, 246, 186, 116, 235, 399, 412, - 109, 422, 0, 0, 435, 440, 441, 453, 455, 456, - 457, 458, 465, 472, 473, 475, 481, 482, 483, 484, - 489, 496, 515, 84, 85, 92, 98, 104, 108, 112, + 154, 156, 0, 405, 0, 212, 234, 249, 99, 421, + 219, 243, 244, 0, 0, 100, 118, 113, 181, 399, + 397, 127, 209, 134, 141, 188, 247, 171, 194, 103, + 233, 210, 417, 420, 415, 416, 464, 465, 511, 512, + 513, 489, 411, 0, 418, 419, 0, 494, 501, 502, + 468, 82, 91, 138, 246, 186, 116, 235, 401, 414, + 109, 424, 0, 0, 437, 442, 443, 455, 457, 458, + 459, 460, 467, 474, 475, 477, 483, 484, 485, 486, + 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, - 206, 207, 213, 216, 222, 223, 232, 239, 242, 503, - 491, 0, 448, 506, 421, 438, 514, 439, 442, 479, - 406, 461, 165, 436, 0, 425, 401, 432, 402, 423, - 450, 111, 454, 420, 493, 464, 505, 137, 426, 512, - 139, 470, 0, 211, 153, 0, 0, 452, 495, 459, - 488, 447, 480, 411, 469, 507, 437, 477, 508, 0, + 206, 207, 213, 216, 222, 223, 232, 239, 242, 505, + 493, 0, 450, 508, 423, 440, 516, 441, 444, 481, + 408, 463, 165, 438, 0, 427, 403, 434, 404, 425, + 452, 111, 456, 422, 495, 466, 507, 137, 428, 514, + 139, 472, 0, 211, 153, 0, 0, 454, 497, 461, + 490, 449, 482, 413, 471, 509, 439, 479, 510, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 0, 474, 502, 434, 476, 478, 400, 471, - 0, 404, 407, 513, 498, 429, 430, 0, 0, 0, - 0, 0, 0, 0, 451, 460, 485, 445, 0, 0, - 0, 0, 0, 0, 0, 0, 427, 0, 468, 0, - 0, 0, 408, 405, 0, 0, 449, 0, 0, 0, - 410, 0, 428, 486, 0, 398, 119, 490, 497, 446, - 265, 501, 444, 443, 504, 184, 0, 215, 122, 136, - 97, 83, 93, 0, 121, 162, 191, 195, 494, 424, - 433, 105, 431, 193, 172, 231, 467, 174, 192, 140, + 0, 101, 0, 476, 504, 436, 478, 480, 402, 473, + 0, 406, 409, 515, 500, 431, 432, 0, 0, 0, + 0, 0, 0, 0, 453, 462, 487, 447, 0, 0, + 0, 0, 0, 0, 0, 0, 429, 0, 470, 0, + 0, 0, 410, 407, 0, 0, 451, 0, 0, 0, + 412, 0, 430, 488, 0, 400, 119, 492, 499, 448, + 267, 503, 446, 445, 506, 184, 0, 215, 122, 136, + 97, 83, 93, 0, 121, 162, 191, 195, 496, 426, + 435, 105, 433, 193, 172, 231, 469, 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, - 217, 705, 102, 203, 88, 227, 214, 151, 131, 132, + 217, 389, 102, 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, - 248, 94, 237, 90, 396, 236, 158, 220, 228, 152, + 248, 94, 237, 90, 398, 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, - 183, 125, 155, 154, 156, 0, 403, 0, 212, 234, - 249, 99, 419, 219, 243, 244, 0, 0, 100, 118, - 113, 181, 397, 395, 127, 209, 134, 141, 188, 247, - 171, 194, 103, 233, 210, 415, 418, 413, 414, 462, - 463, 509, 510, 511, 487, 409, 0, 416, 417, 0, - 492, 499, 500, 466, 82, 91, 138, 246, 186, 116, - 235, 399, 412, 109, 422, 0, 0, 435, 440, 441, - 453, 455, 456, 457, 458, 465, 472, 473, 475, 481, - 482, 483, 484, 489, 496, 515, 84, 85, 92, 98, + 183, 125, 155, 154, 156, 0, 405, 0, 212, 234, + 249, 99, 421, 219, 243, 244, 0, 0, 100, 118, + 113, 181, 399, 397, 392, 391, 134, 141, 188, 247, + 171, 194, 103, 233, 210, 417, 420, 415, 416, 464, + 465, 511, 512, 513, 489, 411, 0, 418, 419, 0, + 494, 501, 502, 468, 82, 91, 138, 246, 186, 116, + 235, 401, 414, 109, 424, 0, 0, 437, 442, 443, + 455, 457, 458, 459, 460, 467, 474, 475, 477, 483, + 484, 485, 486, 491, 498, 517, 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, - 239, 242, 503, 491, 0, 448, 506, 421, 438, 514, - 439, 442, 479, 406, 461, 165, 436, 0, 425, 401, - 432, 402, 423, 450, 111, 454, 420, 493, 464, 505, - 137, 426, 512, 139, 470, 0, 211, 153, 0, 0, - 452, 495, 459, 488, 447, 480, 411, 469, 507, 437, - 477, 508, 0, 0, 0, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 101, 0, 474, 502, 434, 476, - 478, 400, 471, 0, 404, 407, 513, 498, 429, 430, - 0, 0, 0, 0, 0, 0, 0, 451, 460, 485, - 445, 0, 0, 0, 0, 0, 0, 0, 0, 427, - 0, 468, 0, 0, 0, 408, 405, 0, 0, 449, - 0, 0, 0, 410, 0, 428, 486, 0, 398, 119, - 490, 497, 446, 265, 501, 444, 443, 504, 184, 0, - 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, - 195, 494, 424, 433, 105, 431, 193, 172, 231, 467, - 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, - 245, 208, 86, 217, 387, 102, 203, 88, 227, 214, - 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, - 224, 225, 106, 248, 94, 237, 90, 396, 236, 158, - 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, - 124, 182, 142, 183, 125, 155, 154, 156, 0, 403, - 0, 212, 234, 249, 99, 419, 219, 243, 244, 0, - 0, 100, 118, 113, 181, 397, 395, 390, 389, 134, - 141, 188, 247, 171, 194, 103, 233, 210, 415, 418, - 413, 414, 462, 463, 509, 510, 511, 487, 409, 0, - 416, 417, 0, 492, 499, 500, 466, 82, 91, 138, - 246, 186, 116, 235, 399, 412, 109, 422, 0, 0, - 435, 440, 441, 453, 455, 456, 457, 458, 465, 472, - 473, 475, 481, 482, 483, 484, 489, 496, 515, 84, - 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, - 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, - 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, - 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, - 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, - 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, - 322, 0, 0, 0, 111, 0, 319, 0, 0, 0, - 137, 0, 362, 139, 0, 0, 211, 153, 0, 0, - 0, 0, 353, 354, 0, 0, 0, 0, 0, 0, - 948, 0, 54, 0, 0, 320, 341, 340, 343, 344, - 345, 346, 0, 0, 101, 342, 347, 348, 349, 949, - 0, 0, 317, 334, 0, 361, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 331, 332, 0, 0, 0, - 0, 375, 0, 333, 0, 0, 328, 329, 330, 335, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 0, 0, 0, 265, 0, 0, 373, 0, 184, 0, - 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, - 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, - 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, - 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, - 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, - 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, - 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, - 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, - 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, - 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, - 141, 188, 247, 171, 194, 103, 233, 210, 363, 374, - 369, 370, 367, 368, 366, 365, 364, 376, 355, 356, - 357, 358, 360, 0, 371, 372, 359, 82, 91, 138, - 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, - 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, - 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, - 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, - 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, - 222, 223, 232, 239, 242, 165, 0, 0, 875, 0, - 322, 0, 0, 0, 111, 0, 319, 0, 0, 0, - 137, 0, 362, 139, 0, 0, 211, 153, 0, 0, - 0, 0, 353, 354, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 320, 341, 340, 343, 344, - 345, 346, 0, 0, 101, 342, 347, 348, 349, 0, - 0, 0, 317, 334, 0, 361, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 331, 332, 313, 0, 0, - 0, 375, 0, 333, 0, 0, 328, 329, 330, 335, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 0, 0, 0, 265, 0, 0, 373, 0, 184, 0, - 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, - 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, - 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, - 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, - 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, - 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, - 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, - 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, - 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, - 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, - 141, 188, 247, 171, 194, 103, 233, 210, 363, 374, - 369, 370, 367, 368, 366, 365, 364, 376, 355, 356, - 357, 358, 360, 0, 371, 372, 359, 82, 91, 138, - 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 239, 242, 165, 0, 0, 0, 0, 324, 0, 0, + 0, 111, 0, 321, 0, 0, 0, 137, 0, 364, + 139, 0, 0, 211, 153, 0, 0, 0, 0, 355, + 356, 0, 0, 0, 0, 0, 0, 954, 0, 54, + 0, 0, 322, 343, 342, 345, 346, 347, 348, 0, + 0, 101, 344, 349, 350, 351, 955, 0, 0, 319, + 336, 0, 363, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 333, 334, 0, 0, 0, 0, 377, 0, + 335, 0, 0, 330, 331, 332, 337, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, + 267, 0, 0, 375, 0, 184, 0, 215, 122, 136, + 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, + 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, + 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, + 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, + 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, + 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, + 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, + 183, 125, 155, 154, 156, 0, 0, 0, 212, 234, + 249, 99, 0, 219, 243, 244, 0, 0, 100, 118, + 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, + 171, 194, 103, 233, 210, 365, 376, 371, 372, 369, + 370, 368, 367, 366, 378, 357, 358, 359, 360, 362, + 0, 373, 374, 361, 82, 91, 138, 246, 186, 116, + 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, - 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, - 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, - 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, - 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, - 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, - 322, 0, 0, 0, 111, 0, 319, 0, 0, 0, - 137, 0, 362, 139, 0, 0, 211, 153, 0, 0, - 0, 0, 353, 354, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 577, 320, 341, 340, 343, 344, - 345, 346, 0, 0, 101, 342, 347, 348, 349, 0, - 0, 0, 317, 334, 0, 361, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 331, 332, 0, 0, 0, - 0, 375, 0, 333, 0, 0, 328, 329, 330, 335, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 0, 0, 0, 265, 0, 0, 373, 0, 184, 0, - 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, - 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, - 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, - 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, - 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, - 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, - 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, - 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, - 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, - 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, - 141, 188, 247, 171, 194, 103, 233, 210, 363, 374, - 369, 370, 367, 368, 366, 365, 364, 376, 355, 356, - 357, 358, 360, 0, 371, 372, 359, 82, 91, 138, - 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 85, 92, 98, + 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, + 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, + 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, + 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, + 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, + 239, 242, 165, 0, 0, 881, 0, 324, 0, 0, + 0, 111, 0, 321, 0, 0, 0, 137, 0, 364, + 139, 0, 0, 211, 153, 0, 0, 0, 0, 355, + 356, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 0, 0, 322, 343, 342, 345, 346, 347, 348, 0, + 0, 101, 344, 349, 350, 351, 0, 0, 0, 319, + 336, 0, 363, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 333, 334, 315, 0, 0, 0, 377, 0, + 335, 0, 0, 330, 331, 332, 337, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, + 267, 0, 0, 375, 0, 184, 0, 215, 122, 136, + 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, + 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, + 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, + 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, + 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, + 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, + 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, + 183, 125, 155, 154, 156, 0, 0, 0, 212, 234, + 249, 99, 0, 219, 243, 244, 0, 0, 100, 118, + 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, + 171, 194, 103, 233, 210, 365, 376, 371, 372, 369, + 370, 368, 367, 366, 378, 357, 358, 359, 360, 362, + 0, 373, 374, 361, 82, 91, 138, 246, 186, 116, + 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, - 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, - 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, - 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, - 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, - 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, - 322, 0, 0, 0, 111, 0, 319, 0, 0, 0, - 137, 0, 362, 139, 0, 0, 211, 153, 0, 0, - 0, 0, 353, 354, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 320, 341, 340, 343, 344, - 345, 346, 0, 0, 101, 342, 347, 348, 349, 0, - 0, 0, 317, 334, 0, 361, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 331, 332, 313, 0, 0, - 0, 375, 0, 333, 0, 0, 328, 329, 330, 335, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 0, 0, 0, 265, 0, 0, 373, 0, 184, 0, - 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, - 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, - 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, - 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, - 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, - 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, - 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, - 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, - 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, - 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, - 141, 188, 247, 171, 194, 103, 233, 210, 363, 374, - 369, 370, 367, 368, 366, 365, 364, 376, 355, 356, - 357, 358, 360, 0, 371, 372, 359, 82, 91, 138, - 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 85, 92, 98, + 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, + 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, + 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, + 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, + 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, + 239, 242, 165, 0, 0, 0, 0, 324, 0, 0, + 0, 111, 0, 321, 0, 0, 0, 137, 0, 364, + 139, 0, 0, 211, 153, 0, 0, 0, 0, 355, + 356, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 0, 581, 322, 343, 342, 345, 346, 347, 348, 0, + 0, 101, 344, 349, 350, 351, 0, 0, 0, 319, + 336, 0, 363, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 333, 334, 0, 0, 0, 0, 377, 0, + 335, 0, 0, 330, 331, 332, 337, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, + 267, 0, 0, 375, 0, 184, 0, 215, 122, 136, + 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, + 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, + 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, + 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, + 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, + 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, + 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, + 183, 125, 155, 154, 156, 0, 0, 0, 212, 234, + 249, 99, 0, 219, 243, 244, 0, 0, 100, 118, + 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, + 171, 194, 103, 233, 210, 365, 376, 371, 372, 369, + 370, 368, 367, 366, 378, 357, 358, 359, 360, 362, + 0, 373, 374, 361, 82, 91, 138, 246, 186, 116, + 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, - 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, - 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, - 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, - 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, - 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, - 322, 0, 0, 0, 111, 0, 319, 0, 0, 0, - 137, 0, 362, 139, 0, 0, 211, 153, 0, 0, - 0, 0, 353, 354, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 320, 341, 890, 343, 344, - 345, 346, 0, 0, 101, 342, 347, 348, 349, 0, - 0, 0, 317, 334, 0, 361, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 331, 332, 313, 0, 0, - 0, 375, 0, 333, 0, 0, 328, 329, 330, 335, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 0, 0, 0, 265, 0, 0, 373, 0, 184, 0, - 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, - 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, - 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, - 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, - 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, - 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, - 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, - 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, - 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, - 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, - 141, 188, 247, 171, 194, 103, 233, 210, 363, 374, - 369, 370, 367, 368, 366, 365, 364, 376, 355, 356, - 357, 358, 360, 0, 371, 372, 359, 82, 91, 138, - 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 85, 92, 98, + 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, + 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, + 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, + 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, + 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, + 239, 242, 165, 0, 0, 0, 0, 324, 0, 0, + 0, 111, 0, 321, 0, 0, 0, 137, 0, 364, + 139, 0, 0, 211, 153, 0, 0, 0, 0, 355, + 356, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 0, 0, 322, 343, 342, 345, 346, 347, 348, 0, + 0, 101, 344, 349, 350, 351, 0, 0, 0, 319, + 336, 0, 363, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 333, 334, 315, 0, 0, 0, 377, 0, + 335, 0, 0, 330, 331, 332, 337, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, + 267, 0, 0, 375, 0, 184, 0, 215, 122, 136, + 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, + 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, + 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, + 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, + 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, + 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, + 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, + 183, 125, 155, 154, 156, 0, 0, 0, 212, 234, + 249, 99, 0, 219, 243, 244, 0, 0, 100, 118, + 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, + 171, 194, 103, 233, 210, 365, 376, 371, 372, 369, + 370, 368, 367, 366, 378, 357, 358, 359, 360, 362, + 0, 373, 374, 361, 82, 91, 138, 246, 186, 116, + 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, - 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, - 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, - 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, - 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, - 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, - 322, 0, 0, 0, 111, 0, 319, 0, 0, 0, - 137, 0, 362, 139, 0, 0, 211, 153, 0, 0, - 0, 0, 353, 354, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 320, 341, 887, 343, 344, - 345, 346, 0, 0, 101, 342, 347, 348, 349, 0, - 0, 0, 317, 334, 0, 361, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 331, 332, 313, 0, 0, - 0, 375, 0, 333, 0, 0, 328, 329, 330, 335, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 0, 0, 0, 265, 0, 0, 373, 0, 184, 0, - 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, - 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, - 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, - 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, - 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, - 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, - 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, - 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, - 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, - 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, - 141, 188, 247, 171, 194, 103, 233, 210, 363, 374, - 369, 370, 367, 368, 366, 365, 364, 376, 355, 356, - 357, 358, 360, 0, 371, 372, 359, 82, 91, 138, - 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 85, 92, 98, + 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, + 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, + 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, + 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, + 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, + 239, 242, 165, 0, 0, 0, 0, 324, 0, 0, + 0, 111, 0, 321, 0, 0, 0, 137, 0, 364, + 139, 0, 0, 211, 153, 0, 0, 0, 0, 355, + 356, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 0, 0, 322, 343, 896, 345, 346, 347, 348, 0, + 0, 101, 344, 349, 350, 351, 0, 0, 0, 319, + 336, 0, 363, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 333, 334, 315, 0, 0, 0, 377, 0, + 335, 0, 0, 330, 331, 332, 337, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, + 267, 0, 0, 375, 0, 184, 0, 215, 122, 136, + 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, + 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, + 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, + 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, + 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, + 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, + 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, + 183, 125, 155, 154, 156, 0, 0, 0, 212, 234, + 249, 99, 0, 219, 243, 244, 0, 0, 100, 118, + 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, + 171, 194, 103, 233, 210, 365, 376, 371, 372, 369, + 370, 368, 367, 366, 378, 357, 358, 359, 360, 362, + 0, 373, 374, 361, 82, 91, 138, 246, 186, 116, + 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, - 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, - 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, - 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, - 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, - 222, 223, 232, 239, 242, 24, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, - 0, 0, 322, 0, 0, 0, 111, 0, 319, 0, - 0, 0, 137, 0, 362, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 353, 354, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 0, 320, 341, 340, - 343, 344, 345, 346, 0, 0, 101, 342, 347, 348, - 349, 0, 0, 0, 317, 334, 0, 361, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, - 0, 0, 0, 375, 0, 333, 0, 0, 328, 329, - 330, 335, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 265, 0, 0, 373, 0, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 0, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 363, 374, 369, 370, 367, 368, 366, 365, 364, 376, - 355, 356, 357, 358, 360, 0, 371, 372, 359, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, + 0, 0, 0, 0, 0, 0, 84, 85, 92, 98, + 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, + 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, + 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, + 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, + 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, + 239, 242, 165, 0, 0, 0, 0, 324, 0, 0, + 0, 111, 0, 321, 0, 0, 0, 137, 0, 364, + 139, 0, 0, 211, 153, 0, 0, 0, 0, 355, + 356, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 0, 0, 322, 343, 893, 345, 346, 347, 348, 0, + 0, 101, 344, 349, 350, 351, 0, 0, 0, 319, + 336, 0, 363, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 333, 334, 315, 0, 0, 0, 377, 0, + 335, 0, 0, 330, 331, 332, 337, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, + 267, 0, 0, 375, 0, 184, 0, 215, 122, 136, + 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, + 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, + 221, 185, 230, 240, 241, 218, 238, 245, 208, 86, + 217, 229, 102, 203, 88, 227, 214, 151, 131, 132, + 87, 0, 189, 110, 117, 107, 164, 224, 225, 106, + 248, 94, 237, 90, 95, 236, 158, 220, 228, 152, + 145, 89, 226, 150, 144, 135, 114, 124, 182, 142, + 183, 125, 155, 154, 156, 0, 0, 0, 212, 234, + 249, 99, 0, 219, 243, 244, 0, 0, 100, 118, + 113, 181, 157, 96, 127, 209, 134, 141, 188, 247, + 171, 194, 103, 233, 210, 365, 376, 371, 372, 369, + 370, 368, 367, 366, 378, 357, 358, 359, 360, 362, + 0, 373, 374, 361, 82, 91, 138, 246, 186, 116, + 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 85, 92, 98, + 104, 108, 112, 115, 120, 123, 126, 128, 129, 130, + 133, 143, 146, 147, 148, 149, 159, 160, 161, 163, + 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, + 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, + 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, + 239, 242, 24, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 165, 0, 0, 0, 0, 324, + 0, 0, 0, 111, 0, 321, 0, 0, 0, 137, + 0, 364, 139, 0, 0, 211, 153, 0, 0, 0, + 0, 355, 356, 0, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 322, 343, 342, 345, 346, 347, + 348, 0, 0, 101, 344, 349, 350, 351, 0, 0, + 0, 319, 336, 0, 363, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 333, 334, 0, 0, 0, 0, + 377, 0, 335, 0, 0, 330, 331, 332, 337, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, + 0, 0, 267, 0, 0, 375, 0, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 365, 376, 371, + 372, 369, 370, 368, 367, 366, 378, 357, 358, 359, + 360, 362, 0, 373, 374, 361, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 165, 0, 0, - 0, 0, 322, 0, 0, 0, 111, 0, 319, 0, - 0, 0, 137, 0, 362, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 353, 354, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 0, 320, 341, 340, - 343, 344, 345, 346, 0, 0, 101, 342, 347, 348, - 349, 0, 0, 0, 317, 334, 0, 361, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, - 0, 0, 0, 375, 0, 333, 0, 0, 328, 329, - 330, 335, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 265, 0, 0, 373, 0, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 0, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 363, 374, 369, 370, 367, 368, 366, 365, 364, 376, - 355, 356, 357, 358, 360, 0, 371, 372, 359, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 165, 0, 0, - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 137, 0, 362, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 353, 354, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 0, 320, 341, 340, - 343, 344, 345, 346, 0, 0, 101, 342, 347, 348, - 349, 0, 0, 0, 0, 334, 0, 361, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, - 0, 0, 0, 375, 0, 333, 0, 0, 328, 329, - 330, 335, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 265, 0, 0, 373, 0, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 1510, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 363, 374, 369, 370, 367, 368, 366, 365, 364, 376, - 355, 356, 357, 358, 360, 0, 371, 372, 359, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 165, 0, 0, - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 137, 0, 362, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 353, 354, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 577, 320, 341, 340, - 343, 344, 345, 346, 0, 0, 101, 342, 347, 348, - 349, 0, 0, 0, 0, 334, 0, 361, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, - 0, 0, 0, 375, 0, 333, 0, 0, 328, 329, - 330, 335, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 265, 0, 0, 373, 0, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 0, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 363, 374, 369, 370, 367, 368, 366, 365, 364, 376, - 355, 356, 357, 358, 360, 0, 371, 372, 359, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 165, 0, 0, - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 137, 0, 362, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 353, 354, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 0, 320, 341, 340, - 343, 344, 345, 346, 0, 0, 101, 342, 347, 348, - 349, 0, 0, 0, 0, 334, 0, 361, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, - 0, 0, 0, 375, 0, 333, 0, 0, 328, 329, - 330, 335, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 265, 0, 0, 373, 0, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 0, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 363, 374, 369, 370, 367, 368, 366, 365, 364, 376, - 355, 356, 357, 358, 360, 0, 371, 372, 359, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 165, 0, 0, - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 612, 611, 621, 622, 614, 615, 616, - 617, 618, 619, 620, 613, 0, 0, 623, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 265, 0, 0, 0, 0, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 0, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 165, 0, 0, - 0, 600, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 0, 602, - 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 597, 596, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 598, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 265, 0, 0, 0, 0, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 0, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 165, 0, 0, - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 76, 77, 0, 73, 0, 0, 0, 78, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 0, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 165, 0, 0, - 0, 931, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 263, 0, 933, - 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 265, 0, 0, 0, 0, - 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, - 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, - 231, 0, 174, 192, 140, 221, 185, 230, 240, 241, - 218, 238, 245, 208, 86, 217, 229, 102, 203, 88, - 227, 214, 151, 131, 132, 87, 0, 189, 110, 117, - 107, 164, 224, 225, 106, 248, 94, 237, 90, 95, - 236, 158, 220, 228, 152, 145, 89, 226, 150, 144, - 135, 114, 124, 182, 142, 183, 125, 155, 154, 156, - 0, 0, 0, 212, 234, 249, 99, 0, 219, 243, - 244, 0, 0, 100, 118, 113, 181, 157, 96, 127, - 209, 134, 141, 188, 247, 171, 194, 103, 233, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 92, 98, 104, 108, 112, 115, 120, - 123, 126, 128, 129, 130, 133, 143, 146, 147, 148, - 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, - 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, - 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, - 213, 216, 222, 223, 232, 239, 242, 24, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, - 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, - 0, 0, 0, 0, 137, 0, 0, 139, 0, 0, - 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 54, 0, 0, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 165, 0, 0, 0, 0, 324, + 0, 0, 0, 111, 0, 321, 0, 0, 0, 137, + 0, 364, 139, 0, 0, 211, 153, 0, 0, 0, + 0, 355, 356, 0, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 322, 343, 342, 345, 346, 347, + 348, 0, 0, 101, 344, 349, 350, 351, 0, 0, + 0, 319, 336, 0, 363, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 333, 334, 0, 0, 0, 0, + 377, 0, 335, 0, 0, 330, 331, 332, 337, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, + 0, 0, 267, 0, 0, 375, 0, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 365, 376, 371, + 372, 369, 370, 368, 367, 366, 378, 357, 358, 359, + 360, 362, 0, 373, 374, 361, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 165, 0, 0, 0, 0, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, + 0, 364, 139, 0, 0, 211, 153, 0, 0, 0, + 0, 355, 356, 0, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 322, 343, 342, 345, 346, 347, + 348, 0, 0, 101, 344, 349, 350, 351, 0, 0, + 0, 0, 336, 0, 363, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 333, 334, 0, 0, 0, 0, + 377, 0, 335, 0, 0, 330, 331, 332, 337, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, + 0, 0, 267, 0, 0, 375, 0, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 1516, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 365, 376, 371, + 372, 369, 370, 368, 367, 366, 378, 357, 358, 359, + 360, 362, 0, 373, 374, 361, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 165, 0, 0, 0, 0, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, + 0, 364, 139, 0, 0, 211, 153, 0, 0, 0, + 0, 355, 356, 0, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 581, 322, 343, 342, 345, 346, 347, + 348, 0, 0, 101, 344, 349, 350, 351, 0, 0, + 0, 0, 336, 0, 363, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 333, 334, 0, 0, 0, 0, + 377, 0, 335, 0, 0, 330, 331, 332, 337, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, + 0, 0, 267, 0, 0, 375, 0, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 365, 376, 371, + 372, 369, 370, 368, 367, 366, 378, 357, 358, 359, + 360, 362, 0, 373, 374, 361, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 165, 0, 0, 0, 0, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, + 0, 364, 139, 0, 0, 211, 153, 0, 0, 0, + 0, 355, 356, 0, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 322, 343, 342, 345, 346, 347, + 348, 0, 0, 101, 344, 349, 350, 351, 0, 0, + 0, 0, 336, 0, 363, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 333, 334, 0, 0, 0, 0, + 377, 0, 335, 0, 0, 330, 331, 332, 337, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, + 0, 0, 267, 0, 0, 375, 0, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 365, 376, 371, + 372, 369, 370, 368, 367, 366, 378, 357, 358, 359, + 360, 362, 0, 373, 374, 361, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 119, 0, 0, 0, 265, 0, 0, - 0, 0, 184, 0, 215, 122, 136, 97, 83, 93, - 0, 121, 162, 191, 195, 0, 0, 0, 105, 0, - 193, 172, 231, 0, 174, 192, 140, 221, 185, 230, - 240, 241, 218, 238, 245, 208, 86, 217, 229, 102, - 203, 88, 227, 214, 151, 131, 132, 87, 0, 189, - 110, 117, 107, 164, 224, 225, 106, 248, 94, 237, - 90, 95, 236, 158, 220, 228, 152, 145, 89, 226, - 150, 144, 135, 114, 124, 182, 142, 183, 125, 155, - 154, 156, 0, 0, 0, 212, 234, 249, 99, 0, - 219, 243, 244, 0, 0, 100, 118, 113, 181, 157, - 96, 127, 209, 134, 141, 188, 247, 171, 194, 103, - 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 165, 0, 0, 0, 0, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, + 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 82, 91, 138, 246, 186, 116, 235, 0, 0, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 84, 85, 92, 98, 104, 108, 112, - 115, 120, 123, 126, 128, 129, 130, 133, 143, 146, - 147, 148, 149, 159, 160, 161, 163, 166, 167, 168, - 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, - 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, - 206, 207, 213, 216, 222, 223, 232, 239, 242, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, - 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, - 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 616, 615, 625, 626, 618, 619, 620, 621, 622, 623, + 624, 617, 0, 0, 627, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, + 0, 0, 267, 0, 0, 0, 0, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 165, 0, 0, 0, 604, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, + 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 0, 606, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 601, + 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 265, - 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, - 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, - 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, - 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, - 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, - 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, - 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 0, 0, 212, 234, 249, - 99, 0, 219, 243, 244, 0, 0, 100, 118, 113, - 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 91, 138, 246, 186, 116, 235, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, + 0, 0, 267, 0, 0, 0, 0, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 92, 98, 104, - 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, - 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, - 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, - 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, - 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 165, 0, 0, 0, 931, 0, 0, 0, 0, - 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, - 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 263, 0, 933, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 165, 0, 0, 0, 0, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, + 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 265, - 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, - 105, 0, 193, 172, 231, 0, 929, 192, 140, 221, - 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, - 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, - 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, - 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, - 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 0, 0, 212, 234, 249, - 99, 0, 219, 243, 244, 0, 0, 100, 118, 113, - 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 91, 138, 246, 186, 116, 235, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 76, + 77, 0, 73, 0, 0, 0, 78, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 92, 98, 104, - 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, - 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, - 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, - 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, - 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, - 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 0, 0, 826, 0, 0, 827, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 165, 0, 0, 0, 937, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, + 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 265, 0, 939, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 265, - 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, - 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, - 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, - 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, - 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, - 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, - 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 0, 0, 212, 234, 249, - 99, 0, 219, 243, 244, 0, 0, 100, 118, 113, - 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 91, 138, 246, 186, 116, 235, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, + 0, 0, 267, 0, 0, 0, 0, 184, 0, 215, + 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, + 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, + 192, 140, 221, 185, 230, 240, 241, 218, 238, 245, + 208, 86, 217, 229, 102, 203, 88, 227, 214, 151, + 131, 132, 87, 0, 189, 110, 117, 107, 164, 224, + 225, 106, 248, 94, 237, 90, 95, 236, 158, 220, + 228, 152, 145, 89, 226, 150, 144, 135, 114, 124, + 182, 142, 183, 125, 155, 154, 156, 0, 0, 0, + 212, 234, 249, 99, 0, 219, 243, 244, 0, 0, + 100, 118, 113, 181, 157, 96, 127, 209, 134, 141, + 188, 247, 171, 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 92, 98, 104, - 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, - 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, - 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, - 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, - 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 111, 0, 714, 0, 0, 0, 137, 0, 0, 139, - 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 82, 91, 138, 246, + 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 0, 713, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 92, 98, 104, 108, 112, 115, 120, 123, 126, 128, + 129, 130, 133, 143, 146, 147, 148, 149, 159, 160, + 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, + 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, + 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, + 223, 232, 239, 242, 24, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 165, 0, 0, 0, + 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, + 0, 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 54, 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 265, - 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, - 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, - 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, - 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, - 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, - 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, - 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 0, 0, 212, 234, 249, - 99, 0, 219, 243, 244, 0, 0, 100, 118, 113, - 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 91, 138, 246, 186, 116, 235, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 92, 98, 104, - 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, - 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, - 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, - 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, - 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, - 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, - 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 119, 0, 0, 0, 267, 0, 0, 0, 0, 184, + 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, + 191, 195, 0, 0, 0, 105, 0, 193, 172, 231, + 0, 174, 192, 140, 221, 185, 230, 240, 241, 218, + 238, 245, 208, 86, 217, 229, 102, 203, 88, 227, + 214, 151, 131, 132, 87, 0, 189, 110, 117, 107, + 164, 224, 225, 106, 248, 94, 237, 90, 95, 236, + 158, 220, 228, 152, 145, 89, 226, 150, 144, 135, + 114, 124, 182, 142, 183, 125, 155, 154, 156, 0, + 0, 0, 212, 234, 249, 99, 0, 219, 243, 244, + 0, 0, 100, 118, 113, 181, 157, 96, 127, 209, + 134, 141, 188, 247, 171, 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 91, + 138, 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 84, 85, 92, 98, 104, 108, 112, 115, 120, 123, + 126, 128, 129, 130, 133, 143, 146, 147, 148, 149, + 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, + 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, + 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, + 216, 222, 223, 232, 239, 242, 24, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 0, 137, 0, 0, 139, 0, 0, 211, + 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 0, 265, 0, + 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 265, - 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, - 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, - 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, - 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, - 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, - 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, - 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 0, 0, 212, 234, 249, - 99, 0, 219, 243, 244, 0, 0, 100, 118, 113, - 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 91, 138, 246, 186, 116, 235, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 92, 98, 104, - 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, - 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, - 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, - 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, - 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, - 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 263, 0, 933, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 267, 0, 0, 0, + 0, 184, 0, 215, 122, 136, 97, 83, 93, 0, + 121, 162, 191, 195, 0, 0, 0, 105, 0, 193, + 172, 231, 0, 174, 192, 140, 221, 185, 230, 240, + 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, + 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, + 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, + 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, + 144, 135, 114, 124, 182, 142, 183, 125, 155, 154, + 156, 0, 0, 0, 212, 234, 249, 99, 0, 219, + 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, + 127, 209, 134, 141, 188, 247, 171, 194, 103, 233, + 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 265, - 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, - 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, - 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, - 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, - 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, - 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, - 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 0, 0, 212, 234, 249, - 99, 0, 219, 243, 244, 0, 0, 100, 118, 113, - 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 85, 92, 98, 104, 108, 112, 115, + 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, + 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, + 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, + 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, + 207, 213, 216, 222, 223, 232, 239, 242, 165, 0, + 0, 0, 937, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 0, 137, 0, 0, 139, 0, 0, 211, + 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, + 939, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 91, 138, 246, 186, 116, 235, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 92, 98, 104, - 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, - 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, - 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, - 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, - 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, - 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 0, 602, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 267, 0, 0, 0, + 0, 184, 0, 215, 122, 136, 97, 83, 93, 0, + 121, 162, 191, 195, 0, 0, 0, 105, 0, 193, + 172, 231, 0, 935, 192, 140, 221, 185, 230, 240, + 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, + 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, + 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, + 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, + 144, 135, 114, 124, 182, 142, 183, 125, 155, 154, + 156, 0, 0, 0, 212, 234, 249, 99, 0, 219, + 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, + 127, 209, 134, 141, 188, 247, 171, 194, 103, 233, + 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 265, - 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, - 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, - 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, - 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, - 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, - 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, - 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 0, 0, 212, 234, 249, - 99, 0, 219, 243, 244, 0, 0, 100, 118, 113, - 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 91, 138, 246, 186, 116, 235, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 85, 92, 98, 104, 108, 112, 115, + 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, + 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, + 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, + 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, + 207, 213, 216, 222, 223, 232, 239, 242, 165, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 0, 137, 0, 0, 139, 0, 0, 211, + 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, + 0, 832, 0, 0, 833, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 92, 98, 104, - 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, - 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, - 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, - 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, - 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 165, 0, 0, 0, 0, 0, 0, 0, 684, - 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, - 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 267, 0, 0, 0, + 0, 184, 0, 215, 122, 136, 97, 83, 93, 0, + 121, 162, 191, 195, 0, 0, 0, 105, 0, 193, + 172, 231, 0, 174, 192, 140, 221, 185, 230, 240, + 241, 218, 238, 245, 208, 86, 217, 229, 102, 203, + 88, 227, 214, 151, 131, 132, 87, 0, 189, 110, + 117, 107, 164, 224, 225, 106, 248, 94, 237, 90, + 95, 236, 158, 220, 228, 152, 145, 89, 226, 150, + 144, 135, 114, 124, 182, 142, 183, 125, 155, 154, + 156, 0, 0, 0, 212, 234, 249, 99, 0, 219, + 243, 244, 0, 0, 100, 118, 113, 181, 157, 96, + 127, 209, 134, 141, 188, 247, 171, 194, 103, 233, + 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 265, - 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, - 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, - 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, - 185, 230, 240, 241, 218, 238, 245, 208, 86, 217, - 229, 102, 203, 88, 227, 214, 151, 131, 132, 87, - 0, 189, 110, 117, 107, 164, 224, 225, 106, 248, - 94, 237, 90, 95, 236, 158, 220, 228, 152, 145, - 89, 226, 150, 144, 135, 114, 124, 182, 142, 183, - 125, 155, 154, 156, 0, 0, 0, 212, 234, 249, - 99, 0, 219, 243, 244, 0, 0, 100, 118, 113, - 181, 157, 96, 127, 209, 134, 141, 188, 247, 171, - 194, 103, 233, 210, 0, 0, 0, 0, 0, 0, + 82, 91, 138, 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 91, 138, 246, 186, 116, 235, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 92, 98, 104, - 108, 112, 115, 120, 123, 126, 128, 129, 130, 133, - 143, 146, 147, 148, 149, 159, 160, 161, 163, 166, - 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, - 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, - 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, - 242, 379, 0, 0, 0, 0, 0, 0, 165, 0, - 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 84, 85, 92, 98, 104, 108, 112, 115, + 120, 123, 126, 128, 129, 130, 133, 143, 146, 147, + 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, + 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, + 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, + 207, 213, 216, 222, 223, 232, 239, 242, 165, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 718, 0, 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, + 717, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 119, 0, 0, 0, 265, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, 185, 230, 240, @@ -2402,14 +2232,14 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 54, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 119, 0, 260, 0, 265, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, 185, 230, 240, @@ -2435,14 +2265,14 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, + 939, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 119, 0, 0, 0, 265, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, 185, 230, 240, @@ -2468,14 +2298,14 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, + 606, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 119, 0, 0, 0, 265, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, 185, 230, 240, @@ -2498,17 +2328,17 @@ var yyAct = [...]int{ 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, 222, 223, 232, 239, 242, 165, 0, - 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 0, 0, 0, 0, 688, 111, 0, 0, 0, 0, 0, 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 320, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 119, 0, 0, 0, 265, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, 174, 192, 140, 221, 185, 230, 240, @@ -2530,18 +2360,185 @@ var yyAct = [...]int{ 148, 149, 159, 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, - 207, 213, 216, 222, 223, 232, 239, 242, + 207, 213, 216, 222, 223, 232, 239, 242, 381, 0, + 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, + 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, + 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, + 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, + 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, + 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, + 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, + 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, + 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, + 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, + 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, + 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, + 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, + 141, 188, 247, 171, 194, 103, 233, 210, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 82, 91, 138, + 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, + 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, + 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, + 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, + 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, + 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, + 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, + 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 0, 262, 0, 267, 0, 0, 0, 0, 184, 0, + 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, + 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, + 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, + 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, + 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, + 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, + 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, + 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, + 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, + 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, + 141, 188, 247, 171, 194, 103, 233, 210, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 82, 91, 138, + 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, + 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, + 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, + 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, + 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, + 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, + 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, + 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, + 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, + 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, + 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, + 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, + 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, + 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, + 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, + 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, + 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, + 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, + 141, 188, 247, 171, 194, 103, 233, 210, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 82, 91, 138, + 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, + 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, + 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, + 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, + 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, + 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, + 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, + 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, + 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, + 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, + 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, + 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, + 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, + 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, + 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, + 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, + 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, + 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, + 141, 188, 247, 171, 194, 103, 233, 210, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 82, 91, 138, + 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, + 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, + 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, + 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, + 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, + 222, 223, 232, 239, 242, 165, 0, 0, 0, 0, + 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, + 137, 0, 0, 139, 0, 0, 211, 153, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 322, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 0, 0, 0, 267, 0, 0, 0, 0, 184, 0, + 215, 122, 136, 97, 83, 93, 0, 121, 162, 191, + 195, 0, 0, 0, 105, 0, 193, 172, 231, 0, + 174, 192, 140, 221, 185, 230, 240, 241, 218, 238, + 245, 208, 86, 217, 229, 102, 203, 88, 227, 214, + 151, 131, 132, 87, 0, 189, 110, 117, 107, 164, + 224, 225, 106, 248, 94, 237, 90, 95, 236, 158, + 220, 228, 152, 145, 89, 226, 150, 144, 135, 114, + 124, 182, 142, 183, 125, 155, 154, 156, 0, 0, + 0, 212, 234, 249, 99, 0, 219, 243, 244, 0, + 0, 100, 118, 113, 181, 157, 96, 127, 209, 134, + 141, 188, 247, 171, 194, 103, 233, 210, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 82, 91, 138, + 246, 186, 116, 235, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 85, 92, 98, 104, 108, 112, 115, 120, 123, 126, + 128, 129, 130, 133, 143, 146, 147, 148, 149, 159, + 160, 161, 163, 166, 167, 168, 169, 170, 173, 175, + 176, 177, 178, 179, 180, 187, 190, 196, 197, 198, + 199, 200, 201, 202, 204, 205, 206, 207, 213, 216, + 222, 223, 232, 239, 242, } var yyPact = [...]int{ - 1694, -1000, -261, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 2144, -1000, -268, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 893, 922, -1000, -1000, -1000, -1000, -1000, -1000, + 292, 11186, -8, 109, -22, 15177, 107, 1720, 15837, -1000, + 9, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -78, -80, + -1000, 693, -1000, -1000, -1000, -1000, -1000, 861, 876, 728, + 851, 755, -1000, 7874, 77, 77, 14847, 6554, -1000, -1000, + 244, 15837, 98, 15837, -151, 75, 75, 75, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 849, 886, -1000, -1000, -1000, -1000, -1000, -1000, - 239, 11229, 41, 110, 6, 15220, 109, 1560, 15880, -1000, - 10, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -59, -107, - -1000, 681, -1000, -1000, -1000, -1000, -1000, 843, 847, 731, - 838, 772, -1000, 7917, 79, 79, 14890, 6597, -1000, -1000, - 238, 15880, 105, 15880, -148, 70, 70, 70, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -2558,22 +2555,21 @@ 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, + 102, 15837, 571, 567, 177, -1000, 15837, 73, 554, 73, + 73, 73, 15837, -1000, 158, -1000, -1000, -1000, 15837, 553, + 794, 3467, 49, 3467, -1000, 3467, 3467, -1000, 3467, 20, + 3467, -45, 905, 21, -33, -1000, 3467, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 107, 15880, 179, -1000, 15880, 69, 536, 69, 69, 69, - 15880, -1000, 144, -1000, -1000, -1000, 15880, 523, 798, 3510, - 47, 3510, -1000, 3510, 3510, -1000, 3510, 20, 3510, -60, - 859, 17, -41, -1000, 3510, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 486, 807, - 9249, 9249, 849, -1000, 681, -1000, -1000, -1000, 806, -1000, - -1000, 306, 872, -1000, 10899, 143, -1000, 9249, 1997, 579, - -1000, -1000, 579, -1000, -1000, 122, -1000, -1000, 10239, 10239, - 10239, 10239, 10239, 10239, 10239, 10239, -1000, -1000, -1000, -1000, + 490, 830, 9206, 9206, 893, -1000, 693, -1000, -1000, -1000, + 807, -1000, -1000, 332, 919, -1000, 10856, 155, -1000, 9206, + 1522, 547, -1000, -1000, 547, -1000, -1000, 139, -1000, -1000, + 10196, 10196, 10196, 10196, 10196, 10196, 10196, 10196, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 579, -1000, 8919, 579, 579, 579, 579, 579, 579, 579, - 579, 9249, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 14553, 13563, 15880, - 669, 662, -1000, -1000, 141, 663, 6254, -126, -1000, -1000, - -1000, 240, 13233, -1000, -1000, -1000, 795, -1000, -1000, -1000, + -1000, -1000, 547, -1000, 8876, 547, 547, 547, 547, 547, + 547, 547, 547, 9206, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, 547, 14510, + 13520, 15837, 624, 623, -1000, -1000, 153, 668, 6211, -126, + -1000, -1000, -1000, 266, 13190, -1000, -1000, -1000, 787, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -2585,131 +2581,131 @@ 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, 614, 15880, -1000, 2139, - -1000, 490, 3510, 88, 487, 250, 481, 15880, 15880, 3510, - 27, 59, 56, 15880, 666, 84, 15880, 832, 720, 15880, - 475, 466, -1000, 5911, -1000, 3510, 3510, -1000, -1000, -1000, - 3510, 3510, 3510, 15880, 3510, 3510, -1000, -1000, -1000, -1000, - 3510, 3510, -1000, 870, 258, -1000, -1000, -1000, -1000, 9249, - 182, -1000, 714, -1000, -1000, -1000, -1000, -1000, -1000, 881, - 165, 531, 138, 665, -1000, 441, 843, 486, 772, 12903, - 732, -1000, -1000, -1000, 15880, -1000, 9249, 9249, 450, -1000, - 14223, -1000, -1000, 4539, 193, 10239, 312, 199, 10239, 10239, - 10239, 10239, 10239, 10239, 10239, 10239, 10239, 10239, 10239, 10239, - 10239, 10239, 10239, 337, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 464, -1000, 681, 578, 578, 158, 158, 158, - 158, 158, 158, 158, 10569, 7257, 486, 592, 407, 8919, - 7917, 7917, 9249, 9249, 8577, 8247, 7917, 802, 226, 407, - 16210, -1000, -1000, 9909, -1000, -1000, -1000, -1000, -1000, 486, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 15550, 15550, 7917, - 7917, 7917, 7917, 37, 15880, -1000, 656, 748, -1000, -1000, - -1000, 834, 12243, 12573, 37, 628, 13563, 15880, -1000, -1000, - 13563, 15880, 4196, 5568, 663, -126, 639, -1000, -123, -96, - 6927, 156, -1000, -1000, -1000, -1000, 3167, 222, 541, 268, - -53, -1000, -1000, -1000, 686, -1000, 686, 686, 686, 686, - -20, -20, -20, -20, -1000, -1000, -1000, -1000, -1000, 701, - 700, -1000, 686, 686, 686, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 551, 15837, + -1000, 306, -1000, 546, 3467, 86, 545, 288, 537, 15837, + 15837, 3467, 3467, 3467, 28, 60, 53, 15837, 675, 84, + 15837, 841, 715, 15837, 533, 531, -1000, 5868, -1000, 3467, + 3467, -1000, -1000, -1000, 3467, 3467, 3467, 15837, 3467, 3467, + -1000, -1000, -1000, -1000, 3467, 3467, -1000, 918, 301, -1000, + -1000, -1000, -1000, 9206, 197, -1000, 714, -1000, -1000, -1000, + -1000, -1000, -1000, 928, 189, 381, 151, 672, -1000, 385, + 861, 490, 755, 12860, 729, -1000, -1000, -1000, 15837, -1000, + 9206, 9206, 452, -1000, 14180, -1000, -1000, 4496, 206, 10196, + 368, 284, 10196, 10196, 10196, 10196, 10196, 10196, 10196, 10196, + 10196, 10196, 10196, 10196, 10196, 10196, 10196, 378, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 523, -1000, 693, 559, + 559, 172, 172, 172, 172, 172, 172, 172, 10526, 7214, + 490, 544, 323, 8876, 7874, 7874, 9206, 9206, 8534, 8204, + 7874, 811, 308, 323, 16167, -1000, -1000, 9866, -1000, -1000, + -1000, -1000, -1000, 490, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 15507, 15507, 7874, 7874, 7874, 7874, 43, 15837, -1000, + 674, 776, -1000, -1000, -1000, 844, 12200, 12530, 43, 660, + 13520, 15837, -1000, -1000, 13520, 15837, 4153, 5525, 668, -126, + 662, -1000, -108, -114, 6884, 167, -1000, -1000, -1000, -1000, + 3124, 239, 588, 331, -68, -1000, -1000, -1000, 681, -1000, + 681, 681, 681, 681, -35, -35, -35, -35, -1000, -1000, + -1000, -1000, -1000, 698, 697, -1000, 681, 681, 681, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 698, 698, 698, 688, 688, 705, -1000, - 15880, 3510, 831, 3510, -1000, 75, -1000, 15880, 15880, 15880, - 15880, 15880, 117, 15880, 15880, 659, -1000, 15880, 3510, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 692, 692, 692, + 687, 687, 703, -1000, 15837, 3467, 839, 3467, -1000, 71, + -1000, -1000, -1000, 15837, 15837, 15837, 15837, 15837, 129, 15837, + 15837, 667, -1000, 15837, 3467, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 15880, 259, 15880, 15880, 407, -1000, - 409, 15880, -1000, 780, 9249, 9249, 5225, 9249, -1000, -1000, - -1000, 807, -1000, 802, 850, -1000, 787, 786, 7917, -1000, - -1000, 193, 208, -1000, -1000, 294, -1000, -1000, -1000, -1000, - 136, 579, -1000, 2271, -1000, -1000, -1000, -1000, 312, 10239, - 10239, 10239, 390, 2271, 2307, 1477, 404, 158, 525, 525, - 155, 155, 155, 155, 155, 305, 305, -1000, -1000, -1000, - 486, -1000, -1000, -1000, 486, 7917, 657, -1000, -1000, 9249, - -1000, 486, 553, 553, 300, 370, 234, 869, 553, 230, - 867, 553, 553, 7917, 253, -1000, 9249, 486, -1000, 134, - -1000, 1544, 644, 643, 553, 486, 553, 553, 637, 579, - -1000, 16210, 13563, 13563, 13563, 13563, 13563, -1000, 767, 747, - -1000, 763, 761, 757, 15880, -1000, 562, 12243, 150, 579, - -1000, 13893, -1000, -1000, 858, 13563, 619, -1000, 619, -1000, - 133, -1000, -1000, 639, -126, -99, -1000, -1000, -1000, -1000, - 407, -1000, 381, 634, 2824, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 696, 455, -1000, 823, 197, 195, 453, 821, - -1000, -1000, -1000, 803, -1000, 270, -55, -1000, -1000, 339, - -20, -20, -1000, -1000, 156, 794, 156, 156, 156, 389, - 389, -1000, -1000, -1000, -1000, 335, -1000, -1000, -1000, 328, - -1000, 713, 15550, 3510, -1000, -1000, -1000, -1000, 343, 343, - 194, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 36, 655, -1000, -1000, -1000, -1000, 7, 26, - 82, -1000, 3510, -1000, 258, -1000, 386, 9249, -1000, -1000, - -1000, -1000, 778, 407, 407, 131, -1000, -1000, 15880, -1000, - -1000, -1000, -1000, 625, -1000, -1000, -1000, 3853, 7917, -1000, - 390, 2271, 2288, -1000, 10239, 10239, -1000, -1000, 553, 7917, - 407, -1000, -1000, -1000, 25, 337, 25, 10239, 10239, -1000, - 10239, 10239, -1000, -160, 635, 202, -1000, 9249, 295, -1000, - 5225, -1000, 10239, 10239, -1000, -1000, -1000, -1000, 712, 16210, - 579, -1000, 11901, 15550, 654, -1000, 210, 748, 695, 711, - 611, -1000, -1000, -1000, -1000, 740, -1000, 734, -1000, -1000, - -1000, -1000, -1000, 102, 99, 96, 15550, -1000, 849, 9249, - 619, -1000, -1000, 168, -1000, -1000, -131, -82, -1000, -1000, - -1000, 3167, -1000, 3167, 15550, 55, -1000, 453, 453, -1000, - -1000, -1000, 692, 710, 10239, -1000, -1000, -1000, 520, 156, - 156, -1000, 201, -1000, -1000, -1000, 546, -1000, 540, 633, - 529, 15880, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 15880, - -1000, -1000, -1000, -1000, -1000, 15550, -167, 420, 15550, 15550, - 15550, 15880, -1000, 259, -1000, 407, -1000, 4882, -1000, 858, - 13563, -1000, -1000, 486, -1000, 10239, 2271, 2271, -1000, -1000, - 486, 686, 686, -1000, 686, 688, -1000, 686, 0, 686, - -1, 486, 486, 2256, 2169, 2033, 2014, 579, -155, -1000, - 407, 9249, -1000, 2118, 1905, -1000, 826, 621, 559, -1000, - -1000, 7587, 486, 519, 130, 514, -1000, 849, 16210, 9249, - -1000, -1000, 9249, 687, -1000, 9249, -1000, -1000, -1000, 579, - 579, 579, 514, 843, 407, -1000, -1000, -1000, -1000, 2824, - -1000, 512, -1000, 686, -1000, -1000, -1000, 15550, -44, 880, - 2271, -1000, -1000, -1000, -1000, -1000, -20, 385, -20, 327, - -1000, 325, 3510, -1000, -1000, -1000, -1000, 808, -1000, 4882, - -1000, -1000, 685, 703, -1000, -1000, -1000, 854, 627, -1000, - 2271, -1000, -1000, 118, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 10239, 10239, 10239, 10239, 10239, 486, 363, 407, - 10239, 10239, 820, -1000, 579, -1000, -1000, 653, 15550, 15550, - -1000, 15550, 843, -1000, 407, 407, 15550, 407, 15550, 15550, - 15550, 11559, -1000, 146, 15550, -1000, 509, -1000, 187, -1000, - -121, 156, -1000, 156, 515, 503, -1000, 579, 568, -1000, - 205, 15550, 15880, 851, 846, -1000, -1000, 1544, 1544, 1544, - 1544, 50, -1000, -1000, 1544, 1544, 876, -1000, 579, -1000, - 681, 129, -1000, -1000, -1000, 507, 502, 502, 502, 150, - 146, -1000, 392, 203, 351, -1000, 49, 15550, 309, 819, - -1000, 817, -1000, -1000, -1000, -1000, -1000, 35, 4882, 3167, - 485, -1000, -1000, 9249, 9249, -1000, -1000, -1000, -1000, 486, - 48, -170, -1000, -1000, 16210, 559, 486, 15550, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 322, -1000, -1000, 15880, -1000, - -1000, 338, -1000, -1000, 470, -1000, 15550, -1000, -1000, 655, - 407, 555, -1000, 777, -165, -174, 544, -1000, -1000, -1000, - 671, -1000, -1000, 35, 785, -167, -1000, 775, -1000, 15550, - -1000, 32, -1000, -168, 460, 28, -172, 707, 579, -176, - 697, -1000, 863, 9579, -1000, -1000, 875, 173, 173, 1544, - 486, -1000, -1000, -1000, 60, 313, -1000, -1000, -1000, -1000, - -1000, -1000, + 15837, 280, 15837, 15837, 323, -1000, 438, 15837, -1000, 767, + 9206, 9206, 5182, 9206, -1000, -1000, -1000, 830, -1000, 811, + 858, -1000, 777, 775, 7874, -1000, -1000, 206, 226, -1000, + -1000, 373, -1000, -1000, -1000, -1000, 147, 547, -1000, 2363, + -1000, -1000, -1000, -1000, 368, 10196, 10196, 10196, 141, 2363, + 2314, 1579, 1754, 172, 238, 238, 240, 240, 240, 240, + 240, 556, 556, -1000, -1000, -1000, 490, -1000, -1000, -1000, + 490, 7874, 666, -1000, -1000, 9206, -1000, 490, 530, 530, + 334, 312, 259, 917, 530, 251, 907, 530, 530, 7874, + 275, -1000, 9206, 490, -1000, 145, -1000, 1547, 664, 663, + 530, 490, 530, 530, 637, 547, -1000, 16167, 13520, 13520, + 13520, 13520, 13520, -1000, 750, 749, -1000, 734, 726, 788, + 15837, -1000, 541, 12200, 157, 547, -1000, 13850, -1000, -1000, + 904, 13520, 618, -1000, 618, -1000, 143, -1000, -1000, 662, + -126, -94, -1000, -1000, -1000, -1000, 323, -1000, 414, 661, + 2781, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 689, 491, + -1000, 828, 204, 201, 479, 827, -1000, -1000, -1000, 818, + -1000, 290, -74, -1000, -1000, 395, -35, -35, -1000, -1000, + 167, 786, 167, 167, 167, 436, 436, -1000, -1000, -1000, + -1000, 369, -1000, -1000, -1000, 366, -1000, 713, 15507, 3467, + -1000, -1000, -1000, -1000, 286, 286, 193, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42, 685, + -1000, -1000, -1000, -1000, -11, 26, 83, -1000, 3467, -1000, + 301, -1000, 423, 9206, -1000, -1000, -1000, -1000, 763, 323, + 323, 142, -1000, -1000, 15837, -1000, -1000, -1000, -1000, 670, + -1000, -1000, -1000, 3810, 7874, -1000, 141, 2363, 1915, -1000, + 10196, 10196, -1000, -1000, 530, 7874, 323, -1000, -1000, -1000, + 118, 378, 118, 10196, 10196, -1000, 10196, 10196, -1000, -163, + 647, 271, -1000, 9206, 355, -1000, 5182, -1000, 10196, 10196, + -1000, -1000, -1000, -1000, 710, 16167, 547, -1000, 11858, 15507, + 684, -1000, 224, 776, 696, 709, 641, -1000, -1000, -1000, + -1000, 746, -1000, 737, -1000, -1000, -1000, -1000, -1000, 97, + 93, 89, 15507, -1000, 893, 9206, 618, -1000, -1000, 178, + -1000, -1000, -111, -122, -1000, -1000, -1000, 3124, -1000, 3124, + 15507, 58, -1000, 479, 479, -1000, -1000, -1000, 688, 708, + 10196, -1000, -1000, -1000, 560, 167, 167, -1000, 215, -1000, + -1000, -1000, 528, -1000, 522, 659, 519, 15837, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 15837, -1000, -1000, -1000, -1000, + -1000, 15507, -171, 468, 15507, 15507, 15507, 15837, -1000, 280, + -1000, 323, -1000, 4839, -1000, 904, 13520, -1000, -1000, 490, + -1000, 10196, 2363, 2363, -1000, -1000, 490, 681, 681, -1000, + 681, 687, -1000, 681, -4, 681, -5, 490, 490, 2282, + 2240, 2137, 2008, 547, -158, -1000, 323, 9206, -1000, 1792, + 1249, -1000, 831, 586, 612, -1000, -1000, 7544, 490, 517, + 138, 514, -1000, 893, 16167, 9206, -1000, -1000, 9206, 682, + -1000, 9206, -1000, -1000, -1000, 547, 547, 547, 514, 861, + 323, -1000, -1000, -1000, -1000, 2781, -1000, 512, -1000, 681, + -1000, -1000, -1000, 15507, -63, 926, 2363, -1000, -1000, -1000, + -1000, -1000, -35, 413, -35, 360, -1000, 351, 3467, -1000, + -1000, -1000, -1000, 834, -1000, 4839, -1000, -1000, 680, 701, + -1000, -1000, -1000, 899, 655, -1000, 2363, -1000, -1000, 96, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 10196, 10196, + 10196, 10196, 10196, 490, 408, 323, 10196, 10196, 826, -1000, + 547, -1000, -1000, 638, 15507, 15507, -1000, 15507, 861, -1000, + 323, 323, 15507, 323, 15507, 15507, 15507, 11516, -1000, 149, + 15507, -1000, 507, -1000, 200, -1000, -113, 167, -1000, 167, + 552, 497, -1000, 547, 644, -1000, 211, 15507, 15837, 897, + 866, -1000, -1000, 1547, 1547, 1547, 1547, 64, -1000, -1000, + 1547, 1547, 924, -1000, 547, -1000, 693, 135, -1000, -1000, + -1000, 505, 496, 496, 496, 157, 149, -1000, 466, 207, + 401, -1000, 55, 15507, 326, 824, -1000, 823, -1000, -1000, + -1000, -1000, -1000, 41, 4839, 3124, 489, -1000, -1000, 9206, + 9206, -1000, -1000, -1000, -1000, 490, 45, -175, -1000, -1000, + 16167, 612, 490, 15507, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 340, -1000, -1000, 15837, -1000, -1000, 400, -1000, -1000, + 486, -1000, 15507, -1000, -1000, 685, 323, 597, -1000, 761, + -168, -180, 592, -1000, -1000, -1000, 677, -1000, -1000, 41, + 773, -171, -1000, 758, -1000, 15507, -1000, 38, -1000, -172, + 483, 35, -177, 706, 547, -182, 705, -1000, 916, 9536, + -1000, -1000, 923, 170, 170, 1547, 490, -1000, -1000, -1000, + 62, 362, -1000, -1000, -1000, -1000, -1000, -1000, } var yyPgo = [...]int{ - 0, 1125, 55, 472, 1124, 1121, 1111, 1110, 1109, 1102, - 1101, 1100, 1099, 1098, 1096, 1095, 1093, 1091, 1087, 1086, - 1085, 1083, 1082, 1081, 1079, 1077, 88, 1076, 1075, 1074, - 81, 1072, 80, 1071, 1070, 44, 868, 57, 45, 727, - 1069, 23, 111, 71, 1068, 37, 1067, 1066, 83, 1064, - 1062, 60, 1061, 1059, 1422, 1057, 73, 1055, 13, 42, - 1054, 1053, 1048, 1047, 70, 399, 1044, 1032, 16, 1030, - 1023, 93, 1007, 51, 10, 15, 25, 18, 1006, 391, - 7, 1002, 50, 1001, 1000, 996, 995, 21, 990, 59, - 987, 19, 54, 982, 14, 66, 38, 26, 8, 84, - 63, 973, 22, 64, 47, 972, 969, 470, 968, 967, - 43, 965, 963, 29, 962, 99, 370, 961, 958, 957, - 956, 49, 0, 567, 442, 75, 953, 952, 951, 1368, - 40, 48, 24, 950, 31, 27, 41, 949, 948, 35, - 947, 946, 944, 943, 942, 941, 940, 307, 939, 938, - 937, 12, 53, 935, 934, 65, 28, 933, 930, 929, - 52, 69, 927, 926, 58, 30, 924, 923, 922, 921, - 920, 33, 11, 918, 20, 908, 9, 907, 34, 905, - 3, 904, 17, 901, 5, 899, 6, 46, 1, 898, - 2, 895, 894, 61, 4, 85, 892, 86, + 0, 1147, 21, 517, 1146, 1145, 1144, 1143, 1142, 1140, + 1138, 1137, 1136, 1135, 1134, 1132, 1131, 1129, 1128, 1127, + 1126, 1106, 1104, 1103, 1097, 1096, 84, 1095, 1092, 1090, + 65, 1086, 70, 1082, 1081, 38, 868, 53, 45, 1184, + 1080, 24, 77, 48, 1077, 40, 1076, 1075, 75, 1073, + 1072, 61, 1071, 1070, 52, 1069, 64, 1068, 10, 82, + 1067, 1066, 1065, 1063, 69, 712, 1058, 1057, 15, 1056, + 1054, 96, 1052, 55, 11, 12, 58, 23, 1042, 59, + 6, 1041, 49, 1040, 1038, 1037, 1036, 20, 1035, 56, + 1034, 35, 51, 1033, 16, 66, 31, 26, 7, 76, + 62, 1032, 17, 63, 47, 1031, 1029, 470, 1028, 1026, + 33, 1024, 1023, 30, 1022, 90, 441, 1021, 1018, 1017, + 1016, 44, 0, 713, 25, 71, 1015, 1014, 1013, 1433, + 42, 50, 19, 1011, 105, 81, 41, 1005, 1003, 34, + 1002, 997, 995, 984, 983, 977, 976, 367, 973, 972, + 967, 137, 13, 965, 964, 60, 27, 963, 962, 960, + 54, 57, 959, 958, 46, 37, 957, 956, 954, 953, + 952, 28, 9, 951, 14, 949, 8, 948, 29, 947, + 4, 946, 18, 945, 3, 944, 5, 43, 1, 943, + 2, 941, 940, 528, 323, 78, 939, 79, } var yyR1 = [...]int{ @@ -2736,48 +2732,48 @@ var yyR1 = [...]int{ 190, 188, 188, 188, 188, 188, 170, 170, 170, 171, 171, 171, 172, 172, 172, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 181, 179, 179, 180, 180, 13, 18, 18, - 14, 14, 14, 14, 14, 15, 15, 19, 20, 20, + 12, 12, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 181, 179, 179, 180, 180, 13, + 18, 18, 14, 14, 14, 14, 14, 15, 15, 19, 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, 111, 111, 109, 109, - 112, 112, 110, 110, 110, 113, 113, 113, 114, 114, - 138, 138, 138, 21, 21, 23, 23, 24, 25, 22, - 22, 22, 22, 22, 22, 22, 16, 196, 26, 27, - 27, 28, 28, 28, 32, 32, 32, 30, 30, 30, - 31, 31, 37, 37, 36, 36, 38, 38, 38, 38, - 126, 126, 126, 125, 125, 40, 40, 41, 41, 42, - 42, 43, 43, 43, 43, 57, 57, 94, 94, 96, - 96, 44, 44, 44, 44, 45, 45, 46, 46, 47, - 47, 133, 133, 132, 132, 132, 131, 131, 50, 50, - 50, 52, 51, 51, 51, 51, 53, 53, 55, 55, - 54, 54, 56, 58, 58, 58, 58, 59, 59, 39, - 39, 39, 39, 39, 39, 39, 108, 108, 61, 61, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 72, 72, 72, 72, 72, 72, 62, 62, 62, 62, - 62, 62, 62, 35, 35, 73, 73, 73, 79, 74, - 74, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 20, 20, 20, 20, 20, 20, 20, 20, 111, 111, + 109, 109, 112, 112, 110, 110, 110, 113, 113, 113, + 114, 114, 138, 138, 138, 21, 21, 23, 23, 24, + 25, 22, 22, 22, 22, 22, 22, 22, 16, 196, + 26, 27, 27, 28, 28, 28, 32, 32, 32, 30, + 30, 30, 31, 31, 37, 37, 36, 36, 38, 38, + 38, 38, 126, 126, 126, 125, 125, 40, 40, 41, + 41, 42, 42, 43, 43, 43, 43, 57, 57, 94, + 94, 96, 96, 44, 44, 44, 44, 45, 45, 46, + 46, 47, 47, 133, 133, 132, 132, 132, 131, 131, + 50, 50, 50, 52, 51, 51, 51, 51, 53, 53, + 55, 55, 54, 54, 56, 58, 58, 58, 58, 59, + 59, 39, 39, 39, 39, 39, 39, 39, 108, 108, + 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 72, 72, 72, 72, 72, 72, 62, 62, + 62, 62, 62, 62, 62, 35, 35, 73, 73, 73, + 79, 74, 74, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 69, 69, 69, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 197, 197, 71, 70, 70, - 70, 70, 70, 70, 33, 33, 33, 33, 33, 136, - 136, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 83, 83, 34, 34, 81, 81, - 82, 84, 84, 80, 80, 80, 64, 64, 64, 64, - 64, 64, 64, 64, 66, 66, 66, 85, 85, 86, - 86, 87, 87, 88, 88, 89, 90, 90, 90, 91, - 91, 91, 91, 92, 92, 92, 63, 63, 63, 63, - 63, 63, 93, 93, 93, 93, 97, 97, 75, 75, - 77, 77, 76, 78, 98, 98, 102, 99, 99, 103, - 103, 103, 103, 101, 101, 101, 128, 128, 128, 106, - 106, 115, 115, 116, 116, 107, 107, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, - 119, 119, 120, 120, 120, 127, 127, 123, 123, 124, - 124, 129, 129, 130, 130, 121, 121, 121, 121, 121, + 65, 65, 65, 65, 65, 69, 69, 69, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 197, 197, 71, + 70, 70, 70, 70, 70, 70, 33, 33, 33, 33, + 33, 136, 136, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 139, 139, 139, 139, 83, 83, 34, 34, + 81, 81, 82, 84, 84, 80, 80, 80, 64, 64, + 64, 64, 64, 64, 64, 64, 66, 66, 66, 85, + 85, 86, 86, 87, 87, 88, 88, 89, 90, 90, + 90, 91, 91, 91, 91, 92, 92, 92, 63, 63, + 63, 63, 63, 63, 93, 93, 93, 93, 97, 97, + 75, 75, 77, 77, 76, 78, 98, 98, 102, 99, + 99, 103, 103, 103, 103, 101, 101, 101, 128, 128, + 128, 106, 106, 115, 115, 116, 116, 107, 107, 117, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, + 118, 118, 119, 119, 120, 120, 120, 127, 127, 123, + 123, 124, 124, 129, 129, 130, 130, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, @@ -2789,7 +2785,7 @@ var yyR1 = [...]int{ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, + 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, @@ -2806,7 +2802,7 @@ var yyR1 = [...]int{ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 193, 194, 134, 135, 135, 135, + 122, 122, 122, 122, 193, 194, 134, 135, 135, 135, } var yyR2 = [...]int{ @@ -2832,48 +2828,48 @@ var yyR2 = [...]int{ 1, 3, 2, 3, 1, 10, 11, 11, 12, 3, 3, 1, 1, 2, 2, 2, 0, 1, 3, 1, 2, 3, 1, 1, 1, 6, 7, 7, 7, 7, - 4, 5, 7, 5, 5, 5, 12, 7, 5, 9, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 7, 1, 3, 8, 8, 3, 3, 5, - 4, 6, 5, 4, 4, 3, 2, 3, 4, 4, - 3, 4, 4, 4, 4, 4, 4, 3, 2, 3, - 3, 2, 3, 4, 3, 7, 5, 4, 2, 4, - 4, 3, 3, 5, 2, 3, 1, 1, 0, 1, - 1, 1, 0, 2, 2, 0, 2, 2, 0, 2, - 0, 1, 1, 2, 1, 1, 2, 1, 1, 2, - 2, 2, 2, 2, 3, 3, 2, 0, 2, 0, - 2, 1, 2, 2, 0, 1, 1, 0, 1, 1, - 0, 1, 0, 1, 1, 3, 1, 2, 3, 5, - 0, 1, 2, 1, 1, 0, 2, 1, 3, 1, - 1, 1, 3, 1, 3, 3, 7, 1, 3, 1, - 3, 4, 4, 4, 3, 2, 4, 0, 1, 0, - 2, 0, 1, 0, 1, 2, 1, 1, 1, 2, - 2, 1, 2, 3, 2, 3, 2, 2, 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, 1, 1, 1, 1, 1, 3, 3, 3, 3, + 4, 5, 4, 4, 7, 5, 5, 5, 12, 7, + 5, 9, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 7, 1, 3, 8, 8, 3, + 3, 5, 4, 6, 5, 4, 4, 3, 2, 3, + 4, 4, 3, 4, 4, 4, 4, 4, 4, 3, + 2, 3, 3, 2, 3, 4, 3, 7, 5, 4, + 2, 4, 4, 3, 3, 5, 2, 3, 1, 1, + 0, 1, 1, 1, 0, 2, 2, 0, 2, 2, + 0, 2, 0, 1, 1, 2, 1, 1, 2, 1, + 1, 2, 2, 2, 2, 2, 3, 3, 2, 0, + 2, 0, 2, 1, 2, 2, 0, 1, 1, 0, + 1, 1, 0, 1, 0, 1, 1, 3, 1, 2, + 3, 5, 0, 1, 2, 1, 1, 0, 2, 1, + 3, 1, 1, 1, 3, 1, 3, 3, 7, 1, + 3, 1, 3, 4, 4, 4, 3, 2, 4, 0, + 1, 0, 2, 0, 1, 0, 1, 2, 1, 1, + 1, 2, 2, 1, 2, 3, 2, 3, 2, 2, + 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, 1, 1, 1, 1, 1, 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, 4, 5, 6, 4, 4, 6, 6, - 6, 8, 8, 8, 8, 9, 7, 5, 4, 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, 0, - 2, 0, 3, 1, 3, 2, 0, 1, 1, 0, - 2, 4, 4, 0, 2, 4, 2, 1, 3, 5, - 4, 6, 1, 3, 3, 5, 0, 5, 1, 3, - 1, 2, 3, 1, 1, 3, 3, 1, 3, 3, - 3, 3, 3, 1, 2, 1, 1, 1, 1, 1, - 1, 0, 2, 0, 3, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, - 1, 1, 0, 1, 1, 0, 2, 1, 1, 1, + 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, + 3, 1, 1, 1, 1, 4, 5, 6, 4, 4, + 6, 6, 6, 8, 8, 8, 8, 9, 7, 5, + 4, 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, 0, 2, 0, 3, 1, 3, 2, 0, 1, + 1, 0, 2, 4, 4, 0, 2, 4, 2, 1, + 3, 5, 4, 6, 1, 3, 3, 5, 0, 5, + 1, 3, 1, 2, 3, 1, 1, 3, 3, 1, + 3, 3, 3, 3, 3, 1, 2, 1, 1, 1, + 1, 1, 1, 0, 2, 0, 3, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 0, 1, 1, 0, 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, @@ -2903,7 +2899,7 @@ 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, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ @@ -2932,177 +2928,177 @@ var yyChk = [...]int{ 193, 156, 343, 344, 183, 184, 198, 171, 194, 167, 158, 151, 345, 239, 215, 266, 191, 188, 162, 346, 159, 160, 347, 220, 221, 163, 263, 235, 186, 216, - -107, 126, 221, 128, 124, 124, 125, 126, 242, 123, - 124, -54, -129, 58, -122, 126, 124, 109, 190, 229, - 116, 218, 226, 125, 33, 227, 157, -138, 124, -109, - 217, 220, 221, 163, 58, 231, 230, 222, -129, 167, - -134, -134, -134, -134, -134, 219, 219, -134, -2, -91, - 17, 16, -5, -3, -193, 6, 20, 21, -32, 41, - 42, -27, -38, 100, -39, -129, -60, 75, -65, 29, - 58, -122, 23, -64, -61, -80, -78, -79, 109, 110, - 111, 98, 99, 106, 76, 112, -69, -67, -68, -70, - 60, 59, 68, 61, 62, 63, 64, 69, 70, 71, - -123, -76, -193, 45, 46, 251, 252, 253, 254, 259, - 255, 78, 35, 241, 249, 248, 247, 245, 246, 243, - 244, 257, 258, 129, 242, 104, 250, -107, -107, 11, - -48, -49, -54, -56, -129, -99, -137, 167, -103, 231, - 230, -124, -101, -123, -121, 229, 190, 228, 121, 267, - 74, 22, 24, 212, 77, 109, 16, 78, 108, 251, - 116, 49, 268, 243, 244, 241, 253, 254, 242, 218, - 29, 10, 270, 25, 145, 21, 34, 102, 118, 81, - 82, 148, 23, 146, 71, 273, 19, 52, 11, 13, - 274, 275, 14, 129, 128, 93, 125, 47, 8, 112, - 26, 90, 43, 276, 28, 277, 278, 279, 280, 45, - 91, 17, 245, 246, 31, 281, 259, 152, 104, 50, - 37, 75, 282, 283, 69, 284, 72, 53, 73, 15, - 48, 285, 286, 287, 288, 92, 119, 250, 46, 289, - 123, 6, 256, 30, 144, 44, 290, 124, 80, 257, - 258, 127, 70, 5, 130, 32, 9, 51, 54, 247, - 248, 249, 35, 79, 12, 291, -168, 91, -161, 58, - -54, 125, -54, 250, -116, 129, -116, -116, 124, -54, - 116, 118, 121, 53, -18, -54, -115, 129, 58, -115, - -115, -115, -54, 113, -54, 58, 30, -135, -193, -124, - 242, 58, 157, 124, 158, 126, -135, -135, -135, -135, - 161, 162, -135, -112, -111, 224, 225, 219, 223, 12, - 162, 219, 160, -135, -134, -134, -194, 57, -92, 19, - 31, -39, -129, -88, -89, -39, -87, -2, -26, 37, - -30, 21, 34, 66, 11, -126, 74, 73, 90, -125, - 22, -123, 60, 113, -39, -62, 93, 75, 91, 92, - 77, 95, 94, 105, 98, 99, 100, 101, 102, 103, - 104, 96, 97, 108, 83, 84, 85, 86, 87, 88, - 89, -108, -193, -79, -193, 114, 115, -65, -65, -65, - -65, -65, -65, -65, -65, -193, -2, -74, -39, -193, - -193, -193, -193, -193, -193, -193, -193, -193, -83, -39, - -193, -197, -71, -193, -197, -71, -197, -71, -197, -193, - -197, -71, -197, -71, -197, -197, -71, -193, -193, -193, - -193, -193, -193, -55, 26, -54, -41, -42, -43, -44, - -57, -79, -193, -54, -54, -48, -195, 56, 11, 54, - -195, 56, 113, 56, -99, 167, -100, -104, 232, 234, - 83, -128, -123, 60, 29, 30, 57, 56, -54, -140, - -143, -145, -144, -146, -141, -142, 187, 188, 109, 191, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 30, 147, 183, 184, 185, 186, 203, 204, 205, 206, - 207, 208, 209, 210, 170, 189, 261, 171, 172, 173, - 174, 175, 176, 178, 179, 180, 181, 182, 58, -135, - 126, 58, 75, 58, -54, -54, -135, 159, 159, 124, - 124, 164, -54, 56, 127, -48, 23, 53, -54, 58, - 58, -130, -129, -121, -135, -135, -135, -135, -135, -54, - -135, -135, -135, -135, 11, -110, 11, 93, -39, -114, - 91, 53, 9, 93, 56, 18, 113, 56, -90, 24, - 25, -91, -194, -32, -66, -123, 61, 64, -31, 44, - -54, -39, -39, -72, 69, 75, 70, 71, -125, 100, - -130, -124, -121, -65, -73, -76, -79, 65, 93, 91, - 92, 77, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, -65, -65, -65, -65, -136, 58, 60, - 58, -64, -64, -123, -37, 21, -36, -38, -194, 56, - -194, -2, -36, -36, -39, -39, -80, 60, -36, -80, - 60, -36, -36, -30, -81, -82, 79, -80, -123, -129, - -194, -65, -123, -123, -36, -37, -36, -36, -95, 153, - -54, 30, 56, -50, -52, -51, -53, 43, 47, 49, - 44, 45, 46, 50, -133, 22, -41, -193, -132, 153, - -131, 22, -129, 60, -95, 54, -41, -54, -41, -56, - -129, 100, -103, -100, 56, 233, 235, 236, 53, 72, - -39, -152, 108, -170, -171, -172, -124, 60, 61, -161, - -162, -163, -173, 139, -178, 131, 133, 130, -164, 140, - 125, 28, 57, -157, 69, 75, -153, 215, -147, 55, - -147, -147, -147, -147, -151, 190, -151, -151, -151, 55, - 55, -147, -147, -147, -155, 55, -155, -155, -156, 55, - -156, -127, 54, -54, -135, 23, -135, -117, 121, 118, - 119, -181, 117, 212, 190, 67, 29, 15, 251, 153, - 266, 58, 154, -54, -54, -54, -54, -54, 121, 118, - -54, -54, -54, -135, -54, -113, 91, 12, -129, -129, - 60, -54, 39, -39, -39, -130, -89, -92, -106, 19, - 11, 35, 35, -36, 69, 70, 71, 113, -193, -73, - -65, -65, -65, -35, 148, 74, -194, -194, -36, 56, - -39, -194, -194, -194, 56, 54, 22, 11, 11, -194, - 11, 11, -194, -194, -36, -84, -82, 81, -39, -194, - 113, -194, 56, 56, -194, -194, -194, -194, -63, 30, - 35, -2, -193, -193, -98, -102, -80, -42, -43, -43, - -42, -43, 43, 43, 43, 48, 43, 48, 43, -51, - -129, -194, -58, 51, 128, 52, -193, -131, -59, 12, - -41, -59, -59, 113, -104, -105, 237, 234, 240, 58, - 60, 56, -172, 83, 55, 58, 28, -164, -164, -165, - 58, -165, 28, -149, 29, 69, -154, 216, 61, -151, - -151, -152, 30, -152, -152, -152, -160, 60, -160, 61, - 61, 53, -123, -135, -134, -187, 136, 132, 139, 140, - 134, 58, 125, 28, 131, 133, 153, 130, -187, -118, - -119, 127, 22, 125, 28, 153, -186, 54, 159, 212, - 159, 127, -135, -110, 60, -39, 40, 113, -54, -40, - 11, 100, -124, -37, -35, 74, -65, -65, -194, -38, - -139, 109, 187, 147, 185, 181, 201, 192, 214, 183, - 215, -136, -139, -65, -65, -65, -65, 260, -87, 82, - -39, 80, -124, -65, -65, -97, 53, -98, -75, -77, - -76, -193, -2, -93, -123, -96, -123, -59, 56, 83, - -46, -45, 53, 54, -47, 53, -45, 43, 43, 125, - 125, 125, -96, -87, -39, -59, 234, 238, 239, -171, - -172, -175, -174, -123, -178, -165, -165, 55, -150, 53, - -65, 57, -152, -152, 58, 109, 57, 56, 57, 56, - 57, 56, -54, -134, -134, -54, -134, -123, -184, 263, - -185, 58, -123, -123, -123, -54, -113, -59, -41, -194, - -65, -194, -147, -147, -147, -156, -147, 175, -147, 175, - -194, -194, 19, 19, 19, 19, -193, -34, 256, -39, - 56, 56, 27, -97, 56, -194, -194, -194, 56, 113, - -194, 56, -87, -102, -39, -39, 55, -39, -193, -193, - -193, -194, -91, 57, 56, -147, -94, -123, -158, 212, - 9, -151, 60, -151, 61, 61, -135, 26, -183, -182, - -124, 55, 54, -85, 13, -151, 58, -65, -65, -65, - -65, -65, -194, 60, -65, -65, 28, -77, 35, -2, - -193, -123, -123, -123, -91, -94, -94, -94, -94, -132, - -177, -176, 54, 135, 67, -174, 57, 56, -159, 131, - 28, 130, -68, -152, -152, 57, 57, -193, 56, 83, - -94, -54, -86, 14, 16, -194, -194, -194, -194, -33, - 93, 263, -194, -194, 9, -75, -2, 113, 57, -194, - -194, -194, -58, -176, 58, -166, 83, 60, 142, -123, - -148, 67, 28, 28, -179, -180, 153, -182, -172, 57, - -39, -74, -194, 261, 50, 264, -98, -194, -123, 61, - -54, 60, -194, 56, -123, -186, 40, 262, 265, 55, - -180, 35, -184, 40, -94, 155, 263, 57, 156, 264, - -189, -190, 53, -193, 265, -190, 53, 10, 9, -65, - 152, -188, 143, 138, 141, 30, -188, -194, -194, 137, - 29, 69, + -107, 126, 242, 123, 221, 128, 124, 124, 125, 126, + 242, 123, 124, -54, -129, 58, -122, 126, 124, 109, + 190, 229, 116, 218, 226, 125, 33, 227, 157, -138, + 124, -109, 217, 220, 221, 163, 58, 231, 230, 222, + -129, 167, -134, -134, -134, -134, -134, 219, 219, -134, + -2, -91, 17, 16, -5, -3, -193, 6, 20, 21, + -32, 41, 42, -27, -38, 100, -39, -129, -60, 75, + -65, 29, 58, -122, 23, -64, -61, -80, -78, -79, + 109, 110, 111, 98, 99, 106, 76, 112, -69, -67, + -68, -70, 60, 59, 68, 61, 62, 63, 64, 69, + 70, 71, -123, -76, -193, 45, 46, 251, 252, 253, + 254, 259, 255, 78, 35, 241, 249, 248, 247, 245, + 246, 243, 244, 257, 258, 129, 242, 104, 250, -107, + -107, 11, -48, -49, -54, -56, -129, -99, -137, 167, + -103, 231, 230, -124, -101, -123, -121, 229, 190, 228, + 121, 267, 74, 22, 24, 212, 77, 109, 16, 78, + 108, 251, 116, 49, 268, 243, 244, 241, 253, 254, + 242, 218, 29, 10, 270, 25, 145, 21, 34, 102, + 118, 81, 82, 148, 23, 146, 71, 273, 19, 52, + 11, 13, 274, 275, 14, 129, 128, 93, 125, 47, + 8, 112, 26, 90, 43, 276, 28, 277, 278, 279, + 280, 45, 91, 17, 245, 246, 31, 281, 259, 152, + 104, 50, 37, 75, 282, 283, 69, 284, 72, 53, + 73, 15, 48, 285, 286, 287, 288, 92, 119, 250, + 46, 289, 123, 6, 256, 30, 144, 44, 290, 124, + 80, 257, 258, 127, 70, 5, 130, 32, 9, 51, + 54, 247, 248, 249, 35, 79, 12, 291, -168, 91, + -161, 58, -54, 125, -54, 250, -116, 129, -116, -116, + 124, -54, 58, 58, 116, 118, 121, 53, -18, -54, + -115, 129, 58, -115, -115, -115, -54, 113, -54, 58, + 30, -135, -193, -124, 242, 58, 157, 124, 158, 126, + -135, -135, -135, -135, 161, 162, -135, -112, -111, 224, + 225, 219, 223, 12, 162, 219, 160, -135, -134, -134, + -194, 57, -92, 19, 31, -39, -129, -88, -89, -39, + -87, -2, -26, 37, -30, 21, 34, 66, 11, -126, + 74, 73, 90, -125, 22, -123, 60, 113, -39, -62, + 93, 75, 91, 92, 77, 95, 94, 105, 98, 99, + 100, 101, 102, 103, 104, 96, 97, 108, 83, 84, + 85, 86, 87, 88, 89, -108, -193, -79, -193, 114, + 115, -65, -65, -65, -65, -65, -65, -65, -65, -193, + -2, -74, -39, -193, -193, -193, -193, -193, -193, -193, + -193, -193, -83, -39, -193, -197, -71, -193, -197, -71, + -197, -71, -197, -193, -197, -71, -197, -71, -197, -197, + -71, -193, -193, -193, -193, -193, -193, -55, 26, -54, + -41, -42, -43, -44, -57, -79, -193, -54, -54, -48, + -195, 56, 11, 54, -195, 56, 113, 56, -99, 167, + -100, -104, 232, 234, 83, -128, -123, 60, 29, 30, + 57, 56, -54, -140, -143, -145, -144, -146, -141, -142, + 187, 188, 109, 191, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 30, 147, 183, 184, 185, 186, + 203, 204, 205, 206, 207, 208, 209, 210, 170, 189, + 261, 171, 172, 173, 174, 175, 176, 178, 179, 180, + 181, 182, 58, -135, 126, 58, 75, 58, -54, -54, + -135, -135, -135, 159, 159, 124, 124, 164, -54, 56, + 127, -48, 23, 53, -54, 58, 58, -130, -129, -121, + -135, -135, -135, -135, -135, -54, -135, -135, -135, -135, + 11, -110, 11, 93, -39, -114, 91, 53, 9, 93, + 56, 18, 113, 56, -90, 24, 25, -91, -194, -32, + -66, -123, 61, 64, -31, 44, -54, -39, -39, -72, + 69, 75, 70, 71, -125, 100, -130, -124, -121, -65, + -73, -76, -79, 65, 93, 91, 92, 77, -65, -65, + -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, + -65, -65, -65, -136, 58, 60, 58, -64, -64, -123, + -37, 21, -36, -38, -194, 56, -194, -2, -36, -36, + -39, -39, -80, 60, -36, -80, 60, -36, -36, -30, + -81, -82, 79, -80, -123, -129, -194, -65, -123, -123, + -36, -37, -36, -36, -95, 153, -54, 30, 56, -50, + -52, -51, -53, 43, 47, 49, 44, 45, 46, 50, + -133, 22, -41, -193, -132, 153, -131, 22, -129, 60, + -95, 54, -41, -54, -41, -56, -129, 100, -103, -100, + 56, 233, 235, 236, 53, 72, -39, -152, 108, -170, + -171, -172, -124, 60, 61, -161, -162, -163, -173, 139, + -178, 131, 133, 130, -164, 140, 125, 28, 57, -157, + 69, 75, -153, 215, -147, 55, -147, -147, -147, -147, + -151, 190, -151, -151, -151, 55, 55, -147, -147, -147, + -155, 55, -155, -155, -156, 55, -156, -127, 54, -54, + -135, 23, -135, -117, 121, 118, 119, -181, 117, 212, + 190, 67, 29, 15, 251, 153, 266, 58, 154, -54, + -54, -54, -54, -54, 121, 118, -54, -54, -54, -135, + -54, -113, 91, 12, -129, -129, 60, -54, 39, -39, + -39, -130, -89, -92, -106, 19, 11, 35, 35, -36, + 69, 70, 71, 113, -193, -73, -65, -65, -65, -35, + 148, 74, -194, -194, -36, 56, -39, -194, -194, -194, + 56, 54, 22, 11, 11, -194, 11, 11, -194, -194, + -36, -84, -82, 81, -39, -194, 113, -194, 56, 56, + -194, -194, -194, -194, -63, 30, 35, -2, -193, -193, + -98, -102, -80, -42, -43, -43, -42, -43, 43, 43, + 43, 48, 43, 48, 43, -51, -129, -194, -58, 51, + 128, 52, -193, -131, -59, 12, -41, -59, -59, 113, + -104, -105, 237, 234, 240, 58, 60, 56, -172, 83, + 55, 58, 28, -164, -164, -165, 58, -165, 28, -149, + 29, 69, -154, 216, 61, -151, -151, -152, 30, -152, + -152, -152, -160, 60, -160, 61, 61, 53, -123, -135, + -134, -187, 136, 132, 139, 140, 134, 58, 125, 28, + 131, 133, 153, 130, -187, -118, -119, 127, 22, 125, + 28, 153, -186, 54, 159, 212, 159, 127, -135, -110, + 60, -39, 40, 113, -54, -40, 11, 100, -124, -37, + -35, 74, -65, -65, -194, -38, -139, 109, 187, 147, + 185, 181, 201, 192, 214, 183, 215, -136, -139, -65, + -65, -65, -65, 260, -87, 82, -39, 80, -124, -65, + -65, -97, 53, -98, -75, -77, -76, -193, -2, -93, + -123, -96, -123, -59, 56, 83, -46, -45, 53, 54, + -47, 53, -45, 43, 43, 125, 125, 125, -96, -87, + -39, -59, 234, 238, 239, -171, -172, -175, -174, -123, + -178, -165, -165, 55, -150, 53, -65, 57, -152, -152, + 58, 109, 57, 56, 57, 56, 57, 56, -54, -134, + -134, -54, -134, -123, -184, 263, -185, 58, -123, -123, + -123, -54, -113, -59, -41, -194, -65, -194, -147, -147, + -147, -156, -147, 175, -147, 175, -194, -194, 19, 19, + 19, 19, -193, -34, 256, -39, 56, 56, 27, -97, + 56, -194, -194, -194, 56, 113, -194, 56, -87, -102, + -39, -39, 55, -39, -193, -193, -193, -194, -91, 57, + 56, -147, -94, -123, -158, 212, 9, -151, 60, -151, + 61, 61, -135, 26, -183, -182, -124, 55, 54, -85, + 13, -151, 58, -65, -65, -65, -65, -65, -194, 60, + -65, -65, 28, -77, 35, -2, -193, -123, -123, -123, + -91, -94, -94, -94, -94, -132, -177, -176, 54, 135, + 67, -174, 57, 56, -159, 131, 28, 130, -68, -152, + -152, 57, 57, -193, 56, 83, -94, -54, -86, 14, + 16, -194, -194, -194, -194, -33, 93, 263, -194, -194, + 9, -75, -2, 113, 57, -194, -194, -194, -58, -176, + 58, -166, 83, 60, 142, -123, -148, 67, 28, 28, + -179, -180, 153, -182, -172, 57, -39, -74, -194, 261, + 50, 264, -98, -194, -123, 61, -54, 60, -194, 56, + -123, -186, 40, 262, 265, 55, -180, 35, -184, 40, + -94, 155, 263, 57, 156, 264, -189, -190, 53, -193, + 265, -190, 53, 10, 9, -65, 152, -188, 143, 138, + 141, 30, -188, -194, -194, 137, 29, 69, } var yyDef = [...]int{ 23, -2, 2, -2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 561, 0, 317, 317, 317, 317, 317, 317, - 0, 632, 615, 0, 0, 0, 0, -2, 304, 305, - 0, 307, 308, 934, 934, 934, 934, 934, 0, 0, - 934, 0, 35, 36, 932, 1, 3, 569, 0, 0, - 321, 324, 319, 0, 615, 615, 0, 0, 65, 66, - 0, 0, 0, 921, 0, 613, 613, 613, 633, 634, - 637, 638, 763, 764, 765, 766, 767, 768, 769, 770, - 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, - 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, - 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, - 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, - 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, - 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, - 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, - 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, - 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, - 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, - 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, - 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, - 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, - 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, - 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, - 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, - 0, 0, 0, 616, 0, 611, 0, 611, 611, 611, - 0, 256, 390, 641, 642, 921, 0, 0, 0, 935, - 0, 935, 268, 935, 935, 271, 935, 0, 935, 0, - 278, 0, 0, 284, 935, 301, 302, 289, 303, 306, - 309, 310, 311, 312, 313, 934, 934, 316, 29, 573, - 0, 0, 561, 31, 0, 317, 322, 323, 327, 325, - 326, 318, 0, 336, 340, 0, 399, 0, 404, 406, - -2, -2, 0, 441, 442, 443, 444, 445, 0, 0, - 0, 0, 0, 0, 0, 0, 469, 470, 471, 472, - 546, 547, 548, 549, 550, 551, 552, 553, 408, 409, - 543, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 0, 505, 505, 505, 505, 505, 505, 505, - 505, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 46, 390, 50, 0, 910, 597, -2, - -2, 0, 0, 639, 640, -2, 776, -2, 645, 646, + 21, 22, 563, 0, 319, 319, 319, 319, 319, 319, + 0, 634, 617, 0, 0, 0, 0, -2, 306, 307, + 0, 309, 310, 936, 936, 936, 936, 936, 0, 0, + 936, 0, 35, 36, 934, 1, 3, 571, 0, 0, + 323, 326, 321, 0, 617, 617, 0, 0, 65, 66, + 0, 0, 0, 923, 0, 615, 615, 615, 635, 636, + 639, 640, 765, 766, 767, 768, 769, 770, 771, 772, + 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, + 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, + 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, + 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, + 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, + 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, + 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, + 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, + 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, + 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, + 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, + 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, + 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, + 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, + 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, + 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, + 0, 0, 0, 0, 0, 618, 0, 613, 0, 613, + 613, 613, 0, 258, 392, 643, 644, 923, 0, 0, + 0, 937, 0, 937, 270, 937, 937, 273, 937, 0, + 937, 0, 280, 0, 0, 286, 937, 303, 304, 291, + 305, 308, 311, 312, 313, 314, 315, 936, 936, 318, + 29, 575, 0, 0, 563, 31, 0, 319, 324, 325, + 329, 327, 328, 320, 0, 338, 342, 0, 401, 0, + 406, 408, -2, -2, 0, 443, 444, 445, 446, 447, + 0, 0, 0, 0, 0, 0, 0, 0, 471, 472, + 473, 474, 548, 549, 550, 551, 552, 553, 554, 555, + 410, 411, 545, 595, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 536, 0, 507, 507, 507, 507, 507, + 507, 507, 507, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 46, 392, 50, 0, 912, + 599, -2, -2, 0, 0, 641, 642, -2, 778, -2, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, @@ -3114,108 +3110,108 @@ var yyDef = [...]int{ 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 0, 0, 84, 0, - 82, 0, 935, 0, 0, 0, 0, 0, 0, 935, - 0, 0, 0, 0, 247, 0, 0, 0, 0, 0, - 0, 0, 255, 0, 257, 935, 935, 260, 936, 937, - 935, 935, 935, 0, 935, 935, 267, 269, 270, 272, - 935, 935, 274, 0, 292, 290, 291, 286, 287, 0, - 298, 281, 282, 285, 314, 315, 30, 933, 24, 0, - 0, 570, 0, 562, 563, 566, 569, 29, 324, 0, - 330, 328, 329, 320, 0, 337, 0, 0, 0, 341, - 0, 343, 344, 0, 402, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 426, 427, 428, 429, 430, 431, - 432, 405, 0, 419, 0, 0, 0, 461, 462, 463, - 464, 465, 466, 467, 0, 332, 29, 0, 439, 0, - 0, 0, 0, 0, 0, 0, 0, 327, 0, 535, - 0, 489, 497, 0, 490, 498, 491, 499, 492, 0, - 493, 500, 494, 501, 495, 496, 502, 0, 0, 0, - 332, 0, 0, 48, 0, 389, 0, 347, 349, 350, - 351, -2, 0, 373, -2, 0, 0, 0, 42, 43, - 0, 0, 0, 0, 51, 910, 53, 54, 0, 0, - 0, 162, 606, 607, 608, 604, 206, 0, 0, 150, - 146, 90, 91, 92, 139, 94, 139, 139, 139, 139, - 159, 159, 159, 159, 122, 123, 124, 125, 126, 0, - 0, 109, 139, 139, 139, 113, 129, 130, 131, 132, - 133, 134, 135, 136, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 141, 141, 141, 143, 143, 635, 68, - 0, 935, 0, 935, 80, 0, 220, 0, 0, 0, - 0, 0, 0, 0, 0, 250, 612, 0, 935, 253, - 254, 391, 643, 644, 258, 259, 261, 262, 263, 264, - 265, 266, 273, 277, 0, 295, 0, 0, 279, 280, - 0, 0, 574, 0, 0, 0, 0, 0, 565, 567, - 568, 573, 32, 327, 0, 554, 0, 0, 0, 331, - 27, 400, 401, 403, 420, 0, 422, 424, 342, 338, - 0, 544, -2, 410, 411, 435, 436, 437, 0, 0, - 0, 0, 433, 415, 0, 446, 447, 448, 449, 450, - 451, 452, 453, 454, 455, 456, 457, 460, 519, 520, - 0, 458, 459, 468, 0, 0, 333, 334, 438, 0, - 592, 29, 0, 0, 0, 0, 443, 546, 0, 443, - 546, 0, 0, 0, 541, 538, 0, 0, 543, 0, - 506, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 388, 0, 0, 0, 0, 0, 0, 378, 0, 0, - 381, 0, 0, 0, 0, 372, 0, 0, 393, 855, - 374, 0, 376, 377, 397, 0, 397, 45, 397, 47, - 0, 392, 598, 52, 0, 0, 57, 58, 599, 600, - 601, 602, 0, 81, 207, 209, 212, 213, 214, 85, - 86, 87, 0, 0, 194, 0, 0, 188, 188, 0, - 186, 187, 83, 153, 151, 0, 148, 147, 93, 0, - 159, 159, 116, 117, 162, 0, 162, 162, 162, 0, - 0, 110, 111, 112, 104, 0, 105, 106, 107, 0, - 108, 0, 0, 935, 70, 614, 71, 934, 0, 0, - 627, 221, 617, 618, 619, 620, 621, 622, 623, 624, - 625, 626, 0, 72, 223, 225, 224, 228, 0, 0, - 0, 248, 935, 252, 292, 276, 0, 0, 293, 294, - 299, 283, 0, 571, 572, 0, 564, 25, 0, 609, - 610, 555, 556, 345, 421, 423, 425, 0, 332, 412, - 433, 416, 0, 413, 0, 0, 407, 473, 0, 0, - 440, -2, 476, 477, 0, 0, 0, 0, 0, 512, - 0, 0, 513, 0, 561, 0, 539, 0, 0, 488, - 0, 507, 0, 0, 508, 509, 510, 511, 586, 0, - 0, -2, 0, 0, 397, 594, 0, 348, 367, 369, - 0, 364, 379, 380, 382, 0, 384, 0, 386, 387, - 352, 354, 355, 0, 0, 0, 0, 375, 561, 0, - 397, 40, 41, 0, 55, 56, 0, 0, 62, 163, - 164, 0, 210, 0, 0, 0, 181, 188, 188, 184, - 189, 185, 0, 155, 0, 152, 89, 149, 0, 162, - 162, 118, 0, 119, 120, 121, 0, 137, 0, 0, - 0, 0, 636, 69, 215, 934, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 934, 0, - 934, 628, 629, 630, 631, 0, 75, 0, 0, 0, - 0, 0, 251, 295, 296, 297, 575, 0, 26, 397, - 0, 339, 545, 0, 414, 0, 434, 417, 474, 335, - 0, 139, 139, 524, 139, 143, 527, 139, 529, 139, - 532, 0, 0, 0, 0, 0, 0, 0, 536, 487, - 542, 0, 544, 0, 0, 33, 0, 586, 576, 588, - 590, 0, 29, 0, 582, 0, 359, 561, 0, 0, - 361, 368, 0, 0, 362, 0, 363, 383, 385, 0, - 0, 0, 0, 569, 398, 39, 59, 60, 61, 208, - 211, 0, 190, 139, 193, 182, 183, 0, 157, 0, - 154, 140, 114, 115, 160, 161, 159, 0, 159, 0, - 144, 0, 935, 216, 217, 218, 219, 0, 222, 0, - 73, 74, 0, 0, 227, 249, 275, 557, 346, 475, - 418, 478, 521, 159, 525, 526, 528, 530, 531, 533, - 480, 479, 0, 0, 0, 0, 0, 0, 0, 540, - 0, 0, 0, 34, 0, 591, -2, 0, 0, 0, - 49, 0, 569, 595, 596, 365, 0, 370, 0, 0, - 0, 373, 38, 173, 0, 192, 0, 357, 165, 158, - 0, 162, 138, 162, 0, 0, 67, 0, 76, 77, - 0, 0, 0, 559, 0, 522, 523, 0, 0, 0, - 0, 514, 486, 537, 0, 0, 0, 589, 0, -2, - 0, 584, 583, 360, 37, 0, 0, 0, 0, 393, - 172, 174, 0, 179, 0, 191, 0, 0, 170, 0, - 167, 169, 156, 127, 128, 142, 145, 0, 0, 0, - 0, 229, 28, 0, 0, 481, 483, 482, 484, 0, - 0, 0, 503, 504, 0, 579, 29, 0, 366, 394, - 395, 396, 356, 175, 176, 0, 180, 178, 0, 358, - 88, 0, 166, 168, 0, 243, 0, 78, 79, 72, - 560, 558, 485, 0, 0, 0, 587, -2, 585, 177, - 0, 171, 242, 0, 0, 75, 515, 0, 518, 0, - 244, 0, 226, 516, 0, 0, 0, 195, 0, 0, - 196, 197, 0, 0, 517, 198, 0, 0, 0, 0, - 0, 199, 201, 202, 0, 0, 200, 245, 246, 203, - 204, 205, + 757, 758, 759, 760, 761, 762, 763, 764, 0, 0, + 84, 0, 82, 0, 937, 0, 0, 0, 0, 0, + 0, 937, 937, 937, 0, 0, 0, 0, 249, 0, + 0, 0, 0, 0, 0, 0, 257, 0, 259, 937, + 937, 262, 938, 939, 937, 937, 937, 0, 937, 937, + 269, 271, 272, 274, 937, 937, 276, 0, 294, 292, + 293, 288, 289, 0, 300, 283, 284, 287, 316, 317, + 30, 935, 24, 0, 0, 572, 0, 564, 565, 568, + 571, 29, 326, 0, 332, 330, 331, 322, 0, 339, + 0, 0, 0, 343, 0, 345, 346, 0, 404, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 428, 429, + 430, 431, 432, 433, 434, 407, 0, 421, 0, 0, + 0, 463, 464, 465, 466, 467, 468, 469, 0, 334, + 29, 0, 441, 0, 0, 0, 0, 0, 0, 0, + 0, 329, 0, 537, 0, 491, 499, 0, 492, 500, + 493, 501, 494, 0, 495, 502, 496, 503, 497, 498, + 504, 0, 0, 0, 334, 0, 0, 48, 0, 391, + 0, 349, 351, 352, 353, -2, 0, 375, -2, 0, + 0, 0, 42, 43, 0, 0, 0, 0, 51, 912, + 53, 54, 0, 0, 0, 162, 608, 609, 610, 606, + 206, 0, 0, 150, 146, 90, 91, 92, 139, 94, + 139, 139, 139, 139, 159, 159, 159, 159, 122, 123, + 124, 125, 126, 0, 0, 109, 139, 139, 139, 113, + 129, 130, 131, 132, 133, 134, 135, 136, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 141, 141, 141, + 143, 143, 637, 68, 0, 937, 0, 937, 80, 0, + 220, 222, 223, 0, 0, 0, 0, 0, 0, 0, + 0, 252, 614, 0, 937, 255, 256, 393, 645, 646, + 260, 261, 263, 264, 265, 266, 267, 268, 275, 279, + 0, 297, 0, 0, 281, 282, 0, 0, 576, 0, + 0, 0, 0, 0, 567, 569, 570, 575, 32, 329, + 0, 556, 0, 0, 0, 333, 27, 402, 403, 405, + 422, 0, 424, 426, 344, 340, 0, 546, -2, 412, + 413, 437, 438, 439, 0, 0, 0, 0, 435, 417, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 462, 521, 522, 0, 460, 461, 470, + 0, 0, 335, 336, 440, 0, 594, 29, 0, 0, + 0, 0, 445, 548, 0, 445, 548, 0, 0, 0, + 543, 540, 0, 0, 545, 0, 508, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, + 0, 0, 0, 380, 0, 0, 383, 0, 0, 0, + 0, 374, 0, 0, 395, 857, 376, 0, 378, 379, + 399, 0, 399, 45, 399, 47, 0, 394, 600, 52, + 0, 0, 57, 58, 601, 602, 603, 604, 0, 81, + 207, 209, 212, 213, 214, 85, 86, 87, 0, 0, + 194, 0, 0, 188, 188, 0, 186, 187, 83, 153, + 151, 0, 148, 147, 93, 0, 159, 159, 116, 117, + 162, 0, 162, 162, 162, 0, 0, 110, 111, 112, + 104, 0, 105, 106, 107, 0, 108, 0, 0, 937, + 70, 616, 71, 936, 0, 0, 629, 221, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 0, 72, + 225, 227, 226, 230, 0, 0, 0, 250, 937, 254, + 294, 278, 0, 0, 295, 296, 301, 285, 0, 573, + 574, 0, 566, 25, 0, 611, 612, 557, 558, 347, + 423, 425, 427, 0, 334, 414, 435, 418, 0, 415, + 0, 0, 409, 475, 0, 0, 442, -2, 478, 479, + 0, 0, 0, 0, 0, 514, 0, 0, 515, 0, + 563, 0, 541, 0, 0, 490, 0, 509, 0, 0, + 510, 511, 512, 513, 588, 0, 0, -2, 0, 0, + 399, 596, 0, 350, 369, 371, 0, 366, 381, 382, + 384, 0, 386, 0, 388, 389, 354, 356, 357, 0, + 0, 0, 0, 377, 563, 0, 399, 40, 41, 0, + 55, 56, 0, 0, 62, 163, 164, 0, 210, 0, + 0, 0, 181, 188, 188, 184, 189, 185, 0, 155, + 0, 152, 89, 149, 0, 162, 162, 118, 0, 119, + 120, 121, 0, 137, 0, 0, 0, 0, 638, 69, + 215, 936, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 936, 0, 936, 630, 631, 632, + 633, 0, 75, 0, 0, 0, 0, 0, 253, 297, + 298, 299, 577, 0, 26, 399, 0, 341, 547, 0, + 416, 0, 436, 419, 476, 337, 0, 139, 139, 526, + 139, 143, 529, 139, 531, 139, 534, 0, 0, 0, + 0, 0, 0, 0, 538, 489, 544, 0, 546, 0, + 0, 33, 0, 588, 578, 590, 592, 0, 29, 0, + 584, 0, 361, 563, 0, 0, 363, 370, 0, 0, + 364, 0, 365, 385, 387, 0, 0, 0, 0, 571, + 400, 39, 59, 60, 61, 208, 211, 0, 190, 139, + 193, 182, 183, 0, 157, 0, 154, 140, 114, 115, + 160, 161, 159, 0, 159, 0, 144, 0, 937, 216, + 217, 218, 219, 0, 224, 0, 73, 74, 0, 0, + 229, 251, 277, 559, 348, 477, 420, 480, 523, 159, + 527, 528, 530, 532, 533, 535, 482, 481, 0, 0, + 0, 0, 0, 0, 0, 542, 0, 0, 0, 34, + 0, 593, -2, 0, 0, 0, 49, 0, 571, 597, + 598, 367, 0, 372, 0, 0, 0, 375, 38, 173, + 0, 192, 0, 359, 165, 158, 0, 162, 138, 162, + 0, 0, 67, 0, 76, 77, 0, 0, 0, 561, + 0, 524, 525, 0, 0, 0, 0, 516, 488, 539, + 0, 0, 0, 591, 0, -2, 0, 586, 585, 362, + 37, 0, 0, 0, 0, 395, 172, 174, 0, 179, + 0, 191, 0, 0, 170, 0, 167, 169, 156, 127, + 128, 142, 145, 0, 0, 0, 0, 231, 28, 0, + 0, 483, 485, 484, 486, 0, 0, 0, 505, 506, + 0, 581, 29, 0, 368, 396, 397, 398, 358, 175, + 176, 0, 180, 178, 0, 360, 88, 0, 166, 168, + 0, 245, 0, 78, 79, 72, 562, 560, 487, 0, + 0, 0, 589, -2, 587, 177, 0, 171, 244, 0, + 0, 75, 517, 0, 520, 0, 246, 0, 228, 518, + 0, 0, 0, 195, 0, 0, 196, 197, 0, 0, + 519, 198, 0, 0, 0, 0, 0, 199, 201, 202, + 0, 0, 200, 247, 248, 203, 204, 205, } var yyTok1 = [...]int{ @@ -4872,8 +4868,20 @@ yydefault: yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[4].tableName, PartitionSpec: yyDollar[5].partSpec} } case 222: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1319 + { + yyVAL.statement = &DBDDL{Action: AlterStr, DBName: string(yyDollar[3].bytes)} + } + case 223: + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:1323 + { + yyVAL.statement = &DBDDL{Action: AlterStr, DBName: string(yyDollar[3].bytes)} + } + case 224: + yyDollar = yyS[yypt-7 : yypt+1] +//line sql.y:1327 { yyVAL.statement = &DDL{ Action: CreateVindexStr, @@ -4885,9 +4893,9 @@ yydefault: }, } } - case 223: + case 225: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1331 +//line sql.y:1339 { yyVAL.statement = &DDL{ Action: DropVindexStr, @@ -4897,21 +4905,21 @@ yydefault: }, } } - case 224: + case 226: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1341 +//line sql.y:1349 { yyVAL.statement = &DDL{Action: AddVschemaTableStr, Table: yyDollar[5].tableName} } - case 225: + case 227: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1345 +//line sql.y:1353 { yyVAL.statement = &DDL{Action: DropVschemaTableStr, Table: yyDollar[5].tableName} } - case 226: + case 228: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:1349 +//line sql.y:1357 { yyVAL.statement = &DDL{ Action: AddColVindexStr, @@ -4924,9 +4932,9 @@ yydefault: VindexCols: yyDollar[9].columns, } } - case 227: + case 229: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1362 +//line sql.y:1370 { yyVAL.statement = &DDL{ Action: DropColVindexStr, @@ -4936,15 +4944,15 @@ yydefault: }, } } - case 228: + case 230: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1372 +//line sql.y:1380 { yyVAL.statement = &DDL{Action: AddSequenceStr, Table: yyDollar[5].tableName} } - case 229: + case 231: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:1376 +//line sql.y:1384 { yyVAL.statement = &DDL{ Action: AddAutoIncStr, @@ -4955,59 +4963,59 @@ yydefault: }, } } - case 242: + case 244: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1403 +//line sql.y:1411 { yyVAL.partSpec = &PartitionSpec{Action: ReorganizeStr, Name: yyDollar[3].colIdent, Definitions: yyDollar[6].partDefs} } - case 243: + case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1409 +//line sql.y:1417 { yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef} } - case 244: + case 246: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1413 +//line sql.y:1421 { yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef) } - case 245: + case 247: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1419 +//line sql.y:1427 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr} } - case 246: + case 248: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:1423 +//line sql.y:1431 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} } - case 247: + case 249: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1429 +//line sql.y:1437 { yyVAL.statement = yyDollar[3].ddl } - case 248: + case 250: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1435 +//line sql.y:1443 { yyVAL.ddl = &DDL{Action: RenameStr, FromTables: TableNames{yyDollar[1].tableName}, ToTables: TableNames{yyDollar[3].tableName}} } - case 249: + case 251: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1439 +//line sql.y:1447 { 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 250: + case 252: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1447 +//line sql.y:1455 { var exists bool if yyDollar[3].byt != 0 { @@ -5015,16 +5023,16 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromTables: yyDollar[4].tableNames, IfExists: exists} } - case 251: + case 253: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1455 +//line sql.y:1463 { // Change this to an alter statement yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[5].tableName} } - case 252: + case 254: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1460 +//line sql.y:1468 { var exists bool if yyDollar[3].byt != 0 { @@ -5032,69 +5040,57 @@ yydefault: } yyVAL.statement = &DDL{Action: DropStr, FromTables: TableNames{yyDollar[4].tableName.ToViewName()}, IfExists: exists} } - case 253: + case 255: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1468 +//line sql.y:1476 { yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes)} } - case 254: + case 256: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1472 +//line sql.y:1480 { yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes)} } - case 255: + case 257: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1478 +//line sql.y:1486 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[3].tableName} } - case 256: + case 258: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1482 +//line sql.y:1490 { yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[2].tableName} } - case 257: + case 259: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1487 +//line sql.y:1495 { yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[3].tableName} } - case 258: + case 260: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1493 +//line sql.y:1501 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } - case 259: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1498 - { - yyVAL.statement = &Show{Type: CharsetStr} - } - case 260: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1502 - { - yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} - } case 261: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1506 { - yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} + yyVAL.statement = &Show{Type: CharsetStr} } case 262: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1511 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1510 { - yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} + yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 263: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1515 +//line sql.y:1514 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } @@ -5102,7 +5098,7 @@ yydefault: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1519 { - yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} + yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } case 265: yyDollar = yyS[yypt-4 : yypt+1] @@ -5114,19 +5110,19 @@ yydefault: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1527 { - yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} + yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName} } case 267: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1531 { - yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} + yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } case 268: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1535 { - yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} + yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } case 269: yyDollar = yyS[yypt-3 : yypt+1] @@ -5135,13 +5131,13 @@ yydefault: yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 270: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1543 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 271: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1547 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} @@ -5153,10 +5149,10 @@ yydefault: yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 273: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1555 { - yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes)} + yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 274: yyDollar = yyS[yypt-3 : yypt+1] @@ -5165,15 +5161,27 @@ yydefault: yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 275: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1563 + { + yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes)} + } + case 276: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1567 + { + yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} + } + case 277: + yyDollar = yyS[yypt-7 : yypt+1] +//line sql.y:1571 { showTablesOpt := &ShowTablesOpt{Full: yyDollar[2].str, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName} } - case 276: + case 278: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1568 +//line sql.y:1576 { // this is ugly, but I couldn't find a better way for now if yyDollar[3].str == "processlist" { @@ -5183,651 +5191,651 @@ yydefault: yyVAL.statement = &Show{Type: yyDollar[3].str, ShowTablesOpt: showTablesOpt} } } - case 277: + case 279: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1578 +//line sql.y:1586 { yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes)} } - case 278: + case 280: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1582 +//line sql.y:1590 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 279: + case 281: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1586 +//line sql.y:1594 { // 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 280: + case 282: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1592 +//line sql.y:1600 { showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilter} yyVAL.statement = &Show{Scope: string(yyDollar[2].bytes), Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt} } - case 281: + case 283: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1597 +//line sql.y:1605 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } - case 282: + case 284: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1601 +//line sql.y:1609 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)} } - case 283: + case 285: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1605 +//line sql.y:1613 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), OnTable: yyDollar[5].tableName} } - case 284: + case 286: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1609 +//line sql.y:1617 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 285: + case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1623 +//line sql.y:1631 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } - case 286: + case 288: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1629 +//line sql.y:1637 { yyVAL.str = string(yyDollar[1].bytes) } - case 287: + case 289: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1633 +//line sql.y:1641 { yyVAL.str = string(yyDollar[1].bytes) } - case 288: + case 290: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1639 +//line sql.y:1647 { yyVAL.str = "" } - case 289: + case 291: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1643 +//line sql.y:1651 { yyVAL.str = "full " } - case 290: + case 292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1649 +//line sql.y:1657 { yyVAL.str = string(yyDollar[1].bytes) } - case 291: + case 293: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1653 +//line sql.y:1661 { yyVAL.str = string(yyDollar[1].bytes) } - case 292: + case 294: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1659 +//line sql.y:1667 { yyVAL.str = "" } - case 293: + case 295: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1663 +//line sql.y:1671 { yyVAL.str = yyDollar[2].tableIdent.v } - case 294: + case 296: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1667 +//line sql.y:1675 { yyVAL.str = yyDollar[2].tableIdent.v } - case 295: + case 297: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1673 +//line sql.y:1681 { yyVAL.showFilter = nil } - case 296: + case 298: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1677 +//line sql.y:1685 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 297: + case 299: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1681 +//line sql.y:1689 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } - case 298: + case 300: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1687 +//line sql.y:1695 { yyVAL.showFilter = nil } - case 299: + case 301: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1691 +//line sql.y:1699 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 300: + case 302: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1697 +//line sql.y:1705 { yyVAL.str = "" } - case 301: + case 303: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1701 +//line sql.y:1709 { yyVAL.str = SessionStr } - case 302: + case 304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1705 +//line sql.y:1713 { yyVAL.str = GlobalStr } - case 303: + case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1711 +//line sql.y:1719 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } - case 304: + case 306: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1715 +//line sql.y:1723 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } - case 305: + case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1721 +//line sql.y:1729 { yyVAL.statement = &Begin{} } - case 306: + case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1725 +//line sql.y:1733 { yyVAL.statement = &Begin{} } - case 307: + case 309: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1731 +//line sql.y:1739 { yyVAL.statement = &Commit{} } - case 308: + case 310: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1737 +//line sql.y:1745 { yyVAL.statement = &Rollback{} } - case 309: + case 311: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1743 +//line sql.y:1751 { yyVAL.statement = &OtherRead{} } - case 310: + case 312: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1747 +//line sql.y:1755 { yyVAL.statement = &OtherRead{} } - case 311: + case 313: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1751 +//line sql.y:1759 { yyVAL.statement = &OtherRead{} } - case 312: + case 314: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1755 +//line sql.y:1763 { yyVAL.statement = &OtherAdmin{} } - case 313: + case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1759 +//line sql.y:1767 { yyVAL.statement = &OtherAdmin{} } - case 314: + case 316: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1763 +//line sql.y:1771 { yyVAL.statement = &OtherAdmin{} } - case 315: + case 317: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1767 +//line sql.y:1775 { yyVAL.statement = &OtherAdmin{} } - case 316: + case 318: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1773 +//line sql.y:1781 { yyVAL.statement = &DDL{Action: FlushStr} } - case 317: + case 319: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1777 +//line sql.y:1785 { setAllowComments(yylex, true) } - case 318: + case 320: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1781 +//line sql.y:1789 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 319: + case 321: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1787 +//line sql.y:1795 { yyVAL.bytes2 = nil } - case 320: + case 322: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1791 +//line sql.y:1799 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 321: + case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1797 +//line sql.y:1805 { yyVAL.str = UnionStr } - case 322: + case 324: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1801 +//line sql.y:1809 { yyVAL.str = UnionAllStr } - case 323: + case 325: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1805 +//line sql.y:1813 { yyVAL.str = UnionDistinctStr } - case 324: + case 326: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1810 +//line sql.y:1818 { yyVAL.str = "" } - case 325: + case 327: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1814 +//line sql.y:1822 { yyVAL.str = SQLNoCacheStr } - case 326: + case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1818 +//line sql.y:1826 { yyVAL.str = SQLCacheStr } - case 327: + case 329: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1823 +//line sql.y:1831 { yyVAL.str = "" } - case 328: + case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1827 +//line sql.y:1835 { yyVAL.str = DistinctStr } - case 329: + case 331: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1831 +//line sql.y:1839 { yyVAL.str = DistinctStr } - case 330: + case 332: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1836 +//line sql.y:1844 { yyVAL.str = "" } - case 331: + case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1840 +//line sql.y:1848 { yyVAL.str = StraightJoinHint } - case 332: + case 334: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1845 +//line sql.y:1853 { yyVAL.selectExprs = nil } - case 333: + case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1849 +//line sql.y:1857 { yyVAL.selectExprs = yyDollar[1].selectExprs } - case 334: + case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1855 +//line sql.y:1863 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 335: + case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1859 +//line sql.y:1867 { yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr) } - case 336: + case 338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1865 +//line sql.y:1873 { yyVAL.selectExpr = &StarExpr{} } - case 337: + case 339: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1869 +//line sql.y:1877 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 338: + case 340: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1873 +//line sql.y:1881 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 339: + case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1877 +//line sql.y:1885 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 340: + case 342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1882 +//line sql.y:1890 { yyVAL.colIdent = ColIdent{} } - case 341: + case 343: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1886 +//line sql.y:1894 { yyVAL.colIdent = yyDollar[1].colIdent } - case 342: + case 344: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1890 +//line sql.y:1898 { yyVAL.colIdent = yyDollar[2].colIdent } - case 344: + case 346: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1897 +//line sql.y:1905 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 345: + case 347: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1902 +//line sql.y:1910 { yyVAL.tableExprs = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } - case 346: + case 348: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1906 +//line sql.y:1914 { yyVAL.tableExprs = yyDollar[2].tableExprs } - case 347: + case 349: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1912 +//line sql.y:1920 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 348: + case 350: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1916 +//line sql.y:1924 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 351: + case 353: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1926 +//line sql.y:1934 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 352: + case 354: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1930 +//line sql.y:1938 { yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].subquery, As: yyDollar[3].tableIdent} } - case 353: + case 355: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1934 +//line sql.y:1942 { // missed alias for subquery yylex.Error("Every derived table must have its own alias") return 1 } - case 354: + case 356: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1940 +//line sql.y:1948 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 355: + case 357: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1946 +//line sql.y:1954 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 356: + case 358: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1950 +//line sql.y:1958 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitions, As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHints} } - case 357: + case 359: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1956 +//line sql.y:1964 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 358: + case 360: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1960 +//line sql.y:1968 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 359: + case 361: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1966 +//line sql.y:1974 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 360: + case 362: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1970 +//line sql.y:1978 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 361: + case 363: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1983 +//line sql.y:1991 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 362: + case 364: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1987 +//line sql.y:1995 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 363: + case 365: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1991 +//line sql.y:1999 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 364: + case 366: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1995 +//line sql.y:2003 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr} } - case 365: + case 367: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2001 +//line sql.y:2009 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 366: + case 368: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2003 +//line sql.y:2011 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 367: + case 369: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2007 +//line sql.y:2015 { yyVAL.joinCondition = JoinCondition{} } - case 368: + case 370: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2009 +//line sql.y:2017 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 369: + case 371: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2013 +//line sql.y:2021 { yyVAL.joinCondition = JoinCondition{} } - case 370: + case 372: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2015 +//line sql.y:2023 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 371: + case 373: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2018 +//line sql.y:2026 { yyVAL.empty = struct{}{} } - case 372: + case 374: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2020 +//line sql.y:2028 { yyVAL.empty = struct{}{} } - case 373: + case 375: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2023 +//line sql.y:2031 { yyVAL.tableIdent = NewTableIdent("") } - case 374: + case 376: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2027 +//line sql.y:2035 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 375: + case 377: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2031 +//line sql.y:2039 { yyVAL.tableIdent = yyDollar[2].tableIdent } - case 377: + case 379: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2038 +//line sql.y:2046 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 378: + case 380: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2044 +//line sql.y:2052 { yyVAL.str = JoinStr } - case 379: + case 381: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2048 +//line sql.y:2056 { yyVAL.str = JoinStr } - case 380: + case 382: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2052 +//line sql.y:2060 { yyVAL.str = JoinStr } - case 381: + case 383: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2058 +//line sql.y:2066 { yyVAL.str = StraightJoinStr } - case 382: + case 384: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2064 +//line sql.y:2072 { yyVAL.str = LeftJoinStr } - case 383: + case 385: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2068 +//line sql.y:2076 { yyVAL.str = LeftJoinStr } - case 384: + case 386: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2072 +//line sql.y:2080 { yyVAL.str = RightJoinStr } - case 385: + case 387: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2076 +//line sql.y:2084 { yyVAL.str = RightJoinStr } - case 386: + case 388: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2082 +//line sql.y:2090 { yyVAL.str = NaturalJoinStr } - case 387: + case 389: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2086 +//line sql.y:2094 { if yyDollar[2].str == LeftJoinStr { yyVAL.str = NaturalLeftJoinStr @@ -5835,465 +5843,465 @@ yydefault: yyVAL.str = NaturalRightJoinStr } } - case 388: + case 390: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2096 +//line sql.y:2104 { yyVAL.tableName = yyDollar[2].tableName } - case 389: + case 391: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2100 +//line sql.y:2108 { yyVAL.tableName = yyDollar[1].tableName } - case 390: + case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2106 +//line sql.y:2114 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 391: + case 393: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2110 +//line sql.y:2118 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 392: + case 394: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2116 +//line sql.y:2124 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 393: + case 395: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2121 +//line sql.y:2129 { yyVAL.indexHints = nil } - case 394: + case 396: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2125 +//line sql.y:2133 { yyVAL.indexHints = &IndexHints{Type: UseStr, Indexes: yyDollar[4].columns} } - case 395: + case 397: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2129 +//line sql.y:2137 { yyVAL.indexHints = &IndexHints{Type: IgnoreStr, Indexes: yyDollar[4].columns} } - case 396: + case 398: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2133 +//line sql.y:2141 { yyVAL.indexHints = &IndexHints{Type: ForceStr, Indexes: yyDollar[4].columns} } - case 397: + case 399: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2138 +//line sql.y:2146 { yyVAL.expr = nil } - case 398: + case 400: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2142 +//line sql.y:2150 { yyVAL.expr = yyDollar[2].expr } - case 399: + case 401: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2148 +//line sql.y:2156 { yyVAL.expr = yyDollar[1].expr } - case 400: + case 402: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2152 +//line sql.y:2160 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 401: + case 403: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2156 +//line sql.y:2164 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 402: + case 404: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2160 +//line sql.y:2168 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 403: + case 405: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2164 +//line sql.y:2172 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].str, Expr: yyDollar[1].expr} } - case 404: + case 406: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2168 +//line sql.y:2176 { yyVAL.expr = yyDollar[1].expr } - case 405: + case 407: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2172 +//line sql.y:2180 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 406: + case 408: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2178 +//line sql.y:2186 { yyVAL.str = "" } - case 407: + case 409: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2182 +//line sql.y:2190 { yyVAL.str = string(yyDollar[2].bytes) } - case 408: + case 410: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2188 +//line sql.y:2196 { yyVAL.boolVal = BoolVal(true) } - case 409: + case 411: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2192 +//line sql.y:2200 { yyVAL.boolVal = BoolVal(false) } - case 410: + case 412: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2198 +//line sql.y:2206 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].str, Right: yyDollar[3].expr} } - case 411: + case 413: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2202 +//line sql.y:2210 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InStr, Right: yyDollar[3].colTuple} } - case 412: + case 414: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2206 +//line sql.y:2214 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInStr, Right: yyDollar[4].colTuple} } - case 413: + case 415: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2210 +//line sql.y:2218 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeStr, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } - case 414: + case 416: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2214 +//line sql.y:2222 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeStr, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } - case 415: + case 417: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2218 +//line sql.y:2226 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpStr, Right: yyDollar[3].expr} } - case 416: + case 418: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2222 +//line sql.y:2230 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpStr, Right: yyDollar[4].expr} } - case 417: + case 419: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2226 +//line sql.y:2234 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenStr, From: yyDollar[3].expr, To: yyDollar[5].expr} } - case 418: + case 420: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2230 +//line sql.y:2238 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenStr, From: yyDollar[4].expr, To: yyDollar[6].expr} } - case 419: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2234 - { - yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} - } - case 420: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2240 - { - yyVAL.str = IsNullStr - } case 421: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2244 +//line sql.y:2242 { - yyVAL.str = IsNotNullStr + yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } case 422: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2248 { - yyVAL.str = IsTrueStr + yyVAL.str = IsNullStr } case 423: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2252 { - yyVAL.str = IsNotTrueStr + yyVAL.str = IsNotNullStr } case 424: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2256 { - yyVAL.str = IsFalseStr + yyVAL.str = IsTrueStr } case 425: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2260 { - yyVAL.str = IsNotFalseStr + yyVAL.str = IsNotTrueStr } case 426: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2266 +//line sql.y:2264 { - yyVAL.str = EqualStr + yyVAL.str = IsFalseStr } case 427: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2270 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2268 { - yyVAL.str = LessThanStr + yyVAL.str = IsNotFalseStr } case 428: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2274 { - yyVAL.str = GreaterThanStr + yyVAL.str = EqualStr } case 429: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2278 { - yyVAL.str = LessEqualStr + yyVAL.str = LessThanStr } case 430: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2282 { - yyVAL.str = GreaterEqualStr + yyVAL.str = GreaterThanStr } case 431: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2286 { - yyVAL.str = NotEqualStr + yyVAL.str = LessEqualStr } case 432: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2290 { - yyVAL.str = NullSafeEqualStr + yyVAL.str = GreaterEqualStr } case 433: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2295 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2294 { - yyVAL.expr = nil + yyVAL.str = NotEqualStr } case 434: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2299 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2298 { - yyVAL.expr = yyDollar[2].expr + yyVAL.str = NullSafeEqualStr } case 435: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2305 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:2303 { - yyVAL.colTuple = yyDollar[1].valTuple + yyVAL.expr = nil } case 436: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2309 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2307 { - yyVAL.colTuple = yyDollar[1].subquery + yyVAL.expr = yyDollar[2].expr } case 437: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2313 { - yyVAL.colTuple = ListArg(yyDollar[1].bytes) + yyVAL.colTuple = yyDollar[1].valTuple } case 438: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2319 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2317 { - yyVAL.subquery = &Subquery{yyDollar[2].selStmt} + yyVAL.colTuple = yyDollar[1].subquery } case 439: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2325 +//line sql.y:2321 { - yyVAL.exprs = Exprs{yyDollar[1].expr} + yyVAL.colTuple = ListArg(yyDollar[1].bytes) } case 440: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2329 +//line sql.y:2327 { - yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) + yyVAL.subquery = &Subquery{yyDollar[2].selStmt} } case 441: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2335 +//line sql.y:2333 { - yyVAL.expr = yyDollar[1].expr + yyVAL.exprs = Exprs{yyDollar[1].expr} } case 442: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2339 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2337 { - yyVAL.expr = yyDollar[1].boolVal + yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } case 443: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2343 { - yyVAL.expr = yyDollar[1].colName + yyVAL.expr = yyDollar[1].expr } case 444: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2347 { - yyVAL.expr = yyDollar[1].expr + yyVAL.expr = yyDollar[1].boolVal } case 445: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2351 { - yyVAL.expr = yyDollar[1].subquery + yyVAL.expr = yyDollar[1].colName } case 446: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2355 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr} + yyVAL.expr = yyDollar[1].expr } case 447: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2359 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr} + yyVAL.expr = yyDollar[1].subquery } case 448: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2363 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr} } case 449: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2367 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr} } case 450: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2371 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr} } case 451: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2375 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr} } case 452: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2379 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr} } case 453: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2383 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr} } case 454: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2387 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr} } case 455: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2391 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr} } case 456: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2395 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } case 457: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2399 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } case 458: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2403 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr} } case 459: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2407 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr} } case 460: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2411 { - yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } case 461: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2415 { - yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } case 462: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2419 { - yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr} + yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } case 463: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2423 { - yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr} } case 464: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2427 + { + yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr} + } + case 465: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2431 + { + yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr} + } + case 466: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2435 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { yyVAL.expr = num @@ -6301,9 +6309,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusStr, Expr: yyDollar[2].expr} } } - case 465: + case 467: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2435 +//line sql.y:2443 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { // Handle double negative @@ -6317,21 +6325,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusStr, Expr: yyDollar[2].expr} } } - case 466: + case 468: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2449 +//line sql.y:2457 { yyVAL.expr = &UnaryExpr{Operator: TildaStr, Expr: yyDollar[2].expr} } - case 467: + case 469: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2453 +//line sql.y:2461 { yyVAL.expr = &UnaryExpr{Operator: BangStr, Expr: yyDollar[2].expr} } - case 468: + case 470: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2457 +//line sql.y:2465 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -6339,485 +6347,485 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 473: + case 475: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2475 +//line sql.y:2483 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs} } - case 474: + case 476: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2479 +//line sql.y:2487 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } - case 475: + case 477: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2483 +//line sql.y:2491 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 476: + case 478: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2493 +//line sql.y:2501 { yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} } - case 477: + case 479: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2497 +//line sql.y:2505 { yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} } - case 478: + case 480: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2501 +//line sql.y:2509 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 479: + case 481: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2505 +//line sql.y:2513 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 480: + case 482: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2509 +//line sql.y:2517 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } - case 481: + case 483: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2513 +//line sql.y:2521 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 482: + case 484: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2517 +//line sql.y:2525 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 483: + case 485: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2521 +//line sql.y:2529 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 484: + case 486: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2525 +//line sql.y:2533 { yyVAL.expr = &SubstrExpr{StrVal: NewStrVal(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 485: + case 487: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:2529 +//line sql.y:2537 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].str} } - case 486: + case 488: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2533 +//line sql.y:2541 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].str, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str} } - case 487: + case 489: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2537 +//line sql.y:2545 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } - case 488: + case 490: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2541 +//line sql.y:2549 { yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } - case 489: + case 491: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2551 +//line sql.y:2559 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} } - case 490: + case 492: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2555 +//line sql.y:2563 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} } - case 491: + case 493: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2559 +//line sql.y:2567 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} } - case 492: + case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2564 +//line sql.y:2572 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} } - case 493: + case 495: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2569 +//line sql.y:2577 { yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} } - case 494: + case 496: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2574 +//line sql.y:2582 { yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} } - case 495: + case 497: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2580 +//line sql.y:2588 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} } - case 496: + case 498: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2585 +//line sql.y:2593 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} } - case 497: + case 499: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2590 +//line sql.y:2598 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].expr} } - case 498: + case 500: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2594 +//line sql.y:2602 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].expr} } - case 499: + case 501: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2598 +//line sql.y:2606 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].expr} } - case 500: + case 502: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2603 +//line sql.y:2611 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].expr} } - case 501: + case 503: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2608 +//line sql.y:2616 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].expr} } - case 502: + case 504: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2613 +//line sql.y:2621 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].expr} } - case 503: + case 505: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2617 +//line sql.y:2625 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 504: + case 506: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2621 +//line sql.y:2629 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 507: + case 509: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2631 +//line sql.y:2639 { yyVAL.expr = yyDollar[2].expr } - case 508: + case 510: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2641 +//line sql.y:2649 { yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} } - case 509: + case 511: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2645 +//line sql.y:2653 { yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} } - case 510: + case 512: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2649 +//line sql.y:2657 { yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} } - case 511: + case 513: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2653 +//line sql.y:2661 { yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} } - case 512: + case 514: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2657 +//line sql.y:2665 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } - case 513: + case 515: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2661 +//line sql.y:2669 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } - case 514: + case 516: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2667 +//line sql.y:2675 { yyVAL.str = "" } - case 515: + case 517: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2671 +//line sql.y:2679 { yyVAL.str = BooleanModeStr } - case 516: + case 518: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2675 +//line sql.y:2683 { yyVAL.str = NaturalLanguageModeStr } - case 517: + case 519: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2679 +//line sql.y:2687 { yyVAL.str = NaturalLanguageModeWithQueryExpansionStr } - case 518: + case 520: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2683 +//line sql.y:2691 { yyVAL.str = QueryExpansionStr } - case 519: + case 521: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2689 +//line sql.y:2697 { yyVAL.str = string(yyDollar[1].bytes) } - case 520: + case 522: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2693 +//line sql.y:2701 { yyVAL.str = string(yyDollar[1].bytes) } - case 521: + case 523: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2699 +//line sql.y:2707 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 522: + case 524: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2703 +//line sql.y:2711 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: yyDollar[3].str, Operator: CharacterSetStr} } - case 523: + case 525: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2707 +//line sql.y:2715 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal, Charset: string(yyDollar[3].bytes)} } - case 524: + case 526: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2711 +//line sql.y:2719 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 525: + case 527: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2715 +//line sql.y:2723 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 526: + case 528: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2719 +//line sql.y:2727 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 527: + case 529: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2725 +//line sql.y:2733 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 528: + case 530: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2729 +//line sql.y:2737 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 529: + case 531: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2733 +//line sql.y:2741 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 530: + case 532: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2737 +//line sql.y:2745 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 531: + case 533: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2741 +//line sql.y:2749 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].sqlVal} } - case 532: + case 534: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2745 +//line sql.y:2753 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 533: + case 535: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2749 +//line sql.y:2757 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 534: + case 536: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2754 +//line sql.y:2762 { yyVAL.expr = nil } - case 535: + case 537: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2758 +//line sql.y:2766 { yyVAL.expr = yyDollar[1].expr } - case 536: + case 538: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2763 +//line sql.y:2771 { yyVAL.str = string("") } - case 537: + case 539: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2767 +//line sql.y:2775 { yyVAL.str = " separator '" + string(yyDollar[2].bytes) + "'" } - case 538: + case 540: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2773 +//line sql.y:2781 { yyVAL.whens = []*When{yyDollar[1].when} } - case 539: + case 541: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2777 +//line sql.y:2785 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 540: + case 542: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2783 +//line sql.y:2791 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 541: + case 543: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2788 +//line sql.y:2796 { yyVAL.expr = nil } - case 542: + case 544: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2792 +//line sql.y:2800 { yyVAL.expr = yyDollar[2].expr } - case 543: + case 545: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2798 +//line sql.y:2806 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 544: + case 546: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2802 +//line sql.y:2810 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 545: + case 547: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2806 +//line sql.y:2814 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 546: + case 548: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2812 +//line sql.y:2820 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 547: + case 549: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2816 +//line sql.y:2824 { yyVAL.expr = NewHexVal(yyDollar[1].bytes) } - case 548: + case 550: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2820 +//line sql.y:2828 { yyVAL.expr = NewBitVal(yyDollar[1].bytes) } - case 549: + case 551: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2824 +//line sql.y:2832 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 550: + case 552: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2828 +//line sql.y:2836 { yyVAL.expr = NewFloatVal(yyDollar[1].bytes) } - case 551: + case 553: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2832 +//line sql.y:2840 { yyVAL.expr = NewHexNum(yyDollar[1].bytes) } - case 552: + case 554: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2836 +//line sql.y:2844 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 553: + case 555: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2840 +//line sql.y:2848 { yyVAL.expr = &NullVal{} } - case 554: + case 556: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2846 +//line sql.y:2854 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -6826,239 +6834,239 @@ yydefault: } yyVAL.expr = NewIntVal([]byte("1")) } - case 555: + case 557: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2855 +//line sql.y:2863 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 556: + case 558: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2859 +//line sql.y:2867 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 557: + case 559: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2864 +//line sql.y:2872 { yyVAL.exprs = nil } - case 558: + case 560: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2868 +//line sql.y:2876 { yyVAL.exprs = yyDollar[3].exprs } - case 559: + case 561: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2873 +//line sql.y:2881 { yyVAL.expr = nil } - case 560: + case 562: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2877 +//line sql.y:2885 { yyVAL.expr = yyDollar[2].expr } - case 561: + case 563: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2882 +//line sql.y:2890 { yyVAL.orderBy = nil } - case 562: + case 564: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2886 +//line sql.y:2894 { yyVAL.orderBy = yyDollar[3].orderBy } - case 563: + case 565: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2892 +//line sql.y:2900 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 564: + case 566: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2896 +//line sql.y:2904 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 565: + case 567: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2902 +//line sql.y:2910 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].str} } - case 566: + case 568: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2907 +//line sql.y:2915 { yyVAL.str = AscScr } - case 567: + case 569: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2911 +//line sql.y:2919 { yyVAL.str = AscScr } - case 568: + case 570: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2915 +//line sql.y:2923 { yyVAL.str = DescScr } - case 569: + case 571: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2920 +//line sql.y:2928 { yyVAL.limit = nil } - case 570: + case 572: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2924 +//line sql.y:2932 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 571: + case 573: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2928 +//line sql.y:2936 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 572: + case 574: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2932 +//line sql.y:2940 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 573: + case 575: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2937 +//line sql.y:2945 { yyVAL.str = "" } - case 574: + case 576: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2941 +//line sql.y:2949 { yyVAL.str = ForUpdateStr } - case 575: + case 577: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2945 +//line sql.y:2953 { yyVAL.str = ShareModeStr } - case 576: + case 578: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2958 +//line sql.y:2966 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 577: + case 579: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2962 +//line sql.y:2970 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 578: + case 580: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2966 +//line sql.y:2974 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Rows: yyDollar[2].selStmt} } - case 579: + case 581: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2971 +//line sql.y:2979 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 580: + case 582: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2975 +//line sql.y:2983 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 581: + case 583: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2979 +//line sql.y:2987 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].selStmt} } - case 582: + case 584: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2986 +//line sql.y:2994 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 583: + case 585: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2990 +//line sql.y:2998 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 584: + case 586: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2994 +//line sql.y:3002 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 585: + case 587: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2998 +//line sql.y:3006 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 586: + case 588: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3003 +//line sql.y:3011 { yyVAL.updateExprs = nil } - case 587: + case 589: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3007 +//line sql.y:3015 { yyVAL.updateExprs = yyDollar[5].updateExprs } - case 588: + case 590: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3013 +//line sql.y:3021 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 589: + case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3017 +//line sql.y:3025 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 590: + case 592: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3023 +//line sql.y:3031 { yyVAL.valTuple = yyDollar[1].valTuple } - case 591: + case 593: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3027 +//line sql.y:3035 { yyVAL.valTuple = ValTuple{} } - case 592: + case 594: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3033 +//line sql.y:3041 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 593: + case 595: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3039 +//line sql.y:3047 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = &ParenExpr{yyDollar[1].valTuple[0]} @@ -7066,312 +7074,312 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 594: + case 596: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3049 +//line sql.y:3057 { yyVAL.updateExprs = UpdateExprs{yyDollar[1].updateExpr} } - case 595: + case 597: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3053 +//line sql.y:3061 { yyVAL.updateExprs = append(yyDollar[1].updateExprs, yyDollar[3].updateExpr) } - case 596: + case 598: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3059 +//line sql.y:3067 { yyVAL.updateExpr = &UpdateExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 597: + case 599: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3065 +//line sql.y:3073 { yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} } - case 598: + case 600: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3069 +//line sql.y:3077 { yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) } - case 599: + case 601: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3075 +//line sql.y:3083 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: NewStrVal([]byte("on"))} } - case 600: + case 602: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3079 +//line sql.y:3087 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: NewStrVal([]byte("off"))} } - case 601: + case 603: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3083 +//line sql.y:3091 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: yyDollar[3].expr} } - case 602: + case 604: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3087 +//line sql.y:3095 { yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Expr: yyDollar[2].expr} } - case 604: + case 606: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3094 +//line sql.y:3102 { yyVAL.bytes = []byte("charset") } - case 606: + case 608: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3101 +//line sql.y:3109 { yyVAL.expr = NewStrVal([]byte(yyDollar[1].colIdent.String())) } - case 607: + case 609: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3105 +//line sql.y:3113 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 608: + case 610: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3109 +//line sql.y:3117 { yyVAL.expr = &Default{} } - case 611: + case 613: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3118 +//line sql.y:3126 { yyVAL.byt = 0 } - case 612: + case 614: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3120 +//line sql.y:3128 { yyVAL.byt = 1 } - case 613: + case 615: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3123 +//line sql.y:3131 { yyVAL.empty = struct{}{} } - case 614: + case 616: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3125 +//line sql.y:3133 { yyVAL.empty = struct{}{} } - case 615: + case 617: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3128 +//line sql.y:3136 { yyVAL.str = "" } - case 616: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3130 - { - yyVAL.str = IgnoreStr - } - case 617: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3134 - { - yyVAL.empty = struct{}{} - } case 618: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3136 +//line sql.y:3138 { - yyVAL.empty = struct{}{} + yyVAL.str = IgnoreStr } case 619: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3138 +//line sql.y:3142 { yyVAL.empty = struct{}{} } case 620: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3140 +//line sql.y:3144 { yyVAL.empty = struct{}{} } case 621: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3142 +//line sql.y:3146 { yyVAL.empty = struct{}{} } case 622: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3144 +//line sql.y:3148 { yyVAL.empty = struct{}{} } case 623: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3146 +//line sql.y:3150 { yyVAL.empty = struct{}{} } case 624: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3148 +//line sql.y:3152 { yyVAL.empty = struct{}{} } case 625: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3150 +//line sql.y:3154 { yyVAL.empty = struct{}{} } case 626: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3152 +//line sql.y:3156 { yyVAL.empty = struct{}{} } case 627: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3155 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3158 { yyVAL.empty = struct{}{} } case 628: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3157 +//line sql.y:3160 { yyVAL.empty = struct{}{} } case 629: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3159 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3163 { yyVAL.empty = struct{}{} } case 630: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3163 +//line sql.y:3165 { yyVAL.empty = struct{}{} } case 631: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3165 +//line sql.y:3167 { yyVAL.empty = struct{}{} } case 632: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3168 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3171 { yyVAL.empty = struct{}{} } case 633: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3170 +//line sql.y:3173 { yyVAL.empty = struct{}{} } case 634: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3172 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3176 { yyVAL.empty = struct{}{} } case 635: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3178 + { + yyVAL.empty = struct{}{} + } + case 636: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3180 + { + yyVAL.empty = struct{}{} + } + case 637: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3175 +//line sql.y:3183 { yyVAL.colIdent = ColIdent{} } - case 636: + case 638: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3177 +//line sql.y:3185 { yyVAL.colIdent = yyDollar[2].colIdent } - case 637: + case 639: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3181 +//line sql.y:3189 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 638: + case 640: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3185 +//line sql.y:3193 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 640: + case 642: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3192 +//line sql.y:3200 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 641: + case 643: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3198 +//line sql.y:3206 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 642: + case 644: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3202 +//line sql.y:3210 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 644: + case 646: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3209 +//line sql.y:3217 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 932: + case 934: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3522 +//line sql.y:3530 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 933: + case 935: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3531 +//line sql.y:3539 { decNesting(yylex) } - case 934: + case 936: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3536 +//line sql.y:3544 { skipToEnd(yylex) } - case 935: + case 937: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3541 +//line sql.y:3549 { skipToEnd(yylex) } - case 936: + case 938: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3545 +//line sql.y:3553 { skipToEnd(yylex) } - case 937: + case 939: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3549 +//line sql.y:3557 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 6cecabb2759..b2615f5823c 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -1315,6 +1315,14 @@ alter_statement: { $$ = &DDL{Action: AlterStr, Table: $4, PartitionSpec: $5} } +| ALTER DATABASE ID ddl_skip_to_end + { + $$ = &DBDDL{Action: AlterStr, DBName: string($3)} + } +| ALTER SCHEMA ID ddl_skip_to_end + { + $$ = &DBDDL{Action: AlterStr, DBName: string($3)} + } | ALTER VSCHEMA CREATE VINDEX table_name vindex_type_opt vindex_params_opt { $$ = &DDL{