diff --git a/include/common/tmsg.h b/include/common/tmsg.h index 21cad322bb..20a39a5fb3 100644 --- a/include/common/tmsg.h +++ b/include/common/tmsg.h @@ -2633,9 +2633,6 @@ typedef struct { int8_t type; int8_t flags; int32_t bytes; - bool hasColComment; - char* colComment; - int32_t colCommentLen; // TSDB_ALTER_TABLE_DROP_COLUMN // TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES int8_t colModType; diff --git a/include/libs/nodes/cmdnodes.h b/include/libs/nodes/cmdnodes.h index 78b7f1babf..b6c4e89a33 100644 --- a/include/libs/nodes/cmdnodes.h +++ b/include/libs/nodes/cmdnodes.h @@ -214,7 +214,6 @@ typedef struct SAlterTableStmt { char newColName[TSDB_COL_NAME_LEN]; STableOptions* pOptions; SDataType dataType; - char colComment[TSDB_COL_COMMENT_LEN]; SValueNode* pVal; } SAlterTableStmt; diff --git a/source/libs/parser/inc/parAst.h b/source/libs/parser/inc/parAst.h index d24bb1db4f..4a6dee4fe3 100644 --- a/source/libs/parser/inc/parAst.h +++ b/source/libs/parser/inc/parAst.h @@ -173,7 +173,8 @@ SNode* createDropTableClause(SAstCreateContext* pCxt, bool ignoreNotExists, SNod SNode* createDropTableStmt(SAstCreateContext* pCxt, SNodeList* pTables); SNode* createDropSuperTableStmt(SAstCreateContext* pCxt, bool ignoreNotExists, SNode* pRealTable); SNode* createAlterTableModifyOptions(SAstCreateContext* pCxt, SNode* pRealTable, SNode* pOptions); -SNode* createAlterTableAddModifyCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SNode* pColDefNode); +SNode* createAlterTableAddModifyCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pColName, + SDataType dataType); SNode* createAlterTableDropCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pColName); SNode* createAlterTableRenameCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pOldColName, SToken* pNewColName); diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 2501ae8504..a86666ec98 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -312,17 +312,17 @@ cmd ::= ALTER STABLE alter_table_clause(A). alter_table_clause(A) ::= full_table_name(B) alter_table_options(C). { A = createAlterTableModifyOptions(pCxt, B, C); } alter_table_clause(A) ::= - full_table_name(B) ADD COLUMN column_def(C). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_ADD_COLUMN, C); } + full_table_name(B) ADD COLUMN column_name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_ADD_COLUMN, &C, D); } alter_table_clause(A) ::= full_table_name(B) DROP COLUMN column_name(C). { A = createAlterTableDropCol(pCxt, B, TSDB_ALTER_TABLE_DROP_COLUMN, &C); } alter_table_clause(A) ::= - full_table_name(B) MODIFY COLUMN column_def(C). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, C); } + full_table_name(B) MODIFY COLUMN column_name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &C, D); } alter_table_clause(A) ::= full_table_name(B) RENAME COLUMN column_name(C) column_name(D). { A = createAlterTableRenameCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &C, &D); } alter_table_clause(A) ::= - full_table_name(B) ADD TAG column_def(C). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_ADD_TAG, C); } + full_table_name(B) ADD TAG column_name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_ADD_TAG, &C, D); } alter_table_clause(A) ::= full_table_name(B) DROP TAG column_name(C). { A = createAlterTableDropCol(pCxt, B, TSDB_ALTER_TABLE_DROP_TAG, &C); } alter_table_clause(A) ::= - full_table_name(B) MODIFY TAG column_def(C). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, C); } + full_table_name(B) MODIFY TAG column_name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &C, D); } alter_table_clause(A) ::= full_table_name(B) RENAME TAG column_name(C) column_name(D). { A = createAlterTableRenameCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &C, &D); } alter_table_clause(A) ::= diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index c51b442166..342c0f390e 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -1457,15 +1457,17 @@ SNode* createAlterTableModifyOptions(SAstCreateContext* pCxt, SNode* pRealTable, return createAlterTableStmtFinalize(pRealTable, pStmt); } -SNode* createAlterTableAddModifyCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SNode* pColDefNode) { +SNode* createAlterTableAddModifyCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pColName, + SDataType dataType) { CHECK_PARSER_STATUS(pCxt); - SColumnDefNode* pCol = (SColumnDefNode*)pColDefNode; + if (!checkColumnName(pCxt, pColName)) { + return NULL; + } SAlterTableStmt* pStmt = (SAlterTableStmt*)nodesMakeNode(QUERY_NODE_ALTER_TABLE_STMT); CHECK_OUT_OF_MEM(pStmt); pStmt->alterType = alterType; - strcpy(pStmt->colName, pCol->colName); - strcpy(pStmt->colComment, pCol->comments); - pStmt->dataType = pCol->dataType; + COPY_STRING_FORM_ID_TOKEN(pStmt->colName, pColName); + pStmt->dataType = dataType; return createAlterTableStmtFinalize(pRealTable, pStmt); } diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 3288538af3..70bd25dd2b 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -8879,15 +8879,6 @@ static int32_t buildAddColReq(STranslateContext* pCxt, SAlterTableStmt* pStmt, S pReq->type = pStmt->dataType.type; pReq->flags = COL_SMA_ON; pReq->bytes = calcTypeBytes(pStmt->dataType); - if (pStmt->colComment[0]) { - pReq->colComment = taosStrdup(pStmt->colComment); - if (pReq->colComment == NULL) { - return TSDB_CODE_OUT_OF_MEMORY; - } - pReq->colCommentLen = strlen(pReq->colComment); - } else { - pReq->colCommentLen = -1; - } return TSDB_CODE_SUCCESS; } @@ -8938,15 +8929,6 @@ static int32_t buildUpdateColReq(STranslateContext* pCxt, SAlterTableStmt* pStmt return TSDB_CODE_OUT_OF_MEMORY; } pReq->colId = pSchema->colId; - if (pStmt->colComment[0]) { - pReq->colComment = taosStrdup(pStmt->colComment); - if (pReq->colComment == NULL) { - return TSDB_CODE_OUT_OF_MEMORY; - } - pReq->colCommentLen = strlen(pReq->colComment); - } else { - pReq->colCommentLen = -1; - } return TSDB_CODE_SUCCESS; } diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index a19b986732..bdc72592cc 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -1,3 +1,5 @@ +/* This file is automatically generated by Lemon from input grammar +** source file "./sql.y". */ /* ** 2000-05-29 ** @@ -22,10 +24,7 @@ ** The following is the concatenation of all %include directives from the ** input grammar file: */ -#include -#include /************ Begin %include sections from the grammar ************************/ - #include #include #include @@ -42,11 +41,6 @@ #define YYSTACKDEPTH 0 /**************** End of %include directives **********************************/ -/* These constants specify the various numeric values for terminal symbols -** in a format understandable to "makeheaders". This section is blank unless -** "lemon" is run with the "-m" command-line option. -***************** Begin makeheaders token definitions *************************/ -/**************** End makeheaders token definitions ***************************/ /* The next sections is a series of control #defines. ** various aspects of the generated parser. @@ -140,18 +134,18 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 801 +#define YYNSTATE 805 #define YYNRULE 605 #define YYNRULE_WITH_ACTION 605 #define YYNTOKEN 339 -#define YY_MAX_SHIFT 800 -#define YY_MIN_SHIFTREDUCE 1183 -#define YY_MAX_SHIFTREDUCE 1787 -#define YY_ERROR_ACTION 1788 -#define YY_ACCEPT_ACTION 1789 -#define YY_NO_ACTION 1790 -#define YY_MIN_REDUCE 1791 -#define YY_MAX_REDUCE 2395 +#define YY_MAX_SHIFT 804 +#define YY_MIN_SHIFTREDUCE 1187 +#define YY_MAX_SHIFTREDUCE 1791 +#define YY_ERROR_ACTION 1792 +#define YY_ACCEPT_ACTION 1793 +#define YY_NO_ACTION 1794 +#define YY_MIN_REDUCE 1795 +#define YY_MAX_REDUCE 2399 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -218,602 +212,586 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (2957) +#define YY_ACTTAB_COUNT (2797) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 736, 2202, 2180, 2091, 738, 689, 1968, 2013, 1216, 38, - /* 10 */ 304, 669, 48, 46, 1714, 392, 2188, 1946, 2088, 676, - /* 20 */ 399, 255, 1559, 41, 40, 135, 2184, 47, 45, 44, - /* 30 */ 43, 42, 573, 1640, 2022, 1557, 689, 1968, 41, 40, - /* 40 */ 2220, 2163, 47, 45, 44, 43, 42, 1218, 2021, 1221, - /* 50 */ 1222, 2170, 1241, 705, 1240, 1584, 135, 2180, 2180, 666, - /* 60 */ 144, 149, 1635, 578, 2186, 396, 533, 140, 19, 534, - /* 70 */ 1827, 1959, 2189, 451, 699, 1565, 541, 666, 144, 534, - /* 80 */ 1827, 2184, 2184, 359, 2022, 1242, 688, 2201, 629, 2237, - /* 90 */ 380, 2366, 112, 2203, 709, 2205, 2206, 704, 2020, 699, - /* 100 */ 797, 689, 1968, 15, 185, 2135, 2290, 2091, 2372, 188, - /* 110 */ 395, 2286, 2153, 2367, 655, 181, 48, 46, 346, 2186, - /* 120 */ 2186, 193, 2089, 676, 399, 190, 1559, 1669, 1375, 699, - /* 130 */ 699, 1584, 221, 2320, 367, 2074, 536, 1640, 1834, 1557, - /* 140 */ 1642, 1643, 456, 2070, 1366, 734, 733, 732, 1370, 731, - /* 150 */ 1372, 1373, 730, 727, 250, 1381, 724, 1383, 1384, 721, - /* 160 */ 718, 715, 668, 186, 2298, 2299, 1635, 142, 2303, 51, - /* 170 */ 1615, 1625, 19, 169, 223, 1803, 1641, 1644, 536, 1565, - /* 180 */ 1834, 282, 2298, 665, 1670, 136, 664, 1585, 2366, 202, - /* 190 */ 688, 1560, 125, 1558, 62, 124, 123, 122, 121, 120, - /* 200 */ 119, 118, 117, 116, 797, 653, 188, 15, 2202, 530, - /* 210 */ 2367, 655, 52, 1784, 62, 666, 144, 528, 706, 674, - /* 220 */ 524, 520, 249, 1563, 1564, 1792, 1614, 1617, 1618, 1619, - /* 230 */ 1620, 1621, 1622, 1623, 1624, 701, 697, 1633, 1634, 1636, - /* 240 */ 1637, 1638, 1639, 2, 1642, 1643, 125, 2220, 550, 124, - /* 250 */ 123, 122, 121, 120, 119, 118, 117, 116, 2170, 1791, - /* 260 */ 705, 66, 37, 397, 1664, 1665, 1666, 1667, 1668, 1672, - /* 270 */ 1673, 1674, 1675, 404, 1615, 1625, 2015, 2017, 689, 1968, - /* 280 */ 1641, 1644, 649, 134, 133, 132, 131, 130, 129, 128, - /* 290 */ 127, 126, 1530, 1531, 2201, 1560, 2237, 1558, 56, 112, - /* 300 */ 2203, 709, 2205, 2206, 704, 644, 699, 1410, 1411, 147, - /* 310 */ 1586, 155, 2261, 2290, 746, 2202, 1783, 395, 2286, 187, - /* 320 */ 2298, 2299, 1584, 142, 2303, 669, 286, 1563, 1564, 428, - /* 330 */ 1614, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 701, - /* 340 */ 697, 1633, 1634, 1636, 1637, 1638, 1639, 2, 12, 48, - /* 350 */ 46, 286, 2371, 402, 2220, 2366, 168, 399, 372, 1559, - /* 360 */ 62, 1970, 163, 184, 1909, 2170, 1814, 705, 381, 286, - /* 370 */ 1640, 286, 1557, 2370, 675, 2009, 2020, 2367, 2369, 41, - /* 380 */ 40, 496, 614, 47, 45, 44, 43, 42, 462, 2070, - /* 390 */ 1565, 1587, 666, 144, 2202, 12, 650, 645, 638, 1635, - /* 400 */ 688, 2201, 737, 2237, 703, 19, 112, 2203, 709, 2205, - /* 410 */ 2206, 704, 1565, 699, 689, 1968, 2170, 1813, 185, 756, - /* 420 */ 2290, 689, 1968, 596, 395, 2286, 548, 373, 2084, 371, - /* 430 */ 370, 2305, 575, 2220, 449, 205, 577, 797, 606, 109, - /* 440 */ 15, 450, 212, 211, 2170, 2022, 705, 2321, 1870, 689, - /* 450 */ 1968, 389, 246, 48, 46, 1645, 145, 2302, 576, 2020, - /* 460 */ 2202, 399, 284, 1559, 1960, 495, 648, 2170, 599, 464, - /* 470 */ 706, 1318, 1468, 1469, 1640, 593, 1557, 1642, 1643, 1812, - /* 480 */ 2201, 245, 2237, 51, 1811, 340, 2203, 709, 2205, 2206, - /* 490 */ 704, 702, 699, 690, 2255, 2220, 189, 2298, 2299, 2220, - /* 500 */ 142, 2303, 181, 1635, 12, 433, 10, 1615, 1625, 538, - /* 510 */ 2170, 1320, 705, 1641, 1644, 535, 1565, 286, 591, 590, - /* 520 */ 589, 70, 2075, 2371, 69, 581, 141, 585, 1560, 2170, - /* 530 */ 1558, 584, 435, 431, 2170, 675, 583, 588, 375, 374, - /* 540 */ 1586, 797, 582, 262, 49, 1810, 2201, 2202, 2237, 647, - /* 550 */ 2053, 170, 2203, 709, 2205, 2206, 704, 706, 699, 1836, - /* 560 */ 1563, 1564, 90, 1614, 1617, 1618, 1619, 1620, 1621, 1622, - /* 570 */ 1623, 1624, 701, 697, 1633, 1634, 1636, 1637, 1638, 1639, - /* 580 */ 2, 1642, 1643, 591, 590, 589, 2220, 673, 1964, 2084, - /* 590 */ 581, 141, 585, 630, 2331, 2170, 584, 2170, 691, 705, - /* 600 */ 2262, 583, 588, 375, 374, 654, 700, 582, 2366, 689, - /* 610 */ 1968, 1615, 1625, 2022, 408, 407, 628, 1641, 1644, 365, - /* 620 */ 2016, 2017, 2022, 1789, 1777, 653, 188, 2020, 394, 479, - /* 630 */ 2367, 655, 1560, 2201, 1558, 2237, 2020, 1566, 112, 2203, - /* 640 */ 709, 2205, 2206, 704, 2370, 699, 689, 1968, 295, 296, - /* 650 */ 2386, 675, 2290, 294, 41, 40, 395, 2286, 47, 45, - /* 660 */ 44, 43, 42, 258, 1563, 1564, 480, 1614, 1617, 1618, - /* 670 */ 1619, 1620, 1621, 1622, 1623, 1624, 701, 697, 1633, 1634, - /* 680 */ 1636, 1637, 1638, 1639, 2, 48, 46, 689, 1968, 2202, - /* 690 */ 30, 654, 284, 399, 2366, 1559, 414, 1585, 1944, 706, - /* 700 */ 693, 413, 2262, 684, 1742, 2084, 1640, 549, 1557, 474, - /* 710 */ 2202, 653, 188, 103, 489, 2070, 2367, 655, 473, 90, - /* 720 */ 706, 1945, 62, 2022, 689, 1968, 41, 40, 2220, 403, - /* 730 */ 47, 45, 44, 43, 42, 1635, 369, 2020, 1961, 2170, - /* 740 */ 60, 705, 1809, 629, 1965, 1963, 2366, 626, 1565, 2220, - /* 750 */ 1754, 207, 641, 640, 1740, 1741, 1743, 1744, 1745, 605, - /* 760 */ 2170, 210, 705, 2372, 188, 746, 689, 1968, 2367, 655, - /* 770 */ 393, 577, 603, 797, 601, 2201, 49, 2237, 1970, 166, - /* 780 */ 171, 2203, 709, 2205, 2206, 704, 251, 699, 1808, 48, - /* 790 */ 46, 86, 2170, 576, 85, 1569, 2201, 399, 2237, 1559, - /* 800 */ 1910, 113, 2203, 709, 2205, 2206, 704, 1804, 699, 443, - /* 810 */ 1640, 442, 1557, 1642, 1643, 2290, 2305, 1485, 1486, 2289, - /* 820 */ 2286, 445, 1753, 41, 40, 2305, 444, 47, 45, 44, - /* 830 */ 43, 42, 2334, 656, 2387, 2202, 744, 1943, 2170, 1635, - /* 840 */ 1224, 441, 2301, 1615, 1625, 706, 1583, 689, 1968, 1641, - /* 850 */ 1644, 2300, 1565, 1484, 1487, 160, 159, 741, 740, 739, - /* 860 */ 157, 402, 689, 1968, 1560, 279, 1558, 672, 629, 1970, - /* 870 */ 166, 2366, 689, 1968, 2220, 689, 1968, 797, 146, 286, - /* 880 */ 15, 2261, 259, 742, 1718, 2170, 2013, 705, 2372, 188, - /* 890 */ 1584, 642, 299, 2367, 655, 686, 1563, 1564, 2063, 1614, - /* 900 */ 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 701, 697, - /* 910 */ 1633, 1634, 1636, 1637, 1638, 1639, 2, 1642, 1643, 1730, - /* 920 */ 139, 2201, 657, 2237, 587, 586, 113, 2203, 709, 2205, - /* 930 */ 2206, 704, 743, 699, 405, 2013, 744, 454, 14, 13, - /* 940 */ 2290, 2371, 1970, 166, 2366, 2287, 1807, 1615, 1625, 689, - /* 950 */ 1968, 1329, 744, 1641, 1644, 160, 159, 741, 740, 739, - /* 960 */ 157, 1711, 2370, 237, 1328, 2191, 2367, 2368, 1560, 687, - /* 970 */ 1558, 160, 159, 741, 740, 739, 157, 689, 1968, 173, - /* 980 */ 47, 45, 44, 43, 42, 1650, 1806, 567, 563, 559, - /* 990 */ 555, 1584, 236, 1241, 273, 1240, 2170, 305, 1244, 1245, - /* 1000 */ 1563, 1564, 1867, 1614, 1617, 1618, 1619, 1620, 1621, 1622, - /* 1010 */ 1623, 1624, 701, 697, 1633, 1634, 1636, 1637, 1638, 1639, - /* 1020 */ 2, 2193, 350, 167, 1582, 382, 1242, 1805, 325, 505, - /* 1030 */ 318, 487, 91, 1999, 503, 234, 2170, 502, 34, 1587, - /* 1040 */ 1616, 1683, 322, 73, 41, 40, 72, 9, 47, 45, - /* 1050 */ 44, 43, 42, 470, 54, 504, 3, 347, 41, 40, - /* 1060 */ 472, 1908, 47, 45, 44, 43, 42, 2164, 219, 515, - /* 1070 */ 513, 510, 774, 773, 772, 771, 411, 2170, 770, 769, - /* 1080 */ 148, 764, 763, 762, 761, 760, 759, 758, 162, 754, - /* 1090 */ 753, 752, 410, 409, 749, 748, 747, 176, 175, 44, - /* 1100 */ 43, 42, 757, 233, 227, 1930, 368, 1587, 62, 36, - /* 1110 */ 232, 546, 689, 1968, 629, 41, 40, 2366, 458, 47, - /* 1120 */ 45, 44, 43, 42, 1671, 1802, 569, 568, 83, 225, - /* 1130 */ 137, 1559, 406, 1333, 2372, 188, 1584, 1801, 658, 2367, - /* 1140 */ 655, 1616, 571, 570, 1557, 1800, 1332, 111, 500, 1799, - /* 1150 */ 661, 494, 493, 492, 491, 486, 485, 484, 483, 482, - /* 1160 */ 478, 477, 476, 475, 349, 467, 466, 465, 612, 460, - /* 1170 */ 459, 366, 41, 40, 579, 2170, 47, 45, 44, 43, - /* 1180 */ 42, 248, 2202, 74, 1565, 247, 1568, 2170, 81, 80, - /* 1190 */ 448, 203, 706, 200, 2328, 2170, 1316, 1798, 1797, 2170, - /* 1200 */ 1796, 1795, 35, 768, 766, 242, 440, 438, 240, 797, - /* 1210 */ 1794, 507, 1676, 1221, 1222, 629, 670, 348, 2366, 1710, - /* 1220 */ 429, 2220, 165, 427, 423, 419, 416, 441, 1957, 166, - /* 1230 */ 1953, 166, 2170, 84, 705, 2372, 188, 1955, 166, 158, - /* 1240 */ 2367, 655, 580, 2202, 1951, 166, 93, 2170, 2170, 354, - /* 1250 */ 2170, 2170, 379, 706, 607, 2341, 1971, 166, 2156, 261, - /* 1260 */ 2170, 2310, 1703, 629, 1314, 286, 2366, 1703, 2201, 2221, - /* 1270 */ 2237, 260, 696, 112, 2203, 709, 2205, 2206, 704, 609, - /* 1280 */ 699, 608, 2220, 2372, 188, 2386, 1616, 2290, 2367, 655, - /* 1290 */ 1854, 395, 2286, 2170, 1845, 705, 1843, 158, 151, 55, - /* 1300 */ 1560, 150, 1558, 244, 158, 153, 243, 421, 152, 50, - /* 1310 */ 50, 2202, 592, 266, 94, 158, 594, 1567, 597, 1786, - /* 1320 */ 1787, 706, 50, 636, 1907, 292, 1275, 71, 156, 2201, - /* 1330 */ 158, 2237, 1563, 1564, 112, 2203, 709, 2205, 2206, 704, - /* 1340 */ 412, 699, 2079, 1828, 1571, 1837, 2386, 1833, 2290, 2010, - /* 1350 */ 2220, 64, 395, 2286, 14, 13, 2324, 1525, 50, 50, - /* 1360 */ 667, 2170, 281, 705, 1528, 713, 1276, 750, 156, 1739, - /* 1370 */ 1738, 108, 158, 268, 2202, 671, 138, 659, 156, 751, - /* 1380 */ 278, 105, 1482, 5, 706, 297, 2359, 681, 301, 1294, - /* 1390 */ 1359, 662, 415, 1, 363, 792, 420, 2201, 1590, 2237, - /* 1400 */ 2202, 1292, 112, 2203, 709, 2205, 2206, 704, 437, 699, - /* 1410 */ 706, 1677, 2309, 2220, 2386, 195, 2290, 436, 1626, 317, - /* 1420 */ 395, 2286, 196, 439, 2170, 1388, 705, 1661, 1392, 1506, - /* 1430 */ 198, 312, 1399, 455, 1583, 2202, 1397, 209, 161, 2220, - /* 1440 */ 457, 1587, 2080, 461, 463, 706, 498, 1582, 468, 488, - /* 1450 */ 2170, 481, 705, 2072, 490, 506, 497, 499, 508, 509, - /* 1460 */ 2201, 214, 2237, 511, 213, 112, 2203, 709, 2205, 2206, - /* 1470 */ 704, 1588, 699, 216, 2220, 1570, 512, 2386, 514, 2290, - /* 1480 */ 516, 531, 4, 395, 2286, 2170, 2201, 705, 2237, 532, - /* 1490 */ 539, 112, 2203, 709, 2205, 2206, 704, 540, 699, 542, - /* 1500 */ 224, 408, 407, 2386, 2202, 2290, 1585, 543, 226, 395, - /* 1510 */ 2286, 1573, 1589, 544, 706, 1591, 229, 545, 547, 231, - /* 1520 */ 551, 2201, 1640, 2237, 1566, 572, 112, 2203, 709, 2205, - /* 1530 */ 2206, 704, 2202, 699, 88, 89, 235, 114, 2265, 574, - /* 1540 */ 2290, 353, 706, 2220, 395, 2286, 2144, 1958, 239, 2141, - /* 1550 */ 611, 1635, 1954, 241, 2170, 2140, 705, 613, 1956, 1952, - /* 1560 */ 92, 313, 154, 252, 1565, 617, 618, 2202, 616, 1513, - /* 1570 */ 254, 2220, 256, 624, 621, 2325, 633, 706, 643, 679, - /* 1580 */ 639, 385, 2170, 623, 705, 2335, 646, 2340, 2339, 695, - /* 1590 */ 2201, 8, 2237, 652, 264, 112, 2203, 709, 2205, 2206, - /* 1600 */ 704, 622, 699, 2312, 272, 174, 2220, 2263, 267, 2290, - /* 1610 */ 634, 274, 632, 395, 2286, 275, 631, 2170, 2201, 705, - /* 1620 */ 2237, 277, 276, 112, 2203, 709, 2205, 2206, 704, 1703, - /* 1630 */ 699, 386, 2389, 663, 280, 692, 2365, 2290, 1586, 143, - /* 1640 */ 660, 395, 2286, 1708, 2306, 1706, 178, 287, 1592, 191, - /* 1650 */ 98, 2085, 314, 2201, 2202, 2237, 285, 315, 113, 2203, - /* 1660 */ 709, 2205, 2206, 704, 706, 699, 677, 678, 2099, 100, - /* 1670 */ 682, 2098, 2290, 61, 683, 316, 694, 2286, 102, 1969, - /* 1680 */ 1574, 2271, 1569, 104, 2202, 711, 1931, 2097, 319, 391, - /* 1690 */ 2014, 793, 796, 2220, 706, 794, 308, 328, 321, 342, - /* 1700 */ 332, 53, 323, 343, 2170, 2162, 705, 2161, 355, 2160, - /* 1710 */ 356, 78, 1577, 1579, 2157, 417, 418, 1550, 1551, 194, - /* 1720 */ 422, 2155, 424, 2220, 425, 697, 1633, 1634, 1636, 1637, - /* 1730 */ 1638, 1639, 426, 2154, 2170, 364, 705, 2152, 430, 2151, - /* 1740 */ 707, 432, 2237, 434, 1541, 113, 2203, 709, 2205, 2206, - /* 1750 */ 704, 2150, 699, 2131, 197, 2202, 2130, 199, 1509, 2290, - /* 1760 */ 79, 2112, 1508, 358, 2286, 706, 2111, 2110, 446, 447, - /* 1770 */ 2201, 2109, 2237, 2108, 1459, 170, 2203, 709, 2205, 2206, - /* 1780 */ 704, 2062, 699, 452, 453, 2059, 2058, 201, 82, 2057, - /* 1790 */ 2056, 2061, 204, 2060, 2220, 2055, 2054, 2052, 383, 2051, - /* 1800 */ 2050, 206, 2049, 469, 471, 2170, 2065, 705, 2048, 2047, - /* 1810 */ 2046, 2045, 2044, 2202, 2043, 2042, 2041, 2040, 2332, 2039, - /* 1820 */ 2038, 2037, 2036, 706, 2035, 2034, 208, 2202, 2033, 87, - /* 1830 */ 2032, 2031, 2030, 2064, 2029, 2028, 2027, 706, 2026, 2025, - /* 1840 */ 1461, 2201, 501, 2237, 2202, 2024, 341, 2203, 709, 2205, - /* 1850 */ 2206, 704, 2220, 699, 706, 2023, 384, 230, 2106, 1330, - /* 1860 */ 1873, 351, 1334, 2170, 1326, 705, 2220, 215, 1872, 217, - /* 1870 */ 1871, 352, 1869, 1866, 1865, 1858, 517, 2170, 1847, 705, - /* 1880 */ 1823, 1223, 521, 2220, 525, 519, 1822, 523, 218, 527, - /* 1890 */ 2129, 529, 518, 522, 2170, 220, 705, 2119, 182, 2201, - /* 1900 */ 526, 2237, 76, 77, 341, 2203, 709, 2205, 2206, 704, - /* 1910 */ 2107, 699, 2190, 2201, 2202, 2237, 183, 222, 334, 2203, - /* 1920 */ 709, 2205, 2206, 704, 706, 699, 537, 228, 2083, 1947, - /* 1930 */ 2201, 1268, 2237, 2202, 1868, 171, 2203, 709, 2205, 2206, - /* 1940 */ 704, 1864, 699, 703, 552, 553, 554, 1862, 556, 2202, - /* 1950 */ 557, 558, 1860, 2220, 560, 561, 562, 390, 1857, 706, - /* 1960 */ 564, 1842, 566, 651, 2170, 565, 705, 1840, 1841, 1839, - /* 1970 */ 1819, 1949, 2220, 63, 1404, 1403, 238, 1948, 1317, 1315, - /* 1980 */ 1313, 1312, 765, 2170, 1311, 705, 1310, 1304, 2220, 2388, - /* 1990 */ 1309, 1306, 398, 1855, 767, 1305, 376, 1303, 1846, 2170, - /* 2000 */ 2201, 705, 2237, 377, 1844, 341, 2203, 709, 2205, 2206, - /* 2010 */ 704, 378, 699, 598, 595, 1818, 1817, 600, 602, 2201, - /* 2020 */ 2202, 2237, 1816, 604, 340, 2203, 709, 2205, 2206, 704, - /* 2030 */ 706, 699, 615, 2256, 115, 2201, 1539, 2237, 1535, 29, - /* 2040 */ 341, 2203, 709, 2205, 2206, 704, 1537, 699, 1534, 2128, - /* 2050 */ 800, 67, 1515, 57, 1517, 2202, 2118, 1519, 619, 2220, - /* 2060 */ 2105, 620, 2104, 400, 311, 706, 257, 1494, 2371, 625, - /* 2070 */ 2170, 1493, 705, 20, 6, 31, 164, 635, 627, 1756, - /* 2080 */ 180, 21, 263, 7, 637, 2202, 22, 172, 790, 786, - /* 2090 */ 782, 778, 17, 309, 2220, 706, 265, 270, 1737, 269, - /* 2100 */ 32, 271, 2191, 1729, 1776, 2170, 2201, 705, 2237, 95, - /* 2110 */ 33, 341, 2203, 709, 2205, 2206, 704, 23, 699, 65, - /* 2120 */ 24, 1771, 2202, 1777, 2220, 1770, 387, 1775, 1774, 388, - /* 2130 */ 283, 1700, 706, 110, 1699, 2170, 302, 705, 2103, 59, - /* 2140 */ 2082, 610, 58, 2237, 177, 290, 336, 2203, 709, 2205, - /* 2150 */ 2206, 704, 18, 699, 96, 25, 97, 2081, 99, 300, - /* 2160 */ 293, 2220, 291, 1735, 298, 680, 68, 101, 303, 685, - /* 2170 */ 26, 2201, 2170, 2237, 705, 1652, 326, 2203, 709, 2205, - /* 2180 */ 2206, 704, 105, 699, 2202, 11, 1651, 13, 1575, 1662, - /* 2190 */ 2240, 179, 1630, 1628, 706, 192, 710, 1607, 712, 2202, - /* 2200 */ 1627, 1380, 698, 39, 289, 16, 27, 28, 2201, 706, - /* 2210 */ 2237, 288, 1599, 324, 2203, 709, 2205, 2206, 704, 1389, - /* 2220 */ 699, 401, 1386, 2220, 716, 714, 719, 708, 717, 722, - /* 2230 */ 253, 1385, 720, 723, 2170, 1382, 705, 1376, 2220, 725, - /* 2240 */ 1374, 728, 726, 1365, 729, 306, 1379, 1398, 106, 2170, - /* 2250 */ 2202, 705, 107, 75, 1378, 1394, 1266, 735, 1377, 1298, - /* 2260 */ 706, 745, 1297, 1296, 2202, 1295, 1293, 1291, 755, 1290, - /* 2270 */ 2201, 1289, 2237, 1324, 706, 327, 2203, 709, 2205, 2206, - /* 2280 */ 704, 307, 699, 1287, 1286, 2201, 1285, 2237, 1284, 2220, - /* 2290 */ 333, 2203, 709, 2205, 2206, 704, 1863, 699, 1283, 1282, - /* 2300 */ 2170, 1321, 705, 2220, 1281, 1319, 1278, 1277, 1274, 1273, - /* 2310 */ 1272, 1271, 775, 1861, 2170, 2202, 705, 776, 777, 779, - /* 2320 */ 781, 1859, 783, 1856, 785, 706, 787, 780, 789, 784, - /* 2330 */ 1838, 788, 791, 1213, 1815, 795, 2201, 310, 2237, 1561, - /* 2340 */ 320, 337, 2203, 709, 2205, 2206, 704, 798, 699, 799, - /* 2350 */ 2201, 1790, 2237, 1790, 2220, 329, 2203, 709, 2205, 2206, - /* 2360 */ 704, 1790, 699, 1790, 1790, 2170, 1790, 705, 1790, 1790, - /* 2370 */ 1790, 1790, 1790, 1790, 1790, 2202, 1790, 1790, 1790, 1790, - /* 2380 */ 1790, 1790, 1790, 1790, 1790, 706, 1790, 1790, 1790, 1790, - /* 2390 */ 2202, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2400 */ 706, 2201, 1790, 2237, 1790, 1790, 338, 2203, 709, 2205, - /* 2410 */ 2206, 704, 1790, 699, 2220, 1790, 1790, 1790, 1790, 1790, - /* 2420 */ 1790, 1790, 1790, 1790, 1790, 2170, 1790, 705, 1790, 2220, - /* 2430 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2440 */ 2170, 1790, 705, 1790, 1790, 1790, 1790, 1790, 2202, 1790, - /* 2450 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 706, 1790, - /* 2460 */ 1790, 2201, 1790, 2237, 1790, 2202, 330, 2203, 709, 2205, - /* 2470 */ 2206, 704, 1790, 699, 1790, 706, 2201, 1790, 2237, 2202, - /* 2480 */ 1790, 339, 2203, 709, 2205, 2206, 704, 2220, 699, 706, - /* 2490 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 2170, 1790, - /* 2500 */ 705, 1790, 1790, 1790, 2220, 1790, 1790, 1790, 1790, 1790, - /* 2510 */ 1790, 1790, 1790, 1790, 1790, 2170, 2202, 705, 2220, 1790, - /* 2520 */ 1790, 1790, 1790, 1790, 1790, 1790, 706, 1790, 1790, 2170, - /* 2530 */ 1790, 705, 1790, 1790, 2201, 1790, 2237, 2202, 1790, 331, - /* 2540 */ 2203, 709, 2205, 2206, 704, 1790, 699, 706, 1790, 1790, - /* 2550 */ 1790, 2201, 1790, 2237, 1790, 2220, 344, 2203, 709, 2205, - /* 2560 */ 2206, 704, 1790, 699, 1790, 2201, 2170, 2237, 705, 1790, - /* 2570 */ 345, 2203, 709, 2205, 2206, 704, 2220, 699, 1790, 1790, - /* 2580 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 2170, 1790, 705, - /* 2590 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2600 */ 1790, 1790, 2201, 2202, 2237, 1790, 1790, 2214, 2203, 709, - /* 2610 */ 2205, 2206, 704, 706, 699, 1790, 1790, 2202, 1790, 1790, - /* 2620 */ 1790, 1790, 1790, 2201, 1790, 2237, 1790, 706, 2213, 2203, - /* 2630 */ 709, 2205, 2206, 704, 2202, 699, 1790, 1790, 1790, 1790, - /* 2640 */ 1790, 1790, 2220, 1790, 706, 1790, 1790, 1790, 1790, 1790, - /* 2650 */ 1790, 1790, 1790, 2170, 1790, 705, 2220, 1790, 1790, 1790, - /* 2660 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 2170, 1790, 705, - /* 2670 */ 1790, 1790, 1790, 2220, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2680 */ 1790, 1790, 1790, 1790, 2170, 1790, 705, 1790, 1790, 2201, - /* 2690 */ 1790, 2237, 1790, 1790, 2212, 2203, 709, 2205, 2206, 704, - /* 2700 */ 1790, 699, 1790, 2201, 1790, 2237, 1790, 1790, 360, 2203, - /* 2710 */ 709, 2205, 2206, 704, 1790, 699, 1790, 1790, 1790, 1790, - /* 2720 */ 2201, 1790, 2237, 1790, 1790, 361, 2203, 709, 2205, 2206, - /* 2730 */ 704, 1790, 699, 2202, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2740 */ 1790, 1790, 1790, 706, 1790, 1790, 1790, 1790, 1790, 2202, - /* 2750 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 706, - /* 2760 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 2202, 1790, - /* 2770 */ 1790, 1790, 2220, 1790, 1790, 1790, 1790, 1790, 706, 1790, - /* 2780 */ 1790, 1790, 1790, 2170, 1790, 705, 1790, 1790, 2220, 1790, - /* 2790 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 2170, - /* 2800 */ 1790, 705, 1790, 1790, 1790, 1790, 1790, 2220, 1790, 1790, - /* 2810 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 2170, 2201, - /* 2820 */ 705, 2237, 1790, 1790, 357, 2203, 709, 2205, 2206, 704, - /* 2830 */ 1790, 699, 1790, 1790, 1790, 2201, 1790, 2237, 1790, 1790, - /* 2840 */ 362, 2203, 709, 2205, 2206, 704, 1790, 699, 1790, 1790, - /* 2850 */ 1790, 1790, 1790, 1790, 707, 1790, 2237, 1790, 2202, 336, - /* 2860 */ 2203, 709, 2205, 2206, 704, 1790, 699, 1790, 706, 1790, - /* 2870 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2880 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2890 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 2220, 1790, 1790, - /* 2900 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 2170, 1790, - /* 2910 */ 705, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2920 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2930 */ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - /* 2940 */ 1790, 1790, 1790, 1790, 2201, 1790, 2237, 1790, 1790, 335, - /* 2950 */ 2203, 709, 2205, 2206, 704, 1790, 699, + /* 0 */ 455, 2206, 2184, 2095, 537, 693, 1972, 538, 1831, 14, + /* 10 */ 13, 673, 48, 46, 1718, 396, 2192, 1961, 2092, 680, + /* 20 */ 403, 1588, 1563, 41, 40, 135, 2188, 47, 45, 44, + /* 30 */ 43, 42, 577, 1644, 221, 1561, 693, 1972, 540, 2224, + /* 40 */ 1838, 2167, 41, 40, 1588, 350, 47, 45, 44, 43, + /* 50 */ 42, 2174, 1245, 709, 1244, 692, 135, 2184, 2184, 670, + /* 60 */ 144, 1957, 1639, 582, 2190, 400, 545, 140, 19, 538, + /* 70 */ 1831, 1963, 2193, 109, 703, 1569, 408, 670, 144, 2019, + /* 80 */ 2021, 2188, 2188, 363, 1818, 1246, 2095, 2205, 633, 2241, + /* 90 */ 145, 2370, 112, 2207, 713, 2209, 2210, 708, 1964, 703, + /* 100 */ 801, 2093, 680, 15, 185, 169, 2294, 1807, 2376, 188, + /* 110 */ 399, 2290, 1687, 2371, 659, 181, 48, 46, 692, 2190, + /* 120 */ 2190, 1590, 693, 1972, 403, 190, 1563, 1673, 1379, 703, + /* 130 */ 703, 38, 308, 2324, 2174, 371, 2078, 1644, 51, 1561, + /* 140 */ 1646, 1647, 193, 2309, 1370, 738, 737, 736, 1374, 735, + /* 150 */ 1376, 1377, 734, 731, 181, 1385, 728, 1387, 1388, 725, + /* 160 */ 722, 719, 672, 186, 2302, 2303, 1639, 142, 2307, 2306, + /* 170 */ 1619, 1629, 19, 1588, 223, 2079, 1645, 1648, 540, 1569, + /* 180 */ 1838, 286, 2302, 669, 1674, 136, 668, 1589, 2370, 693, + /* 190 */ 1972, 1564, 125, 1562, 1620, 124, 123, 122, 121, 120, + /* 200 */ 119, 118, 117, 116, 801, 657, 188, 15, 2206, 56, + /* 210 */ 2371, 659, 47, 45, 44, 43, 42, 1788, 710, 2020, + /* 220 */ 2021, 1591, 692, 1567, 1568, 1795, 1618, 1621, 1622, 1623, + /* 230 */ 1624, 1625, 1626, 1627, 1628, 705, 701, 1637, 1638, 1640, + /* 240 */ 1641, 1642, 1643, 2, 1646, 1647, 2224, 184, 678, 134, + /* 250 */ 133, 132, 131, 130, 129, 128, 127, 126, 2174, 2013, + /* 260 */ 709, 1796, 37, 401, 1668, 1669, 1670, 1671, 1672, 1676, + /* 270 */ 1677, 1678, 1679, 288, 1619, 1629, 168, 1588, 693, 1972, + /* 280 */ 1645, 1648, 125, 554, 1913, 124, 123, 122, 121, 120, + /* 290 */ 119, 118, 117, 116, 2205, 1564, 2241, 1562, 453, 112, + /* 300 */ 2207, 713, 2209, 2210, 708, 51, 703, 1414, 1415, 147, + /* 310 */ 679, 151, 2265, 2294, 2026, 2206, 1322, 399, 2290, 1793, + /* 320 */ 1787, 384, 252, 1472, 1473, 673, 251, 1567, 1568, 2024, + /* 330 */ 1618, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 705, + /* 340 */ 701, 1637, 1638, 1640, 1641, 1642, 1643, 2, 12, 48, + /* 350 */ 46, 2026, 2067, 2224, 693, 1972, 1324, 403, 393, 1563, + /* 360 */ 62, 1715, 552, 406, 2088, 2174, 2024, 709, 460, 2074, + /* 370 */ 1644, 163, 1561, 203, 454, 1220, 41, 40, 385, 1974, + /* 380 */ 47, 45, 44, 43, 42, 653, 2024, 93, 1591, 679, + /* 390 */ 358, 458, 418, 383, 2206, 611, 542, 417, 1245, 1639, + /* 400 */ 1244, 2205, 539, 2241, 707, 19, 112, 2207, 713, 2209, + /* 410 */ 2210, 708, 1569, 703, 1222, 202, 1225, 1226, 185, 1746, + /* 420 */ 2294, 2026, 41, 40, 399, 2290, 47, 45, 44, 43, + /* 430 */ 42, 1246, 2224, 2375, 466, 2074, 2025, 801, 652, 633, + /* 440 */ 15, 677, 2370, 2088, 2174, 1675, 709, 2325, 1817, 66, + /* 450 */ 1590, 2374, 449, 48, 46, 1649, 1572, 448, 30, 2376, + /* 460 */ 188, 403, 290, 1563, 2371, 659, 2224, 645, 644, 1744, + /* 470 */ 1745, 1747, 1748, 1749, 1644, 166, 1561, 1646, 1647, 62, + /* 480 */ 2205, 205, 2241, 1975, 376, 344, 2207, 713, 2209, 2210, + /* 490 */ 708, 706, 703, 694, 2259, 1722, 493, 2074, 2174, 633, + /* 500 */ 2206, 1588, 2370, 1639, 1248, 1249, 658, 1619, 1629, 2370, + /* 510 */ 710, 573, 572, 1645, 1648, 648, 1569, 290, 1758, 2376, + /* 520 */ 188, 651, 2026, 35, 2371, 659, 657, 188, 1564, 369, + /* 530 */ 1562, 2371, 659, 1680, 1781, 679, 1654, 2024, 2224, 2026, + /* 540 */ 266, 801, 1588, 210, 49, 750, 398, 2206, 62, 12, + /* 550 */ 2174, 10, 709, 377, 2024, 375, 374, 710, 579, 1840, + /* 560 */ 1567, 1568, 581, 1618, 1621, 1622, 1623, 1624, 1625, 1626, + /* 570 */ 1627, 1628, 705, 701, 1637, 1638, 1640, 1641, 1642, 1643, + /* 580 */ 2, 1646, 1647, 2057, 580, 2224, 2205, 688, 2241, 2088, + /* 590 */ 618, 113, 2207, 713, 2209, 2210, 708, 2174, 703, 709, + /* 600 */ 609, 658, 288, 90, 2370, 2294, 654, 649, 642, 2293, + /* 610 */ 2290, 1619, 1629, 607, 1575, 605, 632, 1645, 1648, 1714, + /* 620 */ 373, 657, 188, 207, 693, 1972, 2371, 659, 154, 1967, + /* 630 */ 412, 411, 1564, 2205, 1562, 2241, 290, 12, 112, 2207, + /* 640 */ 713, 2209, 2210, 708, 468, 703, 146, 1589, 34, 2265, + /* 650 */ 2390, 1620, 2294, 1570, 41, 40, 399, 2290, 47, 45, + /* 660 */ 44, 43, 42, 86, 1567, 1568, 85, 1618, 1621, 1622, + /* 670 */ 1623, 1624, 1625, 1626, 1627, 1628, 705, 701, 1637, 1638, + /* 680 */ 1640, 1641, 1642, 1643, 2, 48, 46, 2168, 55, 2206, + /* 690 */ 1949, 1563, 1620, 403, 1333, 1563, 693, 1972, 1569, 710, + /* 700 */ 2206, 397, 693, 1972, 1561, 290, 1644, 1332, 1561, 166, + /* 710 */ 710, 2026, 595, 594, 593, 741, 483, 1974, 407, 585, + /* 720 */ 141, 589, 484, 693, 1972, 588, 2024, 2224, 52, 661, + /* 730 */ 587, 592, 379, 378, 633, 1639, 586, 2370, 2224, 2174, + /* 740 */ 60, 709, 478, 553, 1569, 253, 500, 630, 1569, 1914, + /* 750 */ 2174, 477, 709, 1337, 2376, 188, 760, 41, 40, 2371, + /* 760 */ 659, 47, 45, 44, 43, 42, 1336, 1489, 1490, 801, + /* 770 */ 670, 144, 509, 801, 437, 2205, 49, 2241, 670, 144, + /* 780 */ 170, 2207, 713, 2209, 2210, 708, 2205, 703, 2241, 48, + /* 790 */ 46, 170, 2207, 713, 2209, 2210, 708, 403, 703, 1563, + /* 800 */ 1228, 439, 435, 1488, 1491, 748, 1587, 212, 211, 534, + /* 810 */ 1644, 1573, 1561, 1646, 1647, 1534, 1535, 532, 693, 1972, + /* 820 */ 528, 524, 634, 2335, 156, 155, 745, 744, 743, 153, + /* 830 */ 499, 511, 406, 1959, 2336, 748, 299, 300, 676, 1639, + /* 840 */ 166, 298, 2375, 1619, 1629, 2370, 575, 574, 1974, 1645, + /* 850 */ 1648, 1874, 1569, 1757, 156, 155, 745, 744, 743, 153, + /* 860 */ 1564, 108, 1562, 2374, 1564, 1955, 1562, 2371, 2373, 2375, + /* 870 */ 1816, 105, 2370, 62, 187, 2302, 2303, 801, 142, 2307, + /* 880 */ 15, 2206, 189, 2302, 2303, 290, 142, 2307, 591, 590, + /* 890 */ 2374, 710, 1567, 1568, 2371, 2372, 1567, 1568, 1948, 1618, + /* 900 */ 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 705, 701, + /* 910 */ 1637, 1638, 1640, 1641, 1642, 1643, 2, 1646, 1647, 2224, + /* 920 */ 2174, 595, 594, 593, 693, 1972, 693, 1972, 585, 141, + /* 930 */ 589, 2174, 1815, 709, 588, 600, 44, 43, 42, 587, + /* 940 */ 592, 379, 378, 740, 1969, 586, 255, 1619, 1629, 1814, + /* 950 */ 610, 41, 40, 1645, 1648, 47, 45, 44, 43, 42, + /* 960 */ 447, 695, 446, 2266, 250, 750, 259, 2205, 1564, 2241, + /* 970 */ 1562, 103, 113, 2207, 713, 2209, 2210, 708, 704, 703, + /* 980 */ 603, 409, 2174, 1225, 1226, 1813, 2294, 597, 1947, 166, + /* 990 */ 698, 2290, 445, 249, 616, 2309, 1965, 1974, 1812, 2174, + /* 1000 */ 1567, 1568, 1871, 1618, 1621, 1622, 1623, 1624, 1625, 1626, + /* 1010 */ 1627, 1628, 705, 701, 1637, 1638, 1640, 1641, 1642, 1643, + /* 1020 */ 2, 2305, 354, 167, 1586, 693, 1972, 1811, 329, 742, + /* 1030 */ 290, 491, 2017, 70, 507, 2174, 69, 506, 693, 1972, + /* 1040 */ 2157, 633, 326, 73, 2370, 263, 72, 1734, 2174, 1810, + /* 1050 */ 1809, 1806, 1805, 474, 1804, 508, 9, 351, 303, 1803, + /* 1060 */ 476, 2376, 188, 772, 770, 1802, 2371, 659, 219, 519, + /* 1070 */ 517, 514, 778, 777, 776, 775, 415, 2174, 774, 773, + /* 1080 */ 148, 768, 767, 766, 765, 764, 763, 762, 158, 758, + /* 1090 */ 757, 756, 414, 413, 753, 752, 751, 176, 175, 2174, + /* 1100 */ 2174, 2174, 2174, 748, 2174, 237, 372, 746, 62, 2174, + /* 1110 */ 2017, 662, 2309, 693, 1972, 2174, 1591, 747, 462, 90, + /* 1120 */ 2017, 173, 156, 155, 745, 744, 743, 153, 581, 571, + /* 1130 */ 567, 563, 559, 690, 236, 41, 40, 1801, 2304, 47, + /* 1140 */ 45, 44, 43, 42, 1800, 1968, 322, 111, 504, 2003, + /* 1150 */ 580, 498, 497, 496, 495, 490, 489, 488, 487, 486, + /* 1160 */ 482, 481, 480, 479, 353, 471, 470, 469, 674, 464, + /* 1170 */ 463, 370, 36, 2139, 91, 693, 1972, 234, 41, 40, + /* 1180 */ 693, 1972, 47, 45, 44, 43, 42, 2174, 81, 80, + /* 1190 */ 452, 700, 2206, 200, 2174, 691, 693, 1972, 1799, 697, + /* 1200 */ 309, 2266, 710, 1950, 2332, 761, 444, 442, 1934, 2314, + /* 1210 */ 1707, 583, 584, 1798, 74, 633, 410, 352, 2370, 54, + /* 1220 */ 433, 3, 254, 431, 427, 423, 420, 445, 1858, 83, + /* 1230 */ 2224, 137, 1571, 1320, 1318, 2376, 188, 665, 154, 2206, + /* 1240 */ 2371, 659, 2174, 2160, 709, 233, 227, 149, 2174, 710, + /* 1250 */ 596, 2345, 232, 550, 41, 40, 1808, 432, 47, 45, + /* 1260 */ 44, 43, 42, 2174, 84, 290, 154, 242, 265, 244, + /* 1270 */ 240, 225, 243, 613, 264, 612, 1707, 2224, 2205, 246, + /* 1280 */ 2241, 1849, 245, 112, 2207, 713, 2209, 2210, 708, 2174, + /* 1290 */ 703, 709, 425, 248, 1847, 2390, 247, 2294, 1529, 50, + /* 1300 */ 50, 399, 2290, 598, 270, 1790, 1791, 154, 50, 296, + /* 1310 */ 71, 152, 154, 14, 13, 1841, 601, 94, 64, 754, + /* 1320 */ 50, 1279, 262, 50, 717, 2205, 1532, 2241, 152, 2195, + /* 1330 */ 112, 2207, 713, 2209, 2210, 708, 154, 703, 2338, 138, + /* 1340 */ 152, 1298, 2390, 2206, 2294, 283, 1665, 646, 399, 2290, + /* 1350 */ 663, 139, 277, 710, 755, 640, 412, 411, 1912, 1743, + /* 1360 */ 1742, 1280, 1911, 2206, 272, 796, 1577, 675, 1486, 301, + /* 1370 */ 685, 305, 1363, 710, 386, 2363, 1296, 1644, 1681, 1570, + /* 1380 */ 1630, 2224, 416, 321, 1392, 2197, 2225, 2083, 1396, 1832, + /* 1390 */ 1574, 2014, 285, 2174, 1837, 709, 1403, 2328, 671, 1401, + /* 1400 */ 157, 2224, 282, 5, 1, 419, 1639, 424, 367, 1594, + /* 1410 */ 440, 441, 2206, 2174, 195, 709, 196, 198, 165, 1569, + /* 1420 */ 443, 1510, 710, 316, 2313, 1587, 459, 209, 461, 2205, + /* 1430 */ 1591, 2241, 2206, 2084, 112, 2207, 713, 2209, 2210, 708, + /* 1440 */ 465, 703, 710, 467, 699, 472, 2390, 1586, 2294, 2205, + /* 1450 */ 2224, 2241, 399, 2290, 112, 2207, 713, 2209, 2210, 708, + /* 1460 */ 502, 703, 2174, 485, 709, 492, 2390, 2076, 2294, 512, + /* 1470 */ 2224, 513, 399, 2290, 494, 501, 503, 510, 666, 214, + /* 1480 */ 213, 515, 2174, 516, 709, 216, 518, 520, 1592, 535, + /* 1490 */ 4, 536, 543, 546, 544, 1589, 547, 224, 2205, 226, + /* 1500 */ 2241, 2206, 1593, 112, 2207, 713, 2209, 2210, 708, 548, + /* 1510 */ 703, 710, 1595, 549, 229, 2390, 551, 2294, 2205, 555, + /* 1520 */ 2241, 399, 2290, 171, 2207, 713, 2209, 2210, 708, 231, + /* 1530 */ 703, 88, 576, 89, 235, 1578, 114, 1573, 578, 2224, + /* 1540 */ 357, 1962, 2148, 2145, 239, 2144, 1958, 241, 615, 92, + /* 1550 */ 2206, 2174, 617, 709, 150, 159, 160, 621, 1960, 1956, + /* 1560 */ 710, 161, 162, 317, 256, 622, 620, 1581, 1583, 258, + /* 1570 */ 1517, 260, 628, 647, 625, 637, 660, 2391, 2344, 683, + /* 1580 */ 701, 1637, 1638, 1640, 1641, 1642, 1643, 2205, 2224, 2241, + /* 1590 */ 2343, 2329, 112, 2207, 713, 2209, 2210, 708, 268, 703, + /* 1600 */ 2174, 643, 709, 626, 2269, 627, 2294, 2339, 271, 389, + /* 1610 */ 399, 2290, 650, 8, 638, 2316, 656, 635, 636, 276, + /* 1620 */ 2206, 2393, 174, 281, 278, 279, 667, 390, 664, 143, + /* 1630 */ 710, 1707, 1590, 1712, 2310, 1710, 2205, 1596, 2241, 2089, + /* 1640 */ 2206, 112, 2207, 713, 2209, 2210, 708, 291, 703, 318, + /* 1650 */ 710, 98, 178, 2267, 681, 2294, 319, 280, 2224, 399, + /* 1660 */ 2290, 682, 2103, 2102, 2101, 395, 100, 686, 1973, 102, + /* 1670 */ 2174, 191, 709, 320, 289, 61, 2275, 284, 2224, 687, + /* 1680 */ 104, 323, 2018, 2369, 715, 312, 797, 1935, 798, 800, + /* 1690 */ 2174, 325, 709, 359, 332, 346, 360, 336, 2166, 53, + /* 1700 */ 2165, 327, 2164, 78, 2161, 421, 2205, 422, 2241, 2206, + /* 1710 */ 347, 112, 2207, 713, 2209, 2210, 708, 1554, 703, 710, + /* 1720 */ 1555, 194, 426, 696, 2159, 2294, 711, 428, 2241, 399, + /* 1730 */ 2290, 113, 2207, 713, 2209, 2210, 708, 430, 703, 2158, + /* 1740 */ 429, 368, 2156, 434, 2206, 2294, 2155, 2224, 436, 362, + /* 1750 */ 2290, 2154, 438, 1545, 710, 2135, 197, 2134, 199, 2174, + /* 1760 */ 79, 709, 1513, 2116, 1512, 2115, 2114, 450, 451, 2113, + /* 1770 */ 2112, 2066, 1463, 456, 2206, 2063, 457, 201, 2062, 82, + /* 1780 */ 2061, 2060, 2224, 2065, 710, 2064, 2059, 387, 204, 2058, + /* 1790 */ 2056, 2055, 2054, 206, 2174, 2205, 709, 2241, 2053, 473, + /* 1800 */ 113, 2207, 713, 2209, 2210, 708, 475, 703, 2069, 2052, + /* 1810 */ 2051, 2206, 2224, 2050, 2294, 2049, 2048, 388, 2047, 2291, + /* 1820 */ 2046, 710, 2045, 2044, 2174, 2043, 709, 2042, 2041, 2040, + /* 1830 */ 2205, 2039, 2241, 2038, 208, 345, 2207, 713, 2209, 2210, + /* 1840 */ 708, 2206, 703, 2037, 87, 2036, 2035, 2034, 2068, 2224, + /* 1850 */ 2033, 710, 2032, 2031, 1465, 2030, 2029, 505, 2028, 2027, + /* 1860 */ 2205, 2174, 2241, 709, 1334, 345, 2207, 713, 2209, 2210, + /* 1870 */ 708, 1338, 703, 2206, 355, 1877, 215, 1876, 356, 2224, + /* 1880 */ 1875, 217, 1873, 710, 1870, 522, 1330, 1869, 526, 521, + /* 1890 */ 1862, 2174, 525, 709, 1851, 529, 218, 2205, 1827, 2241, + /* 1900 */ 533, 523, 338, 2207, 713, 2209, 2210, 708, 527, 703, + /* 1910 */ 2206, 2224, 530, 531, 220, 76, 394, 182, 2194, 1227, + /* 1920 */ 707, 1826, 77, 2174, 2133, 709, 183, 2205, 541, 2241, + /* 1930 */ 2123, 222, 171, 2207, 713, 2209, 2210, 708, 2111, 703, + /* 1940 */ 2206, 228, 230, 2110, 2087, 1951, 1872, 655, 2224, 1868, + /* 1950 */ 710, 556, 557, 558, 1272, 1866, 561, 560, 562, 2205, + /* 1960 */ 2174, 2241, 709, 619, 345, 2207, 713, 2209, 2210, 708, + /* 1970 */ 1864, 703, 564, 566, 565, 1861, 569, 568, 2224, 570, + /* 1980 */ 1846, 804, 1844, 402, 1845, 1843, 2392, 2206, 1823, 1953, + /* 1990 */ 2174, 1408, 709, 1407, 1952, 315, 2205, 710, 2241, 238, + /* 2000 */ 63, 344, 2207, 713, 2209, 2210, 708, 1321, 703, 1319, + /* 2010 */ 2260, 180, 1317, 2206, 1316, 1308, 1315, 769, 1314, 794, + /* 2020 */ 790, 786, 782, 710, 313, 2224, 2205, 1313, 2241, 1859, + /* 2030 */ 404, 345, 2207, 713, 2209, 2210, 708, 2174, 703, 709, + /* 2040 */ 771, 1310, 1309, 1307, 380, 1850, 381, 1848, 599, 382, + /* 2050 */ 602, 2224, 1822, 604, 1821, 606, 1820, 608, 115, 2132, + /* 2060 */ 1539, 1541, 1543, 2174, 110, 709, 29, 306, 1538, 57, + /* 2070 */ 67, 1519, 1521, 2205, 2206, 2241, 1523, 2122, 345, 2207, + /* 2080 */ 713, 2209, 2210, 708, 710, 703, 164, 2206, 623, 624, + /* 2090 */ 2109, 2108, 261, 629, 31, 1498, 2375, 710, 1497, 614, + /* 2100 */ 689, 2241, 20, 17, 340, 2207, 713, 2209, 2210, 708, + /* 2110 */ 631, 703, 2224, 1760, 267, 6, 7, 639, 641, 21, + /* 2120 */ 22, 269, 274, 33, 2174, 2224, 709, 1741, 275, 2195, + /* 2130 */ 65, 172, 23, 273, 1775, 293, 1733, 2174, 2206, 709, + /* 2140 */ 32, 24, 292, 95, 1774, 1780, 1781, 391, 710, 1779, + /* 2150 */ 1778, 18, 392, 1704, 2206, 1703, 2107, 287, 58, 2086, + /* 2160 */ 2205, 257, 2241, 59, 710, 330, 2207, 713, 2209, 2210, + /* 2170 */ 708, 177, 703, 2205, 96, 2241, 2224, 97, 328, 2207, + /* 2180 */ 713, 2209, 2210, 708, 294, 703, 25, 297, 2174, 295, + /* 2190 */ 709, 1739, 2224, 2085, 99, 302, 684, 68, 101, 105, + /* 2200 */ 307, 26, 11, 2206, 2174, 1656, 709, 304, 1655, 13, + /* 2210 */ 1579, 2244, 179, 710, 1611, 1634, 702, 192, 1666, 714, + /* 2220 */ 1632, 39, 716, 16, 2205, 1631, 2241, 1603, 27, 331, + /* 2230 */ 2207, 713, 2209, 2210, 708, 712, 703, 28, 405, 1393, + /* 2240 */ 2205, 2224, 2241, 718, 720, 337, 2207, 713, 2209, 2210, + /* 2250 */ 708, 1390, 703, 2174, 2206, 709, 1389, 721, 723, 726, + /* 2260 */ 729, 724, 732, 727, 710, 1386, 1380, 730, 1384, 733, + /* 2270 */ 2206, 1383, 1378, 1369, 1382, 1381, 106, 310, 739, 107, + /* 2280 */ 710, 1402, 75, 2206, 1398, 1270, 749, 1302, 1301, 2205, + /* 2290 */ 1300, 2241, 2224, 710, 341, 2207, 713, 2209, 2210, 708, + /* 2300 */ 1299, 703, 1297, 2206, 2174, 1295, 709, 1294, 2224, 1293, + /* 2310 */ 1328, 759, 311, 710, 1291, 1290, 1325, 1289, 1288, 1287, + /* 2320 */ 2174, 2224, 709, 1286, 1285, 1323, 1282, 1281, 1278, 1276, + /* 2330 */ 1277, 1867, 1275, 2174, 779, 709, 780, 781, 1865, 783, + /* 2340 */ 2205, 2224, 2241, 1863, 787, 333, 2207, 713, 2209, 2210, + /* 2350 */ 708, 784, 703, 2174, 785, 709, 2205, 788, 2241, 789, + /* 2360 */ 1860, 342, 2207, 713, 2209, 2210, 708, 791, 703, 2205, + /* 2370 */ 792, 2241, 793, 2206, 334, 2207, 713, 2209, 2210, 708, + /* 2380 */ 1842, 703, 795, 710, 1217, 1819, 314, 799, 802, 2205, + /* 2390 */ 1565, 2241, 324, 803, 343, 2207, 713, 2209, 2210, 708, + /* 2400 */ 1794, 703, 1794, 1794, 1794, 1794, 2206, 1794, 1794, 1794, + /* 2410 */ 1794, 2224, 1794, 1794, 1794, 1794, 710, 1794, 1794, 1794, + /* 2420 */ 1794, 1794, 2206, 2174, 1794, 709, 1794, 1794, 1794, 1794, + /* 2430 */ 1794, 1794, 710, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + /* 2440 */ 1794, 1794, 1794, 2206, 2224, 1794, 1794, 1794, 1794, 1794, + /* 2450 */ 1794, 1794, 1794, 710, 1794, 1794, 2174, 1794, 709, 2205, + /* 2460 */ 2224, 2241, 1794, 1794, 335, 2207, 713, 2209, 2210, 708, + /* 2470 */ 1794, 703, 2174, 1794, 709, 1794, 1794, 1794, 1794, 1794, + /* 2480 */ 1794, 2224, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + /* 2490 */ 1794, 1794, 2205, 2174, 2241, 709, 1794, 348, 2207, 713, + /* 2500 */ 2209, 2210, 708, 1794, 703, 1794, 1794, 1794, 2205, 2206, + /* 2510 */ 2241, 1794, 1794, 349, 2207, 713, 2209, 2210, 708, 710, + /* 2520 */ 703, 1794, 2206, 1794, 1794, 1794, 1794, 1794, 1794, 2205, + /* 2530 */ 1794, 2241, 710, 2206, 2218, 2207, 713, 2209, 2210, 708, + /* 2540 */ 1794, 703, 1794, 710, 1794, 1794, 2206, 2224, 1794, 1794, + /* 2550 */ 1794, 1794, 1794, 1794, 1794, 1794, 710, 1794, 1794, 2174, + /* 2560 */ 2224, 709, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + /* 2570 */ 1794, 2224, 2174, 1794, 709, 1794, 1794, 1794, 1794, 1794, + /* 2580 */ 1794, 1794, 1794, 2174, 2224, 709, 1794, 1794, 1794, 1794, + /* 2590 */ 1794, 1794, 1794, 1794, 1794, 2205, 2174, 2241, 709, 1794, + /* 2600 */ 2217, 2207, 713, 2209, 2210, 708, 1794, 703, 2205, 1794, + /* 2610 */ 2241, 1794, 1794, 2216, 2207, 713, 2209, 2210, 708, 2205, + /* 2620 */ 703, 2241, 1794, 2206, 364, 2207, 713, 2209, 2210, 708, + /* 2630 */ 1794, 703, 2205, 710, 2241, 1794, 2206, 365, 2207, 713, + /* 2640 */ 2209, 2210, 708, 1794, 703, 1794, 710, 2206, 1794, 1794, + /* 2650 */ 1794, 1794, 1794, 1794, 1794, 1794, 1794, 710, 1794, 1794, + /* 2660 */ 1794, 2224, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + /* 2670 */ 1794, 1794, 1794, 2174, 2224, 709, 1794, 1794, 1794, 1794, + /* 2680 */ 1794, 1794, 1794, 1794, 1794, 2224, 2174, 1794, 709, 1794, + /* 2690 */ 1794, 1794, 1794, 1794, 1794, 1794, 1794, 2174, 2206, 709, + /* 2700 */ 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 710, 2205, + /* 2710 */ 1794, 2241, 1794, 1794, 361, 2207, 713, 2209, 2210, 708, + /* 2720 */ 1794, 703, 2205, 1794, 2241, 1794, 1794, 366, 2207, 713, + /* 2730 */ 2209, 2210, 708, 711, 703, 2241, 2224, 1794, 340, 2207, + /* 2740 */ 713, 2209, 2210, 708, 1794, 703, 1794, 1794, 2174, 1794, + /* 2750 */ 709, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + /* 2760 */ 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + /* 2770 */ 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + /* 2780 */ 1794, 1794, 1794, 1794, 2205, 1794, 2241, 1794, 1794, 339, + /* 2790 */ 2207, 713, 2209, 2210, 708, 1794, 703, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 388, 342, 368, 394, 389, 351, 352, 392, 4, 448, - /* 10 */ 449, 352, 12, 13, 14, 406, 382, 0, 409, 410, - /* 20 */ 20, 388, 22, 8, 9, 371, 392, 12, 13, 14, - /* 30 */ 15, 16, 378, 33, 381, 35, 351, 352, 8, 9, - /* 40 */ 381, 412, 12, 13, 14, 15, 16, 43, 395, 45, - /* 50 */ 46, 392, 20, 394, 22, 20, 371, 368, 368, 351, - /* 60 */ 352, 44, 62, 378, 430, 431, 346, 35, 68, 349, - /* 70 */ 350, 382, 382, 351, 440, 75, 346, 351, 352, 349, - /* 80 */ 350, 392, 392, 68, 381, 53, 20, 428, 459, 430, - /* 90 */ 387, 462, 433, 434, 435, 436, 437, 438, 395, 440, - /* 100 */ 100, 351, 352, 103, 445, 376, 447, 394, 479, 480, - /* 110 */ 451, 452, 0, 484, 485, 381, 12, 13, 396, 430, - /* 120 */ 430, 371, 409, 410, 20, 466, 22, 112, 100, 440, - /* 130 */ 440, 20, 347, 474, 400, 401, 351, 33, 353, 35, - /* 140 */ 140, 141, 351, 352, 116, 117, 118, 119, 120, 121, - /* 150 */ 122, 123, 124, 125, 425, 127, 128, 129, 130, 131, - /* 160 */ 132, 133, 454, 455, 456, 457, 62, 459, 460, 103, - /* 170 */ 170, 171, 68, 341, 347, 343, 176, 177, 351, 75, - /* 180 */ 353, 455, 456, 457, 169, 459, 460, 20, 462, 398, - /* 190 */ 20, 191, 21, 193, 103, 24, 25, 26, 27, 28, - /* 200 */ 29, 30, 31, 32, 100, 479, 480, 103, 342, 49, - /* 210 */ 484, 485, 103, 183, 103, 351, 352, 57, 352, 20, - /* 220 */ 60, 61, 134, 223, 224, 0, 226, 227, 228, 229, + /* 0 */ 351, 342, 368, 394, 346, 351, 352, 349, 350, 1, + /* 10 */ 2, 352, 12, 13, 14, 406, 382, 381, 409, 410, + /* 20 */ 20, 20, 22, 8, 9, 371, 392, 12, 13, 14, + /* 30 */ 15, 16, 378, 33, 347, 35, 351, 352, 351, 380, + /* 40 */ 353, 412, 8, 9, 20, 396, 12, 13, 14, 15, + /* 50 */ 16, 392, 20, 394, 22, 20, 371, 368, 368, 351, + /* 60 */ 352, 381, 62, 378, 430, 431, 346, 35, 68, 349, + /* 70 */ 350, 382, 382, 358, 440, 75, 390, 351, 352, 393, + /* 80 */ 394, 392, 392, 68, 342, 53, 394, 428, 459, 430, + /* 90 */ 375, 462, 433, 434, 435, 436, 437, 438, 383, 440, + /* 100 */ 100, 409, 410, 103, 445, 341, 447, 343, 479, 480, + /* 110 */ 451, 452, 104, 484, 485, 380, 12, 13, 20, 430, + /* 120 */ 430, 20, 351, 352, 20, 466, 22, 112, 100, 440, + /* 130 */ 440, 448, 449, 474, 392, 400, 401, 33, 103, 35, + /* 140 */ 140, 141, 371, 432, 116, 117, 118, 119, 120, 121, + /* 150 */ 122, 123, 124, 125, 380, 127, 128, 129, 130, 131, + /* 160 */ 132, 133, 454, 455, 456, 457, 62, 459, 460, 458, + /* 170 */ 170, 171, 68, 20, 347, 401, 176, 177, 351, 75, + /* 180 */ 353, 455, 456, 457, 169, 459, 460, 20, 462, 351, + /* 190 */ 352, 191, 21, 193, 170, 24, 25, 26, 27, 28, + /* 200 */ 29, 30, 31, 32, 100, 479, 480, 103, 342, 371, + /* 210 */ 484, 485, 12, 13, 14, 15, 16, 183, 352, 393, + /* 220 */ 394, 20, 20, 223, 224, 0, 226, 227, 228, 229, /* 230 */ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - /* 240 */ 240, 241, 242, 243, 140, 141, 21, 381, 67, 24, - /* 250 */ 25, 26, 27, 28, 29, 30, 31, 32, 392, 0, - /* 260 */ 394, 4, 247, 248, 249, 250, 251, 252, 253, 254, - /* 270 */ 255, 256, 257, 390, 170, 171, 393, 394, 351, 352, - /* 280 */ 176, 177, 20, 24, 25, 26, 27, 28, 29, 30, - /* 290 */ 31, 32, 204, 205, 428, 191, 430, 193, 371, 433, - /* 300 */ 434, 435, 436, 437, 438, 175, 440, 140, 141, 443, - /* 310 */ 20, 445, 446, 447, 67, 342, 286, 451, 452, 455, - /* 320 */ 456, 457, 20, 459, 460, 352, 260, 223, 224, 217, + /* 240 */ 240, 241, 242, 243, 140, 141, 380, 379, 20, 24, + /* 250 */ 25, 26, 27, 28, 29, 30, 31, 32, 392, 391, + /* 260 */ 394, 0, 247, 248, 249, 250, 251, 252, 253, 254, + /* 270 */ 255, 256, 257, 172, 170, 171, 361, 20, 351, 352, + /* 280 */ 176, 177, 21, 67, 369, 24, 25, 26, 27, 28, + /* 290 */ 29, 30, 31, 32, 428, 191, 430, 193, 371, 433, + /* 300 */ 434, 435, 436, 437, 438, 103, 440, 140, 141, 443, + /* 310 */ 351, 445, 446, 447, 380, 342, 35, 451, 452, 339, + /* 320 */ 286, 387, 135, 170, 171, 352, 139, 223, 224, 395, /* 330 */ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, /* 340 */ 236, 237, 238, 239, 240, 241, 242, 243, 244, 12, - /* 350 */ 13, 260, 459, 372, 381, 462, 361, 20, 37, 22, - /* 360 */ 103, 380, 381, 379, 369, 392, 342, 394, 387, 260, - /* 370 */ 33, 260, 35, 480, 351, 391, 395, 484, 485, 8, - /* 380 */ 9, 84, 114, 12, 13, 14, 15, 16, 351, 352, - /* 390 */ 75, 20, 351, 352, 342, 244, 266, 267, 268, 62, - /* 400 */ 20, 428, 114, 430, 352, 68, 433, 434, 435, 436, - /* 410 */ 437, 438, 75, 440, 351, 352, 392, 342, 445, 75, - /* 420 */ 447, 351, 352, 4, 451, 452, 403, 106, 405, 108, - /* 430 */ 109, 432, 111, 381, 371, 398, 115, 100, 19, 358, - /* 440 */ 103, 371, 145, 146, 392, 381, 394, 474, 0, 351, - /* 450 */ 352, 387, 33, 12, 13, 14, 375, 458, 137, 395, - /* 460 */ 342, 20, 172, 22, 383, 168, 352, 392, 49, 371, - /* 470 */ 352, 35, 170, 171, 33, 56, 35, 140, 141, 342, - /* 480 */ 428, 62, 430, 103, 342, 433, 434, 435, 436, 437, - /* 490 */ 438, 439, 440, 441, 442, 381, 455, 456, 457, 381, - /* 500 */ 459, 460, 381, 62, 244, 186, 246, 170, 171, 14, - /* 510 */ 392, 75, 394, 176, 177, 20, 75, 260, 70, 71, - /* 520 */ 72, 102, 401, 3, 105, 77, 78, 79, 191, 392, - /* 530 */ 193, 83, 213, 214, 392, 351, 88, 89, 90, 91, - /* 540 */ 20, 100, 94, 172, 103, 342, 428, 342, 430, 435, - /* 550 */ 0, 433, 434, 435, 436, 437, 438, 352, 440, 354, - /* 560 */ 223, 224, 360, 226, 227, 228, 229, 230, 231, 232, + /* 350 */ 13, 380, 0, 380, 351, 352, 75, 20, 387, 22, + /* 360 */ 103, 4, 403, 372, 405, 392, 395, 394, 351, 352, + /* 370 */ 33, 380, 35, 172, 371, 4, 8, 9, 387, 388, + /* 380 */ 12, 13, 14, 15, 16, 20, 395, 200, 20, 351, + /* 390 */ 203, 39, 412, 206, 342, 208, 14, 417, 20, 62, + /* 400 */ 22, 428, 20, 430, 352, 68, 433, 434, 435, 436, + /* 410 */ 437, 438, 75, 440, 43, 398, 45, 46, 445, 223, + /* 420 */ 447, 380, 8, 9, 451, 452, 12, 13, 14, 15, + /* 430 */ 16, 53, 380, 3, 351, 352, 395, 100, 352, 459, + /* 440 */ 103, 403, 462, 405, 392, 169, 394, 474, 342, 4, + /* 450 */ 20, 3, 412, 12, 13, 14, 35, 417, 44, 479, + /* 460 */ 480, 20, 260, 22, 484, 485, 380, 271, 272, 273, + /* 470 */ 274, 275, 276, 277, 33, 380, 35, 140, 141, 103, + /* 480 */ 428, 398, 430, 388, 37, 433, 434, 435, 436, 437, + /* 490 */ 438, 439, 440, 441, 442, 14, 351, 352, 392, 459, + /* 500 */ 342, 20, 462, 62, 54, 55, 459, 170, 171, 462, + /* 510 */ 352, 356, 357, 176, 177, 175, 75, 260, 104, 479, + /* 520 */ 480, 435, 380, 247, 484, 485, 479, 480, 191, 387, + /* 530 */ 193, 484, 485, 257, 104, 351, 14, 395, 380, 380, + /* 540 */ 172, 100, 20, 398, 103, 67, 387, 342, 103, 244, + /* 550 */ 392, 246, 394, 106, 395, 108, 109, 352, 111, 354, + /* 560 */ 223, 224, 115, 226, 227, 228, 229, 230, 231, 232, /* 570 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - /* 580 */ 243, 140, 141, 70, 71, 72, 381, 403, 386, 405, - /* 590 */ 77, 78, 79, 475, 476, 392, 83, 392, 444, 394, - /* 600 */ 446, 88, 89, 90, 91, 459, 388, 94, 462, 351, - /* 610 */ 352, 170, 171, 381, 12, 13, 48, 176, 177, 387, - /* 620 */ 393, 394, 381, 339, 104, 479, 480, 395, 387, 371, - /* 630 */ 484, 485, 191, 428, 193, 430, 395, 35, 433, 434, - /* 640 */ 435, 436, 437, 438, 3, 440, 351, 352, 134, 135, - /* 650 */ 445, 351, 447, 139, 8, 9, 451, 452, 12, 13, - /* 660 */ 14, 15, 16, 418, 223, 224, 371, 226, 227, 228, + /* 580 */ 243, 140, 141, 0, 137, 380, 428, 403, 430, 405, + /* 590 */ 114, 433, 434, 435, 436, 437, 438, 392, 440, 394, + /* 600 */ 21, 459, 172, 360, 462, 447, 266, 267, 268, 451, + /* 610 */ 452, 170, 171, 34, 193, 36, 48, 176, 177, 262, + /* 620 */ 377, 479, 480, 62, 351, 352, 484, 485, 44, 386, + /* 630 */ 12, 13, 191, 428, 193, 430, 260, 244, 433, 434, + /* 640 */ 435, 436, 437, 438, 371, 440, 443, 20, 2, 446, + /* 650 */ 445, 170, 447, 35, 8, 9, 451, 452, 12, 13, + /* 660 */ 14, 15, 16, 102, 223, 224, 105, 226, 227, 228, /* 670 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - /* 680 */ 239, 240, 241, 242, 243, 12, 13, 351, 352, 342, - /* 690 */ 44, 459, 172, 20, 462, 22, 412, 20, 0, 352, - /* 700 */ 444, 417, 446, 403, 223, 405, 33, 371, 35, 159, - /* 710 */ 342, 479, 480, 358, 351, 352, 484, 485, 168, 360, - /* 720 */ 352, 0, 103, 381, 351, 352, 8, 9, 381, 387, - /* 730 */ 12, 13, 14, 15, 16, 62, 377, 395, 383, 392, - /* 740 */ 172, 394, 342, 459, 371, 386, 462, 179, 75, 381, - /* 750 */ 104, 62, 271, 272, 273, 274, 275, 276, 277, 21, - /* 760 */ 392, 398, 394, 479, 480, 67, 351, 352, 484, 485, - /* 770 */ 372, 115, 34, 100, 36, 428, 103, 430, 380, 381, - /* 780 */ 433, 434, 435, 436, 437, 438, 371, 440, 342, 12, - /* 790 */ 13, 102, 392, 137, 105, 193, 428, 20, 430, 22, - /* 800 */ 369, 433, 434, 435, 436, 437, 438, 343, 440, 190, - /* 810 */ 33, 192, 35, 140, 141, 447, 432, 140, 141, 451, - /* 820 */ 452, 412, 104, 8, 9, 432, 417, 12, 13, 14, - /* 830 */ 15, 16, 402, 486, 487, 342, 115, 0, 392, 62, - /* 840 */ 14, 222, 458, 170, 171, 352, 20, 351, 352, 176, - /* 850 */ 177, 458, 75, 176, 177, 134, 135, 136, 137, 138, - /* 860 */ 139, 372, 351, 352, 191, 488, 193, 371, 459, 380, - /* 870 */ 381, 462, 351, 352, 381, 351, 352, 100, 443, 260, - /* 880 */ 103, 446, 371, 389, 14, 392, 392, 394, 479, 480, - /* 890 */ 20, 477, 371, 484, 485, 371, 223, 224, 0, 226, + /* 680 */ 239, 240, 241, 242, 243, 12, 13, 412, 104, 342, + /* 690 */ 0, 22, 170, 20, 22, 22, 351, 352, 75, 352, + /* 700 */ 342, 372, 351, 352, 35, 260, 33, 35, 35, 380, + /* 710 */ 352, 380, 70, 71, 72, 114, 371, 388, 387, 77, + /* 720 */ 78, 79, 371, 351, 352, 83, 395, 380, 103, 281, + /* 730 */ 88, 89, 90, 91, 459, 62, 94, 462, 380, 392, + /* 740 */ 172, 394, 159, 371, 75, 134, 84, 179, 75, 369, + /* 750 */ 392, 168, 394, 22, 479, 480, 75, 8, 9, 484, + /* 760 */ 485, 12, 13, 14, 15, 16, 35, 140, 141, 100, + /* 770 */ 351, 352, 100, 100, 186, 428, 103, 430, 351, 352, + /* 780 */ 433, 434, 435, 436, 437, 438, 428, 440, 430, 12, + /* 790 */ 13, 433, 434, 435, 436, 437, 438, 20, 440, 22, + /* 800 */ 14, 213, 214, 176, 177, 115, 20, 145, 146, 49, + /* 810 */ 33, 193, 35, 140, 141, 204, 205, 57, 351, 352, + /* 820 */ 60, 61, 475, 476, 134, 135, 136, 137, 138, 139, + /* 830 */ 168, 100, 372, 381, 476, 115, 134, 135, 371, 62, + /* 840 */ 380, 139, 459, 170, 171, 462, 356, 357, 388, 176, + /* 850 */ 177, 0, 75, 104, 134, 135, 136, 137, 138, 139, + /* 860 */ 191, 103, 193, 480, 191, 381, 193, 484, 485, 459, + /* 870 */ 342, 113, 462, 103, 455, 456, 457, 100, 459, 460, + /* 880 */ 103, 342, 455, 456, 457, 260, 459, 460, 365, 366, + /* 890 */ 480, 352, 223, 224, 484, 485, 223, 224, 0, 226, /* 900 */ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - /* 910 */ 237, 238, 239, 240, 241, 242, 243, 140, 141, 104, - /* 920 */ 355, 428, 281, 430, 365, 366, 433, 434, 435, 436, - /* 930 */ 437, 438, 389, 440, 372, 392, 115, 39, 1, 2, - /* 940 */ 447, 459, 380, 381, 462, 452, 342, 170, 171, 351, - /* 950 */ 352, 22, 115, 176, 177, 134, 135, 136, 137, 138, - /* 960 */ 139, 4, 480, 33, 35, 47, 484, 485, 191, 371, - /* 970 */ 193, 134, 135, 136, 137, 138, 139, 351, 352, 49, - /* 980 */ 12, 13, 14, 15, 16, 14, 342, 57, 58, 59, - /* 990 */ 60, 20, 62, 20, 471, 22, 392, 371, 54, 55, + /* 910 */ 237, 238, 239, 240, 241, 242, 243, 140, 141, 380, + /* 920 */ 392, 70, 71, 72, 351, 352, 351, 352, 77, 78, + /* 930 */ 79, 392, 342, 394, 83, 4, 14, 15, 16, 88, + /* 940 */ 89, 90, 91, 381, 371, 94, 371, 170, 171, 342, + /* 950 */ 19, 8, 9, 176, 177, 12, 13, 14, 15, 16, + /* 960 */ 190, 444, 192, 446, 33, 67, 381, 428, 191, 430, + /* 970 */ 193, 358, 433, 434, 435, 436, 437, 438, 381, 440, + /* 980 */ 49, 372, 392, 45, 46, 342, 447, 56, 0, 380, + /* 990 */ 451, 452, 222, 62, 412, 432, 383, 388, 342, 392, /* 1000 */ 223, 224, 0, 226, 227, 228, 229, 230, 231, 232, /* 1010 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - /* 1020 */ 243, 103, 18, 18, 20, 411, 53, 342, 23, 100, - /* 1030 */ 373, 27, 102, 376, 30, 105, 392, 33, 2, 20, - /* 1040 */ 170, 104, 37, 38, 8, 9, 41, 39, 12, 13, - /* 1050 */ 14, 15, 16, 49, 42, 51, 44, 52, 8, 9, - /* 1060 */ 56, 368, 12, 13, 14, 15, 16, 412, 63, 64, + /* 1020 */ 243, 458, 18, 18, 20, 351, 352, 342, 23, 389, + /* 1030 */ 260, 27, 392, 102, 30, 392, 105, 33, 351, 352, + /* 1040 */ 0, 459, 37, 38, 462, 371, 41, 104, 392, 342, + /* 1050 */ 342, 342, 342, 49, 342, 51, 39, 52, 371, 342, + /* 1060 */ 56, 479, 480, 365, 366, 342, 484, 485, 63, 64, /* 1070 */ 65, 66, 70, 71, 72, 73, 74, 392, 76, 77, /* 1080 */ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - /* 1090 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 14, - /* 1100 */ 15, 16, 367, 173, 174, 370, 102, 20, 103, 2, - /* 1110 */ 180, 181, 351, 352, 459, 8, 9, 462, 114, 12, - /* 1120 */ 13, 14, 15, 16, 169, 342, 356, 357, 42, 199, - /* 1130 */ 44, 22, 371, 22, 479, 480, 20, 342, 44, 484, - /* 1140 */ 485, 170, 356, 357, 35, 342, 35, 142, 144, 342, - /* 1150 */ 44, 147, 148, 149, 150, 151, 152, 153, 154, 155, + /* 1090 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 392, + /* 1100 */ 392, 392, 392, 115, 392, 33, 102, 389, 103, 392, + /* 1110 */ 392, 44, 432, 351, 352, 392, 20, 389, 114, 360, + /* 1120 */ 392, 49, 134, 135, 136, 137, 138, 139, 115, 57, + /* 1130 */ 58, 59, 60, 371, 62, 8, 9, 342, 458, 12, + /* 1140 */ 13, 14, 15, 16, 342, 386, 373, 142, 144, 376, + /* 1150 */ 137, 147, 148, 149, 150, 151, 152, 153, 154, 155, /* 1160 */ 156, 157, 158, 159, 160, 161, 162, 163, 412, 165, - /* 1170 */ 166, 167, 8, 9, 13, 392, 12, 13, 14, 15, - /* 1180 */ 16, 135, 342, 114, 75, 139, 35, 392, 183, 184, - /* 1190 */ 185, 172, 352, 188, 354, 392, 35, 342, 342, 392, - /* 1200 */ 342, 342, 247, 365, 366, 107, 201, 202, 110, 100, - /* 1210 */ 342, 100, 257, 45, 46, 459, 412, 212, 462, 262, - /* 1220 */ 215, 381, 172, 218, 219, 220, 221, 222, 380, 381, - /* 1230 */ 380, 381, 392, 164, 394, 479, 480, 380, 381, 44, - /* 1240 */ 484, 485, 13, 342, 380, 381, 200, 392, 392, 203, - /* 1250 */ 392, 392, 206, 352, 208, 354, 380, 381, 0, 172, - /* 1260 */ 392, 258, 259, 459, 35, 260, 462, 259, 428, 381, - /* 1270 */ 430, 62, 68, 433, 434, 435, 436, 437, 438, 207, - /* 1280 */ 440, 209, 381, 479, 480, 445, 170, 447, 484, 485, - /* 1290 */ 0, 451, 452, 392, 0, 394, 0, 44, 107, 104, - /* 1300 */ 191, 110, 193, 107, 44, 107, 110, 49, 110, 44, - /* 1310 */ 44, 342, 22, 44, 105, 44, 22, 35, 22, 140, - /* 1320 */ 141, 352, 44, 354, 368, 44, 35, 44, 44, 428, - /* 1330 */ 44, 430, 223, 224, 433, 434, 435, 436, 437, 438, - /* 1340 */ 355, 440, 402, 350, 193, 0, 445, 352, 447, 391, - /* 1350 */ 381, 44, 451, 452, 1, 2, 402, 104, 44, 44, - /* 1360 */ 461, 392, 481, 394, 104, 44, 75, 13, 44, 104, - /* 1370 */ 104, 103, 44, 104, 342, 104, 44, 283, 44, 13, - /* 1380 */ 453, 113, 104, 263, 352, 104, 354, 104, 104, 35, - /* 1390 */ 104, 285, 413, 465, 429, 50, 49, 428, 20, 430, - /* 1400 */ 342, 35, 433, 434, 435, 436, 437, 438, 422, 440, - /* 1410 */ 352, 104, 354, 381, 445, 427, 447, 206, 104, 104, - /* 1420 */ 451, 452, 360, 422, 392, 104, 394, 223, 104, 189, - /* 1430 */ 360, 415, 104, 352, 20, 342, 104, 42, 104, 381, - /* 1440 */ 399, 20, 402, 352, 399, 352, 169, 20, 397, 352, - /* 1450 */ 392, 351, 394, 351, 399, 99, 397, 397, 101, 364, - /* 1460 */ 428, 351, 430, 98, 363, 433, 434, 435, 436, 437, - /* 1470 */ 438, 20, 440, 351, 381, 193, 362, 445, 351, 447, - /* 1480 */ 351, 344, 48, 451, 452, 392, 428, 394, 430, 348, - /* 1490 */ 344, 433, 434, 435, 436, 437, 438, 348, 440, 422, - /* 1500 */ 360, 12, 13, 445, 342, 447, 20, 394, 360, 451, - /* 1510 */ 452, 22, 20, 353, 352, 20, 360, 414, 353, 360, - /* 1520 */ 351, 428, 33, 430, 35, 344, 433, 434, 435, 436, - /* 1530 */ 437, 438, 342, 440, 360, 360, 360, 351, 445, 381, - /* 1540 */ 447, 344, 352, 381, 451, 452, 392, 381, 381, 392, - /* 1550 */ 210, 62, 381, 381, 392, 392, 394, 426, 381, 381, - /* 1560 */ 103, 422, 424, 358, 75, 197, 421, 342, 196, 195, - /* 1570 */ 420, 381, 358, 351, 394, 402, 392, 352, 270, 269, - /* 1580 */ 392, 392, 392, 413, 394, 402, 392, 470, 470, 100, - /* 1590 */ 428, 278, 430, 182, 407, 433, 434, 435, 436, 437, - /* 1600 */ 438, 419, 440, 473, 472, 470, 381, 445, 407, 447, - /* 1610 */ 280, 469, 279, 451, 452, 468, 264, 392, 428, 394, - /* 1620 */ 430, 413, 467, 433, 434, 435, 436, 437, 438, 259, - /* 1630 */ 440, 287, 489, 284, 482, 445, 483, 447, 20, 352, - /* 1640 */ 282, 451, 452, 114, 432, 261, 353, 358, 20, 464, - /* 1650 */ 358, 405, 407, 428, 342, 430, 463, 407, 433, 434, - /* 1660 */ 435, 436, 437, 438, 352, 440, 392, 392, 392, 358, - /* 1670 */ 174, 392, 447, 103, 404, 376, 451, 452, 358, 352, - /* 1680 */ 191, 450, 193, 103, 342, 384, 370, 392, 351, 392, - /* 1690 */ 392, 36, 344, 381, 352, 345, 358, 374, 359, 374, - /* 1700 */ 374, 416, 340, 423, 392, 0, 394, 0, 408, 0, - /* 1710 */ 408, 42, 223, 224, 0, 35, 216, 35, 35, 35, - /* 1720 */ 216, 0, 35, 381, 35, 236, 237, 238, 239, 240, - /* 1730 */ 241, 242, 216, 0, 392, 216, 394, 0, 35, 0, - /* 1740 */ 428, 22, 430, 35, 211, 433, 434, 435, 436, 437, - /* 1750 */ 438, 0, 440, 0, 199, 342, 0, 199, 193, 447, - /* 1760 */ 200, 0, 191, 451, 452, 352, 0, 0, 187, 186, - /* 1770 */ 428, 0, 430, 0, 47, 433, 434, 435, 436, 437, - /* 1780 */ 438, 0, 440, 35, 49, 0, 0, 47, 42, 0, - /* 1790 */ 0, 0, 47, 0, 381, 0, 0, 0, 385, 0, - /* 1800 */ 0, 159, 0, 35, 159, 392, 0, 394, 0, 0, - /* 1810 */ 0, 0, 0, 342, 0, 0, 0, 0, 476, 0, - /* 1820 */ 0, 0, 0, 352, 0, 0, 47, 342, 0, 42, - /* 1830 */ 0, 0, 0, 0, 0, 0, 0, 352, 0, 0, - /* 1840 */ 22, 428, 143, 430, 342, 0, 433, 434, 435, 436, - /* 1850 */ 437, 438, 381, 440, 352, 0, 385, 182, 0, 22, - /* 1860 */ 0, 48, 22, 392, 35, 394, 381, 62, 0, 62, - /* 1870 */ 0, 48, 0, 0, 0, 0, 35, 392, 0, 394, - /* 1880 */ 0, 14, 35, 381, 35, 39, 0, 39, 62, 39, - /* 1890 */ 0, 35, 49, 49, 392, 42, 394, 0, 44, 428, - /* 1900 */ 49, 430, 39, 39, 433, 434, 435, 436, 437, 438, - /* 1910 */ 0, 440, 47, 428, 342, 430, 47, 40, 433, 434, - /* 1920 */ 435, 436, 437, 438, 352, 440, 47, 39, 0, 0, - /* 1930 */ 428, 69, 430, 342, 0, 433, 434, 435, 436, 437, - /* 1940 */ 438, 0, 440, 352, 35, 49, 39, 0, 35, 342, - /* 1950 */ 49, 39, 0, 381, 35, 49, 39, 385, 0, 352, - /* 1960 */ 35, 0, 39, 478, 392, 49, 394, 0, 0, 0, - /* 1970 */ 0, 0, 381, 112, 35, 22, 110, 0, 35, 35, - /* 1980 */ 35, 35, 44, 392, 35, 394, 35, 22, 381, 487, - /* 1990 */ 35, 35, 385, 0, 44, 35, 22, 35, 0, 392, - /* 2000 */ 428, 394, 430, 22, 0, 433, 434, 435, 436, 437, - /* 2010 */ 438, 22, 440, 35, 51, 0, 0, 35, 35, 428, - /* 2020 */ 342, 430, 0, 22, 433, 434, 435, 436, 437, 438, - /* 2030 */ 352, 440, 1, 442, 20, 428, 104, 430, 35, 103, - /* 2040 */ 433, 434, 435, 436, 437, 438, 35, 440, 35, 0, - /* 2050 */ 19, 103, 35, 172, 22, 342, 0, 198, 22, 381, - /* 2060 */ 0, 172, 0, 385, 33, 352, 174, 172, 3, 178, - /* 2070 */ 392, 172, 394, 44, 48, 103, 194, 101, 178, 104, - /* 2080 */ 49, 44, 103, 48, 99, 342, 44, 103, 57, 58, - /* 2090 */ 59, 60, 265, 62, 381, 352, 104, 44, 104, 103, - /* 2100 */ 103, 47, 47, 104, 104, 392, 428, 394, 430, 103, - /* 2110 */ 44, 433, 434, 435, 436, 437, 438, 265, 440, 3, - /* 2120 */ 44, 35, 342, 104, 381, 35, 35, 35, 35, 35, - /* 2130 */ 47, 104, 352, 102, 104, 392, 105, 394, 0, 44, - /* 2140 */ 0, 428, 258, 430, 47, 47, 433, 434, 435, 436, - /* 2150 */ 437, 438, 265, 440, 103, 103, 39, 0, 39, 173, - /* 2160 */ 103, 381, 104, 104, 103, 175, 103, 103, 47, 138, - /* 2170 */ 44, 428, 392, 430, 394, 101, 433, 434, 435, 436, - /* 2180 */ 437, 438, 113, 440, 342, 245, 101, 2, 22, 223, - /* 2190 */ 103, 47, 104, 104, 352, 47, 114, 22, 35, 342, - /* 2200 */ 104, 126, 103, 103, 173, 103, 103, 103, 428, 352, - /* 2210 */ 430, 180, 104, 433, 434, 435, 436, 437, 438, 104, - /* 2220 */ 440, 35, 104, 381, 35, 103, 35, 225, 103, 35, - /* 2230 */ 199, 104, 103, 103, 392, 104, 394, 104, 381, 35, - /* 2240 */ 104, 35, 103, 22, 103, 44, 126, 35, 103, 392, - /* 2250 */ 342, 394, 103, 103, 126, 22, 69, 115, 126, 35, - /* 2260 */ 352, 68, 35, 35, 342, 35, 35, 35, 97, 35, - /* 2270 */ 428, 35, 430, 75, 352, 433, 434, 435, 436, 437, - /* 2280 */ 438, 44, 440, 35, 35, 428, 35, 430, 22, 381, - /* 2290 */ 433, 434, 435, 436, 437, 438, 0, 440, 35, 35, - /* 2300 */ 392, 75, 394, 381, 35, 35, 35, 35, 35, 35, - /* 2310 */ 22, 35, 35, 0, 392, 342, 394, 49, 39, 35, - /* 2320 */ 39, 0, 35, 0, 39, 352, 35, 49, 39, 49, - /* 2330 */ 0, 49, 35, 35, 0, 21, 428, 22, 430, 22, - /* 2340 */ 22, 433, 434, 435, 436, 437, 438, 21, 440, 20, - /* 2350 */ 428, 490, 430, 490, 381, 433, 434, 435, 436, 437, - /* 2360 */ 438, 490, 440, 490, 490, 392, 490, 394, 490, 490, - /* 2370 */ 490, 490, 490, 490, 490, 342, 490, 490, 490, 490, - /* 2380 */ 490, 490, 490, 490, 490, 352, 490, 490, 490, 490, - /* 2390 */ 342, 490, 490, 490, 490, 490, 490, 490, 490, 490, - /* 2400 */ 352, 428, 490, 430, 490, 490, 433, 434, 435, 436, - /* 2410 */ 437, 438, 490, 440, 381, 490, 490, 490, 490, 490, - /* 2420 */ 490, 490, 490, 490, 490, 392, 490, 394, 490, 381, - /* 2430 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, - /* 2440 */ 392, 490, 394, 490, 490, 490, 490, 490, 342, 490, - /* 2450 */ 490, 490, 490, 490, 490, 490, 490, 490, 352, 490, - /* 2460 */ 490, 428, 490, 430, 490, 342, 433, 434, 435, 436, - /* 2470 */ 437, 438, 490, 440, 490, 352, 428, 490, 430, 342, - /* 2480 */ 490, 433, 434, 435, 436, 437, 438, 381, 440, 352, - /* 2490 */ 490, 490, 490, 490, 490, 490, 490, 490, 392, 490, - /* 2500 */ 394, 490, 490, 490, 381, 490, 490, 490, 490, 490, - /* 2510 */ 490, 490, 490, 490, 490, 392, 342, 394, 381, 490, - /* 2520 */ 490, 490, 490, 490, 490, 490, 352, 490, 490, 392, - /* 2530 */ 490, 394, 490, 490, 428, 490, 430, 342, 490, 433, - /* 2540 */ 434, 435, 436, 437, 438, 490, 440, 352, 490, 490, - /* 2550 */ 490, 428, 490, 430, 490, 381, 433, 434, 435, 436, - /* 2560 */ 437, 438, 490, 440, 490, 428, 392, 430, 394, 490, - /* 2570 */ 433, 434, 435, 436, 437, 438, 381, 440, 490, 490, - /* 2580 */ 490, 490, 490, 490, 490, 490, 490, 392, 490, 394, - /* 2590 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, - /* 2600 */ 490, 490, 428, 342, 430, 490, 490, 433, 434, 435, - /* 2610 */ 436, 437, 438, 352, 440, 490, 490, 342, 490, 490, - /* 2620 */ 490, 490, 490, 428, 490, 430, 490, 352, 433, 434, - /* 2630 */ 435, 436, 437, 438, 342, 440, 490, 490, 490, 490, - /* 2640 */ 490, 490, 381, 490, 352, 490, 490, 490, 490, 490, - /* 2650 */ 490, 490, 490, 392, 490, 394, 381, 490, 490, 490, - /* 2660 */ 490, 490, 490, 490, 490, 490, 490, 392, 490, 394, - /* 2670 */ 490, 490, 490, 381, 490, 490, 490, 490, 490, 490, - /* 2680 */ 490, 490, 490, 490, 392, 490, 394, 490, 490, 428, - /* 2690 */ 490, 430, 490, 490, 433, 434, 435, 436, 437, 438, - /* 2700 */ 490, 440, 490, 428, 490, 430, 490, 490, 433, 434, - /* 2710 */ 435, 436, 437, 438, 490, 440, 490, 490, 490, 490, - /* 2720 */ 428, 490, 430, 490, 490, 433, 434, 435, 436, 437, - /* 2730 */ 438, 490, 440, 342, 490, 490, 490, 490, 490, 490, - /* 2740 */ 490, 490, 490, 352, 490, 490, 490, 490, 490, 342, - /* 2750 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 352, - /* 2760 */ 490, 490, 490, 490, 490, 490, 490, 490, 342, 490, - /* 2770 */ 490, 490, 381, 490, 490, 490, 490, 490, 352, 490, - /* 2780 */ 490, 490, 490, 392, 490, 394, 490, 490, 381, 490, - /* 2790 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 392, - /* 2800 */ 490, 394, 490, 490, 490, 490, 490, 381, 490, 490, - /* 2810 */ 490, 490, 490, 490, 490, 490, 490, 490, 392, 428, - /* 2820 */ 394, 430, 490, 490, 433, 434, 435, 436, 437, 438, - /* 2830 */ 490, 440, 490, 490, 490, 428, 490, 430, 490, 490, - /* 2840 */ 433, 434, 435, 436, 437, 438, 490, 440, 490, 490, - /* 2850 */ 490, 490, 490, 490, 428, 490, 430, 490, 342, 433, - /* 2860 */ 434, 435, 436, 437, 438, 490, 440, 490, 352, 490, - /* 2870 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, - /* 2880 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, - /* 2890 */ 490, 490, 490, 490, 490, 490, 490, 381, 490, 490, - /* 2900 */ 490, 490, 490, 490, 490, 490, 490, 490, 392, 490, - /* 2910 */ 394, 490, 490, 490, 490, 490, 490, 490, 490, 490, - /* 2920 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, - /* 2930 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, - /* 2940 */ 490, 490, 490, 490, 428, 490, 430, 490, 490, 433, - /* 2950 */ 434, 435, 436, 437, 438, 490, 440, 339, 339, 339, + /* 1170 */ 166, 167, 2, 376, 102, 351, 352, 105, 8, 9, + /* 1180 */ 351, 352, 12, 13, 14, 15, 16, 392, 183, 184, + /* 1190 */ 185, 68, 342, 188, 392, 371, 351, 352, 342, 444, + /* 1200 */ 371, 446, 352, 0, 354, 367, 201, 202, 370, 258, + /* 1210 */ 259, 13, 13, 342, 114, 459, 371, 212, 462, 42, + /* 1220 */ 215, 44, 425, 218, 219, 220, 221, 222, 0, 42, + /* 1230 */ 380, 44, 35, 35, 35, 479, 480, 44, 44, 342, + /* 1240 */ 484, 485, 392, 0, 394, 173, 174, 44, 392, 352, + /* 1250 */ 22, 354, 180, 181, 8, 9, 343, 217, 12, 13, + /* 1260 */ 14, 15, 16, 392, 164, 260, 44, 107, 172, 107, + /* 1270 */ 110, 199, 110, 207, 62, 209, 259, 380, 428, 107, + /* 1280 */ 430, 0, 110, 433, 434, 435, 436, 437, 438, 392, + /* 1290 */ 440, 394, 49, 107, 0, 445, 110, 447, 104, 44, + /* 1300 */ 44, 451, 452, 22, 44, 140, 141, 44, 44, 44, + /* 1310 */ 44, 44, 44, 1, 2, 0, 22, 105, 44, 13, + /* 1320 */ 44, 35, 418, 44, 44, 428, 104, 430, 44, 47, + /* 1330 */ 433, 434, 435, 436, 437, 438, 44, 440, 402, 44, + /* 1340 */ 44, 35, 445, 342, 447, 488, 223, 477, 451, 452, + /* 1350 */ 283, 355, 471, 352, 13, 354, 12, 13, 368, 104, + /* 1360 */ 104, 75, 368, 342, 104, 50, 22, 104, 104, 104, + /* 1370 */ 104, 104, 104, 352, 411, 354, 35, 33, 104, 35, + /* 1380 */ 104, 380, 355, 104, 104, 103, 380, 402, 104, 350, + /* 1390 */ 193, 391, 481, 392, 352, 394, 104, 402, 461, 104, + /* 1400 */ 104, 380, 453, 263, 465, 413, 62, 49, 429, 20, + /* 1410 */ 206, 422, 342, 392, 427, 394, 360, 360, 172, 75, + /* 1420 */ 422, 189, 352, 415, 354, 20, 352, 42, 399, 428, + /* 1430 */ 20, 430, 342, 402, 433, 434, 435, 436, 437, 438, + /* 1440 */ 352, 440, 352, 399, 100, 397, 445, 20, 447, 428, + /* 1450 */ 380, 430, 451, 452, 433, 434, 435, 436, 437, 438, + /* 1460 */ 169, 440, 392, 351, 394, 352, 445, 351, 447, 101, + /* 1470 */ 380, 364, 451, 452, 399, 397, 397, 99, 285, 351, + /* 1480 */ 363, 98, 392, 362, 394, 351, 351, 351, 20, 344, + /* 1490 */ 48, 348, 344, 422, 348, 20, 394, 360, 428, 360, + /* 1500 */ 430, 342, 20, 433, 434, 435, 436, 437, 438, 353, + /* 1510 */ 440, 352, 20, 414, 360, 445, 353, 447, 428, 351, + /* 1520 */ 430, 451, 452, 433, 434, 435, 436, 437, 438, 360, + /* 1530 */ 440, 360, 344, 360, 360, 191, 351, 193, 380, 380, + /* 1540 */ 344, 380, 392, 392, 380, 392, 380, 380, 210, 103, + /* 1550 */ 342, 392, 426, 394, 424, 380, 380, 197, 380, 380, + /* 1560 */ 352, 380, 380, 422, 358, 421, 196, 223, 224, 420, + /* 1570 */ 195, 358, 351, 270, 394, 392, 486, 487, 470, 269, + /* 1580 */ 236, 237, 238, 239, 240, 241, 242, 428, 380, 430, + /* 1590 */ 470, 402, 433, 434, 435, 436, 437, 438, 407, 440, + /* 1600 */ 392, 392, 394, 419, 445, 413, 447, 402, 407, 392, + /* 1610 */ 451, 452, 392, 278, 280, 473, 182, 264, 279, 472, + /* 1620 */ 342, 489, 470, 413, 469, 468, 284, 287, 282, 352, + /* 1630 */ 352, 259, 20, 114, 432, 261, 428, 20, 430, 405, + /* 1640 */ 342, 433, 434, 435, 436, 437, 438, 358, 440, 407, + /* 1650 */ 352, 358, 353, 445, 392, 447, 407, 467, 380, 451, + /* 1660 */ 452, 392, 392, 392, 392, 392, 358, 174, 352, 358, + /* 1670 */ 392, 464, 394, 376, 463, 103, 450, 482, 380, 404, + /* 1680 */ 103, 351, 392, 483, 384, 358, 36, 370, 345, 344, + /* 1690 */ 392, 359, 394, 408, 374, 374, 408, 374, 0, 416, + /* 1700 */ 0, 340, 0, 42, 0, 35, 428, 216, 430, 342, + /* 1710 */ 423, 433, 434, 435, 436, 437, 438, 35, 440, 352, + /* 1720 */ 35, 35, 216, 445, 0, 447, 428, 35, 430, 451, + /* 1730 */ 452, 433, 434, 435, 436, 437, 438, 216, 440, 0, + /* 1740 */ 35, 216, 0, 35, 342, 447, 0, 380, 22, 451, + /* 1750 */ 452, 0, 35, 211, 352, 0, 199, 0, 199, 392, + /* 1760 */ 200, 394, 193, 0, 191, 0, 0, 187, 186, 0, + /* 1770 */ 0, 0, 47, 35, 342, 0, 49, 47, 0, 42, + /* 1780 */ 0, 0, 380, 0, 352, 0, 0, 385, 47, 0, + /* 1790 */ 0, 0, 0, 159, 392, 428, 394, 430, 0, 35, + /* 1800 */ 433, 434, 435, 436, 437, 438, 159, 440, 0, 0, + /* 1810 */ 0, 342, 380, 0, 447, 0, 0, 385, 0, 452, + /* 1820 */ 0, 352, 0, 0, 392, 0, 394, 0, 0, 0, + /* 1830 */ 428, 0, 430, 0, 47, 433, 434, 435, 436, 437, + /* 1840 */ 438, 342, 440, 0, 42, 0, 0, 0, 0, 380, + /* 1850 */ 0, 352, 0, 0, 22, 0, 0, 143, 0, 0, + /* 1860 */ 428, 392, 430, 394, 22, 433, 434, 435, 436, 437, + /* 1870 */ 438, 22, 440, 342, 48, 0, 62, 0, 48, 380, + /* 1880 */ 0, 62, 0, 352, 0, 49, 35, 0, 49, 35, + /* 1890 */ 0, 392, 35, 394, 0, 35, 62, 428, 0, 430, + /* 1900 */ 35, 39, 433, 434, 435, 436, 437, 438, 39, 440, + /* 1910 */ 342, 380, 49, 39, 42, 39, 385, 44, 47, 14, + /* 1920 */ 352, 0, 39, 392, 0, 394, 47, 428, 47, 430, + /* 1930 */ 0, 40, 433, 434, 435, 436, 437, 438, 0, 440, + /* 1940 */ 342, 39, 182, 0, 0, 0, 0, 478, 380, 0, + /* 1950 */ 352, 35, 49, 39, 69, 0, 49, 35, 39, 428, + /* 1960 */ 392, 430, 394, 1, 433, 434, 435, 436, 437, 438, + /* 1970 */ 0, 440, 35, 39, 49, 0, 49, 35, 380, 39, + /* 1980 */ 0, 19, 0, 385, 0, 0, 487, 342, 0, 0, + /* 1990 */ 392, 35, 394, 22, 0, 33, 428, 352, 430, 110, + /* 2000 */ 112, 433, 434, 435, 436, 437, 438, 35, 440, 35, + /* 2010 */ 442, 49, 35, 342, 35, 22, 35, 44, 35, 57, + /* 2020 */ 58, 59, 60, 352, 62, 380, 428, 35, 430, 0, + /* 2030 */ 385, 433, 434, 435, 436, 437, 438, 392, 440, 394, + /* 2040 */ 44, 35, 35, 35, 22, 0, 22, 0, 51, 22, + /* 2050 */ 35, 380, 0, 35, 0, 35, 0, 22, 20, 0, + /* 2060 */ 35, 35, 104, 392, 102, 394, 103, 105, 35, 172, + /* 2070 */ 103, 35, 22, 428, 342, 430, 198, 0, 433, 434, + /* 2080 */ 435, 436, 437, 438, 352, 440, 194, 342, 22, 172, + /* 2090 */ 0, 0, 174, 178, 103, 172, 3, 352, 172, 428, + /* 2100 */ 138, 430, 44, 265, 433, 434, 435, 436, 437, 438, + /* 2110 */ 178, 440, 380, 104, 103, 48, 48, 101, 99, 44, + /* 2120 */ 44, 104, 44, 44, 392, 380, 394, 104, 47, 47, + /* 2130 */ 3, 103, 265, 103, 35, 173, 104, 392, 342, 394, + /* 2140 */ 103, 44, 180, 103, 35, 104, 104, 35, 352, 35, + /* 2150 */ 35, 265, 35, 104, 342, 104, 0, 47, 258, 0, + /* 2160 */ 428, 199, 430, 44, 352, 433, 434, 435, 436, 437, + /* 2170 */ 438, 47, 440, 428, 103, 430, 380, 39, 433, 434, + /* 2180 */ 435, 436, 437, 438, 47, 440, 103, 103, 392, 104, + /* 2190 */ 394, 104, 380, 0, 39, 103, 175, 103, 103, 113, + /* 2200 */ 47, 44, 245, 342, 392, 101, 394, 173, 101, 2, + /* 2210 */ 22, 103, 47, 352, 22, 104, 103, 47, 223, 114, + /* 2220 */ 104, 103, 35, 103, 428, 104, 430, 104, 103, 433, + /* 2230 */ 434, 435, 436, 437, 438, 225, 440, 103, 35, 104, + /* 2240 */ 428, 380, 430, 103, 35, 433, 434, 435, 436, 437, + /* 2250 */ 438, 104, 440, 392, 342, 394, 104, 103, 35, 35, + /* 2260 */ 35, 103, 35, 103, 352, 104, 104, 103, 126, 103, + /* 2270 */ 342, 126, 104, 22, 126, 126, 103, 44, 115, 103, + /* 2280 */ 352, 35, 103, 342, 22, 69, 68, 35, 35, 428, + /* 2290 */ 35, 430, 380, 352, 433, 434, 435, 436, 437, 438, + /* 2300 */ 35, 440, 35, 342, 392, 35, 394, 35, 380, 35, + /* 2310 */ 75, 97, 44, 352, 35, 35, 75, 35, 22, 35, + /* 2320 */ 392, 380, 394, 35, 35, 35, 35, 35, 35, 22, + /* 2330 */ 35, 0, 35, 392, 35, 394, 49, 39, 0, 35, + /* 2340 */ 428, 380, 430, 0, 35, 433, 434, 435, 436, 437, + /* 2350 */ 438, 49, 440, 392, 39, 394, 428, 49, 430, 39, + /* 2360 */ 0, 433, 434, 435, 436, 437, 438, 35, 440, 428, + /* 2370 */ 49, 430, 39, 342, 433, 434, 435, 436, 437, 438, + /* 2380 */ 0, 440, 35, 352, 35, 0, 22, 21, 21, 428, + /* 2390 */ 22, 430, 22, 20, 433, 434, 435, 436, 437, 438, + /* 2400 */ 490, 440, 490, 490, 490, 490, 342, 490, 490, 490, + /* 2410 */ 490, 380, 490, 490, 490, 490, 352, 490, 490, 490, + /* 2420 */ 490, 490, 342, 392, 490, 394, 490, 490, 490, 490, + /* 2430 */ 490, 490, 352, 490, 490, 490, 490, 490, 490, 490, + /* 2440 */ 490, 490, 490, 342, 380, 490, 490, 490, 490, 490, + /* 2450 */ 490, 490, 490, 352, 490, 490, 392, 490, 394, 428, + /* 2460 */ 380, 430, 490, 490, 433, 434, 435, 436, 437, 438, + /* 2470 */ 490, 440, 392, 490, 394, 490, 490, 490, 490, 490, + /* 2480 */ 490, 380, 490, 490, 490, 490, 490, 490, 490, 490, + /* 2490 */ 490, 490, 428, 392, 430, 394, 490, 433, 434, 435, + /* 2500 */ 436, 437, 438, 490, 440, 490, 490, 490, 428, 342, + /* 2510 */ 430, 490, 490, 433, 434, 435, 436, 437, 438, 352, + /* 2520 */ 440, 490, 342, 490, 490, 490, 490, 490, 490, 428, + /* 2530 */ 490, 430, 352, 342, 433, 434, 435, 436, 437, 438, + /* 2540 */ 490, 440, 490, 352, 490, 490, 342, 380, 490, 490, + /* 2550 */ 490, 490, 490, 490, 490, 490, 352, 490, 490, 392, + /* 2560 */ 380, 394, 490, 490, 490, 490, 490, 490, 490, 490, + /* 2570 */ 490, 380, 392, 490, 394, 490, 490, 490, 490, 490, + /* 2580 */ 490, 490, 490, 392, 380, 394, 490, 490, 490, 490, + /* 2590 */ 490, 490, 490, 490, 490, 428, 392, 430, 394, 490, + /* 2600 */ 433, 434, 435, 436, 437, 438, 490, 440, 428, 490, + /* 2610 */ 430, 490, 490, 433, 434, 435, 436, 437, 438, 428, + /* 2620 */ 440, 430, 490, 342, 433, 434, 435, 436, 437, 438, + /* 2630 */ 490, 440, 428, 352, 430, 490, 342, 433, 434, 435, + /* 2640 */ 436, 437, 438, 490, 440, 490, 352, 342, 490, 490, + /* 2650 */ 490, 490, 490, 490, 490, 490, 490, 352, 490, 490, + /* 2660 */ 490, 380, 490, 490, 490, 490, 490, 490, 490, 490, + /* 2670 */ 490, 490, 490, 392, 380, 394, 490, 490, 490, 490, + /* 2680 */ 490, 490, 490, 490, 490, 380, 392, 490, 394, 490, + /* 2690 */ 490, 490, 490, 490, 490, 490, 490, 392, 342, 394, + /* 2700 */ 490, 490, 490, 490, 490, 490, 490, 490, 352, 428, + /* 2710 */ 490, 430, 490, 490, 433, 434, 435, 436, 437, 438, + /* 2720 */ 490, 440, 428, 490, 430, 490, 490, 433, 434, 435, + /* 2730 */ 436, 437, 438, 428, 440, 430, 380, 490, 433, 434, + /* 2740 */ 435, 436, 437, 438, 490, 440, 490, 490, 392, 490, + /* 2750 */ 394, 490, 490, 490, 490, 490, 490, 490, 490, 490, + /* 2760 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, + /* 2770 */ 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, + /* 2780 */ 490, 490, 490, 490, 428, 490, 430, 490, 490, 433, + /* 2790 */ 434, 435, 436, 437, 438, 490, 440, 339, 339, 339, + /* 2800 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2810 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2820 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2830 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2840 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2850 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2860 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2870 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2880 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2890 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2900 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2910 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2920 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2930 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2940 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, + /* 2950 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, /* 2960 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, /* 2970 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, /* 2980 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, @@ -831,230 +809,214 @@ static const YYCODETYPE yy_lookahead[] = { /* 3100 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, /* 3110 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, /* 3120 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3130 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3140 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3150 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3160 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3170 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3180 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3190 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3200 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3210 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3220 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3230 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3240 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3250 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3260 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3270 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3280 */ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - /* 3290 */ 339, 339, 339, 339, 339, 339, + /* 3130 */ 339, 339, 339, 339, 339, 339, }; -#define YY_SHIFT_COUNT (800) +#define YY_SHIFT_COUNT (804) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2334) +#define YY_SHIFT_MAX (2385) static const unsigned short int yy_shift_ofst[] = { /* 0 */ 1005, 0, 104, 0, 337, 337, 337, 337, 337, 337, /* 10 */ 337, 337, 337, 337, 337, 337, 441, 673, 673, 777, /* 20 */ 673, 673, 673, 673, 673, 673, 673, 673, 673, 673, /* 30 */ 673, 673, 673, 673, 673, 673, 673, 673, 673, 673, /* 40 */ 673, 673, 673, 673, 673, 673, 673, 673, 673, 673, - /* 50 */ 673, 66, 111, 619, 380, 91, 109, 91, 380, 380, - /* 60 */ 91, 1489, 91, 1489, 1489, 257, 91, 35, 677, 170, - /* 70 */ 170, 677, 4, 4, 302, 167, 495, 495, 170, 170, - /* 80 */ 170, 170, 170, 170, 170, 170, 170, 170, 199, 170, - /* 90 */ 170, 181, 35, 170, 170, 262, 35, 170, 199, 170, - /* 100 */ 199, 35, 170, 170, 35, 170, 35, 35, 35, 170, - /* 110 */ 247, 1004, 15, 15, 513, 171, 1109, 1109, 1109, 1109, - /* 120 */ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, - /* 130 */ 1109, 1109, 1109, 1109, 1109, 321, 520, 302, 167, 944, - /* 140 */ 944, 436, 290, 290, 290, 698, 260, 260, 436, 181, - /* 150 */ 35, 35, 35, 35, 268, 151, 35, 315, 35, 315, - /* 160 */ 315, 288, 344, 28, 28, 28, 28, 2031, 448, 225, - /* 170 */ 371, 30, 481, 32, 130, 602, 602, 870, 568, 971, - /* 180 */ 973, 1019, 1168, 826, 656, 1087, 1003, 1008, 641, 1003, - /* 190 */ 1012, 957, 1116, 1120, 1347, 1378, 1211, 181, 1378, 181, - /* 200 */ 1240, 1414, 1395, 1421, 1414, 1395, 1277, 1427, 1414, 1427, - /* 210 */ 1395, 1277, 1277, 1357, 1356, 1427, 1365, 1427, 1427, 1427, - /* 220 */ 1451, 1434, 1451, 1434, 1378, 181, 1486, 181, 1492, 1495, - /* 230 */ 181, 1492, 181, 181, 181, 1427, 181, 1451, 35, 35, - /* 240 */ 35, 35, 35, 35, 35, 1427, 1451, 315, 315, 315, - /* 250 */ 1340, 1457, 1378, 247, 1368, 1372, 1486, 247, 1374, 1120, - /* 260 */ 1427, 1421, 1421, 315, 1308, 1310, 315, 1308, 1310, 315, - /* 270 */ 315, 35, 1313, 1411, 1308, 1330, 1333, 1352, 1120, 1344, - /* 280 */ 1349, 1358, 1370, 1414, 1618, 1529, 1384, 1492, 247, 247, - /* 290 */ 1628, 1310, 315, 315, 315, 315, 315, 1310, 315, 1496, - /* 300 */ 247, 288, 247, 1414, 1570, 1580, 315, 344, 1427, 247, - /* 310 */ 1655, 1451, 2957, 2957, 2957, 2957, 2957, 2957, 2957, 2957, - /* 320 */ 2957, 1002, 930, 259, 646, 419, 718, 815, 721, 1036, - /* 330 */ 1107, 1050, 837, 1164, 1164, 1164, 1164, 1164, 1164, 1164, - /* 340 */ 1164, 1164, 821, 1046, 968, 968, 297, 160, 319, 550, - /* 350 */ 689, 929, 1111, 738, 88, 514, 514, 1085, 937, 955, - /* 360 */ 1085, 1085, 1085, 1258, 112, 1195, 898, 1086, 1069, 17, - /* 370 */ 1098, 1191, 1196, 1198, 1161, 1229, 1290, 1294, 1296, 1072, - /* 380 */ 1253, 1260, 1209, 1265, 1266, 1269, 1179, 1094, 1106, 1271, - /* 390 */ 1278, 1281, 1283, 1284, 1286, 1353, 1307, 1204, 1314, 918, - /* 400 */ 1315, 1321, 1324, 1328, 1332, 1334, 1268, 1151, 1282, 1354, - /* 410 */ 1366, 1291, 1345, 1705, 1707, 1709, 1669, 1714, 1680, 1500, - /* 420 */ 1682, 1683, 1684, 1504, 1721, 1687, 1689, 1516, 1733, 1519, - /* 430 */ 1737, 1703, 1739, 1719, 1751, 1708, 1533, 1753, 1555, 1756, - /* 440 */ 1558, 1560, 1565, 1571, 1761, 1766, 1767, 1581, 1583, 1771, - /* 450 */ 1773, 1727, 1781, 1748, 1735, 1785, 1740, 1786, 1746, 1789, - /* 460 */ 1790, 1791, 1745, 1793, 1795, 1796, 1797, 1799, 1800, 1642, - /* 470 */ 1768, 1802, 1645, 1806, 1808, 1809, 1810, 1811, 1812, 1814, - /* 480 */ 1815, 1816, 1817, 1819, 1820, 1821, 1822, 1824, 1825, 1779, - /* 490 */ 1828, 1787, 1830, 1831, 1832, 1833, 1834, 1835, 1818, 1836, - /* 500 */ 1838, 1839, 1699, 1845, 1855, 1837, 1813, 1840, 1823, 1860, - /* 510 */ 1805, 1829, 1868, 1807, 1870, 1826, 1872, 1873, 1841, 1843, - /* 520 */ 1846, 1874, 1847, 1844, 1848, 1875, 1849, 1851, 1850, 1878, - /* 530 */ 1856, 1880, 1853, 1863, 1854, 1865, 1869, 1867, 1879, 1886, - /* 540 */ 1877, 1864, 1890, 1897, 1910, 1888, 1675, 1858, 1928, 1929, - /* 550 */ 1862, 1934, 1941, 1909, 1896, 1907, 1947, 1913, 1901, 1912, - /* 560 */ 1952, 1919, 1906, 1917, 1958, 1925, 1916, 1923, 1961, 1967, - /* 570 */ 1968, 1969, 1970, 1971, 1861, 1866, 1939, 1953, 1977, 1943, - /* 580 */ 1944, 1945, 1946, 1949, 1951, 1955, 1938, 1950, 1956, 1960, - /* 590 */ 1965, 1962, 1993, 1974, 1998, 1981, 1963, 2004, 1989, 1978, - /* 600 */ 2015, 1982, 2016, 1983, 2022, 2001, 2014, 2003, 2011, 2013, - /* 610 */ 1932, 1936, 2049, 1881, 1948, 1859, 2017, 2032, 2056, 1882, - /* 620 */ 2036, 1889, 1892, 2060, 2062, 1895, 1891, 1899, 1900, 2065, - /* 630 */ 2029, 1827, 1972, 1975, 1979, 2026, 1976, 2035, 1985, 1992, - /* 640 */ 2037, 2042, 1994, 1984, 1996, 1997, 1999, 2053, 2054, 2055, - /* 650 */ 2006, 2066, 1852, 2000, 2019, 2116, 2076, 1887, 2086, 2090, - /* 660 */ 2091, 2092, 2093, 2094, 2027, 2030, 2083, 1884, 2095, 2097, - /* 670 */ 2138, 2140, 2051, 2117, 1865, 2098, 2052, 2058, 2059, 2057, - /* 680 */ 2061, 1990, 2063, 2157, 2119, 1986, 2064, 2069, 1865, 2121, - /* 690 */ 2126, 2074, 1940, 2085, 2185, 2166, 1966, 2087, 2088, 2099, - /* 700 */ 2089, 2100, 2096, 2144, 2102, 2103, 2148, 2108, 2175, 2002, - /* 710 */ 2104, 2082, 2115, 2163, 2186, 2122, 2118, 2189, 2125, 2127, - /* 720 */ 2191, 2129, 2131, 2194, 2130, 2133, 2204, 2139, 2136, 2206, - /* 730 */ 2141, 2075, 2120, 2128, 2132, 2221, 2142, 2145, 2201, 2149, - /* 740 */ 2212, 2150, 2201, 2201, 2233, 2187, 2193, 2224, 2227, 2228, - /* 750 */ 2230, 2231, 2232, 2234, 2236, 2198, 2171, 2237, 2248, 2249, - /* 760 */ 2251, 2266, 2263, 2264, 2269, 2226, 1938, 2270, 1950, 2271, - /* 770 */ 2272, 2273, 2274, 2288, 2276, 2296, 2277, 2268, 2279, 2313, - /* 780 */ 2284, 2278, 2281, 2321, 2287, 2280, 2285, 2323, 2291, 2282, - /* 790 */ 2289, 2330, 2297, 2298, 2334, 2315, 2314, 2317, 2318, 2326, - /* 800 */ 2329, + /* 50 */ 673, 202, 257, 770, 35, 376, 625, 376, 35, 35, + /* 60 */ 376, 1344, 376, 1344, 1344, 445, 376, 1, 627, 98, + /* 70 */ 98, 627, 371, 371, 153, 167, 382, 382, 98, 98, + /* 80 */ 98, 98, 98, 98, 98, 98, 98, 98, 228, 98, + /* 90 */ 98, 216, 1, 98, 98, 365, 1, 98, 228, 98, + /* 100 */ 228, 1, 98, 98, 1, 98, 1, 1, 1, 98, + /* 110 */ 478, 1004, 15, 15, 642, 171, 669, 669, 669, 669, + /* 120 */ 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, + /* 130 */ 669, 669, 669, 669, 669, 447, 430, 153, 167, 450, + /* 140 */ 450, 281, 101, 101, 101, 898, 305, 305, 281, 216, + /* 150 */ 476, 393, 1, 623, 1, 623, 623, 601, 681, 28, + /* 160 */ 28, 28, 28, 28, 28, 28, 28, 1962, 851, 261, + /* 170 */ 368, 34, 196, 32, 340, 618, 618, 481, 568, 522, + /* 180 */ 378, 201, 938, 786, 1013, 1096, 951, 1017, 448, 951, + /* 190 */ 1177, 357, 24, 1140, 1358, 1389, 1204, 216, 1389, 216, + /* 200 */ 1232, 1405, 1385, 1410, 1405, 1385, 1291, 1427, 1405, 1427, + /* 210 */ 1385, 1291, 1291, 1368, 1378, 1427, 1383, 1427, 1427, 1427, + /* 220 */ 1468, 1442, 1468, 1442, 1389, 216, 1475, 216, 1482, 1492, + /* 230 */ 216, 1482, 216, 216, 216, 1427, 216, 1468, 1, 1, + /* 240 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1427, + /* 250 */ 1468, 623, 623, 623, 1338, 1446, 1389, 478, 1360, 1370, + /* 260 */ 1475, 478, 1375, 1140, 1427, 1410, 1410, 623, 1303, 1310, + /* 270 */ 623, 1303, 1310, 623, 623, 1, 1335, 1434, 1303, 1334, + /* 280 */ 1339, 1353, 1140, 1340, 1342, 1346, 1372, 1405, 1612, 1519, + /* 290 */ 1374, 1482, 478, 478, 1617, 1310, 623, 623, 623, 623, + /* 300 */ 623, 1310, 623, 1493, 478, 601, 478, 1405, 1572, 1577, + /* 310 */ 623, 681, 1427, 478, 1650, 1468, 2797, 2797, 2797, 2797, + /* 320 */ 2797, 2797, 2797, 2797, 2797, 1002, 1072, 225, 414, 931, + /* 330 */ 749, 943, 690, 646, 1170, 1246, 988, 1127, 1127, 1127, + /* 340 */ 1127, 1127, 1127, 1127, 1127, 1127, 720, 187, 200, 200, + /* 350 */ 662, 760, 588, 583, 561, 672, 731, 579, 611, 702, + /* 360 */ 702, 922, 8, 276, 922, 922, 922, 1243, 1040, 584, + /* 370 */ 352, 1187, 1100, 1203, 1160, 1162, 1172, 1186, 1198, 1199, + /* 380 */ 1228, 1281, 1294, 1066, 1194, 1222, 1212, 1255, 1256, 1260, + /* 390 */ 1165, 1067, 1193, 1263, 1264, 1265, 1266, 1267, 1268, 1312, + /* 400 */ 1274, 1123, 1276, 1282, 1279, 1280, 1284, 1292, 1295, 1296, + /* 410 */ 758, 421, 1197, 1306, 1341, 1286, 1315, 1698, 1700, 1702, + /* 420 */ 1661, 1704, 1670, 1491, 1682, 1685, 1686, 1506, 1724, 1692, + /* 430 */ 1705, 1521, 1739, 1525, 1742, 1708, 1746, 1726, 1751, 1717, + /* 440 */ 1542, 1755, 1557, 1757, 1559, 1560, 1569, 1573, 1763, 1765, + /* 450 */ 1766, 1580, 1582, 1769, 1770, 1725, 1771, 1738, 1727, 1775, + /* 460 */ 1730, 1778, 1737, 1780, 1781, 1783, 1741, 1785, 1786, 1789, + /* 470 */ 1790, 1791, 1792, 1634, 1764, 1798, 1647, 1808, 1809, 1810, + /* 480 */ 1813, 1815, 1816, 1818, 1820, 1822, 1823, 1825, 1827, 1828, + /* 490 */ 1829, 1831, 1833, 1787, 1843, 1802, 1845, 1846, 1847, 1848, + /* 500 */ 1850, 1852, 1832, 1853, 1855, 1856, 1714, 1858, 1859, 1842, + /* 510 */ 1826, 1849, 1830, 1875, 1814, 1851, 1877, 1819, 1880, 1834, + /* 520 */ 1882, 1884, 1854, 1836, 1862, 1887, 1857, 1839, 1869, 1890, + /* 530 */ 1860, 1863, 1874, 1894, 1865, 1898, 1872, 1876, 1873, 1871, + /* 540 */ 1879, 1905, 1881, 1921, 1891, 1883, 1924, 1930, 1938, 1902, + /* 550 */ 1760, 1943, 1944, 1945, 1885, 1946, 1949, 1916, 1903, 1914, + /* 560 */ 1955, 1922, 1907, 1919, 1970, 1937, 1925, 1934, 1975, 1942, + /* 570 */ 1927, 1940, 1980, 1982, 1984, 1985, 1988, 1989, 1888, 1889, + /* 580 */ 1956, 1971, 1994, 1972, 1974, 1977, 1979, 1981, 1983, 1992, + /* 590 */ 1973, 1996, 2006, 2007, 1993, 2008, 2029, 2022, 2045, 2024, + /* 600 */ 1997, 2047, 2027, 2015, 2052, 2018, 2054, 2020, 2056, 2035, + /* 610 */ 2038, 2025, 2026, 2033, 1958, 1963, 2059, 1897, 1967, 1878, + /* 620 */ 2036, 2050, 2077, 1892, 2066, 1917, 1918, 2090, 2091, 1923, + /* 630 */ 1915, 1926, 1932, 2093, 2058, 1838, 1991, 2009, 2011, 2067, + /* 640 */ 2016, 2068, 2019, 2017, 2075, 2076, 2023, 2028, 2030, 2037, + /* 650 */ 2032, 2078, 2081, 2082, 2040, 2079, 1867, 2041, 2042, 2127, + /* 660 */ 2097, 1886, 2099, 2109, 2112, 2114, 2115, 2117, 2049, 2051, + /* 670 */ 2110, 1900, 2119, 2124, 2156, 2159, 2071, 2138, 1871, 2137, + /* 680 */ 2083, 2085, 2087, 2084, 2092, 2021, 2094, 2193, 2155, 2034, + /* 690 */ 2095, 2086, 1871, 2153, 2157, 2104, 1957, 2107, 2207, 2188, + /* 700 */ 1995, 2108, 2111, 2113, 2116, 2118, 2121, 2165, 2120, 2125, + /* 710 */ 2170, 2123, 2192, 2010, 2134, 2105, 2135, 2187, 2203, 2140, + /* 720 */ 2147, 2209, 2154, 2152, 2223, 2158, 2161, 2224, 2160, 2162, + /* 730 */ 2225, 2164, 2168, 2227, 2166, 2142, 2145, 2148, 2149, 2251, + /* 740 */ 2163, 2173, 2233, 2176, 2246, 2179, 2233, 2233, 2262, 2216, + /* 750 */ 2218, 2252, 2253, 2255, 2265, 2267, 2270, 2272, 2274, 2235, + /* 760 */ 2214, 2268, 2279, 2280, 2282, 2296, 2284, 2288, 2289, 2241, + /* 770 */ 1973, 2290, 1996, 2291, 2292, 2293, 2295, 2307, 2297, 2331, + /* 780 */ 2299, 2287, 2298, 2338, 2304, 2302, 2315, 2343, 2309, 2308, + /* 790 */ 2320, 2360, 2332, 2321, 2333, 2380, 2347, 2349, 2385, 2364, + /* 800 */ 2366, 2368, 2370, 2367, 2373, }; -#define YY_REDUCE_COUNT (320) -#define YY_REDUCE_MIN (-439) -#define YY_REDUCE_MAX (2516) +#define YY_REDUCE_COUNT (324) +#define YY_REDUCE_MIN (-391) +#define YY_REDUCE_MAX (2356) static const short yy_reduce_ofst[] = { - /* 0 */ 284, -341, -134, -27, 205, 840, 901, 969, 1032, 1058, - /* 10 */ 1093, 1162, 1190, 368, 1225, 1312, 52, 118, 347, 493, - /* 20 */ 1342, 1413, 1471, 1485, 1502, 1572, 1591, 1607, 1678, 1713, - /* 30 */ 1743, 1780, 1842, 1857, 1908, 1922, 1973, 2033, 2048, 2106, - /* 40 */ 2123, 2137, 2174, 2195, 2261, 2275, 2292, 2391, 2407, 2426, - /* 50 */ 2516, -274, 232, 409, -292, -371, 655, 756, -136, 41, - /* 60 */ 804, -366, 146, -311, -310, -107, 482, -19, -391, -346, - /* 70 */ -315, -287, -280, -270, -266, -117, -215, -173, -250, -73, - /* 80 */ 63, 70, -209, 37, 98, 258, 295, 363, 23, 336, - /* 90 */ 373, 359, -297, 415, 511, 114, 64, 496, 184, 521, - /* 100 */ 300, 398, 524, 598, 241, 626, 489, 342, 562, 761, - /* 110 */ 81, -278, -439, -439, -5, -168, 24, 75, 137, 142, - /* 120 */ 203, 400, 446, 604, 644, 685, 783, 795, 803, 807, - /* 130 */ 855, 856, 858, 859, 868, -16, -1, 121, 227, 770, - /* 140 */ 786, 559, -1, 384, 393, 355, 154, 256, 838, 202, - /* 150 */ 848, 850, 857, 864, -271, 435, 876, -385, -347, 494, - /* 160 */ 543, 657, 735, -388, -367, 218, -388, 245, 431, 464, - /* 170 */ 430, 377, 414, 565, 523, 693, 956, 888, 614, 888, - /* 180 */ 985, 940, 993, 995, 958, 954, 899, 899, 881, 899, - /* 190 */ 927, 928, 888, 979, 965, 986, 988, 1062, 1001, 1070, - /* 200 */ 1016, 1081, 1041, 1040, 1091, 1045, 1051, 1100, 1097, 1102, - /* 210 */ 1055, 1059, 1060, 1095, 1101, 1110, 1114, 1122, 1127, 1129, - /* 220 */ 1137, 1141, 1146, 1149, 1077, 1140, 1113, 1148, 1160, 1103, - /* 230 */ 1156, 1165, 1159, 1174, 1175, 1169, 1176, 1181, 1158, 1166, - /* 240 */ 1167, 1171, 1172, 1177, 1178, 1186, 1197, 1154, 1157, 1163, - /* 250 */ 1131, 1138, 1139, 1205, 1145, 1150, 1180, 1214, 1182, 1170, - /* 260 */ 1222, 1173, 1183, 1184, 1117, 1187, 1188, 1118, 1201, 1189, - /* 270 */ 1194, 888, 1130, 1132, 1135, 1142, 1147, 1155, 1208, 1143, - /* 280 */ 1153, 1152, 899, 1287, 1212, 1185, 1193, 1293, 1289, 1292, - /* 290 */ 1246, 1245, 1274, 1275, 1276, 1279, 1295, 1250, 1297, 1270, - /* 300 */ 1311, 1299, 1320, 1327, 1231, 1301, 1298, 1316, 1337, 1338, - /* 310 */ 1350, 1348, 1285, 1280, 1300, 1302, 1323, 1325, 1326, 1339, - /* 320 */ 1362, + /* 0 */ -20, -341, -134, -27, 205, 850, 897, 1001, 1021, 1070, + /* 10 */ 1159, 1208, 1278, 158, 539, 1298, 52, 347, 1090, 1367, + /* 20 */ 358, 1402, 1432, 1469, 1499, 1531, 1568, 1598, 1645, 1671, + /* 30 */ 1732, 1745, 1796, 1812, 1861, 1912, 1928, 1941, 1961, 2031, + /* 40 */ 2064, 2080, 2101, 2167, 2180, 2191, 2204, 2281, 2294, 2305, + /* 50 */ 2356, -274, 142, 40, -292, -371, 275, 582, 419, 427, + /* 60 */ 756, -366, 47, -311, -310, 383, 410, -9, -391, -346, + /* 70 */ -315, -308, -342, -280, -265, -314, -313, -173, -229, -162, + /* 80 */ -73, 3, 17, 83, 273, 345, 351, 145, -41, 372, + /* 90 */ 573, 243, -66, 575, 674, 86, -29, 467, 38, 687, + /* 100 */ 184, 329, 762, 824, 159, 829, 460, 331, 609, 845, + /* 110 */ -285, -351, -317, -317, -85, -236, -258, 106, 528, 590, + /* 120 */ 607, 643, 656, 685, 707, 708, 709, 710, 712, 717, + /* 130 */ 723, 795, 802, 856, 871, -132, -289, -226, -174, 155, + /* 140 */ 490, 523, -289, 563, 680, 613, 517, 755, 698, 759, + /* 150 */ 797, 203, 95, 640, 41, 718, 728, 773, 838, -364, + /* 160 */ -320, 452, 484, 562, 585, 597, 562, 904, 380, 913, + /* 170 */ 936, 857, 870, 996, 881, 990, 994, 1006, 963, 1006, + /* 180 */ 1027, 985, 1039, 1042, 1000, 995, 937, 937, 911, 937, + /* 190 */ 949, 939, 1006, 992, 979, 989, 987, 1056, 998, 1057, + /* 200 */ 1008, 1074, 1029, 1031, 1088, 1044, 1048, 1112, 1113, 1116, + /* 210 */ 1075, 1078, 1079, 1107, 1117, 1128, 1121, 1134, 1135, 1136, + /* 220 */ 1145, 1143, 1148, 1146, 1071, 1137, 1102, 1139, 1156, 1099, + /* 230 */ 1154, 1163, 1169, 1171, 1173, 1168, 1174, 1188, 1158, 1161, + /* 240 */ 1164, 1166, 1167, 1175, 1176, 1178, 1179, 1181, 1182, 1185, + /* 250 */ 1196, 1150, 1151, 1153, 1126, 1130, 1141, 1206, 1144, 1149, + /* 260 */ 1180, 1213, 1184, 1192, 1221, 1189, 1205, 1183, 1108, 1191, + /* 270 */ 1209, 1120, 1201, 1217, 1220, 1006, 1142, 1147, 1152, 1155, + /* 280 */ 1157, 1190, 1210, 1132, 1200, 1195, 937, 1277, 1202, 1207, + /* 290 */ 1211, 1299, 1289, 1293, 1234, 1242, 1262, 1269, 1270, 1271, + /* 300 */ 1272, 1249, 1273, 1275, 1308, 1297, 1311, 1316, 1226, 1300, + /* 310 */ 1290, 1317, 1330, 1327, 1343, 1345, 1283, 1287, 1285, 1288, + /* 320 */ 1320, 1321, 1323, 1332, 1361, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 10 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 20 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 30 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 40 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 50 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 60 */ 2100, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 70 */ 1788, 1788, 1788, 1788, 2073, 1788, 1788, 1788, 1788, 1788, - /* 80 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 90 */ 1788, 1877, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 100 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 110 */ 1875, 2066, 2292, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 120 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 130 */ 1788, 1788, 1788, 1788, 1788, 1788, 2304, 1788, 1788, 1851, - /* 140 */ 1851, 1788, 2304, 2304, 2304, 1875, 2264, 2264, 1788, 1877, - /* 150 */ 1788, 1788, 1788, 1788, 2134, 1788, 1788, 1788, 1788, 1788, - /* 160 */ 1788, 1998, 1788, 2022, 1788, 1788, 1788, 2126, 1788, 1788, - /* 170 */ 2333, 2390, 1788, 1788, 2336, 1788, 1788, 1788, 1788, 1788, - /* 180 */ 1788, 2078, 1788, 1788, 1950, 2323, 2296, 2310, 2374, 2297, - /* 190 */ 2294, 2317, 1788, 2327, 1788, 1788, 2148, 1877, 1788, 1877, - /* 200 */ 2113, 1788, 2071, 1788, 1788, 2071, 2068, 1788, 1788, 1788, - /* 210 */ 2071, 2068, 2068, 1939, 1935, 1788, 1933, 1788, 1788, 1788, - /* 220 */ 1788, 1835, 1788, 1835, 1788, 1877, 1788, 1877, 1788, 1788, - /* 230 */ 1877, 1788, 1877, 1877, 1877, 1788, 1877, 1788, 1788, 1788, - /* 240 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 250 */ 2146, 2132, 1788, 1875, 2124, 2122, 1788, 1875, 2120, 2327, - /* 260 */ 1788, 1788, 1788, 1788, 2344, 2342, 1788, 2344, 2342, 1788, - /* 270 */ 1788, 1788, 2358, 2354, 2344, 2363, 2360, 2329, 2327, 2393, - /* 280 */ 2380, 2376, 2310, 1788, 1788, 2315, 2313, 1788, 1875, 1875, - /* 290 */ 1788, 2342, 1788, 1788, 1788, 1788, 1788, 2342, 1788, 1788, - /* 300 */ 1875, 1788, 1875, 1788, 1788, 1966, 1788, 1788, 1788, 1875, - /* 310 */ 1820, 1788, 2115, 2137, 2096, 2096, 2001, 2001, 2001, 1878, - /* 320 */ 1793, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 330 */ 1788, 1788, 1788, 2357, 2356, 2219, 1788, 2268, 2267, 2266, - /* 340 */ 2257, 2218, 1962, 1788, 2217, 2216, 1788, 1788, 1788, 1788, - /* 350 */ 1788, 1788, 1788, 1788, 1788, 2087, 2086, 2210, 1788, 1788, - /* 360 */ 2211, 2209, 2208, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 370 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 380 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 2377, 2381, 1788, - /* 390 */ 1788, 1788, 1788, 1788, 1788, 2293, 1788, 1788, 1788, 2192, - /* 400 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 410 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 420 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 430 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 440 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 450 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 460 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 470 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 480 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 490 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 500 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 510 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 520 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 530 */ 1788, 1788, 1788, 1788, 1825, 2197, 1788, 1788, 1788, 1788, - /* 540 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 550 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 560 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 570 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 580 */ 1788, 1788, 1788, 1788, 1788, 1788, 1916, 1915, 1788, 1788, - /* 590 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 600 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 610 */ 2201, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 620 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 2373, - /* 630 */ 2330, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 640 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 2192, - /* 650 */ 1788, 2355, 1788, 1788, 2371, 1788, 2375, 1788, 1788, 1788, - /* 660 */ 1788, 1788, 1788, 1788, 2303, 2299, 1788, 1788, 2295, 1788, - /* 670 */ 1788, 1788, 1788, 1788, 2200, 1788, 1788, 1788, 1788, 1788, - /* 680 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 2191, 1788, - /* 690 */ 2254, 1788, 1788, 1788, 2288, 1788, 1788, 2239, 1788, 1788, - /* 700 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 2201, 1788, 2204, - /* 710 */ 1788, 1788, 1788, 1788, 1788, 1995, 1788, 1788, 1788, 1788, - /* 720 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 730 */ 1788, 1979, 1977, 1976, 1975, 1788, 1972, 1788, 2008, 1788, - /* 740 */ 1788, 1788, 2004, 2003, 1788, 1788, 1788, 1788, 1788, 1788, - /* 750 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1896, 1788, 1788, - /* 760 */ 1788, 1788, 1788, 1788, 1788, 1788, 1888, 1788, 1887, 1788, - /* 770 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 780 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 790 */ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - /* 800 */ 1788, + /* 0 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 10 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 20 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 30 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 40 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 50 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 60 */ 2104, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 70 */ 1792, 1792, 1792, 1792, 2077, 1792, 1792, 1792, 1792, 1792, + /* 80 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 90 */ 1792, 1881, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 100 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 110 */ 1879, 2070, 2296, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 120 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 130 */ 1792, 1792, 1792, 1792, 1792, 1792, 2308, 1792, 1792, 1855, + /* 140 */ 1855, 1792, 2308, 2308, 2308, 1879, 2268, 2268, 1792, 1881, + /* 150 */ 2138, 1792, 1792, 1792, 1792, 1792, 1792, 2002, 1792, 1792, + /* 160 */ 1792, 1792, 1792, 2026, 1792, 1792, 1792, 2130, 1792, 1792, + /* 170 */ 2337, 2394, 1792, 1792, 2340, 1792, 1792, 1792, 1792, 1792, + /* 180 */ 1792, 2082, 1792, 1792, 1954, 2327, 2300, 2314, 2378, 2301, + /* 190 */ 2298, 2321, 1792, 2331, 1792, 1792, 2152, 1881, 1792, 1881, + /* 200 */ 2117, 1792, 2075, 1792, 1792, 2075, 2072, 1792, 1792, 1792, + /* 210 */ 2075, 2072, 2072, 1943, 1939, 1792, 1937, 1792, 1792, 1792, + /* 220 */ 1792, 1839, 1792, 1839, 1792, 1881, 1792, 1881, 1792, 1792, + /* 230 */ 1881, 1792, 1881, 1881, 1881, 1792, 1881, 1792, 1792, 1792, + /* 240 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 250 */ 1792, 1792, 1792, 1792, 2150, 2136, 1792, 1879, 2128, 2126, + /* 260 */ 1792, 1879, 2124, 2331, 1792, 1792, 1792, 1792, 2348, 2346, + /* 270 */ 1792, 2348, 2346, 1792, 1792, 1792, 2362, 2358, 2348, 2367, + /* 280 */ 2364, 2333, 2331, 2397, 2384, 2380, 2314, 1792, 1792, 2319, + /* 290 */ 2317, 1792, 1879, 1879, 1792, 2346, 1792, 1792, 1792, 1792, + /* 300 */ 1792, 2346, 1792, 1792, 1879, 1792, 1879, 1792, 1792, 1970, + /* 310 */ 1792, 1792, 1792, 1879, 1824, 1792, 2119, 2141, 2100, 2100, + /* 320 */ 2005, 2005, 2005, 1882, 1797, 1792, 1792, 1792, 1792, 1792, + /* 330 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 2361, 2360, 2223, + /* 340 */ 1792, 2272, 2271, 2270, 2261, 2222, 1966, 1792, 2221, 2220, + /* 350 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 2091, + /* 360 */ 2090, 2214, 1792, 1792, 2215, 2213, 2212, 1792, 1792, 1792, + /* 370 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 380 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 390 */ 1792, 2381, 2385, 1792, 1792, 1792, 1792, 1792, 1792, 2297, + /* 400 */ 1792, 1792, 1792, 2196, 1792, 1792, 1792, 1792, 1792, 1792, + /* 410 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 420 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 430 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 440 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 450 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 460 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 470 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 480 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 490 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 500 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 510 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 520 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 530 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1829, 2201, + /* 540 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 550 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 560 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 570 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 580 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 590 */ 1920, 1919, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 600 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 610 */ 1792, 1792, 1792, 1792, 2205, 1792, 1792, 1792, 1792, 1792, + /* 620 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 630 */ 1792, 1792, 1792, 2377, 2334, 1792, 1792, 1792, 1792, 1792, + /* 640 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 650 */ 1792, 1792, 1792, 2196, 1792, 2359, 1792, 1792, 2375, 1792, + /* 660 */ 2379, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 2307, 2303, + /* 670 */ 1792, 1792, 2299, 1792, 1792, 1792, 1792, 1792, 2204, 1792, + /* 680 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 690 */ 1792, 1792, 2195, 1792, 2258, 1792, 1792, 1792, 2292, 1792, + /* 700 */ 1792, 2243, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 710 */ 1792, 2205, 1792, 2208, 1792, 1792, 1792, 1792, 1792, 1999, + /* 720 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 730 */ 1792, 1792, 1792, 1792, 1792, 1983, 1981, 1980, 1979, 1792, + /* 740 */ 1976, 1792, 2012, 1792, 1792, 1792, 2008, 2007, 1792, 1792, + /* 750 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 760 */ 1792, 1900, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 770 */ 1892, 1792, 1891, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 780 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 790 */ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + /* 800 */ 1792, 1792, 1792, 1792, 1792, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1466,6 +1428,7 @@ typedef struct yyParser yyParser; #ifndef NDEBUG #include +#include static FILE *yyTraceFILE = 0; static char *yyTracePrompt = 0; #endif /* NDEBUG */ @@ -1880,15 +1843,15 @@ static const char *const yyTokenName[] = { /* 377 */ "multi_drop_clause", /* 378 */ "alter_table_clause", /* 379 */ "alter_table_options", - /* 380 */ "column_def", - /* 381 */ "column_name", + /* 380 */ "column_name", + /* 381 */ "type_name", /* 382 */ "signed_literal", /* 383 */ "create_subtable_clause", /* 384 */ "specific_cols_opt", /* 385 */ "expression_list", /* 386 */ "drop_table_clause", /* 387 */ "col_name_list", - /* 388 */ "type_name", + /* 388 */ "column_def", /* 389 */ "duration_list", /* 390 */ "rollup_func_list", /* 391 */ "alter_table_option", @@ -2157,13 +2120,13 @@ static const char *const yyRuleName[] = { /* 157 */ "cmd ::= ALTER TABLE alter_table_clause", /* 158 */ "cmd ::= ALTER STABLE alter_table_clause", /* 159 */ "alter_table_clause ::= full_table_name alter_table_options", - /* 160 */ "alter_table_clause ::= full_table_name ADD COLUMN column_def", + /* 160 */ "alter_table_clause ::= full_table_name ADD COLUMN column_name type_name", /* 161 */ "alter_table_clause ::= full_table_name DROP COLUMN column_name", - /* 162 */ "alter_table_clause ::= full_table_name MODIFY COLUMN column_def", + /* 162 */ "alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name", /* 163 */ "alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name", - /* 164 */ "alter_table_clause ::= full_table_name ADD TAG column_def", + /* 164 */ "alter_table_clause ::= full_table_name ADD TAG column_name type_name", /* 165 */ "alter_table_clause ::= full_table_name DROP TAG column_name", - /* 166 */ "alter_table_clause ::= full_table_name MODIFY TAG column_def", + /* 166 */ "alter_table_clause ::= full_table_name MODIFY TAG column_name type_name", /* 167 */ "alter_table_clause ::= full_table_name RENAME TAG column_name column_name", /* 168 */ "alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal", /* 169 */ "multi_create_clause ::= create_subtable_clause", @@ -2742,10 +2705,10 @@ static void yy_destructor( case 374: /* table_options */ case 378: /* alter_table_clause */ case 379: /* alter_table_options */ - case 380: /* column_def */ case 382: /* signed_literal */ case 383: /* create_subtable_clause */ case 386: /* drop_table_clause */ + case 388: /* column_def */ case 392: /* duration_literal */ case 393: /* rollup_func_name */ case 395: /* col_name */ @@ -2821,7 +2784,7 @@ static void yy_destructor( case 352: /* table_name */ case 353: /* topic_name */ case 355: /* dnode_endpoint */ - case 381: /* column_name */ + case 380: /* column_name */ case 394: /* function_name */ case 402: /* column_alias */ case 405: /* index_name */ @@ -2908,7 +2871,7 @@ static void yy_destructor( } break; - case 388: /* type_name */ + case 381: /* type_name */ { } @@ -3103,7 +3066,7 @@ static YYACTIONTYPE yy_find_shift_action( #endif /* YYWILDCARD */ return yy_default[stateno]; }else{ - assert( i>=0 && i=0 && i<(int)(sizeof(yy_action)/sizeof(yy_action[0])) ); return yy_action[i]; } }while(1); @@ -3385,13 +3348,13 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 339, /* (157) cmd ::= ALTER TABLE alter_table_clause */ 339, /* (158) cmd ::= ALTER STABLE alter_table_clause */ 378, /* (159) alter_table_clause ::= full_table_name alter_table_options */ - 378, /* (160) alter_table_clause ::= full_table_name ADD COLUMN column_def */ + 378, /* (160) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ 378, /* (161) alter_table_clause ::= full_table_name DROP COLUMN column_name */ - 378, /* (162) alter_table_clause ::= full_table_name MODIFY COLUMN column_def */ + 378, /* (162) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ 378, /* (163) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ - 378, /* (164) alter_table_clause ::= full_table_name ADD TAG column_def */ + 378, /* (164) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ 378, /* (165) alter_table_clause ::= full_table_name DROP TAG column_name */ - 378, /* (166) alter_table_clause ::= full_table_name MODIFY TAG column_def */ + 378, /* (166) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ 378, /* (167) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ 378, /* (168) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ 375, /* (169) multi_create_clause ::= create_subtable_clause */ @@ -3406,32 +3369,32 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 371, /* (178) full_table_name ::= db_name NK_DOT table_name */ 372, /* (179) column_def_list ::= column_def */ 372, /* (180) column_def_list ::= column_def_list NK_COMMA column_def */ - 380, /* (181) column_def ::= column_name type_name */ - 380, /* (182) column_def ::= column_name type_name COMMENT NK_STRING */ - 388, /* (183) type_name ::= BOOL */ - 388, /* (184) type_name ::= TINYINT */ - 388, /* (185) type_name ::= SMALLINT */ - 388, /* (186) type_name ::= INT */ - 388, /* (187) type_name ::= INTEGER */ - 388, /* (188) type_name ::= BIGINT */ - 388, /* (189) type_name ::= FLOAT */ - 388, /* (190) type_name ::= DOUBLE */ - 388, /* (191) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ - 388, /* (192) type_name ::= TIMESTAMP */ - 388, /* (193) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ - 388, /* (194) type_name ::= TINYINT UNSIGNED */ - 388, /* (195) type_name ::= SMALLINT UNSIGNED */ - 388, /* (196) type_name ::= INT UNSIGNED */ - 388, /* (197) type_name ::= BIGINT UNSIGNED */ - 388, /* (198) type_name ::= JSON */ - 388, /* (199) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ - 388, /* (200) type_name ::= MEDIUMBLOB */ - 388, /* (201) type_name ::= BLOB */ - 388, /* (202) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ - 388, /* (203) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ - 388, /* (204) type_name ::= DECIMAL */ - 388, /* (205) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ - 388, /* (206) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 388, /* (181) column_def ::= column_name type_name */ + 388, /* (182) column_def ::= column_name type_name COMMENT NK_STRING */ + 381, /* (183) type_name ::= BOOL */ + 381, /* (184) type_name ::= TINYINT */ + 381, /* (185) type_name ::= SMALLINT */ + 381, /* (186) type_name ::= INT */ + 381, /* (187) type_name ::= INTEGER */ + 381, /* (188) type_name ::= BIGINT */ + 381, /* (189) type_name ::= FLOAT */ + 381, /* (190) type_name ::= DOUBLE */ + 381, /* (191) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ + 381, /* (192) type_name ::= TIMESTAMP */ + 381, /* (193) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ + 381, /* (194) type_name ::= TINYINT UNSIGNED */ + 381, /* (195) type_name ::= SMALLINT UNSIGNED */ + 381, /* (196) type_name ::= INT UNSIGNED */ + 381, /* (197) type_name ::= BIGINT UNSIGNED */ + 381, /* (198) type_name ::= JSON */ + 381, /* (199) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ + 381, /* (200) type_name ::= MEDIUMBLOB */ + 381, /* (201) type_name ::= BLOB */ + 381, /* (202) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ + 381, /* (203) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ + 381, /* (204) type_name ::= DECIMAL */ + 381, /* (205) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ + 381, /* (206) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ 373, /* (207) tags_def_opt ::= */ 373, /* (208) tags_def_opt ::= tags_def */ 376, /* (209) tags_def ::= TAGS NK_LP column_def_list NK_RP */ @@ -3626,7 +3589,7 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 431, /* (398) literal_list ::= literal_list NK_COMMA signed_literal */ 351, /* (399) db_name ::= NK_ID */ 352, /* (400) table_name ::= NK_ID */ - 381, /* (401) column_name ::= NK_ID */ + 380, /* (401) column_name ::= NK_ID */ 394, /* (402) function_name ::= NK_ID */ 432, /* (403) table_alias ::= NK_ID */ 402, /* (404) column_alias ::= NK_ID */ @@ -3995,13 +3958,13 @@ static const signed char yyRuleInfoNRhs[] = { -3, /* (157) cmd ::= ALTER TABLE alter_table_clause */ -3, /* (158) cmd ::= ALTER STABLE alter_table_clause */ -2, /* (159) alter_table_clause ::= full_table_name alter_table_options */ - -4, /* (160) alter_table_clause ::= full_table_name ADD COLUMN column_def */ + -5, /* (160) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ -4, /* (161) alter_table_clause ::= full_table_name DROP COLUMN column_name */ - -4, /* (162) alter_table_clause ::= full_table_name MODIFY COLUMN column_def */ + -5, /* (162) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ -5, /* (163) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ - -4, /* (164) alter_table_clause ::= full_table_name ADD TAG column_def */ + -5, /* (164) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ -4, /* (165) alter_table_clause ::= full_table_name DROP TAG column_name */ - -4, /* (166) alter_table_clause ::= full_table_name MODIFY TAG column_def */ + -5, /* (166) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ -5, /* (167) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ -6, /* (168) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ -1, /* (169) multi_create_clause ::= create_subtable_clause */ @@ -4469,8 +4432,9 @@ static YYACTIONTYPE yy_reduce( (void)yyLookahead; (void)yyLookaheadToken; yymsp = yypParser->yytos; + assert( yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ); #ifndef NDEBUG - if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ + if( yyTraceFILE ){ yysize = yyRuleInfoNRhs[yyruleno]; if( yysize ){ fprintf(yyTraceFILE, "%sReduce %d [%s]%s, pop back to state %d.\n", @@ -5102,33 +5066,33 @@ static YYACTIONTYPE yy_reduce( { yylhsminor.yy952 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy952, yymsp[0].minor.yy952); } yymsp[-1].minor.yy952 = yylhsminor.yy952; break; - case 160: /* alter_table_clause ::= full_table_name ADD COLUMN column_def */ -{ yylhsminor.yy952 = createAlterTableAddModifyCol(pCxt, yymsp[-3].minor.yy952, TSDB_ALTER_TABLE_ADD_COLUMN, yymsp[0].minor.yy952); } - yymsp[-3].minor.yy952 = yylhsminor.yy952; + case 160: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ +{ yylhsminor.yy952 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy952, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy169, yymsp[0].minor.yy84); } + yymsp[-4].minor.yy952 = yylhsminor.yy952; break; case 161: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ { yylhsminor.yy952 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy952, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy169); } yymsp[-3].minor.yy952 = yylhsminor.yy952; break; - case 162: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_def */ -{ yylhsminor.yy952 = createAlterTableAddModifyCol(pCxt, yymsp[-3].minor.yy952, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, yymsp[0].minor.yy952); } - yymsp[-3].minor.yy952 = yylhsminor.yy952; + case 162: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ +{ yylhsminor.yy952 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy952, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy169, yymsp[0].minor.yy84); } + yymsp[-4].minor.yy952 = yylhsminor.yy952; break; case 163: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ { yylhsminor.yy952 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy952, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy169, &yymsp[0].minor.yy169); } yymsp[-4].minor.yy952 = yylhsminor.yy952; break; - case 164: /* alter_table_clause ::= full_table_name ADD TAG column_def */ -{ yylhsminor.yy952 = createAlterTableAddModifyCol(pCxt, yymsp[-3].minor.yy952, TSDB_ALTER_TABLE_ADD_TAG, yymsp[0].minor.yy952); } - yymsp[-3].minor.yy952 = yylhsminor.yy952; + case 164: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ +{ yylhsminor.yy952 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy952, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy169, yymsp[0].minor.yy84); } + yymsp[-4].minor.yy952 = yylhsminor.yy952; break; case 165: /* alter_table_clause ::= full_table_name DROP TAG column_name */ { yylhsminor.yy952 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy952, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy169); } yymsp[-3].minor.yy952 = yylhsminor.yy952; break; - case 166: /* alter_table_clause ::= full_table_name MODIFY TAG column_def */ -{ yylhsminor.yy952 = createAlterTableAddModifyCol(pCxt, yymsp[-3].minor.yy952, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, yymsp[0].minor.yy952); } - yymsp[-3].minor.yy952 = yylhsminor.yy952; + case 166: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ +{ yylhsminor.yy952 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy952, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy169, yymsp[0].minor.yy84); } + yymsp[-4].minor.yy952 = yylhsminor.yy952; break; case 167: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ { yylhsminor.yy952 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy952, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy169, &yymsp[0].minor.yy169); } diff --git a/tests/system-test/0-others/show.py b/tests/system-test/0-others/show.py index 864c3e8a31..0482a76bdd 100644 --- a/tests/system-test/0-others/show.py +++ b/tests/system-test/0-others/show.py @@ -215,51 +215,12 @@ class TDTestCase: tdSql.execute("use comment_test_db") tdSql.execute("create table normal_table(ts timestamp, c2 int comment 'c2 comment')") tdSql.execute("create stable super_table(ts timestamp comment 'ts', c2 int comment 'c2 comment') tags(tg int comment 'tg comment')") - - create_sql = "create table `normal_table` (`ts` timestamp, `c2` int)" tdSql.query('show create table normal_table') + create_sql = "create table `normal_table` (`ts` timestamp, `c2` int)" tdSql.checkEqual(tdSql.queryResult[0][1].lower(), create_sql) tdSql.query('show create table super_table') create_sql = "create stable `super_table` (`ts` timestamp, `c2` int) tags (`tg` int)" tdSql.checkEqual(tdSql.queryResult[0][1].lower(), create_sql) - tdSql.execute("drop database comment_test_db") - - def alter_table_with_col_comment(self): - tdSql.execute("create database comment_test_db") - tdSql.execute("use comment_test_db") - tdSql.execute("create table normal_table(ts timestamp, c2 int comment 'c2 comment')") - tdSql.execute("create stable super_table(ts timestamp comment 'ts', c2 int comment 'c2 comment') tags(tg int comment 'tg comment')") - - create_sql = "create table `normal_table` (`ts` timestamp, `c2` int, `c3` int)" - tdSql.execute("alter table normal_table add column c3 int comment 'c3 comment'", queryTimes=1) - tdSql.query("show create table normal_table") - tdSql.checkEqual(tdSql.queryResult[0][1].lower(), create_sql) - - create_sql = "create table `normal_table` (`ts` timestamp, `c2` int, `c3` int, `c4` varchar(255))" - tdSql.execute("alter table normal_table add column c4 varchar(255) comment 'c4 comment'", queryTimes=1) - tdSql.query("show create table normal_table") - tdSql.checkEqual(tdSql.queryResult[0][1].lower(), create_sql) - - create_sql = "create table `normal_table` (`ts` timestamp, `c2` int, `c3` int, `c4` varchar(255), `c5` varchar(255))" - tdSql.execute("alter table normal_table add column c5 varchar(255)", queryTimes=1) - tdSql.query("show create table normal_table") - tdSql.checkEqual(tdSql.queryResult[0][1].lower(), create_sql) - - create_sql = "create stable `super_table` (`ts` timestamp, `c2` int, `c3` int) tags (`tg` int) sma(`ts`,`c2`)" - tdSql.execute("alter table super_table add column c3 int comment 'c3 comment'", queryTimes=1) - tdSql.query("show create table super_table") - tdSql.checkEqual(tdSql.queryResult[0][1].lower(), create_sql) - - create_sql = "create stable `super_table` (`ts` timestamp, `c2` int, `c3` int, `c4` varchar(255)) tags (`tg` int) sma(`ts`,`c2`)" - tdSql.execute("alter table super_table add column c4 varchar(255) comment 'c4 comment'", queryTimes=1) - tdSql.query("show create table super_table") - tdSql.checkEqual(tdSql.queryResult[0][1].lower(), create_sql) - - create_sql = "create stable `super_table` (`ts` timestamp, `c2` int, `c3` int, `c4` varchar(256)) tags (`tg` int) sma(`ts`,`c2`)" - tdSql.execute("alter table super_table modify column c4 varchar(256) comment 'c4 256 comment'", queryTimes=1) - tdSql.query("show create table super_table") - tdSql.checkEqual(tdSql.queryResult[0][1].lower(), create_sql) - tdSql.execute("drop database comment_test_db") def run(self): self.check_gitinfo() @@ -270,7 +231,6 @@ class TDTestCase: self.show_create_sysdb_sql() self.show_create_systb_sql() self.show_create_table_with_col_comment() - self.alter_table_with_col_comment() def stop(self): tdSql.close()