From ea03b534dcc87dc083d30e4431b070b0a7a1e71e Mon Sep 17 00:00:00 2001 From: GuptaManan100 Date: Fri, 5 Feb 2021 11:39:57 +0530 Subject: [PATCH 1/5] added the test that fails Signed-off-by: GuptaManan100 --- go/vt/sqlparser/parse_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index ea1ece1d5bf..8993699b0ce 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -1051,6 +1051,9 @@ var ( }, { input: "alter table a drop id", output: "alter table a drop column id", + }, { + input: "ALTER TABLE `product115s` CHANGE `part_number` `part_number` varchar(255) DEFAULT '0' NOT NULL", + output: "alter table product115s change column part_number part_number varchar(255) default '0' not null", }, { input: "alter database character set geostd8", }, { From d2ff2200e98cc9f61ef1b5513b3b3affc8e08e7b Mon Sep 17 00:00:00 2001 From: GuptaManan100 Date: Sun, 7 Feb 2021 11:20:38 +0530 Subject: [PATCH 2/5] any order of general options are accepted in column definition Signed-off-by: GuptaManan100 --- go/vt/sqlparser/ast.go | 43 +- go/vt/sqlparser/cached_size.go | 36 +- go/vt/sqlparser/parse_test.go | 8 +- go/vt/sqlparser/rewriter.go | 15 - go/vt/sqlparser/sql.go | 6842 ++++++++++---------- go/vt/sqlparser/sql.y | 147 +- go/vt/vtgate/engine/cached_size.go | 2 +- go/vt/vttablet/tabletserver/cached_size.go | 2 +- 8 files changed, 3522 insertions(+), 3573 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 284f90578b2..367c8a07be8 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -1241,11 +1241,7 @@ type ColumnType struct { Type string // Generic field options. - NotNull bool - Autoincrement bool - Default Expr - OnUpdate Expr - Comment *Literal + Options *ColumnTypeOptions // Numeric field options Length *Literal @@ -1259,6 +1255,15 @@ type ColumnType struct { // Enum values EnumValues []string +} + +// ColumnTypeOptions are generic field options for a column type +type ColumnTypeOptions struct { + NotNull bool + Autoincrement bool + Default Expr + OnUpdate Expr + Comment *Literal // Key specification KeyOpt ColumnKeyOption @@ -2220,37 +2225,37 @@ func (ct *ColumnType) Format(buf *TrackedBuffer) { if ct.Collate != "" { opts = append(opts, keywordStrings[COLLATE], ct.Collate) } - if ct.NotNull { + if ct.Options.NotNull { opts = append(opts, keywordStrings[NOT], keywordStrings[NULL]) } - if ct.Default != nil { - opts = append(opts, keywordStrings[DEFAULT], String(ct.Default)) + if ct.Options.Default != nil { + opts = append(opts, keywordStrings[DEFAULT], String(ct.Options.Default)) } - if ct.OnUpdate != nil { - opts = append(opts, keywordStrings[ON], keywordStrings[UPDATE], String(ct.OnUpdate)) + if ct.Options.OnUpdate != nil { + opts = append(opts, keywordStrings[ON], keywordStrings[UPDATE], String(ct.Options.OnUpdate)) } - if ct.Autoincrement { + if ct.Options.Autoincrement { opts = append(opts, keywordStrings[AUTO_INCREMENT]) } - if ct.Comment != nil { - opts = append(opts, keywordStrings[COMMENT_KEYWORD], String(ct.Comment)) + if ct.Options.Comment != nil { + opts = append(opts, keywordStrings[COMMENT_KEYWORD], String(ct.Options.Comment)) } - if ct.KeyOpt == colKeyPrimary { + if ct.Options.KeyOpt == colKeyPrimary { opts = append(opts, keywordStrings[PRIMARY], keywordStrings[KEY]) } - if ct.KeyOpt == colKeyUnique { + if ct.Options.KeyOpt == colKeyUnique { opts = append(opts, keywordStrings[UNIQUE]) } - if ct.KeyOpt == colKeyUniqueKey { + if ct.Options.KeyOpt == colKeyUniqueKey { opts = append(opts, keywordStrings[UNIQUE], keywordStrings[KEY]) } - if ct.KeyOpt == colKeySpatialKey { + if ct.Options.KeyOpt == colKeySpatialKey { opts = append(opts, keywordStrings[SPATIAL], keywordStrings[KEY]) } - if ct.KeyOpt == colKeyFulltextKey { + if ct.Options.KeyOpt == colKeyFulltextKey { opts = append(opts, keywordStrings[FULLTEXT], keywordStrings[KEY]) } - if ct.KeyOpt == colKey { + if ct.Options.KeyOpt == colKey { opts = append(opts, keywordStrings[KEY]) } diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index c79bdf1532f..ad4cbe32662 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -402,7 +402,7 @@ func (cached *ColumnDefinition) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(192) + size += int64(144) } // field Name vitess.io/vitess/go/vt/sqlparser.ColIdent size += cached.Name.CachedSize(false) @@ -416,20 +416,12 @@ func (cached *ColumnType) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(152) + size += int64(104) } // field Type string size += int64(len(cached.Type)) - // field Default vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Default.(cachedObject); ok { - size += cc.CachedSize(true) - } - // field OnUpdate vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.OnUpdate.(cachedObject); ok { - size += cc.CachedSize(true) - } - // field Comment *vitess.io/vitess/go/vt/sqlparser.Literal - size += cached.Comment.CachedSize(true) + // field Options *vitess.io/vitess/go/vt/sqlparser.ColumnTypeOptions + size += cached.Options.CachedSize(true) // field Length *vitess.io/vitess/go/vt/sqlparser.Literal size += cached.Length.CachedSize(true) // field Scale *vitess.io/vitess/go/vt/sqlparser.Literal @@ -447,6 +439,26 @@ func (cached *ColumnType) CachedSize(alloc bool) int64 { } return size } +func (cached *ColumnTypeOptions) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(56) + } + // field Default vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Default.(cachedObject); ok { + size += cc.CachedSize(true) + } + // field OnUpdate vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.OnUpdate.(cachedObject); ok { + size += cc.CachedSize(true) + } + // field Comment *vitess.io/vitess/go/vt/sqlparser.Literal + size += cached.Comment.CachedSize(true) + return size +} func (cached *ComparisonExpr) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 8993699b0ce..e950e89685a 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -1053,7 +1053,7 @@ var ( output: "alter table a drop column id", }, { input: "ALTER TABLE `product115s` CHANGE `part_number` `part_number` varchar(255) DEFAULT '0' NOT NULL", - output: "alter table product115s change column part_number part_number varchar(255) default '0' not null", + output: "alter table product115s change column part_number part_number varchar(255) not null default '0'", }, { input: "alter database character set geostd8", }, { @@ -1121,6 +1121,12 @@ var ( }, { input: "create table a (b1 bool NOT NULL PRIMARY KEY, b2 boolean not null, KEY b2_idx(b))", output: "create table a (\n\tb1 bool not null primary key,\n\tb2 boolean not null,\n\tKEY b2_idx (b)\n)", + }, { + input: "CREATE TABLE pkai (id INT PRIMARY KEY AUTO_INCREMENT);", + output: "create table pkai (\n\tid INT auto_increment primary key\n)", + }, { + input: "CREATE TABLE aipk (id INT AUTO_INCREMENT PRIMARY KEY)", + output: "create table aipk (\n\tid INT auto_increment primary key\n)", }, { input: "alter vschema create vindex hash_vdx using hash", }, { diff --git a/go/vt/sqlparser/rewriter.go b/go/vt/sqlparser/rewriter.go index 19f1050b06f..b138ecc543e 100644 --- a/go/vt/sqlparser/rewriter.go +++ b/go/vt/sqlparser/rewriter.go @@ -212,22 +212,10 @@ func replaceColumnDefinitionName(newNode, parent SQLNode) { parent.(*ColumnDefinition).Name = newNode.(ColIdent) } -func replaceColumnTypeComment(newNode, parent SQLNode) { - parent.(*ColumnType).Comment = newNode.(*Literal) -} - -func replaceColumnTypeDefault(newNode, parent SQLNode) { - parent.(*ColumnType).Default = newNode.(Expr) -} - func replaceColumnTypeLength(newNode, parent SQLNode) { parent.(*ColumnType).Length = newNode.(*Literal) } -func replaceColumnTypeOnUpdate(newNode, parent SQLNode) { - parent.(*ColumnType).OnUpdate = newNode.(Expr) -} - func replaceColumnTypeScale(newNode, parent SQLNode) { parent.(*ColumnType).Scale = newNode.(*Literal) } @@ -1196,10 +1184,7 @@ func (a *application) apply(parent, node SQLNode, replacer replacerFunc) { a.apply(node, n.Name, replaceColumnDefinitionName) case *ColumnType: - a.apply(node, n.Comment, replaceColumnTypeComment) - a.apply(node, n.Default, replaceColumnTypeDefault) a.apply(node, n.Length, replaceColumnTypeLength) - a.apply(node, n.OnUpdate, replaceColumnTypeOnUpdate) a.apply(node, n.Scale, replaceColumnTypeScale) case Columns: diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index eea7d1bc634..8c95e6de4a0 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -136,6 +136,7 @@ type yySymType struct { tableOption *TableOption tableOptions TableOptions renameTablePairs []*RenameTablePair + columnTypeOptions *ColumnTypeOptions } const LEX_ERROR = 57346 @@ -1066,615 +1067,599 @@ var yyExca = [...]int{ 143, 117, 253, 117, 301, 117, - -2, 329, + -2, 324, -1, 52, - 34, 468, - 164, 468, - 176, 468, - 209, 482, - 210, 482, - -2, 470, + 34, 463, + 164, 463, + 176, 463, + 209, 477, + 210, 477, + -2, 465, -1, 57, - 166, 492, - -2, 490, + 166, 487, + -2, 485, -1, 82, - 56, 559, - -2, 567, + 56, 554, + -2, 562, -1, 106, 1, 112, 463, 112, -2, 117, -1, 116, - 169, 234, - 170, 234, - -2, 323, + 169, 229, + 170, 229, + -2, 318, -1, 135, 143, 117, 253, 117, 301, 117, - -2, 338, + -2, 333, -1, 562, - 150, 945, - -2, 941, + 150, 940, + -2, 936, -1, 563, - 150, 946, - -2, 942, + 150, 941, + -2, 937, -1, 581, - 56, 560, - -2, 572, + 56, 555, + -2, 567, -1, 582, - 56, 561, - -2, 573, + 56, 556, + -2, 568, -1, 602, - 118, 1282, + 118, 1277, -2, 83, -1, 603, - 118, 1166, + 118, 1161, -2, 84, -1, 609, - 118, 1216, - -2, 920, + 118, 1211, + -2, 915, -1, 746, - 118, 1105, - -2, 917, + 118, 1100, + -2, 912, -1, 781, 175, 37, 180, 37, - -2, 245, + -2, 240, -1, 860, - 1, 376, - 463, 376, + 1, 371, + 463, 371, -2, 117, -1, 1092, - 1, 272, - 463, 272, + 1, 267, + 463, 267, -2, 117, -1, 1170, - 169, 234, - 170, 234, - -2, 323, + 169, 229, + 170, 229, + -2, 318, -1, 1179, 175, 38, 180, 38, - -2, 246, + -2, 241, -1, 1383, - 150, 948, - -2, 944, + 150, 943, + -2, 939, -1, 1475, 74, 65, 82, 65, -2, 69, -1, 1496, - 1, 273, - 463, 273, + 1, 268, + 463, 268, -2, 117, - -1, 1898, - 5, 814, - 18, 814, - 20, 814, - 32, 814, - 83, 814, - -2, 598, + -1, 1902, + 5, 809, + 18, 809, + 20, 809, + 32, 809, + 83, 809, + -2, 593, -1, 2114, - 46, 888, - -2, 886, + 46, 883, + -2, 881, } const yyPrivate = 57344 -const yyLast = 27664 +const yyLast = 27502 var yyAct = [...]int{ - 562, 2200, 2187, 1947, 2114, 1812, 2164, 2127, 1708, 2060, - 2038, 506, 535, 1878, 1675, 1560, 521, 1781, 1879, 1493, - 1709, 1528, 1420, 995, 914, 1944, 1040, 1695, 1785, 1875, - 1047, 872, 1533, 1767, 750, 504, 1766, 144, 1155, 1149, - 1890, 1837, 1377, 1513, 501, 1472, 1635, 1301, 175, 81, - 3, 187, 1765, 469, 187, 811, 1369, 607, 1288, 485, - 130, 187, 1177, 79, 1558, 1535, 1759, 1077, 1084, 187, - 776, 1454, 1461, 583, 1050, 1422, 1033, 1045, 1070, 568, - 508, 1067, 1403, 1346, 931, 1607, 1380, 757, 497, 32, - 485, 754, 1074, 485, 187, 485, 1154, 1068, 763, 574, - 1184, 782, 1437, 1524, 758, 1267, 777, 778, 1083, 1057, - 1081, 77, 779, 174, 604, 1477, 1304, 789, 107, 1514, - 147, 108, 853, 492, 1008, 8, 7, 1195, 6, 1804, - 1803, 1009, 1169, 113, 114, 76, 1589, 1825, 1826, 1335, - 1334, 2062, 912, 932, 1417, 1418, 1254, 176, 177, 178, - 1333, 1332, 1331, 82, 1330, 495, 1323, 496, 2156, 589, - 593, 1673, 2111, 751, 1921, 109, 2017, 569, 2089, 2088, - 187, 815, 447, 816, 176, 177, 178, 814, 115, 2206, - 187, 2033, 866, 1625, 2034, 187, 493, 2161, 813, 84, - 85, 86, 87, 88, 89, 2199, 2138, 2190, 1948, 1577, - 601, 827, 828, 2160, 831, 832, 833, 834, 942, 608, - 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, - 847, 848, 849, 850, 851, 770, 2137, 109, 769, 771, - 792, 1854, 1979, 78, 460, 793, 768, 173, 1596, 1085, - 932, 1086, 1595, 461, 1674, 1478, 1904, 1156, 1487, 817, - 818, 819, 566, 458, 168, 547, 1824, 553, 554, 551, - 552, 824, 550, 549, 548, 473, 1419, 829, 1538, 1905, - 1906, 1623, 555, 556, 104, 180, 181, 182, 882, 110, - 565, 132, 930, 176, 177, 178, 1488, 1489, 1739, 880, - 152, 1738, 455, 1750, 1740, 109, 1507, 938, 176, 177, - 178, 467, 830, 102, 34, 942, 2010, 70, 38, 39, - 772, 891, 892, 472, 2140, 1970, 1324, 1325, 1326, 910, - 1968, 142, 104, 169, 1814, 483, 131, 1322, 487, 481, - 2101, 957, 956, 966, 967, 959, 960, 961, 962, 963, - 964, 965, 958, 473, 149, 968, 150, 1537, 1786, 1559, - 1592, 119, 120, 141, 140, 167, 1808, 1244, 104, 96, - 97, 1268, 901, 1809, 903, 100, 883, 2189, 99, 98, - 448, 449, 450, 2157, 465, 466, 476, 881, 854, 69, - 462, 464, 477, 451, 452, 479, 478, 908, 454, 453, - 888, 472, 457, 474, 938, 1815, 1273, 909, 1245, 861, - 1246, 900, 902, 136, 117, 143, 124, 116, 1817, 137, - 138, 893, 473, 153, 1604, 894, 891, 892, 836, 1276, - 473, 1277, 1278, 158, 125, 835, 103, 1920, 1272, 937, - 934, 935, 936, 941, 943, 940, 1816, 939, 128, 126, - 121, 122, 123, 127, 933, 172, 2028, 187, 118, 1270, - 1274, 886, 887, 884, 885, 2085, 800, 129, 1561, 798, - 472, 895, 899, 906, 1163, 1455, 809, 473, 472, 1271, - 485, 485, 485, 1594, 103, 808, 1838, 807, 806, 805, - 875, 876, 877, 878, 879, 804, 803, 791, 485, 485, - 2136, 802, 797, 896, 2029, 773, 810, 791, 898, 1624, - 911, 755, 2204, 755, 2207, 753, 1611, 1478, 785, 1539, - 103, 2176, 755, 897, 784, 472, 865, 475, 791, 1840, - 864, 2077, 2141, 762, 145, 106, 937, 934, 935, 936, - 941, 943, 940, 595, 939, 470, 1183, 1182, 2102, 924, - 1818, 933, 1583, 1281, 918, 820, 1775, 1591, 801, 1863, - 471, 799, 1862, 1861, 982, 983, 984, 985, 986, 987, - 988, 989, 990, 991, 2128, 766, 187, 1256, 1255, 1257, - 1258, 1259, 765, 139, 1676, 1678, 1842, 826, 1846, 791, - 1841, 764, 1839, 791, 978, 133, 1796, 1844, 134, 446, - 179, 1603, 485, 905, 1602, 187, 1843, 187, 187, 1037, - 485, 889, 1609, 1609, 791, 907, 485, 1608, 1608, 1845, - 1847, 980, 981, 915, 916, 927, 925, 1579, 926, 1654, - 1038, 71, 790, 2118, 604, 1999, 996, 1903, 1700, 784, - 787, 788, 790, 755, 1651, 1643, 1569, 781, 785, 784, - 787, 788, 1066, 755, 1034, 1483, 1061, 781, 785, 2202, - 993, 870, 2203, 790, 2201, 958, 780, 1051, 968, 794, - 784, 2078, 2076, 1494, 176, 177, 178, 1049, 1371, 795, - 1677, 858, 968, 1011, 1013, 1015, 1017, 1019, 1021, 1022, - 1012, 1014, 1735, 1018, 1020, 1302, 1023, 796, 1031, 146, - 151, 148, 154, 155, 156, 157, 159, 160, 161, 162, - 860, 1353, 1305, 867, 868, 163, 164, 165, 166, 176, - 177, 178, 1433, 874, 790, 1351, 1352, 1350, 790, 608, - 825, 947, 945, 2093, 1372, 1039, 957, 956, 966, 967, - 959, 960, 961, 962, 963, 964, 965, 958, 948, 790, - 968, 1578, 92, 1319, 1649, 794, 784, 945, 948, 1435, - 187, 855, 1648, 856, 1145, 795, 857, 812, 980, 981, - 1888, 1269, 187, 948, 1087, 1157, 1158, 1159, 1160, 1755, - 946, 947, 945, 980, 981, 928, 1650, 946, 947, 945, - 485, 1856, 1179, 859, 1504, 1636, 1404, 93, 948, 1404, - 1188, 1661, 1153, 1576, 1192, 948, 1505, 485, 485, 1574, - 485, 1303, 485, 485, 1189, 485, 485, 485, 485, 485, - 485, 1571, 1434, 800, 1175, 946, 947, 945, 1306, 798, - 485, 761, 2208, 1858, 187, 1228, 873, 1161, 1162, 1223, - 1224, 1748, 1571, 948, 2121, 1575, 1168, 946, 947, 945, - 1241, 966, 967, 959, 960, 961, 962, 963, 964, 965, - 958, 485, 1187, 968, 1225, 948, 1573, 171, 69, 187, - 946, 947, 945, 1054, 1082, 187, 2194, 1144, 187, 1287, - 1349, 187, 961, 962, 963, 964, 965, 958, 948, 594, - 968, 2193, 187, 1151, 187, 1231, 1232, 2191, 2016, 1186, - 2209, 1237, 1238, 2015, 1982, 1178, 485, 485, 485, 187, - 485, 485, 187, 485, 485, 1185, 1185, 1165, 1166, 1164, - 1926, 2181, 1293, 1763, 1295, 2192, 1297, 1298, 1299, 1300, - 1341, 1343, 1344, 767, 1762, 1197, 1811, 1198, 1290, 1200, - 1202, 187, 1342, 1206, 1208, 1210, 1212, 1214, 1307, 2182, - 1226, 957, 956, 966, 967, 959, 960, 961, 962, 963, - 964, 965, 958, 760, 599, 968, 1263, 1282, 1628, 1629, - 1630, 176, 177, 178, 1347, 1742, 2183, 596, 597, 1370, - 959, 960, 961, 962, 963, 964, 965, 958, 1373, 770, - 968, 109, 769, 176, 177, 178, 1865, 1553, 1261, 1251, - 1542, 1264, 485, 1438, 1439, 1345, 1249, 1248, 1354, 1355, - 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, - 1366, 1367, 1368, 1392, 1395, 1262, 1374, 1375, 1381, 1405, - 1247, 1317, 1239, 1329, 1233, 485, 485, 1387, 1230, 176, - 177, 178, 1348, 1551, 1866, 2172, 187, 1229, 1308, 1309, - 1310, 563, 1312, 1313, 1204, 1315, 1316, 1260, 1250, 485, - 2150, 1383, 1382, 2051, 2013, 1407, 187, 1987, 1867, 485, - 1427, 1772, 1760, 187, 1619, 187, 176, 177, 178, 996, - 1411, 1412, 1764, 187, 187, 946, 947, 945, 1587, 1586, - 485, 1291, 1252, 485, 1388, 1389, 1381, 1240, 1394, 1397, - 1398, 1236, 188, 948, 485, 188, 946, 947, 945, 1235, - 486, 1234, 188, 578, 604, 2083, 1384, 604, 1933, 2175, - 188, 1933, 2134, 1410, 948, 2082, 1413, 1414, 1946, 1383, - 1452, 1788, 1473, 1933, 2119, 1448, 1933, 578, 1498, 78, - 1497, 486, 1933, 2091, 486, 188, 486, 1428, 2031, 578, - 1508, 1696, 1509, 1510, 1511, 1512, 1774, 1440, 1729, 485, - 1502, 1515, 1516, 1517, 1571, 578, 1478, 485, 1520, 1521, - 1522, 1523, 1550, 1552, 1501, 1530, 1476, 1479, 1450, 524, - 523, 526, 527, 528, 529, 485, 1997, 578, 525, 1887, - 530, 485, 1933, 1938, 1994, 1188, 1536, 1188, 1479, 1485, - 1484, 1481, 176, 177, 178, 1570, 1242, 1918, 1917, 608, - 1500, 1499, 608, 1914, 1915, 1914, 1913, 578, 1572, 1557, - 1458, 188, 1446, 578, 1478, 1805, 1148, 1790, 1783, 1784, - 34, 188, 1458, 578, 1447, 485, 188, 1370, 1696, 1480, - 944, 578, 1370, 1370, 1148, 1147, 1531, 1482, 1093, 1092, - 944, 1457, 1876, 2092, 1526, 1527, 1933, 1567, 34, 1568, - 1480, 1887, 1541, 1540, 1547, 1548, 1549, 1543, 1478, 1580, - 578, 1916, 1458, 1571, 80, 1486, 1666, 187, 1563, 1665, - 1531, 187, 187, 187, 187, 187, 1446, 34, 571, 2018, - 1562, 187, 187, 1582, 1566, 187, 792, 1219, 1584, 1585, - 1581, 793, 1458, 1981, 1446, 69, 2067, 1887, 1571, 1554, - 1436, 1185, 1703, 187, 187, 187, 957, 956, 966, 967, - 959, 960, 961, 962, 963, 964, 965, 958, 187, 1415, - 968, 187, 485, 69, 2126, 1704, 1976, 2019, 2020, 2021, - 1446, 1769, 1327, 1613, 1280, 1220, 1221, 1222, 1079, 1617, - 957, 956, 966, 967, 959, 960, 961, 962, 963, 964, - 965, 958, 69, 69, 968, 775, 952, 774, 955, 1590, - 69, 2040, 1945, 1347, 969, 970, 971, 972, 973, 974, - 975, 1612, 953, 954, 951, 957, 956, 966, 967, 959, - 960, 961, 962, 963, 964, 965, 958, 2022, 2005, 968, - 1150, 1529, 1810, 1564, 1525, 1519, 1632, 1633, 1634, 957, + 562, 2195, 1954, 2182, 2114, 1816, 2159, 1706, 2123, 914, + 1785, 506, 535, 2043, 2065, 1406, 1882, 1673, 1493, 1951, + 1707, 1420, 1883, 521, 574, 1879, 1526, 995, 1558, 1771, + 144, 1693, 1770, 872, 1789, 1894, 504, 1369, 750, 1040, + 1377, 1047, 811, 1841, 1633, 1531, 81, 3, 175, 1769, + 1155, 187, 1556, 469, 187, 1177, 130, 1472, 1533, 485, + 776, 187, 1301, 1763, 607, 1084, 1288, 1077, 1461, 187, + 1454, 1050, 1045, 583, 79, 1070, 1422, 1033, 1403, 568, + 1068, 32, 508, 1067, 1346, 1195, 1605, 931, 1437, 754, + 485, 1074, 497, 485, 187, 485, 757, 577, 763, 604, + 1184, 782, 779, 1267, 758, 777, 778, 1380, 1522, 1083, + 1477, 1304, 1057, 77, 107, 147, 108, 789, 492, 1008, + 853, 8, 1081, 1512, 76, 1149, 174, 1009, 1154, 7, + 6, 1587, 1169, 1254, 113, 114, 1808, 1807, 1829, 2067, + 1830, 1417, 1418, 912, 176, 177, 178, 1335, 1334, 1333, + 1332, 1331, 1330, 751, 1323, 2151, 589, 593, 1671, 569, + 109, 495, 2111, 496, 1928, 2022, 816, 176, 177, 178, + 187, 2089, 2088, 815, 2038, 813, 447, 2039, 115, 814, + 187, 493, 866, 2201, 2156, 187, 2194, 2134, 827, 828, + 78, 831, 832, 833, 834, 1156, 1623, 837, 838, 839, + 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, + 850, 851, 601, 608, 82, 2185, 1536, 932, 1955, 1575, + 792, 770, 109, 769, 1511, 1858, 2155, 460, 2133, 1986, + 768, 1909, 1910, 771, 1594, 793, 461, 1672, 1593, 817, + 818, 819, 102, 1085, 34, 1086, 458, 70, 38, 39, + 84, 85, 86, 87, 88, 89, 168, 173, 1478, 932, + 1908, 824, 1828, 1419, 104, 180, 181, 182, 1488, 1489, + 547, 829, 553, 554, 551, 552, 1621, 550, 549, 548, + 1487, 110, 942, 132, 473, 455, 566, 555, 556, 565, + 109, 1754, 152, 1505, 467, 1535, 1977, 104, 96, 97, + 1737, 1818, 882, 1736, 100, 880, 1738, 99, 98, 830, + 176, 177, 178, 1975, 1324, 1325, 1326, 891, 892, 69, + 772, 893, 910, 142, 942, 894, 891, 892, 131, 2136, + 483, 1322, 472, 481, 487, 1790, 473, 1812, 1557, 1590, + 1268, 2184, 104, 169, 1813, 1273, 149, 854, 150, 908, + 176, 177, 178, 119, 120, 141, 140, 167, 888, 1276, + 1244, 1277, 1278, 448, 449, 450, 1821, 465, 466, 476, + 2152, 938, 1819, 462, 464, 477, 451, 452, 479, 478, + 861, 454, 453, 1272, 472, 457, 474, 886, 887, 901, + 883, 903, 1602, 881, 1751, 1746, 884, 885, 930, 1274, + 909, 1245, 836, 1246, 835, 136, 117, 143, 124, 116, + 1820, 137, 138, 938, 1270, 153, 103, 2085, 2033, 473, + 1559, 800, 798, 1455, 1271, 158, 125, 1927, 900, 902, + 473, 809, 808, 807, 806, 805, 773, 804, 1747, 803, + 128, 126, 121, 122, 123, 127, 802, 187, 797, 103, + 118, 1163, 810, 864, 2034, 2202, 784, 1537, 2171, 129, + 1749, 895, 899, 1744, 755, 172, 595, 472, 1609, 1592, + 485, 485, 485, 755, 1842, 1745, 1478, 753, 472, 865, + 106, 762, 875, 876, 877, 878, 879, 1822, 485, 485, + 896, 1581, 2132, 755, 103, 2199, 1183, 1182, 785, 1281, + 1674, 1676, 911, 937, 934, 935, 936, 941, 943, 940, + 475, 939, 1622, 801, 799, 918, 791, 1844, 933, 473, + 820, 2124, 906, 1779, 1589, 898, 145, 1867, 470, 1800, + 791, 1866, 1865, 766, 1752, 1750, 924, 2137, 765, 764, + 897, 446, 179, 471, 1494, 937, 934, 935, 936, 941, + 943, 940, 2118, 939, 1256, 1255, 1257, 1258, 1259, 1601, + 933, 71, 1600, 1577, 1607, 2006, 187, 472, 1907, 1606, + 1698, 791, 1607, 826, 1846, 139, 1850, 1606, 1845, 791, + 1843, 1652, 980, 981, 1641, 1848, 978, 133, 1567, 1483, + 134, 1061, 485, 993, 1847, 187, 1675, 187, 187, 889, + 485, 791, 1649, 870, 858, 968, 485, 1849, 1851, 604, + 1037, 927, 1733, 958, 915, 916, 968, 1038, 996, 925, + 926, 1302, 791, 2101, 957, 956, 966, 967, 959, 960, + 961, 962, 963, 964, 965, 958, 867, 868, 968, 1433, + 1748, 1034, 2197, 1305, 1319, 2198, 948, 2196, 874, 1153, + 1860, 790, 905, 2093, 1066, 860, 812, 1051, 784, 787, + 788, 1892, 755, 1269, 907, 790, 781, 785, 1011, 1013, + 1015, 1017, 1019, 1021, 1022, 1087, 1012, 1014, 928, 1018, + 1020, 859, 1023, 1031, 855, 780, 856, 1576, 1049, 857, + 1648, 146, 151, 148, 154, 155, 156, 157, 159, 160, + 161, 162, 1404, 92, 1659, 501, 790, 163, 164, 165, + 166, 1404, 794, 784, 790, 761, 825, 176, 177, 178, + 980, 981, 795, 608, 957, 956, 966, 967, 959, 960, + 961, 962, 963, 964, 965, 958, 790, 1303, 968, 1912, + 796, 980, 981, 784, 787, 788, 1574, 755, 93, 1054, + 187, 781, 785, 2203, 1145, 1353, 945, 790, 1572, 1306, + 1435, 873, 187, 794, 784, 1157, 1158, 1159, 1160, 1351, + 1352, 1350, 948, 795, 946, 947, 945, 1759, 947, 945, + 485, 800, 1179, 1634, 798, 2186, 1039, 176, 177, 178, + 1188, 1371, 948, 1647, 1192, 948, 2021, 485, 485, 2020, + 485, 1646, 485, 485, 1189, 485, 485, 485, 485, 485, + 485, 2176, 1869, 2187, 1161, 1162, 171, 767, 1175, 1569, + 485, 2204, 1569, 1434, 187, 1228, 946, 947, 945, 1223, + 1224, 2102, 1168, 961, 962, 963, 964, 965, 958, 2177, + 1241, 968, 1933, 1573, 948, 1187, 1571, 1372, 946, 947, + 945, 485, 1263, 1082, 1438, 1439, 1261, 1767, 1225, 187, + 1870, 2189, 1341, 1343, 1344, 187, 948, 1766, 187, 1287, + 1540, 187, 1231, 1232, 1342, 1626, 1627, 1628, 1237, 1238, + 1144, 1151, 187, 1197, 187, 1198, 1251, 1200, 1202, 1186, + 1264, 1206, 1208, 1210, 1212, 1214, 485, 485, 485, 187, + 485, 485, 187, 485, 485, 1185, 1185, 1165, 1178, 1166, + 1164, 1262, 760, 1249, 1293, 1260, 1295, 1248, 1297, 1298, + 1299, 1300, 959, 960, 961, 962, 963, 964, 965, 958, + 69, 187, 968, 578, 1247, 1290, 946, 947, 945, 946, + 947, 945, 1349, 599, 1226, 1250, 1239, 1862, 946, 947, + 945, 1233, 1230, 1307, 948, 1229, 1282, 948, 176, 177, + 178, 1204, 1740, 2188, 1347, 2178, 948, 2167, 2056, 1370, + 1768, 2018, 1994, 1915, 1871, 770, 109, 769, 1373, 957, 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, - 958, 1518, 1622, 968, 1266, 1180, 187, 1176, 1146, 1463, - 1466, 1467, 1468, 1464, 187, 1465, 1469, 94, 1768, 1891, - 1892, 1348, 2023, 2024, 1631, 957, 956, 966, 967, 959, - 960, 961, 962, 963, 964, 965, 958, 173, 187, 968, - 1813, 1216, 1891, 1892, 2041, 1682, 1156, 2196, 2188, 187, - 187, 187, 187, 187, 1644, 1640, 1641, 1689, 1909, 1710, - 1894, 187, 1876, 1769, 569, 187, 1779, 1778, 187, 187, - 1777, 1701, 187, 187, 187, 1660, 1658, 1645, 188, 1545, - 1320, 1284, 1672, 1698, 1034, 1741, 1217, 1218, 1720, 1680, - 1718, 1897, 1896, 1721, 1705, 1719, 1722, 1717, 1467, 1468, - 1716, 486, 486, 486, 1688, 1754, 2178, 2159, 1868, 1685, - 1048, 1697, 1699, 1730, 1727, 1998, 1936, 1732, 1694, 486, - 486, 1693, 2146, 1753, 1744, 1756, 1757, 1758, 2143, 2180, - 1711, 1290, 1723, 1714, 2163, 2165, 187, 1728, 2171, 584, - 1733, 2170, 2115, 1751, 1752, 1736, 485, 1712, 1713, 101, - 1715, 2113, 485, 1957, 585, 485, 1279, 1188, 1773, 1745, - 564, 1787, 485, 1536, 1463, 1466, 1467, 1468, 1464, 822, - 1465, 1469, 1791, 584, 1802, 821, 1761, 1052, 1053, 587, - 1400, 586, 187, 1771, 1793, 1683, 1041, 1768, 585, 1823, - 1770, 917, 1801, 1684, 1798, 1401, 170, 188, 1042, 183, - 1800, 1797, 187, 1747, 110, 1168, 2123, 2122, 2065, 1565, - 1194, 581, 582, 587, 1193, 586, 1181, 1383, 1382, 1792, - 1975, 1828, 1992, 486, 1438, 1439, 188, 2084, 188, 188, - 1431, 486, 1544, 1283, 485, 1799, 2035, 486, 1471, 1627, - 1370, 957, 956, 966, 967, 959, 960, 961, 962, 963, - 964, 965, 958, 1819, 1821, 968, 1822, 575, 1834, 572, - 573, 2185, 1836, 2184, 2168, 1835, 1692, 2147, 1991, 1827, - 485, 1829, 1830, 1932, 1691, 1833, 1555, 576, 80, 1855, - 1990, 187, 1849, 1871, 1696, 1655, 1850, 1851, 1652, 1852, - 1853, 485, 2198, 2197, 2198, 1062, 1848, 485, 485, 1055, - 1859, 1860, 1877, 2116, 2011, 1710, 1432, 1880, 571, 78, - 83, 75, 1, 456, 1416, 1834, 1032, 468, 2186, 1253, - 187, 1243, 1949, 2037, 1939, 1534, 1886, 783, 135, 957, - 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, - 958, 1406, 1495, 968, 1496, 1895, 1899, 2130, 1901, 91, - 1902, 748, 90, 786, 904, 1556, 2075, 2032, 1749, 1506, - 2009, 1911, 1912, 1908, 1927, 1900, 187, 1746, 187, 187, - 187, 1907, 2120, 1099, 485, 1097, 1098, 1096, 1101, 1100, - 1095, 188, 1910, 1321, 482, 1470, 1088, 187, 1935, 1056, - 1922, 1874, 823, 188, 1923, 1919, 1503, 1864, 1318, 1588, - 463, 1940, 890, 459, 1950, 485, 485, 485, 1934, 187, - 976, 486, 1690, 1937, 1924, 1925, 1737, 1958, 1943, 1536, - 605, 598, 1882, 577, 1942, 1885, 2169, 2144, 486, 486, - 2142, 486, 2112, 486, 486, 2061, 486, 486, 486, 486, - 486, 486, 2145, 1955, 1956, 2110, 2179, 2162, 1430, 1044, - 1989, 486, 1870, 1659, 1966, 188, 1005, 1402, 1071, 507, - 1426, 1340, 522, 1959, 519, 520, 1441, 1702, 1963, 1964, - 950, 1965, 505, 499, 1967, 1063, 1969, 1462, 1460, 1459, - 1285, 1075, 486, 1893, 1889, 1069, 1445, 1593, 1807, 1710, - 188, 929, 580, 494, 95, 1399, 188, 1993, 2002, 188, - 1988, 2100, 188, 1626, 1978, 579, 60, 2001, 37, 489, - 2155, 920, 588, 188, 31, 188, 30, 29, 2008, 28, - 2007, 23, 22, 485, 485, 1961, 21, 486, 486, 486, - 188, 486, 486, 188, 486, 486, 485, 20, 19, 485, - 2026, 25, 18, 17, 2025, 16, 105, 2012, 47, 2014, - 44, 42, 112, 2036, 111, 2044, 45, 41, 862, 27, - 26, 15, 188, 2039, 14, 13, 12, 11, 10, 9, - 5, 4, 923, 24, 485, 485, 485, 187, 2042, 994, - 2, 0, 0, 0, 0, 0, 0, 0, 485, 0, - 485, 2054, 2056, 2057, 0, 0, 485, 1880, 2043, 2058, - 0, 1880, 2070, 2066, 0, 2064, 0, 0, 2045, 2046, - 2047, 2048, 2049, 2073, 0, 0, 2052, 2053, 2079, 0, - 187, 2059, 2080, 486, 2081, 0, 0, 0, 0, 0, - 0, 485, 187, 0, 0, 0, 2068, 2087, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2094, 0, - 0, 0, 0, 0, 0, 0, 486, 486, 0, 0, - 0, 0, 0, 2109, 0, 0, 0, 188, 2050, 0, - 1880, 2117, 534, 0, 0, 2090, 0, 0, 0, 0, - 486, 0, 0, 485, 485, 0, 0, 188, 0, 0, - 486, 2072, 0, 2129, 188, 168, 188, 2074, 0, 0, - 0, 0, 0, 0, 188, 188, 0, 2039, 2131, 485, - 2139, 486, 1974, 0, 486, 2148, 0, 485, 1710, 168, - 110, 0, 2151, 186, 2124, 486, 480, 0, 0, 0, - 2158, 152, 0, 186, 2154, 0, 0, 2167, 2166, 0, - 0, 186, 0, 0, 110, 0, 0, 0, 0, 0, - 0, 0, 2177, 0, 0, 152, 1973, 592, 592, 0, - 2152, 0, 0, 0, 0, 0, 186, 0, 0, 0, - 0, 0, 1743, 0, 0, 0, 0, 0, 0, 2195, - 486, 0, 0, 0, 0, 149, 0, 150, 486, 0, - 2205, 0, 533, 0, 0, 0, 167, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 486, 0, 0, 149, - 0, 150, 486, 0, 0, 0, 0, 0, 0, 0, - 167, 957, 956, 966, 967, 959, 960, 961, 962, 963, - 964, 965, 958, 0, 0, 968, 0, 0, 0, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 484, 186, 0, 153, 0, 486, 186, 0, 0, - 0, 0, 0, 0, 158, 957, 956, 966, 967, 959, - 960, 961, 962, 963, 964, 965, 958, 0, 153, 968, - 0, 0, 606, 0, 0, 752, 0, 759, 158, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, - 0, 0, 188, 188, 188, 188, 188, 0, 0, 0, - 0, 0, 188, 188, 168, 0, 188, 0, 0, 0, - 0, 0, 0, 0, 0, 1780, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 188, 188, 591, 0, 110, - 0, 132, 0, 0, 0, 0, 1637, 0, 0, 188, - 152, 0, 188, 486, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 145, 957, 956, 966, 967, - 959, 960, 961, 962, 963, 964, 965, 958, 0, 0, - 968, 142, 0, 0, 0, 0, 131, 0, 0, 145, + 958, 1776, 485, 968, 946, 947, 945, 524, 523, 526, + 527, 528, 529, 1381, 1764, 1617, 525, 1585, 530, 594, + 1385, 1386, 948, 1392, 1395, 1584, 1317, 1374, 1375, 1405, + 1291, 1252, 1329, 1240, 1236, 485, 485, 563, 176, 177, + 178, 1235, 1551, 1234, 1348, 1815, 187, 578, 1387, 1308, + 1309, 1310, 2083, 1312, 1313, 2082, 1315, 1316, 1880, 485, + 80, 176, 177, 178, 1429, 1549, 187, 1891, 1383, 485, + 1382, 996, 1428, 187, 1427, 187, 1940, 2170, 1411, 1412, + 1953, 1381, 1440, 187, 187, 176, 177, 178, 188, 1242, + 485, 188, 1792, 485, 1940, 2130, 486, 1778, 188, 604, + 78, 1891, 604, 1502, 485, 1694, 188, 596, 597, 176, + 177, 178, 1940, 2119, 1447, 1388, 1389, 2001, 1384, 1394, + 1397, 1398, 1940, 578, 1940, 2091, 1446, 486, 1457, 1473, + 486, 188, 486, 1497, 944, 1448, 1383, 1694, 1452, 2036, + 578, 1479, 1498, 2092, 1410, 1569, 578, 1413, 1414, 966, + 967, 959, 960, 961, 962, 963, 964, 965, 958, 485, + 1940, 968, 2004, 578, 1501, 1940, 1945, 485, 1925, 1924, + 1921, 1922, 1548, 1550, 1458, 1476, 1921, 1920, 578, 1458, + 1528, 1450, 1446, 578, 1446, 485, 1478, 1809, 1148, 1794, + 1923, 485, 1787, 1788, 1458, 1188, 1481, 1188, 1458, 578, + 1485, 944, 578, 1480, 1486, 1568, 1891, 188, 1534, 1500, + 1499, 1482, 1484, 608, 1148, 1147, 608, 188, 1093, 1092, + 1570, 1664, 188, 1555, 34, 982, 983, 984, 985, 986, + 987, 988, 989, 990, 991, 485, 1506, 1370, 1507, 1508, + 1509, 1510, 1370, 1370, 1529, 1727, 1663, 1446, 1539, 1701, + 1565, 1569, 1566, 1478, 1518, 1519, 1520, 1521, 34, 1524, + 1525, 1552, 1436, 1538, 34, 1541, 1415, 1479, 1327, 1989, + 1280, 571, 1702, 1578, 1580, 1569, 591, 187, 1529, 1582, + 1583, 187, 187, 187, 187, 187, 792, 1561, 1579, 1079, + 1560, 187, 187, 775, 1564, 187, 1545, 1546, 1547, 69, + 2023, 793, 774, 2122, 1817, 1988, 2072, 69, 2045, 1952, + 2012, 1185, 1150, 187, 187, 187, 957, 956, 966, 967, + 959, 960, 961, 962, 963, 964, 965, 958, 187, 1480, + 968, 187, 485, 69, 1527, 1814, 2046, 1478, 1773, 69, + 1562, 498, 1513, 1514, 1515, 1611, 69, 1523, 2024, 2025, + 2026, 1615, 957, 956, 966, 967, 959, 960, 961, 962, + 963, 964, 965, 958, 1517, 1516, 968, 952, 1588, 955, + 1266, 1180, 1176, 1347, 1146, 969, 970, 971, 972, 973, + 974, 975, 1610, 953, 954, 951, 957, 956, 966, 967, + 959, 960, 961, 962, 963, 964, 965, 958, 1219, 1636, + 968, 94, 173, 1637, 2027, 1156, 1463, 1466, 1467, 1468, + 1464, 1772, 1465, 1469, 1644, 1645, 1895, 1896, 1216, 2191, + 1651, 2183, 1643, 1654, 1655, 1620, 187, 1895, 1896, 1898, + 1880, 1661, 1783, 1662, 187, 1782, 1665, 1666, 1667, 1668, + 1669, 2173, 1781, 1348, 1543, 1629, 1220, 1221, 1222, 2028, + 2029, 1320, 1679, 1284, 1718, 1716, 1773, 1901, 187, 1719, + 1717, 1900, 1715, 1217, 1218, 1720, 1714, 1467, 1468, 187, + 187, 187, 187, 187, 1642, 2154, 569, 1872, 1680, 1708, + 1683, 187, 1048, 2005, 188, 187, 1943, 1692, 187, 187, + 1687, 1658, 187, 187, 187, 1699, 1638, 1639, 1723, 1724, + 1691, 1034, 2142, 1670, 2139, 1739, 2175, 486, 486, 486, + 1678, 1703, 2158, 2160, 1681, 1696, 101, 1656, 2166, 1686, + 2113, 2165, 1682, 1758, 2115, 486, 486, 1279, 1695, 564, + 1777, 1725, 1697, 822, 821, 1041, 1964, 1742, 1772, 1827, + 1757, 917, 1760, 1761, 1762, 1728, 1400, 1042, 1721, 1730, + 1710, 1711, 1709, 1713, 187, 1712, 1726, 584, 1290, 1802, + 1731, 1401, 1734, 170, 485, 2070, 183, 1801, 110, 1743, + 485, 1917, 585, 485, 584, 1188, 1916, 1563, 1194, 1791, + 485, 1431, 1193, 1795, 1181, 1999, 1542, 1797, 1775, 585, + 1283, 1765, 1806, 1534, 2084, 1052, 1053, 587, 2040, 586, + 187, 1774, 1471, 188, 1463, 1466, 1467, 1468, 1464, 1805, + 1465, 1469, 581, 582, 587, 1690, 586, 1438, 1439, 1168, + 187, 572, 573, 1689, 1804, 1625, 575, 2180, 2179, 486, + 1796, 2163, 188, 2143, 188, 188, 1998, 486, 1939, 1553, + 576, 1803, 1383, 486, 1382, 80, 1997, 1875, 1694, 2193, + 2192, 571, 485, 1653, 1650, 1062, 1055, 2193, 1370, 2116, + 1914, 1838, 1432, 78, 1835, 1836, 1345, 83, 1823, 1354, + 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, + 1365, 1366, 1367, 1368, 75, 1831, 1, 1825, 485, 1826, + 456, 1837, 1416, 1840, 1839, 1852, 1032, 468, 2181, 187, + 1253, 1243, 1853, 1956, 2042, 1946, 1532, 783, 1859, 485, + 135, 1495, 1496, 2126, 91, 485, 485, 748, 1838, 1881, + 90, 786, 904, 1708, 1554, 1884, 1407, 2037, 1753, 1504, + 1887, 1099, 1097, 1098, 1878, 1096, 1101, 1100, 187, 1095, + 1321, 482, 1755, 1756, 1470, 1088, 1056, 823, 1890, 1926, + 1318, 1902, 1586, 463, 890, 459, 976, 1688, 1899, 1735, + 605, 598, 1886, 2164, 2140, 2138, 2112, 2066, 1903, 2141, + 1905, 2110, 1906, 1868, 2174, 2157, 1503, 949, 1430, 1044, + 1996, 1874, 1911, 1657, 1918, 1919, 1005, 188, 1934, 1402, + 187, 1071, 187, 187, 187, 1904, 507, 1426, 485, 188, + 1340, 1889, 522, 519, 520, 1441, 1700, 950, 505, 499, + 1929, 187, 1942, 498, 1930, 1063, 1462, 486, 1460, 1459, + 1285, 1075, 1006, 1897, 1893, 1931, 1932, 1069, 1957, 485, + 485, 485, 1445, 187, 486, 486, 1941, 486, 1947, 486, + 486, 1965, 486, 486, 486, 486, 486, 486, 1950, 1949, + 1944, 1591, 1043, 1046, 1811, 1534, 929, 486, 580, 494, + 95, 188, 1399, 1967, 2100, 1624, 1985, 1969, 579, 1962, + 1963, 60, 37, 489, 1968, 2150, 920, 588, 1978, 1979, + 31, 30, 29, 1973, 28, 23, 22, 21, 486, 20, + 19, 25, 18, 17, 1993, 16, 188, 105, 47, 44, + 42, 112, 188, 111, 45, 188, 41, 862, 188, 27, + 26, 2002, 2003, 1708, 15, 2007, 14, 2000, 13, 188, + 12, 188, 2009, 11, 10, 9, 5, 4, 923, 24, + 994, 2, 0, 486, 486, 486, 188, 486, 486, 188, + 486, 486, 2008, 0, 0, 534, 2015, 0, 2016, 0, + 485, 485, 0, 0, 0, 2014, 0, 0, 0, 0, + 2031, 0, 0, 485, 0, 2030, 485, 0, 188, 0, + 0, 0, 2035, 2041, 0, 2044, 0, 0, 1970, 1971, + 0, 1972, 2049, 0, 1974, 0, 1976, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 186, 0, 0, 480, + 0, 485, 485, 485, 187, 0, 186, 0, 0, 0, + 0, 2059, 2061, 2062, 186, 485, 2060, 485, 2047, 0, + 2055, 0, 0, 485, 1884, 2063, 0, 0, 1884, 486, + 592, 592, 2075, 2078, 2071, 0, 2069, 0, 0, 186, + 0, 0, 0, 2077, 0, 187, 2080, 0, 2081, 2079, + 0, 0, 0, 0, 0, 0, 485, 187, 0, 0, + 2073, 0, 486, 486, 0, 0, 2094, 1630, 1631, 1632, + 0, 0, 0, 188, 0, 2087, 2096, 2097, 2098, 2099, + 0, 2103, 0, 2104, 2105, 2106, 486, 2107, 2108, 0, + 0, 2109, 0, 188, 0, 1884, 486, 2090, 0, 2117, + 188, 0, 188, 485, 485, 1995, 0, 0, 0, 0, + 188, 188, 2044, 2127, 0, 186, 2125, 486, 0, 0, + 486, 1983, 0, 0, 0, 186, 2131, 0, 0, 485, + 186, 486, 0, 485, 2144, 2135, 0, 0, 1708, 2146, + 0, 2120, 0, 2149, 0, 0, 2153, 0, 0, 0, + 0, 1292, 0, 2162, 2161, 2017, 0, 2019, 0, 0, + 0, 0, 0, 0, 0, 0, 2172, 0, 0, 0, + 1982, 0, 0, 2168, 2169, 0, 0, 168, 0, 0, + 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, + 0, 0, 0, 0, 486, 2190, 0, 0, 0, 0, + 0, 1116, 110, 0, 0, 2200, 2048, 0, 0, 0, + 0, 0, 486, 152, 1981, 0, 0, 0, 486, 0, + 0, 1336, 1337, 1338, 1339, 0, 0, 0, 0, 2064, + 957, 956, 966, 967, 959, 960, 961, 962, 963, 964, + 965, 958, 0, 0, 968, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, + 0, 0, 486, 0, 0, 0, 0, 149, 0, 150, + 0, 0, 0, 0, 0, 0, 1390, 1391, 167, 957, 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, - 958, 0, 498, 968, 149, 0, 150, 0, 0, 0, - 0, 1171, 1172, 141, 140, 167, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, - 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, - 0, 0, 0, 136, 1173, 143, 0, 1170, 0, 137, - 138, 0, 0, 153, 0, 0, 0, 0, 0, 188, - 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, - 188, 188, 188, 188, 188, 0, 0, 0, 0, 0, - 0, 0, 188, 0, 0, 0, 188, 0, 0, 188, - 188, 0, 0, 188, 188, 188, 0, 0, 0, 186, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 146, 151, 148, 154, 155, 156, 157, 159, 160, 161, - 162, 0, 0, 0, 0, 0, 163, 164, 165, 166, - 0, 0, 0, 0, 146, 151, 148, 154, 155, 156, - 157, 159, 160, 161, 162, 0, 0, 0, 0, 0, - 163, 164, 165, 166, 0, 0, 0, 188, 0, 0, - 0, 0, 0, 0, 145, 0, 0, 486, 0, 0, - 0, 0, 0, 486, 0, 0, 486, 0, 0, 0, - 0, 0, 0, 486, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 958, 0, 0, 968, 0, 0, 0, 0, 0, 0, + 0, 533, 0, 0, 188, 0, 0, 0, 188, 188, + 188, 188, 188, 498, 1104, 0, 0, 0, 188, 188, + 0, 0, 188, 957, 956, 966, 967, 959, 960, 961, + 962, 963, 964, 965, 958, 0, 153, 968, 0, 0, + 188, 188, 188, 0, 0, 0, 158, 0, 0, 0, + 1833, 1834, 0, 0, 1980, 188, 0, 1117, 188, 486, + 484, 0, 0, 0, 1492, 1854, 1855, 0, 1856, 1857, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1863, + 1864, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 606, 186, 0, 752, 0, 759, 0, 0, 0, + 0, 0, 0, 1130, 1133, 1134, 1135, 1136, 1137, 1138, + 0, 1139, 1140, 1141, 1142, 1143, 1118, 1119, 1120, 1121, + 1102, 1103, 1131, 1530, 1105, 0, 1106, 1107, 1108, 1109, + 1110, 1111, 1112, 1113, 1114, 1115, 1122, 1123, 1124, 1125, + 1126, 1127, 1128, 1129, 0, 0, 0, 145, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 139, 0, 0, 0, 0, 186, 0, - 0, 0, 0, 188, 0, 133, 0, 0, 134, 0, - 0, 0, 0, 592, 0, 0, 0, 0, 0, 0, - 0, 0, 606, 606, 606, 0, 0, 186, 0, 186, - 1078, 0, 0, 0, 0, 486, 0, 0, 0, 0, - 919, 921, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 188, 1913, 957, 956, 966, 967, 959, 960, 961, + 962, 963, 964, 965, 958, 0, 0, 968, 0, 0, + 0, 168, 0, 0, 0, 188, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 188, 188, 188, + 188, 0, 0, 0, 1132, 0, 110, 1832, 188, 0, + 0, 186, 188, 0, 0, 188, 188, 152, 0, 188, + 188, 188, 0, 0, 0, 0, 592, 957, 956, 966, + 967, 959, 960, 961, 962, 963, 964, 965, 958, 0, + 186, 968, 186, 1078, 0, 0, 0, 0, 1966, 957, + 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, + 958, 0, 0, 968, 0, 0, 0, 0, 0, 0, + 0, 149, 0, 150, 0, 0, 0, 0, 0, 0, + 0, 188, 167, 0, 0, 0, 0, 0, 0, 0, + 0, 486, 0, 0, 0, 0, 0, 486, 0, 0, + 486, 0, 0, 0, 0, 0, 0, 486, 0, 0, + 0, 0, 146, 151, 148, 154, 155, 156, 157, 159, + 160, 161, 162, 0, 0, 0, 0, 188, 163, 164, + 165, 166, 1635, 0, 0, 0, 0, 0, 0, 0, + 153, 0, 0, 0, 0, 0, 0, 188, 0, 0, + 158, 0, 957, 956, 966, 967, 959, 960, 961, 962, + 963, 964, 965, 958, 0, 0, 968, 956, 966, 967, + 959, 960, 961, 962, 963, 964, 965, 958, 0, 486, + 968, 1660, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 186, 2050, 2051, 2052, 2053, + 2054, 0, 0, 0, 2057, 2058, 0, 186, 0, 0, + 0, 1684, 1685, 1046, 0, 486, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 486, 0, 1191, 0, + 0, 0, 486, 486, 0, 0, 0, 0, 0, 0, + 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1035, 0, 1191, 1191, 188, 0, 0, 0, 186, + 0, 606, 606, 606, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, + 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, + 186, 0, 185, 186, 0, 0, 1289, 188, 0, 188, + 188, 188, 488, 0, 0, 486, 0, 186, 0, 186, + 567, 0, 0, 0, 0, 0, 0, 2147, 188, 0, + 0, 0, 0, 0, 186, 0, 0, 186, 0, 0, + 0, 0, 0, 0, 0, 756, 486, 486, 486, 0, + 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1059, 0, 0, 0, 0, 0, 0, + 0, 606, 0, 0, 0, 0, 0, 1089, 0, 0, + 0, 0, 0, 0, 0, 0, 146, 151, 148, 154, + 155, 156, 157, 159, 160, 161, 162, 0, 0, 0, + 0, 852, 163, 164, 165, 166, 1861, 0, 592, 1289, + 0, 863, 0, 592, 592, 0, 869, 592, 592, 592, + 0, 0, 0, 1191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1876, 592, 592, 592, 592, 592, 486, 486, 0, + 0, 1424, 0, 0, 0, 0, 0, 0, 0, 0, + 486, 0, 0, 486, 0, 0, 0, 0, 0, 0, + 0, 186, 0, 0, 0, 0, 0, 1289, 186, 0, + 186, 0, 0, 0, 0, 0, 0, 0, 186, 186, + 0, 0, 0, 0, 0, 0, 0, 0, 486, 486, + 486, 188, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 486, 0, 486, 0, 0, 0, 0, 0, + 486, 0, 0, 0, 0, 0, 0, 536, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 486, 0, 0, 0, 1385, 1386, 486, 486, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, - 151, 148, 154, 155, 156, 157, 159, 160, 161, 162, - 0, 188, 536, 33, 0, 163, 164, 165, 166, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1429, 0, 0, 0, 1059, 0, 0, 0, 0, 0, - 0, 0, 606, 0, 0, 0, 33, 0, 1089, 0, - 0, 0, 0, 0, 0, 0, 0, 188, 0, 188, - 188, 188, 0, 0, 0, 486, 0, 0, 0, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 188, 0, - 0, 0, 0, 0, 186, 0, 0, 0, 949, 0, - 570, 0, 0, 0, 0, 0, 486, 486, 486, 0, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1191, 0, 0, 0, 0, - 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, - 0, 0, 0, 1006, 0, 0, 0, 0, 0, 0, - 1191, 1191, 0, 0, 0, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1043, 1046, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 186, 0, 0, 0, 0, 0, 186, 0, 0, - 186, 0, 0, 1289, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 486, 486, 0, 0, 0, 0, - 0, 186, 752, 0, 186, 0, 0, 486, 0, 0, - 486, 0, 0, 0, 0, 1190, 0, 0, 0, 1196, - 1196, 0, 1196, 0, 1196, 1196, 0, 1205, 1196, 1196, - 1196, 1196, 1196, 186, 0, 0, 0, 0, 0, 0, - 1190, 1190, 752, 0, 0, 486, 486, 486, 188, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 486, - 0, 486, 0, 0, 0, 0, 0, 486, 0, 0, - 0, 0, 0, 1265, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 188, 0, 0, 0, 592, 1289, 0, 0, 0, - 592, 592, 486, 188, 592, 592, 592, 0, 0, 0, - 1191, 0, 0, 0, 0, 0, 0, 0, 606, 606, - 606, 0, 606, 606, 0, 606, 606, 0, 0, 592, - 592, 592, 592, 592, 0, 0, 0, 0, 1424, 0, - 0, 0, 0, 0, 0, 1638, 0, 0, 0, 1639, - 0, 0, 0, 0, 486, 486, 0, 0, 186, 0, - 1646, 1647, 0, 0, 1289, 186, 1653, 186, 0, 1656, - 1657, 0, 0, 0, 0, 186, 186, 1663, 0, 1664, - 486, 0, 1667, 1668, 1669, 1670, 1671, 0, 486, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1681, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1376, 0, 606, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1292, 0, 1725, 1726, 0, 1408, 1409, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 913, 913, 913, 0, 0, 0, 0, 0, - 0, 1442, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1059, 33, 0, 606, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 977, 979, 0, 0, 0, - 0, 0, 606, 0, 0, 606, 0, 0, 0, 0, - 0, 0, 1336, 1337, 1338, 1339, 752, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 992, 0, 0, 0, - 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 0, 1007, - 1010, 1010, 1010, 1016, 1010, 1010, 1016, 1010, 1024, 1025, - 1026, 1027, 1028, 1029, 1030, 0, 0, 0, 0, 0, - 1036, 0, 0, 33, 0, 0, 0, 1390, 1391, 186, - 0, 759, 0, 186, 186, 186, 186, 186, 0, 1546, - 0, 0, 0, 186, 186, 0, 0, 186, 0, 1072, - 0, 0, 0, 0, 0, 0, 0, 752, 0, 0, - 0, 0, 0, 759, 498, 1614, 1615, 186, 0, 0, - 0, 0, 1831, 1832, 0, 0, 0, 0, 0, 0, - 186, 0, 1035, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 752, 0, 0, - 0, 0, 0, 0, 0, 1492, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 0, 0, 0, 0, 1883, 0, - 0, 592, 592, 488, 0, 0, 0, 0, 0, 0, - 0, 567, 0, 0, 0, 0, 0, 0, 0, 1898, - 0, 0, 592, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1532, 0, 756, 0, 186, 0, - 0, 0, 0, 0, 0, 0, 1424, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1621, 0, 0, 0, 0, 592, + 0, 752, 0, 486, 188, 0, 0, 0, 0, 0, + 0, 33, 0, 0, 1190, 0, 0, 0, 1196, 1196, + 0, 1196, 0, 1196, 1196, 0, 1205, 1196, 1196, 1196, + 1196, 1196, 0, 0, 0, 0, 0, 0, 0, 1190, + 1190, 752, 0, 0, 0, 0, 0, 0, 0, 0, + 486, 486, 0, 0, 0, 570, 0, 0, 0, 1987, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1265, 0, 0, 0, 486, 0, 0, 0, + 486, 0, 498, 0, 0, 0, 0, 0, 0, 2010, + 0, 0, 2011, 0, 0, 2013, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 606, 606, 606, + 0, 606, 606, 0, 606, 606, 0, 0, 871, 0, + 0, 0, 186, 0, 0, 0, 186, 186, 186, 186, + 186, 0, 0, 0, 0, 0, 186, 186, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1191, 186, 186, 186, 186, 186, 0, 0, 0, 0, - 0, 0, 0, 1724, 0, 0, 0, 186, 0, 0, - 186, 186, 0, 0, 186, 1734, 1289, 0, 0, 0, - 0, 0, 852, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 863, 0, 0, 1960, 0, 869, 0, 1962, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1971, 1972, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1986, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, - 0, 0, 0, 1995, 1996, 0, 0, 2000, 0, 0, - 0, 0, 1191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1289, 0, 0, 0, 0, 0, 0, 0, - 1190, 0, 0, 0, 0, 0, 0, 0, 913, 913, - 913, 0, 913, 913, 186, 913, 913, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1612, 1613, + 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 0, 0, 186, 0, 0, 0, + 0, 0, 0, 0, 2068, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2030, 0, 0, 186, 0, 0, 0, 0, 0, + 0, 0, 0, 1376, 0, 606, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 592, 592, 1408, 1409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2055, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1662, 0, 0, 0, 0, 0, 1782, 0, - 0, 0, 1190, 0, 1789, 0, 0, 1782, 0, 0, - 0, 0, 606, 186, 1794, 0, 0, 0, 0, 0, - 0, 0, 1686, 1687, 1046, 0, 1191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2096, 2097, 2098, - 2099, 0, 2103, 0, 2104, 2105, 2106, 0, 2107, 2108, - 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, + 1442, 0, 0, 0, 0, 0, 1065, 0, 0, 1076, + 1059, 186, 0, 606, 0, 0, 0, 0, 0, 1424, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 606, 0, 0, 606, 0, 0, 0, 0, 0, + 0, 0, 592, 186, 0, 752, 0, 0, 0, 0, + 0, 0, 0, 1191, 186, 186, 186, 186, 186, 0, + 0, 0, 0, 0, 0, 0, 1722, 0, 0, 0, + 186, 0, 0, 186, 186, 0, 0, 186, 1732, 1289, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 759, 0, 0, 0, 0, 0, 0, 0, 1544, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 752, 0, 0, 0, + 0, 0, 759, 0, 0, 0, 0, 0, 0, 186, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1191, 0, 0, 0, 0, 0, 0, + 0, 1094, 0, 1289, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1152, 0, 0, 752, 913, 913, 913, + 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, + 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, + 977, 979, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1227, 592, 0, 0, 0, + 0, 992, 0, 0, 0, 997, 998, 999, 1000, 1001, + 1002, 1003, 1004, 0, 1007, 1010, 1010, 1010, 1016, 1010, + 1010, 1016, 1010, 1024, 1025, 1026, 1027, 1028, 1029, 1030, + 1275, 0, 0, 1619, 0, 1036, 1076, 0, 33, 1286, + 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, + 0, 0, 0, 1294, 0, 1296, 0, 1191, 0, 0, + 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, + 1311, 0, 0, 1314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1784, 0, + 0, 0, 0, 0, 0, 186, 0, 186, 186, 186, + 0, 0, 110, 0, 132, 0, 1191, 0, 0, 0, + 0, 0, 0, 152, 168, 0, 186, 0, 0, 0, + 0, 0, 0, 0, 0, 1167, 0, 0, 0, 1190, + 0, 0, 0, 0, 0, 0, 0, 0, 186, 110, + 0, 132, 0, 0, 142, 0, 0, 0, 0, 131, + 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 149, 0, 150, + 0, 0, 0, 0, 1171, 1172, 141, 140, 167, 0, + 0, 142, 0, 0, 0, 0, 131, 1449, 0, 0, + 0, 0, 0, 0, 1453, 0, 1456, 0, 0, 0, + 0, 0, 0, 0, 149, 1475, 150, 1191, 0, 0, + 0, 1171, 1172, 141, 140, 167, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1786, 136, 1173, 143, 1190, + 1170, 1793, 137, 138, 1786, 0, 153, 0, 0, 606, + 0, 1798, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 136, 1173, 143, 0, 1170, 0, 137, + 138, 0, 0, 153, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1474, 606, 0, 0, 871, - 0, 0, 2135, 0, 0, 0, 0, 0, 186, 0, - 186, 186, 186, 0, 0, 0, 0, 0, 0, 1191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, - 0, 0, 1196, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 186, 0, 606, 2173, 2174, 1190, 0, 0, 1884, - 1196, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 34, 35, 36, 70, - 38, 39, 0, 0, 0, 0, 0, 0, 0, 168, - 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, - 1167, 40, 66, 67, 0, 64, 68, 0, 0, 0, - 1191, 0, 65, 0, 110, 0, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 152, 752, 0, 0, 1190, - 0, 0, 0, 0, 0, 0, 0, 1065, 0, 0, - 1076, 53, 0, 0, 0, 0, 0, 0, 0, 1857, - 0, 69, 0, 0, 0, 0, 142, 1951, 1952, 1953, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, - 0, 150, 0, 0, 1872, 0, 1171, 1172, 141, 140, - 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, + 0, 0, 0, 606, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 913, 913, 913, 0, 913, 913, 0, + 913, 913, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 145, 0, 1196, + 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, + 606, 0, 0, 1190, 0, 0, 1888, 1196, 0, 0, + 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 139, 0, 1076, 0, + 0, 0, 1595, 1596, 1597, 1598, 1599, 0, 133, 0, + 0, 134, 1603, 1604, 0, 0, 1608, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1191, 139, 0, 0, 1614, 0, 0, 0, + 0, 0, 0, 0, 0, 133, 0, 0, 134, 1616, + 0, 0, 1618, 0, 0, 0, 0, 0, 0, 752, + 0, 0, 1190, 0, 0, 0, 0, 0, 34, 35, + 36, 70, 38, 39, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, + 1958, 1959, 1960, 40, 66, 67, 0, 64, 68, 0, + 1474, 0, 0, 0, 65, 0, 0, 0, 0, 0, + 0, 0, 146, 151, 148, 154, 155, 156, 157, 159, + 160, 161, 162, 0, 0, 0, 0, 0, 163, 164, + 165, 166, 0, 53, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 69, 0, 0, 0, 0, 0, 146, + 151, 148, 154, 155, 156, 157, 159, 160, 161, 162, + 0, 0, 0, 1190, 0, 163, 164, 165, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 43, 46, 49, 48, 51, 0, 63, - 1190, 0, 0, 0, 0, 0, 0, 0, 136, 1173, - 143, 0, 1170, 0, 137, 138, 0, 0, 153, 0, - 0, 0, 186, 0, 52, 73, 72, 0, 158, 61, - 62, 50, 0, 0, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1782, 2027, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1782, 0, - 0, 606, 1094, 0, 1642, 54, 55, 570, 56, 57, - 58, 59, 0, 0, 1152, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1782, 1782, 1782, 0, - 0, 0, 0, 0, 1679, 0, 0, 0, 0, 1191, - 2069, 0, 2071, 1116, 0, 0, 1980, 0, 1782, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, - 1072, 0, 0, 0, 0, 0, 1227, 1706, 1707, 498, - 0, 1072, 1072, 1072, 1072, 1072, 2003, 0, 0, 2004, - 0, 0, 2006, 1782, 0, 0, 0, 1474, 0, 0, - 1072, 0, 0, 71, 1072, 0, 0, 0, 0, 0, - 0, 1275, 0, 0, 0, 0, 0, 1076, 139, 0, - 1286, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 0, 0, 134, 1294, 0, 1296, 0, 0, 0, - 0, 0, 0, 0, 0, 606, 606, 0, 0, 0, - 0, 1311, 0, 0, 1314, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1104, 0, 0, 1190, - 0, 2149, 0, 0, 0, 0, 0, 0, 0, 1782, - 0, 0, 0, 1076, 0, 0, 0, 0, 2063, 498, - 0, 0, 0, 0, 0, 1795, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1117, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 146, 151, 148, 154, 155, 156, - 157, 159, 160, 161, 162, 0, 0, 0, 0, 0, - 163, 164, 165, 166, 0, 1130, 1133, 1134, 1135, 1136, - 1137, 1138, 0, 1139, 1140, 1141, 1142, 1143, 1118, 1119, - 1120, 1121, 1102, 1103, 1131, 0, 1105, 0, 1106, 1107, - 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1449, 0, - 0, 0, 0, 0, 0, 1453, 0, 1456, 0, 0, - 0, 0, 0, 0, 0, 0, 1475, 1881, 0, 33, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1072, 0, 0, 0, 1132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1729, 1786, 2032, 0, 0, 43, 46, 49, 48, 51, + 0, 63, 0, 0, 1786, 0, 0, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 73, 72, 0, + 0, 61, 62, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 1786, 1786, 1786, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1780, 2074, 0, 2076, 0, + 0, 0, 0, 0, 1786, 0, 0, 54, 55, 0, + 56, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1786, 0, 0, + 0, 1810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 606, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 0, 1190, 0, + 2145, 0, 0, 0, 1786, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1640, + 0, 0, 570, 0, 0, 0, 0, 0, 0, 0, + 1873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1977, 0, 0, - 0, 0, 0, 0, 1983, 1984, 1985, 0, 0, 0, + 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, + 0, 0, 1704, 1705, 0, 0, 1072, 1072, 1072, 1072, + 1072, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1474, 0, 0, 1072, 0, 0, 0, 1072, + 0, 1935, 0, 1936, 1937, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1076, - 0, 0, 0, 1597, 1598, 1599, 1600, 1601, 0, 0, - 0, 0, 0, 1605, 1606, 0, 0, 1610, 0, 0, + 0, 0, 0, 0, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1618, 0, 0, 1620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1881, 0, 33, - 0, 1881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1881, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 2125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1885, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1776, 0, + 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2086, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1984, 0, 0, 0, + 0, 0, 0, 1990, 1991, 1992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1682,65 +1667,19 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, - 1929, 1930, 1931, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1885, + 0, 33, 0, 1885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 730, 717, 0, 0, 666, 733, 637, 655, - 742, 657, 660, 700, 617, 679, 329, 652, 0, 641, - 613, 648, 614, 639, 668, 240, 672, 636, 719, 682, - 732, 287, 0, 619, 642, 342, 702, 379, 226, 296, - 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, - 334, 739, 291, 689, 0, 388, 314, 0, 0, 0, - 670, 722, 677, 713, 665, 701, 626, 688, 734, 653, - 697, 735, 277, 224, 194, 326, 389, 253, 0, 0, - 0, 176, 177, 178, 0, 2132, 2133, 0, 0, 0, - 0, 0, 216, 0, 222, 694, 729, 650, 696, 236, - 275, 242, 235, 404, 699, 745, 612, 691, 0, 615, - 618, 741, 725, 645, 646, 0, 0, 0, 0, 0, - 0, 0, 669, 678, 710, 663, 0, 0, 0, 0, - 0, 0, 0, 0, 643, 0, 687, 0, 0, 0, - 622, 616, 2086, 0, 0, 0, 667, 0, 0, 0, - 625, 0, 644, 711, 2095, 610, 261, 620, 315, 715, - 724, 664, 432, 728, 662, 661, 731, 706, 623, 721, - 656, 286, 621, 283, 190, 204, 0, 654, 325, 363, - 369, 720, 640, 649, 227, 647, 367, 338, 419, 212, - 251, 360, 343, 365, 686, 704, 366, 292, 408, 355, - 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, - 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, - 193, 290, 197, 396, 416, 217, 377, 0, 0, 0, - 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, - 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, - 208, 428, 321, 407, 415, 310, 301, 200, 413, 308, - 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, - 318, 0, 195, 0, 390, 423, 445, 214, 635, 716, - 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, - 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, - 386, 284, 293, 708, 744, 337, 368, 218, 421, 387, - 630, 634, 628, 629, 680, 681, 631, 736, 737, 738, - 712, 624, 0, 632, 633, 0, 718, 726, 727, 685, - 189, 202, 289, 740, 357, 254, 443, 427, 424, 611, - 627, 233, 638, 0, 0, 651, 658, 659, 671, 673, - 674, 675, 676, 684, 692, 693, 695, 703, 705, 707, - 709, 714, 723, 743, 191, 192, 203, 211, 220, 232, - 245, 252, 262, 266, 269, 272, 273, 276, 281, 298, - 303, 304, 305, 306, 322, 323, 324, 327, 330, 331, - 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, - 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, - 381, 382, 383, 391, 395, 409, 410, 420, 431, 435, - 263, 417, 436, 0, 297, 683, 690, 299, 249, 265, - 274, 698, 426, 392, 206, 364, 255, 196, 223, 210, - 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, - 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, - 730, 717, 0, 0, 666, 733, 637, 655, 742, 657, + 1885, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 730, 717, 33, 2121, 666, 733, 637, 655, 742, 657, 660, 700, 617, 679, 329, 652, 0, 641, 613, 648, 614, 639, 668, 240, 672, 636, 719, 682, 732, 287, 0, 619, 642, 342, 702, 379, 226, 296, 294, 406, @@ -1748,12 +1687,12 @@ var yyAct = [...]int{ 291, 689, 0, 388, 314, 0, 0, 0, 670, 722, 677, 713, 665, 701, 626, 688, 734, 653, 697, 735, 277, 224, 194, 326, 389, 253, 0, 0, 0, 176, - 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, + 177, 178, 0, 2128, 2129, 0, 0, 0, 0, 0, 216, 0, 222, 694, 729, 650, 696, 236, 275, 242, 235, 404, 699, 745, 612, 691, 0, 615, 618, 741, 725, 645, 646, 0, 0, 0, 0, 0, 0, 0, 669, 678, 710, 663, 0, 0, 0, 0, 0, 0, - 1873, 0, 643, 0, 687, 0, 0, 0, 622, 616, + 0, 0, 643, 0, 687, 0, 0, 0, 622, 616, 0, 0, 0, 0, 667, 0, 0, 0, 625, 0, 644, 711, 0, 610, 261, 620, 315, 715, 724, 664, 432, 728, 662, 661, 731, 706, 623, 721, 656, 286, @@ -1798,7 +1737,7 @@ var yyAct = [...]int{ 222, 694, 729, 650, 696, 236, 275, 242, 235, 404, 699, 745, 612, 691, 0, 615, 618, 741, 725, 645, 646, 0, 0, 0, 0, 0, 0, 0, 669, 678, - 710, 663, 0, 0, 0, 0, 0, 0, 1735, 0, + 710, 663, 0, 0, 0, 0, 0, 0, 1877, 0, 643, 0, 687, 0, 0, 0, 622, 616, 0, 0, 0, 0, 667, 0, 0, 0, 625, 0, 644, 711, 0, 610, 261, 620, 315, 715, 724, 664, 432, 728, @@ -1844,7 +1783,7 @@ var yyAct = [...]int{ 729, 650, 696, 236, 275, 242, 235, 404, 699, 745, 612, 691, 0, 615, 618, 741, 725, 645, 646, 0, 0, 0, 0, 0, 0, 0, 669, 678, 710, 663, - 0, 0, 0, 0, 0, 0, 1451, 0, 643, 0, + 0, 0, 0, 0, 0, 0, 1733, 0, 643, 0, 687, 0, 0, 0, 622, 616, 0, 0, 0, 0, 667, 0, 0, 0, 625, 0, 644, 711, 0, 610, 261, 620, 315, 715, 724, 664, 432, 728, 662, 661, @@ -1885,12 +1824,12 @@ var yyAct = [...]int{ 340, 397, 334, 739, 291, 689, 0, 388, 314, 0, 0, 0, 670, 722, 677, 713, 665, 701, 626, 688, 734, 653, 697, 735, 277, 224, 194, 326, 389, 253, - 69, 0, 0, 176, 177, 178, 0, 0, 0, 0, + 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 694, 729, 650, 696, 236, 275, 242, 235, 404, 699, 745, 612, 691, 0, 615, 618, 741, 725, 645, 646, 0, 0, 0, 0, 0, 0, 0, 669, 678, 710, 663, 0, 0, - 0, 0, 0, 0, 0, 0, 643, 0, 687, 0, + 0, 0, 0, 0, 1451, 0, 643, 0, 687, 0, 0, 0, 622, 616, 0, 0, 0, 0, 667, 0, 0, 0, 625, 0, 644, 711, 0, 610, 261, 620, 315, 715, 724, 664, 432, 728, 662, 661, 731, 706, @@ -1930,7 +1869,7 @@ var yyAct = [...]int{ 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 739, 291, 689, 0, 388, 314, 0, 0, 0, 670, 722, 677, 713, 665, 701, 626, 688, 734, 653, - 697, 735, 277, 224, 194, 326, 389, 253, 0, 0, + 697, 735, 277, 224, 194, 326, 389, 253, 69, 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 694, 729, 650, 696, 236, 275, 242, 235, 404, 699, 745, 612, 691, 0, 615, @@ -1993,12 +1932,12 @@ var yyAct = [...]int{ 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, - 328, 411, 412, 228, 444, 207, 429, 201, 747, 428, + 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, 635, 716, 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, - 439, 440, 213, 350, 264, 609, 746, 603, 602, 284, + 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, 708, 744, 337, 368, 218, 421, 387, 630, 634, 628, 629, 680, 681, 631, 736, 737, 738, 712, 624, 0, 632, 633, 0, 718, 726, 727, 685, 189, 202, @@ -2037,7 +1976,7 @@ var yyAct = [...]int{ 686, 704, 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, - 1080, 217, 377, 0, 0, 0, 199, 414, 393, 309, + 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, 747, 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, @@ -2082,7 +2021,7 @@ var yyAct = [...]int{ 367, 338, 419, 212, 251, 360, 343, 365, 686, 704, 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, - 405, 282, 384, 259, 193, 290, 197, 396, 600, 217, + 405, 282, 384, 259, 193, 290, 197, 396, 1080, 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, 747, 428, 321, 407, 415, 310, @@ -2106,107 +2045,64 @@ var yyAct = [...]int{ 690, 299, 249, 265, 274, 698, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, - 400, 402, 311, 237, 329, 0, 0, 1378, 0, 503, - 0, 0, 0, 240, 0, 502, 0, 0, 0, 287, - 0, 0, 1379, 342, 0, 379, 226, 296, 294, 406, - 250, 243, 239, 225, 271, 302, 340, 397, 334, 546, - 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, - 537, 538, 0, 0, 0, 0, 0, 0, 0, 0, - 277, 224, 194, 326, 389, 253, 69, 0, 0, 176, - 177, 178, 524, 523, 526, 527, 528, 529, 0, 0, - 216, 525, 222, 530, 531, 532, 0, 236, 275, 242, - 235, 404, 0, 0, 0, 500, 517, 0, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 514, 515, - 590, 0, 0, 0, 560, 0, 516, 0, 0, 509, - 510, 512, 511, 513, 518, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 0, 315, 559, 0, 0, - 432, 0, 0, 557, 0, 0, 0, 0, 0, 286, - 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, - 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, - 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, - 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, - 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, - 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, - 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, - 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, - 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, - 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, - 195, 0, 390, 423, 445, 214, 0, 0, 403, 438, - 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, - 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, - 293, 0, 0, 337, 368, 218, 421, 387, 547, 558, - 553, 554, 551, 552, 0, 550, 549, 548, 561, 539, - 540, 541, 542, 544, 0, 555, 556, 543, 189, 202, - 289, 0, 357, 254, 443, 427, 424, 0, 0, 233, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 203, 211, 220, 232, 245, 252, - 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, - 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, - 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, - 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, - 383, 391, 395, 409, 410, 420, 431, 435, 263, 417, - 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, - 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, - 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, - 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, - 0, 0, 0, 503, 0, 0, 0, 240, 0, 502, - 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, + 400, 402, 311, 237, 730, 717, 0, 0, 666, 733, + 637, 655, 742, 657, 660, 700, 617, 679, 329, 652, + 0, 641, 613, 648, 614, 639, 668, 240, 672, 636, + 719, 682, 732, 287, 0, 619, 642, 342, 702, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, - 340, 397, 334, 546, 291, 0, 0, 388, 314, 0, - 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, - 0, 0, 1490, 0, 277, 224, 194, 326, 389, 253, - 69, 0, 0, 176, 177, 178, 524, 523, 526, 527, - 528, 529, 0, 0, 216, 525, 222, 530, 531, 532, - 1491, 236, 275, 242, 235, 404, 0, 0, 0, 500, - 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 514, 515, 0, 0, 0, 0, 560, 0, - 516, 0, 0, 509, 510, 512, 511, 513, 518, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, - 315, 559, 0, 0, 432, 0, 0, 557, 0, 0, - 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, - 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, - 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, + 340, 397, 334, 739, 291, 689, 0, 388, 314, 0, + 0, 0, 670, 722, 677, 713, 665, 701, 626, 688, + 734, 653, 697, 735, 277, 224, 194, 326, 389, 253, + 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 222, 694, 729, 650, + 696, 236, 275, 242, 235, 404, 699, 745, 612, 691, + 0, 615, 618, 741, 725, 645, 646, 0, 0, 0, + 0, 0, 0, 0, 669, 678, 710, 663, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 0, 687, 0, + 0, 0, 622, 616, 0, 0, 0, 0, 667, 0, + 0, 0, 625, 0, 644, 711, 0, 610, 261, 620, + 315, 715, 724, 664, 432, 728, 662, 661, 731, 706, + 623, 721, 656, 286, 621, 283, 190, 204, 0, 654, + 325, 363, 369, 720, 640, 649, 227, 647, 367, 338, + 419, 212, 251, 360, 343, 365, 686, 704, 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, - 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, + 384, 259, 193, 290, 197, 396, 600, 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, - 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, + 429, 201, 747, 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, - 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, - 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, - 209, 270, 386, 284, 293, 0, 0, 337, 368, 218, - 421, 387, 547, 558, 553, 554, 551, 552, 0, 550, - 549, 548, 561, 539, 540, 541, 542, 544, 0, 555, - 556, 543, 189, 202, 289, 0, 357, 254, 443, 427, - 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 203, 211, + 635, 716, 403, 438, 441, 0, 356, 215, 258, 247, + 352, 256, 288, 437, 439, 440, 213, 350, 264, 609, + 746, 603, 602, 284, 293, 708, 744, 337, 368, 218, + 421, 387, 630, 634, 628, 629, 680, 681, 631, 736, + 737, 738, 712, 624, 0, 632, 633, 0, 718, 726, + 727, 685, 189, 202, 289, 740, 357, 254, 443, 427, + 424, 611, 627, 233, 638, 0, 0, 651, 658, 659, + 671, 673, 674, 675, 676, 684, 692, 693, 695, 703, + 705, 707, 709, 714, 723, 743, 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, - 431, 435, 263, 417, 436, 0, 297, 0, 0, 299, - 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, + 431, 435, 263, 417, 436, 0, 297, 683, 690, 299, + 249, 265, 274, 698, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, - 311, 237, 329, 0, 0, 0, 0, 503, 0, 0, + 311, 237, 329, 0, 0, 1378, 0, 503, 0, 0, 0, 240, 0, 502, 0, 0, 0, 287, 0, 0, - 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, + 1379, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 546, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, - 194, 326, 389, 253, 69, 0, 578, 176, 177, 178, + 194, 326, 389, 253, 69, 0, 0, 176, 177, 178, 524, 523, 526, 527, 528, 529, 0, 0, 216, 525, 222, 530, 531, 532, 0, 236, 275, 242, 235, 404, 0, 0, 0, 500, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 514, 515, 0, 0, + 0, 0, 0, 0, 0, 0, 514, 515, 590, 0, 0, 0, 560, 0, 516, 0, 0, 509, 510, 512, 511, 513, 518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, 559, 0, 0, 432, 0, @@ -2245,13 +2141,13 @@ var yyAct = [...]int{ 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 546, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, 0, 0, - 0, 0, 277, 224, 194, 326, 389, 253, 69, 0, + 1490, 0, 277, 224, 194, 326, 389, 253, 69, 0, 0, 176, 177, 178, 524, 523, 526, 527, 528, 529, - 0, 0, 216, 525, 222, 530, 531, 532, 0, 236, + 0, 0, 216, 525, 222, 530, 531, 532, 1491, 236, 275, 242, 235, 404, 0, 0, 0, 500, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 514, 515, 590, 0, 0, 0, 560, 0, 516, 0, + 514, 515, 0, 0, 0, 0, 560, 0, 516, 0, 0, 509, 510, 512, 511, 513, 518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, 559, 0, 0, 432, 0, 0, 557, 0, 0, 0, 0, @@ -2290,12 +2186,12 @@ var yyAct = [...]int{ 271, 302, 340, 397, 334, 546, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, - 389, 253, 69, 0, 0, 176, 177, 178, 524, 1396, + 389, 253, 69, 0, 578, 176, 177, 178, 524, 523, 526, 527, 528, 529, 0, 0, 216, 525, 222, 530, 531, 532, 0, 236, 275, 242, 235, 404, 0, 0, 0, 500, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 514, 515, 590, 0, 0, 0, + 0, 0, 0, 0, 514, 515, 0, 0, 0, 0, 560, 0, 516, 0, 0, 509, 510, 512, 511, 513, 518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, 559, 0, 0, 432, 0, 0, 557, @@ -2335,7 +2231,7 @@ var yyAct = [...]int{ 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, 69, 0, 0, 176, - 177, 178, 524, 1393, 526, 527, 528, 529, 0, 0, + 177, 178, 524, 523, 526, 527, 528, 529, 0, 0, 216, 525, 222, 530, 531, 532, 0, 236, 275, 242, 235, 404, 0, 0, 0, 500, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2372,99 +2268,99 @@ var yyAct = [...]int{ 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, - 219, 378, 398, 399, 400, 402, 311, 237, 571, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 0, 503, 0, 0, 0, - 240, 0, 502, 0, 0, 0, 287, 0, 0, 0, - 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, - 225, 271, 302, 340, 397, 334, 546, 291, 0, 0, - 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, - 326, 389, 253, 69, 0, 0, 176, 177, 178, 524, - 523, 526, 527, 528, 529, 0, 0, 216, 525, 222, - 530, 531, 532, 0, 236, 275, 242, 235, 404, 0, - 0, 0, 500, 517, 0, 545, 0, 0, 0, 0, + 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, + 0, 0, 0, 503, 0, 0, 0, 240, 0, 502, + 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, + 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, + 340, 397, 334, 546, 291, 0, 0, 388, 314, 0, + 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, + 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, + 69, 0, 0, 176, 177, 178, 524, 1396, 526, 527, + 528, 529, 0, 0, 216, 525, 222, 530, 531, 532, + 0, 236, 275, 242, 235, 404, 0, 0, 0, 500, + 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 514, 515, 0, 0, 0, - 0, 560, 0, 516, 0, 0, 509, 510, 512, 511, - 513, 518, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 0, 315, 559, 0, 0, 432, 0, 0, - 557, 0, 0, 0, 0, 0, 286, 0, 283, 190, - 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, - 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, - 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, - 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, - 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, - 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, - 280, 198, 0, 359, 238, 257, 229, 328, 411, 412, - 228, 444, 207, 429, 201, 208, 428, 321, 407, 415, - 310, 301, 200, 413, 308, 300, 285, 248, 267, 353, - 295, 354, 268, 317, 316, 318, 0, 195, 0, 390, - 423, 445, 214, 0, 0, 403, 438, 441, 0, 356, - 215, 258, 247, 352, 256, 288, 437, 439, 440, 213, - 350, 264, 320, 209, 270, 386, 284, 293, 0, 0, - 337, 368, 218, 421, 387, 547, 558, 553, 554, 551, - 552, 0, 550, 549, 548, 561, 539, 540, 541, 542, - 544, 0, 555, 556, 543, 189, 202, 289, 0, 357, - 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, + 0, 0, 514, 515, 590, 0, 0, 0, 560, 0, + 516, 0, 0, 509, 510, 512, 511, 513, 518, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, + 315, 559, 0, 0, 432, 0, 0, 557, 0, 0, + 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, + 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, + 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, + 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, + 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, + 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, + 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, + 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, + 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, + 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, + 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, + 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, + 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, + 209, 270, 386, 284, 293, 0, 0, 337, 368, 218, + 421, 387, 547, 558, 553, 554, 551, 552, 0, 550, + 549, 548, 561, 539, 540, 541, 542, 544, 0, 555, + 556, 543, 189, 202, 289, 0, 357, 254, 443, 427, + 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 203, 211, 220, 232, 245, 252, 262, 266, 269, - 272, 273, 276, 281, 298, 303, 304, 305, 306, 322, - 323, 324, 327, 330, 331, 333, 335, 336, 339, 345, - 346, 347, 348, 349, 351, 358, 362, 370, 371, 372, - 373, 374, 375, 376, 380, 381, 382, 383, 391, 395, - 409, 410, 420, 431, 435, 263, 417, 436, 0, 297, - 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, - 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, - 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, - 399, 400, 402, 311, 237, 329, 0, 0, 0, 0, - 503, 0, 0, 0, 240, 0, 502, 0, 0, 0, - 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, - 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, - 546, 291, 0, 0, 388, 314, 0, 0, 0, 0, - 0, 537, 538, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 224, 194, 326, 389, 253, 69, 0, 0, - 176, 177, 178, 524, 523, 526, 527, 528, 529, 0, - 0, 216, 525, 222, 530, 531, 532, 0, 236, 275, - 242, 235, 404, 0, 0, 0, 500, 517, 0, 545, + 0, 0, 0, 0, 0, 0, 191, 192, 203, 211, + 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, + 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, + 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, + 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, + 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, + 431, 435, 263, 417, 436, 0, 297, 0, 0, 299, + 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, + 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, + 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, + 311, 237, 329, 0, 0, 0, 0, 503, 0, 0, + 0, 240, 0, 502, 0, 0, 0, 287, 0, 0, + 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, + 239, 225, 271, 302, 340, 397, 334, 546, 291, 0, + 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, + 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, + 194, 326, 389, 253, 69, 0, 0, 176, 177, 178, + 524, 1393, 526, 527, 528, 529, 0, 0, 216, 525, + 222, 530, 531, 532, 0, 236, 275, 242, 235, 404, + 0, 0, 0, 500, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, - 515, 0, 0, 0, 0, 560, 0, 516, 0, 0, - 509, 510, 512, 511, 513, 518, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 0, 315, 559, 0, - 0, 432, 0, 0, 557, 0, 0, 0, 0, 0, - 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, - 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, - 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, - 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, - 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, - 290, 197, 396, 416, 217, 377, 0, 0, 0, 199, - 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, - 229, 328, 411, 412, 228, 444, 207, 429, 201, 208, - 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, - 285, 248, 267, 353, 295, 354, 268, 317, 316, 318, - 0, 195, 0, 390, 423, 445, 214, 0, 0, 403, - 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, - 437, 439, 440, 213, 350, 264, 320, 209, 270, 386, - 284, 293, 0, 0, 337, 368, 218, 421, 387, 547, - 558, 553, 554, 551, 552, 0, 550, 549, 548, 561, - 539, 540, 541, 542, 544, 0, 555, 556, 543, 189, - 202, 289, 0, 357, 254, 443, 427, 424, 0, 0, - 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 514, 515, 590, 0, + 0, 0, 560, 0, 516, 0, 0, 509, 510, 512, + 511, 513, 518, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 261, 0, 315, 559, 0, 0, 432, 0, + 0, 557, 0, 0, 0, 0, 0, 286, 0, 283, + 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, + 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, + 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, + 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, + 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, + 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, + 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, + 412, 228, 444, 207, 429, 201, 208, 428, 321, 407, + 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, + 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, + 390, 423, 445, 214, 0, 0, 403, 438, 441, 0, + 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, + 213, 350, 264, 320, 209, 270, 386, 284, 293, 0, + 0, 337, 368, 218, 421, 387, 547, 558, 553, 554, + 551, 552, 0, 550, 549, 548, 561, 539, 540, 541, + 542, 544, 0, 555, 556, 543, 189, 202, 289, 0, + 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 203, 211, 220, 232, 245, - 252, 262, 266, 269, 272, 273, 276, 281, 298, 303, - 304, 305, 306, 322, 323, 324, 327, 330, 331, 333, - 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, - 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, - 382, 383, 391, 395, 409, 410, 420, 431, 435, 263, - 417, 436, 0, 297, 0, 0, 299, 249, 265, 274, - 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, - 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, - 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, + 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, + 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, + 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, + 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, + 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, + 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, + 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, + 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, + 398, 399, 400, 402, 311, 237, 571, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, + 0, 0, 0, 0, 503, 0, 0, 0, 240, 0, + 502, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 546, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, 0, 0, @@ -2472,7 +2368,7 @@ var yyAct = [...]int{ 253, 69, 0, 0, 176, 177, 178, 524, 523, 526, 527, 528, 529, 0, 0, 216, 525, 222, 530, 531, 532, 0, 236, 275, 242, 235, 404, 0, 0, 0, - 0, 517, 0, 545, 0, 0, 0, 0, 0, 0, + 500, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 515, 0, 0, 0, 0, 560, 0, 516, 0, 0, 509, 510, 512, 511, 513, 518, @@ -2480,7 +2376,7 @@ var yyAct = [...]int{ 0, 315, 559, 0, 0, 432, 0, 0, 557, 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, - 338, 419, 212, 251, 360, 343, 365, 2153, 0, 366, + 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, @@ -2507,16 +2403,16 @@ var yyAct = [...]int{ 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, + 402, 311, 237, 329, 0, 0, 0, 0, 503, 0, + 0, 0, 240, 0, 502, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 546, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 224, 194, 326, 389, 253, 69, 0, 578, 176, 177, + 224, 194, 326, 389, 253, 69, 0, 0, 176, 177, 178, 524, 523, 526, 527, 528, 529, 0, 0, 216, 525, 222, 530, 531, 532, 0, 236, 275, 242, 235, - 404, 0, 0, 0, 0, 517, 0, 545, 0, 0, + 404, 0, 0, 0, 500, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 515, 0, 0, 0, 0, 560, 0, 516, 0, 0, 509, 510, @@ -2569,7 +2465,7 @@ var yyAct = [...]int{ 559, 0, 0, 432, 0, 0, 557, 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, - 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, + 212, 251, 360, 343, 365, 2148, 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, @@ -2599,19 +2495,19 @@ var yyAct = [...]int{ 237, 329, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, - 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, - 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 271, 302, 340, 397, 334, 546, 291, 0, 0, + 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, - 326, 389, 253, 0, 0, 0, 176, 177, 178, 0, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, - 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 957, 956, 966, 967, 959, 960, 961, 962, 963, - 964, 965, 958, 0, 0, 968, 0, 0, 0, 0, + 326, 389, 253, 69, 0, 578, 176, 177, 178, 524, + 523, 526, 527, 528, 529, 0, 0, 216, 525, 222, + 530, 531, 532, 0, 236, 275, 242, 235, 404, 0, + 0, 0, 0, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 0, 315, 0, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, + 0, 0, 0, 0, 0, 514, 515, 0, 0, 0, + 0, 560, 0, 516, 0, 0, 509, 510, 512, 511, + 513, 518, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 261, 0, 315, 559, 0, 0, 432, 0, 0, + 557, 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, @@ -2625,9 +2521,9 @@ var yyAct = [...]int{ 423, 445, 214, 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, 0, 0, - 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 202, 289, 0, 357, + 337, 368, 218, 421, 387, 547, 558, 553, 554, 551, + 552, 0, 550, 549, 548, 561, 539, 540, 541, 542, + 544, 0, 555, 556, 543, 189, 202, 289, 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, @@ -2641,22 +2537,22 @@ var yyAct = [...]int{ 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 791, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, - 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 224, 194, 326, 389, 253, 0, 0, 0, - 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, - 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 291, 0, 0, 388, 314, 0, 0, 0, 0, + 0, 537, 538, 0, 0, 0, 0, 0, 0, 0, + 0, 277, 224, 194, 326, 389, 253, 69, 0, 0, + 176, 177, 178, 524, 523, 526, 527, 528, 529, 0, + 0, 216, 525, 222, 530, 531, 532, 0, 236, 275, + 242, 235, 404, 0, 0, 0, 0, 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 0, 315, 0, 0, - 790, 432, 0, 0, 0, 0, 0, 0, 787, 788, - 286, 755, 283, 190, 204, 781, 785, 325, 363, 369, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, + 515, 0, 0, 0, 0, 560, 0, 516, 0, 0, + 509, 510, 512, 511, 513, 518, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 261, 0, 315, 559, 0, + 0, 432, 0, 0, 557, 0, 0, 0, 0, 0, + 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, @@ -2669,9 +2565,9 @@ var yyAct = [...]int{ 0, 195, 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, 386, - 284, 293, 0, 0, 337, 368, 218, 421, 387, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, + 284, 293, 0, 0, 337, 368, 218, 421, 387, 547, + 558, 553, 554, 551, 552, 0, 550, 549, 548, 561, + 539, 540, 541, 542, 544, 0, 555, 556, 543, 189, 202, 289, 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2685,19 +2581,19 @@ var yyAct = [...]int{ 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 0, 0, 1058, 0, 0, 0, 0, 240, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 0, 0, 0, 176, 177, 178, 0, 1060, 0, + 253, 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, - 0, 0, 236, 275, 242, 235, 404, 946, 947, 945, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 948, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, + 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, + 958, 0, 0, 968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, @@ -2729,113 +2625,113 @@ var yyAct = [...]int{ 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, - 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, - 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 277, 224, 194, 326, 389, 253, 69, 0, - 578, 176, 177, 178, 0, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, - 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 402, 311, 237, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 791, 0, 0, 0, 0, 287, 0, + 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, + 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, + 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, + 224, 194, 326, 389, 253, 0, 0, 0, 176, 177, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, + 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 261, 0, 315, 0, - 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, - 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, - 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, - 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, - 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, - 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, - 193, 290, 197, 396, 416, 217, 377, 0, 0, 0, - 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, - 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, - 208, 428, 321, 407, 415, 310, 301, 200, 413, 308, - 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, - 318, 0, 195, 0, 390, 423, 445, 214, 0, 0, - 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, - 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, - 386, 284, 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 261, 0, 315, 0, 0, 790, 432, + 0, 0, 0, 0, 0, 0, 787, 788, 286, 755, + 283, 190, 204, 781, 785, 325, 363, 369, 0, 0, + 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, + 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, + 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, + 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, + 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, + 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, + 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, + 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, + 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, + 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, + 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, + 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, + 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 202, 289, 0, 357, 254, 443, 427, 424, 0, - 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 189, 202, 289, + 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 203, 211, 220, 232, - 245, 252, 262, 266, 269, 272, 273, 276, 281, 298, - 303, 304, 305, 306, 322, 323, 324, 327, 330, 331, - 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, - 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, - 381, 382, 383, 391, 395, 409, 410, 420, 431, 435, - 263, 417, 436, 0, 297, 0, 0, 299, 249, 265, - 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, - 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, - 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, - 329, 0, 0, 0, 1423, 0, 0, 0, 0, 240, - 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, - 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, - 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, - 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, - 389, 253, 0, 0, 0, 176, 177, 178, 0, 1425, - 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, - 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, + 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, + 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, + 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, + 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, + 391, 395, 409, 410, 420, 431, 435, 263, 417, 436, + 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, + 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, + 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, + 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, + 0, 1058, 0, 0, 0, 0, 240, 0, 0, 0, + 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, + 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, + 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, + 0, 0, 176, 177, 178, 0, 1060, 0, 0, 0, + 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, + 236, 275, 242, 235, 404, 946, 947, 945, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 261, 0, 315, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, - 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, - 367, 338, 419, 212, 251, 360, 343, 365, 0, 1421, - 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, - 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, - 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, - 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, - 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, - 444, 207, 429, 201, 208, 428, 321, 407, 415, 310, - 301, 200, 413, 308, 300, 285, 248, 267, 353, 295, - 354, 268, 317, 316, 318, 0, 195, 0, 390, 423, - 445, 214, 0, 0, 403, 438, 441, 0, 356, 215, - 258, 247, 352, 256, 288, 437, 439, 440, 213, 350, - 264, 320, 209, 270, 386, 284, 293, 0, 0, 337, - 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, + 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, + 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, + 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, + 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, + 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, + 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, + 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, + 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, + 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, + 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, + 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, + 316, 318, 0, 195, 0, 390, 423, 445, 214, 0, + 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, + 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, + 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, + 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 202, 289, 0, 357, 254, - 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, + 0, 189, 202, 289, 0, 357, 254, 443, 427, 424, + 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 203, 211, 220, 232, 245, 252, 262, 266, 269, 272, - 273, 276, 281, 298, 303, 304, 305, 306, 322, 323, - 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, - 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, - 374, 375, 376, 380, 381, 382, 383, 391, 395, 409, - 410, 420, 431, 435, 263, 417, 436, 0, 297, 0, - 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, - 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, - 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, - 400, 402, 311, 237, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, + 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, + 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, + 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, + 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, + 380, 381, 382, 383, 391, 395, 409, 410, 420, 431, + 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, + 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, + 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, + 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, + 237, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 277, 224, 194, 326, 389, 253, 0, 0, 0, 176, + 277, 224, 194, 326, 389, 253, 69, 0, 578, 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 749, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, - 755, 283, 190, 204, 753, 0, 325, 363, 369, 0, + 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, @@ -2881,7 +2777,7 @@ var yyAct = [...]int{ 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, - 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, + 419, 212, 251, 360, 343, 365, 0, 1421, 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, @@ -2908,104 +2804,104 @@ var yyAct = [...]int{ 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, - 311, 237, 34, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, - 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, - 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, - 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, + 311, 237, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, + 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, + 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, + 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, + 194, 326, 389, 253, 0, 0, 0, 176, 177, 178, + 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 224, 194, 326, 389, 253, 69, 0, 0, - 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, - 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 261, 0, 315, 0, 0, 0, 432, 0, + 0, 0, 0, 0, 0, 0, 0, 286, 755, 283, + 190, 204, 753, 0, 325, 363, 369, 0, 0, 0, + 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, + 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, + 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, + 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, + 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, + 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, + 412, 228, 444, 207, 429, 201, 208, 428, 321, 407, + 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, + 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, + 390, 423, 445, 214, 0, 0, 403, 438, 441, 0, + 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, + 213, 350, 264, 320, 209, 270, 386, 284, 293, 0, + 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 0, 315, 0, 0, - 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, - 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, - 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, - 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, - 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, - 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, - 290, 197, 396, 416, 217, 377, 0, 0, 0, 199, - 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, - 229, 328, 411, 412, 228, 444, 207, 429, 201, 208, - 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, - 285, 248, 267, 353, 295, 354, 268, 317, 316, 318, - 0, 195, 0, 390, 423, 445, 214, 0, 0, 403, - 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, - 437, 439, 440, 213, 350, 264, 320, 209, 270, 386, - 284, 293, 0, 0, 337, 368, 218, 421, 387, 0, + 0, 0, 0, 0, 0, 0, 189, 202, 289, 0, + 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 202, 289, 0, 357, 254, 443, 427, 424, 0, 0, - 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 203, 211, 220, 232, 245, - 252, 262, 266, 269, 272, 273, 276, 281, 298, 303, - 304, 305, 306, 322, 323, 324, 327, 330, 331, 333, - 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, - 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, - 382, 383, 391, 395, 409, 410, 420, 431, 435, 263, - 417, 436, 0, 297, 0, 0, 299, 249, 265, 274, - 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, - 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, - 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, - 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, - 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, + 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, + 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, + 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, + 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, + 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, + 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, + 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, + 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, + 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, + 398, 399, 400, 402, 311, 237, 329, 0, 0, 0, + 1423, 0, 0, 0, 0, 240, 0, 0, 0, 0, + 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, + 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, + 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 0, 0, 0, 176, 177, 178, 0, 0, 1443, - 0, 0, 1444, 0, 0, 216, 0, 222, 0, 0, - 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, + 0, 0, 277, 224, 194, 326, 389, 253, 0, 0, + 0, 176, 177, 178, 0, 1425, 0, 0, 0, 0, + 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, + 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, - 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, - 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, - 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, - 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, - 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, - 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, - 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, - 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, - 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, - 207, 429, 201, 208, 428, 321, 407, 415, 310, 301, - 200, 413, 308, 300, 285, 248, 267, 353, 295, 354, - 268, 317, 316, 318, 0, 195, 0, 390, 423, 445, - 214, 0, 0, 403, 438, 441, 0, 356, 215, 258, - 247, 352, 256, 288, 437, 439, 440, 213, 350, 264, - 320, 209, 270, 386, 284, 293, 0, 0, 337, 368, - 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 261, 0, 315, 0, + 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, + 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, + 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, + 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, + 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, + 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, + 193, 290, 197, 396, 416, 217, 377, 0, 0, 0, + 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, + 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, + 208, 428, 321, 407, 415, 310, 301, 200, 413, 308, + 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, + 318, 0, 195, 0, 390, 423, 445, 214, 0, 0, + 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, + 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, + 386, 284, 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 202, 289, 0, 357, 254, 443, - 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 203, - 211, 220, 232, 245, 252, 262, 266, 269, 272, 273, - 276, 281, 298, 303, 304, 305, 306, 322, 323, 324, - 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, - 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, - 375, 376, 380, 381, 382, 383, 391, 395, 409, 410, - 420, 431, 435, 263, 417, 436, 0, 297, 0, 0, - 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, - 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, - 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 0, 1091, 0, 0, 0, 287, 0, + 189, 202, 289, 0, 357, 254, 443, 427, 424, 0, + 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 203, 211, 220, 232, + 245, 252, 262, 266, 269, 272, 273, 276, 281, 298, + 303, 304, 305, 306, 322, 323, 324, 327, 330, 331, + 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, + 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, + 381, 382, 383, 391, 395, 409, 410, 420, 431, 435, + 263, 417, 436, 0, 297, 0, 0, 299, 249, 265, + 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, + 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, + 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, + 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 224, 194, 326, 389, 253, 0, 0, 0, 176, 177, - 178, 0, 1090, 0, 0, 0, 0, 0, 0, 216, + 224, 194, 326, 389, 253, 69, 0, 0, 176, 177, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3049,8 +2945,8 @@ var yyAct = [...]int{ 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, - 0, 578, 176, 177, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, + 0, 0, 176, 177, 178, 0, 0, 1443, 0, 0, + 1444, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3088,13 +2984,13 @@ var yyAct = [...]int{ 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, + 240, 0, 1091, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, - 326, 389, 253, 69, 0, 0, 176, 177, 178, 0, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, + 326, 389, 253, 0, 0, 0, 176, 177, 178, 0, + 1090, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3137,8 +3033,8 @@ var yyAct = [...]int{ 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 224, 194, 326, 389, 253, 0, 0, 0, - 176, 177, 178, 0, 1425, 0, 0, 0, 0, 0, + 0, 277, 224, 194, 326, 389, 253, 0, 0, 578, + 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3182,7 +3078,7 @@ var yyAct = [...]int{ 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 0, 0, 0, 176, 177, 178, 0, 1060, 0, + 253, 69, 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3227,7 +3123,7 @@ var yyAct = [...]int{ 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, 0, 0, 176, 177, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, + 178, 0, 1425, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3252,7 +3148,7 @@ var yyAct = [...]int{ 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 202, 289, - 1328, 357, 254, 443, 427, 424, 0, 0, 233, 0, + 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, @@ -3264,14 +3160,14 @@ var yyAct = [...]int{ 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, - 378, 398, 399, 400, 402, 311, 237, 329, 0, 1215, + 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, - 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, + 0, 0, 176, 177, 178, 0, 1060, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3309,7 +3205,7 @@ var yyAct = [...]int{ 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, - 237, 329, 0, 1213, 0, 0, 0, 0, 0, 0, + 237, 329, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, @@ -3340,7 +3236,7 @@ var yyAct = [...]int{ 350, 264, 320, 209, 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 202, 289, 0, 357, + 0, 0, 0, 0, 0, 189, 202, 289, 1328, 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, @@ -3353,7 +3249,7 @@ var yyAct = [...]int{ 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, - 399, 400, 402, 311, 237, 329, 0, 1211, 0, 0, + 399, 400, 402, 311, 237, 329, 0, 1215, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, @@ -3398,7 +3294,7 @@ var yyAct = [...]int{ 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 1209, 0, 0, 0, 0, 0, 0, 240, 0, + 0, 1213, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, @@ -3442,7 +3338,7 @@ var yyAct = [...]int{ 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 329, 0, 1207, 0, 0, 0, 0, + 402, 311, 237, 329, 0, 1211, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, @@ -3486,7 +3382,7 @@ var yyAct = [...]int{ 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, - 378, 398, 399, 400, 402, 311, 237, 329, 0, 1203, + 378, 398, 399, 400, 402, 311, 237, 329, 0, 1209, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, @@ -3531,7 +3427,7 @@ var yyAct = [...]int{ 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, - 237, 329, 0, 1201, 0, 0, 0, 0, 0, 0, + 237, 329, 0, 1207, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, @@ -3575,7 +3471,7 @@ var yyAct = [...]int{ 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, - 399, 400, 402, 311, 237, 329, 0, 1199, 0, 0, + 399, 400, 402, 311, 237, 329, 0, 1203, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, @@ -3620,13 +3516,13 @@ var yyAct = [...]int{ 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, + 0, 1201, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 1174, 0, 0, 176, 177, 178, 0, 0, 0, + 253, 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3664,103 +3560,103 @@ var yyAct = [...]int{ 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 1073, 0, 0, 0, 0, 0, 0, - 329, 0, 0, 0, 0, 0, 0, 0, 0, 240, - 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, - 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, - 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, - 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, - 389, 253, 0, 0, 0, 176, 177, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, - 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 402, 311, 237, 329, 0, 1199, 0, 0, 0, 0, + 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, + 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, + 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, + 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, + 224, 194, 326, 389, 253, 0, 0, 0, 176, 177, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, + 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 261, 0, 315, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, - 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, - 367, 338, 419, 212, 251, 360, 343, 365, 0, 0, - 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, - 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, - 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, - 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, - 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, - 444, 207, 429, 201, 208, 428, 321, 407, 415, 310, - 301, 200, 413, 308, 300, 285, 248, 267, 353, 295, - 354, 268, 317, 316, 318, 0, 195, 0, 390, 423, - 445, 214, 0, 0, 403, 438, 441, 0, 356, 215, - 258, 247, 352, 256, 288, 437, 439, 440, 213, 350, - 264, 320, 209, 270, 386, 284, 293, 0, 0, 337, - 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 261, 0, 315, 0, 0, 0, 432, + 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, + 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, + 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, + 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, + 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, + 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, + 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, + 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, + 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, + 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, + 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, + 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, + 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, + 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, + 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 202, 289, 0, 357, 254, - 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 189, 202, 289, + 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 203, 211, 220, 232, 245, 252, 262, 266, 269, 272, - 273, 276, 281, 298, 303, 304, 305, 306, 322, 323, - 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, - 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, - 374, 375, 376, 380, 381, 382, 383, 391, 395, 409, - 410, 420, 431, 435, 263, 417, 436, 0, 297, 0, - 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, - 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, - 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, - 400, 402, 311, 237, 329, 0, 0, 0, 0, 0, - 0, 0, 1064, 240, 0, 0, 0, 0, 0, 287, - 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, - 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, - 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 277, 224, 194, 326, 389, 253, 0, 0, 0, 176, - 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, - 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, + 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, + 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, + 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, + 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, + 391, 395, 409, 410, 420, 431, 435, 263, 417, 436, + 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, + 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, + 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, + 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, + 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, + 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, + 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 277, 224, 194, 326, 389, 253, 1174, + 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, + 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 0, 315, 0, 0, 0, - 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, - 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, - 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, - 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, - 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, - 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, - 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, - 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, - 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, - 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, - 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, - 195, 0, 390, 423, 445, 214, 0, 0, 403, 438, - 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, - 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, - 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 202, - 289, 0, 357, 254, 443, 427, 424, 0, 0, 233, + 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, + 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, + 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, + 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, + 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, + 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, + 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, + 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, + 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, + 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, + 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, + 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, + 316, 318, 0, 195, 0, 390, 423, 445, 214, 0, + 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, + 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, + 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, + 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 189, 202, 289, 0, 357, 254, 443, 427, 424, + 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 203, 211, 220, 232, 245, 252, - 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, - 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, - 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, - 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, - 383, 391, 395, 409, 410, 420, 431, 435, 263, 417, - 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, - 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, - 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, - 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, + 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, + 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, + 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, + 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, + 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, + 380, 381, 382, 383, 391, 395, 409, 410, 420, 431, + 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, + 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, + 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, + 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, + 237, 1073, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, - 0, 0, 0, 176, 177, 178, 0, 922, 0, 0, + 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3799,7 +3695,7 @@ var yyAct = [...]int{ 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, + 1064, 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, @@ -3812,7 +3708,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 491, 0, 261, 0, 315, 0, 0, 0, 432, 0, + 0, 0, 261, 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, @@ -3838,7 +3734,7 @@ var yyAct = [...]int{ 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, - 395, 409, 410, 420, 431, 435, 490, 417, 436, 0, + 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, @@ -3849,7 +3745,7 @@ var yyAct = [...]int{ 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, 0, - 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, + 0, 176, 177, 178, 0, 922, 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3857,7 +3753,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, 0, - 184, 0, 432, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, @@ -3900,7 +3796,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 261, 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, @@ -3927,33 +3823,122 @@ var yyAct = [...]int{ 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, 395, 409, - 410, 420, 431, 435, 263, 417, 436, 0, 297, 0, + 410, 420, 431, 435, 490, 417, 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, - 400, 402, 311, 237, + 400, 402, 311, 237, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, + 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, + 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, + 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 277, 224, 194, 326, 389, 253, 0, 0, 0, 176, + 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, + 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 261, 0, 315, 0, 184, 0, + 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, + 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, + 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, + 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, + 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, + 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, + 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, + 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, + 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, + 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, + 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, + 195, 0, 390, 423, 445, 214, 0, 0, 403, 438, + 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, + 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, + 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 189, 202, + 289, 0, 357, 254, 443, 427, 424, 0, 0, 233, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 191, 192, 203, 211, 220, 232, 245, 252, + 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, + 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, + 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, + 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, + 383, 391, 395, 409, 410, 420, 431, 435, 263, 417, + 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, + 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, + 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, + 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, + 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, + 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, + 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, + 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, + 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, + 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, + 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, + 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, + 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, + 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, + 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, + 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, + 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, + 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, + 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, + 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, + 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, + 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, + 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, + 209, 270, 386, 284, 293, 0, 0, 337, 368, 218, + 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 189, 202, 289, 0, 357, 254, 443, 427, + 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 203, 211, + 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, + 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, + 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, + 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, + 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, + 431, 435, 263, 417, 436, 0, 297, 0, 0, 299, + 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, + 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, + 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, + 311, 237, } var yyPact = [...]int{ - 3930, -1000, -328, 1714, -1000, -1000, -1000, -1000, -1000, -1000, + 4082, -1000, -339, 1648, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1672, 1214, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 661, 1346, 196, 1584, 249, 160, 982, 427, 112, - 26757, 426, 90, 27201, -1000, 102, -1000, 93, 27201, 98, - 26313, -1000, -1000, -272, 12516, 1529, -3, -31, 27201, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1272, 1648, 1649, - 1670, 1124, 1561, -1000, 10727, 10727, 366, 366, 366, 8951, - -1000, -1000, 16525, 27201, 27201, 1370, 355, 982, 417, 408, - 401, 355, -87, -1000, -1000, -1000, 1584, -1000, -1000, 167, - -1000, 299, 1275, -1000, 1273, -1000, 458, 489, 294, 353, - 350, 293, 288, 287, 281, 280, 279, 277, 268, 301, - -1000, 639, 639, -163, -169, 2124, 343, 343, 343, 379, - 1551, 1545, -1000, 554, -1000, 639, 639, 159, 639, 639, - 639, 639, 219, 212, 639, 639, 639, 639, 639, 639, - 639, 639, 639, 639, 639, 639, 639, 639, 639, 27201, - -1000, 165, 598, 665, 1584, 191, -1000, -1000, -1000, 27201, - 348, 982, 348, 348, 27201, -1000, 501, -1000, -1000, -1000, + -1000, -1000, 1619, 1248, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 622, 1310, 135, 1528, 251, 180, 1015, 379, 102, + 26595, 378, 83, 27039, -1000, 106, -1000, 98, 27039, 104, + 26151, -1000, -1000, -266, 12354, 1478, 6, 3, 27039, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1255, 1590, 1598, + 1613, 1085, 1542, -1000, 10565, 10565, 299, 299, 299, 8789, + -1000, -1000, 16363, 27039, 27039, 1315, 313, 1015, 375, 374, + 369, 313, -93, -1000, -1000, -1000, 1528, -1000, -1000, 177, + -1000, 240, 1210, -1000, 1201, -1000, 487, 542, 250, 316, + 315, 248, 241, 239, 237, 236, 235, 234, 233, 257, + -1000, 538, 538, -161, -167, 2466, 285, 285, 285, 354, + 1490, 1489, -1000, 550, -1000, 538, 538, 166, 538, 538, + 538, 538, 198, 196, 538, 538, 538, 538, 538, 538, + 538, 538, 538, 538, 538, 538, 538, 538, 538, 27039, + -1000, 134, 531, 563, 1528, 172, -1000, -1000, -1000, 27039, + 311, 1015, 311, 311, 27039, -1000, 453, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -3979,23 +3964,23 @@ 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, 27201, 700, 700, 700, - 700, 700, 700, 80, -1000, 69, 244, 242, 181, 128, - 63, 199, -1000, 429, -1000, 177, 114, -1000, 700, 7119, - 7119, 7119, -1000, 1570, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 378, -1000, -1000, -1000, -1000, 27201, 25869, 298, - 657, -1000, -1000, -1000, -1, -1000, -1000, 1158, 663, -1000, - 12516, 1246, 1279, 1279, -1000, -1000, 460, -1000, -1000, 13848, - 13848, 13848, 13848, 13848, 13848, 13848, 13848, 13848, 13848, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 27039, 635, 635, 635, + 635, 635, 635, 96, -1000, 93, 187, 178, 149, 38, + 60, 226, -1000, 488, -1000, 139, 117, -1000, 635, 6957, + 6957, 6957, -1000, 1500, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 349, -1000, -1000, -1000, -1000, 27039, 25707, 238, + 560, -1000, -1000, -1000, 115, -1000, -1000, 1042, 841, -1000, + 12354, 1247, 1216, 1216, -1000, -1000, 431, -1000, -1000, 13686, + 13686, 13686, 13686, 13686, 13686, 13686, 13686, 13686, 13686, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1279, 500, -1000, 12072, 1279, 1279, 1279, - 1279, 1279, 1279, 1279, 1279, 12516, 1279, 1279, 1279, 1279, - 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, - 1279, 1279, -1000, -1000, -1000, 27201, -1000, 1279, 1672, -1000, - 1214, -1000, -1000, -1000, 1576, 12516, 12516, 1672, -1000, 1464, - 10727, -1000, -1000, 1527, -1000, -1000, -1000, -1000, 769, 1697, - -1000, 15180, 496, 1693, 25425, -1000, 19202, 24981, 1256, 8493, - -65, -1000, -1000, -1000, 646, 18314, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1216, 443, -1000, 11910, 1216, 1216, 1216, + 1216, 1216, 1216, 1216, 1216, 12354, 1216, 1216, 1216, 1216, + 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, + 1216, 1216, -1000, -1000, -1000, 27039, -1000, 1216, 1619, -1000, + 1248, -1000, -1000, -1000, 1505, 12354, 12354, 1619, -1000, 1416, + 10565, -1000, -1000, 1525, -1000, -1000, -1000, -1000, 655, 1634, + -1000, 15018, 441, 1633, 25263, -1000, 19040, 24819, 1197, 8331, + -61, -1000, -1000, -1000, 557, 18152, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -4009,283 +3994,283 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1570, 1156, 27201, - -1000, -1000, 4172, 982, -1000, 1337, -1000, 1152, -1000, 1309, - 165, 27201, 682, 1382, 982, 982, 982, 982, -1000, -1000, - -1000, 639, 639, 269, 249, 3944, -1000, -1000, -1000, 24530, - 1336, 982, -1000, 1334, -1000, 1597, 367, 550, 550, 982, - -1000, -1000, 27201, 982, 1595, 1591, 27201, 27201, -1000, 24086, - -1000, 23642, 23198, 955, 27201, 22754, 22310, 21866, 21422, 20978, - -1000, 1421, -1000, 1257, -1000, -1000, -1000, 27201, 27201, 27201, - 12, -1000, -1000, 27201, 982, -1000, -1000, 948, 939, 639, - 639, 935, 1013, 1011, 1003, 639, 639, 933, 999, 1108, - 176, 931, 908, 907, 959, 994, 116, 958, 926, 902, - 27201, 1333, -1000, 146, 643, 245, 265, 233, 27201, 203, - 1584, 1525, 1252, 377, 27201, 1619, 1418, 27201, 982, -1000, - 7577, -1000, -1000, 993, 12516, -1000, -1000, -1000, -1000, -1000, - 700, 27201, 700, 27201, 700, 700, 700, 700, 673, 690, - 673, -1000, -1000, -1000, -1000, 7119, 7119, 7119, 27201, 7119, - 7119, 27201, 7119, 7119, 690, -1000, -1000, -1000, 617, -1000, - 1417, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 97, -1000, - -1000, -1000, -1000, -1000, 1714, -1000, -1000, -1000, -108, 1250, - 20534, -1000, -276, -278, -279, -280, -1000, -1000, -1000, -290, - -291, -1000, -1000, -1000, 12516, 12516, 12516, 12516, 822, 623, - 13848, 777, 589, 13848, 13848, 13848, 13848, 13848, 13848, 13848, - 13848, 13848, 13848, 13848, 13848, 13848, 13848, 13848, 580, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 982, -1000, 1712, - 1082, 1082, 529, 529, 529, 529, 529, 529, 529, 529, - 529, 14292, 9395, 7577, 1124, 1148, 1672, 10727, 10727, 12516, - 12516, 11615, 11171, 10727, 1568, 672, 663, 27201, -1000, -1000, - 13404, -1000, -1000, -1000, -1000, -1000, 1020, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 27201, 27201, 10727, 10727, 10727, 10727, - 10727, -1000, 1237, -1000, -162, 16081, 12516, 1649, 1124, 1527, - 1613, 1706, 584, 730, 1218, -1000, 968, 1649, 17870, 1212, - -1000, 1527, -1000, -1000, -1000, 27201, -1000, -1000, 20090, -1000, - -1000, 6661, 27201, 267, 27201, -1000, 1210, 1511, -1000, -1000, - -1000, 1625, 17426, 27201, 1176, 1155, -1000, -1000, 495, 8035, - -65, -1000, 8035, 1183, -1000, -57, -21, 9839, 520, -1000, - -1000, -1000, 2124, 14736, 1067, 686, 18, -1000, -1000, -1000, - 1309, -1000, 1309, 1309, 1309, 1309, 12, 12, 12, 12, - -1000, -1000, -1000, -1000, -1000, 1330, 1314, -1000, 1309, 1309, - 1309, 1309, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1313, - 1313, 1313, 1310, 1310, 337, -1000, 12516, 173, 27201, 1609, - 901, 146, -1000, 1618, 1416, -1000, 27201, 1382, 1382, 1382, - -1000, 945, 899, -1000, 1217, -1000, -1000, 1669, -1000, -1000, - 468, 713, 707, 575, 27201, 127, 260, -1000, 328, -1000, - 27201, 1312, 1590, 550, 982, -1000, 982, -1000, -1000, -1000, - -1000, 486, -1000, -1000, 982, 1216, -1000, 1181, 750, 693, - 729, 687, 1216, -1000, -1000, -137, 1216, -1000, 1216, -1000, - 1216, -1000, 1216, -1000, 1216, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 586, 27201, 127, 580, -1000, 376, -1000, - -1000, 580, 580, -1000, -1000, -1000, -1000, 991, 990, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1500, 1126, 27039, + -1000, -1000, 2160, 1015, -1000, 1283, -1000, 1122, -1000, 1221, + 134, 27039, 539, 1321, 1015, 1015, 1015, 1015, -1000, -1000, + -1000, 538, 538, 256, 251, 3729, -1000, -1000, -1000, 24368, + 1281, 1015, -1000, 1280, -1000, 1545, 327, 501, 501, 1015, + -1000, -1000, 27039, 1015, 1543, 1539, 27039, 27039, -1000, 23924, + -1000, 23480, 23036, 872, 27039, 22592, 22148, 21704, 21260, 20816, + -1000, 1378, -1000, 1358, -1000, -1000, -1000, 27039, 27039, 27039, + 31, -1000, -1000, 27039, 1015, -1000, -1000, 866, 863, 538, + 538, 862, 945, 943, 936, 538, 538, 857, 935, 991, + 179, 845, 828, 824, 856, 933, 103, 826, 822, 801, + 27039, 1279, -1000, 125, 545, 210, 220, 182, 27039, 143, + 1528, 1476, 1178, 333, 27039, 1556, 1370, 27039, 1015, -1000, + 7415, -1000, -1000, 932, 12354, -1000, -1000, -1000, -1000, -1000, + 635, 27039, 635, 27039, 635, 635, 635, 635, 609, 631, + 609, -1000, -1000, -1000, -1000, 6957, 6957, 6957, 27039, 6957, + 6957, 27039, 6957, 6957, 631, -1000, -1000, -1000, 518, -1000, + 1368, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 101, -1000, + -1000, -1000, -1000, -1000, 1648, -1000, -1000, -1000, -110, 1176, + 20372, -1000, -278, -279, -280, -281, -1000, -1000, -1000, -282, + -283, -1000, -1000, -1000, 12354, 12354, 12354, 12354, 764, 521, + 13686, 849, 643, 13686, 13686, 13686, 13686, 13686, 13686, 13686, + 13686, 13686, 13686, 13686, 13686, 13686, 13686, 13686, 703, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1015, -1000, 1635, + 910, 910, 462, 462, 462, 462, 462, 462, 462, 462, + 462, 14130, 9233, 7415, 1085, 1109, 1619, 10565, 10565, 12354, + 12354, 11453, 11009, 10565, 1514, 597, 841, 27039, -1000, -1000, + 13242, -1000, -1000, -1000, -1000, -1000, 954, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 27039, 27039, 10565, 10565, 10565, 10565, + 10565, -1000, 1174, -1000, -165, 15919, 12354, 1598, 1085, 1525, + 1544, 1642, 511, 741, 1170, -1000, 829, 1598, 17708, 1092, + -1000, 1525, -1000, -1000, -1000, 27039, -1000, -1000, 19928, -1000, + -1000, 6499, 27039, 225, 27039, -1000, 1087, 1531, -1000, -1000, + -1000, 1569, 17264, 27039, 1245, 1119, -1000, -1000, 439, 7873, + -61, -1000, 7873, 1112, -1000, -25, -39, 9677, 401, -1000, + -1000, -1000, 2466, 14574, 1010, -1000, 15, -1000, -1000, -1000, + 1221, -1000, 1221, 1221, 1221, 1221, 31, 31, 31, 31, + -1000, -1000, -1000, -1000, -1000, 1274, 1273, -1000, 1221, 1221, + 1221, 1221, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1256, + 1256, 1256, 1243, 1243, 289, -1000, 12354, 121, 27039, 1582, + 781, 125, -1000, 1552, 1361, -1000, 27039, 1321, 1321, 1321, + -1000, 967, 944, -1000, 1169, -1000, -1000, 1612, -1000, -1000, + 572, 678, 675, 593, 27039, 116, 222, -1000, 318, -1000, + 27039, 1249, 1538, 501, 1015, -1000, 1015, -1000, -1000, -1000, + -1000, 438, -1000, -1000, 1015, 1159, -1000, 1183, 740, 652, + 737, 640, 1159, -1000, -1000, -117, 1159, -1000, 1159, -1000, + 1159, -1000, 1159, -1000, 1159, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 532, 27039, 116, 703, -1000, 325, -1000, + -1000, 703, 703, -1000, -1000, -1000, -1000, 927, 919, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -324, 27201, 382, 129, 154, - 27201, 27201, 27201, 27201, 27201, 436, -1000, -1000, -1000, 208, - 27201, 27201, 425, -1000, 27201, 424, -1000, -1000, -1000, -1000, - -1000, -1000, 663, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 700, 27201, 27201, 27201, -1000, -1000, 700, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27201, -1000, 976, - 27201, 27201, -1000, -1000, -1000, -1000, -1000, 96, -35, 163, - -1000, -1000, -1000, -1000, 1629, -1000, 663, 623, 613, 638, - -1000, -1000, 860, -1000, -1000, 1270, -1000, -1000, -1000, -1000, - 777, 13848, 13848, 13848, 597, 1270, 2247, 710, 2270, 529, - 737, 737, 515, 515, 515, 515, 515, 837, 837, -1000, - -1000, -1000, -1000, 1020, -1000, -1000, -1000, 1020, 10727, 10727, - 1194, 1279, 485, -1000, 1272, -1000, -1000, 1649, 1130, 1130, - 670, 753, 622, 1686, 1130, 607, 1683, 1130, 1130, 10727, - -1000, -1000, 675, -1000, 12516, 1020, -1000, 1177, 1187, 1184, - 1130, 1020, 1020, 1130, 1130, 27201, -1000, -266, -1000, -63, - 503, 1279, -1000, 19646, -1000, -1000, 1020, 1158, 1576, -1000, - -1000, 1556, -1000, 1461, 12516, 12516, 12516, -1000, -1000, -1000, - 1576, 1664, -1000, 1477, 1474, 1681, 10727, 19202, 1527, -1000, - -1000, -1000, 478, 1681, 1271, 1279, -1000, 27201, 19202, 19202, - 19202, 19202, 19202, -1000, 1447, 1444, -1000, 1437, 1435, 1443, - 27201, -1000, 1140, 1124, 17426, 267, 1074, 19202, 27201, -1000, - -1000, 19202, 27201, 6203, -1000, 1183, -65, -18, -1000, -1000, - -1000, -1000, 663, -1000, 877, -1000, 2100, -1000, 326, -1000, - -1000, -1000, -1000, 1583, -1000, 733, 14, -1000, -1000, 12, - 12, -1000, -1000, 520, 625, 520, 520, 520, 974, 974, - -1000, -1000, -1000, -1000, -1000, 835, -1000, -1000, -1000, 824, - -1000, -1000, 989, 1396, 173, -1000, -1000, 639, 973, 1530, - -1000, -1000, 1063, 381, -1000, 27201, -1000, 1407, 1404, 1403, - -1000, -1000, -1000, -1000, 2319, 27201, 1136, -1000, 125, 27201, - 1038, 27201, -1000, 1134, 27201, -1000, 982, -1000, -1000, 7577, - -1000, 27201, 1279, -1000, -1000, -1000, -1000, 423, 1581, 1574, - 127, 125, 520, 982, -1000, -1000, -1000, -1000, -1000, -332, - 1132, 27201, 143, -1000, 1311, 841, -1000, 1376, -1000, -1000, - -1000, -1000, 120, 232, 201, 374, -1000, -1000, -1000, -1000, - 1396, 27201, -1000, -1000, -1000, -1000, 673, -1000, 673, -1000, - -1000, -1000, -1000, 1567, -50, -302, -1000, -299, -1000, -1000, - -1000, -1000, 597, 1270, 1522, -1000, 13848, 13848, -1000, -1000, - 1130, 1130, 10727, 7577, 1672, 1576, -1000, -1000, 332, 580, - 332, 13848, 13848, -1000, 13848, 13848, -1000, -102, 1248, 664, - -1000, 12516, 708, -1000, -1000, 13848, 13848, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 389, 388, 385, 27201, - -1000, -1000, -1000, 946, 970, 1459, 663, 663, -1000, -1000, - 27201, -1000, -1000, -1000, -1000, 1679, 12516, -1000, 1180, -1000, - 5745, 1649, 1399, 27201, 1279, 1714, 15637, 27201, 1215, -1000, - 642, 1511, 1379, 1397, 1356, -1000, -1000, -1000, -1000, 1439, - -1000, 1438, -1000, -1000, -1000, -1000, -1000, 1124, 1681, 19202, - 1128, -1000, 1128, -1000, 477, -1000, -1000, -1000, -60, -41, - -1000, -1000, -1000, 2124, -1000, -1000, 1395, 13848, -1000, -1000, - -1000, 520, 520, -1000, -1000, -1000, -1000, -1000, -1000, 1123, - -1000, 1121, 1179, 1115, 54, -1000, 1254, 1565, 639, 639, - -1000, 821, -1000, 982, -1000, 27201, -1000, 27201, 27201, 27201, - 1666, 1164, -1000, 27201, -1000, -1000, 27201, -1000, -1000, 1472, - 173, 1100, -1000, -1000, -1000, 260, 27201, -1000, 1082, 125, - -1000, -1000, -1000, -1000, -1000, -1000, 1281, -1000, -1000, -1000, - 1035, -1000, -138, 982, 27201, 27201, 27201, -1000, 27201, -1000, - -1000, 700, 700, -1000, 1531, -1000, 982, -1000, 13848, 1270, - 1270, -1000, -1000, 1020, -1000, 1649, -1000, 1020, 1309, 1309, - -1000, 1309, 1310, -1000, 1309, 82, 1309, 77, 1020, 1020, - 2146, 2102, 1610, 1306, 1279, -97, -1000, 663, 12516, 1211, - 812, 1279, 1279, 1279, 1072, 969, 12, -1000, -1000, -1000, - 1675, 1661, 663, -1000, -1000, -1000, 1604, 1169, 1102, -1000, - -1000, 10283, 1094, 1471, 475, 1072, 1672, 27201, 12516, -1000, - -1000, 12516, 1307, -1000, 12516, -1000, -1000, -1000, 1672, 1672, - 1128, -1000, -1000, 547, -1000, -1000, -1000, -1000, 31, 1704, - 1270, -1000, -1000, 12, 966, 12, 804, -1000, 799, -1000, - -1000, -207, -1000, -1000, 1249, 1357, -1000, -1000, 1281, -1000, - -1000, -1000, 27201, 27201, -1000, -1000, 246, -1000, 312, 1056, - -1000, -155, -1000, -1000, 1623, 27201, -1000, -1000, 7577, -1000, - -1000, 1280, 1380, -1000, -1000, -1000, -1000, -1000, -1000, 1270, - -1000, 1576, -1000, -1000, 214, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 13848, 13848, 13848, 13848, 13848, 1649, 965, - 663, 13848, 13848, 18758, 27201, 27201, 16969, 12, 23, -1000, - 12516, 12516, 1589, -1000, 1279, -1000, 1242, 27201, 1279, 27201, - -1000, 1649, -1000, 663, 663, 27201, 663, 1649, -1000, 492, - -1000, -58, 520, -1000, 520, 1032, 1022, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1614, 1164, -1000, 254, 27201, - -1000, 260, -1000, -171, -172, 1214, 1050, 1161, -1000, 605, - 27201, 27201, -1000, -1000, -1000, 1177, 1177, 1177, 1177, 202, - 1020, -1000, 1177, 1177, 1044, -1000, 1044, 1044, 503, -261, - -1000, 1518, 1508, 663, 1158, 1703, -1000, 1279, 1714, 473, - 1102, -1000, -1000, 1041, -1000, 739, 1588, -1000, 1587, -1000, - -1000, -1000, -1000, -1000, 1214, 1279, 1243, -1000, -1000, -1000, - 228, -1000, 7577, 5287, 1029, -1000, -1000, -1000, -1000, -1000, - 1020, 156, -141, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 23, 266, -1000, 1486, 1479, 1660, 27201, 1102, 27201, -1000, - -1000, 962, -1000, -1000, 228, 12960, 27201, -1000, -54, -1000, - -1000, -1000, -1000, -1000, 1376, -1000, 1458, -132, -151, 1494, - 1496, 1496, 1508, 1657, 1506, 1502, -1000, 947, 1097, -1000, - -1000, -1000, 1177, 1020, 1026, 336, -1000, -1000, -138, -1000, - 1457, -1000, 1488, 838, -1000, -1000, -1000, -1000, 878, -1000, - 1656, 1654, -1000, -1000, -1000, 1385, 153, -1000, -139, -1000, - 814, -1000, -1000, -1000, 793, 778, 1384, -1000, 1692, -1000, - -142, -1000, -1000, -1000, -1000, -1000, 1694, 471, 471, -159, - -1000, -1000, -1000, 327, 792, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -329, 27039, 359, 118, 150, + 27039, 27039, 27039, 27039, 27039, 404, -1000, -1000, -1000, 186, + 27039, 27039, 394, -1000, 27039, 386, -1000, -1000, -1000, -1000, + -1000, -1000, 841, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 635, 27039, 27039, 27039, -1000, -1000, 635, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27039, -1000, 917, + 27039, 27039, -1000, -1000, -1000, -1000, -1000, 73, -30, 176, + -1000, -1000, -1000, -1000, 1595, -1000, 841, 521, 670, 647, + -1000, -1000, 777, -1000, -1000, 2410, -1000, -1000, -1000, -1000, + 849, 13686, 13686, 13686, 595, 2410, 2513, 1008, 2527, 462, + 698, 698, 473, 473, 473, 473, 473, 789, 789, -1000, + -1000, -1000, -1000, 954, -1000, -1000, -1000, 954, 10565, 10565, + 1155, 1216, 434, -1000, 1255, -1000, -1000, 1598, 1090, 1090, + 719, 667, 590, 1632, 1090, 569, 1631, 1090, 1090, 10565, + -1000, -1000, 588, -1000, 12354, 954, -1000, 850, 1154, 1129, + 1090, 954, 954, 1090, 1090, 27039, -1000, -269, -1000, -70, + 429, 1216, -1000, 19484, -1000, -1000, 954, 1042, 1505, -1000, + -1000, 1465, -1000, 1412, 12354, 12354, 12354, -1000, -1000, -1000, + 1505, 1593, -1000, 1436, 1423, 1625, 10565, 19040, 1525, -1000, + -1000, -1000, 420, 1625, 1208, 1216, -1000, 27039, 19040, 19040, + 19040, 19040, 19040, -1000, 1393, 1389, -1000, 1382, 1381, 1392, + 27039, -1000, 1106, 1085, 17264, 225, 1161, 19040, 27039, -1000, + -1000, 19040, 27039, 6041, -1000, 1112, -61, -6, -1000, -1000, + -1000, -1000, 841, -1000, 874, -1000, 2162, -1000, 298, -1000, + -1000, -1000, -1000, 365, 12, -1000, -1000, 31, 31, -1000, + -1000, 401, 633, 401, 401, 401, 916, 916, -1000, -1000, + -1000, -1000, -1000, 778, -1000, -1000, -1000, 768, -1000, -1000, + 887, 1369, 121, -1000, -1000, 538, 903, 1482, -1000, -1000, + 1004, 358, -1000, 27039, -1000, 1359, 1352, 1349, -1000, -1000, + -1000, -1000, 3692, 27039, 1100, -1000, 112, 27039, 999, 27039, + -1000, 1096, 27039, -1000, 1015, -1000, -1000, 7415, -1000, 27039, + 1216, -1000, -1000, -1000, -1000, 366, 1527, 1519, 116, 112, + 401, 1015, -1000, -1000, -1000, -1000, -1000, -325, 1094, 27039, + 124, -1000, 1244, 950, -1000, 1220, -1000, -1000, -1000, -1000, + 97, 206, 159, 321, -1000, -1000, -1000, -1000, 1369, 27039, + -1000, -1000, -1000, -1000, 609, -1000, 609, -1000, -1000, -1000, + -1000, 1497, -44, -301, -1000, -297, -1000, -1000, -1000, -1000, + 595, 2410, 2388, -1000, 13686, 13686, -1000, -1000, 1090, 1090, + 10565, 7415, 1619, 1505, -1000, -1000, 330, 703, 330, 13686, + 13686, -1000, 13686, 13686, -1000, -108, 1034, 533, -1000, 12354, + 832, -1000, -1000, 13686, 13686, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 368, 367, 363, 27039, -1000, -1000, + -1000, 772, 886, 1408, 841, 841, -1000, -1000, 27039, -1000, + -1000, -1000, -1000, 1623, 12354, -1000, 1102, -1000, 5583, 1598, + 1347, 27039, 1216, 1648, 15475, 27039, 1114, -1000, 543, 1531, + 1344, 1346, 1333, -1000, -1000, -1000, -1000, 1388, -1000, 1384, + -1000, -1000, -1000, -1000, -1000, 1085, 1625, 19040, 1082, -1000, + 1082, -1000, 418, -1000, -1000, -1000, -46, -79, -1000, -1000, + -1000, 2466, -1000, -1000, -1000, 641, 13686, 1640, -1000, 885, + 1537, -1000, 1532, -1000, -1000, 401, 401, -1000, -1000, -1000, + -1000, -1000, -1000, 1084, -1000, 1078, 1098, 1076, 54, -1000, + 1251, 1496, 538, 538, -1000, 753, -1000, 1015, -1000, 27039, + -1000, 27039, 27039, 27039, 1611, 1068, -1000, 27039, -1000, -1000, + 27039, -1000, -1000, 1422, 121, 1073, -1000, -1000, -1000, 222, + 27039, -1000, 910, 112, -1000, -1000, -1000, -1000, -1000, -1000, + 1218, -1000, -1000, -1000, 987, -1000, -118, 1015, 27039, 27039, + 27039, -1000, 27039, -1000, -1000, 635, 635, -1000, 1494, -1000, + 1015, -1000, 13686, 2410, 2410, -1000, -1000, 954, -1000, 1598, + -1000, 954, 1221, 1221, -1000, 1221, 1243, -1000, 1221, 75, + 1221, 58, 954, 954, 2324, 2184, 2140, 2091, 1216, -100, + -1000, 841, 12354, 1213, 1177, 1216, 1216, 1216, 1053, 884, + 31, -1000, -1000, -1000, 1621, 1609, 841, -1000, -1000, -1000, + 1547, 975, 1025, -1000, -1000, 10121, 1070, 1419, 415, 1053, + 1619, 27039, 12354, -1000, -1000, 12354, 1219, -1000, 12354, -1000, + -1000, -1000, 1619, 1619, 1082, -1000, -1000, 477, -1000, -1000, + -1000, -1000, -1000, 2410, -43, -1000, -1000, -1000, -1000, -1000, + 31, 883, 31, 710, -1000, 707, -1000, -1000, -208, -1000, + -1000, 1260, 1364, -1000, -1000, 1218, -1000, -1000, -1000, 27039, + 27039, -1000, -1000, 218, -1000, 272, 1047, -1000, -162, -1000, + -1000, 1565, 27039, -1000, -1000, 7415, -1000, -1000, 1217, 1252, + -1000, -1000, -1000, -1000, -1000, -1000, 2410, -1000, 1505, -1000, + -1000, 266, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 13686, 13686, 13686, 13686, 13686, 1598, 880, 841, 13686, 13686, + 18596, 27039, 27039, 16807, 31, 29, -1000, 12354, 12354, 1526, + -1000, 1216, -1000, 1242, 27039, 1216, 27039, -1000, 1598, -1000, + 841, 841, 27039, 841, 1598, -1000, -1000, 401, -1000, 401, + 962, 959, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1561, 1068, -1000, 216, 27039, -1000, 222, -1000, -168, -169, + 1248, 1032, 1051, -1000, 535, 27039, 27039, -1000, -1000, -1000, + 850, 850, 850, 850, 495, 954, -1000, 850, 850, 1030, + -1000, 1030, 1030, 429, -261, -1000, 1467, 1470, 841, 1042, + 1639, -1000, 1216, 1648, 402, 1025, -1000, -1000, 1020, -1000, + -1000, -1000, -1000, -1000, 1248, 1216, 1212, -1000, -1000, -1000, + 185, -1000, 7415, 5125, 1002, -1000, -1000, -1000, -1000, -1000, + 954, 158, -150, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 29, 281, -1000, 1442, 1439, 1606, 27039, 1025, 27039, -1000, + 185, 12798, 27039, -1000, -57, -1000, -1000, -1000, -1000, -1000, + 1220, -1000, 1406, -109, -154, 1452, 1454, 1454, 1470, 1604, + 1466, 1462, -1000, 879, 1009, -1000, -1000, 850, 954, 984, + 283, -1000, -1000, -118, -1000, 1372, -1000, 1445, 738, -1000, + -1000, -1000, -1000, 877, -1000, 1601, 1600, -1000, -1000, -1000, + 1338, 127, -1000, -121, -1000, 712, -1000, -1000, -1000, 875, + 773, 1336, -1000, 1629, -1000, -151, -1000, -1000, -1000, -1000, + -1000, 1637, 464, 464, -155, -1000, -1000, -1000, 278, 723, + -1000, -1000, -1000, -1000, -1000, } var yyPgo = [...]int{ - 0, 1990, 1989, 49, 89, 79, 1983, 1982, 1981, 1980, - 128, 126, 125, 1979, 1978, 1977, 1976, 1975, 1974, 1971, - 1970, 1969, 1968, 1967, 1966, 60, 132, 36, 33, 134, - 1964, 1962, 52, 1961, 1960, 1958, 121, 118, 525, 1956, - 120, 1955, 1953, 1952, 1951, 1948, 1947, 1936, 1932, 1931, - 1929, 1927, 1926, 1924, 153, 1922, 1921, 7, 1920, 85, - 1919, 1918, 1916, 1915, 1914, 84, 1913, 1911, 1905, 111, - 1904, 1903, 46, 86, 42, 74, 1902, 1901, 73, 857, - 1898, 105, 122, 1897, 2347, 1896, 45, 81, 97, 1895, - 40, 1894, 1893, 92, 1891, 1890, 1889, 72, 1888, 1887, - 3402, 1885, 67, 78, 14, 27, 1883, 1882, 1880, 1877, - 35, 44, 1876, 1875, 16, 1874, 1872, 131, 1871, 83, - 23, 1870, 13, 12, 18, 1869, 80, 1868, 11, 64, - 28, 1867, 82, 1866, 1863, 1862, 1860, 30, 1859, 77, - 102, 99, 1858, 6, 9, 1857, 1856, 1855, 1852, 1845, - 1842, 4, 1840, 1837, 1836, 26, 1832, 17, 25, 71, - 127, 29, 8, 1831, 119, 1830, 20, 110, 68, 108, - 1826, 1822, 1820, 879, 1813, 47, 1812, 141, 1810, 1809, - 31, 1808, 520, 821, 1806, 1805, 1802, 57, 1041, 2202, - 24, 109, 1799, 1796, 2082, 58, 75, 22, 1795, 1794, - 1793, 123, 142, 56, 864, 41, 1790, 1789, 1788, 1787, - 1786, 1785, 1783, 39, 1782, 1777, 1773, 43, 19, 103, - 21, 1770, 1769, 1768, 1767, 1766, 66, 34, 1765, 107, - 106, 70, 117, 1764, 116, 100, 62, 1763, 55, 1762, - 1761, 1759, 1757, 37, 1754, 1752, 1738, 1737, 104, 87, - 65, 38, 1735, 32, 96, 101, 91, 1734, 15, 133, - 10, 1733, 3, 0, 1732, 5, 113, 1559, 112, 1731, - 1729, 1, 1728, 2, 1727, 1726, 76, 1724, 1723, 1722, - 1721, 2772, 1751, 115, 1720, 124, + 0, 1921, 1920, 46, 81, 79, 1919, 1918, 1917, 1916, + 130, 129, 121, 1915, 1914, 1913, 1910, 1908, 1906, 1904, + 1900, 1899, 1897, 1896, 1894, 56, 132, 32, 29, 135, + 1893, 1891, 49, 1890, 1889, 1888, 116, 114, 480, 1887, + 115, 1885, 1883, 1882, 1881, 1880, 1879, 1877, 1876, 1875, + 1874, 1872, 1871, 1870, 214, 1867, 1866, 8, 1865, 86, + 1863, 1862, 1861, 1858, 1856, 87, 1855, 1854, 1852, 113, + 1850, 1849, 44, 107, 40, 71, 1848, 1846, 73, 816, + 1844, 103, 120, 1841, 1266, 1822, 57, 83, 80, 1817, + 35, 1814, 1813, 91, 1811, 1810, 1809, 68, 1808, 1806, + 2751, 1805, 67, 75, 17, 31, 1799, 1798, 1797, 1796, + 36, 705, 1795, 1794, 23, 1793, 1792, 127, 1790, 84, + 27, 1787, 16, 12, 22, 1786, 82, 1781, 11, 52, + 34, 1779, 78, 1776, 1773, 1771, 1770, 41, 1769, 72, + 88, 24, 1768, 1766, 6, 14, 1765, 1764, 1761, 1759, + 1757, 1756, 4, 1755, 1754, 1753, 39, 1752, 10, 19, + 70, 85, 25, 7, 1751, 123, 1750, 20, 122, 65, + 109, 1749, 1747, 1746, 1009, 1745, 62, 1744, 139, 1743, + 1742, 33, 1740, 453, 715, 1739, 1737, 64, 1027, 2291, + 9, 112, 1736, 1735, 1935, 66, 76, 21, 1734, 1731, + 1730, 118, 143, 37, 853, 43, 1729, 1727, 1726, 1725, + 1723, 1722, 1721, 125, 224, 18, 108, 26, 1719, 1718, + 1717, 63, 38, 1714, 106, 105, 60, 117, 1712, 111, + 100, 55, 1711, 42, 1710, 1707, 1704, 1703, 30, 1702, + 1701, 1700, 1697, 104, 96, 58, 50, 1696, 45, 128, + 101, 89, 1695, 28, 134, 13, 1694, 2, 0, 1693, + 5, 126, 1506, 102, 1691, 1690, 1, 1688, 3, 1687, + 1686, 77, 1682, 1680, 1676, 1674, 3047, 15, 110, 1657, + 119, } var yyR1 = [...]int{ - 0, 279, 280, 280, 1, 1, 1, 1, 1, 1, + 0, 274, 275, 275, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 263, 263, 263, 266, 266, 21, + 1, 1, 1, 1, 258, 258, 258, 261, 261, 21, 50, 3, 3, 3, 3, 2, 2, 8, 9, 4, 5, 5, 10, 10, 61, 61, 11, 12, 12, 12, - 12, 283, 283, 95, 95, 93, 93, 94, 94, 159, - 159, 13, 14, 14, 169, 169, 168, 168, 168, 170, - 170, 170, 170, 204, 204, 15, 15, 15, 15, 15, - 70, 70, 265, 265, 264, 262, 262, 261, 261, 260, - 23, 24, 33, 33, 33, 33, 34, 35, 267, 267, - 239, 39, 39, 38, 38, 38, 38, 40, 40, 37, - 37, 36, 36, 241, 241, 228, 228, 240, 240, 240, - 240, 240, 240, 240, 227, 206, 206, 206, 206, 209, - 209, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 208, 208, 208, 208, 208, 210, 210, 210, 210, 210, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 212, 212, 212, 212, 212, - 212, 212, 212, 226, 226, 213, 213, 219, 219, 220, - 220, 220, 222, 222, 223, 223, 184, 184, 184, 215, - 215, 216, 216, 221, 221, 217, 217, 217, 218, 218, - 218, 225, 225, 225, 225, 225, 214, 214, 229, 253, - 253, 252, 252, 250, 250, 250, 250, 238, 238, 247, - 247, 247, 247, 247, 237, 237, 233, 233, 233, 234, - 234, 235, 235, 232, 232, 236, 236, 249, 249, 248, - 230, 230, 231, 231, 255, 255, 255, 255, 256, 272, - 273, 271, 271, 271, 271, 271, 59, 59, 59, 185, - 185, 185, 245, 245, 244, 244, 244, 246, 246, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 179, 179, - 179, 270, 270, 270, 270, 270, 270, 269, 269, 269, - 242, 242, 242, 268, 268, 129, 129, 130, 130, 30, - 30, 30, 30, 30, 30, 29, 29, 29, 25, 25, + 12, 278, 278, 95, 95, 93, 93, 94, 94, 160, + 160, 13, 14, 14, 170, 170, 169, 169, 169, 171, + 171, 171, 171, 204, 204, 15, 15, 15, 15, 15, + 70, 70, 260, 260, 259, 257, 257, 256, 256, 255, + 23, 24, 33, 33, 33, 33, 34, 35, 262, 262, + 234, 39, 39, 38, 38, 38, 38, 40, 40, 37, + 37, 36, 36, 236, 236, 223, 223, 235, 235, 235, + 235, 235, 235, 235, 222, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 206, 206, 206, 206, + 209, 209, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 208, 208, 208, 208, 208, 210, 210, 210, 210, + 210, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 212, 212, 212, 212, + 212, 212, 212, 212, 221, 221, 213, 213, 216, 216, + 217, 217, 217, 218, 218, 219, 219, 214, 214, 214, + 215, 215, 215, 224, 248, 248, 247, 247, 245, 245, + 245, 245, 233, 233, 242, 242, 242, 242, 242, 232, + 232, 228, 228, 228, 229, 229, 230, 230, 227, 227, + 231, 231, 244, 244, 243, 225, 225, 226, 226, 250, + 250, 250, 250, 251, 267, 268, 266, 266, 266, 266, + 266, 59, 59, 59, 185, 185, 185, 240, 240, 239, + 239, 239, 241, 241, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 180, 180, 180, 265, 265, 265, 265, + 265, 265, 264, 264, 264, 237, 237, 237, 263, 263, + 129, 129, 130, 130, 30, 30, 30, 30, 30, 30, + 29, 29, 29, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 224, 224, - 224, 257, 257, 258, 258, 17, 22, 22, 18, 18, - 18, 18, 19, 19, 41, 42, 42, 42, 42, 42, + 25, 25, 25, 25, 25, 31, 31, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 220, 220, 220, 252, 252, 253, 253, + 17, 22, 22, 18, 18, 18, 18, 19, 19, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 176, 176, 274, 274, 178, 178, - 174, 174, 177, 177, 175, 175, 175, 180, 180, 180, - 181, 181, 278, 278, 278, 43, 43, 45, 45, 46, - 47, 47, 199, 199, 200, 200, 48, 49, 60, 60, - 60, 60, 60, 60, 62, 62, 62, 7, 7, 7, - 7, 56, 56, 56, 6, 6, 44, 44, 51, 275, - 275, 276, 277, 277, 277, 277, 52, 20, 20, 20, - 20, 20, 20, 77, 77, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 65, 65, 71, 71, 71, - 66, 66, 284, 54, 55, 55, 69, 69, 69, 63, - 63, 63, 68, 68, 68, 74, 74, 76, 76, 76, - 76, 76, 78, 78, 78, 78, 78, 78, 73, 73, - 75, 75, 75, 75, 192, 192, 192, 191, 191, 85, - 85, 86, 86, 87, 87, 88, 88, 88, 127, 103, - 103, 158, 158, 157, 157, 160, 160, 89, 89, 89, - 89, 90, 90, 91, 91, 92, 92, 198, 198, 197, - 197, 197, 196, 196, 96, 96, 96, 98, 97, 97, - 97, 97, 99, 99, 101, 101, 100, 100, 102, 104, - 104, 104, 104, 104, 105, 105, 84, 84, 84, 84, - 84, 84, 84, 84, 172, 172, 107, 107, 106, 106, - 106, 106, 106, 106, 106, 106, 106, 106, 118, 118, - 118, 118, 118, 118, 108, 108, 108, 108, 108, 108, - 108, 72, 72, 119, 119, 119, 126, 120, 120, 111, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 177, + 177, 269, 269, 179, 179, 175, 175, 178, 178, 176, + 176, 176, 181, 181, 181, 182, 182, 273, 273, 273, + 43, 43, 45, 45, 46, 47, 47, 199, 199, 200, + 200, 48, 49, 60, 60, 60, 60, 60, 60, 62, + 62, 62, 7, 7, 7, 7, 56, 56, 56, 6, + 6, 44, 44, 51, 270, 270, 271, 272, 272, 272, + 272, 52, 20, 20, 20, 20, 20, 20, 77, 77, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 71, 71, 71, 66, 66, 279, 54, 55, + 55, 69, 69, 69, 63, 63, 63, 68, 68, 68, + 74, 74, 76, 76, 76, 76, 76, 78, 78, 78, + 78, 78, 78, 73, 73, 75, 75, 75, 75, 192, + 192, 192, 191, 191, 85, 85, 86, 86, 87, 87, + 88, 88, 88, 127, 103, 103, 159, 159, 158, 158, + 161, 161, 89, 89, 89, 89, 90, 90, 91, 91, + 92, 92, 198, 198, 197, 197, 197, 196, 196, 96, + 96, 96, 98, 97, 97, 97, 97, 99, 99, 101, + 101, 100, 100, 102, 104, 104, 104, 104, 104, 105, + 105, 84, 84, 84, 84, 84, 84, 84, 84, 173, + 173, 107, 107, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 118, 118, 118, 118, 118, 118, 108, + 108, 108, 108, 108, 108, 108, 72, 72, 119, 119, + 119, 126, 120, 120, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 115, 115, 115, 115, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 111, 111, 111, 111, 111, 111, 111, 111, 115, 115, + 115, 115, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 285, 285, 117, 116, - 116, 116, 116, 116, 116, 116, 67, 67, 67, 67, - 67, 203, 203, 203, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 133, 133, 64, - 64, 131, 131, 132, 134, 134, 128, 128, 128, 110, - 110, 110, 110, 110, 110, 110, 110, 112, 112, 112, - 135, 135, 136, 136, 137, 137, 138, 138, 139, 140, - 140, 140, 141, 141, 141, 141, 32, 32, 32, 32, - 32, 27, 27, 27, 27, 28, 28, 28, 79, 79, - 79, 79, 81, 81, 80, 80, 57, 57, 58, 58, - 58, 82, 82, 83, 83, 83, 83, 155, 155, 155, - 142, 142, 142, 142, 147, 147, 147, 143, 143, 145, - 145, 145, 146, 146, 146, 144, 150, 150, 152, 152, - 151, 151, 149, 149, 154, 154, 153, 153, 148, 148, - 109, 109, 109, 109, 109, 156, 156, 156, 156, 161, - 161, 122, 122, 124, 124, 123, 125, 162, 162, 166, - 163, 163, 167, 167, 167, 167, 167, 164, 164, 165, - 165, 193, 193, 193, 171, 171, 182, 182, 183, 183, - 173, 173, 186, 186, 186, 53, 121, 121, 254, 254, - 251, 189, 189, 190, 190, 194, 194, 195, 195, 187, + 114, 280, 280, 117, 116, 116, 116, 116, 116, 116, + 116, 67, 67, 67, 67, 67, 203, 203, 203, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 133, 133, 64, 64, 131, 131, 132, 134, + 134, 128, 128, 128, 110, 110, 110, 110, 110, 110, + 110, 110, 112, 112, 112, 135, 135, 136, 136, 137, + 137, 138, 138, 139, 140, 140, 140, 141, 141, 141, + 141, 32, 32, 32, 32, 32, 27, 27, 27, 27, + 28, 28, 28, 79, 79, 79, 79, 81, 81, 80, + 80, 57, 57, 58, 58, 58, 82, 82, 83, 83, + 83, 83, 156, 156, 156, 142, 142, 142, 142, 148, + 148, 148, 144, 144, 146, 146, 146, 147, 147, 147, + 145, 151, 151, 153, 153, 152, 152, 150, 150, 155, + 155, 154, 154, 149, 149, 109, 109, 109, 109, 109, + 157, 157, 157, 157, 162, 162, 122, 122, 124, 124, + 123, 125, 163, 163, 167, 164, 164, 168, 168, 168, + 168, 168, 165, 165, 166, 166, 193, 193, 193, 172, + 172, 183, 183, 184, 184, 174, 174, 186, 186, 186, + 53, 121, 121, 249, 249, 246, 189, 189, 190, 190, + 194, 194, 195, 195, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, @@ -4299,7 +4284,6 @@ var yyR1 = [...]int{ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, @@ -4325,7 +4309,8 @@ var yyR1 = [...]int{ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 281, 282, 201, 202, 202, 202, + 188, 188, 188, 188, 188, 188, 188, 276, 277, 201, + 202, 202, 202, } var yyR2 = [...]int{ @@ -4342,88 +4327,87 @@ var yyR2 = [...]int{ 4, 3, 6, 7, 7, 7, 4, 2, 1, 1, 4, 0, 1, 1, 1, 2, 2, 0, 1, 4, 4, 4, 4, 2, 4, 1, 3, 1, 1, 3, - 4, 3, 3, 3, 8, 3, 1, 1, 1, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, - 4, 4, 2, 2, 3, 3, 3, 3, 1, 1, - 1, 1, 1, 6, 6, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 3, 0, 5, 0, - 3, 5, 0, 1, 0, 1, 0, 1, 2, 0, - 2, 0, 3, 0, 1, 0, 2, 2, 0, 2, - 2, 0, 2, 1, 2, 1, 0, 2, 5, 0, - 1, 1, 2, 1, 3, 2, 3, 0, 1, 3, - 3, 3, 4, 2, 0, 2, 1, 1, 1, 1, - 1, 0, 1, 1, 1, 0, 1, 1, 3, 3, - 3, 1, 3, 1, 10, 11, 11, 12, 5, 3, - 3, 1, 1, 2, 2, 2, 0, 1, 1, 0, - 1, 2, 0, 1, 1, 3, 2, 1, 2, 3, - 3, 4, 4, 3, 3, 3, 3, 4, 4, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 4, 5, 0, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 1, 0, 2, 0, 2, 0, - 1, 5, 1, 3, 7, 1, 3, 3, 1, 2, - 2, 2, 5, 5, 5, 6, 6, 5, 5, 2, - 2, 2, 2, 3, 3, 3, 4, 1, 3, 5, - 1, 3, 3, 3, 3, 3, 3, 3, 3, 2, - 2, 2, 4, 4, 2, 10, 3, 6, 7, 5, - 5, 5, 12, 7, 5, 9, 5, 3, 7, 4, - 4, 4, 4, 3, 3, 3, 7, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 2, 0, 2, - 2, 1, 3, 8, 8, 3, 3, 5, 5, 6, - 5, 4, 3, 2, 3, 3, 3, 3, 3, 3, - 3, 4, 2, 4, 4, 4, 4, 4, 5, 7, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, - 4, 7, 2, 4, 5, 4, 3, 3, 5, 2, - 3, 3, 3, 3, 1, 1, 1, 1, 0, 1, - 0, 1, 1, 1, 0, 2, 2, 0, 2, 2, - 0, 2, 0, 1, 1, 2, 1, 1, 2, 1, - 1, 5, 0, 1, 0, 1, 2, 3, 0, 3, - 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 1, 1, 3, 3, 2, 2, 3, 1, - 3, 2, 1, 2, 1, 2, 2, 3, 3, 6, - 4, 7, 6, 1, 3, 2, 2, 2, 2, 1, - 1, 1, 3, 2, 1, 1, 1, 0, 1, 1, - 0, 3, 0, 2, 0, 2, 1, 2, 2, 0, - 1, 1, 0, 1, 1, 0, 1, 0, 1, 2, - 3, 4, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 2, 3, 5, 0, 1, 2, 1, 1, 0, - 2, 1, 3, 1, 1, 1, 3, 3, 3, 3, - 7, 0, 3, 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, 4, 5, 5, 0, 2, 1, 3, 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, 3, 3, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 1, - 1, 1, 1, 4, 5, 5, 6, 4, 4, 6, - 6, 6, 8, 8, 8, 8, 9, 8, 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, 4, 0, 3, 4, 7, - 3, 1, 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, 2, 1, - 1, 3, 3, 3, 3, 3, 3, 3, 0, 3, - 3, 3, 0, 3, 1, 1, 0, 4, 0, 1, - 1, 0, 3, 1, 3, 2, 1, 0, 2, 4, - 0, 9, 3, 5, 0, 3, 3, 0, 1, 0, - 2, 2, 0, 2, 2, 2, 0, 3, 0, 3, - 0, 3, 0, 4, 0, 3, 0, 4, 0, 1, - 2, 1, 5, 4, 4, 1, 3, 3, 5, 0, - 5, 1, 3, 1, 2, 3, 1, 1, 3, 3, - 1, 3, 3, 3, 3, 3, 2, 1, 2, 1, - 1, 1, 1, 1, 1, 1, 0, 2, 0, 3, - 0, 1, 0, 1, 1, 5, 0, 1, 0, 1, + 4, 3, 3, 3, 3, 0, 2, 3, 3, 4, + 2, 3, 3, 2, 3, 2, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, + 2, 4, 4, 2, 2, 3, 3, 3, 3, 1, + 1, 1, 1, 1, 6, 6, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 0, 3, 0, 5, + 0, 3, 5, 0, 1, 0, 1, 0, 2, 2, + 0, 2, 2, 5, 0, 1, 1, 2, 1, 3, + 2, 3, 0, 1, 3, 3, 3, 4, 2, 0, + 2, 1, 1, 1, 1, 1, 0, 1, 1, 1, + 0, 1, 1, 3, 3, 3, 1, 3, 1, 10, + 11, 11, 12, 5, 3, 3, 1, 1, 2, 2, + 2, 0, 1, 1, 0, 1, 2, 0, 1, 1, + 3, 2, 1, 2, 3, 3, 4, 4, 3, 3, + 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 4, 5, 0, 2, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, + 0, 2, 0, 2, 0, 1, 5, 1, 3, 7, + 1, 3, 3, 1, 2, 2, 2, 5, 5, 5, + 6, 6, 5, 5, 2, 2, 2, 2, 3, 3, + 3, 4, 1, 3, 5, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 4, 4, 2, + 10, 3, 6, 7, 5, 5, 5, 12, 7, 5, + 9, 5, 3, 7, 4, 4, 4, 4, 3, 3, + 3, 7, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 2, 0, 2, 2, 1, 3, 8, 8, + 3, 3, 5, 5, 6, 5, 4, 3, 2, 3, + 3, 3, 3, 3, 3, 3, 4, 2, 4, 4, + 4, 4, 4, 5, 7, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 2, 4, 7, 2, 4, 5, + 4, 3, 3, 5, 2, 3, 3, 3, 3, 1, + 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, + 2, 2, 0, 2, 2, 0, 2, 0, 1, 1, + 2, 1, 1, 2, 1, 1, 5, 0, 1, 0, + 1, 2, 3, 0, 3, 3, 3, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 1, 1, 3, + 3, 2, 2, 3, 1, 3, 2, 1, 2, 1, + 2, 2, 3, 3, 6, 4, 7, 6, 1, 3, + 2, 2, 2, 2, 1, 1, 1, 3, 2, 1, + 1, 1, 0, 1, 1, 0, 3, 0, 2, 0, + 2, 1, 2, 2, 0, 1, 1, 0, 1, 1, + 0, 1, 0, 1, 2, 3, 4, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 2, 3, 5, 0, + 1, 2, 1, 1, 0, 2, 1, 3, 1, 1, + 1, 3, 3, 3, 3, 7, 0, 3, 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, 4, 5, 5, 0, + 2, 1, 3, 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, 3, 3, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 3, 1, 1, 1, 1, 4, 5, + 5, 6, 4, 4, 6, 6, 6, 8, 8, 8, + 8, 9, 8, 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, + 4, 0, 3, 4, 7, 3, 1, 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, 2, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 0, 3, 3, 3, 0, 3, 1, + 1, 0, 4, 0, 1, 1, 0, 3, 1, 3, + 2, 1, 0, 2, 4, 0, 9, 3, 5, 0, + 3, 3, 0, 1, 0, 2, 2, 0, 2, 2, + 2, 0, 3, 0, 3, 0, 3, 0, 4, 0, + 3, 0, 4, 0, 1, 2, 1, 5, 4, 4, + 1, 3, 3, 5, 0, 5, 1, 3, 1, 2, + 3, 1, 1, 3, 3, 1, 3, 3, 3, 3, + 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 0, 2, 0, 3, 0, 1, 0, 1, 1, + 5, 0, 1, 0, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -4463,29 +4447,30 @@ 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, 1, 1, 1, 0, + 0, 1, 1, } var yyChk = [...]int{ - -1000, -279, -1, -3, -8, -9, -10, -11, -12, -13, + -1000, -274, -1, -3, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -41, -42, -43, -45, -46, -47, -48, -49, -6, -44, -20, -21, -50, -51, - -52, -53, -4, -281, 6, 7, 8, -61, 10, 11, + -52, -53, -4, -276, 6, 7, 8, -61, 10, 11, 31, -23, -33, 153, -34, -24, 154, -35, 156, 155, 191, 157, 184, 71, 225, 226, 228, 229, 230, 231, -62, 189, 190, 159, 35, 42, 32, 33, 36, 81, - 9, 323, 186, 185, 26, -280, 463, -69, 5, -137, - 16, -3, -54, -284, -54, -54, -54, -54, -54, -54, - -239, -241, 81, 126, 81, -70, 163, 164, 173, 172, - 169, -267, 107, 314, 162, -39, -38, -37, -36, -40, - 30, -30, -31, -259, -29, -26, 158, 155, 199, 102, + 9, 323, 186, 185, 26, -275, 463, -69, 5, -137, + 16, -3, -54, -279, -54, -54, -54, -54, -54, -54, + -234, -236, 81, 126, 81, -70, 163, 164, 173, 172, + 169, -262, 107, 314, 162, -39, -38, -37, -36, -40, + 30, -30, -31, -254, -29, -26, 158, 155, 199, 102, 103, 191, 192, 193, 157, 175, 190, 194, 189, 208, - -25, 77, 32, 336, 339, -246, 154, 160, 161, 324, - 105, 104, 72, 156, -243, 275, 440, -40, 442, 95, + -25, 77, 32, 336, 339, -241, 154, 160, 161, 324, + 105, 104, 72, 156, -238, 275, 440, -40, 442, 95, 97, 441, 41, 164, 443, 444, 445, 446, 174, 447, 448, 449, 450, 456, 457, 458, 459, 106, 5, 163, - -267, -79, 285, 77, -266, -263, 84, 85, 86, 163, - 163, 164, 165, -267, 163, -100, -194, -263, -188, 333, + -262, -79, 285, 77, -261, -258, 84, 85, 86, 163, + 163, 164, 165, -262, 163, -100, -194, -258, -188, 333, 177, 367, 368, 223, 77, 275, 440, 225, 239, 233, 260, 252, 334, 369, 178, 212, 437, 250, 253, 301, 442, 370, 192, 297, 280, 288, 95, 228, 310, 455, @@ -4511,23 +4496,23 @@ var yyChk = [...]int{ 419, 246, 247, 261, 234, 257, 227, 424, 203, 191, 420, 311, 216, 278, 341, 208, 435, 340, 254, 251, 210, 421, 165, 204, 205, 422, 425, 294, 284, 295, - 296, 285, 211, 339, 249, 279, 163, -164, 280, 281, - 282, 293, 294, 299, 298, 202, -278, 302, 163, -174, - 144, 153, 290, -178, 291, 284, 285, 211, -274, -263, + 296, 285, 211, 339, 249, 279, 163, -165, 280, 281, + 282, 293, 294, 299, 298, 202, -273, 302, 163, -175, + 144, 153, 290, -179, 291, 284, 285, 211, -269, -258, 445, 460, 301, 253, 303, 427, 286, 292, 296, 295, - -194, 227, -199, 232, -189, -263, -188, 230, -100, -60, + -194, 227, -199, 232, -189, -258, -188, 230, -100, -60, 423, 157, -201, -201, -71, 427, 429, -120, -84, -106, 110, -111, 30, 24, -110, -107, -128, -125, -126, 144, 145, 147, 146, 148, 133, 134, 141, 111, 149, -115, -113, -114, -116, 88, 87, 96, 89, 90, 91, 92, - 98, 99, 100, -189, -194, -123, -281, 65, 66, 324, + 98, 99, 100, -189, -194, -123, -276, 65, 66, 324, 325, 326, 327, 332, 328, 113, 54, 313, 322, 321, 320, 317, 318, 315, 316, 330, 331, 168, 314, 162, - 139, 323, -263, -188, 41, 283, 283, -100, -5, -4, - -281, 6, 21, 22, -141, 18, 17, -282, 83, -63, + 139, 323, -258, -188, 41, 283, 283, -100, -5, -4, + -276, 6, 21, 22, -141, 18, 17, -277, 83, -63, -76, 60, 61, -78, 22, 37, 64, 62, -55, -75, - 135, -84, -194, -75, -173, 167, -173, -173, -163, -204, - 227, -167, 303, 302, -190, -165, -189, -187, -164, 300, + 135, -84, -194, -75, -174, 167, -174, -174, -164, -204, + 227, -168, 303, 302, -190, -166, -189, -187, -165, 300, 158, 342, 109, 23, 25, 112, 144, 17, 113, 36, 160, 175, 143, 171, 324, 153, 69, 343, 315, 316, 313, 319, 326, 327, 314, 281, 30, 11, 345, 26, @@ -4541,377 +4526,377 @@ var yyChk = [...]int{ 127, 156, 323, 66, 364, 162, 282, 6, 329, 31, 184, 172, 64, 365, 163, 115, 330, 331, 166, 99, 5, 169, 33, 10, 71, 74, 320, 321, 322, 54, - 336, 114, 13, 366, 307, 108, 301, 253, -240, 126, - -227, -231, -189, 179, -256, 175, -100, -249, -248, -189, - -79, -183, 168, -263, 164, 164, 164, -183, 323, -36, - -37, -164, 143, 196, 82, 82, -231, -230, -229, -268, - 198, 179, -255, -247, 171, 180, -237, 172, 173, -232, - 164, 29, -268, -232, 170, 180, 198, 198, 106, 198, + 336, 114, 13, 366, 307, 108, 301, 253, -235, 126, + -222, -226, -189, 179, -251, 175, -100, -244, -243, -189, + -79, -184, 168, -258, 164, 164, 164, -184, 323, -36, + -37, -165, 143, 196, 82, 82, -226, -225, -224, -263, + 198, 179, -250, -242, 171, 180, -232, 172, 173, -227, + 164, 29, -263, -227, 170, 180, 198, 198, 106, 198, 106, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 195, -238, 118, -238, 340, 340, -243, -268, -268, -268, - 166, 34, 34, -186, -232, 166, 23, -238, -238, -164, - 143, -238, -238, -238, -238, 206, 206, -238, -238, -238, - -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, - -238, -238, -100, -82, 213, 153, 155, 158, 73, 118, - -38, 208, -22, -100, -182, 168, -263, -182, -182, -100, - 150, -100, -180, 126, 13, -180, -180, -180, -180, -180, - 209, 297, 209, 297, 209, 210, 209, 210, 209, -177, - -176, 288, 289, 283, 287, -263, 430, 314, 299, -263, - 202, 163, 203, 165, -233, 164, 34, 176, 210, 283, - 205, -180, -202, -281, -190, -202, -202, 31, 166, -189, + 195, -233, 118, -233, 340, 340, -238, -263, -263, -263, + 166, 34, 34, -186, -227, 166, 23, -233, -233, -165, + 143, -233, -233, -233, -233, 206, 206, -233, -233, -233, + -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, + -233, -233, -100, -82, 213, 153, 155, 158, 73, 118, + -38, 208, -22, -100, -183, 168, -258, -183, -183, -100, + 150, -100, -181, 126, 13, -181, -181, -181, -181, -181, + 209, 297, 209, 297, 209, 210, 209, 210, 209, -178, + -177, 288, 289, 283, 287, -258, 430, 314, 299, -258, + 202, 163, 203, 165, -228, 164, 34, 176, 210, 283, + 205, -181, -202, -276, -190, -202, -202, 31, 166, -189, -56, -189, 88, -7, -3, -11, -10, -12, 118, -77, 283, -65, 144, 445, 431, 432, 433, 430, 298, 438, 436, 434, 209, 435, 82, 109, 107, 108, 125, -84, -108, 128, 110, 126, 127, 112, 130, 129, 140, 133, 134, 135, 136, 137, 138, 139, 131, 132, 143, 118, - 119, 120, 121, 122, 123, 124, -172, -281, -126, -281, + 119, 120, 121, 122, 123, 124, -173, -276, -126, -276, 151, 152, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -281, 150, -2, -120, -4, -281, -281, -281, - -281, -281, -281, -281, -281, -133, -84, -281, -285, -117, - -281, -285, -117, -285, -117, -285, -281, -285, -117, -285, - -117, -285, -285, -117, -281, -281, -281, -281, -281, -281, - -281, -201, -275, -276, -103, -100, -281, -137, -3, -54, - -155, 20, 32, -84, -138, -139, -84, -137, 56, -73, + -111, -111, -276, 150, -2, -120, -4, -276, -276, -276, + -276, -276, -276, -276, -276, -133, -84, -276, -280, -117, + -276, -280, -117, -280, -117, -280, -276, -280, -117, -280, + -117, -280, -280, -117, -276, -276, -276, -276, -276, -276, + -276, -201, -270, -271, -103, -100, -276, -137, -3, -54, + -156, 20, 32, -84, -138, -139, -84, -137, 56, -73, -75, -78, 60, 61, 94, 12, -192, -191, 23, -189, 88, 150, 12, -101, 27, -100, -86, -87, -88, -89, - -103, -127, -281, 12, -93, -94, -100, -102, -194, 82, - 227, -167, -204, -169, -168, 304, 306, 118, -193, -189, + -103, -127, -276, 12, -93, -94, -100, -102, -194, 82, + 227, -168, -204, -170, -169, 304, 306, 118, -193, -189, 88, 30, 83, 82, -100, -206, -209, -211, -210, -212, -207, -208, 250, 251, 144, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 31, 187, 246, 247, 248, 249, 266, 267, 268, 269, 270, 271, 272, 273, 233, 252, 334, 234, 235, 236, 237, 238, 239, 241, - 242, 243, 244, 245, -266, -263, 81, 83, 82, -213, - 81, -82, -100, 110, -254, -251, 74, -263, -263, -263, - -263, -238, -238, 195, -29, -26, -259, 16, -25, -26, - 158, 102, 103, 155, 81, -227, 81, -236, -266, -263, - 81, 29, 170, 169, -235, -232, -235, -236, -263, -128, - -189, -194, -263, 29, 29, -160, -189, -160, -160, 21, - -160, 21, -160, 21, 89, -189, -160, 21, -160, 21, - -160, 21, -160, 21, -160, 21, 30, 75, 76, 30, - 78, 79, 80, -128, -128, -227, -164, -100, -263, 89, - 89, -238, -238, 89, 88, 88, 88, -238, -238, 89, - 88, -263, 88, -269, 181, 222, 224, 89, 89, 89, - 89, 30, 88, -270, 30, 452, 451, 453, 454, 455, + 242, 243, 244, 245, -261, -258, 81, 83, 82, -213, + 81, -82, -100, 110, -249, -246, 74, -258, -258, -258, + -258, -233, -233, 195, -29, -26, -254, 16, -25, -26, + 158, 102, 103, 155, 81, -222, 81, -231, -261, -258, + 81, 29, 170, 169, -230, -227, -230, -231, -258, -128, + -189, -194, -258, 29, 29, -161, -189, -161, -161, 21, + -161, 21, -161, 21, 89, -189, -161, 21, -161, 21, + -161, 21, -161, 21, -161, 21, 30, 75, 76, 30, + 78, 79, 80, -128, -128, -222, -165, -100, -258, 89, + 89, -233, -233, 89, 88, 88, 88, -233, -233, 89, + 88, -258, 88, -264, 181, 222, 224, 89, 89, 89, + 89, 30, 88, -265, 30, 452, 451, 453, 454, 455, 89, 30, 89, 30, 89, -189, 81, -81, 215, 118, 204, 204, 163, 163, 217, -100, 216, 218, 219, 41, - 82, 166, -93, 24, 73, -95, -100, -263, -195, -194, - -187, 88, -84, -180, -100, -180, -100, -180, -180, -180, - -180, -175, 12, 128, -234, 12, 128, -175, -202, -202, - -202, -100, -202, -202, -100, -202, -202, -234, -181, 126, + 82, 166, -93, 24, 73, -95, -100, -258, -195, -194, + -187, 88, -84, -181, -100, -181, -100, -181, -181, -181, + -181, -176, 12, 128, -229, 12, 128, -176, -202, -202, + -202, -100, -202, -202, -100, -202, -202, -229, -182, 126, 73, -200, 230, 264, 424, 425, 426, 82, 336, -93, 430, 430, 430, 430, 430, 430, -84, -84, -84, -84, -118, 98, 110, 99, 100, -111, -119, -123, -126, 93, 128, 126, 127, 112, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -203, - -263, 88, 144, -263, -110, -110, -189, -74, 22, 37, - -73, -190, -195, -187, -69, -282, -282, -137, -73, -73, + -258, 88, 144, -258, -110, -110, -189, -74, 22, 37, + -73, -190, -195, -187, -69, -277, -277, -137, -73, -73, -84, -84, -128, 88, -73, -128, 88, -73, -73, -68, - 22, 37, -131, -132, 114, -128, -282, -111, -189, -189, - -73, -74, -74, -73, -73, 82, -277, 306, 307, 428, - -197, 198, -196, 23, -194, 88, -121, -120, -141, -282, + 22, 37, -131, -132, 114, -128, -277, -111, -189, -189, + -73, -74, -74, -73, -73, 82, -272, 306, 307, 428, + -197, 198, -196, 23, -194, 88, -121, -120, -141, -277, -142, 27, 10, 128, 82, 19, 82, -140, 25, 26, -141, -112, -189, 89, 92, -85, 82, 12, -78, -100, - -191, 135, -195, -100, -159, 198, -100, 31, 82, -96, + -191, 135, -195, -100, -160, 198, -100, 31, 82, -96, -98, -97, -99, 63, 67, 69, 64, 65, 66, 70, - -198, 23, -86, -3, -281, -100, -93, -283, 82, 12, - 74, -283, 82, 150, -167, -169, 82, 305, 307, 308, - 73, 101, -84, -218, 143, -245, -244, -243, -227, -229, - -230, -231, 83, -184, 98, 110, -222, 278, -213, -213, - -213, -213, -213, -217, -164, -217, -217, -217, 81, 81, - -213, -213, -213, -213, -219, 81, -219, -219, -220, 81, - -220, -256, -84, -253, -252, -250, -251, 174, 95, 336, - -248, -140, 89, -81, 24, 73, -189, -254, -254, -254, - -263, 88, -263, 88, 82, 17, -228, -227, -129, 222, - -258, 198, -255, -249, 81, 29, -235, -236, -236, 150, - -263, 82, 27, 106, 106, 106, 106, 336, 155, 31, - -227, -129, -203, 166, -203, -203, 88, 88, -179, 460, - -93, 165, 221, -83, 319, 88, 84, -100, -100, -100, - -100, -100, 158, 155, 206, -100, -100, -59, 183, 178, - -100, 82, -59, -180, -194, -194, -100, -180, -100, 88, - -100, -189, -65, 306, 336, 20, -66, 20, 98, 99, - 100, -119, -111, -111, -111, -72, 188, 109, -282, -282, - -73, -73, -281, 150, -5, -141, -282, -282, 82, 74, - 23, 12, 12, -282, 12, 12, -282, -282, -73, -134, - -132, 116, -84, -282, -282, 82, 82, -282, -282, -282, - -282, -282, -276, 427, 307, -104, 71, 167, 72, -281, - -196, -282, -155, 39, 47, 58, -84, -84, -139, -155, - -171, 20, 12, 54, 54, -105, 13, -75, -86, -78, - 150, -105, -109, 31, 54, -3, -281, -281, -162, -166, - -128, -87, -88, -88, -87, -88, 63, 63, 63, 68, - 63, 68, 63, -97, -194, -282, -282, -3, -159, 74, - -86, -100, -86, -102, -194, 135, -168, -170, 309, 306, - 312, -263, 88, 82, -243, -231, -215, 30, 98, -223, - 279, -217, -217, -218, -263, 144, -218, -218, -218, -226, - 88, -226, 89, 89, 83, -32, -27, -28, 32, 77, - -250, -238, 88, 38, 83, 165, -100, 73, 73, 73, - 16, -157, -189, 82, 83, -130, 223, -128, 83, -189, - 83, -157, -236, -190, -189, -281, 163, 30, 30, -129, - -130, -218, -263, 462, 461, 83, -100, -80, 213, 220, - 81, 85, -265, 74, 204, 275, 204, 207, 166, -32, - -100, -175, -175, 32, 306, 439, 437, -72, 109, -111, - -111, -282, -282, -74, -190, -137, -155, -205, 144, 250, - 187, 248, 244, 264, 255, 277, 246, 278, -203, -205, - -111, -111, -111, -111, 333, -137, 117, -84, 115, -111, - -111, 164, 164, 164, -160, 40, 88, 88, 59, -100, - -135, 14, -84, 135, -141, -161, 73, -162, -122, -124, - -123, -281, -156, -282, -189, -160, -105, 82, 118, -91, - -90, 73, 74, -92, 73, -90, 63, 63, -282, -105, - -86, -105, -105, 150, 306, 310, 311, -243, -216, 73, - -111, -218, -218, 83, 82, 83, 82, 83, 82, -185, - 373, 110, -28, -27, -238, -238, 89, -263, -100, -100, - -100, -100, 17, 82, -227, -128, 54, -253, 83, -257, - -258, -100, -110, -130, -158, 81, 83, -262, 336, -264, - -263, -189, -189, -189, -100, -180, -180, 32, -263, -111, - -282, -141, -282, -213, -213, -213, -220, -213, 238, -213, - 238, -282, -282, 20, 20, 20, 20, -281, -64, 329, - -84, 82, 82, -281, -281, -281, -282, 88, -217, -136, - 15, 17, 28, -161, 82, -282, -282, 82, 54, 150, - -282, -137, -166, -84, -84, 81, -84, -137, -105, -221, - 275, 10, -217, 88, -217, 89, 89, 373, 30, 78, - 79, 80, 30, 75, 76, -158, -157, -189, 200, 182, - -282, 82, -224, 336, 339, 23, -157, -261, -260, -190, - 81, 74, -155, -217, -263, -111, -111, -111, -111, -111, - -141, 88, -111, -111, -157, -282, -157, -157, -197, -217, - -144, -149, -177, -84, -120, 29, -124, 54, -3, -189, - -122, -189, -141, -157, -141, -225, 170, 29, 169, -114, - -218, -218, 83, 83, 23, 201, -100, -258, 340, 340, - -3, 83, 82, 118, -157, -100, -282, -282, -282, -282, - -67, 128, 336, -282, -282, -282, -282, -282, -282, -104, - -147, 423, -150, 43, -151, 44, 10, -122, 150, 83, - -214, 95, 29, 29, -3, -281, 81, -57, 336, -260, - -242, -190, 88, 89, 83, -282, 334, 70, 337, -144, - 48, 256, -152, 52, -153, -148, 53, 17, -162, -189, - 88, -57, -111, 197, -157, -58, 212, 427, -265, 59, - 335, 338, -145, 50, -143, 49, -143, -151, 17, -154, - 45, 46, 88, -282, -282, 83, 175, -262, 59, -146, - 51, 73, 101, 88, 17, 17, -272, -273, 73, 214, - 336, 73, 101, 88, 88, -273, 73, 11, 10, 337, - -271, 183, 178, 181, 31, -271, 338, 177, 30, 98, + -198, 23, -86, -3, -276, -100, -93, -278, 82, 12, + 74, -278, 82, 150, -168, -170, 82, 305, 307, 308, + 73, 101, -84, -215, 143, -240, -239, -238, -222, -224, + -225, -226, 83, -143, -218, 278, -213, -213, -213, -213, + -213, -214, -165, -214, -214, -214, 81, 81, -213, -213, + -213, -213, -216, 81, -216, -216, -217, 81, -217, -251, + -84, -248, -247, -245, -246, 174, 95, 336, -243, -140, + 89, -81, 24, 73, -189, -249, -249, -249, -258, 88, + -258, 88, 82, 17, -223, -222, -129, 222, -253, 198, + -250, -244, 81, 29, -230, -231, -231, 150, -258, 82, + 27, 106, 106, 106, 106, 336, 155, 31, -222, -129, + -203, 166, -203, -203, 88, 88, -180, 460, -93, 165, + 221, -83, 319, 88, 84, -100, -100, -100, -100, -100, + 158, 155, 206, -100, -100, -59, 183, 178, -100, 82, + -59, -181, -194, -194, -100, -181, -100, 88, -100, -189, + -65, 306, 336, 20, -66, 20, 98, 99, 100, -119, + -111, -111, -111, -72, 188, 109, -277, -277, -73, -73, + -276, 150, -5, -141, -277, -277, 82, 74, 23, 12, + 12, -277, 12, 12, -277, -277, -73, -134, -132, 116, + -84, -277, -277, 82, 82, -277, -277, -277, -277, -277, + -271, 427, 307, -104, 71, 167, 72, -276, -196, -277, + -156, 39, 47, 58, -84, -84, -139, -156, -172, 20, + 12, 54, 54, -105, 13, -75, -86, -78, 150, -105, + -109, 31, 54, -3, -276, -276, -163, -167, -128, -87, + -88, -88, -87, -88, 63, 63, 63, 68, 63, 68, + 63, -97, -194, -277, -277, -3, -160, 74, -86, -100, + -86, -102, -194, 135, -169, -171, 309, 306, 312, -258, + 88, 82, -238, -226, 98, 110, 30, 73, 275, 95, + 170, 29, 169, -219, 279, -214, -214, -215, -258, 144, + -215, -215, -215, -221, 88, -221, 89, 89, 83, -32, + -27, -28, 32, 77, -245, -233, 88, 38, 83, 165, + -100, 73, 73, 73, 16, -158, -189, 82, 83, -130, + 223, -128, 83, -189, 83, -158, -231, -190, -189, -276, + 163, 30, 30, -129, -130, -215, -258, 462, 461, 83, + -100, -80, 213, 220, 81, 85, -260, 74, 204, 275, + 204, 207, 166, -32, -100, -176, -176, 32, 306, 439, + 437, -72, 109, -111, -111, -277, -277, -74, -190, -137, + -156, -205, 144, 250, 187, 248, 244, 264, 255, 277, + 246, 278, -203, -205, -111, -111, -111, -111, 333, -137, + 117, -84, 115, -111, -111, 164, 164, 164, -161, 40, + 88, 88, 59, -100, -135, 14, -84, 135, -141, -162, + 73, -163, -122, -124, -123, -276, -157, -277, -189, -161, + -105, 82, 118, -91, -90, 73, 74, -92, 73, -90, + 63, 63, -277, -105, -86, -105, -105, 150, 306, 310, + 311, -238, 98, -111, 10, 88, 29, 29, -215, -215, + 83, 82, 83, 82, 83, 82, -185, 373, 110, -28, + -27, -233, -233, 89, -258, -100, -100, -100, -100, 17, + 82, -222, -128, 54, -248, 83, -252, -253, -100, -110, + -130, -159, 81, 83, -257, 336, -259, -258, -189, -189, + -189, -100, -181, -181, 32, -258, -111, -277, -141, -277, + -213, -213, -213, -217, -213, 238, -213, 238, -277, -277, + 20, 20, 20, 20, -276, -64, 329, -84, 82, 82, + -276, -276, -276, -277, 88, -214, -136, 15, 17, 28, + -162, 82, -277, -277, 82, 54, 150, -277, -137, -167, + -84, -84, 81, -84, -137, -105, -114, -214, 88, -214, + 89, 89, 373, 30, 78, 79, 80, 30, 75, 76, + -159, -158, -189, 200, 182, -277, 82, -220, 336, 339, + 23, -158, -256, -255, -190, 81, 74, -156, -214, -258, + -111, -111, -111, -111, -111, -141, 88, -111, -111, -158, + -277, -158, -158, -197, -214, -145, -150, -178, -84, -120, + 29, -124, 54, -3, -189, -122, -189, -141, -158, -141, + -215, -215, 83, 83, 23, 201, -100, -253, 340, 340, + -3, 83, 82, 118, -158, -100, -277, -277, -277, -277, + -67, 128, 336, -277, -277, -277, -277, -277, -277, -104, + -148, 423, -151, 43, -152, 44, 10, -122, 150, 83, + -3, -276, 81, -57, 336, -255, -237, -190, 88, 89, + 83, -277, 334, 70, 337, -145, 48, 256, -153, 52, + -154, -149, 53, 17, -163, -189, -57, -111, 197, -158, + -58, 212, 427, -260, 59, 335, 338, -146, 50, -144, + 49, -144, -152, 17, -155, 45, 46, 88, -277, -277, + 83, 175, -257, 59, -147, 51, 73, 101, 88, 17, + 17, -267, -268, 73, 214, 336, 73, 101, 88, 88, + -268, 73, 11, 10, 337, -266, 183, 178, 181, 31, + -266, 338, 177, 30, 98, } var yyDef = [...]int{ 33, -2, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 814, 0, 552, 552, 552, 552, 552, 552, - 552, 0, 0, 90, -2, -2, 838, 37, 0, 0, - 0, 0, -2, 486, 487, 0, 489, -2, 0, 0, - 498, 1344, 1344, 547, 0, 0, 0, 0, 0, 1342, - 54, 55, 504, 505, 506, 1, 3, 0, 556, 822, - 0, 0, -2, 554, 0, 0, 930, 930, 930, 0, - 85, 86, 0, 0, 0, 838, 928, 0, 0, 0, - 0, 928, 0, 108, 109, 89, -2, 113, 114, 0, - 118, 371, 332, 374, 330, 360, -2, 323, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 335, 227, 227, 0, 0, -2, 323, 323, 323, 0, - 0, 0, 357, 932, 277, 227, 227, 0, 227, 227, - 227, 227, 0, 0, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 0, - 107, 851, 0, 0, 117, 38, 34, 35, 36, 0, - 926, 0, 926, 926, 0, 423, 636, 945, 946, 1085, - 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, - 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, - 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, - 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, - 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, - 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, - 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, - 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, - 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, - 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, - 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, - 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, - 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, - 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, - 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, - 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, - 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, - 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, - 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, - 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, - 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, - 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, - 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, - 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, - 1336, 1337, 1338, 1339, 1340, 1341, 0, 477, 477, 477, - 477, 477, 477, 0, 432, 0, 0, 0, 0, 0, - 0, 0, 449, 0, 452, 0, 0, 459, 477, 1345, - 1345, 1345, 917, 0, 483, 484, 471, 469, 466, 467, - 485, 488, 0, 493, 496, 941, 942, 0, 511, 0, - 1159, 503, 516, 517, 0, 548, 549, 39, 687, 646, - 0, 652, 654, 0, 689, 690, 691, 692, 693, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, - 720, 721, 722, 799, 800, 801, 802, 803, 804, 805, - 806, 656, 657, 796, 0, 906, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 787, 0, 756, 756, 756, - 756, 756, 756, 756, 756, 0, 0, 0, 0, 0, - 0, 0, -2, -2, 1344, 0, 526, 0, 814, 50, - 0, 552, 557, 558, 857, 0, 0, 814, 1343, 0, - 0, -2, -2, 568, 574, 575, 576, 577, 553, 0, - 580, 584, 0, 0, 0, 931, 0, 0, 71, 0, - 1312, 910, -2, -2, 0, 0, 943, 944, 919, -2, - 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, - 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, - 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, - 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, - 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, - 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, - 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, - 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, - 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, - 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, - 1079, 1080, 1081, 1082, 1083, 1084, -2, 1104, 0, 0, - 127, 128, 0, 37, 253, 0, 123, 0, 247, 185, - 851, 0, 0, 938, 0, 0, 0, 0, 91, 115, - 116, 227, 227, 0, 117, 117, 339, 340, 341, 0, - 0, -2, 251, 0, 324, 0, 0, 241, 241, 245, - 243, 244, 0, 0, 0, 0, 0, 0, 351, 0, - 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 407, 0, 228, 0, 369, 370, 278, 0, 0, 0, - 0, 349, 350, 0, 0, 933, 934, 0, 0, 227, - 227, 0, 0, 0, 0, 227, 227, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 842, 0, 0, 0, 0, 0, 0, - -2, 0, 415, 0, 0, 0, 0, 0, 0, 422, - 0, 424, 425, 0, 0, 426, 427, 428, 429, 430, - 477, 0, 477, 0, 477, 477, 477, 477, 474, 0, - 474, 472, 473, 464, 465, 1345, 1345, 1345, 0, 1345, - 1345, 0, 1345, 1345, 0, 236, 237, 238, 480, 456, - 457, 460, 461, 1346, 1347, 462, 463, 918, 494, 497, - 514, 512, 513, 515, 507, 508, 509, 510, 0, 527, - 528, 533, 0, 0, 0, 0, 539, 540, 541, 0, - 0, 544, 545, 546, 0, 0, 0, 0, 0, 650, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 674, - 675, 676, 677, 678, 679, 680, 653, 0, 667, 0, - 0, 0, 709, 710, 711, 712, 713, 714, 715, 716, - 717, 0, 565, 0, 0, 0, 814, 0, 0, 0, - 0, 0, 0, 0, 562, 0, 788, 0, 740, 748, - 0, 741, 749, 742, 750, 743, 0, 744, 751, 745, - 752, 746, 747, 753, 0, 0, 0, 565, 565, 0, - 0, 40, 518, 519, 0, 619, 936, 822, 0, 567, - 860, 0, 0, 823, 815, 816, 819, 822, 0, 589, - 578, 569, 572, 573, 555, 0, 581, 585, 0, 587, - 588, 0, 0, 69, 0, 635, 0, 591, 593, 594, - 595, 617, 0, 0, 0, 0, 65, 67, 636, 0, - 1312, 916, 0, 73, 74, 0, 0, 0, 208, 921, - 922, 923, -2, 234, 0, 196, 192, 136, 137, 138, - 185, 140, 185, 185, 185, 185, 205, 205, 205, 205, - 168, 169, 170, 171, 172, 0, 0, 155, 185, 185, - 185, 185, 175, 176, 177, 178, 179, 180, 181, 182, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 187, - 187, 187, 189, 189, 0, 38, 0, 219, 0, 819, - 0, 842, 100, 0, 0, 939, 0, 938, 938, 938, - 106, 0, 0, 372, 333, 361, 373, 0, 336, 337, - -2, 0, 0, 323, 0, 325, 0, 235, 0, -2, - 0, 0, 0, 241, 245, 242, 245, 233, 246, 353, - 796, 0, 354, 355, 0, 387, 605, 0, 0, 0, - 0, 0, 393, 394, 395, 0, 397, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 362, 363, 364, 365, - 366, 367, 368, 0, 0, 325, 0, 358, 0, 279, - 280, 0, 0, 283, 284, 285, 286, 0, 0, 289, - 290, 291, 292, 293, 317, 318, 319, 294, 295, 296, - 297, 298, 299, 300, 311, 312, 313, 314, 315, 316, - 301, 302, 303, 304, 305, 308, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 839, 840, 841, 0, - 0, 0, 266, 927, 0, 266, 63, 421, 637, 947, - 948, 478, 479, 431, 450, 433, 453, 434, 436, 435, - 437, 477, 0, 0, 0, 239, 240, 477, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 0, 455, 0, - 0, 0, 495, 499, 500, 501, 502, 0, 0, 530, - 535, 536, 537, 538, 550, 543, 688, 647, 648, 649, - 651, 668, 0, 670, 672, 658, 659, 683, 684, 685, - 0, 0, 0, 0, 681, 663, 0, 694, 695, 696, - 697, 698, 699, 700, 701, 702, 703, 704, 705, 708, - 771, 772, 773, 0, 706, 707, 718, 0, 0, 0, - 566, 797, 0, -2, 0, 686, 905, 822, 0, 0, - 0, 0, 691, 799, 0, 691, 799, 0, 0, 0, - 563, 564, 794, 791, 0, 0, 757, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 521, 522, 524, 0, - 639, 0, 620, 0, 622, 623, 0, 937, 857, 51, - 41, 0, 858, 0, 0, 0, 0, 818, 820, 821, - 857, 0, 807, 0, 0, 644, 0, 0, 570, 47, - 586, 582, 0, 644, 0, 0, 634, 0, 0, 0, - 0, 0, 0, 624, 0, 0, 627, 0, 0, 0, - 0, 618, 0, 0, 0, -2, 0, 0, 0, 61, - 62, 0, 0, 0, 911, 72, 0, 0, 77, 78, - 912, 913, 914, 915, 0, 110, -2, 274, 129, 131, - 132, 133, 124, 199, 197, 0, 194, 193, 139, 205, - 205, 162, 163, 208, 0, 208, 208, 208, 0, 0, - 156, 157, 158, 159, 150, 0, 151, 152, 153, 0, - 154, 252, 0, 826, 220, 221, 223, 227, 0, 0, - 248, 249, 0, 0, 929, 0, 940, 0, 0, 0, - 119, 120, 121, 122, 117, 0, 0, 125, 327, 0, - 0, 0, 250, 0, 0, 229, 245, 230, 231, 0, - 356, 0, 0, 389, 390, 391, 392, 0, 0, 0, - 325, 327, 208, 0, 281, 282, 287, 288, 306, 0, - 0, 0, 0, 852, 853, 0, 856, 92, 379, 381, - 380, 384, 0, 0, 0, 0, 416, 418, 267, 268, - 826, 0, 420, 438, 475, 476, 474, 454, 474, 481, - 458, 491, 534, 0, 0, 0, 542, 0, 669, 671, - 673, 660, 681, 664, 0, 661, 0, 0, 655, 723, - 0, 0, 565, 0, 814, 857, 727, 728, 0, 0, - 0, 0, 0, 764, 0, 0, 765, 0, 814, 0, - 792, 0, 0, 739, 758, 0, 0, 759, 760, 761, - 762, 763, 520, 523, 525, 599, 0, 0, 0, 0, - 621, 935, 43, 0, 0, 0, 824, 825, 817, 42, - 0, 924, 925, 808, 809, 810, 0, 579, 590, 571, - 0, 822, 899, 0, 0, 891, 0, 0, 644, 907, - 0, 592, 613, 615, 0, 610, 625, 626, 628, 0, - 630, 0, 632, 633, 596, 597, 598, 0, 644, 0, - 644, 66, 644, 68, 0, 638, 75, 76, 0, 0, - 82, 209, 210, 117, 276, 130, 201, 0, 198, 135, - 195, 208, 208, 164, 206, 207, 165, 166, 167, 0, - 183, 0, 0, 0, 269, 87, 830, 829, 227, 227, - 222, 0, 225, 0, 186, 0, 102, 0, 0, 0, - 0, 331, 603, 0, 342, 343, 0, 326, 386, 0, - 219, 0, 232, 797, 606, 0, 0, 344, 0, 327, - 347, 348, 359, 309, 310, 307, 601, 843, 844, 845, - 0, 855, 95, 0, 0, 0, 0, 377, 0, 419, - 64, 477, 477, 529, 0, 532, 0, 662, 0, 682, - 665, 724, 725, 0, 798, 822, 45, 0, 185, 185, - 777, 185, 189, 780, 185, 782, 185, 785, 0, 0, - 0, 0, 0, 0, 0, 789, 738, 795, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 862, 859, 44, - 812, 0, 645, 583, 48, 52, 0, 899, 890, 901, - 903, 0, 0, 0, 895, 0, 814, 0, 0, 607, - 614, 0, 0, 608, 0, 609, 629, 631, -2, 814, - 644, 59, 60, 0, 79, 80, 81, 275, 203, 0, - 200, 160, 161, 205, 0, 205, 0, 190, 0, 258, - 270, 0, 827, 828, 0, 0, 224, 226, 601, 103, - 104, 105, 0, 0, 126, 328, 0, 218, 0, 0, - 411, 408, 345, 346, 0, 0, 854, 378, 0, 93, - 94, 0, 0, 383, 417, 439, 451, 531, 551, 666, - 726, 857, 729, 774, 205, 778, 779, 781, 783, 784, - 786, 731, 730, 0, 0, 0, 0, 0, 822, 0, - 793, 0, 0, 0, 0, 0, 619, 205, 882, 49, - 0, 0, 0, 53, 0, 904, 0, 0, 0, 0, - 70, 822, 908, 909, 611, 0, 616, 822, 58, 211, - 204, 0, 208, 184, 208, 0, 0, 271, 831, 832, - 833, 834, 835, 836, 837, 0, 334, 604, 0, 0, - 388, 0, 396, 0, 0, 0, 0, 96, 97, 0, - 0, 0, 46, 775, 776, 0, 0, 0, 0, 766, - 0, 790, 0, 0, 0, 641, 0, 0, 639, 864, - 863, 876, 880, 813, 811, 0, 902, 0, 894, 897, - 893, 896, 56, 0, 57, 216, 0, 213, 215, 202, - 173, 174, 188, 191, 0, 0, 0, 412, 409, 410, - 846, 602, 0, 0, 0, 385, 732, 734, 733, 735, - 0, 0, 0, 737, 754, 755, 640, 642, 643, 600, - 882, 0, 875, 878, -2, 0, 0, 892, 0, 612, - 134, 0, 212, 214, 846, 0, 0, 375, 848, 98, - 99, 320, 321, 322, 92, 736, 0, 0, 0, 869, - 867, 867, 880, 0, 884, 0, 889, 0, 900, 898, - 217, 88, 0, 0, 0, 0, 849, 850, 95, 767, - 0, 770, 872, 0, 865, 868, 866, 877, 0, 883, - 0, 0, 881, 413, 414, 254, 0, 382, 768, 861, - 0, 870, 871, 879, 0, 0, 255, 256, 0, 847, - 0, 873, 874, 885, 887, 257, 0, 0, 0, 0, - 259, 261, 262, 0, 0, 260, 769, 263, 264, 265, + 31, 32, 809, 0, 547, 547, 547, 547, 547, 547, + 547, 0, 0, 90, -2, -2, 833, 37, 0, 0, + 0, 0, -2, 481, 482, 0, 484, -2, 0, 0, + 493, 1339, 1339, 542, 0, 0, 0, 0, 0, 1337, + 54, 55, 499, 500, 501, 1, 3, 0, 551, 817, + 0, 0, -2, 549, 0, 0, 925, 925, 925, 0, + 85, 86, 0, 0, 0, 833, 923, 0, 0, 0, + 0, 923, 0, 108, 109, 89, -2, 113, 114, 0, + 118, 366, 327, 369, 325, 355, -2, 318, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 330, 222, 222, 0, 0, -2, 318, 318, 318, 0, + 0, 0, 352, 927, 272, 222, 222, 0, 222, 222, + 222, 222, 0, 0, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 0, + 107, 846, 0, 0, 117, 38, 34, 35, 36, 0, + 921, 0, 921, 921, 0, 418, 631, 940, 941, 1080, + 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, + 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, + 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, + 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, + 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, + 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, + 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, + 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, + 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, + 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, + 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, + 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, + 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, + 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, + 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, + 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, + 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, + 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, + 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, + 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, + 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, + 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, + 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, + 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, + 1331, 1332, 1333, 1334, 1335, 1336, 0, 472, 472, 472, + 472, 472, 472, 0, 427, 0, 0, 0, 0, 0, + 0, 0, 444, 0, 447, 0, 0, 454, 472, 1340, + 1340, 1340, 912, 0, 478, 479, 466, 464, 461, 462, + 480, 483, 0, 488, 491, 936, 937, 0, 506, 0, + 1154, 498, 511, 512, 0, 543, 544, 39, 682, 641, + 0, 647, 649, 0, 684, 685, 686, 687, 688, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 714, + 715, 716, 717, 794, 795, 796, 797, 798, 799, 800, + 801, 651, 652, 791, 0, 901, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 782, 0, 751, 751, 751, + 751, 751, 751, 751, 751, 0, 0, 0, 0, 0, + 0, 0, -2, -2, 1339, 0, 521, 0, 809, 50, + 0, 547, 552, 553, 852, 0, 0, 809, 1338, 0, + 0, -2, -2, 563, 569, 570, 571, 572, 548, 0, + 575, 579, 0, 0, 0, 926, 0, 0, 71, 0, + 1307, 905, -2, -2, 0, 0, 938, 939, 914, -2, + 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, + 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, + 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, + 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, + 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, + 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, + 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, + 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, + 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, + 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, + 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, + 1074, 1075, 1076, 1077, 1078, 1079, -2, 1099, 0, 0, + 127, 128, 0, 37, 248, 0, 123, 0, 242, 196, + 846, 0, 0, 933, 0, 0, 0, 0, 91, 115, + 116, 222, 222, 0, 117, 117, 334, 335, 336, 0, + 0, -2, 246, 0, 319, 0, 0, 236, 236, 240, + 238, 239, 0, 0, 0, 0, 0, 0, 346, 0, + 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 402, 0, 223, 0, 364, 365, 273, 0, 0, 0, + 0, 344, 345, 0, 0, 928, 929, 0, 0, 222, + 222, 0, 0, 0, 0, 222, 222, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 101, 837, 0, 0, 0, 0, 0, 0, + -2, 0, 410, 0, 0, 0, 0, 0, 0, 417, + 0, 419, 420, 0, 0, 421, 422, 423, 424, 425, + 472, 0, 472, 0, 472, 472, 472, 472, 469, 0, + 469, 467, 468, 459, 460, 1340, 1340, 1340, 0, 1340, + 1340, 0, 1340, 1340, 0, 231, 232, 233, 475, 451, + 452, 455, 456, 1341, 1342, 457, 458, 913, 489, 492, + 509, 507, 508, 510, 502, 503, 504, 505, 0, 522, + 523, 528, 0, 0, 0, 0, 534, 535, 536, 0, + 0, 539, 540, 541, 0, 0, 0, 0, 0, 645, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, + 670, 671, 672, 673, 674, 675, 648, 0, 662, 0, + 0, 0, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 0, 560, 0, 0, 0, 809, 0, 0, 0, + 0, 0, 0, 0, 557, 0, 783, 0, 735, 743, + 0, 736, 744, 737, 745, 738, 0, 739, 746, 740, + 747, 741, 742, 748, 0, 0, 0, 560, 560, 0, + 0, 40, 513, 514, 0, 614, 931, 817, 0, 562, + 855, 0, 0, 818, 810, 811, 814, 817, 0, 584, + 573, 564, 567, 568, 550, 0, 576, 580, 0, 582, + 583, 0, 0, 69, 0, 630, 0, 586, 588, 589, + 590, 612, 0, 0, 0, 0, 65, 67, 631, 0, + 1307, 911, 0, 73, 74, 0, 0, 0, 210, 916, + 917, 918, -2, 229, 0, 135, 203, 147, 148, 149, + 196, 151, 196, 196, 196, 196, 207, 207, 207, 207, + 179, 180, 181, 182, 183, 0, 0, 166, 196, 196, + 196, 196, 186, 187, 188, 189, 190, 191, 192, 193, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 198, + 198, 198, 200, 200, 0, 38, 0, 214, 0, 814, + 0, 837, 100, 0, 0, 934, 0, 933, 933, 933, + 106, 0, 0, 367, 328, 356, 368, 0, 331, 332, + -2, 0, 0, 318, 0, 320, 0, 230, 0, -2, + 0, 0, 0, 236, 240, 237, 240, 228, 241, 348, + 791, 0, 349, 350, 0, 382, 600, 0, 0, 0, + 0, 0, 388, 389, 390, 0, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 357, 358, 359, 360, + 361, 362, 363, 0, 0, 320, 0, 353, 0, 274, + 275, 0, 0, 278, 279, 280, 281, 0, 0, 284, + 285, 286, 287, 288, 312, 313, 314, 289, 290, 291, + 292, 293, 294, 295, 306, 307, 308, 309, 310, 311, + 296, 297, 298, 299, 300, 303, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 834, 835, 836, 0, + 0, 0, 261, 922, 0, 261, 63, 416, 632, 942, + 943, 473, 474, 426, 445, 428, 448, 429, 431, 430, + 432, 472, 0, 0, 0, 234, 235, 472, 435, 436, + 437, 438, 439, 440, 441, 442, 443, 0, 450, 0, + 0, 0, 490, 494, 495, 496, 497, 0, 0, 525, + 530, 531, 532, 533, 545, 538, 683, 642, 643, 644, + 646, 663, 0, 665, 667, 653, 654, 678, 679, 680, + 0, 0, 0, 0, 676, 658, 0, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 703, + 766, 767, 768, 0, 701, 702, 713, 0, 0, 0, + 561, 792, 0, -2, 0, 681, 900, 817, 0, 0, + 0, 0, 686, 794, 0, 686, 794, 0, 0, 0, + 558, 559, 789, 786, 0, 0, 752, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 516, 517, 519, 0, + 634, 0, 615, 0, 617, 618, 0, 932, 852, 51, + 41, 0, 853, 0, 0, 0, 0, 813, 815, 816, + 852, 0, 802, 0, 0, 639, 0, 0, 565, 47, + 581, 577, 0, 639, 0, 0, 629, 0, 0, 0, + 0, 0, 0, 619, 0, 0, 622, 0, 0, 0, + 0, 613, 0, 0, 0, -2, 0, 0, 0, 61, + 62, 0, 0, 0, 906, 72, 0, 0, 77, 78, + 907, 908, 909, 910, 0, 110, -2, 269, 129, 131, + 132, 133, 124, 134, 205, 204, 150, 207, 207, 173, + 174, 210, 0, 210, 210, 210, 0, 0, 167, 168, + 169, 170, 161, 0, 162, 163, 164, 0, 165, 247, + 0, 821, 215, 216, 218, 222, 0, 0, 243, 244, + 0, 0, 924, 0, 935, 0, 0, 0, 119, 120, + 121, 122, 117, 0, 0, 125, 322, 0, 0, 0, + 245, 0, 0, 224, 240, 225, 226, 0, 351, 0, + 0, 384, 385, 386, 387, 0, 0, 0, 320, 322, + 210, 0, 276, 277, 282, 283, 301, 0, 0, 0, + 0, 847, 848, 0, 851, 92, 374, 376, 375, 379, + 0, 0, 0, 0, 411, 413, 262, 263, 821, 0, + 415, 433, 470, 471, 469, 449, 469, 476, 453, 486, + 529, 0, 0, 0, 537, 0, 664, 666, 668, 655, + 676, 659, 0, 656, 0, 0, 650, 718, 0, 0, + 560, 0, 809, 852, 722, 723, 0, 0, 0, 0, + 0, 759, 0, 0, 760, 0, 809, 0, 787, 0, + 0, 734, 753, 0, 0, 754, 755, 756, 757, 758, + 515, 518, 520, 594, 0, 0, 0, 0, 616, 930, + 43, 0, 0, 0, 819, 820, 812, 42, 0, 919, + 920, 803, 804, 805, 0, 574, 585, 566, 0, 817, + 894, 0, 0, 886, 0, 0, 639, 902, 0, 587, + 608, 610, 0, 605, 620, 621, 623, 0, 625, 0, + 627, 628, 591, 592, 593, 0, 639, 0, 639, 66, + 639, 68, 0, 633, 75, 76, 0, 0, 82, 211, + 212, 117, 271, 130, 136, 0, 0, 0, 140, 0, + 0, 143, 145, 146, 206, 210, 210, 175, 208, 209, + 176, 177, 178, 0, 194, 0, 0, 0, 264, 87, + 825, 824, 222, 222, 217, 0, 220, 0, 197, 0, + 102, 0, 0, 0, 0, 326, 598, 0, 337, 338, + 0, 321, 381, 0, 214, 0, 227, 792, 601, 0, + 0, 339, 0, 322, 342, 343, 354, 304, 305, 302, + 596, 838, 839, 840, 0, 850, 95, 0, 0, 0, + 0, 372, 0, 414, 64, 472, 472, 524, 0, 527, + 0, 657, 0, 677, 660, 719, 720, 0, 793, 817, + 45, 0, 196, 196, 772, 196, 200, 775, 196, 777, + 196, 780, 0, 0, 0, 0, 0, 0, 0, 784, + 733, 790, 0, 0, 0, 0, 0, 0, 0, 0, + 207, 857, 854, 44, 807, 0, 640, 578, 48, 52, + 0, 894, 885, 896, 898, 0, 0, 0, 890, 0, + 809, 0, 0, 602, 609, 0, 0, 603, 0, 604, + 624, 626, -2, 809, 639, 59, 60, 0, 79, 80, + 81, 270, 137, 138, 0, 141, 142, 144, 171, 172, + 207, 0, 207, 0, 201, 0, 253, 265, 0, 822, + 823, 0, 0, 219, 221, 596, 103, 104, 105, 0, + 0, 126, 323, 0, 213, 0, 0, 406, 403, 340, + 341, 0, 0, 849, 373, 0, 93, 94, 0, 0, + 378, 412, 434, 446, 526, 546, 661, 721, 852, 724, + 769, 207, 773, 774, 776, 778, 779, 781, 726, 725, + 0, 0, 0, 0, 0, 817, 0, 788, 0, 0, + 0, 0, 0, 614, 207, 877, 49, 0, 0, 0, + 53, 0, 899, 0, 0, 0, 0, 70, 817, 903, + 904, 606, 0, 611, 817, 58, 139, 210, 195, 210, + 0, 0, 266, 826, 827, 828, 829, 830, 831, 832, + 0, 329, 599, 0, 0, 383, 0, 391, 0, 0, + 0, 0, 96, 97, 0, 0, 0, 46, 770, 771, + 0, 0, 0, 0, 761, 0, 785, 0, 0, 0, + 636, 0, 0, 634, 859, 858, 871, 875, 808, 806, + 0, 897, 0, 889, 892, 888, 891, 56, 0, 57, + 184, 185, 199, 202, 0, 0, 0, 407, 404, 405, + 841, 597, 0, 0, 0, 380, 727, 729, 728, 730, + 0, 0, 0, 732, 749, 750, 635, 637, 638, 595, + 877, 0, 870, 873, -2, 0, 0, 887, 0, 607, + 841, 0, 0, 370, 843, 98, 99, 315, 316, 317, + 92, 731, 0, 0, 0, 864, 862, 862, 875, 0, + 879, 0, 884, 0, 895, 893, 88, 0, 0, 0, + 0, 844, 845, 95, 762, 0, 765, 867, 0, 860, + 863, 861, 872, 0, 878, 0, 0, 876, 408, 409, + 249, 0, 377, 763, 856, 0, 865, 866, 874, 0, + 0, 250, 251, 0, 842, 0, 868, 869, 880, 882, + 252, 0, 0, 0, 0, 254, 256, 257, 0, 0, + 255, 764, 258, 259, 260, } var yyTok1 = [...]int{ @@ -6001,1439 +5986,1414 @@ yydefault: yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition) } case 134: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1002 { - yyDollar[2].columnType.NotNull = yyDollar[3].boolean - yyDollar[2].columnType.Default = yyDollar[4].optVal - yyDollar[2].columnType.OnUpdate = yyDollar[5].optVal - yyDollar[2].columnType.Autoincrement = yyDollar[6].boolean - yyDollar[2].columnType.KeyOpt = yyDollar[7].colKeyOpt - yyDollar[2].columnType.Comment = yyDollar[8].literal + yyDollar[2].columnType.Options = yyDollar[3].columnTypeOptions yyVAL.columnDefinition = &ColumnDefinition{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType} } case 135: + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:1008 + { + yyVAL.columnTypeOptions = &ColumnTypeOptions{NotNull: false, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil} + } + case 136: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1012 + { + yyDollar[1].columnTypeOptions.NotNull = false + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 137: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1017 + { + yyDollar[1].columnTypeOptions.NotNull = true + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 138: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1022 + { + yyDollar[1].columnTypeOptions.Default = yyDollar[3].expr + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 139: + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:1027 + { + yyDollar[1].columnTypeOptions.OnUpdate = yyDollar[4].expr + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 140: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1032 + { + yyDollar[1].columnTypeOptions.Autoincrement = true + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 141: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1037 + { + yyDollar[1].columnTypeOptions.Comment = NewStrLiteral(yyDollar[3].bytes) + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 142: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1042 + { + yyDollar[1].columnTypeOptions.KeyOpt = colKeyPrimary + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 143: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1047 + { + yyDollar[1].columnTypeOptions.KeyOpt = colKey + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 144: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1052 + { + yyDollar[1].columnTypeOptions.KeyOpt = colKeyUniqueKey + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 145: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1057 + { + yyDollar[1].columnTypeOptions.KeyOpt = colKeyUnique + yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions + } + case 146: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1013 +//line sql.y:1064 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].boolean yyVAL.columnType.Zerofill = yyDollar[3].boolean } - case 139: + case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1024 +//line sql.y:1075 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literal } - case 140: + case 151: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1029 +//line sql.y:1080 { yyVAL.columnType = yyDollar[1].columnType } - case 141: + case 152: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1035 +//line sql.y:1086 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 142: + case 153: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1039 +//line sql.y:1090 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 143: + case 154: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1043 +//line sql.y:1094 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 144: + case 155: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1047 +//line sql.y:1098 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 145: + case 156: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1051 +//line sql.y:1102 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 146: + case 157: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1055 +//line sql.y:1106 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 147: + case 158: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1059 +//line sql.y:1110 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 148: + case 159: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1063 +//line sql.y:1114 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 149: + case 160: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1067 +//line sql.y:1118 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 150: + case 161: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1073 +//line sql.y:1124 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 151: + case 162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1079 +//line sql.y:1130 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 152: + case 163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1085 +//line sql.y:1136 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 153: + case 164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1091 +//line sql.y:1142 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 154: + case 165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1097 +//line sql.y:1148 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 155: + case 166: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1105 +//line sql.y:1156 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 156: + case 167: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1109 +//line sql.y:1160 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 157: + case 168: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1113 +//line sql.y:1164 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 158: + case 169: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1117 +//line sql.y:1168 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 159: + case 170: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1121 +//line sql.y:1172 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 160: + case 171: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1127 +//line sql.y:1178 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 161: + case 172: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1131 +//line sql.y:1182 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } - case 162: + case 173: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1135 +//line sql.y:1186 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 163: + case 174: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1139 +//line sql.y:1190 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 164: + case 175: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1143 +//line sql.y:1194 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 165: + case 176: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1147 +//line sql.y:1198 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 166: + case 177: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1151 +//line sql.y:1202 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 167: + case 178: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1155 +//line sql.y:1206 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } - case 168: + case 179: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1159 +//line sql.y:1210 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 169: + case 180: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1163 +//line sql.y:1214 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 170: + case 181: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1167 +//line sql.y:1218 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 171: + case 182: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1171 +//line sql.y:1222 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 172: + case 183: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1175 +//line sql.y:1226 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 173: + case 184: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1179 +//line sql.y:1230 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } - case 174: + case 185: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1184 +//line sql.y:1235 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } - case 175: + case 186: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1190 +//line sql.y:1241 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 176: + case 187: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1194 +//line sql.y:1245 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 177: + case 188: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1198 +//line sql.y:1249 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 178: + case 189: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1202 +//line sql.y:1253 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 179: + case 190: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1206 +//line sql.y:1257 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 180: + case 191: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1210 +//line sql.y:1261 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 181: + case 192: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1214 +//line sql.y:1265 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 182: + case 193: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1218 +//line sql.y:1269 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } - case 183: + case 194: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1224 +//line sql.y:1275 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, "'"+string(yyDollar[1].bytes)+"'") } - case 184: + case 195: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1229 +//line sql.y:1280 { yyVAL.strs = append(yyDollar[1].strs, "'"+string(yyDollar[3].bytes)+"'") } - case 185: + case 196: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1234 +//line sql.y:1285 { yyVAL.literal = nil } - case 186: + case 197: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1238 +//line sql.y:1289 { yyVAL.literal = NewIntLiteral(yyDollar[2].bytes) } - case 187: + case 198: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1243 +//line sql.y:1294 { yyVAL.LengthScaleOption = LengthScaleOption{} } - case 188: + case 199: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1247 +//line sql.y:1298 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].bytes), Scale: NewIntLiteral(yyDollar[4].bytes), } } - case 189: + case 200: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1255 +//line sql.y:1306 { yyVAL.LengthScaleOption = LengthScaleOption{} } - case 190: + case 201: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1259 +//line sql.y:1310 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].bytes), } } - case 191: + case 202: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1265 +//line sql.y:1316 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].bytes), Scale: NewIntLiteral(yyDollar[4].bytes), } } - case 192: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1273 - { - yyVAL.boolean = false - } - case 193: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1277 - { - yyVAL.boolean = true - } - case 194: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1282 - { - yyVAL.boolean = false - } - case 195: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1286 - { - yyVAL.boolean = true - } - case 196: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1292 - { - yyVAL.boolean = false - } - case 197: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1296 - { - yyVAL.boolean = false - } - case 198: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1300 - { - yyVAL.boolean = true - } - case 199: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1305 - { - yyVAL.optVal = nil - } - case 200: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1309 - { - yyVAL.optVal = yyDollar[2].expr - } - case 201: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1314 - { - yyVAL.optVal = nil - } - case 202: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1318 - { - yyVAL.optVal = yyDollar[3].expr - } case 203: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1323 +//line sql.y:1324 { yyVAL.boolean = false } case 204: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1327 +//line sql.y:1328 { yyVAL.boolean = true } case 205: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1332 +//line sql.y:1333 { - yyVAL.str = "" + yyVAL.boolean = false } case 206: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1336 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1337 { - yyVAL.str = string(yyDollar[2].colIdent.String()) + yyVAL.boolean = true } case 207: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1340 - { - yyVAL.str = string(yyDollar[2].bytes) - } - case 208: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1345 +//line sql.y:1342 { yyVAL.str = "" } - case 209: + case 208: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1349 +//line sql.y:1346 { yyVAL.str = string(yyDollar[2].colIdent.String()) } - case 210: + case 209: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1353 +//line sql.y:1350 { yyVAL.str = string(yyDollar[2].bytes) } - case 211: + case 210: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1358 - { - yyVAL.colKeyOpt = colKeyNone - } - case 212: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1362 - { - yyVAL.colKeyOpt = colKeyPrimary - } - case 213: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1366 - { - yyVAL.colKeyOpt = colKey - } - case 214: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1370 +//line sql.y:1355 { - yyVAL.colKeyOpt = colKeyUniqueKey - } - case 215: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1374 - { - yyVAL.colKeyOpt = colKeyUnique + yyVAL.str = "" } - case 216: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1379 + case 211: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1359 { - yyVAL.literal = nil + yyVAL.str = string(yyDollar[2].colIdent.String()) } - case 217: + case 212: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1383 +//line sql.y:1363 { - yyVAL.literal = NewStrLiteral(yyDollar[2].bytes) + yyVAL.str = string(yyDollar[2].bytes) } - case 218: + case 213: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1389 +//line sql.y:1370 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Options: yyDollar[5].indexOptions} } - case 219: + case 214: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1394 +//line sql.y:1375 { yyVAL.indexOptions = nil } - case 220: + case 215: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1398 +//line sql.y:1379 { yyVAL.indexOptions = yyDollar[1].indexOptions } - case 221: + case 216: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1404 +//line sql.y:1385 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 222: + case 217: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1408 +//line sql.y:1389 { yyVAL.indexOptions = append(yyVAL.indexOptions, yyDollar[2].indexOption) } - case 223: + case 218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1414 +//line sql.y:1395 { yyVAL.indexOption = yyDollar[1].indexOption } - case 224: + case 219: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1418 +//line sql.y:1399 { // should not be string yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 225: + case 220: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1423 +//line sql.y:1404 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[2].bytes)} } - case 226: + case 221: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1427 +//line sql.y:1408 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), String: yyDollar[3].colIdent.String()} } - case 227: + case 222: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1433 +//line sql.y:1414 { yyVAL.str = "" } - case 228: + case 223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1437 +//line sql.y:1418 { yyVAL.str = string(yyDollar[1].bytes) } - case 229: + case 224: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1443 +//line sql.y:1424 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } - case 230: + case 225: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1447 +//line sql.y:1428 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } - case 231: + case 226: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1451 +//line sql.y:1432 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } - case 232: + case 227: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1455 +//line sql.y:1436 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } - case 233: + case 228: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1459 +//line sql.y:1440 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } - case 234: + case 229: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1464 +//line sql.y:1445 { yyVAL.str = "" } - case 235: + case 230: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1468 +//line sql.y:1449 { yyVAL.str = yyDollar[2].str } - case 236: + case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1474 +//line sql.y:1455 { yyVAL.str = string(yyDollar[1].bytes) } - case 237: + case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1478 +//line sql.y:1459 { yyVAL.str = string(yyDollar[1].bytes) } - case 238: + case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1482 +//line sql.y:1463 { yyVAL.str = string(yyDollar[1].bytes) } - case 239: + case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1489 +//line sql.y:1470 { yyVAL.str = string(yyDollar[1].bytes) } - case 240: + case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1493 +//line sql.y:1474 { yyVAL.str = string(yyDollar[1].bytes) } - case 241: + case 236: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1498 +//line sql.y:1479 { yyVAL.str = "key" } - case 242: + case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1502 +//line sql.y:1483 { yyVAL.str = yyDollar[1].str } - case 243: + case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1508 +//line sql.y:1489 { yyVAL.str = string(yyDollar[1].bytes) } - case 244: + case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1512 +//line sql.y:1493 { yyVAL.str = string(yyDollar[1].bytes) } - case 245: + case 240: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1517 +//line sql.y:1498 { yyVAL.str = "" } - case 246: + case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1521 +//line sql.y:1502 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 247: + case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1527 +//line sql.y:1508 { yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn} } - case 248: + case 243: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1531 +//line sql.y:1512 { yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn) } - case 249: + case 244: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1537 +//line sql.y:1518 { yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literal, Direction: yyDollar[3].orderDirection} } - case 250: + case 245: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1543 +//line sql.y:1524 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].colIdent.String()), Details: yyDollar[3].constraintInfo} } - case 251: + case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1547 +//line sql.y:1528 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 252: + case 247: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1553 +//line sql.y:1534 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].colIdent.String()), Details: yyDollar[3].constraintInfo} } - case 253: + case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1557 +//line sql.y:1538 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } - case 254: + case 249: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:1563 +//line sql.y:1544 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns} } - case 255: + case 250: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:1567 +//line sql.y:1548 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction} } - case 256: + case 251: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:1571 +//line sql.y:1552 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnUpdate: yyDollar[11].ReferenceAction} } - case 257: + case 252: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:1575 +//line sql.y:1556 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction, OnUpdate: yyDollar[12].ReferenceAction} } - case 258: + case 253: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1581 +//line sql.y:1562 { yyVAL.constraintInfo = &CheckConstraintDefinition{Expr: yyDollar[3].expr, Enforced: yyDollar[5].boolean} } - case 259: + case 254: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1587 +//line sql.y:1568 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 260: + case 255: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1593 +//line sql.y:1574 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } - case 261: + case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1599 +//line sql.y:1580 { yyVAL.ReferenceAction = Restrict } - case 262: + case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1603 +//line sql.y:1584 { yyVAL.ReferenceAction = Cascade } - case 263: + case 258: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1607 +//line sql.y:1588 { yyVAL.ReferenceAction = NoAction } - case 264: + case 259: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1611 +//line sql.y:1592 { yyVAL.ReferenceAction = SetDefault } - case 265: + case 260: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1615 +//line sql.y:1596 { yyVAL.ReferenceAction = SetNull } - case 266: + case 261: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1620 +//line sql.y:1601 { yyVAL.str = "" } - case 267: + case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1624 +//line sql.y:1605 { yyVAL.str = string(yyDollar[1].bytes) } - case 268: + case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1628 +//line sql.y:1609 { yyVAL.str = string(yyDollar[1].bytes) } - case 269: + case 264: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1633 +//line sql.y:1614 { yyVAL.boolean = true } - case 270: + case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1637 +//line sql.y:1618 { yyVAL.boolean = true } - case 271: + case 266: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1641 +//line sql.y:1622 { yyVAL.boolean = false } - case 272: + case 267: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1646 +//line sql.y:1627 { yyVAL.tableOptions = nil } - case 273: + case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1650 +//line sql.y:1631 { yyVAL.tableOptions = yyDollar[1].tableOptions } - case 274: + case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1656 +//line sql.y:1637 { yyVAL.tableOptions = TableOptions{yyDollar[1].tableOption} } - case 275: + case 270: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1660 +//line sql.y:1641 { yyVAL.tableOptions = append(yyDollar[1].tableOptions, yyDollar[3].tableOption) } - case 276: + case 271: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1664 +//line sql.y:1645 { yyVAL.tableOptions = append(yyDollar[1].tableOptions, yyDollar[2].tableOption) } - case 277: + case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1670 +//line sql.y:1651 { yyVAL.tableOptions = TableOptions{yyDollar[1].tableOption} } - case 278: + case 273: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1674 +//line sql.y:1655 { yyVAL.tableOptions = append(yyDollar[1].tableOptions, yyDollar[2].tableOption) } - case 279: + case 274: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1680 +//line sql.y:1661 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 280: + case 275: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1684 +//line sql.y:1665 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 281: + case 276: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1688 +//line sql.y:1669 { yyVAL.tableOption = &TableOption{Name: (string(yyDollar[2].bytes)), String: yyDollar[4].str} } - case 282: + case 277: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1692 +//line sql.y:1673 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[2].bytes), String: yyDollar[4].str} } - case 283: + case 278: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1696 +//line sql.y:1677 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 284: + case 279: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1700 +//line sql.y:1681 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } - case 285: + case 280: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1704 +//line sql.y:1685 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } - case 286: + case 281: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1708 +//line sql.y:1689 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } - case 287: + case 282: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1712 +//line sql.y:1693 { yyVAL.tableOption = &TableOption{Name: (string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)), Value: NewStrLiteral(yyDollar[4].bytes)} } - case 288: + case 283: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1716 +//line sql.y:1697 { yyVAL.tableOption = &TableOption{Name: (string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)), Value: NewStrLiteral(yyDollar[4].bytes)} } - case 289: + case 284: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1720 +//line sql.y:1701 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 290: + case 285: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1724 +//line sql.y:1705 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } - case 291: + case 286: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1728 +//line sql.y:1709 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: yyDollar[3].colIdent.String()} } - case 292: + case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1732 +//line sql.y:1713 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } - case 293: + case 288: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1736 +//line sql.y:1717 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 294: + case 289: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1740 +//line sql.y:1721 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 295: + case 290: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1744 +//line sql.y:1725 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 296: + case 291: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1748 +//line sql.y:1729 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 297: + case 292: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1752 +//line sql.y:1733 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 298: + case 293: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1756 +//line sql.y:1737 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 299: + case 294: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1760 +//line sql.y:1741 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } - case 300: + case 295: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1764 +//line sql.y:1745 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 301: + case 296: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1768 +//line sql.y:1749 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 302: + case 297: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1772 +//line sql.y:1753 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 303: + case 298: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1776 +//line sql.y:1757 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 304: + case 299: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1780 +//line sql.y:1761 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 305: + case 300: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1784 +//line sql.y:1765 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } - case 306: + case 301: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1788 +//line sql.y:1769 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } - case 307: + case 302: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1792 +//line sql.y:1773 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Tables: yyDollar[4].tableNames} } - case 308: + case 303: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1797 +//line sql.y:1778 { yyVAL.str = "" } - case 309: + case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1801 +//line sql.y:1782 { yyVAL.str = " " + string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } - case 310: + case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1805 +//line sql.y:1786 { yyVAL.str = " " + string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } - case 320: + case 315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1824 +//line sql.y:1805 { yyVAL.str = yyDollar[1].colIdent.String() } - case 321: + case 316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1828 +//line sql.y:1809 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'" } - case 322: + case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1832 +//line sql.y:1813 { yyVAL.str = string(yyDollar[1].bytes) } - case 323: + case 318: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1837 +//line sql.y:1818 { yyVAL.bytes = []byte("") } - case 325: + case 320: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1843 +//line sql.y:1824 { yyVAL.colName = nil } - case 326: + case 321: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1847 +//line sql.y:1828 { yyVAL.colName = yyDollar[2].colName } - case 327: + case 322: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1852 +//line sql.y:1833 { yyVAL.colName = nil } - case 328: + case 323: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1856 +//line sql.y:1837 { yyVAL.colName = yyDollar[2].colName } - case 329: + case 324: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1861 +//line sql.y:1842 { yyVAL.alterOptions = nil } - case 330: + case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1865 +//line sql.y:1846 { yyVAL.alterOptions = yyDollar[1].alterOptions } - case 331: + case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1869 +//line sql.y:1850 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, &OrderByOption{Cols: yyDollar[5].columns}) } - case 332: + case 327: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1873 +//line sql.y:1854 { yyVAL.alterOptions = yyDollar[1].alterOptions } - case 333: + case 328: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1877 +//line sql.y:1858 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, yyDollar[3].alterOptions...) } - case 334: + case 329: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1881 +//line sql.y:1862 { yyVAL.alterOptions = append(append(yyDollar[1].alterOptions, yyDollar[3].alterOptions...), &OrderByOption{Cols: yyDollar[7].columns}) } - case 335: + case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1887 +//line sql.y:1868 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption} } - case 336: + case 331: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1891 +//line sql.y:1872 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, yyDollar[3].alterOption) } - case 337: + case 332: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1895 +//line sql.y:1876 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, yyDollar[3].alterOption) } - case 338: + case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1901 +//line sql.y:1882 { yyVAL.alterOption = yyDollar[1].tableOptions } - case 339: + case 334: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1905 +//line sql.y:1886 { yyVAL.alterOption = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinition} } - case 340: + case 335: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1909 +//line sql.y:1890 { yyVAL.alterOption = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinition} } - case 341: + case 336: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1913 +//line sql.y:1894 { yyVAL.alterOption = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinition} } - case 342: + case 337: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1917 +//line sql.y:1898 { yyVAL.alterOption = &AddColumns{Columns: yyDollar[4].columnDefinitions} } - case 343: + case 338: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1921 +//line sql.y:1902 { yyVAL.alterOption = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinition}, First: yyDollar[4].colName, After: yyDollar[5].colName} } - case 344: + case 339: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1925 +//line sql.y:1906 { yyVAL.alterOption = &AlterColumn{Column: yyDollar[3].colName, DropDefault: true} } - case 345: + case 340: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1929 +//line sql.y:1910 { yyVAL.alterOption = &AlterColumn{Column: yyDollar[3].colName, DropDefault: false, DefaultVal: yyDollar[6].expr} } - case 346: + case 341: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1933 +//line sql.y:1914 { yyVAL.alterOption = &ChangeColumn{OldColumn: yyDollar[3].colName, NewColDefinition: yyDollar[4].columnDefinition, First: yyDollar[5].colName, After: yyDollar[6].colName} } - case 347: + case 342: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1937 +//line sql.y:1918 { yyVAL.alterOption = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinition, First: yyDollar[4].colName, After: yyDollar[5].colName} } - case 348: + case 343: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1941 +//line sql.y:1922 { yyVAL.alterOption = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } - case 349: + case 344: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1945 +//line sql.y:1926 { yyVAL.alterOption = &KeyState{Enable: false} } - case 350: + case 345: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1949 +//line sql.y:1930 { yyVAL.alterOption = &KeyState{Enable: true} } - case 351: + case 346: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1953 +//line sql.y:1934 { yyVAL.alterOption = &TablespaceOperation{Import: false} } - case 352: + case 347: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1957 +//line sql.y:1938 { yyVAL.alterOption = &TablespaceOperation{Import: true} } - case 353: + case 348: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1961 +//line sql.y:1942 { yyVAL.alterOption = &DropColumn{Name: yyDollar[3].colName} } - case 354: + case 349: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1965 +//line sql.y:1946 { yyVAL.alterOption = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent.String()} } - case 355: + case 350: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1969 +//line sql.y:1950 { yyVAL.alterOption = &DropKey{Type: PrimaryKeyType} } - case 356: + case 351: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1973 +//line sql.y:1954 { yyVAL.alterOption = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent.String()} } - case 357: + case 352: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1977 +//line sql.y:1958 { yyVAL.alterOption = &Force{} } - case 358: + case 353: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1981 +//line sql.y:1962 { yyVAL.alterOption = &RenameTableName{Table: yyDollar[3].tableName} } - case 359: + case 354: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1985 +//line sql.y:1966 { yyVAL.alterOption = &RenameIndex{OldName: yyDollar[3].colIdent.String(), NewName: yyDollar[5].colIdent.String()} } - case 360: + case 355: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1991 +//line sql.y:1972 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption} } - case 361: + case 356: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1995 +//line sql.y:1976 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, yyDollar[3].alterOption) } - case 362: + case 357: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2001 +//line sql.y:1982 { yyVAL.alterOption = AlgorithmValue(string(yyDollar[3].bytes)) } - case 363: + case 358: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2005 +//line sql.y:1986 { yyVAL.alterOption = AlgorithmValue(string(yyDollar[3].bytes)) } - case 364: + case 359: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2009 +//line sql.y:1990 { yyVAL.alterOption = AlgorithmValue(string(yyDollar[3].bytes)) } - case 365: + case 360: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2013 +//line sql.y:1994 { yyVAL.alterOption = &LockOption{Type: DefaultType} } - case 366: + case 361: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2017 +//line sql.y:1998 { yyVAL.alterOption = &LockOption{Type: NoneType} } - case 367: + case 362: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2021 +//line sql.y:2002 { yyVAL.alterOption = &LockOption{Type: SharedType} } - case 368: + case 363: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2025 +//line sql.y:2006 { yyVAL.alterOption = &LockOption{Type: ExclusiveType} } - case 369: + case 364: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2029 +//line sql.y:2010 { yyVAL.alterOption = &Validation{With: true} } - case 370: + case 365: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2033 +//line sql.y:2014 { yyVAL.alterOption = &Validation{With: false} } - case 371: + case 366: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2039 +//line sql.y:2020 { yyDollar[1].alterTable.FullyParsed = true yyDollar[1].alterTable.AlterOptions = yyDollar[2].alterOptions yyVAL.statement = yyDollar[1].alterTable } - case 372: + case 367: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2045 +//line sql.y:2026 { yyDollar[1].alterTable.FullyParsed = true yyDollar[1].alterTable.AlterOptions = yyDollar[2].alterOptions yyDollar[1].alterTable.PartitionSpec = &PartitionSpec{Action: RemoveAction} yyVAL.statement = yyDollar[1].alterTable } - case 373: + case 368: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2052 +//line sql.y:2033 { yyDollar[1].alterTable.FullyParsed = true yyDollar[1].alterTable.AlterOptions = yyDollar[2].alterOptions yyDollar[1].alterTable.PartitionSpec = yyDollar[4].partSpec yyVAL.statement = yyDollar[1].alterTable } - case 374: + case 369: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2059 +//line sql.y:2040 { yyDollar[1].alterTable.FullyParsed = true yyDollar[1].alterTable.PartitionSpec = yyDollar[2].partSpec yyVAL.statement = yyDollar[1].alterTable } - case 375: + case 370: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2065 +//line sql.y:2046 { yyVAL.statement = &AlterView{ViewName: yyDollar[6].tableName.ToViewName(), Algorithm: yyDollar[2].str, Definer: yyDollar[3].str, Security: yyDollar[4].str, Columns: yyDollar[7].columns, Select: yyDollar[9].selStmt, CheckOption: yyDollar[10].str} } - case 376: + case 371: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2069 +//line sql.y:2050 { yyDollar[1].alterDatabase.FullyParsed = true yyDollar[1].alterDatabase.DBName = yyDollar[2].colIdent.String() yyDollar[1].alterDatabase.AlterOptions = yyDollar[3].collateAndCharsets yyVAL.statement = yyDollar[1].alterDatabase } - case 377: + case 372: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2076 +//line sql.y:2057 { yyDollar[1].alterDatabase.FullyParsed = true yyDollar[1].alterDatabase.DBName = yyDollar[2].colIdent.String() yyDollar[1].alterDatabase.UpdateDataDirectory = true yyVAL.statement = yyDollar[1].alterDatabase } - case 378: + case 373: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2083 +//line sql.y:2064 { yyVAL.statement = &AlterVschema{ Action: CreateVindexDDLAction, @@ -7445,9 +7405,9 @@ yydefault: }, } } - case 379: + case 374: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2095 +//line sql.y:2076 { yyVAL.statement = &AlterVschema{ Action: DropVindexDDLAction, @@ -7457,21 +7417,21 @@ yydefault: }, } } - case 380: + case 375: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2105 +//line sql.y:2086 { yyVAL.statement = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[5].tableName} } - case 381: + case 376: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2109 +//line sql.y:2090 { yyVAL.statement = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[5].tableName} } - case 382: + case 377: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2113 +//line sql.y:2094 { yyVAL.statement = &AlterVschema{ Action: AddColVindexDDLAction, @@ -7484,9 +7444,9 @@ yydefault: VindexCols: yyDollar[9].columns, } } - case 383: + case 378: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2126 +//line sql.y:2107 { yyVAL.statement = &AlterVschema{ Action: DropColVindexDDLAction, @@ -7496,15 +7456,15 @@ yydefault: }, } } - case 384: + case 379: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2136 +//line sql.y:2117 { yyVAL.statement = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[5].tableName} } - case 385: + case 380: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:2140 +//line sql.y:2121 { yyVAL.statement = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -7515,207 +7475,207 @@ yydefault: }, } } - case 386: + case 381: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2153 +//line sql.y:2134 { yyVAL.partSpec = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDef}} } - case 387: + case 382: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2157 +//line sql.y:2138 { yyVAL.partSpec = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitions} } - case 388: + case 383: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2161 +//line sql.y:2142 { yyVAL.partSpec = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitions, Definitions: yyDollar[6].partDefs} } - case 389: + case 384: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2165 +//line sql.y:2146 { yyVAL.partSpec = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitions} } - case 390: + case 385: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2169 +//line sql.y:2150 { yyVAL.partSpec = &PartitionSpec{Action: DiscardAction, IsAll: true} } - case 391: + case 386: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2173 +//line sql.y:2154 { yyVAL.partSpec = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitions} } - case 392: + case 387: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2177 +//line sql.y:2158 { yyVAL.partSpec = &PartitionSpec{Action: ImportAction, IsAll: true} } - case 393: + case 388: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2181 +//line sql.y:2162 { yyVAL.partSpec = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitions} } - case 394: + case 389: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2185 +//line sql.y:2166 { yyVAL.partSpec = &PartitionSpec{Action: TruncateAction, IsAll: true} } - case 395: + case 390: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2189 +//line sql.y:2170 { yyVAL.partSpec = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].bytes)} } - case 396: + case 391: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2193 +//line sql.y:2174 { yyVAL.partSpec = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].boolean} } - case 397: + case 392: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2197 +//line sql.y:2178 { yyVAL.partSpec = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitions} } - case 398: + case 393: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2201 +//line sql.y:2182 { yyVAL.partSpec = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } - case 399: + case 394: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2205 +//line sql.y:2186 { yyVAL.partSpec = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitions} } - case 400: + case 395: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2209 +//line sql.y:2190 { yyVAL.partSpec = &PartitionSpec{Action: CheckAction, IsAll: true} } - case 401: + case 396: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2213 +//line sql.y:2194 { yyVAL.partSpec = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitions} } - case 402: + case 397: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2217 +//line sql.y:2198 { yyVAL.partSpec = &PartitionSpec{Action: OptimizeAction, IsAll: true} } - case 403: + case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2221 +//line sql.y:2202 { yyVAL.partSpec = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitions} } - case 404: + case 399: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2225 +//line sql.y:2206 { yyVAL.partSpec = &PartitionSpec{Action: RebuildAction, IsAll: true} } - case 405: + case 400: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2229 +//line sql.y:2210 { yyVAL.partSpec = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitions} } - case 406: + case 401: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2233 +//line sql.y:2214 { yyVAL.partSpec = &PartitionSpec{Action: RepairAction, IsAll: true} } - case 407: + case 402: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2237 +//line sql.y:2218 { yyVAL.partSpec = &PartitionSpec{Action: UpgradeAction} } - case 408: + case 403: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2242 +//line sql.y:2223 { yyVAL.boolean = false } - case 409: + case 404: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2246 +//line sql.y:2227 { yyVAL.boolean = false } - case 410: + case 405: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2250 +//line sql.y:2231 { yyVAL.boolean = true } - case 411: + case 406: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2257 +//line sql.y:2238 { yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef} } - case 412: + case 407: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2261 +//line sql.y:2242 { yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef) } - case 413: + case 408: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2267 +//line sql.y:2248 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr} } - case 414: + case 409: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2271 +//line sql.y:2252 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} } - case 415: + case 410: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2277 +//line sql.y:2258 { yyVAL.statement = &RenameTable{TablePairs: yyDollar[3].renameTablePairs} } - case 416: + case 411: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2283 +//line sql.y:2264 { yyVAL.renameTablePairs = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } - case 417: + case 412: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2287 +//line sql.y:2268 { yyVAL.renameTablePairs = append(yyDollar[1].renameTablePairs, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) } - case 418: + case 413: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2293 +//line sql.y:2274 { yyVAL.statement = &DropTable{FromTables: yyDollar[4].tableNames, IfExists: yyDollar[3].boolean} } - case 419: + case 414: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2297 +//line sql.y:2278 { // Change this to an alter statement if yyDollar[3].colIdent.Lowered() == "primary" { @@ -7724,214 +7684,214 @@ yydefault: yyVAL.statement = &AlterTable{Table: yyDollar[5].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent.String()}}, yyDollar[6].alterOptions...)} } } - case 420: + case 415: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2306 +//line sql.y:2287 { yyVAL.statement = &DropView{FromTables: yyDollar[4].tableNames, IfExists: yyDollar[3].boolean} } - case 421: + case 416: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2310 +//line sql.y:2291 { yyVAL.statement = &DropDatabase{DBName: string(yyDollar[4].colIdent.String()), IfExists: yyDollar[3].boolean} } - case 422: + case 417: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2316 +//line sql.y:2297 { yyVAL.statement = &TruncateTable{Table: yyDollar[3].tableName} } - case 423: + case 418: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2320 +//line sql.y:2301 { yyVAL.statement = &TruncateTable{Table: yyDollar[2].tableName} } - case 424: + case 419: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2325 +//line sql.y:2306 { yyVAL.statement = &OtherRead{} } - case 425: + case 420: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2331 +//line sql.y:2312 { yyVAL.statement = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilter}} } - case 426: + case 421: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2335 +//line sql.y:2316 { yyVAL.statement = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilter}} } - case 427: + case 422: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2339 +//line sql.y:2320 { yyVAL.statement = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilter}} } - case 428: + case 423: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2343 +//line sql.y:2324 { yyVAL.statement = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilter}} } - case 429: + case 424: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2347 +//line sql.y:2328 { yyVAL.statement = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilter}} } - case 430: + case 425: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2351 +//line sql.y:2332 { yyVAL.statement = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilter}} } - case 431: + case 426: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2355 +//line sql.y:2336 { yyVAL.statement = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilter}} } - case 432: + case 427: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2359 +//line sql.y:2340 { yyVAL.statement = &Show{&ShowBasic{Command: Privilege}} } - case 433: + case 428: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2363 +//line sql.y:2344 { yyVAL.statement = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilter}} } - case 434: + case 429: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2367 +//line sql.y:2348 { yyVAL.statement = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilter}} } - case 435: + case 430: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2371 +//line sql.y:2352 { yyVAL.statement = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilter}} } - case 436: + case 431: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2375 +//line sql.y:2356 { yyVAL.statement = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilter}} } - case 437: + case 432: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2379 +//line sql.y:2360 { yyVAL.statement = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilter}} } - case 438: + case 433: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2383 +//line sql.y:2364 { yyVAL.statement = &Show{&ShowTableStatus{DatabaseName: yyDollar[4].str, Filter: yyDollar[5].showFilter}} } - case 439: + case 434: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2387 +//line sql.y:2368 { yyVAL.statement = &Show{&ShowColumns{Full: yyDollar[2].str, Table: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter}} } - case 440: + case 435: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2391 +//line sql.y:2372 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } - case 441: + case 436: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2395 +//line sql.y:2376 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 442: + case 437: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2399 +//line sql.y:2380 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 443: + case 438: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2403 +//line sql.y:2384 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } - case 444: + case 439: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2408 +//line sql.y:2389 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } - case 445: + case 440: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2412 +//line sql.y:2393 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 446: + case 441: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2416 +//line sql.y:2397 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } - case 447: + case 442: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2420 +//line sql.y:2401 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 448: + case 443: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2424 +//line sql.y:2405 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 449: + case 444: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2428 +//line sql.y:2409 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 450: + case 445: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2432 +//line sql.y:2413 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } - case 451: + case 446: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2436 +//line sql.y:2417 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{&ShowLegacy{Extended: string(yyDollar[2].str), Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } - case 452: + case 447: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2441 +//line sql.y:2422 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 453: + case 448: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2445 +//line sql.y:2426 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } - case 454: + case 449: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2449 +//line sql.y:2430 { // this is ugly, but I couldn't find a better way for now if yyDollar[3].str == "processlist" { @@ -7941,1058 +7901,1058 @@ yydefault: yyVAL.statement = &Show{&ShowLegacy{Type: yyDollar[3].str, ShowTablesOpt: showTablesOpt, Scope: ImplicitScope}} } } - case 455: + case 450: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2459 +//line sql.y:2440 { showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilter} yyVAL.statement = &Show{&ShowLegacy{Scope: VitessMetadataScope, Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt}} } - case 456: + case 451: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2464 +//line sql.y:2445 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 457: + case 452: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2468 +//line sql.y:2449 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 458: + case 453: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2472 +//line sql.y:2453 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } - case 459: + case 454: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2476 +//line sql.y:2457 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 460: + case 455: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2481 +//line sql.y:2462 { // This should probably be a different type (ShowVitessTopoOpt), but // just getting the thing working for now showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilter} yyVAL.statement = &Show{&ShowLegacy{Type: yyDollar[2].str, ShowTablesOpt: showTablesOpt}} } - case 461: + case 456: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2495 +//line sql.y:2476 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].colIdent.String()), Scope: ImplicitScope}} } - case 462: + case 457: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2499 +//line sql.y:2480 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 463: + case 458: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2503 +//line sql.y:2484 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 464: + case 459: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2509 +//line sql.y:2490 { yyVAL.str = string(yyDollar[1].bytes) } - case 465: + case 460: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2513 +//line sql.y:2494 { yyVAL.str = string(yyDollar[1].bytes) } - case 466: + case 461: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2519 +//line sql.y:2500 { yyVAL.str = string(yyDollar[1].bytes) } - case 467: + case 462: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2523 +//line sql.y:2504 { yyVAL.str = string(yyDollar[1].bytes) } - case 468: + case 463: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2529 +//line sql.y:2510 { yyVAL.str = "" } - case 469: + case 464: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2533 +//line sql.y:2514 { yyVAL.str = "extended " } - case 470: + case 465: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2539 +//line sql.y:2520 { yyVAL.str = "" } - case 471: + case 466: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2543 +//line sql.y:2524 { yyVAL.str = "full " } - case 472: + case 467: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2549 +//line sql.y:2530 { yyVAL.str = string(yyDollar[1].bytes) } - case 473: + case 468: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2553 +//line sql.y:2534 { yyVAL.str = string(yyDollar[1].bytes) } - case 474: + case 469: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2559 +//line sql.y:2540 { yyVAL.str = "" } - case 475: + case 470: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2563 +//line sql.y:2544 { yyVAL.str = yyDollar[2].tableIdent.v } - case 476: + case 471: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2567 +//line sql.y:2548 { yyVAL.str = yyDollar[2].tableIdent.v } - case 477: + case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2573 +//line sql.y:2554 { yyVAL.showFilter = nil } - case 478: + case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2577 +//line sql.y:2558 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 479: + case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2581 +//line sql.y:2562 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } - case 480: + case 475: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2587 +//line sql.y:2568 { yyVAL.showFilter = nil } - case 481: + case 476: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2591 +//line sql.y:2572 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 482: + case 477: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2597 +//line sql.y:2578 { yyVAL.empty = struct{}{} } - case 483: + case 478: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2601 +//line sql.y:2582 { yyVAL.empty = struct{}{} } - case 484: + case 479: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2605 +//line sql.y:2586 { yyVAL.empty = struct{}{} } - case 485: + case 480: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2611 +//line sql.y:2592 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } - case 486: + case 481: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2615 +//line sql.y:2596 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } - case 487: + case 482: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2621 +//line sql.y:2602 { yyVAL.statement = &Begin{} } - case 488: + case 483: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2625 +//line sql.y:2606 { yyVAL.statement = &Begin{} } - case 489: + case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2631 +//line sql.y:2612 { yyVAL.statement = &Commit{} } - case 490: + case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2637 +//line sql.y:2618 { yyVAL.statement = &Rollback{} } - case 491: + case 486: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2641 +//line sql.y:2622 { yyVAL.statement = &SRollback{Name: yyDollar[5].colIdent} } - case 492: + case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2646 +//line sql.y:2627 { yyVAL.empty = struct{}{} } - case 493: + case 488: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2648 +//line sql.y:2629 { yyVAL.empty = struct{}{} } - case 494: + case 489: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2651 +//line sql.y:2632 { yyVAL.empty = struct{}{} } - case 495: + case 490: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2653 +//line sql.y:2634 { yyVAL.empty = struct{}{} } - case 496: + case 491: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2658 +//line sql.y:2639 { yyVAL.statement = &Savepoint{Name: yyDollar[2].colIdent} } - case 497: + case 492: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2664 +//line sql.y:2645 { yyVAL.statement = &Release{Name: yyDollar[3].colIdent} } - case 498: + case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2669 +//line sql.y:2650 { yyVAL.explainType = EmptyType } - case 499: + case 494: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2673 +//line sql.y:2654 { yyVAL.explainType = JSONType } - case 500: + case 495: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2677 +//line sql.y:2658 { yyVAL.explainType = TreeType } - case 501: + case 496: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2681 +//line sql.y:2662 { yyVAL.explainType = VitessType } - case 502: + case 497: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2685 +//line sql.y:2666 { yyVAL.explainType = TraditionalType } - case 503: + case 498: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2689 +//line sql.y:2670 { yyVAL.explainType = AnalyzeType } - case 504: + case 499: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2695 +//line sql.y:2676 { yyVAL.bytes = yyDollar[1].bytes } - case 505: + case 500: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2699 +//line sql.y:2680 { yyVAL.bytes = yyDollar[1].bytes } - case 506: + case 501: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2703 +//line sql.y:2684 { yyVAL.bytes = yyDollar[1].bytes } - case 507: + case 502: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2709 +//line sql.y:2690 { yyVAL.statement = yyDollar[1].selStmt } - case 508: + case 503: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2713 +//line sql.y:2694 { yyVAL.statement = yyDollar[1].statement } - case 509: + case 504: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2717 +//line sql.y:2698 { yyVAL.statement = yyDollar[1].statement } - case 510: + case 505: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2721 +//line sql.y:2702 { yyVAL.statement = yyDollar[1].statement } - case 511: + case 506: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2726 +//line sql.y:2707 { yyVAL.str = "" } - case 512: + case 507: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2730 +//line sql.y:2711 { yyVAL.str = "" } - case 513: + case 508: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2734 +//line sql.y:2715 { yyVAL.str = "" } - case 514: + case 509: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2740 +//line sql.y:2721 { yyVAL.statement = &OtherRead{} } - case 515: + case 510: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2744 +//line sql.y:2725 { yyVAL.statement = &Explain{Type: yyDollar[2].explainType, Statement: yyDollar[3].statement} } - case 516: + case 511: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2750 +//line sql.y:2731 { yyVAL.statement = &OtherAdmin{} } - case 517: + case 512: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2754 +//line sql.y:2735 { yyVAL.statement = &OtherAdmin{} } - case 518: + case 513: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2760 +//line sql.y:2741 { yyVAL.statement = &LockTables{Tables: yyDollar[3].tableAndLockTypes} } - case 519: + case 514: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2766 +//line sql.y:2747 { yyVAL.tableAndLockTypes = TableAndLockTypes{yyDollar[1].tableAndLockType} } - case 520: + case 515: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2770 +//line sql.y:2751 { yyVAL.tableAndLockTypes = append(yyDollar[1].tableAndLockTypes, yyDollar[3].tableAndLockType) } - case 521: + case 516: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2776 +//line sql.y:2757 { yyVAL.tableAndLockType = &TableAndLockType{Table: yyDollar[1].aliasedTableName, Lock: yyDollar[2].lockType} } - case 522: + case 517: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2782 +//line sql.y:2763 { yyVAL.lockType = Read } - case 523: + case 518: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2786 +//line sql.y:2767 { yyVAL.lockType = ReadLocal } - case 524: + case 519: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2790 +//line sql.y:2771 { yyVAL.lockType = Write } - case 525: + case 520: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2794 +//line sql.y:2775 { yyVAL.lockType = LowPriorityWrite } - case 526: + case 521: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2800 +//line sql.y:2781 { yyVAL.statement = &UnlockTables{} } - case 527: + case 522: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2806 +//line sql.y:2787 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, FlushOptions: yyDollar[3].strs} } - case 528: + case 523: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2810 +//line sql.y:2791 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean} } - case 529: + case 524: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2814 +//line sql.y:2795 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, WithLock: true} } - case 530: + case 525: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2818 +//line sql.y:2799 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, TableNames: yyDollar[4].tableNames} } - case 531: + case 526: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2822 +//line sql.y:2803 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, TableNames: yyDollar[4].tableNames, WithLock: true} } - case 532: + case 527: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2826 +//line sql.y:2807 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, TableNames: yyDollar[4].tableNames, ForExport: true} } - case 533: + case 528: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2832 +//line sql.y:2813 { yyVAL.strs = []string{yyDollar[1].str} } - case 534: + case 529: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2836 +//line sql.y:2817 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } - case 535: + case 530: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2842 +//line sql.y:2823 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } - case 536: + case 531: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2846 +//line sql.y:2827 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } - case 537: + case 532: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2850 +//line sql.y:2831 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } - case 538: + case 533: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2854 +//line sql.y:2835 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } - case 539: + case 534: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2858 +//line sql.y:2839 { yyVAL.str = string(yyDollar[1].bytes) } - case 540: + case 535: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2862 +//line sql.y:2843 { yyVAL.str = string(yyDollar[1].bytes) } - case 541: + case 536: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2866 +//line sql.y:2847 { yyVAL.str = string(yyDollar[1].bytes) } - case 542: + case 537: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2870 +//line sql.y:2851 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + yyDollar[3].str } - case 543: + case 538: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2874 +//line sql.y:2855 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } - case 544: + case 539: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2878 +//line sql.y:2859 { yyVAL.str = string(yyDollar[1].bytes) } - case 545: + case 540: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2882 +//line sql.y:2863 { yyVAL.str = string(yyDollar[1].bytes) } - case 546: + case 541: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2886 +//line sql.y:2867 { yyVAL.str = string(yyDollar[1].bytes) } - case 547: + case 542: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2891 +//line sql.y:2872 { yyVAL.boolean = false } - case 548: + case 543: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2895 +//line sql.y:2876 { yyVAL.boolean = true } - case 549: + case 544: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2899 +//line sql.y:2880 { yyVAL.boolean = true } - case 550: + case 545: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2904 +//line sql.y:2885 { yyVAL.str = "" } - case 551: + case 546: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2908 +//line sql.y:2889 { yyVAL.str = " " + string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + " " + yyDollar[3].colIdent.String() } - case 552: + case 547: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2913 +//line sql.y:2894 { setAllowComments(yylex, true) } - case 553: + case 548: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2917 +//line sql.y:2898 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 554: + case 549: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2923 +//line sql.y:2904 { yyVAL.bytes2 = nil } - case 555: + case 550: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2927 +//line sql.y:2908 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 556: + case 551: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2933 +//line sql.y:2914 { yyVAL.boolean = true } - case 557: + case 552: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2937 +//line sql.y:2918 { yyVAL.boolean = false } - case 558: + case 553: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2941 +//line sql.y:2922 { yyVAL.boolean = true } - case 559: + case 554: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2946 +//line sql.y:2927 { yyVAL.str = "" } - case 560: + case 555: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2950 +//line sql.y:2931 { yyVAL.str = SQLNoCacheStr } - case 561: + case 556: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2954 +//line sql.y:2935 { yyVAL.str = SQLCacheStr } - case 562: + case 557: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2959 +//line sql.y:2940 { yyVAL.boolean = false } - case 563: + case 558: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2963 +//line sql.y:2944 { yyVAL.boolean = true } - case 564: + case 559: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2967 +//line sql.y:2948 { yyVAL.boolean = true } - case 565: + case 560: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2972 +//line sql.y:2953 { yyVAL.selectExprs = nil } - case 566: + case 561: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2976 +//line sql.y:2957 { yyVAL.selectExprs = yyDollar[1].selectExprs } - case 567: + case 562: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2981 +//line sql.y:2962 { yyVAL.strs = nil } - case 568: + case 563: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2985 +//line sql.y:2966 { yyVAL.strs = []string{yyDollar[1].str} } - case 569: + case 564: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2989 +//line sql.y:2970 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } - case 570: + case 565: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2993 +//line sql.y:2974 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } - case 571: + case 566: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2997 +//line sql.y:2978 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } - case 572: + case 567: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3003 +//line sql.y:2984 { yyVAL.str = SQLNoCacheStr } - case 573: + case 568: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3007 +//line sql.y:2988 { yyVAL.str = SQLCacheStr } - case 574: + case 569: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3011 +//line sql.y:2992 { yyVAL.str = DistinctStr } - case 575: + case 570: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3015 +//line sql.y:2996 { yyVAL.str = DistinctStr } - case 576: + case 571: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3019 +//line sql.y:3000 { yyVAL.str = StraightJoinHint } - case 577: + case 572: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3023 +//line sql.y:3004 { yyVAL.str = SQLCalcFoundRowsStr } - case 578: + case 573: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3029 +//line sql.y:3010 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 579: + case 574: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3033 +//line sql.y:3014 { yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr) } - case 580: + case 575: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3039 +//line sql.y:3020 { yyVAL.selectExpr = &StarExpr{} } - case 581: + case 576: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3043 +//line sql.y:3024 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 582: + case 577: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3047 +//line sql.y:3028 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 583: + case 578: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3051 +//line sql.y:3032 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 584: + case 579: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3056 +//line sql.y:3037 { yyVAL.colIdent = ColIdent{} } - case 585: + case 580: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3060 +//line sql.y:3041 { yyVAL.colIdent = yyDollar[1].colIdent } - case 586: + case 581: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3064 +//line sql.y:3045 { yyVAL.colIdent = yyDollar[2].colIdent } - case 588: + case 583: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3071 +//line sql.y:3052 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 589: + case 584: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3076 +//line sql.y:3057 { yyVAL.tableExprs = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } - case 590: + case 585: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3080 +//line sql.y:3061 { yyVAL.tableExprs = yyDollar[2].tableExprs } - case 591: + case 586: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3086 +//line sql.y:3067 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 592: + case 587: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3090 +//line sql.y:3071 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 595: + case 590: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3100 +//line sql.y:3081 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 596: + case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3104 +//line sql.y:3085 { yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].derivedTable, As: yyDollar[3].tableIdent} } - case 597: + case 592: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3108 +//line sql.y:3089 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 598: + case 593: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3114 +//line sql.y:3095 { yyVAL.derivedTable = &DerivedTable{yyDollar[2].selStmt} } - case 599: + case 594: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3120 +//line sql.y:3101 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 600: + case 595: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3124 +//line sql.y:3105 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitions, As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHints} } - case 601: + case 596: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3129 +//line sql.y:3110 { yyVAL.columns = nil } - case 602: + case 597: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3133 +//line sql.y:3114 { yyVAL.columns = yyDollar[2].columns } - case 603: + case 598: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3139 +//line sql.y:3120 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 604: + case 599: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3143 +//line sql.y:3124 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 605: + case 600: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3149 +//line sql.y:3130 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 606: + case 601: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3153 +//line sql.y:3134 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 607: + case 602: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3166 +//line sql.y:3147 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 608: + case 603: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3170 +//line sql.y:3151 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 609: + case 604: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3174 +//line sql.y:3155 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 610: + case 605: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3178 +//line sql.y:3159 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr} } - case 611: + case 606: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3184 +//line sql.y:3165 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 612: + case 607: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3186 +//line sql.y:3167 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 613: + case 608: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3190 +//line sql.y:3171 { yyVAL.joinCondition = JoinCondition{} } - case 614: + case 609: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3192 +//line sql.y:3173 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 615: + case 610: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3196 +//line sql.y:3177 { yyVAL.joinCondition = JoinCondition{} } - case 616: + case 611: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3198 +//line sql.y:3179 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 617: + case 612: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3201 +//line sql.y:3182 { yyVAL.empty = struct{}{} } - case 618: + case 613: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3203 +//line sql.y:3184 { yyVAL.empty = struct{}{} } - case 619: + case 614: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3206 +//line sql.y:3187 { yyVAL.tableIdent = NewTableIdent("") } - case 620: + case 615: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3210 +//line sql.y:3191 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 621: + case 616: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3214 +//line sql.y:3195 { yyVAL.tableIdent = yyDollar[2].tableIdent } - case 623: + case 618: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3221 +//line sql.y:3202 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 624: + case 619: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3227 +//line sql.y:3208 { yyVAL.joinType = NormalJoinType } - case 625: + case 620: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3231 +//line sql.y:3212 { yyVAL.joinType = NormalJoinType } - case 626: + case 621: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3235 +//line sql.y:3216 { yyVAL.joinType = NormalJoinType } - case 627: + case 622: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3241 +//line sql.y:3222 { yyVAL.joinType = StraightJoinType } - case 628: + case 623: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3247 +//line sql.y:3228 { yyVAL.joinType = LeftJoinType } - case 629: + case 624: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3251 +//line sql.y:3232 { yyVAL.joinType = LeftJoinType } - case 630: + case 625: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3255 +//line sql.y:3236 { yyVAL.joinType = RightJoinType } - case 631: + case 626: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3259 +//line sql.y:3240 { yyVAL.joinType = RightJoinType } - case 632: + case 627: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3265 +//line sql.y:3246 { yyVAL.joinType = NaturalJoinType } - case 633: + case 628: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3269 +//line sql.y:3250 { if yyDollar[2].joinType == LeftJoinType { yyVAL.joinType = NaturalLeftJoinType @@ -9000,489 +8960,489 @@ yydefault: yyVAL.joinType = NaturalRightJoinType } } - case 634: + case 629: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3279 +//line sql.y:3260 { yyVAL.tableName = yyDollar[2].tableName } - case 635: + case 630: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3283 +//line sql.y:3264 { yyVAL.tableName = yyDollar[1].tableName } - case 636: + case 631: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3289 +//line sql.y:3270 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 637: + case 632: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3293 +//line sql.y:3274 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 638: + case 633: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3299 +//line sql.y:3280 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 639: + case 634: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3304 +//line sql.y:3285 { yyVAL.indexHints = nil } - case 640: + case 635: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3308 +//line sql.y:3289 { yyVAL.indexHints = &IndexHints{Type: UseOp, Indexes: yyDollar[4].columns} } - case 641: + case 636: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3312 +//line sql.y:3293 { yyVAL.indexHints = &IndexHints{Type: UseOp} } - case 642: + case 637: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3316 +//line sql.y:3297 { yyVAL.indexHints = &IndexHints{Type: IgnoreOp, Indexes: yyDollar[4].columns} } - case 643: + case 638: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3320 +//line sql.y:3301 { yyVAL.indexHints = &IndexHints{Type: ForceOp, Indexes: yyDollar[4].columns} } - case 644: + case 639: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3325 +//line sql.y:3306 { yyVAL.expr = nil } - case 645: + case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3329 +//line sql.y:3310 { yyVAL.expr = yyDollar[2].expr } - case 646: + case 641: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3335 +//line sql.y:3316 { yyVAL.expr = yyDollar[1].expr } - case 647: + case 642: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3339 +//line sql.y:3320 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 648: + case 643: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3343 +//line sql.y:3324 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 649: + case 644: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3347 +//line sql.y:3328 { yyVAL.expr = &XorExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 650: + case 645: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3351 +//line sql.y:3332 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 651: + case 646: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3355 +//line sql.y:3336 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].isExprOperator, Expr: yyDollar[1].expr} } - case 652: + case 647: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3359 +//line sql.y:3340 { yyVAL.expr = yyDollar[1].expr } - case 653: + case 648: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3363 +//line sql.y:3344 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 654: + case 649: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3369 +//line sql.y:3350 { yyVAL.str = "" } - case 655: + case 650: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3373 +//line sql.y:3354 { yyVAL.str = string(yyDollar[2].colIdent.String()) } - case 656: + case 651: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3379 +//line sql.y:3360 { yyVAL.boolVal = BoolVal(true) } - case 657: + case 652: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3383 +//line sql.y:3364 { yyVAL.boolVal = BoolVal(false) } - case 658: + case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3389 +//line sql.y:3370 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].comparisonExprOperator, Right: yyDollar[3].expr} } - case 659: + case 654: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3393 +//line sql.y:3374 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InOp, Right: yyDollar[3].colTuple} } - case 660: + case 655: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3397 +//line sql.y:3378 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInOp, Right: yyDollar[4].colTuple} } - case 661: + case 656: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3401 +//line sql.y:3382 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeOp, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } - case 662: + case 657: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3405 +//line sql.y:3386 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeOp, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } - case 663: + case 658: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3409 +//line sql.y:3390 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpOp, Right: yyDollar[3].expr} } - case 664: + case 659: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3413 +//line sql.y:3394 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpOp, Right: yyDollar[4].expr} } - case 665: + case 660: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3417 +//line sql.y:3398 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenOp, From: yyDollar[3].expr, To: yyDollar[5].expr} } - case 666: + case 661: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3421 +//line sql.y:3402 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenOp, From: yyDollar[4].expr, To: yyDollar[6].expr} } - case 667: + case 662: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3425 +//line sql.y:3406 { yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } - case 668: + case 663: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3431 +//line sql.y:3412 { yyVAL.isExprOperator = IsNullOp } - case 669: + case 664: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3435 +//line sql.y:3416 { yyVAL.isExprOperator = IsNotNullOp } - case 670: + case 665: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3439 +//line sql.y:3420 { yyVAL.isExprOperator = IsTrueOp } - case 671: + case 666: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3443 +//line sql.y:3424 { yyVAL.isExprOperator = IsNotTrueOp } - case 672: + case 667: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3447 +//line sql.y:3428 { yyVAL.isExprOperator = IsFalseOp } - case 673: + case 668: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3451 +//line sql.y:3432 { yyVAL.isExprOperator = IsNotFalseOp } - case 674: + case 669: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3457 +//line sql.y:3438 { yyVAL.comparisonExprOperator = EqualOp } - case 675: + case 670: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3461 +//line sql.y:3442 { yyVAL.comparisonExprOperator = LessThanOp } - case 676: + case 671: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3465 +//line sql.y:3446 { yyVAL.comparisonExprOperator = GreaterThanOp } - case 677: + case 672: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3469 +//line sql.y:3450 { yyVAL.comparisonExprOperator = LessEqualOp } - case 678: + case 673: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3473 +//line sql.y:3454 { yyVAL.comparisonExprOperator = GreaterEqualOp } - case 679: + case 674: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3477 +//line sql.y:3458 { yyVAL.comparisonExprOperator = NotEqualOp } - case 680: + case 675: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3481 +//line sql.y:3462 { yyVAL.comparisonExprOperator = NullSafeEqualOp } - case 681: + case 676: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3486 +//line sql.y:3467 { yyVAL.expr = nil } - case 682: + case 677: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3490 +//line sql.y:3471 { yyVAL.expr = yyDollar[2].expr } - case 683: + case 678: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3496 +//line sql.y:3477 { yyVAL.colTuple = yyDollar[1].valTuple } - case 684: + case 679: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3500 +//line sql.y:3481 { yyVAL.colTuple = yyDollar[1].subquery } - case 685: + case 680: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3504 +//line sql.y:3485 { yyVAL.colTuple = ListArg(yyDollar[1].bytes) } - case 686: + case 681: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3510 +//line sql.y:3491 { yyVAL.subquery = &Subquery{yyDollar[2].selStmt} } - case 687: + case 682: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3516 +//line sql.y:3497 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 688: + case 683: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3520 +//line sql.y:3501 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 689: + case 684: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3526 +//line sql.y:3507 { yyVAL.expr = yyDollar[1].expr } - case 690: + case 685: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3530 +//line sql.y:3511 { yyVAL.expr = yyDollar[1].boolVal } - case 691: + case 686: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3534 +//line sql.y:3515 { yyVAL.expr = yyDollar[1].colName } - case 692: + case 687: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3538 +//line sql.y:3519 { yyVAL.expr = yyDollar[1].expr } - case 693: + case 688: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3542 +//line sql.y:3523 { yyVAL.expr = yyDollar[1].subquery } - case 694: + case 689: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3546 +//line sql.y:3527 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndOp, Right: yyDollar[3].expr} } - case 695: + case 690: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3550 +//line sql.y:3531 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrOp, Right: yyDollar[3].expr} } - case 696: + case 691: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3554 +//line sql.y:3535 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorOp, Right: yyDollar[3].expr} } - case 697: + case 692: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3558 +//line sql.y:3539 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusOp, Right: yyDollar[3].expr} } - case 698: + case 693: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3562 +//line sql.y:3543 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusOp, Right: yyDollar[3].expr} } - case 699: + case 694: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3566 +//line sql.y:3547 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultOp, Right: yyDollar[3].expr} } - case 700: + case 695: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3570 +//line sql.y:3551 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivOp, Right: yyDollar[3].expr} } - case 701: + case 696: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3574 +//line sql.y:3555 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivOp, Right: yyDollar[3].expr} } - case 702: + case 697: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3578 +//line sql.y:3559 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } - case 703: + case 698: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3582 +//line sql.y:3563 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } - case 704: + case 699: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3586 +//line sql.y:3567 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftOp, Right: yyDollar[3].expr} } - case 705: + case 700: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3590 +//line sql.y:3571 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightOp, Right: yyDollar[3].expr} } - case 706: + case 701: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3594 +//line sql.y:3575 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } - case 707: + case 702: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3598 +//line sql.y:3579 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } - case 708: + case 703: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3602 +//line sql.y:3583 { yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } - case 709: + case 704: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3606 +//line sql.y:3587 { yyVAL.expr = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].expr} } - case 710: + case 705: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3610 +//line sql.y:3591 { yyVAL.expr = &UnaryExpr{Operator: UBinaryOp, Expr: yyDollar[2].expr} } - case 711: + case 706: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3614 +//line sql.y:3595 { yyVAL.expr = &UnaryExpr{Operator: Utf8Op, Expr: yyDollar[2].expr} } - case 712: + case 707: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3618 +//line sql.y:3599 { yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Op, Expr: yyDollar[2].expr} } - case 713: + case 708: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3622 +//line sql.y:3603 { yyVAL.expr = &UnaryExpr{Operator: Latin1Op, Expr: yyDollar[2].expr} } - case 714: + case 709: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3626 +//line sql.y:3607 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { yyVAL.expr = num @@ -9490,9 +9450,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusOp, Expr: yyDollar[2].expr} } } - case 715: + case 710: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3634 +//line sql.y:3615 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { // Handle double negative @@ -9506,21 +9466,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].expr} } } - case 716: + case 711: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3648 +//line sql.y:3629 { yyVAL.expr = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].expr} } - case 717: + case 712: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3652 +//line sql.y:3633 { yyVAL.expr = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].expr} } - case 718: + case 713: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3656 +//line sql.y:3637 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -9528,503 +9488,503 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 723: + case 718: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3674 +//line sql.y:3655 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs} } - case 724: + case 719: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3678 +//line sql.y:3659 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } - case 725: + case 720: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3682 +//line sql.y:3663 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } - case 726: + case 721: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3686 +//line sql.y:3667 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 727: + case 722: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3696 +//line sql.y:3677 { yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} } - case 728: + case 723: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3700 +//line sql.y:3681 { yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} } - case 729: + case 724: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3704 +//line sql.y:3685 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 730: + case 725: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3708 +//line sql.y:3689 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 731: + case 726: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3712 +//line sql.y:3693 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } - case 732: + case 727: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3716 +//line sql.y:3697 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 733: + case 728: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3720 +//line sql.y:3701 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 734: + case 729: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3724 +//line sql.y:3705 { yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 735: + case 730: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3728 +//line sql.y:3709 { yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 736: + case 731: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:3732 +//line sql.y:3713 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].matchExprOption} } - case 737: + case 732: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3736 +//line sql.y:3717 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].boolean, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str, Limit: yyDollar[7].limit} } - case 738: + case 733: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3740 +//line sql.y:3721 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } - case 739: + case 734: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3744 +//line sql.y:3725 { yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } - case 740: + case 735: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3754 +//line sql.y:3735 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} } - case 741: + case 736: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3758 +//line sql.y:3739 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} } - case 742: + case 737: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3762 +//line sql.y:3743 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} } - case 743: + case 738: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3767 +//line sql.y:3748 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} } - case 744: + case 739: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3772 +//line sql.y:3753 { yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} } - case 745: + case 740: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3777 +//line sql.y:3758 { yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} } - case 746: + case 741: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3783 +//line sql.y:3764 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} } - case 747: + case 742: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3788 +//line sql.y:3769 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} } - case 748: + case 743: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3793 +//line sql.y:3774 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].expr} } - case 749: + case 744: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3797 +//line sql.y:3778 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].expr} } - case 750: + case 745: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3801 +//line sql.y:3782 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].expr} } - case 751: + case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3806 +//line sql.y:3787 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].expr} } - case 752: + case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3811 +//line sql.y:3792 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].expr} } - case 753: + case 748: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3816 +//line sql.y:3797 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].expr} } - case 754: + case 749: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3820 +//line sql.y:3801 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 755: + case 750: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3824 +//line sql.y:3805 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 758: + case 753: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3834 +//line sql.y:3815 { yyVAL.expr = yyDollar[2].expr } - case 759: + case 754: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3844 +//line sql.y:3825 { yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} } - case 760: + case 755: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3848 +//line sql.y:3829 { yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} } - case 761: + case 756: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3852 +//line sql.y:3833 { yyVAL.expr = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprs} } - case 762: + case 757: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3856 +//line sql.y:3837 { yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} } - case 763: + case 758: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3860 +//line sql.y:3841 { yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} } - case 764: + case 759: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3864 +//line sql.y:3845 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } - case 765: + case 760: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3868 +//line sql.y:3849 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } - case 766: + case 761: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3874 +//line sql.y:3855 { yyVAL.matchExprOption = NoOption } - case 767: + case 762: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3878 +//line sql.y:3859 { yyVAL.matchExprOption = BooleanModeOpt } - case 768: + case 763: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3882 +//line sql.y:3863 { yyVAL.matchExprOption = NaturalLanguageModeOpt } - case 769: + case 764: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3886 +//line sql.y:3867 { yyVAL.matchExprOption = NaturalLanguageModeWithQueryExpansionOpt } - case 770: + case 765: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3890 +//line sql.y:3871 { yyVAL.matchExprOption = QueryExpansionOpt } - case 771: + case 766: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3896 +//line sql.y:3877 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 772: + case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3900 +//line sql.y:3881 { yyVAL.str = string(yyDollar[1].bytes) } - case 773: + case 768: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3904 +//line sql.y:3885 { yyVAL.str = string(yyDollar[1].bytes) } - case 774: + case 769: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3910 +//line sql.y:3891 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 775: + case 770: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3914 +//line sql.y:3895 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Operator: CharacterSetOp} } - case 776: + case 771: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3918 +//line sql.y:3899 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: string(yyDollar[3].colIdent.String())} } - case 777: + case 772: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3922 +//line sql.y:3903 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 778: + case 773: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3926 +//line sql.y:3907 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 779: + case 774: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3930 +//line sql.y:3911 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 780: + case 775: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3936 +//line sql.y:3917 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 781: + case 776: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3940 +//line sql.y:3921 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 782: + case 777: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3944 +//line sql.y:3925 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 783: + case 778: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3948 +//line sql.y:3929 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 784: + case 779: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3952 +//line sql.y:3933 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 785: + case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3956 +//line sql.y:3937 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 786: + case 781: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3960 +//line sql.y:3941 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 787: + case 782: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3965 +//line sql.y:3946 { yyVAL.expr = nil } - case 788: + case 783: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3969 +//line sql.y:3950 { yyVAL.expr = yyDollar[1].expr } - case 789: + case 784: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3974 +//line sql.y:3955 { yyVAL.str = string("") } - case 790: + case 785: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3978 +//line sql.y:3959 { yyVAL.str = " separator '" + string(yyDollar[2].bytes) + "'" } - case 791: + case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3984 +//line sql.y:3965 { yyVAL.whens = []*When{yyDollar[1].when} } - case 792: + case 787: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3988 +//line sql.y:3969 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 793: + case 788: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3994 +//line sql.y:3975 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 794: + case 789: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3999 +//line sql.y:3980 { yyVAL.expr = nil } - case 795: + case 790: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4003 +//line sql.y:3984 { yyVAL.expr = yyDollar[2].expr } - case 796: + case 791: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4009 +//line sql.y:3990 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 797: + case 792: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4013 +//line sql.y:3994 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 798: + case 793: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4017 +//line sql.y:3998 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 799: + case 794: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4023 +//line sql.y:4004 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } - case 800: + case 795: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4027 +//line sql.y:4008 { yyVAL.expr = NewHexLiteral(yyDollar[1].bytes) } - case 801: + case 796: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4031 +//line sql.y:4012 { yyVAL.expr = NewBitLiteral(yyDollar[1].bytes) } - case 802: + case 797: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4035 +//line sql.y:4016 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } - case 803: + case 798: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4039 +//line sql.y:4020 { yyVAL.expr = NewFloatLiteral(yyDollar[1].bytes) } - case 804: + case 799: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4043 +//line sql.y:4024 { yyVAL.expr = NewHexNumLiteral(yyDollar[1].bytes) } - case 805: + case 800: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4047 +//line sql.y:4028 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } - case 806: + case 801: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4051 +//line sql.y:4032 { yyVAL.expr = &NullVal{} } - case 807: + case 802: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4057 +//line sql.y:4038 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -10033,597 +9993,597 @@ yydefault: } yyVAL.expr = NewIntLiteral([]byte("1")) } - case 808: + case 803: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4066 +//line sql.y:4047 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } - case 809: + case 804: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4070 +//line sql.y:4051 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } - case 810: + case 805: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4075 +//line sql.y:4056 { yyVAL.exprs = nil } - case 811: + case 806: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4079 +//line sql.y:4060 { yyVAL.exprs = yyDollar[3].exprs } - case 812: + case 807: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4084 +//line sql.y:4065 { yyVAL.expr = nil } - case 813: + case 808: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4088 +//line sql.y:4069 { yyVAL.expr = yyDollar[2].expr } - case 814: + case 809: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4093 +//line sql.y:4074 { yyVAL.orderBy = nil } - case 815: + case 810: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4097 +//line sql.y:4078 { yyVAL.orderBy = yyDollar[3].orderBy } - case 816: + case 811: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4103 +//line sql.y:4084 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 817: + case 812: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4107 +//line sql.y:4088 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 818: + case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4113 +//line sql.y:4094 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].orderDirection} } - case 819: + case 814: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4118 +//line sql.y:4099 { yyVAL.orderDirection = AscOrder } - case 820: + case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4122 +//line sql.y:4103 { yyVAL.orderDirection = AscOrder } - case 821: + case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4126 +//line sql.y:4107 { yyVAL.orderDirection = DescOrder } - case 822: + case 817: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4131 +//line sql.y:4112 { yyVAL.limit = nil } - case 823: + case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4135 +//line sql.y:4116 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 824: + case 819: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4139 +//line sql.y:4120 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 825: + case 820: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4143 +//line sql.y:4124 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 826: + case 821: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4148 +//line sql.y:4129 { yyVAL.alterOptions = nil } - case 827: + case 822: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4152 +//line sql.y:4133 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption, yyDollar[2].alterOption} } - case 828: + case 823: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4156 +//line sql.y:4137 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption, yyDollar[2].alterOption} } - case 829: + case 824: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4160 +//line sql.y:4141 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption} } - case 830: + case 825: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4164 +//line sql.y:4145 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption} } - case 831: + case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4171 +//line sql.y:4152 { yyVAL.alterOption = &LockOption{Type: DefaultType} } - case 832: + case 827: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4175 +//line sql.y:4156 { yyVAL.alterOption = &LockOption{Type: NoneType} } - case 833: + case 828: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4179 +//line sql.y:4160 { yyVAL.alterOption = &LockOption{Type: SharedType} } - case 834: + case 829: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4183 +//line sql.y:4164 { yyVAL.alterOption = &LockOption{Type: ExclusiveType} } - case 835: + case 830: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4189 +//line sql.y:4170 { yyVAL.alterOption = AlgorithmValue(yyDollar[3].bytes) } - case 836: + case 831: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4193 +//line sql.y:4174 { yyVAL.alterOption = AlgorithmValue(yyDollar[3].bytes) } - case 837: + case 832: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4197 +//line sql.y:4178 { yyVAL.alterOption = AlgorithmValue(yyDollar[3].bytes) } - case 838: + case 833: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4202 +//line sql.y:4183 { yyVAL.str = "" } - case 839: + case 834: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4206 +//line sql.y:4187 { yyVAL.str = string(yyDollar[3].bytes) } - case 840: + case 835: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4210 +//line sql.y:4191 { yyVAL.str = string(yyDollar[3].bytes) } - case 841: + case 836: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4214 +//line sql.y:4195 { yyVAL.str = string(yyDollar[3].bytes) } - case 842: + case 837: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4219 +//line sql.y:4200 { yyVAL.str = "" } - case 843: + case 838: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4223 +//line sql.y:4204 { yyVAL.str = yyDollar[3].str } - case 844: + case 839: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4229 +//line sql.y:4210 { yyVAL.str = string(yyDollar[1].bytes) } - case 845: + case 840: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4233 +//line sql.y:4214 { yyVAL.str = string(yyDollar[1].bytes) } - case 846: + case 841: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4238 +//line sql.y:4219 { yyVAL.str = "" } - case 847: + case 842: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4242 +//line sql.y:4223 { yyVAL.str = yyDollar[2].str } - case 848: + case 843: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4247 +//line sql.y:4228 { yyVAL.str = "cascaded" } - case 849: + case 844: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4251 +//line sql.y:4232 { yyVAL.str = string(yyDollar[1].bytes) } - case 850: + case 845: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4255 +//line sql.y:4236 { yyVAL.str = string(yyDollar[1].bytes) } - case 851: + case 846: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4260 +//line sql.y:4241 { yyVAL.str = "" } - case 852: + case 847: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4264 +//line sql.y:4245 { yyVAL.str = yyDollar[3].str } - case 853: + case 848: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4270 +//line sql.y:4251 { yyVAL.str = string(yyDollar[1].bytes) } - case 854: + case 849: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4274 +//line sql.y:4255 { yyVAL.str = string(yyDollar[1].bytes) } - case 855: + case 850: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4278 +//line sql.y:4259 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'@" + string(yyDollar[2].bytes) } - case 856: + case 851: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4282 +//line sql.y:4263 { yyVAL.str = string(yyDollar[1].bytes) } - case 857: + case 852: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4287 +//line sql.y:4268 { yyVAL.lock = NoLock } - case 858: + case 853: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4291 +//line sql.y:4272 { yyVAL.lock = ForUpdateLock } - case 859: + case 854: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4295 +//line sql.y:4276 { yyVAL.lock = ShareModeLock } - case 860: + case 855: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4300 +//line sql.y:4281 { yyVAL.selectInto = nil } - case 861: + case 856: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:4304 +//line sql.y:4285 { yyVAL.selectInto = &SelectInto{Type: IntoOutfileS3, FileName: string(yyDollar[4].bytes), Charset: yyDollar[5].str, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } - case 862: + case 857: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4308 +//line sql.y:4289 { yyVAL.selectInto = &SelectInto{Type: IntoDumpfile, FileName: string(yyDollar[3].bytes), Charset: "", FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } - case 863: + case 858: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4312 +//line sql.y:4293 { yyVAL.selectInto = &SelectInto{Type: IntoOutfile, FileName: string(yyDollar[3].bytes), Charset: yyDollar[4].str, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } - case 864: + case 859: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4317 +//line sql.y:4298 { yyVAL.str = "" } - case 865: + case 860: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4321 +//line sql.y:4302 { yyVAL.str = " format csv" + yyDollar[3].str } - case 866: + case 861: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4325 +//line sql.y:4306 { yyVAL.str = " format text" + yyDollar[3].str } - case 867: + case 862: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4330 +//line sql.y:4311 { yyVAL.str = "" } - case 868: + case 863: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4334 +//line sql.y:4315 { yyVAL.str = " header" } - case 869: + case 864: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4339 +//line sql.y:4320 { yyVAL.str = "" } - case 870: + case 865: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4343 +//line sql.y:4324 { yyVAL.str = " manifest on" } - case 871: + case 866: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4347 +//line sql.y:4328 { yyVAL.str = " manifest off" } - case 872: + case 867: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4352 +//line sql.y:4333 { yyVAL.str = "" } - case 873: + case 868: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4356 +//line sql.y:4337 { yyVAL.str = " overwrite on" } - case 874: + case 869: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4360 +//line sql.y:4341 { yyVAL.str = " overwrite off" } - case 875: + case 870: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4366 +//line sql.y:4347 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 876: + case 871: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4371 +//line sql.y:4352 { yyVAL.str = "" } - case 877: + case 872: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4375 +//line sql.y:4356 { yyVAL.str = " lines" + yyDollar[2].str + yyDollar[3].str } - case 878: + case 873: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4380 +//line sql.y:4361 { yyVAL.str = "" } - case 879: + case 874: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4384 +//line sql.y:4365 { yyVAL.str = " starting by '" + string(yyDollar[3].bytes) + "'" } - case 880: + case 875: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4389 +//line sql.y:4370 { yyVAL.str = "" } - case 881: + case 876: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4393 +//line sql.y:4374 { yyVAL.str = " terminated by '" + string(yyDollar[3].bytes) + "'" } - case 882: + case 877: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4398 +//line sql.y:4379 { yyVAL.str = "" } - case 883: + case 878: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4402 +//line sql.y:4383 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str + yyDollar[3].str + yyDollar[4].str } - case 884: + case 879: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4407 +//line sql.y:4388 { yyVAL.str = "" } - case 885: + case 880: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4411 +//line sql.y:4392 { yyVAL.str = " escaped by '" + string(yyDollar[3].bytes) + "'" } - case 886: + case 881: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4416 +//line sql.y:4397 { yyVAL.str = "" } - case 887: + case 882: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4420 +//line sql.y:4401 { yyVAL.str = yyDollar[1].str + " enclosed by '" + string(yyDollar[4].bytes) + "'" } - case 888: + case 883: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4425 +//line sql.y:4406 { yyVAL.str = "" } - case 889: + case 884: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4429 +//line sql.y:4410 { yyVAL.str = " optionally" } - case 890: + case 885: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4442 +//line sql.y:4423 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 891: + case 886: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4446 +//line sql.y:4427 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 892: + case 887: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4450 +//line sql.y:4431 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 893: + case 888: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4454 +//line sql.y:4435 { yyVAL.ins = &Insert{Rows: yyDollar[4].values} } - case 894: + case 889: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4458 +//line sql.y:4439 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 895: + case 890: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4464 +//line sql.y:4445 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 896: + case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4468 +//line sql.y:4449 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 897: + case 892: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4472 +//line sql.y:4453 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 898: + case 893: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4476 +//line sql.y:4457 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 899: + case 894: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4481 +//line sql.y:4462 { yyVAL.updateExprs = nil } - case 900: + case 895: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4485 +//line sql.y:4466 { yyVAL.updateExprs = yyDollar[5].updateExprs } - case 901: + case 896: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4491 +//line sql.y:4472 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 902: + case 897: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4495 +//line sql.y:4476 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 903: + case 898: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4501 +//line sql.y:4482 { yyVAL.valTuple = yyDollar[1].valTuple } - case 904: + case 899: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4505 +//line sql.y:4486 { yyVAL.valTuple = ValTuple{} } - case 905: + case 900: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4511 +//line sql.y:4492 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 906: + case 901: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4517 +//line sql.y:4498 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = yyDollar[1].valTuple[0] @@ -10631,253 +10591,253 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 907: + case 902: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4527 +//line sql.y:4508 { yyVAL.updateExprs = UpdateExprs{yyDollar[1].updateExpr} } - case 908: + case 903: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4531 +//line sql.y:4512 { yyVAL.updateExprs = append(yyDollar[1].updateExprs, yyDollar[3].updateExpr) } - case 909: + case 904: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4537 +//line sql.y:4518 { yyVAL.updateExpr = &UpdateExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 910: + case 905: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4543 +//line sql.y:4524 { yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} } - case 911: + case 906: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4547 +//line sql.y:4528 { yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) } - case 912: + case 907: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4553 +//line sql.y:4534 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("on"))} } - case 913: + case 908: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4557 +//line sql.y:4538 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("off"))} } - case 914: + case 909: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4561 +//line sql.y:4542 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].expr} } - case 915: + case 910: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4565 +//line sql.y:4546 { yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Scope: ImplicitScope, Expr: yyDollar[2].expr} } - case 916: + case 911: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4569 +//line sql.y:4550 { yyDollar[2].setExpr.Scope = yyDollar[1].scope yyVAL.setExpr = yyDollar[2].setExpr } - case 918: + case 913: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4577 +//line sql.y:4558 { yyVAL.bytes = []byte("charset") } - case 921: + case 916: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4587 +//line sql.y:4568 { yyVAL.expr = NewStrLiteral([]byte(yyDollar[1].colIdent.String())) } - case 922: + case 917: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4591 +//line sql.y:4572 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } - case 923: + case 918: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4595 +//line sql.y:4576 { yyVAL.expr = &Default{} } - case 926: + case 921: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4604 +//line sql.y:4585 { yyVAL.boolean = false } - case 927: + case 922: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4606 +//line sql.y:4587 { yyVAL.boolean = true } - case 928: + case 923: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4609 +//line sql.y:4590 { yyVAL.boolean = false } - case 929: + case 924: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4611 +//line sql.y:4592 { yyVAL.boolean = true } - case 930: + case 925: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4614 +//line sql.y:4595 { yyVAL.ignore = false } - case 931: + case 926: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4616 +//line sql.y:4597 { yyVAL.ignore = true } - case 932: + case 927: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4619 +//line sql.y:4600 { yyVAL.empty = struct{}{} } - case 933: + case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4621 +//line sql.y:4602 { yyVAL.empty = struct{}{} } - case 934: + case 929: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4623 +//line sql.y:4604 { yyVAL.empty = struct{}{} } - case 935: + case 930: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4627 +//line sql.y:4608 { yyVAL.statement = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprs} } - case 936: + case 931: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4632 +//line sql.y:4613 { yyVAL.exprs = nil } - case 937: + case 932: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4636 +//line sql.y:4617 { yyVAL.exprs = yyDollar[1].exprs } - case 938: + case 933: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4641 +//line sql.y:4622 { yyVAL.indexOptions = nil } - case 939: + case 934: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4643 +//line sql.y:4624 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 940: + case 935: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4647 +//line sql.y:4628 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[2].colIdent.String())} } - case 941: + case 936: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4653 +//line sql.y:4634 { yyVAL.colIdent = yyDollar[1].colIdent } - case 942: + case 937: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4657 +//line sql.y:4638 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 944: + case 939: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4664 +//line sql.y:4645 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 945: + case 940: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4670 +//line sql.y:4651 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 946: + case 941: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4674 +//line sql.y:4655 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 948: + case 943: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4681 +//line sql.y:4662 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1342: + case 1337: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5099 +//line sql.y:5080 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1343: + case 1338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5108 +//line sql.y:5089 { decNesting(yylex) } - case 1344: + case 1339: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5113 +//line sql.y:5094 { skipToEnd(yylex) } - case 1345: + case 1340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5118 +//line sql.y:5099 { skipToEnd(yylex) } - case 1346: + case 1341: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5122 +//line sql.y:5103 { skipToEnd(yylex) } - case 1347: + case 1342: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5126 +//line sql.y:5107 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 048a14c17de..17c51a03759 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -146,6 +146,7 @@ func skipToEnd(yylex interface{}) { tableOption *TableOption tableOptions TableOptions renameTablePairs []*RenameTablePair + columnTypeOptions *ColumnTypeOptions } %token LEX_ERROR @@ -328,6 +329,7 @@ func skipToEnd(yylex interface{}) { %type asc_desc_opt %type limit_opt %type into_option +%type column_type_options %type header_opt export_options manifest_opt overwrite_opt format_opt optionally_opt %type fields_opt lines_opt terminated_by_opt starting_by_opt enclosed_by_opt escaped_by_opt %type lock_opt @@ -347,7 +349,7 @@ func skipToEnd(yylex interface{}) { %type ignore_opt %type full_opt from_database_opt tables_or_processlist columns_or_fields extended_opt storage_opt %type like_or_where_opt like_opt -%type exists_opt not_exists_opt null_opt enforced_opt +%type exists_opt not_exists_opt enforced_opt %type to_opt %type reserved_keyword non_reserved_keyword %type sql_id reserved_sql_id col_alias as_ci_opt @@ -360,12 +362,10 @@ func skipToEnd(yylex interface{}) { %type convert_type %type column_type %type int_type decimal_type numeric_type time_type char_type spatial_type -%type length_opt column_comment_opt -%type column_default_opt on_update_opt +%type length_opt %type charset_opt collate_opt %type float_length_opt decimal_length_opt -%type auto_increment_opt unsigned_opt zero_fill_opt without_valid_opt -%type column_key_opt +%type unsigned_opt zero_fill_opt without_valid_opt %type enum_values %type column_definition %type column_definition_list @@ -998,16 +998,67 @@ table_column_list: } column_definition: - sql_id column_type null_opt column_default_opt on_update_opt auto_increment_opt column_key_opt column_comment_opt - { - $2.NotNull = $3 - $2.Default = $4 - $2.OnUpdate = $5 - $2.Autoincrement = $6 - $2.KeyOpt = $7 - $2.Comment = $8 + sql_id column_type column_type_options + { + $2.Options = $3 $$ = &ColumnDefinition{Name: $1, Type: $2} } + +column_type_options: + { + $$ = &ColumnTypeOptions{NotNull: false, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil} + } +| column_type_options NULL + { + $1.NotNull = false + $$ = $1 + } +| column_type_options NOT NULL + { + $1.NotNull = true + $$ = $1 + } +| column_type_options DEFAULT value_expression + { + $1.Default = $3 + $$ = $1 + } +| column_type_options ON UPDATE function_call_nonkeyword + { + $1.OnUpdate = $4 + $$ = $1 + } +| column_type_options AUTO_INCREMENT + { + $1.Autoincrement = true + $$ = $1 + } +| column_type_options COMMENT_KEYWORD STRING + { + $1.Comment = NewStrLiteral($3) + $$ = $1 + } +| column_type_options PRIMARY KEY + { + $1.KeyOpt = colKeyPrimary + $$ = $1 + } +| column_type_options KEY + { + $1.KeyOpt = colKey + $$ = $1 + } +| column_type_options UNIQUE KEY + { + $1.KeyOpt = colKeyUniqueKey + $$ = $1 + } +| column_type_options UNIQUE + { + $1.KeyOpt = colKeyUnique + $$ = $1 + } + column_type: numeric_type unsigned_opt zero_fill_opt { @@ -1287,47 +1338,6 @@ zero_fill_opt: $$ = true } -// Null opt returns false to mean NULL (i.e. the default) and true for NOT NULL -null_opt: - { - $$ = false - } -| NULL - { - $$ = false - } -| NOT NULL - { - $$ = true - } - -column_default_opt: - { - $$ = nil - } -| DEFAULT value_expression - { - $$ = $2 - } - -on_update_opt: - { - $$ = nil - } -| ON UPDATE function_call_nonkeyword -{ - $$ = $3 -} - -auto_increment_opt: - { - $$ = false - } -| AUTO_INCREMENT - { - $$ = true - } - charset_opt: { $$ = "" @@ -1354,35 +1364,6 @@ collate_opt: $$ = string($2) } -column_key_opt: - { - $$ = colKeyNone - } -| PRIMARY KEY - { - $$ = colKeyPrimary - } -| KEY - { - $$ = colKey - } -| UNIQUE KEY - { - $$ = colKeyUniqueKey - } -| UNIQUE - { - $$ = colKeyUnique - } - -column_comment_opt: - { - $$ = nil - } -| COMMENT_KEYWORD STRING - { - $$ = NewStrLiteral($2) - } index_definition: index_info '(' index_column_list ')' index_option_list_opt diff --git a/go/vt/vtgate/engine/cached_size.go b/go/vt/vtgate/engine/cached_size.go index 136ce2b84f1..18c33b09427 100644 --- a/go/vt/vtgate/engine/cached_size.go +++ b/go/vt/vtgate/engine/cached_size.go @@ -379,7 +379,7 @@ func (cached *Plan) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(96) + size += int64(104) } // field Original string size += int64(len(cached.Original)) diff --git a/go/vt/vttablet/tabletserver/cached_size.go b/go/vt/vttablet/tabletserver/cached_size.go index eadc6dee317..5687d521f2e 100644 --- a/go/vt/vttablet/tabletserver/cached_size.go +++ b/go/vt/vttablet/tabletserver/cached_size.go @@ -23,7 +23,7 @@ func (cached *TabletPlan) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(112) + size += int64(120) } // field Plan *vitess.io/vitess/go/vt/vttablet/tabletserver/planbuilder.Plan size += cached.Plan.CachedSize(true) From c76e08fcc47ea2799dd387126cf47bc4b764bd63 Mon Sep 17 00:00:00 2001 From: GuptaManan100 Date: Tue, 9 Feb 2021 10:52:25 +0530 Subject: [PATCH 3/5] added comment Signed-off-by: GuptaManan100 --- go/vt/sqlparser/sql.y | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 17c51a03759..4354feb8264 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -1004,6 +1004,10 @@ column_definition: $$ = &ColumnDefinition{Name: $1, Type: $2} } +// There is a shift reduce conflict that arises here becase UNIQUE and KEY are column_type_option and so is UNIQUE KEY. +// So in the state "column_type_options UNIQUE. KEY" there is a shift-reduce conflict. +// This has been added to emulate what MySQL does. The previous architecture was such that the order of the column options +// was specific (as stated in the MySQL guide) and did not accept arbitrary order options. For example NOT NULL DEFAULT 1 and not DEFAULT 1 NOT NULL column_type_options: { $$ = &ColumnTypeOptions{NotNull: false, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil} From 6abbe91509c08698c0a870cffc05802c1c5fedaf Mon Sep 17 00:00:00 2001 From: GuptaManan100 Date: Tue, 9 Feb 2021 11:15:43 +0530 Subject: [PATCH 4/5] fixed check_make_parser test Signed-off-by: GuptaManan100 --- go/vt/sqlparser/sql.go | 1570 ++++++++++++++++++------------------ tools/check_make_parser.sh | 7 +- 2 files changed, 789 insertions(+), 788 deletions(-) diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 8c95e6de4a0..d9865540ff7 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -5994,83 +5994,83 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1008 +//line sql.y:1012 { yyVAL.columnTypeOptions = &ColumnTypeOptions{NotNull: false, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil} } case 136: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1012 +//line sql.y:1016 { yyDollar[1].columnTypeOptions.NotNull = false yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 137: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1017 +//line sql.y:1021 { yyDollar[1].columnTypeOptions.NotNull = true yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 138: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1022 +//line sql.y:1026 { yyDollar[1].columnTypeOptions.Default = yyDollar[3].expr yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 139: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1027 +//line sql.y:1031 { yyDollar[1].columnTypeOptions.OnUpdate = yyDollar[4].expr yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 140: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1032 +//line sql.y:1036 { yyDollar[1].columnTypeOptions.Autoincrement = true yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 141: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1037 +//line sql.y:1041 { yyDollar[1].columnTypeOptions.Comment = NewStrLiteral(yyDollar[3].bytes) yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 142: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1042 +//line sql.y:1046 { yyDollar[1].columnTypeOptions.KeyOpt = colKeyPrimary yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 143: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1047 +//line sql.y:1051 { yyDollar[1].columnTypeOptions.KeyOpt = colKey yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 144: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1052 +//line sql.y:1056 { yyDollar[1].columnTypeOptions.KeyOpt = colKeyUniqueKey yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 145: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1057 +//line sql.y:1061 { yyDollar[1].columnTypeOptions.KeyOpt = colKeyUnique yyVAL.columnTypeOptions = yyDollar[1].columnTypeOptions } case 146: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1064 +//line sql.y:1068 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].boolean @@ -6078,74 +6078,74 @@ yydefault: } case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1075 +//line sql.y:1079 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literal } case 151: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1080 +//line sql.y:1084 { yyVAL.columnType = yyDollar[1].columnType } case 152: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1086 +//line sql.y:1090 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 153: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1090 +//line sql.y:1094 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 154: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1094 +//line sql.y:1098 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 155: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1098 +//line sql.y:1102 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 156: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1102 +//line sql.y:1106 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 157: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1106 +//line sql.y:1110 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 158: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1110 +//line sql.y:1114 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 159: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1114 +//line sql.y:1118 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 160: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1118 +//line sql.y:1122 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 161: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1124 +//line sql.y:1128 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -6153,7 +6153,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1130 +//line sql.y:1134 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -6161,7 +6161,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1136 +//line sql.y:1140 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -6169,7 +6169,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1142 +//line sql.y:1146 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -6177,7 +6177,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1148 +//line sql.y:1152 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -6185,206 +6185,206 @@ yydefault: } case 166: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1156 +//line sql.y:1160 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 167: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1160 +//line sql.y:1164 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 168: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1164 +//line sql.y:1168 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 169: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1168 +//line sql.y:1172 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 170: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1172 +//line sql.y:1176 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 171: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1178 +//line sql.y:1182 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 172: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1182 +//line sql.y:1186 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Collate: yyDollar[4].str} } case 173: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1186 +//line sql.y:1190 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 174: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1190 +//line sql.y:1194 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 175: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1194 +//line sql.y:1198 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 176: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1198 +//line sql.y:1202 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 177: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1202 +//line sql.y:1206 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 178: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1206 +//line sql.y:1210 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str} } case 179: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1210 +//line sql.y:1214 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 180: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1214 +//line sql.y:1218 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 181: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1218 +//line sql.y:1222 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 182: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1222 +//line sql.y:1226 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 183: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1226 +//line sql.y:1230 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 184: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1230 +//line sql.y:1234 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } case 185: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1235 +//line sql.y:1239 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str} } case 186: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1241 +//line sql.y:1245 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 187: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1245 +//line sql.y:1249 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 188: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1249 +//line sql.y:1253 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 189: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1253 +//line sql.y:1257 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 190: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1257 +//line sql.y:1261 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 191: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1261 +//line sql.y:1265 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 192: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1265 +//line sql.y:1269 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 193: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1269 +//line sql.y:1273 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)} } case 194: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1275 +//line sql.y:1279 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, "'"+string(yyDollar[1].bytes)+"'") } case 195: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1280 +//line sql.y:1284 { yyVAL.strs = append(yyDollar[1].strs, "'"+string(yyDollar[3].bytes)+"'") } case 196: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1285 +//line sql.y:1289 { yyVAL.literal = nil } case 197: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1289 +//line sql.y:1293 { yyVAL.literal = NewIntLiteral(yyDollar[2].bytes) } case 198: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1294 +//line sql.y:1298 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 199: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1298 +//line sql.y:1302 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].bytes), @@ -6393,13 +6393,13 @@ yydefault: } case 200: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1306 +//line sql.y:1310 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 201: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1310 +//line sql.y:1314 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].bytes), @@ -6407,7 +6407,7 @@ yydefault: } case 202: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1316 +//line sql.y:1320 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].bytes), @@ -6416,926 +6416,926 @@ yydefault: } case 203: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1324 +//line sql.y:1328 { yyVAL.boolean = false } case 204: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1328 +//line sql.y:1332 { yyVAL.boolean = true } case 205: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1333 +//line sql.y:1337 { yyVAL.boolean = false } case 206: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1337 +//line sql.y:1341 { yyVAL.boolean = true } case 207: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1342 +//line sql.y:1346 { yyVAL.str = "" } case 208: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1346 +//line sql.y:1350 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 209: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1350 +//line sql.y:1354 { yyVAL.str = string(yyDollar[2].bytes) } case 210: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1355 +//line sql.y:1359 { yyVAL.str = "" } case 211: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1359 +//line sql.y:1363 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 212: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1363 +//line sql.y:1367 { yyVAL.str = string(yyDollar[2].bytes) } case 213: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1370 +//line sql.y:1374 { yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Options: yyDollar[5].indexOptions} } case 214: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1375 +//line sql.y:1379 { yyVAL.indexOptions = nil } case 215: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1379 +//line sql.y:1383 { yyVAL.indexOptions = yyDollar[1].indexOptions } case 216: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1385 +//line sql.y:1389 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } case 217: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1389 +//line sql.y:1393 { yyVAL.indexOptions = append(yyVAL.indexOptions, yyDollar[2].indexOption) } case 218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1395 +//line sql.y:1399 { yyVAL.indexOption = yyDollar[1].indexOption } case 219: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1399 +//line sql.y:1403 { // should not be string yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 220: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1404 +//line sql.y:1408 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[2].bytes)} } case 221: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1408 +//line sql.y:1412 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), String: yyDollar[3].colIdent.String()} } case 222: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1414 +//line sql.y:1418 { yyVAL.str = "" } case 223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1418 +//line sql.y:1422 { yyVAL.str = string(yyDollar[1].bytes) } case 224: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1424 +//line sql.y:1428 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } case 225: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1428 +//line sql.y:1432 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } case 226: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1432 +//line sql.y:1436 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } case 227: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1436 +//line sql.y:1440 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } case 228: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1440 +//line sql.y:1444 { yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } case 229: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1445 +//line sql.y:1449 { yyVAL.str = "" } case 230: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1449 +//line sql.y:1453 { yyVAL.str = yyDollar[2].str } case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1455 +//line sql.y:1459 { yyVAL.str = string(yyDollar[1].bytes) } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1459 +//line sql.y:1463 { yyVAL.str = string(yyDollar[1].bytes) } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1463 +//line sql.y:1467 { yyVAL.str = string(yyDollar[1].bytes) } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1470 +//line sql.y:1474 { yyVAL.str = string(yyDollar[1].bytes) } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1474 +//line sql.y:1478 { yyVAL.str = string(yyDollar[1].bytes) } case 236: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1479 +//line sql.y:1483 { yyVAL.str = "key" } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1483 +//line sql.y:1487 { yyVAL.str = yyDollar[1].str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1489 +//line sql.y:1493 { yyVAL.str = string(yyDollar[1].bytes) } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1493 +//line sql.y:1497 { yyVAL.str = string(yyDollar[1].bytes) } case 240: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1498 +//line sql.y:1502 { yyVAL.str = "" } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1502 +//line sql.y:1506 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1508 +//line sql.y:1512 { yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn} } case 243: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1512 +//line sql.y:1516 { yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn) } case 244: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1518 +//line sql.y:1522 { yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literal, Direction: yyDollar[3].orderDirection} } case 245: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1524 +//line sql.y:1528 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].colIdent.String()), Details: yyDollar[3].constraintInfo} } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1528 +//line sql.y:1532 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } case 247: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1534 +//line sql.y:1538 { yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].colIdent.String()), Details: yyDollar[3].constraintInfo} } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1538 +//line sql.y:1542 { yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo} } case 249: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:1544 +//line sql.y:1548 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns} } case 250: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:1548 +//line sql.y:1552 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction} } case 251: yyDollar = yyS[yypt-11 : yypt+1] -//line sql.y:1552 +//line sql.y:1556 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnUpdate: yyDollar[11].ReferenceAction} } case 252: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:1556 +//line sql.y:1560 { yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction, OnUpdate: yyDollar[12].ReferenceAction} } case 253: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1562 +//line sql.y:1566 { yyVAL.constraintInfo = &CheckConstraintDefinition{Expr: yyDollar[3].expr, Enforced: yyDollar[5].boolean} } case 254: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1568 +//line sql.y:1572 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } case 255: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1574 +//line sql.y:1578 { yyVAL.ReferenceAction = yyDollar[3].ReferenceAction } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1580 +//line sql.y:1584 { yyVAL.ReferenceAction = Restrict } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1584 +//line sql.y:1588 { yyVAL.ReferenceAction = Cascade } case 258: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1588 +//line sql.y:1592 { yyVAL.ReferenceAction = NoAction } case 259: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1592 +//line sql.y:1596 { yyVAL.ReferenceAction = SetDefault } case 260: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1596 +//line sql.y:1600 { yyVAL.ReferenceAction = SetNull } case 261: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1601 +//line sql.y:1605 { yyVAL.str = "" } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1605 +//line sql.y:1609 { yyVAL.str = string(yyDollar[1].bytes) } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1609 +//line sql.y:1613 { yyVAL.str = string(yyDollar[1].bytes) } case 264: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1614 +//line sql.y:1618 { yyVAL.boolean = true } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1618 +//line sql.y:1622 { yyVAL.boolean = true } case 266: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1622 +//line sql.y:1626 { yyVAL.boolean = false } case 267: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1627 +//line sql.y:1631 { yyVAL.tableOptions = nil } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1631 +//line sql.y:1635 { yyVAL.tableOptions = yyDollar[1].tableOptions } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1637 +//line sql.y:1641 { yyVAL.tableOptions = TableOptions{yyDollar[1].tableOption} } case 270: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1641 +//line sql.y:1645 { yyVAL.tableOptions = append(yyDollar[1].tableOptions, yyDollar[3].tableOption) } case 271: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1645 +//line sql.y:1649 { yyVAL.tableOptions = append(yyDollar[1].tableOptions, yyDollar[2].tableOption) } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1651 +//line sql.y:1655 { yyVAL.tableOptions = TableOptions{yyDollar[1].tableOption} } case 273: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1655 +//line sql.y:1659 { yyVAL.tableOptions = append(yyDollar[1].tableOptions, yyDollar[2].tableOption) } case 274: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1661 +//line sql.y:1665 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 275: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1665 +//line sql.y:1669 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 276: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1669 +//line sql.y:1673 { yyVAL.tableOption = &TableOption{Name: (string(yyDollar[2].bytes)), String: yyDollar[4].str} } case 277: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1673 +//line sql.y:1677 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[2].bytes), String: yyDollar[4].str} } case 278: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1677 +//line sql.y:1681 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 279: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1681 +//line sql.y:1685 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } case 280: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1685 +//line sql.y:1689 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } case 281: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1689 +//line sql.y:1693 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } case 282: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1693 +//line sql.y:1697 { yyVAL.tableOption = &TableOption{Name: (string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)), Value: NewStrLiteral(yyDollar[4].bytes)} } case 283: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1697 +//line sql.y:1701 { yyVAL.tableOption = &TableOption{Name: (string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes)), Value: NewStrLiteral(yyDollar[4].bytes)} } case 284: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1701 +//line sql.y:1705 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 285: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1705 +//line sql.y:1709 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } case 286: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1709 +//line sql.y:1713 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: yyDollar[3].colIdent.String()} } case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1713 +//line sql.y:1717 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } case 288: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1717 +//line sql.y:1721 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 289: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1721 +//line sql.y:1725 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 290: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1725 +//line sql.y:1729 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 291: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1729 +//line sql.y:1733 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 292: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1733 +//line sql.y:1737 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 293: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1737 +//line sql.y:1741 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 294: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1741 +//line sql.y:1745 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewStrLiteral(yyDollar[3].bytes)} } case 295: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1745 +//line sql.y:1749 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 296: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1749 +//line sql.y:1753 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 297: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1753 +//line sql.y:1757 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 298: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1757 +//line sql.y:1761 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 299: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1761 +//line sql.y:1765 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 300: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1765 +//line sql.y:1769 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Value: NewIntLiteral(yyDollar[3].bytes)} } case 301: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1769 +//line sql.y:1773 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } case 302: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1773 +//line sql.y:1777 { yyVAL.tableOption = &TableOption{Name: string(yyDollar[1].bytes), Tables: yyDollar[4].tableNames} } case 303: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1778 +//line sql.y:1782 { yyVAL.str = "" } case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1782 +//line sql.y:1786 { yyVAL.str = " " + string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1786 +//line sql.y:1790 { yyVAL.str = " " + string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } case 315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1805 +//line sql.y:1809 { yyVAL.str = yyDollar[1].colIdent.String() } case 316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1809 +//line sql.y:1813 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'" } case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1813 +//line sql.y:1817 { yyVAL.str = string(yyDollar[1].bytes) } case 318: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1818 +//line sql.y:1822 { yyVAL.bytes = []byte("") } case 320: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1824 +//line sql.y:1828 { yyVAL.colName = nil } case 321: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1828 +//line sql.y:1832 { yyVAL.colName = yyDollar[2].colName } case 322: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1833 +//line sql.y:1837 { yyVAL.colName = nil } case 323: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1837 +//line sql.y:1841 { yyVAL.colName = yyDollar[2].colName } case 324: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1842 +//line sql.y:1846 { yyVAL.alterOptions = nil } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1846 +//line sql.y:1850 { yyVAL.alterOptions = yyDollar[1].alterOptions } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1850 +//line sql.y:1854 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, &OrderByOption{Cols: yyDollar[5].columns}) } case 327: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1854 +//line sql.y:1858 { yyVAL.alterOptions = yyDollar[1].alterOptions } case 328: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1858 +//line sql.y:1862 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, yyDollar[3].alterOptions...) } case 329: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1862 +//line sql.y:1866 { yyVAL.alterOptions = append(append(yyDollar[1].alterOptions, yyDollar[3].alterOptions...), &OrderByOption{Cols: yyDollar[7].columns}) } case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1868 +//line sql.y:1872 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption} } case 331: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1872 +//line sql.y:1876 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, yyDollar[3].alterOption) } case 332: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1876 +//line sql.y:1880 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, yyDollar[3].alterOption) } case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1882 +//line sql.y:1886 { yyVAL.alterOption = yyDollar[1].tableOptions } case 334: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1886 +//line sql.y:1890 { yyVAL.alterOption = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinition} } case 335: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1890 +//line sql.y:1894 { yyVAL.alterOption = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinition} } case 336: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1894 +//line sql.y:1898 { yyVAL.alterOption = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinition} } case 337: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1898 +//line sql.y:1902 { yyVAL.alterOption = &AddColumns{Columns: yyDollar[4].columnDefinitions} } case 338: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1902 +//line sql.y:1906 { yyVAL.alterOption = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinition}, First: yyDollar[4].colName, After: yyDollar[5].colName} } case 339: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1906 +//line sql.y:1910 { yyVAL.alterOption = &AlterColumn{Column: yyDollar[3].colName, DropDefault: true} } case 340: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1910 +//line sql.y:1914 { yyVAL.alterOption = &AlterColumn{Column: yyDollar[3].colName, DropDefault: false, DefaultVal: yyDollar[6].expr} } case 341: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:1914 +//line sql.y:1918 { yyVAL.alterOption = &ChangeColumn{OldColumn: yyDollar[3].colName, NewColDefinition: yyDollar[4].columnDefinition, First: yyDollar[5].colName, After: yyDollar[6].colName} } case 342: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1918 +//line sql.y:1922 { yyVAL.alterOption = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinition, First: yyDollar[4].colName, After: yyDollar[5].colName} } case 343: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1922 +//line sql.y:1926 { yyVAL.alterOption = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } case 344: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1926 +//line sql.y:1930 { yyVAL.alterOption = &KeyState{Enable: false} } case 345: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1930 +//line sql.y:1934 { yyVAL.alterOption = &KeyState{Enable: true} } case 346: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1934 +//line sql.y:1938 { yyVAL.alterOption = &TablespaceOperation{Import: false} } case 347: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1938 +//line sql.y:1942 { yyVAL.alterOption = &TablespaceOperation{Import: true} } case 348: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1942 +//line sql.y:1946 { yyVAL.alterOption = &DropColumn{Name: yyDollar[3].colName} } case 349: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1946 +//line sql.y:1950 { yyVAL.alterOption = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent.String()} } case 350: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1950 +//line sql.y:1954 { yyVAL.alterOption = &DropKey{Type: PrimaryKeyType} } case 351: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1954 +//line sql.y:1958 { yyVAL.alterOption = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent.String()} } case 352: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1958 +//line sql.y:1962 { yyVAL.alterOption = &Force{} } case 353: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1962 +//line sql.y:1966 { yyVAL.alterOption = &RenameTableName{Table: yyDollar[3].tableName} } case 354: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1966 +//line sql.y:1970 { yyVAL.alterOption = &RenameIndex{OldName: yyDollar[3].colIdent.String(), NewName: yyDollar[5].colIdent.String()} } case 355: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1972 +//line sql.y:1976 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption} } case 356: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1976 +//line sql.y:1980 { yyVAL.alterOptions = append(yyDollar[1].alterOptions, yyDollar[3].alterOption) } case 357: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1982 +//line sql.y:1986 { yyVAL.alterOption = AlgorithmValue(string(yyDollar[3].bytes)) } case 358: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1986 +//line sql.y:1990 { yyVAL.alterOption = AlgorithmValue(string(yyDollar[3].bytes)) } case 359: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1990 +//line sql.y:1994 { yyVAL.alterOption = AlgorithmValue(string(yyDollar[3].bytes)) } case 360: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1994 +//line sql.y:1998 { yyVAL.alterOption = &LockOption{Type: DefaultType} } case 361: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1998 +//line sql.y:2002 { yyVAL.alterOption = &LockOption{Type: NoneType} } case 362: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2002 +//line sql.y:2006 { yyVAL.alterOption = &LockOption{Type: SharedType} } case 363: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2006 +//line sql.y:2010 { yyVAL.alterOption = &LockOption{Type: ExclusiveType} } case 364: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2010 +//line sql.y:2014 { yyVAL.alterOption = &Validation{With: true} } case 365: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2014 +//line sql.y:2018 { yyVAL.alterOption = &Validation{With: false} } case 366: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2020 +//line sql.y:2024 { yyDollar[1].alterTable.FullyParsed = true yyDollar[1].alterTable.AlterOptions = yyDollar[2].alterOptions @@ -7343,7 +7343,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2026 +//line sql.y:2030 { yyDollar[1].alterTable.FullyParsed = true yyDollar[1].alterTable.AlterOptions = yyDollar[2].alterOptions @@ -7352,7 +7352,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2033 +//line sql.y:2037 { yyDollar[1].alterTable.FullyParsed = true yyDollar[1].alterTable.AlterOptions = yyDollar[2].alterOptions @@ -7361,7 +7361,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2040 +//line sql.y:2044 { yyDollar[1].alterTable.FullyParsed = true yyDollar[1].alterTable.PartitionSpec = yyDollar[2].partSpec @@ -7369,13 +7369,13 @@ yydefault: } case 370: yyDollar = yyS[yypt-10 : yypt+1] -//line sql.y:2046 +//line sql.y:2050 { yyVAL.statement = &AlterView{ViewName: yyDollar[6].tableName.ToViewName(), Algorithm: yyDollar[2].str, Definer: yyDollar[3].str, Security: yyDollar[4].str, Columns: yyDollar[7].columns, Select: yyDollar[9].selStmt, CheckOption: yyDollar[10].str} } case 371: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2050 +//line sql.y:2054 { yyDollar[1].alterDatabase.FullyParsed = true yyDollar[1].alterDatabase.DBName = yyDollar[2].colIdent.String() @@ -7384,7 +7384,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2057 +//line sql.y:2061 { yyDollar[1].alterDatabase.FullyParsed = true yyDollar[1].alterDatabase.DBName = yyDollar[2].colIdent.String() @@ -7393,7 +7393,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2064 +//line sql.y:2068 { yyVAL.statement = &AlterVschema{ Action: CreateVindexDDLAction, @@ -7407,7 +7407,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2076 +//line sql.y:2080 { yyVAL.statement = &AlterVschema{ Action: DropVindexDDLAction, @@ -7419,19 +7419,19 @@ yydefault: } case 375: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2086 +//line sql.y:2090 { yyVAL.statement = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[5].tableName} } case 376: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2090 +//line sql.y:2094 { yyVAL.statement = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[5].tableName} } case 377: yyDollar = yyS[yypt-12 : yypt+1] -//line sql.y:2094 +//line sql.y:2098 { yyVAL.statement = &AlterVschema{ Action: AddColVindexDDLAction, @@ -7446,7 +7446,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2107 +//line sql.y:2111 { yyVAL.statement = &AlterVschema{ Action: DropColVindexDDLAction, @@ -7458,13 +7458,13 @@ yydefault: } case 379: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2117 +//line sql.y:2121 { yyVAL.statement = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[5].tableName} } case 380: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:2121 +//line sql.y:2125 { yyVAL.statement = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -7477,205 +7477,205 @@ yydefault: } case 381: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2134 +//line sql.y:2138 { yyVAL.partSpec = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDef}} } case 382: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2138 +//line sql.y:2142 { yyVAL.partSpec = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitions} } case 383: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2142 +//line sql.y:2146 { yyVAL.partSpec = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitions, Definitions: yyDollar[6].partDefs} } case 384: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2146 +//line sql.y:2150 { yyVAL.partSpec = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitions} } case 385: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2150 +//line sql.y:2154 { yyVAL.partSpec = &PartitionSpec{Action: DiscardAction, IsAll: true} } case 386: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2154 +//line sql.y:2158 { yyVAL.partSpec = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitions} } case 387: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2158 +//line sql.y:2162 { yyVAL.partSpec = &PartitionSpec{Action: ImportAction, IsAll: true} } case 388: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2162 +//line sql.y:2166 { yyVAL.partSpec = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitions} } case 389: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2166 +//line sql.y:2170 { yyVAL.partSpec = &PartitionSpec{Action: TruncateAction, IsAll: true} } case 390: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2170 +//line sql.y:2174 { yyVAL.partSpec = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].bytes)} } case 391: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2174 +//line sql.y:2178 { yyVAL.partSpec = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].boolean} } case 392: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2178 +//line sql.y:2182 { yyVAL.partSpec = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitions} } case 393: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2182 +//line sql.y:2186 { yyVAL.partSpec = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } case 394: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2186 +//line sql.y:2190 { yyVAL.partSpec = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitions} } case 395: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2190 +//line sql.y:2194 { yyVAL.partSpec = &PartitionSpec{Action: CheckAction, IsAll: true} } case 396: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2194 +//line sql.y:2198 { yyVAL.partSpec = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitions} } case 397: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2198 +//line sql.y:2202 { yyVAL.partSpec = &PartitionSpec{Action: OptimizeAction, IsAll: true} } case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2202 +//line sql.y:2206 { yyVAL.partSpec = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitions} } case 399: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2206 +//line sql.y:2210 { yyVAL.partSpec = &PartitionSpec{Action: RebuildAction, IsAll: true} } case 400: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2210 +//line sql.y:2214 { yyVAL.partSpec = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitions} } case 401: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2214 +//line sql.y:2218 { yyVAL.partSpec = &PartitionSpec{Action: RepairAction, IsAll: true} } case 402: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2218 +//line sql.y:2222 { yyVAL.partSpec = &PartitionSpec{Action: UpgradeAction} } case 403: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2223 +//line sql.y:2227 { yyVAL.boolean = false } case 404: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2227 +//line sql.y:2231 { yyVAL.boolean = false } case 405: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2231 +//line sql.y:2235 { yyVAL.boolean = true } case 406: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2238 +//line sql.y:2242 { yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef} } case 407: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2242 +//line sql.y:2246 { yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef) } case 408: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2248 +//line sql.y:2252 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr} } case 409: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2252 +//line sql.y:2256 { yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} } case 410: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2258 +//line sql.y:2262 { yyVAL.statement = &RenameTable{TablePairs: yyDollar[3].renameTablePairs} } case 411: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2264 +//line sql.y:2268 { yyVAL.renameTablePairs = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } case 412: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2268 +//line sql.y:2272 { yyVAL.renameTablePairs = append(yyDollar[1].renameTablePairs, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) } case 413: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2274 +//line sql.y:2278 { yyVAL.statement = &DropTable{FromTables: yyDollar[4].tableNames, IfExists: yyDollar[3].boolean} } case 414: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2278 +//line sql.y:2282 { // Change this to an alter statement if yyDollar[3].colIdent.Lowered() == "primary" { @@ -7686,212 +7686,212 @@ yydefault: } case 415: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2287 +//line sql.y:2291 { yyVAL.statement = &DropView{FromTables: yyDollar[4].tableNames, IfExists: yyDollar[3].boolean} } case 416: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2291 +//line sql.y:2295 { yyVAL.statement = &DropDatabase{DBName: string(yyDollar[4].colIdent.String()), IfExists: yyDollar[3].boolean} } case 417: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2297 +//line sql.y:2301 { yyVAL.statement = &TruncateTable{Table: yyDollar[3].tableName} } case 418: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2301 +//line sql.y:2305 { yyVAL.statement = &TruncateTable{Table: yyDollar[2].tableName} } case 419: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2306 +//line sql.y:2310 { yyVAL.statement = &OtherRead{} } case 420: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2312 +//line sql.y:2316 { yyVAL.statement = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilter}} } case 421: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2316 +//line sql.y:2320 { yyVAL.statement = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilter}} } case 422: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2320 +//line sql.y:2324 { yyVAL.statement = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilter}} } case 423: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2324 +//line sql.y:2328 { yyVAL.statement = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilter}} } case 424: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2328 +//line sql.y:2332 { yyVAL.statement = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilter}} } case 425: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2332 +//line sql.y:2336 { yyVAL.statement = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilter}} } case 426: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2336 +//line sql.y:2340 { yyVAL.statement = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilter}} } case 427: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2340 +//line sql.y:2344 { yyVAL.statement = &Show{&ShowBasic{Command: Privilege}} } case 428: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2344 +//line sql.y:2348 { yyVAL.statement = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilter}} } case 429: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2348 +//line sql.y:2352 { yyVAL.statement = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilter}} } case 430: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2352 +//line sql.y:2356 { yyVAL.statement = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilter}} } case 431: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2356 +//line sql.y:2360 { yyVAL.statement = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilter}} } case 432: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2360 +//line sql.y:2364 { yyVAL.statement = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilter}} } case 433: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2364 +//line sql.y:2368 { yyVAL.statement = &Show{&ShowTableStatus{DatabaseName: yyDollar[4].str, Filter: yyDollar[5].showFilter}} } case 434: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2368 +//line sql.y:2372 { yyVAL.statement = &Show{&ShowColumns{Full: yyDollar[2].str, Table: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter}} } case 435: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2372 +//line sql.y:2376 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } case 436: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2376 +//line sql.y:2380 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 437: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2380 +//line sql.y:2384 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 438: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2384 +//line sql.y:2388 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } case 439: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2389 +//line sql.y:2393 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } case 440: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2393 +//line sql.y:2397 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 441: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2397 +//line sql.y:2401 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } case 442: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2401 +//line sql.y:2405 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 443: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2405 +//line sql.y:2409 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 444: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2409 +//line sql.y:2413 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } case 445: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2413 +//line sql.y:2417 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } case 446: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2417 +//line sql.y:2421 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{&ShowLegacy{Extended: string(yyDollar[2].str), Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } case 447: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2422 +//line sql.y:2426 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } case 448: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2426 +//line sql.y:2430 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } case 449: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2430 +//line sql.y:2434 { // this is ugly, but I couldn't find a better way for now if yyDollar[3].str == "processlist" { @@ -7903,38 +7903,38 @@ yydefault: } case 450: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2440 +//line sql.y:2444 { showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilter} yyVAL.statement = &Show{&ShowLegacy{Scope: VitessMetadataScope, Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt}} } case 451: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2445 +//line sql.y:2449 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 452: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2449 +//line sql.y:2453 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 453: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2453 +//line sql.y:2457 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } case 454: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2457 +//line sql.y:2461 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } case 455: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2462 +//line sql.y:2466 { // This should probably be a different type (ShowVitessTopoOpt), but // just getting the thing working for now @@ -7943,1016 +7943,1016 @@ yydefault: } case 456: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2476 +//line sql.y:2480 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].colIdent.String()), Scope: ImplicitScope}} } case 457: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2480 +//line sql.y:2484 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } case 458: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2484 +//line sql.y:2488 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } case 459: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2490 +//line sql.y:2494 { yyVAL.str = string(yyDollar[1].bytes) } case 460: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2494 +//line sql.y:2498 { yyVAL.str = string(yyDollar[1].bytes) } case 461: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2500 +//line sql.y:2504 { yyVAL.str = string(yyDollar[1].bytes) } case 462: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2504 +//line sql.y:2508 { yyVAL.str = string(yyDollar[1].bytes) } case 463: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2510 +//line sql.y:2514 { yyVAL.str = "" } case 464: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2514 +//line sql.y:2518 { yyVAL.str = "extended " } case 465: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2520 +//line sql.y:2524 { yyVAL.str = "" } case 466: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2524 +//line sql.y:2528 { yyVAL.str = "full " } case 467: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2530 +//line sql.y:2534 { yyVAL.str = string(yyDollar[1].bytes) } case 468: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2534 +//line sql.y:2538 { yyVAL.str = string(yyDollar[1].bytes) } case 469: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2540 +//line sql.y:2544 { yyVAL.str = "" } case 470: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2544 +//line sql.y:2548 { yyVAL.str = yyDollar[2].tableIdent.v } case 471: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2548 +//line sql.y:2552 { yyVAL.str = yyDollar[2].tableIdent.v } case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2554 +//line sql.y:2558 { yyVAL.showFilter = nil } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2558 +//line sql.y:2562 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2562 +//line sql.y:2566 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } case 475: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2568 +//line sql.y:2572 { yyVAL.showFilter = nil } case 476: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2572 +//line sql.y:2576 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } case 477: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2578 +//line sql.y:2582 { yyVAL.empty = struct{}{} } case 478: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2582 +//line sql.y:2586 { yyVAL.empty = struct{}{} } case 479: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2586 +//line sql.y:2590 { yyVAL.empty = struct{}{} } case 480: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2592 +//line sql.y:2596 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } case 481: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2596 +//line sql.y:2600 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } case 482: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2602 +//line sql.y:2606 { yyVAL.statement = &Begin{} } case 483: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2606 +//line sql.y:2610 { yyVAL.statement = &Begin{} } case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2612 +//line sql.y:2616 { yyVAL.statement = &Commit{} } case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2618 +//line sql.y:2622 { yyVAL.statement = &Rollback{} } case 486: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2622 +//line sql.y:2626 { yyVAL.statement = &SRollback{Name: yyDollar[5].colIdent} } case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2627 +//line sql.y:2631 { yyVAL.empty = struct{}{} } case 488: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2629 +//line sql.y:2633 { yyVAL.empty = struct{}{} } case 489: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2632 +//line sql.y:2636 { yyVAL.empty = struct{}{} } case 490: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2634 +//line sql.y:2638 { yyVAL.empty = struct{}{} } case 491: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2639 +//line sql.y:2643 { yyVAL.statement = &Savepoint{Name: yyDollar[2].colIdent} } case 492: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2645 +//line sql.y:2649 { yyVAL.statement = &Release{Name: yyDollar[3].colIdent} } case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2650 +//line sql.y:2654 { yyVAL.explainType = EmptyType } case 494: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2654 +//line sql.y:2658 { yyVAL.explainType = JSONType } case 495: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2658 +//line sql.y:2662 { yyVAL.explainType = TreeType } case 496: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2662 +//line sql.y:2666 { yyVAL.explainType = VitessType } case 497: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2666 +//line sql.y:2670 { yyVAL.explainType = TraditionalType } case 498: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2670 +//line sql.y:2674 { yyVAL.explainType = AnalyzeType } case 499: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2676 +//line sql.y:2680 { yyVAL.bytes = yyDollar[1].bytes } case 500: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2680 +//line sql.y:2684 { yyVAL.bytes = yyDollar[1].bytes } case 501: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2684 +//line sql.y:2688 { yyVAL.bytes = yyDollar[1].bytes } case 502: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2690 +//line sql.y:2694 { yyVAL.statement = yyDollar[1].selStmt } case 503: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2694 +//line sql.y:2698 { yyVAL.statement = yyDollar[1].statement } case 504: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2698 +//line sql.y:2702 { yyVAL.statement = yyDollar[1].statement } case 505: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2702 +//line sql.y:2706 { yyVAL.statement = yyDollar[1].statement } case 506: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2707 +//line sql.y:2711 { yyVAL.str = "" } case 507: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2711 +//line sql.y:2715 { yyVAL.str = "" } case 508: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2715 +//line sql.y:2719 { yyVAL.str = "" } case 509: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2721 +//line sql.y:2725 { yyVAL.statement = &OtherRead{} } case 510: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2725 +//line sql.y:2729 { yyVAL.statement = &Explain{Type: yyDollar[2].explainType, Statement: yyDollar[3].statement} } case 511: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2731 +//line sql.y:2735 { yyVAL.statement = &OtherAdmin{} } case 512: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2735 +//line sql.y:2739 { yyVAL.statement = &OtherAdmin{} } case 513: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2741 +//line sql.y:2745 { yyVAL.statement = &LockTables{Tables: yyDollar[3].tableAndLockTypes} } case 514: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2747 +//line sql.y:2751 { yyVAL.tableAndLockTypes = TableAndLockTypes{yyDollar[1].tableAndLockType} } case 515: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2751 +//line sql.y:2755 { yyVAL.tableAndLockTypes = append(yyDollar[1].tableAndLockTypes, yyDollar[3].tableAndLockType) } case 516: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2757 +//line sql.y:2761 { yyVAL.tableAndLockType = &TableAndLockType{Table: yyDollar[1].aliasedTableName, Lock: yyDollar[2].lockType} } case 517: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2763 +//line sql.y:2767 { yyVAL.lockType = Read } case 518: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2767 +//line sql.y:2771 { yyVAL.lockType = ReadLocal } case 519: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2771 +//line sql.y:2775 { yyVAL.lockType = Write } case 520: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2775 +//line sql.y:2779 { yyVAL.lockType = LowPriorityWrite } case 521: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2781 +//line sql.y:2785 { yyVAL.statement = &UnlockTables{} } case 522: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2787 +//line sql.y:2791 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, FlushOptions: yyDollar[3].strs} } case 523: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2791 +//line sql.y:2795 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean} } case 524: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2795 +//line sql.y:2799 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, WithLock: true} } case 525: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2799 +//line sql.y:2803 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, TableNames: yyDollar[4].tableNames} } case 526: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2803 +//line sql.y:2807 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, TableNames: yyDollar[4].tableNames, WithLock: true} } case 527: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2807 +//line sql.y:2811 { yyVAL.statement = &Flush{IsLocal: yyDollar[2].boolean, TableNames: yyDollar[4].tableNames, ForExport: true} } case 528: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2813 +//line sql.y:2817 { yyVAL.strs = []string{yyDollar[1].str} } case 529: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2817 +//line sql.y:2821 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 530: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2823 +//line sql.y:2827 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } case 531: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2827 +//line sql.y:2831 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } case 532: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2831 +//line sql.y:2835 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } case 533: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2835 +//line sql.y:2839 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } case 534: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2839 +//line sql.y:2843 { yyVAL.str = string(yyDollar[1].bytes) } case 535: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2843 +//line sql.y:2847 { yyVAL.str = string(yyDollar[1].bytes) } case 536: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2847 +//line sql.y:2851 { yyVAL.str = string(yyDollar[1].bytes) } case 537: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2851 +//line sql.y:2855 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + yyDollar[3].str } case 538: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2855 +//line sql.y:2859 { yyVAL.str = string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) } case 539: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2859 +//line sql.y:2863 { yyVAL.str = string(yyDollar[1].bytes) } case 540: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2863 +//line sql.y:2867 { yyVAL.str = string(yyDollar[1].bytes) } case 541: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2867 +//line sql.y:2871 { yyVAL.str = string(yyDollar[1].bytes) } case 542: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2872 +//line sql.y:2876 { yyVAL.boolean = false } case 543: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2876 +//line sql.y:2880 { yyVAL.boolean = true } case 544: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2880 +//line sql.y:2884 { yyVAL.boolean = true } case 545: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2885 +//line sql.y:2889 { yyVAL.str = "" } case 546: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2889 +//line sql.y:2893 { yyVAL.str = " " + string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes) + " " + yyDollar[3].colIdent.String() } case 547: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2894 +//line sql.y:2898 { setAllowComments(yylex, true) } case 548: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2898 +//line sql.y:2902 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } case 549: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2904 +//line sql.y:2908 { yyVAL.bytes2 = nil } case 550: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2908 +//line sql.y:2912 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } case 551: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2914 +//line sql.y:2918 { yyVAL.boolean = true } case 552: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2918 +//line sql.y:2922 { yyVAL.boolean = false } case 553: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2922 +//line sql.y:2926 { yyVAL.boolean = true } case 554: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2927 +//line sql.y:2931 { yyVAL.str = "" } case 555: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2931 +//line sql.y:2935 { yyVAL.str = SQLNoCacheStr } case 556: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2935 +//line sql.y:2939 { yyVAL.str = SQLCacheStr } case 557: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2940 +//line sql.y:2944 { yyVAL.boolean = false } case 558: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2944 +//line sql.y:2948 { yyVAL.boolean = true } case 559: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2948 +//line sql.y:2952 { yyVAL.boolean = true } case 560: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2953 +//line sql.y:2957 { yyVAL.selectExprs = nil } case 561: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2957 +//line sql.y:2961 { yyVAL.selectExprs = yyDollar[1].selectExprs } case 562: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2962 +//line sql.y:2966 { yyVAL.strs = nil } case 563: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2966 +//line sql.y:2970 { yyVAL.strs = []string{yyDollar[1].str} } case 564: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2970 +//line sql.y:2974 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 565: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2974 +//line sql.y:2978 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 566: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2978 +//line sql.y:2982 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 567: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2984 +//line sql.y:2988 { yyVAL.str = SQLNoCacheStr } case 568: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2988 +//line sql.y:2992 { yyVAL.str = SQLCacheStr } case 569: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2992 +//line sql.y:2996 { yyVAL.str = DistinctStr } case 570: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2996 +//line sql.y:3000 { yyVAL.str = DistinctStr } case 571: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3000 +//line sql.y:3004 { yyVAL.str = StraightJoinHint } case 572: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3004 +//line sql.y:3008 { yyVAL.str = SQLCalcFoundRowsStr } case 573: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3010 +//line sql.y:3014 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } case 574: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3014 +//line sql.y:3018 { yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr) } case 575: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3020 +//line sql.y:3024 { yyVAL.selectExpr = &StarExpr{} } case 576: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3024 +//line sql.y:3028 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } case 577: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3028 +//line sql.y:3032 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } case 578: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3032 +//line sql.y:3036 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } case 579: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3037 +//line sql.y:3041 { yyVAL.colIdent = ColIdent{} } case 580: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3041 +//line sql.y:3045 { yyVAL.colIdent = yyDollar[1].colIdent } case 581: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3045 +//line sql.y:3049 { yyVAL.colIdent = yyDollar[2].colIdent } case 583: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3052 +//line sql.y:3056 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } case 584: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3057 +//line sql.y:3061 { yyVAL.tableExprs = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } case 585: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3061 +//line sql.y:3065 { yyVAL.tableExprs = yyDollar[2].tableExprs } case 586: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3067 +//line sql.y:3071 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } case 587: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3071 +//line sql.y:3075 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } case 590: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3081 +//line sql.y:3085 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3085 +//line sql.y:3089 { yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].derivedTable, As: yyDollar[3].tableIdent} } case 592: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3089 +//line sql.y:3093 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } case 593: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3095 +//line sql.y:3099 { yyVAL.derivedTable = &DerivedTable{yyDollar[2].selStmt} } case 594: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3101 +//line sql.y:3105 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } case 595: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3105 +//line sql.y:3109 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitions, As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHints} } case 596: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3110 +//line sql.y:3114 { yyVAL.columns = nil } case 597: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3114 +//line sql.y:3118 { yyVAL.columns = yyDollar[2].columns } case 598: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3120 +//line sql.y:3124 { yyVAL.columns = Columns{yyDollar[1].colIdent} } case 599: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3124 +//line sql.y:3128 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } case 600: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3130 +//line sql.y:3134 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } case 601: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3134 +//line sql.y:3138 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } case 602: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3147 +//line sql.y:3151 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } case 603: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3151 +//line sql.y:3155 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } case 604: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3155 +//line sql.y:3159 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } case 605: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3159 +//line sql.y:3163 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr} } case 606: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3165 +//line sql.y:3169 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } case 607: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3167 +//line sql.y:3171 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } case 608: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3171 +//line sql.y:3175 { yyVAL.joinCondition = JoinCondition{} } case 609: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3173 +//line sql.y:3177 { yyVAL.joinCondition = yyDollar[1].joinCondition } case 610: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3177 +//line sql.y:3181 { yyVAL.joinCondition = JoinCondition{} } case 611: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3179 +//line sql.y:3183 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } case 612: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3182 +//line sql.y:3186 { yyVAL.empty = struct{}{} } case 613: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3184 +//line sql.y:3188 { yyVAL.empty = struct{}{} } case 614: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3187 +//line sql.y:3191 { yyVAL.tableIdent = NewTableIdent("") } case 615: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3191 +//line sql.y:3195 { yyVAL.tableIdent = yyDollar[1].tableIdent } case 616: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3195 +//line sql.y:3199 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 618: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3202 +//line sql.y:3206 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } case 619: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3208 +//line sql.y:3212 { yyVAL.joinType = NormalJoinType } case 620: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3212 +//line sql.y:3216 { yyVAL.joinType = NormalJoinType } case 621: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3216 +//line sql.y:3220 { yyVAL.joinType = NormalJoinType } case 622: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3222 +//line sql.y:3226 { yyVAL.joinType = StraightJoinType } case 623: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3228 +//line sql.y:3232 { yyVAL.joinType = LeftJoinType } case 624: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3232 +//line sql.y:3236 { yyVAL.joinType = LeftJoinType } case 625: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3236 +//line sql.y:3240 { yyVAL.joinType = RightJoinType } case 626: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3240 +//line sql.y:3244 { yyVAL.joinType = RightJoinType } case 627: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3246 +//line sql.y:3250 { yyVAL.joinType = NaturalJoinType } case 628: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3250 +//line sql.y:3254 { if yyDollar[2].joinType == LeftJoinType { yyVAL.joinType = NaturalLeftJoinType @@ -8962,487 +8962,487 @@ yydefault: } case 629: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3260 +//line sql.y:3264 { yyVAL.tableName = yyDollar[2].tableName } case 630: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3264 +//line sql.y:3268 { yyVAL.tableName = yyDollar[1].tableName } case 631: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3270 +//line sql.y:3274 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 632: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3274 +//line sql.y:3278 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } case 633: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3280 +//line sql.y:3284 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 634: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3285 +//line sql.y:3289 { yyVAL.indexHints = nil } case 635: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3289 +//line sql.y:3293 { yyVAL.indexHints = &IndexHints{Type: UseOp, Indexes: yyDollar[4].columns} } case 636: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3293 +//line sql.y:3297 { yyVAL.indexHints = &IndexHints{Type: UseOp} } case 637: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3297 +//line sql.y:3301 { yyVAL.indexHints = &IndexHints{Type: IgnoreOp, Indexes: yyDollar[4].columns} } case 638: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3301 +//line sql.y:3305 { yyVAL.indexHints = &IndexHints{Type: ForceOp, Indexes: yyDollar[4].columns} } case 639: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3306 +//line sql.y:3310 { yyVAL.expr = nil } case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3310 +//line sql.y:3314 { yyVAL.expr = yyDollar[2].expr } case 641: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3316 +//line sql.y:3320 { yyVAL.expr = yyDollar[1].expr } case 642: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3320 +//line sql.y:3324 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } case 643: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3324 +//line sql.y:3328 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } case 644: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3328 +//line sql.y:3332 { yyVAL.expr = &XorExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } case 645: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3332 +//line sql.y:3336 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } case 646: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3336 +//line sql.y:3340 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].isExprOperator, Expr: yyDollar[1].expr} } case 647: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3340 +//line sql.y:3344 { yyVAL.expr = yyDollar[1].expr } case 648: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3344 +//line sql.y:3348 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } case 649: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3350 +//line sql.y:3354 { yyVAL.str = "" } case 650: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3354 +//line sql.y:3358 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 651: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3360 +//line sql.y:3364 { yyVAL.boolVal = BoolVal(true) } case 652: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3364 +//line sql.y:3368 { yyVAL.boolVal = BoolVal(false) } case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3370 +//line sql.y:3374 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].comparisonExprOperator, Right: yyDollar[3].expr} } case 654: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3374 +//line sql.y:3378 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InOp, Right: yyDollar[3].colTuple} } case 655: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3378 +//line sql.y:3382 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInOp, Right: yyDollar[4].colTuple} } case 656: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3382 +//line sql.y:3386 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeOp, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } case 657: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3386 +//line sql.y:3390 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeOp, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } case 658: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3390 +//line sql.y:3394 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpOp, Right: yyDollar[3].expr} } case 659: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3394 +//line sql.y:3398 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpOp, Right: yyDollar[4].expr} } case 660: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3398 +//line sql.y:3402 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenOp, From: yyDollar[3].expr, To: yyDollar[5].expr} } case 661: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3402 +//line sql.y:3406 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenOp, From: yyDollar[4].expr, To: yyDollar[6].expr} } case 662: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3406 +//line sql.y:3410 { yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } case 663: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3412 +//line sql.y:3416 { yyVAL.isExprOperator = IsNullOp } case 664: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3416 +//line sql.y:3420 { yyVAL.isExprOperator = IsNotNullOp } case 665: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3420 +//line sql.y:3424 { yyVAL.isExprOperator = IsTrueOp } case 666: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3424 +//line sql.y:3428 { yyVAL.isExprOperator = IsNotTrueOp } case 667: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3428 +//line sql.y:3432 { yyVAL.isExprOperator = IsFalseOp } case 668: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3432 +//line sql.y:3436 { yyVAL.isExprOperator = IsNotFalseOp } case 669: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3438 +//line sql.y:3442 { yyVAL.comparisonExprOperator = EqualOp } case 670: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3442 +//line sql.y:3446 { yyVAL.comparisonExprOperator = LessThanOp } case 671: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3446 +//line sql.y:3450 { yyVAL.comparisonExprOperator = GreaterThanOp } case 672: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3450 +//line sql.y:3454 { yyVAL.comparisonExprOperator = LessEqualOp } case 673: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3454 +//line sql.y:3458 { yyVAL.comparisonExprOperator = GreaterEqualOp } case 674: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3458 +//line sql.y:3462 { yyVAL.comparisonExprOperator = NotEqualOp } case 675: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3462 +//line sql.y:3466 { yyVAL.comparisonExprOperator = NullSafeEqualOp } case 676: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3467 +//line sql.y:3471 { yyVAL.expr = nil } case 677: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3471 +//line sql.y:3475 { yyVAL.expr = yyDollar[2].expr } case 678: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3477 +//line sql.y:3481 { yyVAL.colTuple = yyDollar[1].valTuple } case 679: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3481 +//line sql.y:3485 { yyVAL.colTuple = yyDollar[1].subquery } case 680: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3485 +//line sql.y:3489 { yyVAL.colTuple = ListArg(yyDollar[1].bytes) } case 681: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3491 +//line sql.y:3495 { yyVAL.subquery = &Subquery{yyDollar[2].selStmt} } case 682: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3497 +//line sql.y:3501 { yyVAL.exprs = Exprs{yyDollar[1].expr} } case 683: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3501 +//line sql.y:3505 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } case 684: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3507 +//line sql.y:3511 { yyVAL.expr = yyDollar[1].expr } case 685: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3511 +//line sql.y:3515 { yyVAL.expr = yyDollar[1].boolVal } case 686: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3515 +//line sql.y:3519 { yyVAL.expr = yyDollar[1].colName } case 687: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3519 +//line sql.y:3523 { yyVAL.expr = yyDollar[1].expr } case 688: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3523 +//line sql.y:3527 { yyVAL.expr = yyDollar[1].subquery } case 689: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3527 +//line sql.y:3531 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndOp, Right: yyDollar[3].expr} } case 690: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3531 +//line sql.y:3535 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrOp, Right: yyDollar[3].expr} } case 691: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3535 +//line sql.y:3539 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorOp, Right: yyDollar[3].expr} } case 692: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3539 +//line sql.y:3543 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusOp, Right: yyDollar[3].expr} } case 693: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3543 +//line sql.y:3547 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusOp, Right: yyDollar[3].expr} } case 694: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3547 +//line sql.y:3551 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultOp, Right: yyDollar[3].expr} } case 695: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3551 +//line sql.y:3555 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivOp, Right: yyDollar[3].expr} } case 696: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3555 +//line sql.y:3559 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivOp, Right: yyDollar[3].expr} } case 697: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3559 +//line sql.y:3563 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } case 698: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3563 +//line sql.y:3567 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } case 699: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3567 +//line sql.y:3571 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftOp, Right: yyDollar[3].expr} } case 700: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3571 +//line sql.y:3575 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightOp, Right: yyDollar[3].expr} } case 701: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3575 +//line sql.y:3579 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } case 702: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3579 +//line sql.y:3583 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } case 703: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3583 +//line sql.y:3587 { yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } case 704: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3587 +//line sql.y:3591 { yyVAL.expr = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].expr} } case 705: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3591 +//line sql.y:3595 { yyVAL.expr = &UnaryExpr{Operator: UBinaryOp, Expr: yyDollar[2].expr} } case 706: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3595 +//line sql.y:3599 { yyVAL.expr = &UnaryExpr{Operator: Utf8Op, Expr: yyDollar[2].expr} } case 707: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3599 +//line sql.y:3603 { yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Op, Expr: yyDollar[2].expr} } case 708: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3603 +//line sql.y:3607 { yyVAL.expr = &UnaryExpr{Operator: Latin1Op, Expr: yyDollar[2].expr} } case 709: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3607 +//line sql.y:3611 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { yyVAL.expr = num @@ -9452,7 +9452,7 @@ yydefault: } case 710: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3615 +//line sql.y:3619 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { // Handle double negative @@ -9468,19 +9468,19 @@ yydefault: } case 711: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3629 +//line sql.y:3633 { yyVAL.expr = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].expr} } case 712: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3633 +//line sql.y:3637 { yyVAL.expr = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].expr} } case 713: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3637 +//line sql.y:3641 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -9490,331 +9490,331 @@ yydefault: } case 718: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3655 +//line sql.y:3659 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs} } case 719: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3659 +//line sql.y:3663 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } case 720: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3663 +//line sql.y:3667 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } case 721: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3667 +//line sql.y:3671 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } case 722: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3677 +//line sql.y:3681 { yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} } case 723: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3681 +//line sql.y:3685 { yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} } case 724: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3685 +//line sql.y:3689 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } case 725: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3689 +//line sql.y:3693 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } case 726: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3693 +//line sql.y:3697 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } case 727: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3697 +//line sql.y:3701 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } case 728: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3701 +//line sql.y:3705 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } case 729: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3705 +//line sql.y:3709 { yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } case 730: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3709 +//line sql.y:3713 { yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } case 731: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:3713 +//line sql.y:3717 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].matchExprOption} } case 732: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3717 +//line sql.y:3721 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].boolean, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str, Limit: yyDollar[7].limit} } case 733: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3721 +//line sql.y:3725 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } case 734: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3725 +//line sql.y:3729 { yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } case 735: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3735 +//line sql.y:3739 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} } case 736: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3739 +//line sql.y:3743 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} } case 737: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3743 +//line sql.y:3747 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} } case 738: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3748 +//line sql.y:3752 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} } case 739: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3753 +//line sql.y:3757 { yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} } case 740: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3758 +//line sql.y:3762 { yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} } case 741: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3764 +//line sql.y:3768 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} } case 742: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3769 +//line sql.y:3773 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} } case 743: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3774 +//line sql.y:3778 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].expr} } case 744: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3778 +//line sql.y:3782 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].expr} } case 745: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3782 +//line sql.y:3786 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].expr} } case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3787 +//line sql.y:3791 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].expr} } case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3792 +//line sql.y:3796 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].expr} } case 748: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3797 +//line sql.y:3801 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].expr} } case 749: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3801 +//line sql.y:3805 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } case 750: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3805 +//line sql.y:3809 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } case 753: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3815 +//line sql.y:3819 { yyVAL.expr = yyDollar[2].expr } case 754: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3825 +//line sql.y:3829 { yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} } case 755: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3829 +//line sql.y:3833 { yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} } case 756: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3833 +//line sql.y:3837 { yyVAL.expr = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprs} } case 757: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3837 +//line sql.y:3841 { yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} } case 758: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3841 +//line sql.y:3845 { yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} } case 759: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3845 +//line sql.y:3849 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } case 760: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3849 +//line sql.y:3853 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } case 761: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3855 +//line sql.y:3859 { yyVAL.matchExprOption = NoOption } case 762: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3859 +//line sql.y:3863 { yyVAL.matchExprOption = BooleanModeOpt } case 763: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3863 +//line sql.y:3867 { yyVAL.matchExprOption = NaturalLanguageModeOpt } case 764: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3867 +//line sql.y:3871 { yyVAL.matchExprOption = NaturalLanguageModeWithQueryExpansionOpt } case 765: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3871 +//line sql.y:3875 { yyVAL.matchExprOption = QueryExpansionOpt } case 766: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3877 +//line sql.y:3881 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3881 +//line sql.y:3885 { yyVAL.str = string(yyDollar[1].bytes) } case 768: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3885 +//line sql.y:3889 { yyVAL.str = string(yyDollar[1].bytes) } case 769: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3891 +//line sql.y:3895 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 770: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3895 +//line sql.y:3899 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Operator: CharacterSetOp} } case 771: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3899 +//line sql.y:3903 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: string(yyDollar[3].colIdent.String())} } case 772: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3903 +//line sql.y:3907 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 773: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3907 +//line sql.y:3911 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 774: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3911 +//line sql.y:3915 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length @@ -9822,169 +9822,169 @@ yydefault: } case 775: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3917 +//line sql.y:3921 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 776: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3921 +//line sql.y:3925 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 777: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3925 +//line sql.y:3929 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 778: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3929 +//line sql.y:3933 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 779: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3933 +//line sql.y:3937 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3937 +//line sql.y:3941 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 781: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3941 +//line sql.y:3945 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 782: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3946 +//line sql.y:3950 { yyVAL.expr = nil } case 783: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3950 +//line sql.y:3954 { yyVAL.expr = yyDollar[1].expr } case 784: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3955 +//line sql.y:3959 { yyVAL.str = string("") } case 785: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3959 +//line sql.y:3963 { yyVAL.str = " separator '" + string(yyDollar[2].bytes) + "'" } case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3965 +//line sql.y:3969 { yyVAL.whens = []*When{yyDollar[1].when} } case 787: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3969 +//line sql.y:3973 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } case 788: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3975 +//line sql.y:3979 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } case 789: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3980 +//line sql.y:3984 { yyVAL.expr = nil } case 790: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3984 +//line sql.y:3988 { yyVAL.expr = yyDollar[2].expr } case 791: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3990 +//line sql.y:3994 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } case 792: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3994 +//line sql.y:3998 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } case 793: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3998 +//line sql.y:4002 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } case 794: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4004 +//line sql.y:4008 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } case 795: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4008 +//line sql.y:4012 { yyVAL.expr = NewHexLiteral(yyDollar[1].bytes) } case 796: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4012 +//line sql.y:4016 { yyVAL.expr = NewBitLiteral(yyDollar[1].bytes) } case 797: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4016 +//line sql.y:4020 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } case 798: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4020 +//line sql.y:4024 { yyVAL.expr = NewFloatLiteral(yyDollar[1].bytes) } case 799: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4024 +//line sql.y:4028 { yyVAL.expr = NewHexNumLiteral(yyDollar[1].bytes) } case 800: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4028 +//line sql.y:4032 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } case 801: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4032 +//line sql.y:4036 { yyVAL.expr = &NullVal{} } case 802: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4038 +//line sql.y:4042 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -9995,595 +9995,595 @@ yydefault: } case 803: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4047 +//line sql.y:4051 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } case 804: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4051 +//line sql.y:4055 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } case 805: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4056 +//line sql.y:4060 { yyVAL.exprs = nil } case 806: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4060 +//line sql.y:4064 { yyVAL.exprs = yyDollar[3].exprs } case 807: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4065 +//line sql.y:4069 { yyVAL.expr = nil } case 808: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4069 +//line sql.y:4073 { yyVAL.expr = yyDollar[2].expr } case 809: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4074 +//line sql.y:4078 { yyVAL.orderBy = nil } case 810: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4078 +//line sql.y:4082 { yyVAL.orderBy = yyDollar[3].orderBy } case 811: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4084 +//line sql.y:4088 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } case 812: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4088 +//line sql.y:4092 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4094 +//line sql.y:4098 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].orderDirection} } case 814: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4099 +//line sql.y:4103 { yyVAL.orderDirection = AscOrder } case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4103 +//line sql.y:4107 { yyVAL.orderDirection = AscOrder } case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4107 +//line sql.y:4111 { yyVAL.orderDirection = DescOrder } case 817: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4112 +//line sql.y:4116 { yyVAL.limit = nil } case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4116 +//line sql.y:4120 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } case 819: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4120 +//line sql.y:4124 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } case 820: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4124 +//line sql.y:4128 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } case 821: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4129 +//line sql.y:4133 { yyVAL.alterOptions = nil } case 822: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4133 +//line sql.y:4137 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption, yyDollar[2].alterOption} } case 823: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4137 +//line sql.y:4141 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption, yyDollar[2].alterOption} } case 824: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4141 +//line sql.y:4145 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption} } case 825: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4145 +//line sql.y:4149 { yyVAL.alterOptions = []AlterOption{yyDollar[1].alterOption} } case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4152 +//line sql.y:4156 { yyVAL.alterOption = &LockOption{Type: DefaultType} } case 827: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4156 +//line sql.y:4160 { yyVAL.alterOption = &LockOption{Type: NoneType} } case 828: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4160 +//line sql.y:4164 { yyVAL.alterOption = &LockOption{Type: SharedType} } case 829: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4164 +//line sql.y:4168 { yyVAL.alterOption = &LockOption{Type: ExclusiveType} } case 830: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4170 +//line sql.y:4174 { yyVAL.alterOption = AlgorithmValue(yyDollar[3].bytes) } case 831: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4174 +//line sql.y:4178 { yyVAL.alterOption = AlgorithmValue(yyDollar[3].bytes) } case 832: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4178 +//line sql.y:4182 { yyVAL.alterOption = AlgorithmValue(yyDollar[3].bytes) } case 833: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4183 +//line sql.y:4187 { yyVAL.str = "" } case 834: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4187 +//line sql.y:4191 { yyVAL.str = string(yyDollar[3].bytes) } case 835: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4191 +//line sql.y:4195 { yyVAL.str = string(yyDollar[3].bytes) } case 836: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4195 +//line sql.y:4199 { yyVAL.str = string(yyDollar[3].bytes) } case 837: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4200 +//line sql.y:4204 { yyVAL.str = "" } case 838: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4204 +//line sql.y:4208 { yyVAL.str = yyDollar[3].str } case 839: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4210 +//line sql.y:4214 { yyVAL.str = string(yyDollar[1].bytes) } case 840: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4214 +//line sql.y:4218 { yyVAL.str = string(yyDollar[1].bytes) } case 841: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4219 +//line sql.y:4223 { yyVAL.str = "" } case 842: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4223 +//line sql.y:4227 { yyVAL.str = yyDollar[2].str } case 843: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4228 +//line sql.y:4232 { yyVAL.str = "cascaded" } case 844: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4232 +//line sql.y:4236 { yyVAL.str = string(yyDollar[1].bytes) } case 845: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4236 +//line sql.y:4240 { yyVAL.str = string(yyDollar[1].bytes) } case 846: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4241 +//line sql.y:4245 { yyVAL.str = "" } case 847: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4245 +//line sql.y:4249 { yyVAL.str = yyDollar[3].str } case 848: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4251 +//line sql.y:4255 { yyVAL.str = string(yyDollar[1].bytes) } case 849: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4255 +//line sql.y:4259 { yyVAL.str = string(yyDollar[1].bytes) } case 850: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4259 +//line sql.y:4263 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'@" + string(yyDollar[2].bytes) } case 851: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4263 +//line sql.y:4267 { yyVAL.str = string(yyDollar[1].bytes) } case 852: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4268 +//line sql.y:4272 { yyVAL.lock = NoLock } case 853: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4272 +//line sql.y:4276 { yyVAL.lock = ForUpdateLock } case 854: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4276 +//line sql.y:4280 { yyVAL.lock = ShareModeLock } case 855: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4281 +//line sql.y:4285 { yyVAL.selectInto = nil } case 856: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:4285 +//line sql.y:4289 { yyVAL.selectInto = &SelectInto{Type: IntoOutfileS3, FileName: string(yyDollar[4].bytes), Charset: yyDollar[5].str, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } case 857: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4289 +//line sql.y:4293 { yyVAL.selectInto = &SelectInto{Type: IntoDumpfile, FileName: string(yyDollar[3].bytes), Charset: "", FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } case 858: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4293 +//line sql.y:4297 { yyVAL.selectInto = &SelectInto{Type: IntoOutfile, FileName: string(yyDollar[3].bytes), Charset: yyDollar[4].str, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } case 859: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4298 +//line sql.y:4302 { yyVAL.str = "" } case 860: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4302 +//line sql.y:4306 { yyVAL.str = " format csv" + yyDollar[3].str } case 861: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4306 +//line sql.y:4310 { yyVAL.str = " format text" + yyDollar[3].str } case 862: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4311 +//line sql.y:4315 { yyVAL.str = "" } case 863: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4315 +//line sql.y:4319 { yyVAL.str = " header" } case 864: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4320 +//line sql.y:4324 { yyVAL.str = "" } case 865: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4324 +//line sql.y:4328 { yyVAL.str = " manifest on" } case 866: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4328 +//line sql.y:4332 { yyVAL.str = " manifest off" } case 867: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4333 +//line sql.y:4337 { yyVAL.str = "" } case 868: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4337 +//line sql.y:4341 { yyVAL.str = " overwrite on" } case 869: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4341 +//line sql.y:4345 { yyVAL.str = " overwrite off" } case 870: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4347 +//line sql.y:4351 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } case 871: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4352 +//line sql.y:4356 { yyVAL.str = "" } case 872: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4356 +//line sql.y:4360 { yyVAL.str = " lines" + yyDollar[2].str + yyDollar[3].str } case 873: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4361 +//line sql.y:4365 { yyVAL.str = "" } case 874: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4365 +//line sql.y:4369 { yyVAL.str = " starting by '" + string(yyDollar[3].bytes) + "'" } case 875: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4370 +//line sql.y:4374 { yyVAL.str = "" } case 876: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4374 +//line sql.y:4378 { yyVAL.str = " terminated by '" + string(yyDollar[3].bytes) + "'" } case 877: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4379 +//line sql.y:4383 { yyVAL.str = "" } case 878: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4383 +//line sql.y:4387 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str + yyDollar[3].str + yyDollar[4].str } case 879: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4388 +//line sql.y:4392 { yyVAL.str = "" } case 880: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4392 +//line sql.y:4396 { yyVAL.str = " escaped by '" + string(yyDollar[3].bytes) + "'" } case 881: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4397 +//line sql.y:4401 { yyVAL.str = "" } case 882: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4401 +//line sql.y:4405 { yyVAL.str = yyDollar[1].str + " enclosed by '" + string(yyDollar[4].bytes) + "'" } case 883: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4406 +//line sql.y:4410 { yyVAL.str = "" } case 884: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4410 +//line sql.y:4414 { yyVAL.str = " optionally" } case 885: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4423 +//line sql.y:4427 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } case 886: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4427 +//line sql.y:4431 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } case 887: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4431 +//line sql.y:4435 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } case 888: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4435 +//line sql.y:4439 { yyVAL.ins = &Insert{Rows: yyDollar[4].values} } case 889: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4439 +//line sql.y:4443 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } case 890: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4445 +//line sql.y:4449 { yyVAL.columns = Columns{yyDollar[1].colIdent} } case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4449 +//line sql.y:4453 { yyVAL.columns = Columns{yyDollar[3].colIdent} } case 892: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4453 +//line sql.y:4457 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } case 893: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4457 +//line sql.y:4461 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } case 894: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4462 +//line sql.y:4466 { yyVAL.updateExprs = nil } case 895: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4466 +//line sql.y:4470 { yyVAL.updateExprs = yyDollar[5].updateExprs } case 896: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4472 +//line sql.y:4476 { yyVAL.values = Values{yyDollar[1].valTuple} } case 897: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4476 +//line sql.y:4480 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } case 898: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4482 +//line sql.y:4486 { yyVAL.valTuple = yyDollar[1].valTuple } case 899: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4486 +//line sql.y:4490 { yyVAL.valTuple = ValTuple{} } case 900: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4492 +//line sql.y:4496 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } case 901: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4498 +//line sql.y:4502 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = yyDollar[1].valTuple[0] @@ -10593,218 +10593,218 @@ yydefault: } case 902: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4508 +//line sql.y:4512 { yyVAL.updateExprs = UpdateExprs{yyDollar[1].updateExpr} } case 903: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4512 +//line sql.y:4516 { yyVAL.updateExprs = append(yyDollar[1].updateExprs, yyDollar[3].updateExpr) } case 904: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4518 +//line sql.y:4522 { yyVAL.updateExpr = &UpdateExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } case 905: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4524 +//line sql.y:4528 { yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} } case 906: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4528 +//line sql.y:4532 { yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) } case 907: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4534 +//line sql.y:4538 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("on"))} } case 908: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4538 +//line sql.y:4542 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("off"))} } case 909: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4542 +//line sql.y:4546 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].expr} } case 910: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4546 +//line sql.y:4550 { yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Scope: ImplicitScope, Expr: yyDollar[2].expr} } case 911: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4550 +//line sql.y:4554 { yyDollar[2].setExpr.Scope = yyDollar[1].scope yyVAL.setExpr = yyDollar[2].setExpr } case 913: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4558 +//line sql.y:4562 { yyVAL.bytes = []byte("charset") } case 916: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4568 +//line sql.y:4572 { yyVAL.expr = NewStrLiteral([]byte(yyDollar[1].colIdent.String())) } case 917: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4572 +//line sql.y:4576 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } case 918: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4576 +//line sql.y:4580 { yyVAL.expr = &Default{} } case 921: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4585 +//line sql.y:4589 { yyVAL.boolean = false } case 922: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4587 +//line sql.y:4591 { yyVAL.boolean = true } case 923: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4590 +//line sql.y:4594 { yyVAL.boolean = false } case 924: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4592 +//line sql.y:4596 { yyVAL.boolean = true } case 925: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4595 +//line sql.y:4599 { yyVAL.ignore = false } case 926: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4597 +//line sql.y:4601 { yyVAL.ignore = true } case 927: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4600 +//line sql.y:4604 { yyVAL.empty = struct{}{} } case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4602 +//line sql.y:4606 { yyVAL.empty = struct{}{} } case 929: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4604 +//line sql.y:4608 { yyVAL.empty = struct{}{} } case 930: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4608 +//line sql.y:4612 { yyVAL.statement = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprs} } case 931: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4613 +//line sql.y:4617 { yyVAL.exprs = nil } case 932: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4617 +//line sql.y:4621 { yyVAL.exprs = yyDollar[1].exprs } case 933: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4622 +//line sql.y:4626 { yyVAL.indexOptions = nil } case 934: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4624 +//line sql.y:4628 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } case 935: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4628 +//line sql.y:4632 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[2].colIdent.String())} } case 936: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4634 +//line sql.y:4638 { yyVAL.colIdent = yyDollar[1].colIdent } case 937: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4638 +//line sql.y:4642 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } case 939: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4645 +//line sql.y:4649 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } case 940: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4651 +//line sql.y:4655 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } case 941: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4655 +//line sql.y:4659 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } case 943: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4662 +//line sql.y:4666 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } case 1337: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5080 +//line sql.y:5084 { if incNesting(yylex) { yylex.Error("max nesting level reached") @@ -10813,31 +10813,31 @@ yydefault: } case 1338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5089 +//line sql.y:5093 { decNesting(yylex) } case 1339: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5094 +//line sql.y:5098 { skipToEnd(yylex) } case 1340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5099 +//line sql.y:5103 { skipToEnd(yylex) } case 1341: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5103 +//line sql.y:5107 { skipToEnd(yylex) } case 1342: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5107 +//line sql.y:5111 { skipToEnd(yylex) } diff --git a/tools/check_make_parser.sh b/tools/check_make_parser.sh index 8920762108a..e114c6a9169 100755 --- a/tools/check_make_parser.sh +++ b/tools/check_make_parser.sh @@ -20,10 +20,11 @@ fi mv $CUR $TMP output=$(go run golang.org/x/tools/cmd/goyacc -o $CUR sql.y) +expectedOutput=" +conflicts: 1 shift/reduce" -if [ -n "$output" ]; then - echo "Expected empty output from goyacc, got:" - echo $output +if [[ "$output" != "$expectedOutput" ]]; then + echo -e "Expected output from goyacc:$expectedOutput\ngot:$output" mv $TMP $CUR exit 1 fi From 011de1d741edfde677ded01349e039671b96d775 Mon Sep 17 00:00:00 2001 From: GuptaManan100 Date: Wed, 10 Feb 2021 08:02:44 +0530 Subject: [PATCH 5/5] fixed typing mistake Signed-off-by: GuptaManan100 --- go/vt/sqlparser/sql.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 7eed5bbebcd..c48cdfe7eaf 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -1004,7 +1004,7 @@ column_definition: $$ = &ColumnDefinition{Name: $1, Type: $2} } -// There is a shift reduce conflict that arises here becase UNIQUE and KEY are column_type_option and so is UNIQUE KEY. +// There is a shift reduce conflict that arises here because UNIQUE and KEY are column_type_option and so is UNIQUE KEY. // So in the state "column_type_options UNIQUE. KEY" there is a shift-reduce conflict. // This has been added to emulate what MySQL does. The previous architecture was such that the order of the column options // was specific (as stated in the MySQL guide) and did not accept arbitrary order options. For example NOT NULL DEFAULT 1 and not DEFAULT 1 NOT NULL