提交 ce166fb1 编写于 作者: X Xiaoyu Wang

fix: error in data precision of super table query

上级 0418e6c0
......@@ -162,84 +162,84 @@
#define TK_INTERVAL 144
#define TK_TOPIC 145
#define TK_AS 146
#define TK_CGROUP 147
#define TK_WITH 148
#define TK_SCHEMA 149
#define TK_DESC 150
#define TK_DESCRIBE 151
#define TK_RESET 152
#define TK_QUERY 153
#define TK_CACHE 154
#define TK_EXPLAIN 155
#define TK_ANALYZE 156
#define TK_VERBOSE 157
#define TK_NK_BOOL 158
#define TK_RATIO 159
#define TK_COMPACT 160
#define TK_VNODES 161
#define TK_IN 162
#define TK_OUTPUTTYPE 163
#define TK_AGGREGATE 164
#define TK_BUFSIZE 165
#define TK_STREAM 166
#define TK_INTO 167
#define TK_TRIGGER 168
#define TK_AT_ONCE 169
#define TK_WINDOW_CLOSE 170
#define TK_WATERMARK 171
#define TK_KILL 172
#define TK_CONNECTION 173
#define TK_TRANSACTION 174
#define TK_MERGE 175
#define TK_VGROUP 176
#define TK_REDISTRIBUTE 177
#define TK_SPLIT 178
#define TK_SYNCDB 179
#define TK_NULL 180
#define TK_NK_QUESTION 181
#define TK_NK_ARROW 182
#define TK_ROWTS 183
#define TK_TBNAME 184
#define TK_QSTARTTS 185
#define TK_QENDTS 186
#define TK_WSTARTTS 187
#define TK_WENDTS 188
#define TK_WDURATION 189
#define TK_CAST 190
#define TK_NOW 191
#define TK_TODAY 192
#define TK_TIMEZONE 193
#define TK_COUNT 194
#define TK_FIRST 195
#define TK_LAST 196
#define TK_LAST_ROW 197
#define TK_BETWEEN 198
#define TK_IS 199
#define TK_NK_LT 200
#define TK_NK_GT 201
#define TK_NK_LE 202
#define TK_NK_GE 203
#define TK_NK_NE 204
#define TK_MATCH 205
#define TK_NMATCH 206
#define TK_CONTAINS 207
#define TK_JOIN 208
#define TK_INNER 209
#define TK_SELECT 210
#define TK_DISTINCT 211
#define TK_WHERE 212
#define TK_PARTITION 213
#define TK_BY 214
#define TK_SESSION 215
#define TK_STATE_WINDOW 216
#define TK_SLIDING 217
#define TK_FILL 218
#define TK_VALUE 219
#define TK_NONE 220
#define TK_PREV 221
#define TK_LINEAR 222
#define TK_NEXT 223
#define TK_GROUP 224
#define TK_CONSUMER 147
#define TK_GROUP 148
#define TK_WITH 149
#define TK_SCHEMA 150
#define TK_DESC 151
#define TK_DESCRIBE 152
#define TK_RESET 153
#define TK_QUERY 154
#define TK_CACHE 155
#define TK_EXPLAIN 156
#define TK_ANALYZE 157
#define TK_VERBOSE 158
#define TK_NK_BOOL 159
#define TK_RATIO 160
#define TK_COMPACT 161
#define TK_VNODES 162
#define TK_IN 163
#define TK_OUTPUTTYPE 164
#define TK_AGGREGATE 165
#define TK_BUFSIZE 166
#define TK_STREAM 167
#define TK_INTO 168
#define TK_TRIGGER 169
#define TK_AT_ONCE 170
#define TK_WINDOW_CLOSE 171
#define TK_WATERMARK 172
#define TK_KILL 173
#define TK_CONNECTION 174
#define TK_TRANSACTION 175
#define TK_MERGE 176
#define TK_VGROUP 177
#define TK_REDISTRIBUTE 178
#define TK_SPLIT 179
#define TK_SYNCDB 180
#define TK_NULL 181
#define TK_NK_QUESTION 182
#define TK_NK_ARROW 183
#define TK_ROWTS 184
#define TK_TBNAME 185
#define TK_QSTARTTS 186
#define TK_QENDTS 187
#define TK_WSTARTTS 188
#define TK_WENDTS 189
#define TK_WDURATION 190
#define TK_CAST 191
#define TK_NOW 192
#define TK_TODAY 193
#define TK_TIMEZONE 194
#define TK_COUNT 195
#define TK_FIRST 196
#define TK_LAST 197
#define TK_LAST_ROW 198
#define TK_BETWEEN 199
#define TK_IS 200
#define TK_NK_LT 201
#define TK_NK_GT 202
#define TK_NK_LE 203
#define TK_NK_GE 204
#define TK_NK_NE 205
#define TK_MATCH 206
#define TK_NMATCH 207
#define TK_CONTAINS 208
#define TK_JOIN 209
#define TK_INNER 210
#define TK_SELECT 211
#define TK_DISTINCT 212
#define TK_WHERE 213
#define TK_PARTITION 214
#define TK_BY 215
#define TK_SESSION 216
#define TK_STATE_WINDOW 217
#define TK_SLIDING 218
#define TK_FILL 219
#define TK_VALUE 220
#define TK_NONE 221
#define TK_PREV 222
#define TK_LINEAR 223
#define TK_NEXT 224
#define TK_HAVING 225
#define TK_ORDER 226
#define TK_SLIMIT 227
......
......@@ -305,6 +305,7 @@ static SNode* logicNodeCopy(const SLogicNode* pSrc, SLogicNode* pDst) {
CLONE_NODE_FIELD(pConditions);
CLONE_NODE_LIST_FIELD(pChildren);
COPY_SCALAR_FIELD(optimizedFlag);
COPY_SCALAR_FIELD(precision);
return (SNode*)pDst;
}
......
......@@ -408,7 +408,7 @@ cmd ::= CREATE TOPIC not_exists_opt(A)
cmd ::= CREATE TOPIC not_exists_opt(A)
topic_name(B) topic_options(D) AS db_name(C). { pCxt->pRootNode = createCreateTopicStmt(pCxt, A, &B, NULL, &C, D); }
cmd ::= DROP TOPIC exists_opt(A) topic_name(B). { pCxt->pRootNode = createDropTopicStmt(pCxt, A, &B); }
cmd ::= DROP CGROUP exists_opt(A) cgroup_name(B) ON topic_name(C). { pCxt->pRootNode = createDropCGroupStmt(pCxt, A, &B, &C); }
cmd ::= DROP CONSUMER GROUP exists_opt(A) cgroup_name(B) ON topic_name(C). { pCxt->pRootNode = createDropCGroupStmt(pCxt, A, &B, &C); }
topic_options(A) ::= . { A = createTopicOptions(pCxt); }
topic_options(A) ::= topic_options(B) WITH TABLE. { ((STopicOptions*)B)->withTable = true; A = B; }
......
......@@ -53,7 +53,6 @@ static SKeyword keywordTable[] = {
{"CACHE", TK_CACHE},
{"CACHELAST", TK_CACHELAST},
{"CAST", TK_CAST},
{"CGROUP", TK_CGROUP},
{"CLUSTER", TK_CLUSTER},
{"COLUMN", TK_COLUMN},
{"COMMENT", TK_COMMENT},
......@@ -62,6 +61,7 @@ static SKeyword keywordTable[] = {
{"CONNS", TK_CONNS},
{"CONNECTION", TK_CONNECTION},
{"CONNECTIONS", TK_CONNECTIONS},
{"CONSUMER", TK_CONSUMER},
{"COUNT", TK_COUNT},
{"CREATE", TK_CREATE},
{"DATABASE", TK_DATABASE},
......
......@@ -465,20 +465,22 @@ static bool isPrimaryKey(STempTableNode* pTable, SNode* pExpr) {
return isPrimaryKeyImpl(pTable, pExpr);
}
static bool findAndSetColumn(SColumnNode** pColRef, const STableNode* pTable) {
static int32_t findAndSetColumn(STranslateContext* pCxt, SColumnNode** pColRef, const STableNode* pTable,
bool* pFound) {
SColumnNode* pCol = *pColRef;
bool found = false;
*pFound = false;
if (QUERY_NODE_REAL_TABLE == nodeType(pTable)) {
const STableMeta* pMeta = ((SRealTableNode*)pTable)->pMeta;
if (isInternalPrimaryKey(pCol)) {
setColumnInfoBySchema((SRealTableNode*)pTable, pMeta->schema, false, pCol);
return true;
*pFound = true;
return TSDB_CODE_SUCCESS;
}
int32_t nums = pMeta->tableInfo.numOfTags + pMeta->tableInfo.numOfColumns;
for (int32_t i = 0; i < nums; ++i) {
if (0 == strcmp(pCol->colName, pMeta->schema[i].name)) {
setColumnInfoBySchema((SRealTableNode*)pTable, pMeta->schema + i, (i >= pMeta->tableInfo.numOfColumns), pCol);
found = true;
*pFound = true;
break;
}
}
......@@ -489,13 +491,15 @@ static bool findAndSetColumn(SColumnNode** pColRef, const STableNode* pTable) {
SExprNode* pExpr = (SExprNode*)pNode;
if (0 == strcmp(pCol->colName, pExpr->aliasName) ||
(isPrimaryKey((STempTableNode*)pTable, pNode) && isInternalPrimaryKey(pCol))) {
if (*pFound) {
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_AMBIGUOUS_COLUMN, pCol->colName);
}
setColumnInfoByExpr(pTable, pExpr, pColRef);
found = true;
break;
*pFound = true;
}
}
}
return found;
return TSDB_CODE_SUCCESS;
}
static EDealRes translateColumnWithPrefix(STranslateContext* pCxt, SColumnNode** pCol) {
......@@ -506,7 +510,12 @@ static EDealRes translateColumnWithPrefix(STranslateContext* pCxt, SColumnNode**
STableNode* pTable = taosArrayGetP(pTables, i);
if (belongTable(pCxt->pParseCxt->db, (*pCol), pTable)) {
foundTable = true;
if (findAndSetColumn(pCol, pTable)) {
bool foundCol = false;
pCxt->errCode = findAndSetColumn(pCxt, pCol, pTable, &foundCol);
if (TSDB_CODE_SUCCESS != pCxt->errCode) {
return DEAL_RES_ERROR;
}
if (foundCol) {
break;
}
return generateDealNodeErrMsg(pCxt, TSDB_CODE_PAR_INVALID_COLUMN, (*pCol)->colName);
......@@ -525,14 +534,19 @@ static EDealRes translateColumnWithoutPrefix(STranslateContext* pCxt, SColumnNod
bool isInternalPk = isInternalPrimaryKey(*pCol);
for (size_t i = 0; i < nums; ++i) {
STableNode* pTable = taosArrayGetP(pTables, i);
if (findAndSetColumn(pCol, pTable)) {
bool foundCol = false;
pCxt->errCode = findAndSetColumn(pCxt, pCol, pTable, &foundCol);
if (TSDB_CODE_SUCCESS != pCxt->errCode) {
return DEAL_RES_ERROR;
}
if (foundCol) {
if (found) {
return generateDealNodeErrMsg(pCxt, TSDB_CODE_PAR_AMBIGUOUS_COLUMN, (*pCol)->colName);
}
found = true;
if (isInternalPk) {
break;
}
}
if (isInternalPk) {
break;
}
}
if (!found) {
......@@ -1939,7 +1953,9 @@ static int32_t createPrimaryKeyColByTable(STranslateContext* pCxt, STableNode* p
}
pCol->colId = PRIMARYKEY_TIMESTAMP_COL_ID;
strcpy(pCol->colName, PK_TS_COL_INTERNAL_NAME);
if (!findAndSetColumn(&pCol, pTable)) {
bool found = false;
int32_t code = findAndSetColumn(pCxt, &pCol, pTable, &found);
if (TSDB_CODE_SUCCESS != code || !found) {
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_TIMELINE_FUNC);
}
*pPrimaryKey = (SNode*)pCol;
......
......@@ -134,17 +134,17 @@ typedef union {
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYNSTATE 611
#define YYNSTATE 612
#define YYNRULE 455
#define YYNTOKEN 240
#define YY_MAX_SHIFT 610
#define YY_MIN_SHIFTREDUCE 901
#define YY_MAX_SHIFTREDUCE 1355
#define YY_ERROR_ACTION 1356
#define YY_ACCEPT_ACTION 1357
#define YY_NO_ACTION 1358
#define YY_MIN_REDUCE 1359
#define YY_MAX_REDUCE 1813
#define YY_MAX_SHIFT 611
#define YY_MIN_SHIFTREDUCE 902
#define YY_MAX_SHIFTREDUCE 1356
#define YY_ERROR_ACTION 1357
#define YY_ACCEPT_ACTION 1358
#define YY_NO_ACTION 1359
#define YY_MIN_REDUCE 1360
#define YY_MAX_REDUCE 1814
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
......@@ -211,604 +211,606 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (2153)
#define YY_ACTTAB_COUNT (2136)
static const YYACTIONTYPE yy_action[] = {
/* 0 */ 386, 1647, 387, 1391, 295, 394, 524, 387, 1391, 28,
/* 10 */ 226, 931, 35, 33, 130, 1676, 1371, 1660, 104, 1791,
/* 20 */ 304, 1644, 1169, 477, 523, 424, 36, 34, 32, 31,
/* 30 */ 30, 385, 1790, 62, 389, 1490, 1788, 1640, 1646, 36,
/* 40 */ 34, 32, 31, 30, 1535, 1676, 108, 1167, 527, 935,
/* 50 */ 936, 294, 1000, 508, 524, 1485, 1533, 154, 14, 476,
/* 60 */ 35, 33, 1296, 507, 1175, 24, 350, 1630, 304, 1002,
/* 70 */ 1169, 1418, 277, 488, 523, 36, 34, 32, 31, 30,
/* 80 */ 56, 1, 60, 1490, 1689, 59, 524, 80, 1661, 510,
/* 90 */ 1663, 1664, 506, 1359, 527, 1167, 1207, 1729, 104, 603,
/* 100 */ 602, 276, 1725, 607, 1258, 429, 14, 36, 34, 32,
/* 110 */ 31, 30, 1175, 1791, 1168, 1490, 140, 103, 102, 101,
/* 120 */ 100, 99, 98, 97, 96, 95, 147, 376, 1529, 2,
/* 130 */ 1788, 583, 582, 581, 319, 39, 580, 579, 578, 114,
/* 140 */ 573, 572, 571, 570, 569, 568, 567, 566, 121, 562,
/* 150 */ 511, 607, 1568, 307, 1259, 55, 1580, 55, 1170, 156,
/* 160 */ 94, 1791, 1168, 93, 92, 91, 90, 89, 88, 87,
/* 170 */ 86, 85, 158, 157, 146, 352, 1264, 1352, 1788, 393,
/* 180 */ 1173, 1174, 389, 1220, 1221, 1223, 1224, 1225, 1226, 1227,
/* 190 */ 503, 525, 1235, 1236, 1237, 1238, 1239, 1240, 1468, 36,
/* 200 */ 34, 32, 31, 30, 64, 292, 1170, 131, 191, 274,
/* 210 */ 148, 1447, 27, 302, 1253, 1254, 1255, 1256, 1257, 1261,
/* 220 */ 1262, 1263, 1421, 36, 34, 32, 31, 30, 1173, 1174,
/* 230 */ 484, 1220, 1221, 1223, 1224, 1225, 1226, 1227, 503, 525,
/* 240 */ 1235, 1236, 1237, 1238, 1239, 1240, 35, 33, 1467, 948,
/* 250 */ 70, 947, 438, 437, 304, 403, 1169, 436, 1351, 112,
/* 260 */ 109, 433, 308, 1791, 432, 431, 430, 35, 33, 1310,
/* 270 */ 128, 1483, 1660, 403, 523, 304, 1789, 1169, 949, 1492,
/* 280 */ 1788, 1167, 438, 437, 148, 1193, 148, 436, 62, 972,
/* 290 */ 109, 433, 14, 1207, 432, 431, 430, 110, 1175, 1360,
/* 300 */ 1676, 1303, 1167, 1382, 1660, 524, 973, 1193, 508, 524,
/* 310 */ 1486, 486, 142, 1736, 1737, 2, 1741, 351, 507, 1175,
/* 320 */ 94, 361, 1630, 93, 92, 91, 90, 89, 88, 87,
/* 330 */ 86, 85, 1676, 1381, 1490, 38, 8, 607, 1490, 1689,
/* 340 */ 487, 559, 82, 1661, 510, 1663, 1664, 506, 1168, 527,
/* 350 */ 507, 1191, 1729, 1630, 1630, 1535, 1728, 1725, 607, 128,
/* 360 */ 558, 557, 309, 556, 555, 554, 1380, 1533, 1493, 1168,
/* 370 */ 565, 1689, 1462, 1535, 81, 1661, 510, 1663, 1664, 506,
/* 380 */ 315, 527, 524, 1630, 1729, 1533, 1743, 26, 297, 1725,
/* 390 */ 141, 478, 1170, 54, 362, 435, 434, 36, 34, 32,
/* 400 */ 31, 30, 218, 36, 34, 32, 31, 30, 466, 1756,
/* 410 */ 1740, 1490, 55, 1170, 1173, 1174, 1630, 1220, 1221, 1223,
/* 420 */ 1224, 1225, 1226, 1227, 503, 525, 1235, 1236, 1237, 1238,
/* 430 */ 1239, 1240, 460, 577, 575, 1173, 1174, 1379, 1220, 1221,
/* 440 */ 1223, 1224, 1225, 1226, 1227, 503, 525, 1235, 1236, 1237,
/* 450 */ 1238, 1239, 1240, 35, 33, 1241, 1378, 443, 1195, 610,
/* 460 */ 316, 304, 1377, 1169, 148, 148, 249, 1571, 1573, 1520,
/* 470 */ 1246, 1222, 451, 243, 35, 33, 1193, 1481, 1376, 1660,
/* 480 */ 1647, 461, 304, 312, 1169, 105, 190, 1630, 1167, 524,
/* 490 */ 473, 599, 595, 591, 587, 242, 391, 1644, 446, 1357,
/* 500 */ 1644, 402, 1191, 440, 561, 1175, 1630, 1676, 189, 1167,
/* 510 */ 337, 484, 1630, 1640, 1646, 508, 1640, 1646, 1490, 484,
/* 520 */ 78, 1791, 9, 237, 527, 507, 1175, 527, 1630, 1630,
/* 530 */ 339, 335, 564, 51, 145, 488, 50, 127, 1788, 511,
/* 540 */ 112, 148, 576, 9, 607, 1581, 1689, 1194, 112, 80,
/* 550 */ 1661, 510, 1663, 1664, 506, 1168, 527, 520, 320, 1729,
/* 560 */ 1375, 479, 474, 276, 1725, 607, 36, 34, 32, 31,
/* 570 */ 30, 1648, 1130, 314, 1479, 1791, 1168, 428, 110, 553,
/* 580 */ 1132, 128, 465, 340, 217, 198, 110, 1465, 145, 55,
/* 590 */ 1492, 1644, 1788, 143, 1736, 1737, 77, 1741, 1791, 1170,
/* 600 */ 427, 144, 1736, 1737, 1146, 1741, 193, 1640, 1646, 113,
/* 610 */ 1630, 145, 277, 1572, 1573, 1788, 490, 1482, 527, 1295,
/* 620 */ 1170, 1173, 1174, 1374, 1220, 1221, 1223, 1224, 1225, 1226,
/* 630 */ 1227, 503, 525, 1235, 1236, 1237, 1238, 1239, 1240, 286,
/* 640 */ 1222, 1131, 1173, 1174, 1258, 1220, 1221, 1223, 1224, 1225,
/* 650 */ 1226, 1227, 503, 525, 1235, 1236, 1237, 1238, 1239, 1240,
/* 660 */ 35, 33, 273, 559, 1191, 345, 1320, 344, 304, 524,
/* 670 */ 1169, 369, 524, 1630, 381, 32, 31, 30, 1748, 1291,
/* 680 */ 559, 1487, 558, 557, 1610, 556, 555, 554, 287, 7,
/* 690 */ 285, 284, 382, 426, 1259, 1167, 947, 428, 1490, 558,
/* 700 */ 557, 1490, 556, 555, 554, 470, 1318, 1319, 1321, 1322,
/* 710 */ 1535, 317, 1175, 11, 10, 1373, 1264, 1743, 148, 128,
/* 720 */ 427, 422, 1534, 935, 936, 1743, 1154, 1155, 1492, 2,
/* 730 */ 1038, 550, 549, 548, 1042, 547, 1044, 1045, 546, 1047,
/* 740 */ 543, 1739, 1053, 540, 1055, 1056, 537, 534, 346, 1738,
/* 750 */ 1370, 607, 27, 302, 1253, 1254, 1255, 1256, 1257, 1261,
/* 760 */ 1262, 1263, 1168, 380, 1466, 1630, 375, 374, 373, 372,
/* 770 */ 371, 368, 367, 366, 365, 364, 360, 359, 358, 357,
/* 780 */ 356, 355, 354, 353, 524, 524, 129, 524, 1791, 1196,
/* 790 */ 492, 255, 1192, 1193, 1272, 1260, 521, 522, 1475, 239,
/* 800 */ 1630, 145, 1369, 253, 53, 1788, 1170, 52, 1368, 1367,
/* 810 */ 1366, 452, 1365, 1490, 1490, 1364, 1490, 1265, 524, 1363,
/* 820 */ 1660, 561, 1362, 47, 159, 275, 1294, 1477, 1173, 1174,
/* 830 */ 318, 1220, 1221, 1223, 1224, 1225, 1226, 1227, 503, 525,
/* 840 */ 1235, 1236, 1237, 1238, 1239, 1240, 495, 1490, 1676, 55,
/* 850 */ 1473, 1791, 1630, 25, 1619, 194, 487, 1408, 1630, 1630,
/* 860 */ 1630, 1291, 1630, 1403, 145, 1630, 507, 1401, 1788, 1630,
/* 870 */ 1630, 182, 1630, 184, 180, 186, 183, 188, 185, 439,
/* 880 */ 187, 1660, 500, 450, 502, 441, 79, 1689, 76, 444,
/* 890 */ 81, 1661, 510, 1663, 1664, 506, 448, 527, 72, 327,
/* 900 */ 1729, 11, 10, 552, 297, 1725, 141, 1372, 459, 1676,
/* 910 */ 1354, 1355, 1650, 1448, 1660, 202, 1178, 508, 58, 57,
/* 920 */ 349, 118, 46, 153, 471, 1757, 1177, 507, 343, 205,
/* 930 */ 221, 1630, 37, 37, 37, 453, 212, 1677, 1392, 228,
/* 940 */ 272, 421, 1676, 333, 1530, 329, 325, 150, 1689, 1652,
/* 950 */ 508, 81, 1661, 510, 1663, 1664, 506, 1222, 527, 1759,
/* 960 */ 507, 1729, 462, 1317, 1630, 297, 1725, 1804, 1191, 116,
/* 970 */ 207, 117, 485, 1266, 1228, 1124, 1763, 493, 148, 1660,
/* 980 */ 230, 1689, 220, 1181, 81, 1661, 510, 1663, 1664, 506,
/* 990 */ 223, 527, 118, 1180, 1729, 1660, 46, 532, 297, 1725,
/* 1000 */ 1804, 322, 117, 225, 1250, 3, 118, 1676, 326, 1786,
/* 1010 */ 516, 282, 236, 1000, 283, 508, 119, 117, 244, 155,
/* 1020 */ 1138, 363, 370, 1676, 1570, 507, 378, 1660, 377, 1630,
/* 1030 */ 379, 508, 383, 1031, 1197, 496, 384, 248, 1059, 392,
/* 1040 */ 1200, 507, 395, 1063, 162, 1630, 1689, 1070, 396, 82,
/* 1050 */ 1661, 510, 1663, 1664, 506, 1676, 527, 1068, 120, 1729,
/* 1060 */ 1199, 164, 1689, 508, 1726, 81, 1661, 510, 1663, 1664,
/* 1070 */ 506, 1201, 527, 507, 397, 1729, 398, 1630, 1660, 297,
/* 1080 */ 1725, 1804, 167, 488, 399, 169, 1198, 400, 401, 172,
/* 1090 */ 1747, 61, 404, 1660, 1689, 175, 423, 262, 1661, 510,
/* 1100 */ 1663, 1664, 506, 425, 527, 84, 1676, 1175, 1480, 179,
/* 1110 */ 1476, 291, 181, 1614, 508, 122, 123, 1478, 1474, 124,
/* 1120 */ 125, 1676, 245, 1791, 507, 192, 455, 195, 1630, 508,
/* 1130 */ 246, 197, 454, 464, 488, 463, 147, 200, 1196, 507,
/* 1140 */ 1788, 458, 472, 1630, 1660, 1689, 1770, 203, 262, 1661,
/* 1150 */ 510, 1663, 1664, 506, 514, 527, 6, 1750, 469, 1769,
/* 1160 */ 1689, 211, 481, 82, 1661, 510, 1663, 1664, 506, 206,
/* 1170 */ 527, 1760, 1676, 1729, 1791, 296, 475, 499, 1725, 1195,
/* 1180 */ 505, 468, 5, 1291, 111, 40, 497, 145, 1744, 1807,
/* 1190 */ 507, 1788, 298, 18, 1630, 512, 1660, 513, 494, 306,
/* 1200 */ 311, 310, 1579, 135, 1578, 1660, 214, 517, 518, 519,
/* 1210 */ 1183, 1689, 213, 1787, 270, 1661, 510, 1663, 1664, 506,
/* 1220 */ 504, 527, 501, 1701, 1676, 219, 232, 71, 491, 1710,
/* 1230 */ 234, 247, 508, 1676, 69, 1176, 250, 1491, 241, 222,
/* 1240 */ 606, 508, 507, 1463, 498, 48, 1630, 530, 224, 256,
/* 1250 */ 134, 507, 1175, 1660, 263, 1630, 257, 293, 467, 252,
/* 1260 */ 254, 1624, 1623, 1689, 321, 1620, 132, 1661, 510, 1663,
/* 1270 */ 1664, 506, 1689, 527, 323, 271, 1661, 510, 1663, 1664,
/* 1280 */ 506, 1676, 527, 324, 1163, 1660, 1164, 151, 1618, 508,
/* 1290 */ 328, 528, 330, 331, 1617, 332, 334, 1616, 336, 507,
/* 1300 */ 1615, 338, 1179, 1630, 1600, 152, 341, 1141, 342, 1140,
/* 1310 */ 489, 1805, 1594, 1676, 1593, 347, 348, 1660, 1592, 1591,
/* 1320 */ 1689, 508, 1107, 266, 1661, 510, 1663, 1664, 506, 1563,
/* 1330 */ 527, 507, 1562, 1561, 1560, 1630, 1559, 1558, 1557, 1556,
/* 1340 */ 1555, 1554, 1553, 1552, 1551, 1676, 1184, 1550, 1549, 1548,
/* 1350 */ 1547, 1546, 1689, 508, 1545, 132, 1661, 510, 1663, 1664,
/* 1360 */ 506, 480, 527, 507, 115, 1660, 1544, 1630, 1187, 1543,
/* 1370 */ 301, 1542, 1541, 1540, 1109, 1539, 1538, 1537, 1660, 525,
/* 1380 */ 1235, 1236, 1536, 1420, 1689, 1388, 160, 271, 1661, 510,
/* 1390 */ 1663, 1664, 506, 1676, 527, 938, 106, 138, 937, 388,
/* 1400 */ 1806, 505, 1387, 161, 390, 107, 1676, 1608, 1602, 1586,
/* 1410 */ 1585, 507, 1576, 1469, 508, 1630, 166, 171, 1660, 1419,
/* 1420 */ 966, 1417, 1415, 407, 507, 405, 1413, 411, 1630, 415,
/* 1430 */ 1411, 303, 1689, 419, 406, 270, 1661, 510, 1663, 1664,
/* 1440 */ 506, 409, 527, 410, 1702, 1689, 1676, 413, 271, 1661,
/* 1450 */ 510, 1663, 1664, 506, 508, 527, 414, 1400, 177, 1399,
/* 1460 */ 418, 417, 1386, 1471, 507, 1074, 1660, 1470, 1630, 1073,
/* 1470 */ 139, 305, 574, 576, 999, 1169, 420, 416, 412, 408,
/* 1480 */ 176, 45, 998, 178, 997, 1689, 996, 993, 271, 1661,
/* 1490 */ 510, 1663, 1664, 506, 1676, 527, 992, 991, 1409, 288,
/* 1500 */ 1167, 1404, 508, 289, 442, 63, 1402, 290, 174, 1385,
/* 1510 */ 447, 445, 507, 1384, 449, 83, 1630, 1175, 1607, 1148,
/* 1520 */ 49, 1601, 456, 1660, 1584, 126, 1583, 1575, 199, 65,
/* 1530 */ 196, 4, 133, 1689, 201, 37, 258, 1661, 510, 1663,
/* 1540 */ 1664, 506, 204, 527, 15, 457, 43, 1316, 1309, 208,
/* 1550 */ 22, 1676, 209, 23, 210, 66, 607, 1288, 1650, 508,
/* 1560 */ 1287, 216, 1345, 42, 136, 41, 173, 1168, 165, 507,
/* 1570 */ 170, 1660, 168, 1630, 17, 1340, 1339, 16, 13, 1334,
/* 1580 */ 10, 299, 1344, 1343, 300, 1251, 19, 137, 149, 1230,
/* 1590 */ 1689, 163, 1215, 265, 1661, 510, 1663, 1664, 506, 1676,
/* 1600 */ 527, 1660, 509, 1574, 29, 515, 12, 508, 1649, 233,
/* 1610 */ 72, 1170, 1229, 20, 235, 1185, 531, 507, 238, 21,
/* 1620 */ 229, 1630, 227, 529, 1314, 964, 313, 231, 67, 1676,
/* 1630 */ 68, 1660, 1692, 1173, 1174, 1232, 526, 508, 1689, 44,
/* 1640 */ 533, 267, 1661, 510, 1663, 1664, 506, 507, 527, 1060,
/* 1650 */ 1057, 1630, 535, 538, 536, 541, 544, 1054, 539, 1676,
/* 1660 */ 1037, 1052, 1048, 542, 1069, 1046, 545, 508, 1689, 551,
/* 1670 */ 1051, 259, 1661, 510, 1663, 1664, 506, 507, 527, 1660,
/* 1680 */ 73, 1630, 74, 75, 1066, 1065, 1050, 560, 1660, 1049,
/* 1690 */ 988, 1006, 563, 240, 986, 985, 984, 983, 1689, 981,
/* 1700 */ 1067, 268, 1661, 510, 1663, 1664, 506, 1676, 527, 982,
/* 1710 */ 1003, 980, 979, 1001, 976, 508, 1676, 975, 974, 971,
/* 1720 */ 970, 969, 1416, 584, 508, 507, 585, 586, 1414, 1630,
/* 1730 */ 588, 589, 590, 1412, 507, 592, 1660, 593, 1630, 594,
/* 1740 */ 1410, 596, 597, 598, 1398, 600, 1689, 601, 1397, 260,
/* 1750 */ 1661, 510, 1663, 1664, 506, 1689, 527, 1383, 269, 1661,
/* 1760 */ 510, 1663, 1664, 506, 1676, 527, 609, 604, 605, 1358,
/* 1770 */ 1358, 1171, 508, 251, 608, 1358, 1358, 1358, 1358, 1358,
/* 1780 */ 1358, 1358, 507, 1358, 1660, 1358, 1630, 1358, 1358, 1358,
/* 1790 */ 1358, 1358, 1358, 1358, 1358, 1660, 1358, 1358, 1358, 1358,
/* 1800 */ 1358, 1358, 1358, 1689, 1358, 1358, 261, 1661, 510, 1663,
/* 1810 */ 1664, 506, 1676, 527, 1660, 1358, 1358, 1358, 1358, 1358,
/* 1820 */ 508, 1358, 1358, 1676, 1358, 1358, 1358, 1358, 1358, 1358,
/* 1830 */ 507, 508, 1358, 1358, 1630, 1358, 1358, 1358, 1358, 1358,
/* 1840 */ 1358, 507, 1676, 1358, 1358, 1630, 1358, 1358, 1358, 1358,
/* 1850 */ 508, 1689, 1358, 1358, 1672, 1661, 510, 1663, 1664, 506,
/* 1860 */ 507, 527, 1689, 1358, 1630, 1671, 1661, 510, 1663, 1664,
/* 1870 */ 506, 1358, 527, 1660, 1358, 1358, 1358, 1358, 1358, 1358,
/* 1880 */ 1358, 1689, 1660, 1358, 1670, 1661, 510, 1663, 1664, 506,
/* 1890 */ 1358, 527, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
/* 1900 */ 1358, 1676, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 508,
/* 1910 */ 1676, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 508, 507,
/* 1920 */ 1358, 1358, 1358, 1630, 1358, 1358, 1358, 1358, 507, 1358,
/* 1930 */ 1358, 1358, 1630, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
/* 1940 */ 1689, 1358, 1660, 280, 1661, 510, 1663, 1664, 506, 1689,
/* 1950 */ 527, 1660, 279, 1661, 510, 1663, 1664, 506, 1358, 527,
/* 1960 */ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
/* 1970 */ 1676, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 508, 1676,
/* 1980 */ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 508, 507, 1358,
/* 1990 */ 1358, 1358, 1630, 1358, 1358, 1358, 1358, 507, 1358, 1660,
/* 2000 */ 1358, 1630, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1689,
/* 2010 */ 484, 1358, 281, 1661, 510, 1663, 1664, 506, 1689, 527,
/* 2020 */ 1358, 278, 1661, 510, 1663, 1664, 506, 1676, 527, 1358,
/* 2030 */ 1358, 1358, 1358, 1358, 1358, 508, 1358, 1358, 1358, 112,
/* 2040 */ 1358, 1358, 1358, 1358, 1358, 507, 484, 1358, 1358, 1630,
/* 2050 */ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 488,
/* 2060 */ 1358, 1358, 1358, 1358, 1358, 1358, 1689, 1358, 1358, 264,
/* 2070 */ 1661, 510, 1663, 1664, 506, 112, 527, 110, 1358, 1358,
/* 2080 */ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
/* 2090 */ 1358, 1358, 215, 1736, 483, 488, 482, 1358, 1358, 1791,
/* 2100 */ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
/* 2110 */ 1358, 1358, 147, 110, 1358, 1358, 1788, 1358, 1358, 1358,
/* 2120 */ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 215, 1736,
/* 2130 */ 483, 1358, 482, 1358, 1358, 1791, 1358, 1358, 1358, 1358,
/* 2140 */ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 145, 1358,
/* 2150 */ 1358, 1358, 1788,
/* 0 */ 460, 1648, 1536, 1648, 295, 386, 312, 387, 1392, 294,
/* 10 */ 28, 226, 35, 33, 1534, 24, 1383, 1661, 932, 1480,
/* 20 */ 304, 1645, 1170, 1645, 140, 36, 34, 32, 31, 30,
/* 30 */ 36, 34, 32, 31, 30, 1482, 1530, 1641, 1647, 1641,
/* 40 */ 1647, 394, 1469, 387, 1392, 1677, 524, 1168, 528, 130,
/* 50 */ 528, 1372, 1792, 509, 485, 1645, 936, 937, 14, 524,
/* 60 */ 35, 33, 1297, 508, 1176, 1791, 1631, 1631, 304, 1789,
/* 70 */ 1170, 1641, 1647, 489, 36, 34, 32, 31, 30, 604,
/* 80 */ 603, 1, 528, 112, 1690, 1131, 525, 80, 1662, 511,
/* 90 */ 1664, 1665, 507, 1133, 528, 1168, 1661, 1730, 104, 404,
/* 100 */ 1311, 276, 1726, 608, 1744, 425, 14, 39, 35, 33,
/* 110 */ 1792, 1649, 1176, 1792, 1169, 1491, 304, 1744, 1170, 512,
/* 120 */ 277, 110, 307, 146, 1677, 1581, 147, 1789, 1741, 2,
/* 130 */ 1789, 1645, 506, 1304, 376, 487, 142, 1737, 1738, 1194,
/* 140 */ 1742, 1740, 508, 1168, 1208, 55, 1631, 1641, 1647, 525,
/* 150 */ 56, 608, 1259, 131, 14, 1132, 1677, 1448, 528, 1171,
/* 160 */ 1176, 350, 1169, 1690, 478, 404, 270, 1662, 511, 1664,
/* 170 */ 1665, 507, 505, 528, 502, 1702, 1382, 2, 1491, 158,
/* 180 */ 157, 1174, 1175, 1194, 1221, 1222, 1224, 1225, 1226, 1227,
/* 190 */ 1228, 504, 526, 1236, 1237, 1238, 1239, 1240, 1241, 608,
/* 200 */ 477, 62, 1260, 154, 64, 292, 1296, 1171, 191, 94,
/* 210 */ 1169, 148, 93, 92, 91, 90, 89, 88, 87, 86,
/* 220 */ 85, 1381, 345, 1487, 344, 1265, 1631, 55, 60, 1174,
/* 230 */ 1175, 59, 1221, 1222, 1224, 1225, 1226, 1227, 1228, 504,
/* 240 */ 526, 1236, 1237, 1238, 1239, 1240, 1241, 1419, 286, 479,
/* 250 */ 36, 34, 32, 31, 30, 1171, 36, 34, 32, 31,
/* 260 */ 30, 27, 302, 1254, 1255, 1256, 1257, 1258, 1262, 1263,
/* 270 */ 1264, 1631, 55, 1358, 1744, 148, 385, 1174, 1175, 389,
/* 280 */ 1221, 1222, 1224, 1225, 1226, 1227, 1228, 504, 526, 1236,
/* 290 */ 1237, 1238, 1239, 1240, 1241, 35, 33, 287, 1739, 285,
/* 300 */ 284, 524, 427, 304, 1223, 1170, 429, 584, 583, 582,
/* 310 */ 319, 1467, 581, 580, 579, 114, 574, 573, 572, 571,
/* 320 */ 570, 569, 568, 567, 121, 563, 439, 438, 62, 428,
/* 330 */ 1168, 437, 320, 1661, 109, 434, 560, 346, 433, 432,
/* 340 */ 431, 108, 525, 35, 33, 1242, 391, 1176, 1192, 948,
/* 350 */ 1486, 304, 1192, 1170, 351, 559, 558, 148, 557, 556,
/* 360 */ 555, 1677, 38, 1792, 8, 308, 1380, 474, 562, 488,
/* 370 */ 1261, 1491, 1792, 128, 423, 453, 1790, 1792, 1168, 508,
/* 380 */ 1789, 1321, 1493, 1631, 127, 145, 608, 436, 435, 1789,
/* 390 */ 145, 35, 33, 1266, 1789, 1176, 949, 1169, 948, 304,
/* 400 */ 1690, 1170, 148, 81, 1662, 511, 1664, 1665, 507, 55,
/* 410 */ 528, 1379, 9, 1730, 1295, 1792, 1631, 297, 1726, 141,
/* 420 */ 471, 1319, 1320, 1322, 1323, 950, 1168, 1361, 145, 25,
/* 430 */ 512, 218, 1789, 314, 608, 1422, 1582, 467, 1757, 480,
/* 440 */ 475, 128, 1171, 1176, 1409, 1169, 393, 1378, 94, 389,
/* 450 */ 1493, 93, 92, 91, 90, 89, 88, 87, 86, 85,
/* 460 */ 9, 1631, 578, 576, 1174, 1175, 440, 1221, 1222, 1224,
/* 470 */ 1225, 1226, 1227, 1228, 504, 526, 1236, 1237, 1238, 1239,
/* 480 */ 1240, 1241, 608, 36, 34, 32, 31, 30, 1468, 70,
/* 490 */ 1171, 1569, 148, 1169, 148, 439, 438, 1631, 156, 1536,
/* 500 */ 437, 7, 525, 109, 434, 1195, 309, 433, 432, 431,
/* 510 */ 1484, 1534, 1174, 1175, 361, 1221, 1222, 1224, 1225, 1226,
/* 520 */ 1227, 1228, 504, 526, 1236, 1237, 1238, 1239, 1240, 1241,
/* 530 */ 493, 1491, 36, 34, 32, 31, 30, 1196, 1171, 148,
/* 540 */ 1039, 551, 550, 549, 1043, 548, 1045, 1046, 547, 1048,
/* 550 */ 544, 316, 1054, 541, 1056, 1057, 538, 535, 1572, 1574,
/* 560 */ 1174, 1175, 1377, 1221, 1222, 1224, 1225, 1226, 1227, 1228,
/* 570 */ 504, 526, 1236, 1237, 1238, 1239, 1240, 1241, 35, 33,
/* 580 */ 273, 560, 1192, 26, 11, 10, 304, 1661, 1170, 369,
/* 590 */ 54, 1001, 381, 36, 34, 32, 31, 30, 1573, 1574,
/* 600 */ 559, 558, 1208, 557, 556, 555, 177, 525, 1003, 1536,
/* 610 */ 382, 1247, 1631, 1168, 1360, 1677, 315, 1194, 139, 362,
/* 620 */ 525, 1534, 1353, 509, 421, 417, 413, 409, 176, 1376,
/* 630 */ 1176, 337, 403, 508, 936, 937, 1491, 1631, 103, 102,
/* 640 */ 101, 100, 99, 98, 97, 96, 95, 2, 485, 1491,
/* 650 */ 1193, 339, 335, 63, 1690, 77, 174, 81, 1662, 511,
/* 660 */ 1664, 1665, 507, 217, 528, 1273, 128, 1730, 113, 608,
/* 670 */ 352, 297, 1726, 1805, 1292, 1494, 1483, 112, 461, 1631,
/* 680 */ 1169, 380, 1764, 1375, 375, 374, 373, 372, 371, 368,
/* 690 */ 367, 366, 365, 364, 360, 359, 358, 357, 356, 355,
/* 700 */ 354, 353, 1352, 249, 274, 129, 1521, 525, 554, 525,
/* 710 */ 255, 32, 31, 30, 173, 110, 165, 494, 170, 1488,
/* 720 */ 399, 104, 253, 53, 562, 1171, 52, 462, 430, 565,
/* 730 */ 143, 1737, 1738, 1631, 1742, 1197, 1491, 1661, 1491, 182,
/* 740 */ 163, 1466, 180, 159, 1374, 496, 1371, 1174, 1175, 1194,
/* 750 */ 1221, 1222, 1224, 1225, 1226, 1227, 1228, 504, 526, 1236,
/* 760 */ 1237, 1238, 1239, 1240, 1241, 1677, 1370, 1792, 55, 525,
/* 770 */ 566, 317, 1463, 509, 36, 34, 32, 31, 30, 128,
/* 780 */ 145, 1611, 1223, 508, 1789, 1749, 1292, 1631, 1493, 525,
/* 790 */ 525, 1369, 1620, 489, 1631, 485, 1631, 1368, 1491, 1476,
/* 800 */ 429, 522, 523, 525, 1690, 79, 485, 80, 1662, 511,
/* 810 */ 1664, 1665, 507, 491, 528, 239, 1631, 1730, 1491, 1491,
/* 820 */ 277, 276, 1726, 428, 112, 1367, 1155, 1156, 184, 1404,
/* 830 */ 525, 183, 1491, 1792, 560, 112, 1661, 327, 58, 57,
/* 840 */ 349, 1631, 318, 153, 489, 1170, 145, 1631, 343, 1366,
/* 850 */ 1789, 442, 1259, 559, 558, 1365, 557, 556, 555, 1491,
/* 860 */ 272, 202, 110, 333, 1677, 329, 325, 150, 1364, 1363,
/* 870 */ 1168, 501, 488, 110, 577, 1631, 1478, 215, 1737, 484,
/* 880 */ 186, 483, 508, 185, 1792, 76, 1631, 1176, 144, 1737,
/* 890 */ 1738, 47, 1742, 188, 275, 72, 187, 147, 148, 1631,
/* 900 */ 1536, 1789, 1260, 1690, 1661, 1631, 81, 1662, 511, 1664,
/* 910 */ 1665, 507, 1535, 528, 1223, 340, 1730, 1402, 1631, 1631,
/* 920 */ 297, 1726, 141, 451, 485, 1265, 608, 11, 10, 1355,
/* 930 */ 1356, 118, 1677, 1373, 497, 1179, 449, 1169, 1474, 445,
/* 940 */ 509, 1758, 46, 1651, 205, 1178, 1449, 194, 503, 553,
/* 950 */ 508, 37, 37, 112, 1631, 37, 228, 116, 221, 117,
/* 960 */ 118, 27, 302, 1254, 1255, 1256, 1257, 1258, 1262, 1263,
/* 970 */ 1264, 1690, 463, 489, 81, 1662, 511, 1664, 1665, 507,
/* 980 */ 1653, 528, 1171, 1318, 1730, 207, 46, 1661, 297, 1726,
/* 990 */ 1805, 110, 1267, 1229, 1251, 533, 1125, 230, 517, 1787,
/* 1000 */ 236, 1032, 1182, 117, 1174, 1175, 215, 1737, 484, 118,
/* 1010 */ 483, 119, 1181, 1792, 973, 1677, 454, 212, 472, 1661,
/* 1020 */ 1678, 1393, 117, 509, 422, 1760, 145, 248, 1531, 486,
/* 1030 */ 1789, 974, 220, 508, 223, 225, 1060, 1631, 3, 1192,
/* 1040 */ 322, 326, 282, 283, 1064, 1001, 1139, 1677, 244, 1661,
/* 1050 */ 1071, 363, 1069, 1571, 1690, 509, 155, 81, 1662, 511,
/* 1060 */ 1664, 1665, 507, 120, 528, 508, 370, 1730, 378, 1631,
/* 1070 */ 377, 297, 1726, 1805, 379, 489, 383, 1677, 1198, 384,
/* 1080 */ 392, 1201, 1748, 395, 1200, 509, 1690, 162, 396, 262,
/* 1090 */ 1662, 511, 1664, 1665, 507, 508, 528, 164, 1202, 1631,
/* 1100 */ 398, 167, 397, 169, 400, 489, 401, 1661, 1199, 402,
/* 1110 */ 444, 172, 61, 405, 175, 1792, 1690, 424, 426, 262,
/* 1120 */ 1662, 511, 1664, 1665, 507, 452, 528, 84, 147, 1481,
/* 1130 */ 291, 179, 1789, 1477, 1176, 1677, 181, 122, 123, 190,
/* 1140 */ 1479, 1475, 124, 509, 125, 1792, 1615, 1661, 245, 192,
/* 1150 */ 455, 447, 246, 508, 456, 464, 441, 1631, 145, 195,
/* 1160 */ 197, 189, 1789, 459, 1197, 465, 1661, 473, 515, 1771,
/* 1170 */ 1770, 6, 470, 200, 1690, 1677, 203, 82, 1662, 511,
/* 1180 */ 1664, 1665, 507, 509, 528, 206, 51, 1730, 296, 50,
/* 1190 */ 1761, 1729, 1726, 508, 1677, 1751, 482, 1631, 1661, 211,
/* 1200 */ 469, 476, 509, 5, 135, 1292, 111, 1196, 1745, 40,
/* 1210 */ 213, 214, 508, 18, 1690, 495, 1631, 82, 1662, 511,
/* 1220 */ 1664, 1665, 507, 498, 528, 298, 1677, 1730, 1580, 513,
/* 1230 */ 514, 500, 1726, 1690, 509, 1788, 132, 1662, 511, 1664,
/* 1240 */ 1665, 507, 306, 528, 508, 1579, 219, 1808, 1631, 492,
/* 1250 */ 1711, 518, 519, 611, 222, 232, 520, 234, 247, 69,
/* 1260 */ 499, 1492, 71, 1661, 531, 1690, 224, 243, 82, 1662,
/* 1270 */ 511, 1664, 1665, 507, 1464, 528, 250, 241, 1730, 105,
/* 1280 */ 490, 1806, 607, 1727, 134, 600, 596, 592, 588, 242,
/* 1290 */ 256, 1677, 263, 257, 48, 293, 252, 254, 1625, 509,
/* 1300 */ 1624, 321, 1621, 323, 324, 1164, 1165, 151, 328, 508,
/* 1310 */ 1619, 1661, 330, 1631, 78, 331, 468, 237, 332, 1618,
/* 1320 */ 334, 1617, 336, 1616, 338, 1601, 152, 341, 342, 1142,
/* 1330 */ 1690, 1141, 1595, 271, 1662, 511, 1664, 1665, 507, 1677,
/* 1340 */ 528, 1594, 1593, 347, 348, 1592, 1564, 509, 1108, 1563,
/* 1350 */ 1562, 521, 1561, 1560, 1559, 1558, 1557, 508, 1556, 1661,
/* 1360 */ 1555, 1631, 1554, 1553, 1552, 1551, 1550, 1549, 1661, 1548,
/* 1370 */ 1547, 115, 1546, 1545, 1544, 1543, 466, 1542, 1690, 198,
/* 1380 */ 1541, 266, 1662, 511, 1664, 1665, 507, 1677, 528, 1540,
/* 1390 */ 1110, 1539, 1538, 1537, 1421, 509, 1677, 160, 106, 1147,
/* 1400 */ 1389, 193, 939, 388, 509, 508, 1388, 1609, 1603, 1631,
/* 1410 */ 938, 1587, 138, 1586, 508, 168, 161, 1577, 1631, 481,
/* 1420 */ 390, 301, 1661, 107, 166, 1470, 1690, 171, 1420, 132,
/* 1430 */ 1662, 511, 1664, 1665, 507, 1690, 528, 1661, 271, 1662,
/* 1440 */ 511, 1664, 1665, 507, 967, 528, 1418, 407, 406, 408,
/* 1450 */ 1677, 1416, 410, 412, 411, 1414, 416, 414, 506, 415,
/* 1460 */ 1412, 420, 418, 419, 1401, 1677, 1400, 1387, 508, 1472,
/* 1470 */ 1661, 45, 1631, 509, 1807, 1074, 1075, 1471, 1000, 999,
/* 1480 */ 998, 997, 575, 508, 577, 1661, 178, 1631, 1410, 1690,
/* 1490 */ 303, 994, 270, 1662, 511, 1664, 1665, 507, 1677, 528,
/* 1500 */ 288, 1703, 1405, 993, 1690, 992, 509, 271, 1662, 511,
/* 1510 */ 1664, 1665, 507, 1677, 528, 1403, 508, 289, 443, 290,
/* 1520 */ 1631, 509, 446, 305, 1386, 1661, 448, 1385, 450, 83,
/* 1530 */ 1608, 508, 1149, 1602, 457, 1631, 1585, 1690, 196, 1584,
/* 1540 */ 271, 1662, 511, 1664, 1665, 507, 1576, 528, 126, 49,
/* 1550 */ 458, 199, 1690, 1677, 65, 258, 1662, 511, 1664, 1665,
/* 1560 */ 507, 509, 528, 201, 4, 204, 37, 43, 1317, 1310,
/* 1570 */ 133, 508, 208, 22, 10, 1631, 209, 1661, 210, 66,
/* 1580 */ 29, 1651, 1289, 23, 216, 1288, 42, 136, 17, 1346,
/* 1590 */ 1335, 1341, 1690, 19, 15, 265, 1662, 511, 1664, 1665,
/* 1600 */ 507, 1340, 528, 299, 1345, 1677, 1344, 300, 1252, 137,
/* 1610 */ 1231, 1230, 12, 509, 16, 149, 1216, 1575, 510, 20,
/* 1620 */ 516, 233, 235, 508, 1650, 1661, 238, 1631, 965, 41,
/* 1630 */ 21, 1186, 227, 1315, 532, 313, 13, 536, 539, 229,
/* 1640 */ 1661, 1038, 231, 67, 1690, 68, 72, 267, 1662, 511,
/* 1650 */ 1664, 1665, 507, 1677, 528, 1693, 552, 1233, 527, 44,
/* 1660 */ 530, 509, 542, 1061, 534, 545, 1066, 1058, 1677, 1070,
/* 1670 */ 537, 508, 1053, 1661, 1055, 1631, 509, 540, 1052, 1049,
/* 1680 */ 543, 1051, 1047, 546, 1050, 73, 508, 1067, 74, 75,
/* 1690 */ 1631, 561, 1690, 989, 1007, 259, 1662, 511, 1664, 1665,
/* 1700 */ 507, 1677, 528, 564, 240, 987, 986, 1690, 985, 509,
/* 1710 */ 268, 1662, 511, 1664, 1665, 507, 982, 528, 984, 508,
/* 1720 */ 983, 981, 980, 1631, 1068, 1002, 1004, 1661, 977, 976,
/* 1730 */ 975, 972, 971, 970, 1417, 585, 1661, 586, 587, 1415,
/* 1740 */ 1690, 590, 589, 260, 1662, 511, 1664, 1665, 507, 591,
/* 1750 */ 528, 1413, 593, 594, 595, 1677, 597, 599, 598, 1399,
/* 1760 */ 1398, 601, 602, 509, 1677, 1411, 1384, 605, 606, 1359,
/* 1770 */ 1172, 251, 509, 508, 609, 610, 1359, 1631, 1359, 1359,
/* 1780 */ 1359, 1359, 508, 1359, 1661, 1359, 1631, 1359, 1359, 1359,
/* 1790 */ 1359, 1359, 1359, 1359, 1690, 1359, 1661, 269, 1662, 511,
/* 1800 */ 1664, 1665, 507, 1690, 528, 1359, 261, 1662, 511, 1664,
/* 1810 */ 1665, 507, 1677, 528, 1359, 1359, 1359, 1359, 1359, 1359,
/* 1820 */ 509, 1359, 1359, 1359, 1677, 1359, 1359, 1359, 1359, 1359,
/* 1830 */ 508, 1359, 509, 1359, 1631, 1359, 1661, 1359, 1359, 1359,
/* 1840 */ 1359, 1359, 508, 1359, 1359, 1359, 1631, 1359, 1359, 1661,
/* 1850 */ 1359, 1690, 1359, 1359, 1673, 1662, 511, 1664, 1665, 507,
/* 1860 */ 1359, 528, 1359, 1690, 1677, 1359, 1672, 1662, 511, 1664,
/* 1870 */ 1665, 507, 509, 528, 1359, 1359, 1359, 1677, 1359, 1359,
/* 1880 */ 1359, 1359, 508, 1359, 1359, 509, 1631, 1359, 1359, 1359,
/* 1890 */ 1359, 1359, 1359, 1359, 1359, 508, 1359, 1661, 1359, 1631,
/* 1900 */ 1359, 1359, 1359, 1690, 1359, 1359, 1671, 1662, 511, 1664,
/* 1910 */ 1665, 507, 1661, 528, 1359, 1359, 1690, 1359, 1359, 280,
/* 1920 */ 1662, 511, 1664, 1665, 507, 1677, 528, 1359, 1359, 1359,
/* 1930 */ 1359, 1359, 1359, 509, 1359, 1359, 1359, 1359, 1359, 1359,
/* 1940 */ 1677, 1359, 1359, 508, 1359, 1661, 1359, 1631, 509, 1359,
/* 1950 */ 1359, 1359, 1359, 311, 310, 1359, 1359, 1359, 508, 1359,
/* 1960 */ 1359, 1359, 1631, 1184, 1690, 1359, 1359, 279, 1662, 511,
/* 1970 */ 1664, 1665, 507, 1677, 528, 1359, 1359, 1359, 1359, 1690,
/* 1980 */ 1359, 509, 281, 1662, 511, 1664, 1665, 507, 1177, 528,
/* 1990 */ 1359, 508, 1359, 1359, 1359, 1631, 1359, 1359, 1359, 1661,
/* 2000 */ 1359, 1359, 1359, 1359, 1359, 1176, 1359, 1359, 1359, 1359,
/* 2010 */ 1359, 1359, 1690, 1359, 1359, 278, 1662, 511, 1664, 1665,
/* 2020 */ 507, 1359, 528, 1359, 1359, 1359, 1359, 1677, 1359, 1359,
/* 2030 */ 1359, 1359, 1359, 1359, 1359, 509, 1359, 1359, 1359, 1359,
/* 2040 */ 1359, 1359, 1359, 1359, 529, 508, 1359, 1359, 1359, 1631,
/* 2050 */ 1359, 1359, 1359, 1359, 1359, 1180, 1359, 1359, 1359, 1359,
/* 2060 */ 1359, 1359, 1359, 1359, 1359, 1359, 1690, 1359, 1359, 264,
/* 2070 */ 1662, 511, 1664, 1665, 507, 1359, 528, 1359, 1359, 1359,
/* 2080 */ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
/* 2090 */ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
/* 2100 */ 1185, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
/* 2110 */ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
/* 2120 */ 1359, 1359, 1188, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
/* 2130 */ 1359, 1359, 1359, 526, 1236, 1237,
};
static const YYCODETYPE yy_lookahead[] = {
/* 0 */ 246, 273, 248, 249, 276, 246, 250, 248, 249, 324,
/* 10 */ 325, 4, 12, 13, 242, 271, 244, 243, 262, 339,
/* 20 */ 20, 293, 22, 279, 20, 269, 12, 13, 14, 15,
/* 30 */ 16, 247, 352, 255, 250, 279, 356, 309, 310, 12,
/* 40 */ 13, 14, 15, 16, 271, 271, 268, 47, 320, 42,
/* 50 */ 43, 278, 47, 279, 250, 277, 283, 55, 58, 315,
/* 60 */ 12, 13, 14, 289, 64, 2, 262, 293, 20, 64,
/* 70 */ 22, 0, 58, 299, 20, 12, 13, 14, 15, 16,
/* 80 */ 4, 81, 80, 279, 310, 83, 250, 313, 314, 315,
/* 90 */ 316, 317, 318, 0, 320, 47, 82, 323, 262, 251,
/* 100 */ 252, 327, 328, 103, 90, 269, 58, 12, 13, 14,
/* 110 */ 15, 16, 64, 339, 114, 279, 270, 24, 25, 26,
/* 120 */ 27, 28, 29, 30, 31, 32, 352, 75, 282, 81,
/* 130 */ 356, 60, 61, 62, 63, 81, 65, 66, 67, 68,
/* 140 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
/* 150 */ 289, 103, 279, 292, 140, 81, 295, 81, 158, 286,
/* 160 */ 21, 339, 114, 24, 25, 26, 27, 28, 29, 30,
/* 170 */ 31, 32, 120, 121, 352, 250, 162, 150, 356, 247,
/* 180 */ 180, 181, 250, 183, 184, 185, 186, 187, 188, 189,
/* 190 */ 190, 191, 192, 193, 194, 195, 196, 197, 0, 12,
/* 200 */ 13, 14, 15, 16, 167, 168, 158, 256, 171, 284,
/* 210 */ 210, 260, 198, 199, 200, 201, 202, 203, 204, 205,
/* 220 */ 206, 207, 0, 12, 13, 14, 15, 16, 180, 181,
/* 230 */ 250, 183, 184, 185, 186, 187, 188, 189, 190, 191,
/* 240 */ 192, 193, 194, 195, 196, 197, 12, 13, 0, 20,
/* 250 */ 253, 22, 60, 61, 20, 57, 22, 65, 231, 279,
/* 260 */ 68, 69, 263, 339, 72, 73, 74, 12, 13, 82,
/* 270 */ 271, 274, 243, 57, 20, 20, 352, 22, 49, 280,
/* 280 */ 356, 47, 60, 61, 210, 20, 210, 65, 255, 47,
/* 290 */ 68, 69, 58, 82, 72, 73, 74, 317, 64, 0,
/* 300 */ 271, 14, 47, 243, 243, 250, 64, 20, 279, 250,
/* 310 */ 277, 331, 332, 333, 334, 81, 336, 262, 289, 64,
/* 320 */ 21, 262, 293, 24, 25, 26, 27, 28, 29, 30,
/* 330 */ 31, 32, 271, 243, 279, 81, 81, 103, 279, 310,
/* 340 */ 279, 93, 313, 314, 315, 316, 317, 318, 114, 320,
/* 350 */ 289, 20, 323, 293, 293, 271, 327, 328, 103, 271,
/* 360 */ 112, 113, 278, 115, 116, 117, 243, 283, 280, 114,
/* 370 */ 259, 310, 261, 271, 313, 314, 315, 316, 317, 318,
/* 380 */ 278, 320, 250, 293, 323, 283, 311, 2, 327, 328,
/* 390 */ 329, 20, 158, 3, 262, 257, 258, 12, 13, 14,
/* 400 */ 15, 16, 341, 12, 13, 14, 15, 16, 347, 348,
/* 410 */ 335, 279, 81, 158, 180, 181, 293, 183, 184, 185,
/* 420 */ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
/* 430 */ 196, 197, 250, 257, 258, 180, 181, 243, 183, 184,
/* 440 */ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
/* 450 */ 195, 196, 197, 12, 13, 14, 243, 4, 20, 19,
/* 460 */ 281, 20, 243, 22, 210, 210, 264, 288, 289, 267,
/* 470 */ 14, 184, 19, 33, 12, 13, 20, 273, 243, 243,
/* 480 */ 273, 299, 20, 276, 22, 45, 33, 293, 47, 250,
/* 490 */ 144, 51, 52, 53, 54, 55, 14, 293, 45, 240,
/* 500 */ 293, 262, 20, 50, 57, 64, 293, 271, 55, 47,
/* 510 */ 153, 250, 293, 309, 310, 279, 309, 310, 279, 250,
/* 520 */ 80, 339, 81, 83, 320, 289, 64, 320, 293, 293,
/* 530 */ 173, 174, 64, 80, 352, 299, 83, 146, 356, 289,
/* 540 */ 279, 210, 41, 81, 103, 295, 310, 20, 279, 313,
/* 550 */ 314, 315, 316, 317, 318, 114, 320, 117, 299, 323,
/* 560 */ 243, 215, 216, 327, 328, 103, 12, 13, 14, 15,
/* 570 */ 16, 273, 80, 263, 272, 339, 114, 93, 317, 92,
/* 580 */ 88, 271, 142, 82, 146, 145, 317, 0, 352, 81,
/* 590 */ 280, 293, 356, 332, 333, 334, 253, 336, 339, 158,
/* 600 */ 116, 332, 333, 334, 164, 336, 166, 309, 310, 266,
/* 610 */ 293, 352, 58, 288, 289, 356, 226, 274, 320, 4,
/* 620 */ 158, 180, 181, 243, 183, 184, 185, 186, 187, 188,
/* 630 */ 189, 190, 191, 192, 193, 194, 195, 196, 197, 35,
/* 640 */ 184, 149, 180, 181, 90, 183, 184, 185, 186, 187,
/* 650 */ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
/* 660 */ 12, 13, 18, 93, 20, 157, 180, 159, 20, 250,
/* 670 */ 22, 27, 250, 293, 30, 14, 15, 16, 208, 209,
/* 680 */ 93, 262, 112, 113, 262, 115, 116, 117, 84, 37,
/* 690 */ 86, 87, 48, 89, 140, 47, 22, 93, 279, 112,
/* 700 */ 113, 279, 115, 116, 117, 219, 220, 221, 222, 223,
/* 710 */ 271, 263, 64, 1, 2, 243, 162, 311, 210, 271,
/* 720 */ 116, 47, 283, 42, 43, 311, 169, 170, 280, 81,
/* 730 */ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
/* 740 */ 104, 335, 106, 107, 108, 109, 110, 111, 299, 335,
/* 750 */ 243, 103, 198, 199, 200, 201, 202, 203, 204, 205,
/* 760 */ 206, 207, 114, 119, 0, 293, 122, 123, 124, 125,
/* 770 */ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
/* 780 */ 136, 137, 138, 139, 250, 250, 18, 250, 339, 20,
/* 790 */ 41, 23, 20, 20, 82, 140, 262, 262, 272, 262,
/* 800 */ 293, 352, 243, 35, 36, 356, 158, 39, 243, 243,
/* 810 */ 243, 299, 243, 279, 279, 243, 279, 162, 250, 243,
/* 820 */ 243, 57, 243, 146, 56, 148, 211, 272, 180, 181,
/* 830 */ 262, 183, 184, 185, 186, 187, 188, 189, 190, 191,
/* 840 */ 192, 193, 194, 195, 196, 197, 41, 279, 271, 81,
/* 850 */ 272, 339, 293, 198, 0, 272, 279, 0, 293, 293,
/* 860 */ 293, 209, 293, 0, 352, 293, 289, 0, 356, 293,
/* 870 */ 293, 85, 293, 85, 88, 85, 88, 85, 88, 22,
/* 880 */ 88, 243, 58, 21, 272, 22, 118, 310, 81, 22,
/* 890 */ 313, 314, 315, 316, 317, 318, 34, 320, 91, 45,
/* 900 */ 323, 1, 2, 272, 327, 328, 329, 244, 303, 271,
/* 910 */ 195, 196, 44, 260, 243, 146, 47, 279, 150, 151,
/* 920 */ 152, 41, 41, 155, 350, 348, 47, 289, 160, 41,
/* 930 */ 359, 293, 41, 41, 41, 307, 344, 271, 249, 41,
/* 940 */ 172, 251, 271, 175, 282, 177, 178, 179, 310, 81,
/* 950 */ 279, 313, 314, 315, 316, 317, 318, 184, 320, 312,
/* 960 */ 289, 323, 82, 82, 293, 327, 328, 329, 20, 41,
/* 970 */ 82, 41, 337, 82, 82, 82, 338, 228, 210, 243,
/* 980 */ 82, 310, 353, 114, 313, 314, 315, 316, 317, 318,
/* 990 */ 353, 320, 41, 114, 323, 243, 41, 41, 327, 328,
/* 1000 */ 329, 250, 41, 353, 180, 340, 41, 271, 45, 338,
/* 1010 */ 82, 308, 82, 47, 257, 279, 41, 41, 301, 40,
/* 1020 */ 156, 250, 287, 271, 250, 289, 140, 243, 285, 293,
/* 1030 */ 285, 279, 250, 82, 20, 230, 245, 82, 82, 245,
/* 1040 */ 20, 289, 305, 82, 255, 293, 310, 82, 289, 313,
/* 1050 */ 314, 315, 316, 317, 318, 271, 320, 82, 82, 323,
/* 1060 */ 20, 255, 310, 279, 328, 313, 314, 315, 316, 317,
/* 1070 */ 318, 20, 320, 289, 297, 323, 300, 293, 243, 327,
/* 1080 */ 328, 329, 255, 299, 297, 255, 20, 279, 290, 255,
/* 1090 */ 338, 255, 250, 243, 310, 255, 245, 313, 314, 315,
/* 1100 */ 316, 317, 318, 271, 320, 250, 271, 64, 271, 271,
/* 1110 */ 271, 245, 271, 293, 279, 271, 271, 271, 271, 271,
/* 1120 */ 271, 271, 305, 339, 289, 253, 304, 253, 293, 279,
/* 1130 */ 297, 253, 165, 290, 299, 279, 352, 253, 20, 289,
/* 1140 */ 356, 289, 218, 293, 243, 310, 349, 294, 313, 314,
/* 1150 */ 315, 316, 317, 318, 217, 320, 225, 346, 293, 349,
/* 1160 */ 310, 345, 224, 313, 314, 315, 316, 317, 318, 294,
/* 1170 */ 320, 312, 271, 323, 339, 293, 293, 327, 328, 20,
/* 1180 */ 279, 213, 212, 209, 279, 40, 229, 352, 311, 360,
/* 1190 */ 289, 356, 232, 81, 293, 293, 243, 293, 227, 293,
/* 1200 */ 12, 13, 294, 343, 294, 243, 330, 143, 291, 290,
/* 1210 */ 22, 310, 342, 355, 313, 314, 315, 316, 317, 318,
/* 1220 */ 319, 320, 321, 322, 271, 354, 279, 81, 355, 326,
/* 1230 */ 253, 267, 279, 271, 253, 47, 250, 279, 253, 354,
/* 1240 */ 245, 279, 289, 261, 355, 302, 293, 275, 354, 265,
/* 1250 */ 306, 289, 64, 243, 265, 293, 265, 298, 296, 254,
/* 1260 */ 241, 0, 0, 310, 72, 0, 313, 314, 315, 316,
/* 1270 */ 317, 318, 310, 320, 47, 313, 314, 315, 316, 317,
/* 1280 */ 318, 271, 320, 176, 47, 243, 47, 47, 0, 279,
/* 1290 */ 176, 103, 47, 47, 0, 176, 47, 0, 47, 289,
/* 1300 */ 0, 47, 114, 293, 0, 81, 162, 114, 161, 158,
/* 1310 */ 357, 358, 0, 271, 0, 154, 153, 243, 0, 0,
/* 1320 */ 310, 279, 44, 313, 314, 315, 316, 317, 318, 0,
/* 1330 */ 320, 289, 0, 0, 0, 293, 0, 0, 0, 0,
/* 1340 */ 0, 0, 0, 0, 0, 271, 158, 0, 0, 0,
/* 1350 */ 0, 0, 310, 279, 0, 313, 314, 315, 316, 317,
/* 1360 */ 318, 351, 320, 289, 40, 243, 0, 293, 180, 0,
/* 1370 */ 296, 0, 0, 0, 22, 0, 0, 0, 243, 191,
/* 1380 */ 192, 193, 0, 0, 310, 0, 40, 313, 314, 315,
/* 1390 */ 316, 317, 318, 271, 320, 14, 37, 41, 14, 44,
/* 1400 */ 358, 279, 0, 38, 44, 37, 271, 0, 0, 0,
/* 1410 */ 0, 289, 0, 0, 279, 293, 37, 37, 243, 0,
/* 1420 */ 59, 0, 0, 37, 289, 47, 0, 37, 293, 37,
/* 1430 */ 0, 296, 310, 37, 45, 313, 314, 315, 316, 317,
/* 1440 */ 318, 47, 320, 45, 322, 310, 271, 47, 313, 314,
/* 1450 */ 315, 316, 317, 318, 279, 320, 45, 0, 33, 0,
/* 1460 */ 45, 47, 0, 0, 289, 47, 243, 0, 293, 22,
/* 1470 */ 45, 296, 41, 41, 47, 22, 51, 52, 53, 54,
/* 1480 */ 55, 90, 47, 88, 47, 310, 47, 47, 313, 314,
/* 1490 */ 315, 316, 317, 318, 271, 320, 47, 47, 0, 22,
/* 1500 */ 47, 0, 279, 22, 48, 80, 0, 22, 83, 0,
/* 1510 */ 22, 47, 289, 0, 22, 20, 293, 64, 0, 47,
/* 1520 */ 146, 0, 22, 243, 0, 163, 0, 0, 37, 81,
/* 1530 */ 143, 41, 81, 310, 141, 41, 313, 314, 315, 316,
/* 1540 */ 317, 318, 82, 320, 214, 146, 41, 82, 82, 81,
/* 1550 */ 81, 271, 41, 41, 44, 81, 103, 82, 44, 279,
/* 1560 */ 82, 44, 82, 41, 44, 208, 141, 114, 143, 289,
/* 1570 */ 145, 243, 147, 293, 41, 47, 47, 214, 214, 82,
/* 1580 */ 2, 47, 47, 47, 47, 180, 41, 44, 44, 82,
/* 1590 */ 310, 166, 22, 313, 314, 315, 316, 317, 318, 271,
/* 1600 */ 320, 243, 182, 0, 81, 144, 81, 279, 44, 37,
/* 1610 */ 91, 158, 82, 81, 141, 22, 47, 289, 44, 81,
/* 1620 */ 81, 293, 82, 92, 82, 59, 47, 81, 81, 271,
/* 1630 */ 81, 243, 81, 180, 181, 82, 81, 279, 310, 81,
/* 1640 */ 81, 313, 314, 315, 316, 317, 318, 289, 320, 82,
/* 1650 */ 82, 293, 47, 47, 81, 47, 47, 82, 81, 271,
/* 1660 */ 22, 105, 82, 81, 47, 82, 81, 279, 310, 93,
/* 1670 */ 105, 313, 314, 315, 316, 317, 318, 289, 320, 243,
/* 1680 */ 81, 293, 81, 81, 47, 22, 105, 58, 243, 105,
/* 1690 */ 47, 64, 79, 41, 47, 47, 47, 47, 310, 22,
/* 1700 */ 114, 313, 314, 315, 316, 317, 318, 271, 320, 47,
/* 1710 */ 64, 47, 47, 47, 47, 279, 271, 47, 47, 47,
/* 1720 */ 47, 47, 0, 47, 279, 289, 45, 37, 0, 293,
/* 1730 */ 47, 45, 37, 0, 289, 47, 243, 45, 293, 37,
/* 1740 */ 0, 47, 45, 37, 0, 47, 310, 46, 0, 313,
/* 1750 */ 314, 315, 316, 317, 318, 310, 320, 0, 313, 314,
/* 1760 */ 315, 316, 317, 318, 271, 320, 20, 22, 21, 361,
/* 1770 */ 361, 22, 279, 22, 21, 361, 361, 361, 361, 361,
/* 0 */ 303, 273, 271, 273, 276, 246, 276, 248, 249, 278,
/* 10 */ 324, 325, 12, 13, 283, 2, 243, 243, 4, 272,
/* 20 */ 20, 293, 22, 293, 270, 12, 13, 14, 15, 16,
/* 30 */ 12, 13, 14, 15, 16, 273, 282, 309, 310, 309,
/* 40 */ 310, 246, 0, 248, 249, 271, 20, 47, 320, 242,
/* 50 */ 320, 244, 339, 279, 250, 293, 42, 43, 58, 20,
/* 60 */ 12, 13, 14, 289, 64, 352, 293, 293, 20, 356,
/* 70 */ 22, 309, 310, 299, 12, 13, 14, 15, 16, 251,
/* 80 */ 252, 81, 320, 279, 310, 80, 250, 313, 314, 315,
/* 90 */ 316, 317, 318, 88, 320, 47, 243, 323, 262, 57,
/* 100 */ 82, 327, 328, 103, 311, 269, 58, 81, 12, 13,
/* 110 */ 339, 273, 64, 339, 114, 279, 20, 311, 22, 289,
/* 120 */ 58, 317, 292, 352, 271, 295, 352, 356, 335, 81,
/* 130 */ 356, 293, 279, 14, 75, 331, 332, 333, 334, 20,
/* 140 */ 336, 335, 289, 47, 82, 81, 293, 309, 310, 250,
/* 150 */ 4, 103, 90, 256, 58, 150, 271, 260, 320, 159,
/* 160 */ 64, 262, 114, 310, 279, 57, 313, 314, 315, 316,
/* 170 */ 317, 318, 319, 320, 321, 322, 243, 81, 279, 120,
/* 180 */ 121, 181, 182, 20, 184, 185, 186, 187, 188, 189,
/* 190 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 103,
/* 200 */ 315, 255, 140, 55, 168, 169, 4, 159, 172, 21,
/* 210 */ 114, 211, 24, 25, 26, 27, 28, 29, 30, 31,
/* 220 */ 32, 243, 158, 277, 160, 163, 293, 81, 80, 181,
/* 230 */ 182, 83, 184, 185, 186, 187, 188, 189, 190, 191,
/* 240 */ 192, 193, 194, 195, 196, 197, 198, 0, 35, 20,
/* 250 */ 12, 13, 14, 15, 16, 159, 12, 13, 14, 15,
/* 260 */ 16, 199, 200, 201, 202, 203, 204, 205, 206, 207,
/* 270 */ 208, 293, 81, 240, 311, 211, 247, 181, 182, 250,
/* 280 */ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
/* 290 */ 194, 195, 196, 197, 198, 12, 13, 84, 335, 86,
/* 300 */ 87, 20, 89, 20, 185, 22, 93, 60, 61, 62,
/* 310 */ 63, 0, 65, 66, 67, 68, 69, 70, 71, 72,
/* 320 */ 73, 74, 75, 76, 77, 78, 60, 61, 255, 116,
/* 330 */ 47, 65, 299, 243, 68, 69, 93, 299, 72, 73,
/* 340 */ 74, 268, 250, 12, 13, 14, 14, 64, 20, 22,
/* 350 */ 277, 20, 20, 22, 262, 112, 113, 211, 115, 116,
/* 360 */ 117, 271, 81, 339, 81, 263, 243, 144, 57, 279,
/* 370 */ 140, 279, 339, 271, 47, 299, 352, 339, 47, 289,
/* 380 */ 356, 181, 280, 293, 146, 352, 103, 257, 258, 356,
/* 390 */ 352, 12, 13, 163, 356, 64, 20, 114, 22, 20,
/* 400 */ 310, 22, 211, 313, 314, 315, 316, 317, 318, 81,
/* 410 */ 320, 243, 81, 323, 212, 339, 293, 327, 328, 329,
/* 420 */ 220, 221, 222, 223, 224, 49, 47, 0, 352, 199,
/* 430 */ 289, 341, 356, 263, 103, 0, 295, 347, 348, 216,
/* 440 */ 217, 271, 159, 64, 0, 114, 247, 243, 21, 250,
/* 450 */ 280, 24, 25, 26, 27, 28, 29, 30, 31, 32,
/* 460 */ 81, 293, 257, 258, 181, 182, 22, 184, 185, 186,
/* 470 */ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
/* 480 */ 197, 198, 103, 12, 13, 14, 15, 16, 0, 253,
/* 490 */ 159, 279, 211, 114, 211, 60, 61, 293, 286, 271,
/* 500 */ 65, 37, 250, 68, 69, 20, 278, 72, 73, 74,
/* 510 */ 274, 283, 181, 182, 262, 184, 185, 186, 187, 188,
/* 520 */ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
/* 530 */ 41, 279, 12, 13, 14, 15, 16, 20, 159, 211,
/* 540 */ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
/* 550 */ 104, 281, 106, 107, 108, 109, 110, 111, 288, 289,
/* 560 */ 181, 182, 243, 184, 185, 186, 187, 188, 189, 190,
/* 570 */ 191, 192, 193, 194, 195, 196, 197, 198, 12, 13,
/* 580 */ 18, 93, 20, 2, 1, 2, 20, 243, 22, 27,
/* 590 */ 3, 47, 30, 12, 13, 14, 15, 16, 288, 289,
/* 600 */ 112, 113, 82, 115, 116, 117, 33, 250, 64, 271,
/* 610 */ 48, 14, 293, 47, 0, 271, 278, 20, 45, 262,
/* 620 */ 250, 283, 151, 279, 51, 52, 53, 54, 55, 243,
/* 630 */ 64, 154, 262, 289, 42, 43, 279, 293, 24, 25,
/* 640 */ 26, 27, 28, 29, 30, 31, 32, 81, 250, 279,
/* 650 */ 20, 174, 175, 80, 310, 253, 83, 313, 314, 315,
/* 660 */ 316, 317, 318, 146, 320, 82, 271, 323, 266, 103,
/* 670 */ 250, 327, 328, 329, 210, 280, 274, 279, 250, 293,
/* 680 */ 114, 119, 338, 243, 122, 123, 124, 125, 126, 127,
/* 690 */ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
/* 700 */ 138, 139, 231, 264, 284, 18, 267, 250, 92, 250,
/* 710 */ 23, 14, 15, 16, 141, 317, 143, 228, 145, 262,
/* 720 */ 147, 262, 35, 36, 57, 159, 39, 299, 269, 64,
/* 730 */ 332, 333, 334, 293, 336, 20, 279, 243, 279, 85,
/* 740 */ 167, 0, 88, 56, 243, 41, 243, 181, 182, 20,
/* 750 */ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
/* 760 */ 194, 195, 196, 197, 198, 271, 243, 339, 81, 250,
/* 770 */ 259, 263, 261, 279, 12, 13, 14, 15, 16, 271,
/* 780 */ 352, 262, 185, 289, 356, 209, 210, 293, 280, 250,
/* 790 */ 250, 243, 0, 299, 293, 250, 293, 243, 279, 272,
/* 800 */ 93, 262, 262, 250, 310, 118, 250, 313, 314, 315,
/* 810 */ 316, 317, 318, 226, 320, 262, 293, 323, 279, 279,
/* 820 */ 58, 327, 328, 116, 279, 243, 170, 171, 85, 0,
/* 830 */ 250, 88, 279, 339, 93, 279, 243, 45, 151, 152,
/* 840 */ 153, 293, 262, 156, 299, 22, 352, 293, 161, 243,
/* 850 */ 356, 22, 90, 112, 113, 243, 115, 116, 117, 279,
/* 860 */ 173, 146, 317, 176, 271, 178, 179, 180, 243, 243,
/* 870 */ 47, 58, 279, 317, 41, 293, 272, 332, 333, 334,
/* 880 */ 85, 336, 289, 88, 339, 81, 293, 64, 332, 333,
/* 890 */ 334, 146, 336, 85, 149, 91, 88, 352, 211, 293,
/* 900 */ 271, 356, 140, 310, 243, 293, 313, 314, 315, 316,
/* 910 */ 317, 318, 283, 320, 185, 82, 323, 0, 293, 293,
/* 920 */ 327, 328, 329, 21, 250, 163, 103, 1, 2, 196,
/* 930 */ 197, 41, 271, 244, 230, 47, 34, 114, 272, 22,
/* 940 */ 279, 348, 41, 44, 41, 47, 260, 272, 272, 272,
/* 950 */ 289, 41, 41, 279, 293, 41, 41, 41, 359, 41,
/* 960 */ 41, 199, 200, 201, 202, 203, 204, 205, 206, 207,
/* 970 */ 208, 310, 82, 299, 313, 314, 315, 316, 317, 318,
/* 980 */ 81, 320, 159, 82, 323, 82, 41, 243, 327, 328,
/* 990 */ 329, 317, 82, 82, 181, 41, 82, 82, 82, 338,
/* 1000 */ 82, 82, 114, 41, 181, 182, 332, 333, 334, 41,
/* 1010 */ 336, 41, 114, 339, 47, 271, 307, 344, 350, 243,
/* 1020 */ 271, 249, 41, 279, 251, 312, 352, 82, 282, 337,
/* 1030 */ 356, 64, 353, 289, 353, 353, 82, 293, 340, 20,
/* 1040 */ 250, 45, 308, 257, 82, 47, 157, 271, 301, 243,
/* 1050 */ 82, 250, 82, 250, 310, 279, 40, 313, 314, 315,
/* 1060 */ 316, 317, 318, 82, 320, 289, 287, 323, 140, 293,
/* 1070 */ 285, 327, 328, 329, 285, 299, 250, 271, 20, 245,
/* 1080 */ 245, 20, 338, 305, 20, 279, 310, 255, 289, 313,
/* 1090 */ 314, 315, 316, 317, 318, 289, 320, 255, 20, 293,
/* 1100 */ 300, 255, 297, 255, 297, 299, 279, 243, 20, 290,
/* 1110 */ 4, 255, 255, 250, 255, 339, 310, 245, 271, 313,
/* 1120 */ 314, 315, 316, 317, 318, 19, 320, 250, 352, 271,
/* 1130 */ 245, 271, 356, 271, 64, 271, 271, 271, 271, 33,
/* 1140 */ 271, 271, 271, 279, 271, 339, 293, 243, 305, 253,
/* 1150 */ 166, 45, 297, 289, 304, 279, 50, 293, 352, 253,
/* 1160 */ 253, 55, 356, 289, 20, 290, 243, 219, 218, 349,
/* 1170 */ 349, 225, 293, 253, 310, 271, 294, 313, 314, 315,
/* 1180 */ 316, 317, 318, 279, 320, 294, 80, 323, 293, 83,
/* 1190 */ 312, 327, 328, 289, 271, 346, 148, 293, 243, 345,
/* 1200 */ 214, 293, 279, 213, 343, 210, 279, 20, 311, 40,
/* 1210 */ 342, 330, 289, 81, 310, 227, 293, 313, 314, 315,
/* 1220 */ 316, 317, 318, 229, 320, 232, 271, 323, 294, 293,
/* 1230 */ 293, 327, 328, 310, 279, 355, 313, 314, 315, 316,
/* 1240 */ 317, 318, 293, 320, 289, 294, 354, 360, 293, 355,
/* 1250 */ 326, 143, 291, 19, 354, 279, 290, 253, 267, 253,
/* 1260 */ 355, 279, 81, 243, 275, 310, 354, 33, 313, 314,
/* 1270 */ 315, 316, 317, 318, 261, 320, 250, 253, 323, 45,
/* 1280 */ 357, 358, 245, 328, 306, 51, 52, 53, 54, 55,
/* 1290 */ 265, 271, 265, 265, 302, 298, 254, 241, 0, 279,
/* 1300 */ 0, 72, 0, 47, 177, 47, 47, 47, 177, 289,
/* 1310 */ 0, 243, 47, 293, 80, 47, 296, 83, 177, 0,
/* 1320 */ 47, 0, 47, 0, 47, 0, 81, 163, 162, 114,
/* 1330 */ 310, 159, 0, 313, 314, 315, 316, 317, 318, 271,
/* 1340 */ 320, 0, 0, 155, 154, 0, 0, 279, 44, 0,
/* 1350 */ 0, 117, 0, 0, 0, 0, 0, 289, 0, 243,
/* 1360 */ 0, 293, 0, 0, 0, 0, 0, 0, 243, 0,
/* 1370 */ 0, 40, 0, 0, 0, 0, 142, 0, 310, 145,
/* 1380 */ 0, 313, 314, 315, 316, 317, 318, 271, 320, 0,
/* 1390 */ 22, 0, 0, 0, 0, 279, 271, 40, 37, 165,
/* 1400 */ 0, 167, 14, 44, 279, 289, 0, 0, 0, 293,
/* 1410 */ 14, 0, 41, 0, 289, 148, 38, 0, 293, 351,
/* 1420 */ 44, 296, 243, 37, 37, 0, 310, 37, 0, 313,
/* 1430 */ 314, 315, 316, 317, 318, 310, 320, 243, 313, 314,
/* 1440 */ 315, 316, 317, 318, 59, 320, 0, 45, 47, 37,
/* 1450 */ 271, 0, 47, 37, 45, 0, 37, 47, 279, 45,
/* 1460 */ 0, 37, 47, 45, 0, 271, 0, 0, 289, 0,
/* 1470 */ 243, 90, 293, 279, 358, 22, 47, 0, 47, 47,
/* 1480 */ 47, 47, 41, 289, 41, 243, 88, 293, 0, 310,
/* 1490 */ 296, 47, 313, 314, 315, 316, 317, 318, 271, 320,
/* 1500 */ 22, 322, 0, 47, 310, 47, 279, 313, 314, 315,
/* 1510 */ 316, 317, 318, 271, 320, 0, 289, 22, 48, 22,
/* 1520 */ 293, 279, 47, 296, 0, 243, 22, 0, 22, 20,
/* 1530 */ 0, 289, 47, 0, 22, 293, 0, 310, 143, 0,
/* 1540 */ 313, 314, 315, 316, 317, 318, 0, 320, 164, 146,
/* 1550 */ 146, 37, 310, 271, 81, 313, 314, 315, 316, 317,
/* 1560 */ 318, 279, 320, 141, 41, 82, 41, 41, 82, 82,
/* 1570 */ 81, 289, 81, 81, 2, 293, 41, 243, 44, 81,
/* 1580 */ 81, 44, 82, 41, 44, 82, 41, 44, 41, 82,
/* 1590 */ 82, 47, 310, 41, 215, 313, 314, 315, 316, 317,
/* 1600 */ 318, 47, 320, 47, 47, 271, 47, 47, 181, 44,
/* 1610 */ 82, 82, 81, 279, 215, 44, 22, 0, 183, 81,
/* 1620 */ 144, 37, 141, 289, 44, 243, 44, 293, 59, 209,
/* 1630 */ 81, 22, 82, 82, 47, 47, 215, 47, 47, 81,
/* 1640 */ 243, 22, 81, 81, 310, 81, 91, 313, 314, 315,
/* 1650 */ 316, 317, 318, 271, 320, 81, 93, 82, 81, 81,
/* 1660 */ 92, 279, 47, 82, 81, 47, 22, 82, 271, 47,
/* 1670 */ 81, 289, 105, 243, 82, 293, 279, 81, 105, 82,
/* 1680 */ 81, 105, 82, 81, 105, 81, 289, 47, 81, 81,
/* 1690 */ 293, 58, 310, 47, 64, 313, 314, 315, 316, 317,
/* 1700 */ 318, 271, 320, 79, 41, 47, 47, 310, 47, 279,
/* 1710 */ 313, 314, 315, 316, 317, 318, 22, 320, 47, 289,
/* 1720 */ 47, 47, 47, 293, 114, 47, 64, 243, 47, 47,
/* 1730 */ 47, 47, 47, 47, 0, 47, 243, 45, 37, 0,
/* 1740 */ 310, 45, 47, 313, 314, 315, 316, 317, 318, 37,
/* 1750 */ 320, 0, 47, 45, 37, 271, 47, 37, 45, 0,
/* 1760 */ 0, 47, 46, 279, 271, 0, 0, 22, 21, 361,
/* 1770 */ 22, 22, 279, 289, 21, 20, 361, 293, 361, 361,
/* 1780 */ 361, 361, 289, 361, 243, 361, 293, 361, 361, 361,
/* 1790 */ 361, 361, 361, 361, 361, 243, 361, 361, 361, 361,
/* 1800 */ 361, 361, 361, 310, 361, 361, 313, 314, 315, 316,
/* 1810 */ 317, 318, 271, 320, 243, 361, 361, 361, 361, 361,
/* 1820 */ 279, 361, 361, 271, 361, 361, 361, 361, 361, 361,
/* 1830 */ 289, 279, 361, 361, 293, 361, 361, 361, 361, 361,
/* 1840 */ 361, 289, 271, 361, 361, 293, 361, 361, 361, 361,
/* 1850 */ 279, 310, 361, 361, 313, 314, 315, 316, 317, 318,
/* 1860 */ 289, 320, 310, 361, 293, 313, 314, 315, 316, 317,
/* 1870 */ 318, 361, 320, 243, 361, 361, 361, 361, 361, 361,
/* 1880 */ 361, 310, 243, 361, 313, 314, 315, 316, 317, 318,
/* 1890 */ 361, 320, 361, 361, 361, 361, 361, 361, 361, 361,
/* 1900 */ 361, 271, 361, 361, 361, 361, 361, 361, 361, 279,
/* 1910 */ 271, 361, 361, 361, 361, 361, 361, 361, 279, 289,
/* 1920 */ 361, 361, 361, 293, 361, 361, 361, 361, 289, 361,
/* 1930 */ 361, 361, 293, 361, 361, 361, 361, 361, 361, 361,
/* 1940 */ 310, 361, 243, 313, 314, 315, 316, 317, 318, 310,
/* 1950 */ 320, 243, 313, 314, 315, 316, 317, 318, 361, 320,
/* 1960 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 1970 */ 271, 361, 361, 361, 361, 361, 361, 361, 279, 271,
/* 1980 */ 361, 361, 361, 361, 361, 361, 361, 279, 289, 361,
/* 1990 */ 361, 361, 293, 361, 361, 361, 361, 289, 361, 243,
/* 2000 */ 361, 293, 361, 361, 361, 361, 361, 361, 361, 310,
/* 2010 */ 250, 361, 313, 314, 315, 316, 317, 318, 310, 320,
/* 2020 */ 361, 313, 314, 315, 316, 317, 318, 271, 320, 361,
/* 2030 */ 361, 361, 361, 361, 361, 279, 361, 361, 361, 279,
/* 2040 */ 361, 361, 361, 361, 361, 289, 250, 361, 361, 293,
/* 2050 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 299,
/* 1790 */ 361, 361, 361, 361, 310, 361, 243, 313, 314, 315,
/* 1800 */ 316, 317, 318, 310, 320, 361, 313, 314, 315, 316,
/* 1810 */ 317, 318, 271, 320, 361, 361, 361, 361, 361, 361,
/* 1820 */ 279, 361, 361, 361, 271, 361, 361, 361, 361, 361,
/* 1830 */ 289, 361, 279, 361, 293, 361, 243, 361, 361, 361,
/* 1840 */ 361, 361, 289, 361, 361, 361, 293, 361, 361, 243,
/* 1850 */ 361, 310, 361, 361, 313, 314, 315, 316, 317, 318,
/* 1860 */ 361, 320, 361, 310, 271, 361, 313, 314, 315, 316,
/* 1870 */ 317, 318, 279, 320, 361, 361, 361, 271, 361, 361,
/* 1880 */ 361, 361, 289, 361, 361, 279, 293, 361, 361, 361,
/* 1890 */ 361, 361, 361, 361, 361, 289, 361, 243, 361, 293,
/* 1900 */ 361, 361, 361, 310, 361, 361, 313, 314, 315, 316,
/* 1910 */ 317, 318, 243, 320, 361, 361, 310, 361, 361, 313,
/* 1920 */ 314, 315, 316, 317, 318, 271, 320, 361, 361, 361,
/* 1930 */ 361, 361, 361, 279, 361, 361, 361, 361, 361, 361,
/* 1940 */ 271, 361, 361, 289, 361, 243, 361, 293, 279, 361,
/* 1950 */ 361, 361, 361, 12, 13, 361, 361, 361, 289, 361,
/* 1960 */ 361, 361, 293, 22, 310, 361, 361, 313, 314, 315,
/* 1970 */ 316, 317, 318, 271, 320, 361, 361, 361, 361, 310,
/* 1980 */ 361, 279, 313, 314, 315, 316, 317, 318, 47, 320,
/* 1990 */ 361, 289, 361, 361, 361, 293, 361, 361, 361, 243,
/* 2000 */ 361, 361, 361, 361, 361, 64, 361, 361, 361, 361,
/* 2010 */ 361, 361, 310, 361, 361, 313, 314, 315, 316, 317,
/* 2020 */ 318, 361, 320, 361, 361, 361, 361, 271, 361, 361,
/* 2030 */ 361, 361, 361, 361, 361, 279, 361, 361, 361, 361,
/* 2040 */ 361, 361, 361, 361, 103, 289, 361, 361, 361, 293,
/* 2050 */ 361, 361, 361, 361, 361, 114, 361, 361, 361, 361,
/* 2060 */ 361, 361, 361, 361, 361, 361, 310, 361, 361, 313,
/* 2070 */ 314, 315, 316, 317, 318, 279, 320, 317, 361, 361,
/* 2070 */ 314, 315, 316, 317, 318, 361, 320, 361, 361, 361,
/* 2080 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2090 */ 361, 361, 332, 333, 334, 299, 336, 361, 361, 339,
/* 2100 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2110 */ 361, 361, 352, 317, 361, 361, 356, 361, 361, 361,
/* 2120 */ 361, 361, 361, 361, 361, 361, 361, 361, 332, 333,
/* 2130 */ 334, 361, 336, 361, 361, 339, 361, 361, 361, 361,
/* 2140 */ 361, 361, 361, 361, 361, 361, 361, 361, 352, 361,
/* 2150 */ 361, 361, 356,
/* 2090 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2100 */ 159, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2110 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2120 */ 361, 361, 181, 361, 361, 361, 361, 361, 361, 361,
/* 2130 */ 361, 361, 361, 192, 193, 194, 361, 361, 361, 361,
/* 2140 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2150 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2160 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2170 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2180 */ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
/* 2190 */ 361, 361, 361, 361,
};
#define YY_SHIFT_COUNT (610)
#define YY_SHIFT_COUNT (611)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (1757)
#define YY_SHIFT_MAX (1941)
static const unsigned short int yy_shift_ofst[] = {
/* 0 */ 768, 0, 0, 48, 234, 234, 234, 234, 255, 255,
/* 10 */ 234, 234, 441, 462, 648, 462, 462, 462, 462, 462,
/* 20 */ 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
/* 30 */ 462, 462, 462, 462, 462, 462, 462, 462, 254, 254,
/* 40 */ 54, 54, 54, 1188, 1188, 1188, 1188, 331, 508, 74,
/* 50 */ 4, 4, 7, 7, 76, 74, 74, 4, 4, 4,
/* 60 */ 4, 4, 4, 216, 4, 265, 371, 527, 265, 4,
/* 70 */ 4, 265, 4, 265, 265, 527, 265, 4, 447, 644,
/* 80 */ 14, 554, 554, 139, 192, 1453, 1453, 1453, 1453, 1453,
/* 90 */ 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
/* 100 */ 1453, 1453, 1453, 1453, 604, 229, 482, 482, 198, 5,
/* 110 */ 438, 438, 438, 764, 5, 772, 527, 265, 265, 527,
/* 120 */ 487, 468, 636, 636, 636, 636, 636, 636, 636, 440,
/* 130 */ 299, 222, 27, 486, 37, 346, 287, 456, 681, 674,
/* 140 */ 484, 769, 470, 652, 470, 390, 390, 390, 615, 773,
/* 150 */ 948, 963, 966, 864, 948, 948, 979, 886, 886, 948,
/* 160 */ 1014, 1014, 1020, 216, 527, 216, 1040, 1051, 216, 1040,
/* 170 */ 216, 772, 1066, 216, 216, 948, 216, 1014, 265, 265,
/* 180 */ 265, 265, 265, 265, 265, 265, 265, 265, 265, 948,
/* 190 */ 1014, 1043, 1020, 447, 967, 527, 447, 1040, 447, 772,
/* 200 */ 1066, 447, 1118, 924, 937, 1043, 924, 937, 1043, 1043,
/* 210 */ 265, 931, 938, 968, 970, 974, 772, 1159, 1145, 957,
/* 220 */ 971, 960, 957, 971, 957, 971, 1112, 937, 1043, 1043,
/* 230 */ 937, 1043, 1064, 772, 1066, 447, 487, 447, 772, 1146,
/* 240 */ 468, 948, 447, 1014, 2153, 2153, 2153, 2153, 2153, 2153,
/* 250 */ 2153, 2153, 71, 1425, 93, 453, 248, 587, 187, 63,
/* 260 */ 385, 391, 211, 570, 95, 95, 95, 95, 95, 95,
/* 270 */ 95, 95, 357, 2, 52, 492, 712, 655, 661, 661,
/* 280 */ 661, 661, 854, 501, 786, 788, 790, 792, 857, 863,
/* 290 */ 867, 862, 557, 677, 880, 881, 888, 900, 715, 749,
/* 300 */ 805, 891, 824, 892, 868, 893, 898, 928, 930, 951,
/* 310 */ 869, 879, 955, 956, 961, 965, 975, 976, 807, 242,
/* 320 */ 1261, 1262, 1192, 1265, 1227, 1107, 1237, 1239, 1240, 1114,
/* 330 */ 1288, 1245, 1246, 1119, 1294, 1249, 1297, 1251, 1300, 1254,
/* 340 */ 1304, 1224, 1144, 1147, 1193, 1151, 1312, 1314, 1161, 1163,
/* 350 */ 1318, 1319, 1278, 1329, 1332, 1333, 1334, 1336, 1337, 1338,
/* 360 */ 1339, 1340, 1341, 1342, 1343, 1344, 1347, 1348, 1349, 1350,
/* 370 */ 1351, 1324, 1354, 1366, 1369, 1371, 1372, 1373, 1352, 1375,
/* 380 */ 1376, 1377, 1382, 1383, 1385, 1346, 1359, 1356, 1381, 1355,
/* 390 */ 1384, 1360, 1402, 1365, 1368, 1407, 1408, 1409, 1379, 1410,
/* 400 */ 1412, 1380, 1413, 1361, 1419, 1421, 1378, 1389, 1386, 1422,
/* 410 */ 1394, 1398, 1390, 1426, 1400, 1411, 1392, 1430, 1414, 1415,
/* 420 */ 1396, 1457, 1459, 1462, 1463, 1391, 1395, 1418, 1447, 1467,
/* 430 */ 1427, 1435, 1437, 1439, 1431, 1432, 1440, 1449, 1450, 1498,
/* 440 */ 1477, 1501, 1481, 1456, 1506, 1485, 1464, 1509, 1488, 1513,
/* 450 */ 1492, 1495, 1518, 1374, 1472, 1521, 1362, 1500, 1399, 1387,
/* 460 */ 1524, 1526, 1527, 1448, 1491, 1393, 1490, 1494, 1330, 1460,
/* 470 */ 1505, 1465, 1451, 1468, 1469, 1466, 1511, 1510, 1514, 1474,
/* 480 */ 1512, 1363, 1475, 1478, 1517, 1357, 1522, 1520, 1480, 1533,
/* 490 */ 1364, 1497, 1528, 1529, 1534, 1535, 1536, 1537, 1497, 1578,
/* 500 */ 1405, 1545, 1507, 1523, 1530, 1543, 1525, 1532, 1544, 1570,
/* 510 */ 1420, 1538, 1540, 1542, 1539, 1546, 1461, 1547, 1603, 1572,
/* 520 */ 1473, 1549, 1519, 1564, 1574, 1551, 1553, 1555, 1593, 1558,
/* 530 */ 1531, 1567, 1569, 1579, 1559, 1568, 1605, 1573, 1575, 1606,
/* 540 */ 1577, 1580, 1608, 1582, 1583, 1609, 1585, 1556, 1565, 1581,
/* 550 */ 1584, 1638, 1576, 1599, 1601, 1617, 1602, 1586, 1637, 1663,
/* 560 */ 1566, 1629, 1643, 1627, 1613, 1652, 1647, 1648, 1649, 1650,
/* 570 */ 1662, 1677, 1664, 1665, 1646, 1431, 1666, 1432, 1667, 1670,
/* 580 */ 1671, 1672, 1673, 1674, 1722, 1676, 1681, 1690, 1728, 1683,
/* 590 */ 1686, 1695, 1733, 1688, 1692, 1702, 1740, 1694, 1697, 1706,
/* 600 */ 1744, 1698, 1701, 1748, 1757, 1745, 1747, 1749, 1751, 1753,
/* 610 */ 1746,
/* 0 */ 687, 0, 0, 48, 96, 96, 96, 96, 283, 283,
/* 10 */ 96, 96, 331, 379, 566, 379, 379, 379, 379, 379,
/* 20 */ 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
/* 30 */ 379, 379, 379, 379, 379, 379, 379, 379, 281, 281,
/* 40 */ 26, 26, 26, 1941, 1941, 1941, 1941, 328, 64, 191,
/* 50 */ 39, 39, 14, 14, 146, 191, 191, 39, 39, 39,
/* 60 */ 39, 39, 39, 108, 39, 163, 229, 485, 163, 39,
/* 70 */ 39, 163, 39, 163, 163, 485, 163, 39, 667, 562,
/* 80 */ 62, 762, 762, 188, 266, 823, 823, 823, 823, 823,
/* 90 */ 823, 823, 823, 823, 823, 823, 823, 823, 823, 823,
/* 100 */ 823, 823, 823, 823, 213, 376, 332, 332, 42, 544,
/* 110 */ 517, 517, 517, 311, 544, 630, 485, 163, 163, 485,
/* 120 */ 616, 665, 446, 446, 446, 446, 446, 446, 446, 1234,
/* 130 */ 427, 435, 471, 200, 36, 223, 119, 597, 592, 327,
/* 140 */ 707, 715, 576, 464, 576, 587, 587, 587, 202, 729,
/* 150 */ 1019, 996, 998, 889, 1019, 1019, 1016, 928, 928, 1019,
/* 160 */ 1058, 1058, 1061, 108, 485, 108, 1064, 1078, 108, 1064,
/* 170 */ 108, 630, 1088, 108, 108, 1019, 108, 1058, 163, 163,
/* 180 */ 163, 163, 163, 163, 163, 163, 163, 163, 163, 1019,
/* 190 */ 1058, 1070, 1061, 667, 984, 485, 667, 1064, 667, 630,
/* 200 */ 1088, 667, 1144, 948, 950, 1070, 948, 950, 1070, 1070,
/* 210 */ 163, 946, 1048, 986, 990, 995, 630, 1187, 1169, 994,
/* 220 */ 988, 993, 994, 988, 994, 988, 1132, 950, 1070, 1070,
/* 230 */ 950, 1070, 1108, 630, 1088, 667, 616, 667, 630, 1181,
/* 240 */ 665, 1019, 667, 1058, 2136, 2136, 2136, 2136, 2136, 2136,
/* 250 */ 2136, 2136, 247, 573, 614, 1106, 488, 741, 18, 13,
/* 260 */ 581, 238, 520, 243, 244, 244, 244, 244, 244, 244,
/* 270 */ 244, 244, 477, 148, 59, 5, 583, 230, 697, 697,
/* 280 */ 697, 697, 792, 833, 654, 743, 795, 808, 444, 829,
/* 290 */ 917, 902, 656, 745, 890, 901, 903, 926, 733, 489,
/* 300 */ 704, 910, 813, 911, 899, 914, 915, 916, 918, 919,
/* 310 */ 888, 898, 945, 954, 962, 968, 970, 981, 804, 967,
/* 320 */ 1298, 1300, 1229, 1302, 1256, 1127, 1258, 1259, 1260, 1131,
/* 330 */ 1310, 1265, 1268, 1141, 1319, 1273, 1321, 1275, 1323, 1277,
/* 340 */ 1325, 1245, 1164, 1166, 1215, 1172, 1332, 1341, 1188, 1190,
/* 350 */ 1342, 1345, 1304, 1346, 1349, 1350, 1352, 1353, 1354, 1355,
/* 360 */ 1356, 1358, 1360, 1362, 1363, 1364, 1365, 1366, 1367, 1369,
/* 370 */ 1370, 1331, 1372, 1373, 1374, 1375, 1377, 1380, 1368, 1389,
/* 380 */ 1391, 1392, 1393, 1394, 1400, 1357, 1361, 1371, 1388, 1359,
/* 390 */ 1396, 1376, 1406, 1378, 1386, 1407, 1408, 1411, 1387, 1267,
/* 400 */ 1413, 1417, 1390, 1425, 1385, 1428, 1446, 1401, 1402, 1412,
/* 410 */ 1451, 1405, 1409, 1416, 1455, 1410, 1414, 1419, 1460, 1415,
/* 420 */ 1418, 1424, 1464, 1466, 1467, 1469, 1381, 1398, 1429, 1453,
/* 430 */ 1477, 1431, 1432, 1433, 1434, 1441, 1443, 1444, 1456, 1458,
/* 440 */ 1488, 1478, 1502, 1495, 1470, 1515, 1497, 1475, 1524, 1504,
/* 450 */ 1527, 1506, 1509, 1530, 1403, 1485, 1533, 1384, 1512, 1404,
/* 460 */ 1395, 1536, 1539, 1546, 1473, 1514, 1422, 1523, 1525, 1379,
/* 470 */ 1483, 1526, 1486, 1489, 1491, 1492, 1487, 1535, 1534, 1537,
/* 480 */ 1498, 1542, 1399, 1500, 1503, 1540, 1420, 1545, 1543, 1507,
/* 490 */ 1547, 1421, 1508, 1544, 1554, 1556, 1557, 1559, 1560, 1508,
/* 500 */ 1572, 1427, 1552, 1528, 1499, 1529, 1565, 1531, 1538, 1571,
/* 510 */ 1594, 1435, 1549, 1550, 1551, 1558, 1561, 1476, 1562, 1617,
/* 520 */ 1584, 1481, 1564, 1555, 1580, 1582, 1574, 1575, 1577, 1609,
/* 530 */ 1578, 1568, 1581, 1587, 1588, 1583, 1585, 1590, 1589, 1592,
/* 540 */ 1591, 1596, 1597, 1615, 1599, 1600, 1618, 1602, 1567, 1573,
/* 550 */ 1576, 1579, 1619, 1563, 1604, 1607, 1622, 1608, 1610, 1640,
/* 560 */ 1644, 1569, 1633, 1646, 1630, 1624, 1663, 1658, 1659, 1661,
/* 570 */ 1671, 1673, 1694, 1674, 1675, 1662, 1441, 1678, 1443, 1681,
/* 580 */ 1682, 1683, 1684, 1685, 1686, 1734, 1688, 1692, 1701, 1739,
/* 590 */ 1695, 1696, 1712, 1751, 1705, 1708, 1717, 1765, 1709, 1713,
/* 600 */ 1720, 1759, 1714, 1716, 1760, 1766, 1745, 1747, 1748, 1749,
/* 610 */ 1753, 1755,
};
#define YY_REDUCE_COUNT (251)
#define YY_REDUCE_MIN (-320)
#define YY_REDUCE_MAX (1796)
#define YY_REDUCE_MIN (-314)
#define YY_REDUCE_MAX (1756)
static const short yy_reduce_ofst[] = {
/* 0 */ 259, -226, 236, 61, 577, 638, 671, 752, 784, 835,
/* 10 */ 29, 850, 901, 953, 736, 962, 1010, 1042, 1074, 1122,
/* 20 */ 1135, 1175, 1223, 1280, 1328, 1358, 1388, 1436, 1445, 1493,
/* 30 */ 1541, 1552, 1571, 1630, 1639, 1699, 1708, 1756, 1760, 1796,
/* 40 */ -20, 261, 269, -272, 207, 204, 298, 182, 449, 512,
/* 50 */ -244, -164, -246, -241, -320, -178, -76, -196, 55, 59,
/* 60 */ 132, 239, 419, -222, 422, -227, -256, -139, -1, 534,
/* 70 */ 535, 84, 537, 310, 102, 179, 448, 568, 343, -75,
/* 80 */ -315, -315, -315, -228, -49, 60, 90, 123, 194, 213,
/* 90 */ 219, 235, 317, 380, 472, 507, 559, 565, 566, 567,
/* 100 */ 569, 572, 576, 579, -154, -152, -216, -68, 33, 138,
/* 110 */ 75, 406, 414, -3, 176, -127, 250, 88, 439, 325,
/* 120 */ 202, 111, 302, 526, 555, 578, 583, 612, 631, 605,
/* 130 */ 663, 653, 571, 574, 628, 592, 666, 666, 689, 690,
/* 140 */ 662, 647, 635, 635, 635, 629, 637, 650, 665, 666,
/* 150 */ 751, 703, 757, 717, 771, 774, 735, 743, 745, 782,
/* 160 */ 791, 794, 737, 789, 759, 806, 777, 776, 827, 787,
/* 170 */ 830, 808, 798, 834, 836, 842, 840, 851, 832, 837,
/* 180 */ 838, 839, 841, 844, 845, 846, 847, 848, 849, 855,
/* 190 */ 866, 820, 817, 872, 822, 852, 874, 833, 878, 856,
/* 200 */ 843, 884, 859, 797, 853, 865, 810, 875, 882, 883,
/* 210 */ 666, 811, 816, 860, 870, 635, 905, 877, 876, 858,
/* 220 */ 871, 829, 873, 885, 889, 894, 903, 908, 902, 904,
/* 230 */ 910, 906, 917, 947, 919, 977, 964, 981, 958, 972,
/* 240 */ 982, 986, 985, 995, 943, 944, 959, 984, 989, 991,
/* 250 */ 1005, 1019,
/* 0 */ 33, -226, 494, 90, 593, 344, 661, 744, 776, 806,
/* 10 */ 864, 904, -147, 923, 955, 1020, 1068, 1116, 1125, 1179,
/* 20 */ 1194, 1227, 1242, 1282, 1334, 1382, 1397, 1430, 1484, 1493,
/* 30 */ 1541, 1553, 1593, 1606, 1654, 1669, 1702, 1756, 545, 674,
/* 40 */ -196, 398, 556, -272, -270, -238, -162, 428, 38, 76,
/* 50 */ -164, 459, -241, -205, -287, -229, 24, -101, 92, 252,
/* 60 */ 357, 370, 457, 73, 519, -269, -115, -170, 102, 539,
/* 70 */ 540, 228, 553, 170, 338, 270, 508, 580, 402, 420,
/* 80 */ -314, -314, -314, -193, -103, -227, -67, -22, 123, 168,
/* 90 */ 204, 319, 386, 440, 501, 503, 523, 548, 554, 582,
/* 100 */ 606, 612, 625, 626, -246, -172, 29, 199, -54, 130,
/* 110 */ -207, -194, -37, 236, 205, 212, 141, 395, 629, 310,
/* 120 */ 439, 511, -253, 527, 604, 666, 675, 676, 677, -303,
/* 130 */ 689, 686, 599, 668, 709, 673, 749, 749, 772, 773,
/* 140 */ 746, 713, 692, 692, 692, 679, 681, 682, 698, 749,
/* 150 */ 790, 734, 786, 747, 801, 803, 779, 785, 789, 826,
/* 160 */ 834, 835, 778, 832, 799, 842, 805, 800, 846, 807,
/* 170 */ 848, 827, 819, 856, 857, 863, 859, 872, 847, 858,
/* 180 */ 860, 862, 865, 866, 867, 869, 870, 871, 873, 877,
/* 190 */ 885, 853, 843, 896, 850, 874, 906, 855, 907, 876,
/* 200 */ 875, 920, 878, 820, 882, 879, 821, 891, 895, 908,
/* 210 */ 749, 849, 854, 861, 868, 692, 927, 897, 881, 880,
/* 220 */ 892, 887, 894, 900, 905, 912, 924, 934, 936, 937,
/* 230 */ 951, 949, 961, 976, 966, 1004, 991, 1006, 982, 989,
/* 240 */ 1013, 1026, 1024, 1037, 992, 978, 997, 1025, 1027, 1028,
/* 250 */ 1042, 1056,
};
static const YYACTIONTYPE yy_default[] = {
/* 0 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 10 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 20 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 30 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 40 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 50 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 60 */ 1356, 1356, 1356, 1425, 1356, 1356, 1356, 1356, 1356, 1356,
/* 70 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1423, 1564,
/* 80 */ 1356, 1731, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 90 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 100 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1425, 1356,
/* 110 */ 1742, 1742, 1742, 1423, 1356, 1356, 1356, 1356, 1356, 1356,
/* 120 */ 1519, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1603,
/* 130 */ 1356, 1356, 1808, 1356, 1609, 1766, 1356, 1356, 1356, 1356,
/* 140 */ 1472, 1758, 1734, 1748, 1735, 1793, 1793, 1793, 1751, 1356,
/* 150 */ 1356, 1356, 1356, 1595, 1356, 1356, 1569, 1566, 1566, 1356,
/* 160 */ 1356, 1356, 1356, 1425, 1356, 1425, 1356, 1356, 1425, 1356,
/* 170 */ 1425, 1356, 1356, 1425, 1425, 1356, 1425, 1356, 1356, 1356,
/* 180 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 190 */ 1356, 1356, 1356, 1423, 1605, 1356, 1423, 1356, 1423, 1356,
/* 200 */ 1356, 1423, 1356, 1773, 1771, 1356, 1773, 1771, 1356, 1356,
/* 210 */ 1356, 1785, 1781, 1764, 1762, 1748, 1356, 1356, 1356, 1799,
/* 220 */ 1795, 1811, 1799, 1795, 1799, 1795, 1356, 1771, 1356, 1356,
/* 230 */ 1771, 1356, 1577, 1356, 1356, 1423, 1356, 1423, 1356, 1488,
/* 240 */ 1356, 1356, 1423, 1356, 1597, 1611, 1587, 1522, 1522, 1522,
/* 250 */ 1426, 1361, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 260 */ 1356, 1356, 1356, 1484, 1675, 1784, 1783, 1707, 1706, 1705,
/* 270 */ 1703, 1674, 1356, 1356, 1356, 1356, 1356, 1356, 1668, 1669,
/* 280 */ 1667, 1666, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 290 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1732, 1356, 1796,
/* 300 */ 1800, 1356, 1356, 1356, 1651, 1356, 1356, 1356, 1356, 1356,
/* 310 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 320 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 330 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 340 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 350 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 360 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 370 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 380 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1390, 1356, 1356,
/* 390 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 400 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 410 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 420 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 430 */ 1356, 1356, 1356, 1356, 1453, 1452, 1356, 1356, 1356, 1356,
/* 440 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 450 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 460 */ 1356, 1356, 1356, 1356, 1356, 1356, 1755, 1765, 1356, 1356,
/* 470 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1651, 1356,
/* 480 */ 1782, 1356, 1741, 1737, 1356, 1356, 1733, 1356, 1356, 1794,
/* 490 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1727,
/* 500 */ 1356, 1700, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 510 */ 1662, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 520 */ 1356, 1356, 1356, 1650, 1356, 1691, 1356, 1356, 1356, 1356,
/* 530 */ 1356, 1356, 1356, 1356, 1516, 1356, 1356, 1356, 1356, 1356,
/* 540 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1501, 1499, 1498,
/* 550 */ 1497, 1356, 1494, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 560 */ 1356, 1356, 1356, 1356, 1356, 1445, 1356, 1356, 1356, 1356,
/* 570 */ 1356, 1356, 1356, 1356, 1356, 1436, 1356, 1435, 1356, 1356,
/* 580 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 590 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 600 */ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
/* 610 */ 1356,
/* 0 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 10 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 20 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 30 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 40 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 50 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 60 */ 1357, 1357, 1357, 1426, 1357, 1357, 1357, 1357, 1357, 1357,
/* 70 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1424, 1565,
/* 80 */ 1357, 1732, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 90 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 100 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1426, 1357,
/* 110 */ 1743, 1743, 1743, 1424, 1357, 1357, 1357, 1357, 1357, 1357,
/* 120 */ 1520, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1604,
/* 130 */ 1357, 1357, 1809, 1357, 1610, 1767, 1357, 1357, 1357, 1357,
/* 140 */ 1473, 1759, 1735, 1749, 1736, 1794, 1794, 1794, 1752, 1357,
/* 150 */ 1357, 1357, 1357, 1596, 1357, 1357, 1570, 1567, 1567, 1357,
/* 160 */ 1357, 1357, 1357, 1426, 1357, 1426, 1357, 1357, 1426, 1357,
/* 170 */ 1426, 1357, 1357, 1426, 1426, 1357, 1426, 1357, 1357, 1357,
/* 180 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 190 */ 1357, 1357, 1357, 1424, 1606, 1357, 1424, 1357, 1424, 1357,
/* 200 */ 1357, 1424, 1357, 1774, 1772, 1357, 1774, 1772, 1357, 1357,
/* 210 */ 1357, 1786, 1782, 1765, 1763, 1749, 1357, 1357, 1357, 1800,
/* 220 */ 1796, 1812, 1800, 1796, 1800, 1796, 1357, 1772, 1357, 1357,
/* 230 */ 1772, 1357, 1578, 1357, 1357, 1424, 1357, 1424, 1357, 1489,
/* 240 */ 1357, 1357, 1424, 1357, 1598, 1612, 1588, 1523, 1523, 1523,
/* 250 */ 1427, 1362, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 260 */ 1357, 1357, 1357, 1485, 1676, 1785, 1784, 1708, 1707, 1706,
/* 270 */ 1704, 1675, 1357, 1357, 1357, 1357, 1357, 1357, 1669, 1670,
/* 280 */ 1668, 1667, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 290 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1733, 1357, 1797,
/* 300 */ 1801, 1357, 1357, 1357, 1652, 1357, 1357, 1357, 1357, 1357,
/* 310 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 320 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 330 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 340 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 350 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 360 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 370 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 380 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1391, 1357, 1357,
/* 390 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 400 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 410 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 420 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 430 */ 1357, 1357, 1357, 1357, 1357, 1454, 1453, 1357, 1357, 1357,
/* 440 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 450 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 460 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1756, 1766, 1357,
/* 470 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1652,
/* 480 */ 1357, 1783, 1357, 1742, 1738, 1357, 1357, 1734, 1357, 1357,
/* 490 */ 1795, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 500 */ 1728, 1357, 1701, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 510 */ 1357, 1663, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 520 */ 1357, 1357, 1357, 1357, 1651, 1357, 1692, 1357, 1357, 1357,
/* 530 */ 1357, 1357, 1357, 1357, 1357, 1517, 1357, 1357, 1357, 1357,
/* 540 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1502, 1500,
/* 550 */ 1499, 1498, 1357, 1495, 1357, 1357, 1357, 1357, 1357, 1357,
/* 560 */ 1357, 1357, 1357, 1357, 1357, 1357, 1446, 1357, 1357, 1357,
/* 570 */ 1357, 1357, 1357, 1357, 1357, 1357, 1437, 1357, 1436, 1357,
/* 580 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 590 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 600 */ 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
/* 610 */ 1357, 1357,
};
/********** End of lemon-generated parsing tables *****************************/
......@@ -975,7 +977,8 @@ static const YYCODETYPE yyFallback[] = {
0, /* INTERVAL => nothing */
0, /* TOPIC => nothing */
0, /* AS => nothing */
0, /* CGROUP => nothing */
0, /* CONSUMER => nothing */
0, /* GROUP => nothing */
0, /* WITH => nothing */
0, /* SCHEMA => nothing */
0, /* DESC => nothing */
......@@ -1052,7 +1055,6 @@ static const YYCODETYPE yyFallback[] = {
0, /* PREV => nothing */
0, /* LINEAR => nothing */
0, /* NEXT => nothing */
0, /* GROUP => nothing */
0, /* HAVING => nothing */
0, /* ORDER => nothing */
0, /* SLIMIT => nothing */
......@@ -1302,84 +1304,84 @@ static const char *const yyTokenName[] = {
/* 144 */ "INTERVAL",
/* 145 */ "TOPIC",
/* 146 */ "AS",
/* 147 */ "CGROUP",
/* 148 */ "WITH",
/* 149 */ "SCHEMA",
/* 150 */ "DESC",
/* 151 */ "DESCRIBE",
/* 152 */ "RESET",
/* 153 */ "QUERY",
/* 154 */ "CACHE",
/* 155 */ "EXPLAIN",
/* 156 */ "ANALYZE",
/* 157 */ "VERBOSE",
/* 158 */ "NK_BOOL",
/* 159 */ "RATIO",
/* 160 */ "COMPACT",
/* 161 */ "VNODES",
/* 162 */ "IN",
/* 163 */ "OUTPUTTYPE",
/* 164 */ "AGGREGATE",
/* 165 */ "BUFSIZE",
/* 166 */ "STREAM",
/* 167 */ "INTO",
/* 168 */ "TRIGGER",
/* 169 */ "AT_ONCE",
/* 170 */ "WINDOW_CLOSE",
/* 171 */ "WATERMARK",
/* 172 */ "KILL",
/* 173 */ "CONNECTION",
/* 174 */ "TRANSACTION",
/* 175 */ "MERGE",
/* 176 */ "VGROUP",
/* 177 */ "REDISTRIBUTE",
/* 178 */ "SPLIT",
/* 179 */ "SYNCDB",
/* 180 */ "NULL",
/* 181 */ "NK_QUESTION",
/* 182 */ "NK_ARROW",
/* 183 */ "ROWTS",
/* 184 */ "TBNAME",
/* 185 */ "QSTARTTS",
/* 186 */ "QENDTS",
/* 187 */ "WSTARTTS",
/* 188 */ "WENDTS",
/* 189 */ "WDURATION",
/* 190 */ "CAST",
/* 191 */ "NOW",
/* 192 */ "TODAY",
/* 193 */ "TIMEZONE",
/* 194 */ "COUNT",
/* 195 */ "FIRST",
/* 196 */ "LAST",
/* 197 */ "LAST_ROW",
/* 198 */ "BETWEEN",
/* 199 */ "IS",
/* 200 */ "NK_LT",
/* 201 */ "NK_GT",
/* 202 */ "NK_LE",
/* 203 */ "NK_GE",
/* 204 */ "NK_NE",
/* 205 */ "MATCH",
/* 206 */ "NMATCH",
/* 207 */ "CONTAINS",
/* 208 */ "JOIN",
/* 209 */ "INNER",
/* 210 */ "SELECT",
/* 211 */ "DISTINCT",
/* 212 */ "WHERE",
/* 213 */ "PARTITION",
/* 214 */ "BY",
/* 215 */ "SESSION",
/* 216 */ "STATE_WINDOW",
/* 217 */ "SLIDING",
/* 218 */ "FILL",
/* 219 */ "VALUE",
/* 220 */ "NONE",
/* 221 */ "PREV",
/* 222 */ "LINEAR",
/* 223 */ "NEXT",
/* 224 */ "GROUP",
/* 147 */ "CONSUMER",
/* 148 */ "GROUP",
/* 149 */ "WITH",
/* 150 */ "SCHEMA",
/* 151 */ "DESC",
/* 152 */ "DESCRIBE",
/* 153 */ "RESET",
/* 154 */ "QUERY",
/* 155 */ "CACHE",
/* 156 */ "EXPLAIN",
/* 157 */ "ANALYZE",
/* 158 */ "VERBOSE",
/* 159 */ "NK_BOOL",
/* 160 */ "RATIO",
/* 161 */ "COMPACT",
/* 162 */ "VNODES",
/* 163 */ "IN",
/* 164 */ "OUTPUTTYPE",
/* 165 */ "AGGREGATE",
/* 166 */ "BUFSIZE",
/* 167 */ "STREAM",
/* 168 */ "INTO",
/* 169 */ "TRIGGER",
/* 170 */ "AT_ONCE",
/* 171 */ "WINDOW_CLOSE",
/* 172 */ "WATERMARK",
/* 173 */ "KILL",
/* 174 */ "CONNECTION",
/* 175 */ "TRANSACTION",
/* 176 */ "MERGE",
/* 177 */ "VGROUP",
/* 178 */ "REDISTRIBUTE",
/* 179 */ "SPLIT",
/* 180 */ "SYNCDB",
/* 181 */ "NULL",
/* 182 */ "NK_QUESTION",
/* 183 */ "NK_ARROW",
/* 184 */ "ROWTS",
/* 185 */ "TBNAME",
/* 186 */ "QSTARTTS",
/* 187 */ "QENDTS",
/* 188 */ "WSTARTTS",
/* 189 */ "WENDTS",
/* 190 */ "WDURATION",
/* 191 */ "CAST",
/* 192 */ "NOW",
/* 193 */ "TODAY",
/* 194 */ "TIMEZONE",
/* 195 */ "COUNT",
/* 196 */ "FIRST",
/* 197 */ "LAST",
/* 198 */ "LAST_ROW",
/* 199 */ "BETWEEN",
/* 200 */ "IS",
/* 201 */ "NK_LT",
/* 202 */ "NK_GT",
/* 203 */ "NK_LE",
/* 204 */ "NK_GE",
/* 205 */ "NK_NE",
/* 206 */ "MATCH",
/* 207 */ "NMATCH",
/* 208 */ "CONTAINS",
/* 209 */ "JOIN",
/* 210 */ "INNER",
/* 211 */ "SELECT",
/* 212 */ "DISTINCT",
/* 213 */ "WHERE",
/* 214 */ "PARTITION",
/* 215 */ "BY",
/* 216 */ "SESSION",
/* 217 */ "STATE_WINDOW",
/* 218 */ "SLIDING",
/* 219 */ "FILL",
/* 220 */ "VALUE",
/* 221 */ "NONE",
/* 222 */ "PREV",
/* 223 */ "LINEAR",
/* 224 */ "NEXT",
/* 225 */ "HAVING",
/* 226 */ "ORDER",
/* 227 */ "SLIMIT",
......@@ -1750,7 +1752,7 @@ static const char *const yyRuleName[] = {
/* 224 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name topic_options AS query_expression",
/* 225 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name topic_options AS db_name",
/* 226 */ "cmd ::= DROP TOPIC exists_opt topic_name",
/* 227 */ "cmd ::= DROP CGROUP exists_opt cgroup_name ON topic_name",
/* 227 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name",
/* 228 */ "topic_options ::=",
/* 229 */ "topic_options ::= topic_options WITH TABLE",
/* 230 */ "topic_options ::= topic_options WITH SCHEMA",
......@@ -2798,7 +2800,7 @@ static const struct {
{ 240, -7 }, /* (224) cmd ::= CREATE TOPIC not_exists_opt topic_name topic_options AS query_expression */
{ 240, -7 }, /* (225) cmd ::= CREATE TOPIC not_exists_opt topic_name topic_options AS db_name */
{ 240, -4 }, /* (226) cmd ::= DROP TOPIC exists_opt topic_name */
{ 240, -6 }, /* (227) cmd ::= DROP CGROUP exists_opt cgroup_name ON topic_name */
{ 240, -7 }, /* (227) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
{ 298, 0 }, /* (228) topic_options ::= */
{ 298, -3 }, /* (229) topic_options ::= topic_options WITH TABLE */
{ 298, -3 }, /* (230) topic_options ::= topic_options WITH SCHEMA */
......@@ -3827,7 +3829,7 @@ static YYACTIONTYPE yy_reduce(
case 226: /* cmd ::= DROP TOPIC exists_opt topic_name */
{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy603, &yymsp[0].minor.yy53); }
break;
case 227: /* cmd ::= DROP CGROUP exists_opt cgroup_name ON topic_name */
case 227: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy603, &yymsp[-2].minor.yy53, &yymsp[0].minor.yy53); }
break;
case 228: /* topic_options ::= */
......
......@@ -32,7 +32,7 @@ TEST_F(ParserInitialDTest, dropBnode) {
run("DROP BNODE ON DNODE 1");
}
// DROP CGROUP [ IF EXISTS ] cgroup_name ON topic_name
// DROP CONSUMER GROUP [ IF EXISTS ] cgroup_name ON topic_name
TEST_F(ParserInitialDTest, dropCGroup) {
useDb("root", "test");
......@@ -56,10 +56,10 @@ TEST_F(ParserInitialDTest, dropCGroup) {
});
setDropCgroupReqFunc("tp1", "cg1");
run("DROP CGROUP cg1 ON tp1");
run("DROP CONSUMER GROUP cg1 ON tp1");
setDropCgroupReqFunc("tp1", "cg1", 1);
run("DROP CGROUP IF EXISTS cg1 ON tp1");
run("DROP CONSUMER GROUP IF EXISTS cg1 ON tp1");
}
// todo drop database
......
......@@ -252,6 +252,8 @@ TEST_F(ParserSelectTest, semanticError) {
// TSDB_CODE_PAR_AMBIGUOUS_COLUMN
run("SELECT c2 FROM t1 tt1, t1 tt2 WHERE tt1.c1 = tt2.c1", TSDB_CODE_PAR_AMBIGUOUS_COLUMN, PARSER_STAGE_TRANSLATE);
run("SELECT c2 FROM (SELECT c1 c2, c2 FROM t1)", TSDB_CODE_PAR_AMBIGUOUS_COLUMN, PARSER_STAGE_TRANSLATE);
// TSDB_CODE_PAR_WRONG_VALUE_TYPE
run("SELECT timestamp '2010a' FROM t1", TSDB_CODE_PAR_WRONG_VALUE_TYPE, PARSER_STAGE_TRANSLATE);
......
......@@ -124,6 +124,7 @@ static int32_t createChildLogicNode(SLogicPlanContext* pCxt, SSelectStmt* pSelec
SLogicNode* pNode = NULL;
int32_t code = func(pCxt, pSelect, &pNode);
if (TSDB_CODE_SUCCESS == code && NULL != pNode) {
pNode->precision = pSelect->precision;
code = pushLogicNode(pCxt, pRoot, pNode);
}
if (TSDB_CODE_SUCCESS != code) {
......@@ -400,6 +401,7 @@ static int32_t createLogicNodeByTable(SLogicPlanContext* pCxt, SSelectStmt* pSel
nodesDestroyNode(pNode);
return TSDB_CODE_OUT_OF_MEMORY;
}
pNode->precision = pSelect->precision;
*pLogicNode = pNode;
}
return code;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册