From 57c301553bdb88785e9028dc809b1d99b6c0617d Mon Sep 17 00:00:00 2001 From: Ganlin Zhao Date: Mon, 29 May 2023 16:40:30 +0800 Subject: [PATCH] feat(query): support single point interp syntax --- source/libs/parser/inc/parAst.h | 1 + source/libs/parser/inc/sql.y | 2 + source/libs/parser/src/parAstCreater.c | 5 + source/libs/parser/src/sql.c | 1566 ++++++++++++------------ 4 files changed, 794 insertions(+), 780 deletions(-) diff --git a/source/libs/parser/inc/parAst.h b/source/libs/parser/inc/parAst.h index 43765c8112..e49d7b5a1d 100644 --- a/source/libs/parser/inc/parAst.h +++ b/source/libs/parser/inc/parAst.h @@ -127,6 +127,7 @@ SNode* createIntervalWindowNode(SAstCreateContext* pCxt, SNode* pInterval, SNode SNode* createFillNode(SAstCreateContext* pCxt, EFillMode mode, SNode* pValues); SNode* createGroupingSetNode(SAstCreateContext* pCxt, SNode* pNode); SNode* createInterpTimeRange(SAstCreateContext* pCxt, SNode* pStart, SNode* pEnd); +SNode* createInterpTimePoint(SAstCreateContext* pCxt, SNode* pPoint); SNode* createWhenThenNode(SAstCreateContext* pCxt, SNode* pWhen, SNode* pThen); SNode* createCaseWhenNode(SAstCreateContext* pCxt, SNode* pCase, SNodeList* pWhenThenList, SNode* pElse); diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 9b8393f624..48e2b12b72 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -1095,6 +1095,8 @@ having_clause_opt(A) ::= HAVING search_condition(B). range_opt(A) ::= . { A = NULL; } range_opt(A) ::= RANGE NK_LP expr_or_subquery(B) NK_COMMA expr_or_subquery(C) NK_RP. { A = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, B), releaseRawExprNode(pCxt, C)); } +range_opt(A) ::= + RANGE NK_LP expr_or_subquery(B) NK_RP. { A = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, B)); } every_opt(A) ::= . { A = NULL; } every_opt(A) ::= EVERY NK_LP duration_literal(B) NK_RP. { A = releaseRawExprNode(pCxt, B); } diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index 4223455b65..5ae6c85312 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -684,6 +684,11 @@ SNode* createInterpTimeRange(SAstCreateContext* pCxt, SNode* pStart, SNode* pEnd return createBetweenAnd(pCxt, createPrimaryKeyCol(pCxt, NULL), pStart, pEnd); } +SNode* createInterpTimePoint(SAstCreateContext* pCxt, SNode* pPoint) { + CHECK_PARSER_STATUS(pCxt); + return createOperatorNode(pCxt, OP_TYPE_EQUAL, createPrimaryKeyCol(pCxt, NULL), pPoint); +} + SNode* createWhenThenNode(SAstCreateContext* pCxt, SNode* pWhen, SNode* pThen) { CHECK_PARSER_STATUS(pCxt); SWhenThenNode* pWhenThen = (SWhenThenNode*)nodesMakeNode(QUERY_NODE_WHEN_THEN); diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index 43ef166c41..ecf3b16672 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -141,17 +141,17 @@ typedef union { #define ParseCTX_STORE #define YYFALLBACK 1 #define YYNSTATE 792 -#define YYNRULE 595 -#define YYNRULE_WITH_ACTION 595 +#define YYNRULE 596 +#define YYNRULE_WITH_ACTION 596 #define YYNTOKEN 337 #define YY_MAX_SHIFT 791 -#define YY_MIN_SHIFTREDUCE 1169 -#define YY_MAX_SHIFTREDUCE 1763 -#define YY_ERROR_ACTION 1764 -#define YY_ACCEPT_ACTION 1765 -#define YY_NO_ACTION 1766 -#define YY_MIN_REDUCE 1767 -#define YY_MAX_REDUCE 2361 +#define YY_MIN_SHIFTREDUCE 1170 +#define YY_MAX_SHIFTREDUCE 1765 +#define YY_ERROR_ACTION 1766 +#define YY_ACCEPT_ACTION 1767 +#define YY_NO_ACTION 1768 +#define YY_MIN_REDUCE 1769 +#define YY_MAX_REDUCE 2364 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -220,278 +220,278 @@ typedef union { *********** Begin parsing tables **********************************************/ #define YY_ACTTAB_COUNT (2716) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 2173, 169, 2337, 38, 303, 2332, 170, 445, 1779, 1885, - /* 10 */ 660, 444, 48, 46, 1691, 1933, 181, 2337, 2151, 1790, - /* 20 */ 399, 2336, 1540, 41, 40, 2333, 2335, 47, 45, 44, - /* 30 */ 43, 42, 2159, 1621, 1567, 1538, 366, 2046, 2191, 41, - /* 40 */ 40, 451, 2155, 47, 45, 44, 43, 42, 402, 663, - /* 50 */ 2141, 1568, 698, 1566, 620, 526, 164, 2332, 527, 1803, - /* 60 */ 2173, 218, 1616, 380, 1946, 529, 167, 1810, 19, 2141, - /* 70 */ 699, 1995, 2338, 188, 1947, 1546, 184, 2333, 646, 2157, - /* 80 */ 396, 2106, 2337, 358, 2172, 2332, 345, 2208, 1984, 692, - /* 90 */ 110, 2174, 702, 2176, 2177, 697, 620, 692, 2191, 2332, - /* 100 */ 788, 2336, 185, 15, 2261, 2333, 2334, 220, 395, 2257, - /* 110 */ 2141, 529, 698, 1810, 2338, 188, 48, 46, 1753, 2333, - /* 120 */ 646, 190, 682, 1944, 399, 1789, 1540, 1650, 251, 2287, - /* 130 */ 47, 45, 44, 43, 42, 668, 1567, 1621, 205, 1538, - /* 140 */ 1623, 1624, 133, 2063, 2172, 682, 1944, 2208, 1304, 566, - /* 150 */ 110, 2174, 702, 2176, 2177, 697, 2124, 692, 2061, 669, - /* 160 */ 145, 1565, 152, 2232, 2261, 193, 1616, 668, 395, 2257, - /* 170 */ 1596, 1606, 19, 1395, 1396, 2141, 1622, 1625, 84, 1546, - /* 180 */ 1920, 83, 657, 142, 1651, 1768, 284, 541, 1306, 2056, - /* 190 */ 1541, 123, 1539, 681, 122, 121, 120, 119, 118, 117, - /* 200 */ 116, 115, 114, 262, 788, 668, 123, 15, 2173, 122, + /* 0 */ 2175, 169, 2340, 38, 303, 2335, 170, 445, 1781, 1887, + /* 10 */ 660, 444, 48, 46, 1692, 1935, 181, 2340, 2153, 1792, + /* 20 */ 399, 2339, 1541, 41, 40, 2336, 2338, 47, 45, 44, + /* 30 */ 43, 42, 2161, 1622, 1568, 1539, 366, 2048, 2193, 41, + /* 40 */ 40, 451, 2157, 47, 45, 44, 43, 42, 402, 663, + /* 50 */ 2143, 1569, 698, 1567, 620, 526, 164, 2335, 527, 1805, + /* 60 */ 2175, 218, 1617, 380, 1948, 529, 167, 1812, 19, 2143, + /* 70 */ 699, 1997, 2341, 188, 1949, 1547, 184, 2336, 646, 2159, + /* 80 */ 396, 2108, 2340, 358, 2174, 2335, 345, 2210, 1986, 692, + /* 90 */ 110, 2176, 702, 2178, 2179, 697, 620, 692, 2193, 2335, + /* 100 */ 788, 2339, 185, 15, 2263, 2336, 2337, 220, 395, 2259, + /* 110 */ 2143, 529, 698, 1812, 2341, 188, 48, 46, 1755, 2336, + /* 120 */ 646, 190, 682, 1946, 399, 1791, 1541, 1651, 251, 2289, + /* 130 */ 47, 45, 44, 43, 42, 668, 1568, 1622, 205, 1539, + /* 140 */ 1624, 1625, 133, 2065, 2174, 682, 1946, 2210, 1305, 566, + /* 150 */ 110, 2176, 702, 2178, 2179, 697, 2129, 692, 2063, 669, + /* 160 */ 145, 1566, 152, 2234, 2263, 193, 1617, 668, 395, 2259, + /* 170 */ 1597, 1607, 19, 1396, 1397, 2143, 1623, 1626, 84, 1547, + /* 180 */ 1922, 83, 657, 142, 1652, 1770, 284, 541, 1307, 2058, + /* 190 */ 1542, 123, 1540, 681, 122, 121, 120, 119, 118, 117, + /* 200 */ 116, 115, 114, 262, 788, 421, 123, 15, 2175, 122, /* 210 */ 121, 120, 119, 118, 117, 116, 115, 114, 699, 666, - /* 220 */ 1812, 2056, 1544, 1545, 1767, 1595, 1598, 1599, 1600, 1601, - /* 230 */ 1602, 1603, 1604, 1605, 694, 690, 1614, 1615, 1617, 1618, - /* 240 */ 1619, 1620, 2, 681, 1623, 1624, 2191, 737, 132, 131, - /* 250 */ 130, 129, 128, 127, 126, 125, 124, 677, 2141, 2056, - /* 260 */ 698, 37, 397, 1645, 1646, 1647, 1648, 1649, 1653, 1654, - /* 270 */ 1655, 1656, 543, 2173, 1596, 1606, 51, 682, 1944, 66, - /* 280 */ 1622, 1625, 9, 660, 659, 186, 2269, 2270, 284, 140, - /* 290 */ 2274, 1227, 2172, 1226, 1541, 2208, 1539, 133, 110, 2174, - /* 300 */ 702, 2176, 2177, 697, 571, 692, 138, 531, 682, 1944, - /* 310 */ 2352, 2191, 2261, 528, 41, 40, 395, 2257, 47, 45, - /* 320 */ 44, 43, 42, 2141, 1228, 698, 1544, 1545, 57, 1595, - /* 330 */ 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 694, 690, - /* 340 */ 1614, 1615, 1617, 1618, 1619, 1620, 2, 12, 48, 46, - /* 350 */ 1227, 2173, 1226, 408, 407, 2336, 399, 2172, 1540, 2276, - /* 360 */ 2208, 696, 1922, 110, 2174, 702, 2176, 2177, 697, 1621, - /* 370 */ 692, 1538, 428, 1997, 181, 185, 1547, 2261, 62, 639, - /* 380 */ 379, 395, 2257, 1228, 2063, 2273, 41, 40, 1995, 2191, - /* 390 */ 47, 45, 44, 43, 42, 2047, 392, 1360, 1616, 2060, - /* 400 */ 669, 2141, 2288, 698, 19, 534, 150, 2191, 527, 1803, - /* 410 */ 1730, 1546, 1351, 727, 726, 725, 1355, 724, 1357, 1358, - /* 420 */ 723, 720, 30, 1366, 717, 1368, 1369, 714, 711, 708, - /* 430 */ 667, 1695, 191, 1565, 107, 2172, 788, 1565, 2208, 15, - /* 440 */ 101, 339, 2174, 702, 2176, 2177, 697, 695, 692, 683, - /* 450 */ 2226, 143, 48, 46, 1626, 87, 635, 34, 234, 1936, - /* 460 */ 399, 638, 1540, 41, 40, 1937, 681, 47, 45, 44, - /* 470 */ 43, 42, 368, 1621, 174, 1538, 1623, 1624, 640, 682, - /* 480 */ 1944, 1939, 560, 556, 552, 548, 2042, 233, 285, 393, - /* 490 */ 735, 157, 156, 732, 731, 730, 154, 167, 2173, 449, - /* 500 */ 1202, 1684, 1616, 1565, 1719, 1946, 1596, 1606, 699, 12, - /* 510 */ 2295, 10, 1622, 1625, 2042, 1546, 41, 40, 682, 1944, - /* 520 */ 47, 45, 44, 43, 42, 1564, 1541, 88, 1539, 62, - /* 530 */ 231, 93, 201, 1550, 191, 489, 2191, 1568, 450, 1204, - /* 540 */ 788, 1207, 1208, 49, 1788, 641, 636, 629, 2141, 51, - /* 550 */ 698, 632, 631, 1717, 1718, 1720, 1721, 1722, 1544, 1545, - /* 560 */ 203, 1595, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, - /* 570 */ 694, 690, 1614, 1615, 1617, 1618, 1619, 1620, 2, 62, - /* 580 */ 1623, 1624, 2172, 1450, 1451, 2208, 62, 1597, 110, 2174, - /* 590 */ 702, 2176, 2177, 697, 2141, 692, 209, 208, 230, 224, - /* 600 */ 2352, 523, 2261, 229, 737, 539, 395, 2257, 2173, 521, - /* 610 */ 1596, 1606, 517, 513, 682, 1944, 1622, 1625, 699, 488, - /* 620 */ 2308, 682, 1944, 222, 607, 2151, 52, 62, 294, 295, - /* 630 */ 1541, 648, 1539, 293, 459, 584, 583, 582, 684, 1935, - /* 640 */ 2233, 474, 574, 139, 578, 2127, 2191, 1787, 577, 2155, - /* 650 */ 657, 142, 1549, 576, 581, 374, 373, 2027, 2141, 575, - /* 660 */ 698, 2134, 1544, 1545, 1566, 1595, 1598, 1599, 1600, 1601, - /* 670 */ 1602, 1603, 1604, 1605, 694, 690, 1614, 1615, 1617, 1618, - /* 680 */ 1619, 1620, 2, 48, 46, 191, 2157, 682, 1944, 202, - /* 690 */ 1760, 399, 2172, 1540, 421, 2208, 692, 2141, 110, 2174, - /* 700 */ 702, 2176, 2177, 697, 1621, 692, 1538, 475, 620, 2173, - /* 710 */ 2352, 2332, 2261, 443, 402, 442, 395, 2257, 1921, 699, - /* 720 */ 404, 589, 167, 1990, 1992, 2276, 2338, 188, 682, 1944, - /* 730 */ 1946, 2333, 646, 1616, 1631, 191, 599, 1991, 1992, 2173, - /* 740 */ 1565, 433, 191, 682, 1944, 441, 1546, 2191, 542, 699, - /* 750 */ 247, 2272, 598, 282, 2269, 656, 12, 134, 655, 2141, - /* 760 */ 2332, 698, 405, 1941, 2276, 596, 592, 594, 435, 431, - /* 770 */ 167, 788, 1546, 586, 49, 644, 188, 2191, 1946, 246, - /* 780 */ 2333, 646, 191, 191, 1467, 1468, 747, 48, 46, 2141, - /* 790 */ 2271, 698, 1759, 2172, 1315, 399, 2208, 1540, 250, 111, - /* 800 */ 2174, 702, 2176, 2177, 697, 1652, 692, 1314, 1621, 1552, - /* 810 */ 1538, 1623, 1624, 2261, 657, 142, 469, 2260, 2257, 70, - /* 820 */ 1466, 1469, 69, 2172, 1919, 468, 2208, 728, 1997, 171, - /* 830 */ 2174, 702, 2176, 2177, 697, 389, 692, 1616, 1786, 2173, - /* 840 */ 1210, 1596, 1606, 1995, 682, 1944, 1564, 1622, 1625, 699, - /* 850 */ 1546, 735, 157, 156, 732, 731, 730, 154, 452, 1997, - /* 860 */ 686, 1541, 2233, 1539, 252, 155, 394, 1511, 1512, 621, - /* 870 */ 2298, 453, 498, 36, 1995, 788, 1929, 2191, 15, 41, - /* 880 */ 40, 1931, 35, 47, 45, 44, 43, 42, 2141, 2141, - /* 890 */ 1597, 698, 1657, 1544, 1545, 1927, 1595, 1598, 1599, 1600, - /* 900 */ 1601, 1602, 1603, 1604, 1605, 694, 690, 1614, 1615, 1617, - /* 910 */ 1618, 1619, 1620, 2, 1785, 1623, 1624, 187, 2269, 2270, - /* 920 */ 1765, 140, 2274, 2172, 1784, 56, 2208, 1783, 1782, 171, - /* 930 */ 2174, 702, 2176, 2177, 697, 349, 692, 1563, 44, 43, - /* 940 */ 42, 1997, 259, 2173, 482, 1596, 1606, 496, 403, 1781, - /* 950 */ 495, 1622, 1625, 699, 1997, 627, 1995, 735, 157, 156, - /* 960 */ 732, 731, 730, 154, 2141, 1541, 465, 1539, 497, 1996, - /* 970 */ 2299, 682, 1944, 467, 2141, 1540, 1319, 2141, 2141, 41, - /* 980 */ 40, 2191, 1778, 47, 45, 44, 43, 42, 1538, 1318, - /* 990 */ 1568, 616, 414, 2141, 1777, 698, 413, 1544, 1545, 2141, - /* 1000 */ 1595, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 694, - /* 1010 */ 690, 1614, 1615, 1617, 1618, 1619, 1620, 2, 1843, 367, - /* 1020 */ 1565, 682, 1944, 657, 142, 580, 579, 2172, 1546, 1948, - /* 1030 */ 2208, 455, 2141, 110, 2174, 702, 2176, 2177, 697, 620, - /* 1040 */ 692, 661, 2332, 1776, 2141, 2352, 570, 2261, 1230, 1231, - /* 1050 */ 569, 395, 2257, 788, 500, 562, 561, 2338, 188, 564, - /* 1060 */ 563, 493, 2333, 646, 487, 486, 485, 484, 481, 480, + /* 220 */ 1814, 2058, 1545, 1546, 1769, 1596, 1599, 1600, 1601, 1602, + /* 230 */ 1603, 1604, 1605, 1606, 694, 690, 1615, 1616, 1618, 1619, + /* 240 */ 1620, 1621, 2, 681, 1624, 1625, 2193, 737, 132, 131, + /* 250 */ 130, 129, 128, 127, 126, 125, 124, 1923, 2143, 452, + /* 260 */ 698, 37, 397, 1646, 1647, 1648, 1649, 1650, 1654, 1655, + /* 270 */ 1656, 1657, 453, 2175, 1597, 1607, 51, 682, 1946, 66, + /* 280 */ 1623, 1626, 1569, 660, 659, 186, 2271, 2272, 284, 140, + /* 290 */ 2276, 1228, 2174, 1227, 1542, 2210, 1540, 133, 110, 2176, + /* 300 */ 702, 2178, 2179, 697, 571, 692, 138, 531, 682, 1946, + /* 310 */ 2355, 2193, 2263, 528, 41, 40, 395, 2259, 47, 45, + /* 320 */ 44, 43, 42, 2143, 1229, 698, 1545, 1546, 57, 1596, + /* 330 */ 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 694, 690, + /* 340 */ 1615, 1616, 1618, 1619, 1620, 1621, 2, 12, 48, 46, + /* 350 */ 30, 2175, 144, 408, 407, 2234, 399, 2174, 1541, 729, + /* 360 */ 2210, 696, 1990, 110, 2176, 702, 2178, 2179, 697, 1622, + /* 370 */ 692, 1539, 433, 34, 2164, 185, 1548, 2263, 62, 41, + /* 380 */ 40, 395, 2259, 47, 45, 44, 43, 42, 62, 2193, + /* 390 */ 735, 157, 156, 732, 731, 730, 154, 1361, 1617, 435, + /* 400 */ 431, 2143, 2290, 698, 19, 534, 1566, 668, 527, 1805, + /* 410 */ 1732, 1547, 1352, 727, 726, 725, 1356, 724, 1358, 1359, + /* 420 */ 723, 720, 681, 1367, 717, 1369, 1370, 714, 711, 708, + /* 430 */ 2166, 1696, 191, 1566, 202, 2174, 788, 1566, 2210, 15, + /* 440 */ 52, 339, 2176, 702, 2178, 2179, 697, 695, 692, 683, + /* 450 */ 2228, 1790, 48, 46, 1627, 87, 635, 36, 234, 677, + /* 460 */ 399, 2058, 1541, 41, 40, 181, 667, 47, 45, 44, + /* 470 */ 43, 42, 368, 1622, 174, 1539, 1624, 1625, 101, 682, + /* 480 */ 1946, 1941, 560, 556, 552, 548, 2049, 233, 285, 62, + /* 490 */ 735, 157, 156, 732, 731, 730, 154, 543, 2175, 449, + /* 500 */ 1203, 2143, 1617, 1939, 1720, 51, 1597, 1607, 699, 2278, + /* 510 */ 2297, 87, 1623, 1626, 2044, 1547, 41, 40, 682, 1946, + /* 520 */ 47, 45, 44, 43, 42, 737, 1542, 88, 1540, 62, + /* 530 */ 231, 93, 640, 1551, 191, 2275, 2193, 1942, 450, 1205, + /* 540 */ 788, 1208, 1209, 49, 191, 641, 636, 629, 2143, 1565, + /* 550 */ 698, 632, 631, 1718, 1719, 1721, 1722, 1723, 1545, 1546, + /* 560 */ 201, 1596, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, + /* 570 */ 694, 690, 1615, 1616, 1618, 1619, 1620, 1621, 2, 1999, + /* 580 */ 1624, 1625, 2174, 1451, 1452, 2210, 379, 1598, 110, 2176, + /* 590 */ 702, 2178, 2179, 697, 1997, 692, 191, 2065, 230, 224, + /* 600 */ 2355, 607, 2263, 229, 1999, 539, 395, 2259, 2175, 392, + /* 610 */ 1597, 1607, 2062, 669, 682, 1946, 1623, 1626, 699, 1998, + /* 620 */ 2310, 682, 1946, 222, 12, 2153, 2278, 62, 294, 295, + /* 630 */ 1542, 1547, 1540, 293, 459, 584, 583, 582, 12, 1937, + /* 640 */ 10, 474, 574, 139, 578, 191, 2193, 1789, 577, 2157, + /* 650 */ 657, 142, 2274, 576, 581, 374, 373, 1653, 2143, 575, + /* 660 */ 698, 2136, 1545, 1546, 1567, 1596, 1599, 1600, 1601, 1602, + /* 670 */ 1603, 1604, 1605, 1606, 694, 690, 1615, 1616, 1618, 1619, + /* 680 */ 1620, 1621, 2, 48, 46, 191, 2159, 682, 1946, 2044, + /* 690 */ 1762, 399, 2174, 1541, 728, 2210, 692, 2143, 110, 2176, + /* 700 */ 702, 2178, 2179, 697, 1622, 692, 1539, 475, 620, 2175, + /* 710 */ 2355, 2335, 2263, 443, 393, 442, 395, 2259, 1921, 699, + /* 720 */ 404, 589, 167, 1992, 1994, 317, 2341, 188, 1976, 523, + /* 730 */ 1948, 2336, 646, 1617, 35, 203, 599, 521, 1316, 2175, + /* 740 */ 517, 513, 682, 1946, 1658, 441, 1547, 2193, 402, 699, + /* 750 */ 247, 1315, 747, 282, 2271, 656, 167, 134, 655, 2143, + /* 760 */ 2335, 698, 542, 1999, 1948, 107, 592, 1993, 1994, 733, + /* 770 */ 389, 788, 1990, 586, 49, 644, 188, 2193, 1997, 246, + /* 780 */ 2336, 646, 143, 191, 1468, 1469, 1931, 48, 46, 2143, + /* 790 */ 1938, 698, 1761, 2174, 1933, 399, 2210, 1541, 489, 111, + /* 800 */ 2176, 702, 2178, 2179, 697, 1228, 692, 1227, 1622, 2278, + /* 810 */ 1539, 1624, 1625, 2263, 657, 142, 498, 2262, 2259, 70, + /* 820 */ 1467, 1470, 69, 2174, 682, 1946, 2210, 562, 561, 171, + /* 830 */ 2176, 702, 2178, 2179, 697, 2273, 692, 1617, 1229, 2175, + /* 840 */ 1788, 1597, 1607, 639, 1943, 14, 13, 1623, 1626, 699, + /* 850 */ 1547, 735, 157, 156, 732, 731, 730, 154, 1999, 209, + /* 860 */ 208, 1542, 684, 1540, 2235, 394, 44, 43, 42, 621, + /* 870 */ 2300, 2193, 570, 1997, 1787, 788, 569, 2193, 15, 41, + /* 880 */ 40, 1929, 488, 47, 45, 44, 43, 42, 1786, 2143, + /* 890 */ 2143, 698, 2137, 1545, 1546, 1950, 1596, 1599, 1600, 1601, + /* 900 */ 1602, 1603, 1604, 1605, 1606, 694, 690, 1615, 1616, 1618, + /* 910 */ 1619, 1620, 1621, 2, 605, 1624, 1625, 187, 2271, 2272, + /* 920 */ 1767, 140, 2276, 2174, 2143, 638, 2210, 1785, 1784, 171, + /* 930 */ 2176, 702, 2178, 2179, 697, 349, 692, 1564, 2143, 620, + /* 940 */ 682, 1946, 2335, 2175, 482, 1597, 1607, 496, 1665, 1783, + /* 950 */ 495, 1623, 1626, 699, 1689, 627, 250, 2341, 188, 259, + /* 960 */ 252, 620, 2336, 646, 2335, 1542, 465, 1540, 497, 256, + /* 970 */ 2301, 682, 1946, 467, 405, 1541, 1320, 2143, 2143, 2341, + /* 980 */ 188, 2193, 167, 2044, 2336, 646, 1231, 1232, 1539, 1319, + /* 990 */ 1948, 616, 414, 2143, 1780, 698, 413, 1545, 1546, 2143, + /* 1000 */ 1596, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 694, + /* 1010 */ 690, 1615, 1616, 1618, 1619, 1620, 1621, 2, 1845, 367, + /* 1020 */ 2126, 682, 1946, 657, 142, 1512, 1513, 2174, 1547, 207, + /* 1030 */ 2210, 455, 9, 110, 2176, 702, 2178, 2179, 697, 620, + /* 1040 */ 692, 661, 2335, 166, 2143, 2355, 54, 2263, 3, 1632, + /* 1050 */ 2029, 395, 2259, 788, 500, 1566, 649, 2341, 188, 564, + /* 1060 */ 563, 493, 2336, 646, 487, 486, 485, 484, 481, 480, /* 1070 */ 479, 478, 477, 473, 472, 471, 470, 348, 462, 461, - /* 1080 */ 460, 652, 457, 456, 365, 759, 757, 1775, 765, 764, - /* 1090 */ 763, 762, 411, 2141, 761, 760, 146, 755, 754, 753, + /* 1080 */ 460, 693, 457, 456, 365, 580, 579, 1779, 765, 764, + /* 1090 */ 763, 762, 411, 2339, 761, 760, 146, 755, 754, 753, /* 1100 */ 752, 751, 750, 749, 159, 745, 744, 743, 410, 409, - /* 1110 */ 740, 739, 738, 177, 176, 168, 682, 1944, 2135, 1774, - /* 1120 */ 323, 1773, 1772, 408, 407, 256, 189, 2269, 2270, 2173, - /* 1130 */ 140, 2274, 371, 1554, 321, 73, 665, 2141, 72, 699, - /* 1140 */ 693, 2326, 261, 1541, 1621, 1539, 1547, 41, 40, 346, - /* 1150 */ 1688, 47, 45, 44, 43, 42, 2042, 1771, 682, 1944, - /* 1160 */ 216, 508, 506, 503, 54, 620, 3, 2191, 2332, 2141, - /* 1170 */ 1597, 2141, 2141, 1616, 649, 1544, 1545, 2173, 298, 2141, - /* 1180 */ 1770, 698, 260, 2338, 188, 2151, 1546, 699, 2333, 646, - /* 1190 */ 41, 40, 14, 13, 47, 45, 44, 43, 42, 2160, - /* 1200 */ 62, 372, 207, 370, 369, 74, 568, 2141, 87, 2155, - /* 1210 */ 689, 688, 605, 2172, 144, 2191, 2208, 2232, 1886, 110, - /* 1220 */ 2174, 702, 2176, 2177, 697, 91, 692, 2141, 570, 698, - /* 1230 */ 2141, 2352, 569, 2261, 1940, 2173, 572, 395, 2257, 109, - /* 1240 */ 148, 729, 135, 1707, 1988, 699, 2157, 2280, 733, 734, - /* 1250 */ 317, 1988, 1988, 1974, 748, 82, 692, 1906, 1302, 620, - /* 1260 */ 239, 2172, 2332, 237, 2208, 2281, 1684, 333, 2174, 702, - /* 1270 */ 2176, 2177, 697, 2191, 692, 1207, 1208, 2338, 188, 81, - /* 1280 */ 80, 448, 2333, 646, 200, 2141, 2173, 698, 241, 1780, - /* 1290 */ 573, 240, 619, 682, 1944, 1664, 699, 440, 438, 243, - /* 1300 */ 2301, 1555, 242, 1550, 245, 1762, 1763, 244, 347, 1830, - /* 1310 */ 642, 429, 1300, 679, 427, 423, 419, 416, 441, 2172, - /* 1320 */ 653, 602, 2208, 601, 2191, 110, 2174, 702, 2176, 2177, - /* 1330 */ 697, 585, 692, 1558, 1560, 1821, 2141, 2352, 698, 2261, - /* 1340 */ 1819, 155, 645, 395, 2257, 2332, 690, 1614, 1615, 1617, - /* 1350 */ 1618, 1619, 1620, 2173, 166, 249, 191, 587, 155, 248, - /* 1360 */ 644, 188, 590, 699, 1642, 2333, 646, 279, 50, 50, - /* 1370 */ 2172, 266, 155, 2208, 50, 291, 110, 2174, 702, 2176, - /* 1380 */ 2177, 697, 633, 692, 682, 1944, 2173, 137, 2236, 106, - /* 1390 */ 2261, 2191, 682, 1944, 395, 2257, 699, 682, 1944, 103, - /* 1400 */ 71, 1506, 2162, 2141, 680, 698, 1687, 153, 155, 14, - /* 1410 */ 13, 650, 304, 2173, 64, 273, 55, 406, 1509, 90, - /* 1420 */ 1548, 1813, 353, 699, 2191, 378, 50, 600, 1716, 1715, - /* 1430 */ 741, 268, 664, 50, 1464, 296, 2141, 2172, 698, 2192, - /* 1440 */ 2208, 1884, 706, 110, 2174, 702, 2176, 2177, 697, 2173, - /* 1450 */ 692, 2191, 1280, 1883, 153, 2234, 155, 2261, 2164, 699, - /* 1460 */ 674, 395, 2257, 2141, 136, 698, 412, 300, 1345, 153, - /* 1470 */ 2172, 783, 1261, 2208, 1658, 2173, 110, 2174, 702, 2176, - /* 1480 */ 2177, 697, 2051, 692, 1804, 699, 1607, 2191, 685, 742, - /* 1490 */ 2261, 1809, 1985, 316, 395, 2257, 2291, 2172, 658, 2141, - /* 1500 */ 2208, 698, 1373, 111, 2174, 702, 2176, 2177, 697, 281, - /* 1510 */ 692, 1278, 1262, 2191, 1377, 278, 1384, 2261, 1, 5, - /* 1520 */ 415, 687, 2257, 420, 1382, 2141, 362, 698, 1571, 158, - /* 1530 */ 437, 436, 196, 700, 439, 198, 2208, 195, 1487, 111, - /* 1540 */ 2174, 702, 2176, 2177, 697, 311, 692, 206, 454, 1568, - /* 1550 */ 2052, 458, 491, 2261, 2173, 463, 1563, 357, 2257, 2172, - /* 1560 */ 476, 2044, 2208, 483, 699, 172, 2174, 702, 2176, 2177, - /* 1570 */ 697, 490, 692, 492, 501, 502, 499, 1551, 210, 504, - /* 1580 */ 2173, 211, 505, 213, 507, 509, 1569, 524, 4, 525, - /* 1590 */ 699, 532, 2191, 533, 1566, 221, 536, 535, 1570, 223, - /* 1600 */ 1572, 537, 565, 538, 2141, 1997, 698, 540, 544, 226, - /* 1610 */ 228, 85, 364, 86, 2115, 232, 647, 2353, 2191, 112, - /* 1620 */ 1995, 2112, 352, 382, 567, 604, 1934, 606, 2111, 89, - /* 1630 */ 2141, 610, 698, 609, 312, 151, 611, 253, 2172, 236, - /* 1640 */ 1930, 2208, 2173, 238, 111, 2174, 702, 2176, 2177, 697, - /* 1650 */ 160, 692, 699, 161, 1932, 255, 1928, 162, 2261, 2173, - /* 1660 */ 163, 614, 257, 2258, 2172, 1494, 617, 2208, 2292, 699, - /* 1670 */ 340, 2174, 702, 2176, 2177, 697, 672, 692, 2173, 615, - /* 1680 */ 2191, 624, 634, 645, 2302, 383, 2332, 8, 699, 630, - /* 1690 */ 2307, 2306, 2141, 264, 698, 267, 2283, 2191, 384, 643, - /* 1700 */ 637, 644, 188, 385, 625, 623, 2333, 646, 622, 2141, - /* 1710 */ 1684, 698, 654, 277, 651, 141, 2191, 2355, 1567, 175, - /* 1720 */ 2331, 390, 2277, 662, 388, 286, 2172, 274, 2141, 2208, - /* 1730 */ 698, 96, 340, 2174, 702, 2176, 2177, 697, 272, 692, - /* 1740 */ 1573, 313, 2057, 2172, 280, 276, 2208, 670, 275, 172, - /* 1750 */ 2174, 702, 2176, 2177, 697, 675, 692, 671, 2071, 314, - /* 1760 */ 676, 2070, 2172, 98, 2173, 2208, 2069, 391, 340, 2174, - /* 1770 */ 702, 2176, 2177, 697, 696, 692, 315, 1945, 100, 61, - /* 1780 */ 2242, 2173, 102, 704, 1989, 318, 784, 1907, 307, 322, - /* 1790 */ 785, 699, 787, 53, 354, 327, 355, 342, 2133, 320, - /* 1800 */ 2173, 2354, 2191, 341, 2132, 331, 2131, 78, 2128, 417, - /* 1810 */ 699, 418, 1531, 1532, 2141, 194, 698, 422, 2126, 2191, - /* 1820 */ 424, 425, 426, 2125, 398, 363, 2123, 430, 2122, 432, - /* 1830 */ 2121, 2141, 434, 698, 2102, 1522, 197, 2101, 2191, 199, - /* 1840 */ 1490, 79, 1489, 400, 2083, 2082, 2081, 446, 2172, 447, - /* 1850 */ 2141, 2208, 698, 2080, 339, 2174, 702, 2176, 2177, 697, - /* 1860 */ 2079, 692, 1441, 2227, 2035, 2172, 147, 608, 2208, 2034, - /* 1870 */ 2032, 340, 2174, 702, 2176, 2177, 697, 2031, 692, 2030, - /* 1880 */ 2033, 2029, 2028, 2026, 2172, 791, 2025, 2208, 2024, 204, - /* 1890 */ 340, 2174, 702, 2176, 2177, 697, 464, 692, 2173, 310, - /* 1900 */ 2023, 466, 2037, 2022, 2021, 2020, 2019, 2018, 699, 2017, - /* 1910 */ 2016, 2015, 2014, 2013, 2012, 180, 149, 2007, 2006, 2005, - /* 1920 */ 2036, 2004, 2003, 781, 777, 773, 769, 2011, 308, 2010, - /* 1930 */ 2009, 2173, 2008, 2002, 2001, 2000, 2191, 1443, 494, 1999, - /* 1940 */ 1998, 699, 350, 351, 1849, 1316, 1320, 212, 2141, 1848, - /* 1950 */ 698, 214, 1847, 215, 1845, 1842, 1841, 511, 1834, 1823, - /* 1960 */ 1312, 510, 1799, 1798, 2173, 227, 514, 512, 108, 2191, - /* 1970 */ 2100, 301, 2090, 2078, 699, 516, 518, 522, 2077, 1209, - /* 1980 */ 2055, 2141, 603, 698, 1923, 2208, 520, 515, 335, 2174, - /* 1990 */ 702, 2176, 2177, 697, 519, 692, 1844, 182, 2161, 217, - /* 2000 */ 2173, 1840, 2191, 77, 678, 547, 76, 183, 530, 219, - /* 2010 */ 699, 545, 1254, 225, 2141, 2172, 698, 546, 2208, 1838, - /* 2020 */ 549, 324, 2174, 702, 2176, 2177, 697, 551, 692, 1836, - /* 2030 */ 550, 554, 553, 2173, 555, 1833, 558, 557, 2191, 288, - /* 2040 */ 1818, 1816, 559, 699, 287, 1817, 1815, 1795, 2172, 1925, - /* 2050 */ 2141, 2208, 698, 1389, 325, 2174, 702, 2176, 2177, 697, - /* 2060 */ 63, 692, 2173, 1924, 254, 1388, 1303, 1301, 1299, 1298, - /* 2070 */ 756, 2191, 699, 1297, 1296, 1831, 1290, 1295, 375, 1292, - /* 2080 */ 758, 235, 1822, 2141, 2172, 698, 1291, 2208, 376, 1820, - /* 2090 */ 326, 2174, 702, 2176, 2177, 697, 1289, 692, 377, 588, - /* 2100 */ 2191, 597, 591, 1794, 593, 1793, 595, 1792, 113, 1516, - /* 2110 */ 1520, 29, 2141, 1518, 698, 1515, 2099, 2172, 58, 67, - /* 2120 */ 2208, 1496, 2173, 332, 2174, 702, 2176, 2177, 697, 2089, - /* 2130 */ 692, 1498, 699, 612, 2076, 2074, 2337, 20, 17, 6, - /* 2140 */ 31, 2173, 7, 21, 22, 271, 2172, 1500, 270, 2208, - /* 2150 */ 33, 699, 336, 2174, 702, 2176, 2177, 697, 613, 692, - /* 2160 */ 2191, 1732, 381, 258, 265, 263, 626, 628, 165, 2162, - /* 2170 */ 618, 65, 2141, 173, 698, 24, 1714, 1706, 1747, 2191, - /* 2180 */ 269, 1746, 386, 1751, 32, 1750, 92, 283, 387, 2173, - /* 2190 */ 2075, 2141, 178, 698, 1752, 60, 1753, 2073, 2072, 699, - /* 2200 */ 1681, 1680, 2054, 95, 289, 94, 2172, 2053, 2173, 2208, - /* 2210 */ 97, 25, 328, 2174, 702, 2176, 2177, 697, 699, 692, - /* 2220 */ 26, 290, 1712, 292, 297, 2172, 68, 2191, 2208, 99, - /* 2230 */ 673, 337, 2174, 702, 2176, 2177, 697, 299, 692, 2141, - /* 2240 */ 23, 698, 1846, 103, 11, 1633, 2191, 13, 302, 1556, - /* 2250 */ 59, 179, 1643, 1611, 1588, 18, 2173, 1632, 2141, 1609, - /* 2260 */ 698, 2211, 691, 39, 192, 1608, 699, 1580, 16, 27, - /* 2270 */ 28, 705, 401, 2172, 701, 707, 2208, 2173, 709, 329, - /* 2280 */ 2174, 702, 2176, 2177, 697, 1374, 692, 699, 703, 1371, - /* 2290 */ 710, 712, 2172, 1370, 2191, 2208, 713, 715, 338, 2174, - /* 2300 */ 702, 2176, 2177, 697, 718, 692, 2141, 1367, 698, 716, - /* 2310 */ 721, 719, 584, 583, 582, 2191, 1361, 1359, 722, 574, - /* 2320 */ 139, 578, 104, 305, 1365, 577, 105, 2141, 1383, 698, - /* 2330 */ 576, 581, 374, 373, 1364, 1363, 575, 75, 1379, 1362, - /* 2340 */ 2172, 1252, 736, 2208, 1284, 2173, 330, 2174, 702, 2176, - /* 2350 */ 2177, 697, 1283, 692, 1282, 699, 1281, 1279, 1277, 1276, - /* 2360 */ 1275, 2172, 1310, 2173, 2208, 746, 1270, 343, 2174, 702, - /* 2370 */ 2176, 2177, 697, 699, 692, 306, 1273, 1272, 1271, 1307, - /* 2380 */ 1269, 1268, 1267, 2191, 1305, 1264, 1263, 1260, 1259, 1258, - /* 2390 */ 1257, 1839, 766, 2173, 1837, 2141, 770, 698, 768, 772, - /* 2400 */ 1835, 2191, 776, 699, 774, 767, 1832, 771, 778, 780, - /* 2410 */ 1814, 775, 782, 2141, 779, 698, 1199, 1791, 309, 786, - /* 2420 */ 1766, 1542, 790, 319, 2173, 789, 1766, 1766, 1766, 2172, - /* 2430 */ 1766, 2191, 2208, 1766, 699, 344, 2174, 702, 2176, 2177, - /* 2440 */ 697, 2173, 692, 2141, 1766, 698, 1766, 2172, 1766, 1766, - /* 2450 */ 2208, 699, 1766, 2185, 2174, 702, 2176, 2177, 697, 1766, - /* 2460 */ 692, 1766, 2191, 1766, 1766, 1766, 1766, 1766, 1766, 1766, - /* 2470 */ 1766, 1766, 1766, 1766, 2141, 1766, 698, 2172, 1766, 2191, - /* 2480 */ 2208, 1766, 1766, 2184, 2174, 702, 2176, 2177, 697, 1766, - /* 2490 */ 692, 2141, 2173, 698, 1766, 1766, 1766, 1766, 1766, 1766, - /* 2500 */ 1766, 1766, 699, 1766, 1766, 1766, 1766, 1766, 2172, 1766, - /* 2510 */ 1766, 2208, 1766, 2173, 2183, 2174, 702, 2176, 2177, 697, - /* 2520 */ 1766, 692, 1766, 699, 1766, 2172, 1766, 1766, 2208, 1766, - /* 2530 */ 2191, 359, 2174, 702, 2176, 2177, 697, 1766, 692, 1766, - /* 2540 */ 2173, 1766, 2141, 1766, 698, 1766, 1766, 1766, 1766, 1766, - /* 2550 */ 699, 2191, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, - /* 2560 */ 1766, 1766, 1766, 2141, 1766, 698, 1766, 1766, 1766, 1766, - /* 2570 */ 1766, 1766, 1766, 1766, 1766, 1766, 2172, 1766, 2191, 2208, - /* 2580 */ 1766, 1766, 360, 2174, 702, 2176, 2177, 697, 1766, 692, - /* 2590 */ 2141, 1766, 698, 1766, 1766, 1766, 1766, 2172, 1766, 1766, - /* 2600 */ 2208, 2173, 1766, 356, 2174, 702, 2176, 2177, 697, 1766, - /* 2610 */ 692, 699, 1766, 1766, 1766, 1766, 1766, 1766, 2173, 1766, - /* 2620 */ 1766, 1766, 1766, 1766, 2172, 1766, 1766, 2208, 699, 1766, - /* 2630 */ 361, 2174, 702, 2176, 2177, 697, 1766, 692, 1766, 2191, - /* 2640 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, - /* 2650 */ 1766, 2141, 1766, 698, 1766, 1766, 2191, 1766, 1766, 1766, - /* 2660 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 2141, 1766, - /* 2670 */ 698, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, - /* 2680 */ 1766, 1766, 1766, 1766, 1766, 700, 1766, 1766, 2208, 1766, - /* 2690 */ 1766, 335, 2174, 702, 2176, 2177, 697, 1766, 692, 1766, - /* 2700 */ 1766, 1766, 2172, 1766, 1766, 2208, 1766, 1766, 334, 2174, - /* 2710 */ 702, 2176, 2177, 697, 1766, 692, + /* 1110 */ 740, 739, 738, 177, 176, 168, 682, 1946, 1888, 686, + /* 1120 */ 324, 2235, 734, 408, 407, 1990, 189, 2271, 2272, 2175, + /* 1130 */ 140, 2276, 371, 1555, 321, 73, 665, 2143, 72, 699, + /* 1140 */ 148, 2328, 135, 1542, 1622, 1540, 1548, 41, 40, 346, + /* 1150 */ 1211, 47, 45, 44, 43, 42, 1565, 1778, 682, 1946, + /* 1160 */ 216, 508, 506, 503, 41, 40, 1782, 2193, 47, 45, + /* 1170 */ 44, 43, 42, 1617, 2303, 1545, 1546, 2175, 298, 2143, + /* 1180 */ 1777, 698, 682, 1946, 41, 40, 1547, 699, 47, 45, + /* 1190 */ 44, 43, 42, 748, 682, 1946, 1908, 682, 1946, 633, + /* 1200 */ 62, 372, 679, 370, 369, 1598, 568, 2143, 1776, 469, + /* 1210 */ 1688, 688, 1569, 2174, 680, 2193, 2210, 304, 468, 110, + /* 1220 */ 2176, 702, 2178, 2179, 697, 1566, 692, 2143, 570, 698, + /* 1230 */ 2143, 2355, 569, 2263, 1999, 2175, 428, 395, 2259, 109, + /* 1240 */ 279, 403, 1775, 1731, 602, 699, 601, 2282, 273, 1997, + /* 1250 */ 598, 1685, 2153, 652, 1774, 682, 1946, 689, 2143, 645, + /* 1260 */ 1708, 2174, 2335, 596, 2210, 594, 2162, 333, 2176, 702, + /* 1270 */ 2178, 2179, 697, 2193, 692, 406, 2157, 644, 188, 81, + /* 1280 */ 80, 448, 2336, 646, 200, 2143, 2175, 698, 759, 757, + /* 1290 */ 249, 1773, 2143, 650, 248, 74, 699, 440, 438, 2283, + /* 1300 */ 1685, 1556, 619, 1551, 2143, 1772, 1208, 1209, 347, 572, + /* 1310 */ 642, 429, 155, 2159, 427, 423, 419, 416, 441, 2174, + /* 1320 */ 573, 137, 2210, 692, 2193, 110, 2176, 702, 2178, 2179, + /* 1330 */ 697, 1303, 692, 1559, 1561, 1886, 2143, 2355, 698, 2263, + /* 1340 */ 1924, 2143, 1301, 395, 2259, 82, 690, 1615, 1616, 1618, + /* 1350 */ 1619, 1620, 1621, 2175, 90, 2143, 191, 353, 239, 260, + /* 1360 */ 378, 237, 600, 699, 261, 1832, 1550, 155, 155, 648, + /* 1370 */ 2174, 241, 56, 2210, 240, 1598, 110, 2176, 702, 2178, + /* 1380 */ 2179, 697, 243, 692, 150, 242, 2175, 585, 2238, 245, + /* 1390 */ 2263, 2193, 244, 1823, 395, 2259, 699, 1821, 50, 741, + /* 1400 */ 50, 1262, 91, 2143, 266, 698, 1764, 1765, 155, 14, + /* 1410 */ 13, 1643, 50, 2175, 291, 587, 1549, 742, 1885, 590, + /* 1420 */ 106, 1281, 71, 699, 2193, 2194, 55, 1507, 1510, 153, + /* 1430 */ 103, 155, 412, 64, 1815, 1806, 2143, 2174, 698, 1279, + /* 1440 */ 2210, 1263, 50, 110, 2176, 702, 2178, 2179, 697, 2175, + /* 1450 */ 692, 2193, 1811, 2053, 50, 2236, 706, 2263, 1717, 699, + /* 1460 */ 1716, 395, 2259, 2143, 268, 698, 1987, 2293, 664, 153, + /* 1470 */ 2174, 155, 1465, 2210, 296, 2175, 110, 2176, 702, 2178, + /* 1480 */ 2179, 697, 674, 692, 783, 699, 658, 2193, 685, 300, + /* 1490 */ 2263, 1346, 653, 1659, 395, 2259, 136, 2174, 281, 2143, + /* 1500 */ 2210, 698, 1608, 111, 2176, 702, 2178, 2179, 697, 278, + /* 1510 */ 692, 1, 415, 2193, 316, 153, 1374, 2263, 5, 420, + /* 1520 */ 1572, 687, 2259, 1553, 362, 2143, 437, 698, 195, 1378, + /* 1530 */ 436, 1385, 196, 700, 439, 198, 2210, 1488, 311, 111, + /* 1540 */ 2176, 702, 2178, 2179, 697, 206, 692, 454, 1569, 2054, + /* 1550 */ 458, 491, 463, 2263, 2175, 1564, 1383, 357, 2259, 2174, + /* 1560 */ 476, 2046, 2210, 483, 699, 172, 2176, 702, 2178, 2179, + /* 1570 */ 697, 499, 692, 1552, 490, 158, 501, 492, 502, 210, + /* 1580 */ 2175, 211, 504, 505, 213, 507, 509, 1570, 524, 4, + /* 1590 */ 699, 525, 2193, 533, 532, 1567, 535, 221, 536, 223, + /* 1600 */ 1571, 537, 1573, 538, 2143, 1999, 698, 226, 544, 540, + /* 1610 */ 2117, 228, 364, 85, 86, 565, 647, 2356, 2193, 112, + /* 1620 */ 1997, 232, 567, 382, 2114, 604, 1936, 352, 2113, 606, + /* 1630 */ 2143, 312, 698, 89, 610, 151, 253, 609, 2174, 611, + /* 1640 */ 236, 2210, 2175, 1932, 111, 2176, 702, 2178, 2179, 697, + /* 1650 */ 238, 692, 699, 1495, 160, 161, 1934, 1930, 2263, 2175, + /* 1660 */ 257, 162, 163, 2260, 2174, 617, 614, 2210, 634, 699, + /* 1670 */ 340, 2176, 702, 2178, 2179, 697, 255, 692, 2175, 624, + /* 1680 */ 2193, 2294, 615, 645, 2309, 383, 2335, 2304, 699, 672, + /* 1690 */ 630, 264, 2143, 2308, 698, 267, 384, 2193, 637, 8, + /* 1700 */ 643, 644, 188, 385, 625, 623, 2336, 646, 175, 2143, + /* 1710 */ 2285, 698, 622, 654, 277, 2358, 2193, 651, 1568, 1685, + /* 1720 */ 662, 390, 141, 286, 2279, 388, 2174, 1574, 2143, 2210, + /* 1730 */ 698, 276, 340, 2176, 702, 2178, 2179, 697, 272, 692, + /* 1740 */ 96, 313, 2059, 2174, 675, 670, 2210, 671, 2073, 172, + /* 1750 */ 2176, 702, 2178, 2179, 697, 274, 692, 275, 314, 2072, + /* 1760 */ 61, 676, 2174, 2071, 2175, 2210, 391, 98, 340, 2176, + /* 1770 */ 702, 2178, 2179, 697, 696, 692, 2334, 315, 280, 2244, + /* 1780 */ 1947, 2175, 102, 704, 1991, 100, 784, 1909, 318, 307, + /* 1790 */ 785, 699, 53, 787, 342, 322, 354, 355, 2135, 2134, + /* 1800 */ 2175, 2357, 2193, 320, 327, 2133, 78, 341, 331, 2130, + /* 1810 */ 699, 417, 418, 1532, 2143, 1533, 698, 422, 194, 2193, + /* 1820 */ 2128, 424, 425, 426, 398, 2127, 363, 2125, 430, 2124, + /* 1830 */ 432, 2143, 2123, 698, 2104, 434, 1523, 197, 2193, 2103, + /* 1840 */ 199, 1491, 79, 400, 1490, 2085, 2084, 2083, 2174, 446, + /* 1850 */ 2143, 2210, 698, 447, 339, 2176, 702, 2178, 2179, 697, + /* 1860 */ 2082, 692, 2081, 2229, 1442, 2174, 147, 608, 2210, 2037, + /* 1870 */ 2036, 340, 2176, 702, 2178, 2179, 697, 2034, 692, 2033, + /* 1880 */ 2032, 2035, 2031, 2030, 2174, 791, 2028, 2210, 2027, 2026, + /* 1890 */ 340, 2176, 702, 2178, 2179, 697, 204, 692, 2175, 310, + /* 1900 */ 464, 2025, 466, 2039, 2024, 2023, 2022, 2021, 699, 2020, + /* 1910 */ 2019, 2018, 2017, 2016, 2015, 180, 149, 2009, 2008, 2007, + /* 1920 */ 2038, 2006, 2005, 781, 777, 773, 769, 2014, 308, 2013, + /* 1930 */ 2012, 2175, 2011, 2010, 2004, 2003, 2193, 1444, 2002, 494, + /* 1940 */ 2001, 699, 2000, 350, 351, 1317, 1321, 1851, 2143, 212, + /* 1950 */ 698, 1850, 214, 1849, 215, 1847, 1844, 511, 1843, 1836, + /* 1960 */ 1313, 510, 1825, 1801, 2175, 227, 514, 512, 108, 2193, + /* 1970 */ 63, 301, 1800, 2102, 699, 516, 518, 2092, 520, 522, + /* 1980 */ 2080, 2143, 603, 698, 1210, 2210, 219, 182, 335, 2176, + /* 1990 */ 702, 2178, 2179, 697, 515, 692, 217, 519, 2079, 76, + /* 2000 */ 2175, 2057, 2193, 1925, 678, 547, 77, 225, 2163, 1846, + /* 2010 */ 699, 183, 530, 1842, 2143, 2174, 698, 545, 2210, 1255, + /* 2020 */ 1840, 325, 2176, 702, 2178, 2179, 697, 546, 692, 549, + /* 2030 */ 550, 551, 1838, 2175, 553, 554, 555, 1835, 2193, 288, + /* 2040 */ 558, 557, 1820, 699, 287, 1818, 559, 1819, 2174, 1817, + /* 2050 */ 2143, 2210, 698, 1390, 323, 2176, 702, 2178, 2179, 697, + /* 2060 */ 1797, 692, 2175, 1927, 254, 1389, 1926, 235, 1304, 1302, + /* 2070 */ 1300, 2193, 699, 1299, 1298, 1297, 1296, 1291, 1833, 375, + /* 2080 */ 756, 1293, 1824, 2143, 2174, 698, 1292, 2210, 758, 1290, + /* 2090 */ 326, 2176, 702, 2178, 2179, 697, 376, 692, 1822, 588, + /* 2100 */ 2193, 377, 591, 1796, 593, 1795, 595, 1794, 597, 113, + /* 2110 */ 1517, 1519, 2143, 29, 698, 1516, 1521, 2174, 2101, 67, + /* 2120 */ 2210, 58, 2175, 332, 2176, 702, 2178, 2179, 697, 1497, + /* 2130 */ 692, 1499, 699, 2091, 612, 2078, 2076, 2340, 17, 20, + /* 2140 */ 6, 2175, 65, 613, 7, 165, 2174, 381, 258, 2210, + /* 2150 */ 21, 699, 336, 2176, 702, 2178, 2179, 697, 618, 692, + /* 2160 */ 2193, 31, 271, 1734, 263, 626, 1501, 628, 22, 265, + /* 2170 */ 270, 33, 2143, 173, 698, 2164, 1715, 1707, 1749, 2193, + /* 2180 */ 269, 24, 1748, 386, 32, 1753, 92, 283, 1752, 2175, + /* 2190 */ 387, 2143, 1754, 698, 1755, 1682, 178, 1681, 60, 699, + /* 2200 */ 94, 95, 25, 289, 290, 292, 2174, 2077, 2175, 2210, + /* 2210 */ 2075, 2074, 328, 2176, 702, 2178, 2179, 697, 699, 692, + /* 2220 */ 2056, 1713, 297, 68, 2055, 2174, 97, 2193, 2210, 299, + /* 2230 */ 302, 337, 2176, 702, 2178, 2179, 697, 673, 692, 2143, + /* 2240 */ 59, 698, 1848, 103, 99, 26, 2193, 23, 18, 13, + /* 2250 */ 1557, 1644, 1634, 179, 1589, 11, 2175, 705, 2143, 1633, + /* 2260 */ 698, 1612, 2213, 691, 192, 1610, 699, 39, 401, 1609, + /* 2270 */ 16, 27, 28, 2174, 1581, 707, 2210, 2175, 1375, 329, + /* 2280 */ 2176, 702, 2178, 2179, 697, 703, 692, 699, 1372, 709, + /* 2290 */ 1371, 710, 2174, 712, 2193, 2210, 713, 715, 338, 2176, + /* 2300 */ 702, 2178, 2179, 697, 718, 692, 2143, 1368, 698, 701, + /* 2310 */ 721, 716, 584, 583, 582, 2193, 1362, 719, 722, 574, + /* 2320 */ 139, 578, 1360, 1366, 1365, 577, 104, 2143, 305, 698, + /* 2330 */ 576, 581, 374, 373, 1364, 1384, 575, 105, 1363, 75, + /* 2340 */ 2174, 1380, 1253, 2210, 736, 2175, 330, 2176, 702, 2178, + /* 2350 */ 2179, 697, 1285, 692, 1311, 699, 1284, 1283, 1282, 1280, + /* 2360 */ 1278, 2174, 1277, 2175, 2210, 1276, 1308, 343, 2176, 702, + /* 2370 */ 2178, 2179, 697, 699, 692, 306, 1274, 746, 1273, 1272, + /* 2380 */ 1271, 1270, 1269, 2193, 1268, 1306, 1265, 1264, 1261, 1260, + /* 2390 */ 1259, 1258, 1841, 2175, 766, 2143, 768, 698, 1839, 770, + /* 2400 */ 772, 2193, 1837, 699, 767, 774, 776, 1834, 778, 771, + /* 2410 */ 780, 775, 779, 2143, 1816, 698, 782, 1200, 1793, 309, + /* 2420 */ 786, 1768, 1543, 319, 2175, 789, 790, 1768, 1768, 2174, + /* 2430 */ 1768, 2193, 2210, 1768, 699, 344, 2176, 702, 2178, 2179, + /* 2440 */ 697, 2175, 692, 2143, 1768, 698, 1768, 2174, 1768, 1768, + /* 2450 */ 2210, 699, 1768, 2187, 2176, 702, 2178, 2179, 697, 1768, + /* 2460 */ 692, 1768, 2193, 1768, 1768, 1768, 1768, 1768, 1768, 1768, + /* 2470 */ 1768, 1768, 1768, 1768, 2143, 1768, 698, 2174, 1768, 2193, + /* 2480 */ 2210, 1768, 1768, 2186, 2176, 702, 2178, 2179, 697, 1768, + /* 2490 */ 692, 2143, 2175, 698, 1768, 1768, 1768, 1768, 1768, 1768, + /* 2500 */ 1768, 1768, 699, 1768, 1768, 1768, 1768, 1768, 2174, 1768, + /* 2510 */ 1768, 2210, 1768, 2175, 2185, 2176, 702, 2178, 2179, 697, + /* 2520 */ 1768, 692, 1768, 699, 1768, 2174, 1768, 1768, 2210, 1768, + /* 2530 */ 2193, 359, 2176, 702, 2178, 2179, 697, 1768, 692, 1768, + /* 2540 */ 2175, 1768, 2143, 1768, 698, 1768, 1768, 1768, 1768, 1768, + /* 2550 */ 699, 2193, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, + /* 2560 */ 1768, 1768, 1768, 2143, 1768, 698, 1768, 1768, 1768, 1768, + /* 2570 */ 1768, 1768, 1768, 1768, 1768, 1768, 2174, 1768, 2193, 2210, + /* 2580 */ 1768, 1768, 360, 2176, 702, 2178, 2179, 697, 1768, 692, + /* 2590 */ 2143, 1768, 698, 1768, 1768, 1768, 1768, 2174, 1768, 1768, + /* 2600 */ 2210, 2175, 1768, 356, 2176, 702, 2178, 2179, 697, 1768, + /* 2610 */ 692, 699, 1768, 1768, 1768, 1768, 1768, 1768, 2175, 1768, + /* 2620 */ 1768, 1768, 1768, 1768, 2174, 1768, 1768, 2210, 699, 1768, + /* 2630 */ 361, 2176, 702, 2178, 2179, 697, 1768, 692, 1768, 2193, + /* 2640 */ 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, + /* 2650 */ 1768, 2143, 1768, 698, 1768, 1768, 2193, 1768, 1768, 1768, + /* 2660 */ 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 2143, 1768, + /* 2670 */ 698, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, + /* 2680 */ 1768, 1768, 1768, 1768, 1768, 700, 1768, 1768, 2210, 1768, + /* 2690 */ 1768, 335, 2176, 702, 2178, 2179, 697, 1768, 692, 1768, + /* 2700 */ 1768, 1768, 2174, 1768, 1768, 2210, 1768, 1768, 334, 2176, + /* 2710 */ 702, 2178, 2179, 697, 1768, 692, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 340, 359, 456, 445, 446, 459, 339, 409, 341, 367, @@ -514,229 +514,229 @@ static const YYCODETYPE yy_lookahead[] = { /* 170 */ 170, 171, 68, 140, 141, 390, 176, 177, 102, 75, /* 180 */ 0, 105, 349, 350, 169, 0, 172, 401, 75, 403, /* 190 */ 190, 21, 192, 20, 24, 25, 26, 27, 28, 29, - /* 200 */ 30, 31, 32, 172, 100, 349, 21, 103, 340, 24, + /* 200 */ 30, 31, 32, 172, 100, 49, 21, 103, 340, 24, /* 210 */ 25, 26, 27, 28, 29, 30, 31, 32, 350, 401, /* 220 */ 352, 403, 222, 223, 0, 225, 226, 227, 228, 229, /* 230 */ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, /* 240 */ 240, 241, 242, 20, 140, 141, 378, 67, 24, 25, - /* 250 */ 26, 27, 28, 29, 30, 31, 32, 401, 390, 403, + /* 250 */ 26, 27, 28, 29, 30, 31, 32, 0, 390, 22, /* 260 */ 392, 246, 247, 248, 249, 250, 251, 252, 253, 254, - /* 270 */ 255, 256, 67, 340, 170, 171, 103, 349, 350, 4, - /* 280 */ 176, 177, 39, 350, 451, 452, 453, 454, 172, 456, + /* 270 */ 255, 256, 35, 340, 170, 171, 103, 349, 350, 4, + /* 280 */ 176, 177, 20, 350, 451, 452, 453, 454, 172, 456, /* 290 */ 457, 20, 424, 22, 190, 427, 192, 369, 430, 431, /* 300 */ 432, 433, 434, 435, 376, 437, 35, 14, 349, 350, /* 310 */ 442, 378, 444, 20, 8, 9, 448, 449, 12, 13, /* 320 */ 14, 15, 16, 390, 53, 392, 222, 223, 369, 225, /* 330 */ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, /* 340 */ 236, 237, 238, 239, 240, 241, 242, 243, 12, 13, - /* 350 */ 20, 340, 22, 12, 13, 3, 20, 424, 22, 429, - /* 360 */ 427, 350, 0, 430, 431, 432, 433, 434, 435, 33, - /* 370 */ 437, 35, 216, 378, 378, 442, 35, 444, 103, 350, - /* 380 */ 385, 448, 449, 53, 392, 455, 8, 9, 393, 378, - /* 390 */ 12, 13, 14, 15, 16, 399, 404, 100, 62, 407, - /* 400 */ 408, 390, 469, 392, 68, 344, 44, 378, 347, 348, + /* 350 */ 44, 340, 440, 12, 13, 443, 20, 424, 22, 387, + /* 360 */ 427, 350, 390, 430, 431, 432, 433, 434, 435, 33, + /* 370 */ 437, 35, 185, 2, 47, 442, 35, 444, 103, 8, + /* 380 */ 9, 448, 449, 12, 13, 14, 15, 16, 103, 378, + /* 390 */ 133, 134, 135, 136, 137, 138, 139, 100, 62, 212, + /* 400 */ 213, 390, 469, 392, 68, 344, 20, 349, 347, 348, /* 410 */ 104, 75, 115, 116, 117, 118, 119, 120, 121, 122, - /* 420 */ 123, 124, 44, 126, 127, 128, 129, 130, 131, 132, - /* 430 */ 20, 14, 259, 20, 356, 424, 100, 20, 427, 103, - /* 440 */ 356, 430, 431, 432, 433, 434, 435, 436, 437, 438, - /* 450 */ 439, 373, 12, 13, 14, 358, 175, 2, 33, 381, - /* 460 */ 20, 432, 22, 8, 9, 381, 20, 12, 13, 14, - /* 470 */ 15, 16, 375, 33, 49, 35, 140, 141, 20, 349, - /* 480 */ 350, 384, 57, 58, 59, 60, 350, 62, 62, 370, - /* 490 */ 133, 134, 135, 136, 137, 138, 139, 378, 340, 369, - /* 500 */ 4, 258, 62, 20, 222, 386, 170, 171, 350, 243, - /* 510 */ 352, 245, 176, 177, 350, 75, 8, 9, 349, 350, - /* 520 */ 12, 13, 14, 15, 16, 20, 190, 102, 192, 103, - /* 530 */ 105, 105, 396, 192, 259, 84, 378, 20, 369, 43, - /* 540 */ 100, 45, 46, 103, 340, 264, 265, 266, 390, 103, + /* 420 */ 123, 124, 20, 126, 127, 128, 129, 130, 131, 132, + /* 430 */ 103, 14, 259, 20, 172, 424, 100, 20, 427, 103, + /* 440 */ 103, 430, 431, 432, 433, 434, 435, 436, 437, 438, + /* 450 */ 439, 340, 12, 13, 14, 358, 175, 2, 33, 401, + /* 460 */ 20, 403, 22, 8, 9, 378, 20, 12, 13, 14, + /* 470 */ 15, 16, 375, 33, 49, 35, 140, 141, 356, 349, + /* 480 */ 350, 384, 57, 58, 59, 60, 399, 62, 62, 103, + /* 490 */ 133, 134, 135, 136, 137, 138, 139, 67, 340, 369, + /* 500 */ 4, 390, 62, 381, 222, 103, 170, 171, 350, 429, + /* 510 */ 352, 358, 176, 177, 350, 75, 8, 9, 349, 350, + /* 520 */ 12, 13, 14, 15, 16, 67, 190, 102, 192, 103, + /* 530 */ 105, 105, 20, 192, 259, 455, 378, 384, 369, 43, + /* 540 */ 100, 45, 46, 103, 259, 264, 265, 266, 390, 20, /* 550 */ 392, 269, 270, 271, 272, 273, 274, 275, 222, 223, /* 560 */ 396, 225, 226, 227, 228, 229, 230, 231, 232, 233, - /* 570 */ 234, 235, 236, 237, 238, 239, 240, 241, 242, 103, - /* 580 */ 140, 141, 424, 170, 171, 427, 103, 170, 430, 431, - /* 590 */ 432, 433, 434, 435, 390, 437, 145, 146, 173, 174, - /* 600 */ 442, 49, 444, 178, 67, 180, 448, 449, 340, 57, - /* 610 */ 170, 171, 60, 61, 349, 350, 176, 177, 350, 168, - /* 620 */ 352, 349, 350, 198, 114, 366, 103, 103, 134, 135, - /* 630 */ 190, 279, 192, 139, 369, 70, 71, 72, 441, 380, - /* 640 */ 443, 369, 77, 78, 79, 0, 378, 340, 83, 390, - /* 650 */ 349, 350, 35, 88, 89, 90, 91, 0, 390, 94, + /* 570 */ 234, 235, 236, 237, 238, 239, 240, 241, 242, 378, + /* 580 */ 140, 141, 424, 170, 171, 427, 385, 170, 430, 431, + /* 590 */ 432, 433, 434, 435, 393, 437, 259, 392, 173, 174, + /* 600 */ 442, 114, 444, 178, 378, 180, 448, 449, 340, 404, + /* 610 */ 170, 171, 407, 408, 349, 350, 176, 177, 350, 393, + /* 620 */ 352, 349, 350, 198, 243, 366, 429, 103, 134, 135, + /* 630 */ 190, 75, 192, 139, 369, 70, 71, 72, 243, 380, + /* 640 */ 245, 369, 77, 78, 79, 259, 378, 340, 83, 390, + /* 650 */ 349, 350, 455, 88, 89, 90, 91, 169, 390, 94, /* 660 */ 392, 409, 222, 223, 20, 225, 226, 227, 228, 229, /* 670 */ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - /* 680 */ 240, 241, 242, 12, 13, 259, 427, 349, 350, 172, - /* 690 */ 182, 20, 424, 22, 49, 427, 437, 390, 430, 431, + /* 680 */ 240, 241, 242, 12, 13, 259, 427, 349, 350, 350, + /* 690 */ 182, 20, 424, 22, 114, 427, 437, 390, 430, 431, /* 700 */ 432, 433, 434, 435, 33, 437, 35, 369, 456, 340, /* 710 */ 442, 459, 444, 189, 370, 191, 448, 449, 0, 350, - /* 720 */ 388, 4, 378, 391, 392, 429, 474, 475, 349, 350, - /* 730 */ 386, 479, 480, 62, 14, 259, 19, 391, 392, 340, - /* 740 */ 20, 185, 259, 349, 350, 221, 75, 378, 369, 350, - /* 750 */ 33, 455, 21, 452, 453, 454, 243, 456, 457, 390, - /* 760 */ 459, 392, 370, 369, 429, 34, 49, 36, 212, 213, - /* 770 */ 378, 100, 75, 56, 103, 474, 475, 378, 386, 62, - /* 780 */ 479, 480, 259, 259, 140, 141, 75, 12, 13, 390, - /* 790 */ 455, 392, 284, 424, 22, 20, 427, 22, 134, 430, - /* 800 */ 431, 432, 433, 434, 435, 169, 437, 35, 33, 192, - /* 810 */ 35, 140, 141, 444, 349, 350, 159, 448, 449, 102, - /* 820 */ 176, 177, 105, 424, 0, 168, 427, 114, 378, 430, - /* 830 */ 431, 432, 433, 434, 435, 385, 437, 62, 340, 340, - /* 840 */ 14, 170, 171, 393, 349, 350, 20, 176, 177, 350, - /* 850 */ 75, 133, 134, 135, 136, 137, 138, 139, 22, 378, - /* 860 */ 441, 190, 443, 192, 369, 44, 385, 203, 204, 470, - /* 870 */ 471, 35, 100, 2, 393, 100, 379, 378, 103, 8, - /* 880 */ 9, 379, 246, 12, 13, 14, 15, 16, 390, 390, - /* 890 */ 170, 392, 256, 222, 223, 379, 225, 226, 227, 228, + /* 720 */ 388, 4, 378, 391, 392, 371, 474, 475, 374, 49, + /* 730 */ 386, 479, 480, 62, 246, 396, 19, 57, 22, 340, + /* 740 */ 60, 61, 349, 350, 256, 221, 75, 378, 370, 350, + /* 750 */ 33, 35, 75, 452, 453, 454, 378, 456, 457, 390, + /* 760 */ 459, 392, 369, 378, 386, 356, 49, 391, 392, 387, + /* 770 */ 385, 100, 390, 56, 103, 474, 475, 378, 393, 62, + /* 780 */ 479, 480, 373, 259, 140, 141, 379, 12, 13, 390, + /* 790 */ 381, 392, 284, 424, 379, 20, 427, 22, 84, 430, + /* 800 */ 431, 432, 433, 434, 435, 20, 437, 22, 33, 429, + /* 810 */ 35, 140, 141, 444, 349, 350, 100, 448, 449, 102, + /* 820 */ 176, 177, 105, 424, 349, 350, 427, 354, 355, 430, + /* 830 */ 431, 432, 433, 434, 435, 455, 437, 62, 53, 340, + /* 840 */ 340, 170, 171, 350, 369, 1, 2, 176, 177, 350, + /* 850 */ 75, 133, 134, 135, 136, 137, 138, 139, 378, 145, + /* 860 */ 146, 190, 441, 192, 443, 385, 14, 15, 16, 470, + /* 870 */ 471, 378, 133, 393, 340, 100, 137, 378, 103, 8, + /* 880 */ 9, 379, 168, 12, 13, 14, 15, 16, 340, 390, + /* 890 */ 390, 392, 409, 222, 223, 379, 225, 226, 227, 228, /* 900 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - /* 910 */ 239, 240, 241, 242, 340, 140, 141, 452, 453, 454, - /* 920 */ 337, 456, 457, 424, 340, 104, 427, 340, 340, 430, - /* 930 */ 431, 432, 433, 434, 435, 18, 437, 20, 14, 15, - /* 940 */ 16, 378, 414, 340, 27, 170, 171, 30, 385, 340, - /* 950 */ 33, 176, 177, 350, 378, 352, 393, 133, 134, 135, - /* 960 */ 136, 137, 138, 139, 390, 190, 49, 192, 51, 393, - /* 970 */ 471, 349, 350, 56, 390, 22, 22, 390, 390, 8, - /* 980 */ 9, 378, 340, 12, 13, 14, 15, 16, 35, 35, - /* 990 */ 20, 369, 409, 390, 340, 392, 413, 222, 223, 390, + /* 910 */ 239, 240, 241, 242, 409, 140, 141, 452, 453, 454, + /* 920 */ 337, 456, 457, 424, 390, 432, 427, 340, 340, 430, + /* 930 */ 431, 432, 433, 434, 435, 18, 437, 20, 390, 456, + /* 940 */ 349, 350, 459, 340, 27, 170, 171, 30, 104, 340, + /* 950 */ 33, 176, 177, 350, 4, 352, 134, 474, 475, 414, + /* 960 */ 369, 456, 479, 480, 459, 190, 49, 192, 51, 379, + /* 970 */ 471, 349, 350, 56, 370, 22, 22, 390, 390, 474, + /* 980 */ 475, 378, 378, 350, 479, 480, 54, 55, 35, 35, + /* 990 */ 386, 369, 409, 390, 340, 392, 413, 222, 223, 390, /* 1000 */ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, /* 1010 */ 235, 236, 237, 238, 239, 240, 241, 242, 0, 102, - /* 1020 */ 20, 349, 350, 349, 350, 363, 364, 424, 75, 379, - /* 1030 */ 427, 114, 390, 430, 431, 432, 433, 434, 435, 456, - /* 1040 */ 437, 369, 459, 340, 390, 442, 133, 444, 54, 55, - /* 1050 */ 137, 448, 449, 100, 100, 354, 355, 474, 475, 354, + /* 1020 */ 0, 349, 350, 349, 350, 203, 204, 424, 75, 396, + /* 1030 */ 427, 114, 39, 430, 431, 432, 433, 434, 435, 456, + /* 1040 */ 437, 369, 459, 172, 390, 442, 42, 444, 44, 14, + /* 1050 */ 0, 448, 449, 100, 100, 20, 44, 474, 475, 354, /* 1060 */ 355, 144, 479, 480, 147, 148, 149, 150, 151, 152, /* 1070 */ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - /* 1080 */ 163, 44, 165, 166, 167, 363, 364, 340, 70, 71, - /* 1090 */ 72, 73, 74, 390, 76, 77, 78, 79, 80, 81, + /* 1080 */ 163, 379, 165, 166, 167, 363, 364, 340, 70, 71, + /* 1090 */ 72, 73, 74, 3, 76, 77, 78, 79, 80, 81, /* 1100 */ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - /* 1110 */ 92, 93, 94, 95, 96, 18, 349, 350, 409, 340, - /* 1120 */ 23, 340, 340, 12, 13, 379, 452, 453, 454, 340, + /* 1110 */ 92, 93, 94, 95, 96, 18, 349, 350, 367, 441, + /* 1120 */ 23, 443, 387, 12, 13, 390, 452, 453, 454, 340, /* 1130 */ 456, 457, 37, 22, 37, 38, 369, 390, 41, 350, - /* 1140 */ 379, 352, 172, 190, 33, 192, 35, 8, 9, 52, - /* 1150 */ 4, 12, 13, 14, 15, 16, 350, 340, 349, 350, - /* 1160 */ 63, 64, 65, 66, 42, 456, 44, 378, 459, 390, - /* 1170 */ 170, 390, 390, 62, 44, 222, 223, 340, 369, 390, - /* 1180 */ 340, 392, 62, 474, 475, 366, 75, 350, 479, 480, - /* 1190 */ 8, 9, 1, 2, 12, 13, 14, 15, 16, 380, - /* 1200 */ 103, 106, 396, 108, 109, 114, 111, 390, 358, 390, - /* 1210 */ 68, 100, 409, 424, 440, 378, 427, 443, 367, 430, - /* 1220 */ 431, 432, 433, 434, 435, 105, 437, 390, 133, 392, - /* 1230 */ 390, 442, 137, 444, 384, 340, 13, 448, 449, 142, - /* 1240 */ 42, 387, 44, 104, 390, 350, 427, 352, 387, 387, - /* 1250 */ 371, 390, 390, 374, 365, 164, 437, 368, 35, 456, - /* 1260 */ 107, 424, 459, 110, 427, 257, 258, 430, 431, 432, - /* 1270 */ 433, 434, 435, 378, 437, 45, 46, 474, 475, 182, - /* 1280 */ 183, 184, 479, 480, 187, 390, 340, 392, 107, 341, - /* 1290 */ 13, 110, 48, 349, 350, 104, 350, 200, 201, 107, - /* 1300 */ 400, 190, 110, 192, 107, 140, 141, 110, 211, 0, - /* 1310 */ 473, 214, 35, 369, 217, 218, 219, 220, 221, 424, - /* 1320 */ 283, 206, 427, 208, 378, 430, 431, 432, 433, 434, - /* 1330 */ 435, 22, 437, 222, 223, 0, 390, 442, 392, 444, - /* 1340 */ 0, 44, 456, 448, 449, 459, 235, 236, 237, 238, - /* 1350 */ 239, 240, 241, 340, 172, 135, 259, 22, 44, 139, - /* 1360 */ 474, 475, 22, 350, 222, 479, 480, 483, 44, 44, - /* 1370 */ 424, 44, 44, 427, 44, 44, 430, 431, 432, 433, - /* 1380 */ 434, 435, 472, 437, 349, 350, 340, 353, 442, 103, - /* 1390 */ 444, 378, 349, 350, 448, 449, 350, 349, 350, 113, - /* 1400 */ 44, 104, 47, 390, 369, 392, 260, 44, 44, 1, - /* 1410 */ 2, 281, 369, 340, 44, 466, 172, 369, 104, 199, - /* 1420 */ 35, 0, 202, 350, 378, 205, 44, 207, 104, 104, - /* 1430 */ 13, 104, 104, 44, 104, 104, 390, 424, 392, 378, - /* 1440 */ 427, 366, 44, 430, 431, 432, 433, 434, 435, 340, - /* 1450 */ 437, 378, 35, 366, 44, 442, 44, 444, 103, 350, - /* 1460 */ 104, 448, 449, 390, 44, 392, 353, 104, 104, 44, - /* 1470 */ 424, 50, 35, 427, 104, 340, 430, 431, 432, 433, - /* 1480 */ 434, 435, 400, 437, 348, 350, 104, 378, 442, 13, - /* 1490 */ 444, 350, 389, 104, 448, 449, 400, 424, 458, 390, - /* 1500 */ 427, 392, 104, 430, 431, 432, 433, 434, 435, 476, - /* 1510 */ 437, 35, 75, 378, 104, 450, 104, 444, 460, 261, - /* 1520 */ 426, 448, 449, 49, 104, 390, 425, 392, 20, 104, - /* 1530 */ 418, 205, 358, 424, 418, 358, 427, 423, 188, 430, - /* 1540 */ 431, 432, 433, 434, 435, 411, 437, 42, 397, 20, - /* 1550 */ 400, 397, 169, 444, 340, 395, 20, 448, 449, 424, + /* 1140 */ 42, 352, 44, 190, 33, 192, 35, 8, 9, 52, + /* 1150 */ 14, 12, 13, 14, 15, 16, 20, 340, 349, 350, + /* 1160 */ 63, 64, 65, 66, 8, 9, 341, 378, 12, 13, + /* 1170 */ 14, 15, 16, 62, 400, 222, 223, 340, 369, 390, + /* 1180 */ 340, 392, 349, 350, 8, 9, 75, 350, 12, 13, + /* 1190 */ 14, 15, 16, 365, 349, 350, 368, 349, 350, 472, + /* 1200 */ 103, 106, 369, 108, 109, 170, 111, 390, 340, 159, + /* 1210 */ 260, 100, 20, 424, 369, 378, 427, 369, 168, 430, + /* 1220 */ 431, 432, 433, 434, 435, 20, 437, 390, 133, 392, + /* 1230 */ 390, 442, 137, 444, 378, 340, 216, 448, 449, 142, + /* 1240 */ 483, 385, 340, 104, 206, 350, 208, 352, 466, 393, + /* 1250 */ 21, 258, 366, 44, 340, 349, 350, 68, 390, 456, + /* 1260 */ 104, 424, 459, 34, 427, 36, 380, 430, 431, 432, + /* 1270 */ 433, 434, 435, 378, 437, 369, 390, 474, 475, 182, + /* 1280 */ 183, 184, 479, 480, 187, 390, 340, 392, 363, 364, + /* 1290 */ 135, 340, 390, 281, 139, 114, 350, 200, 201, 257, + /* 1300 */ 258, 190, 48, 192, 390, 340, 45, 46, 211, 13, + /* 1310 */ 473, 214, 44, 427, 217, 218, 219, 220, 221, 424, + /* 1320 */ 13, 353, 427, 437, 378, 430, 431, 432, 433, 434, + /* 1330 */ 435, 35, 437, 222, 223, 366, 390, 442, 392, 444, + /* 1340 */ 0, 390, 35, 448, 449, 164, 235, 236, 237, 238, + /* 1350 */ 239, 240, 241, 340, 199, 390, 259, 202, 107, 62, + /* 1360 */ 205, 110, 207, 350, 172, 0, 35, 44, 44, 279, + /* 1370 */ 424, 107, 104, 427, 110, 170, 430, 431, 432, 433, + /* 1380 */ 434, 435, 107, 437, 44, 110, 340, 22, 442, 107, + /* 1390 */ 444, 378, 110, 0, 448, 449, 350, 0, 44, 13, + /* 1400 */ 44, 35, 105, 390, 44, 392, 140, 141, 44, 1, + /* 1410 */ 2, 222, 44, 340, 44, 22, 35, 13, 366, 22, + /* 1420 */ 103, 35, 44, 350, 378, 378, 172, 104, 104, 44, + /* 1430 */ 113, 44, 353, 44, 0, 348, 390, 424, 392, 35, + /* 1440 */ 427, 75, 44, 430, 431, 432, 433, 434, 435, 340, + /* 1450 */ 437, 378, 350, 400, 44, 442, 44, 444, 104, 350, + /* 1460 */ 104, 448, 449, 390, 104, 392, 389, 400, 104, 44, + /* 1470 */ 424, 44, 104, 427, 104, 340, 430, 431, 432, 433, + /* 1480 */ 434, 435, 104, 437, 50, 350, 458, 378, 442, 104, + /* 1490 */ 444, 104, 283, 104, 448, 449, 44, 424, 476, 390, + /* 1500 */ 427, 392, 104, 430, 431, 432, 433, 434, 435, 450, + /* 1510 */ 437, 460, 426, 378, 104, 44, 104, 444, 261, 49, + /* 1520 */ 20, 448, 449, 192, 425, 390, 418, 392, 423, 104, + /* 1530 */ 205, 104, 358, 424, 418, 358, 427, 188, 411, 430, + /* 1540 */ 431, 432, 433, 434, 435, 42, 437, 397, 20, 400, + /* 1550 */ 397, 169, 395, 444, 340, 20, 104, 448, 449, 424, /* 1560 */ 349, 349, 427, 397, 350, 430, 431, 432, 433, 434, - /* 1570 */ 435, 395, 437, 395, 101, 362, 99, 192, 361, 98, - /* 1580 */ 340, 349, 360, 349, 349, 349, 20, 342, 48, 346, - /* 1590 */ 350, 342, 378, 346, 20, 358, 392, 418, 20, 358, - /* 1600 */ 20, 351, 342, 410, 390, 378, 392, 351, 349, 358, - /* 1610 */ 358, 358, 385, 358, 390, 358, 481, 482, 378, 349, - /* 1620 */ 393, 390, 342, 383, 378, 209, 378, 422, 390, 103, - /* 1630 */ 390, 196, 392, 195, 418, 420, 417, 356, 424, 378, + /* 1570 */ 435, 99, 437, 192, 395, 104, 101, 395, 362, 361, + /* 1580 */ 340, 349, 98, 360, 349, 349, 349, 20, 342, 48, + /* 1590 */ 350, 346, 378, 346, 342, 20, 418, 358, 392, 358, + /* 1600 */ 20, 351, 20, 410, 390, 378, 392, 358, 349, 351, + /* 1610 */ 390, 358, 385, 358, 358, 342, 481, 482, 378, 349, + /* 1620 */ 393, 358, 378, 383, 390, 209, 378, 342, 390, 422, + /* 1630 */ 390, 418, 392, 103, 196, 420, 356, 195, 424, 417, /* 1640 */ 378, 427, 340, 378, 430, 431, 432, 433, 434, 435, - /* 1650 */ 378, 437, 350, 378, 378, 416, 378, 378, 444, 340, - /* 1660 */ 378, 392, 356, 449, 424, 194, 349, 427, 400, 350, - /* 1670 */ 430, 431, 432, 433, 434, 435, 267, 437, 340, 415, - /* 1680 */ 378, 390, 268, 456, 400, 383, 459, 276, 350, 390, - /* 1690 */ 465, 465, 390, 405, 392, 405, 468, 378, 390, 181, - /* 1700 */ 390, 474, 475, 285, 278, 277, 479, 480, 262, 390, - /* 1710 */ 258, 392, 282, 426, 280, 350, 378, 484, 20, 465, - /* 1720 */ 478, 383, 429, 349, 351, 356, 424, 464, 390, 427, - /* 1730 */ 392, 356, 430, 431, 432, 433, 434, 435, 467, 437, - /* 1740 */ 20, 405, 403, 424, 477, 462, 427, 390, 463, 430, - /* 1750 */ 431, 432, 433, 434, 435, 174, 437, 390, 390, 405, - /* 1760 */ 402, 390, 424, 356, 340, 427, 390, 390, 430, 431, - /* 1770 */ 432, 433, 434, 435, 350, 437, 374, 350, 356, 103, - /* 1780 */ 447, 340, 103, 382, 390, 349, 36, 368, 356, 338, - /* 1790 */ 343, 350, 342, 412, 406, 372, 406, 419, 0, 357, - /* 1800 */ 340, 482, 378, 372, 0, 372, 0, 42, 0, 35, - /* 1810 */ 350, 215, 35, 35, 390, 35, 392, 215, 0, 378, - /* 1820 */ 35, 35, 215, 0, 383, 215, 0, 35, 0, 22, - /* 1830 */ 0, 390, 35, 392, 0, 210, 198, 0, 378, 198, - /* 1840 */ 192, 199, 190, 383, 0, 0, 0, 186, 424, 185, - /* 1850 */ 390, 427, 392, 0, 430, 431, 432, 433, 434, 435, - /* 1860 */ 0, 437, 47, 439, 0, 424, 42, 1, 427, 0, + /* 1650 */ 378, 437, 350, 194, 378, 378, 378, 378, 444, 340, + /* 1660 */ 356, 378, 378, 449, 424, 349, 392, 427, 268, 350, + /* 1670 */ 430, 431, 432, 433, 434, 435, 416, 437, 340, 390, + /* 1680 */ 378, 400, 415, 456, 465, 383, 459, 400, 350, 267, + /* 1690 */ 390, 405, 390, 465, 392, 405, 390, 378, 390, 276, + /* 1700 */ 181, 474, 475, 285, 278, 277, 479, 480, 465, 390, + /* 1710 */ 468, 392, 262, 282, 426, 484, 378, 280, 20, 258, + /* 1720 */ 349, 383, 350, 356, 429, 351, 424, 20, 390, 427, + /* 1730 */ 392, 462, 430, 431, 432, 433, 434, 435, 467, 437, + /* 1740 */ 356, 405, 403, 424, 174, 390, 427, 390, 390, 430, + /* 1750 */ 431, 432, 433, 434, 435, 464, 437, 463, 405, 390, + /* 1760 */ 103, 402, 424, 390, 340, 427, 390, 356, 430, 431, + /* 1770 */ 432, 433, 434, 435, 350, 437, 478, 374, 477, 447, + /* 1780 */ 350, 340, 103, 382, 390, 356, 36, 368, 349, 356, + /* 1790 */ 343, 350, 412, 342, 419, 338, 406, 406, 0, 0, + /* 1800 */ 340, 482, 378, 357, 372, 0, 42, 372, 372, 0, + /* 1810 */ 350, 35, 215, 35, 390, 35, 392, 215, 35, 378, + /* 1820 */ 0, 35, 35, 215, 383, 0, 215, 0, 35, 0, + /* 1830 */ 22, 390, 0, 392, 0, 35, 210, 198, 378, 0, + /* 1840 */ 198, 192, 199, 383, 190, 0, 0, 0, 424, 186, + /* 1850 */ 390, 427, 392, 185, 430, 431, 432, 433, 434, 435, + /* 1860 */ 0, 437, 0, 439, 47, 424, 42, 1, 427, 0, /* 1870 */ 0, 430, 431, 432, 433, 434, 435, 0, 437, 0, - /* 1880 */ 0, 0, 0, 0, 424, 19, 0, 427, 0, 159, - /* 1890 */ 430, 431, 432, 433, 434, 435, 35, 437, 340, 33, - /* 1900 */ 0, 159, 0, 0, 0, 0, 0, 0, 350, 0, + /* 1880 */ 0, 0, 0, 0, 424, 19, 0, 427, 0, 0, + /* 1890 */ 430, 431, 432, 433, 434, 435, 159, 437, 340, 33, + /* 1900 */ 35, 0, 159, 0, 0, 0, 0, 0, 350, 0, /* 1910 */ 0, 0, 0, 0, 0, 49, 42, 0, 0, 0, /* 1920 */ 0, 0, 0, 57, 58, 59, 60, 0, 62, 0, - /* 1930 */ 0, 340, 0, 0, 0, 0, 378, 22, 143, 0, - /* 1940 */ 0, 350, 48, 48, 0, 22, 22, 62, 390, 0, - /* 1950 */ 392, 62, 0, 62, 0, 0, 0, 49, 0, 0, + /* 1930 */ 0, 340, 0, 0, 0, 0, 378, 22, 0, 143, + /* 1940 */ 0, 350, 0, 48, 48, 22, 22, 0, 390, 62, + /* 1950 */ 392, 0, 62, 0, 62, 0, 0, 49, 0, 0, /* 1960 */ 35, 35, 0, 0, 340, 181, 35, 39, 102, 378, - /* 1970 */ 0, 105, 0, 0, 350, 39, 35, 35, 0, 14, - /* 1980 */ 0, 390, 424, 392, 0, 427, 39, 49, 430, 431, - /* 1990 */ 432, 433, 434, 435, 49, 437, 0, 44, 47, 42, - /* 2000 */ 340, 0, 378, 39, 138, 39, 39, 47, 47, 40, - /* 2010 */ 350, 35, 69, 39, 390, 424, 392, 49, 427, 0, - /* 2020 */ 35, 430, 431, 432, 433, 434, 435, 39, 437, 0, - /* 2030 */ 49, 49, 35, 340, 39, 0, 49, 35, 378, 173, - /* 2040 */ 0, 0, 39, 350, 178, 0, 0, 0, 424, 0, + /* 1970 */ 112, 105, 0, 0, 350, 39, 35, 0, 39, 35, + /* 1980 */ 0, 390, 424, 392, 14, 427, 40, 44, 430, 431, + /* 1990 */ 432, 433, 434, 435, 49, 437, 42, 49, 0, 39, + /* 2000 */ 340, 0, 378, 0, 138, 39, 39, 39, 47, 0, + /* 2010 */ 350, 47, 47, 0, 390, 424, 392, 35, 427, 69, + /* 2020 */ 0, 430, 431, 432, 433, 434, 435, 49, 437, 35, + /* 2030 */ 49, 39, 0, 340, 35, 49, 39, 0, 378, 173, + /* 2040 */ 49, 35, 0, 350, 178, 0, 39, 0, 424, 0, /* 2050 */ 390, 427, 392, 35, 430, 431, 432, 433, 434, 435, - /* 2060 */ 112, 437, 340, 0, 198, 22, 35, 35, 35, 35, - /* 2070 */ 44, 378, 350, 35, 35, 0, 22, 35, 22, 35, - /* 2080 */ 44, 110, 0, 390, 424, 392, 35, 427, 22, 0, - /* 2090 */ 430, 431, 432, 433, 434, 435, 35, 437, 22, 51, - /* 2100 */ 378, 22, 35, 0, 35, 0, 35, 0, 20, 35, - /* 2110 */ 104, 103, 390, 35, 392, 35, 0, 424, 172, 103, - /* 2120 */ 427, 35, 340, 430, 431, 432, 433, 434, 435, 0, - /* 2130 */ 437, 22, 350, 22, 0, 0, 3, 44, 263, 48, - /* 2140 */ 103, 340, 48, 44, 44, 47, 424, 197, 44, 427, - /* 2150 */ 44, 350, 430, 431, 432, 433, 434, 435, 172, 437, - /* 2160 */ 378, 104, 172, 174, 104, 103, 101, 99, 193, 47, - /* 2170 */ 179, 3, 390, 103, 392, 44, 104, 104, 35, 378, - /* 2180 */ 103, 35, 35, 35, 103, 35, 103, 47, 35, 340, - /* 2190 */ 0, 390, 47, 392, 104, 44, 104, 0, 0, 350, - /* 2200 */ 104, 104, 0, 39, 47, 103, 424, 0, 340, 427, - /* 2210 */ 39, 103, 430, 431, 432, 433, 434, 435, 350, 437, - /* 2220 */ 44, 104, 104, 103, 103, 424, 103, 378, 427, 103, - /* 2230 */ 175, 430, 431, 432, 433, 434, 435, 173, 437, 390, - /* 2240 */ 263, 392, 0, 113, 244, 101, 378, 2, 47, 22, - /* 2250 */ 257, 47, 222, 104, 22, 263, 340, 101, 390, 104, - /* 2260 */ 392, 103, 103, 103, 47, 104, 350, 104, 103, 103, - /* 2270 */ 103, 35, 35, 424, 224, 103, 427, 340, 35, 430, - /* 2280 */ 431, 432, 433, 434, 435, 104, 437, 350, 114, 104, - /* 2290 */ 103, 35, 424, 104, 378, 427, 103, 35, 430, 431, - /* 2300 */ 432, 433, 434, 435, 35, 437, 390, 104, 392, 103, - /* 2310 */ 35, 103, 70, 71, 72, 378, 104, 104, 103, 77, - /* 2320 */ 78, 79, 103, 44, 125, 83, 103, 390, 35, 392, - /* 2330 */ 88, 89, 90, 91, 125, 125, 94, 103, 22, 125, - /* 2340 */ 424, 69, 68, 427, 35, 340, 430, 431, 432, 433, - /* 2350 */ 434, 435, 35, 437, 35, 350, 35, 35, 35, 35, - /* 2360 */ 35, 424, 75, 340, 427, 97, 22, 430, 431, 432, - /* 2370 */ 433, 434, 435, 350, 437, 44, 35, 35, 35, 75, - /* 2380 */ 35, 35, 35, 378, 35, 35, 35, 35, 35, 22, - /* 2390 */ 35, 0, 35, 340, 0, 390, 35, 392, 39, 39, - /* 2400 */ 0, 378, 39, 350, 35, 49, 0, 49, 35, 39, - /* 2410 */ 0, 49, 35, 390, 49, 392, 35, 0, 22, 21, - /* 2420 */ 485, 22, 20, 22, 340, 21, 485, 485, 485, 424, + /* 2060 */ 0, 437, 340, 0, 198, 22, 0, 110, 35, 35, + /* 2070 */ 35, 378, 350, 35, 35, 35, 35, 22, 0, 22, + /* 2080 */ 44, 35, 0, 390, 424, 392, 35, 427, 44, 35, + /* 2090 */ 430, 431, 432, 433, 434, 435, 22, 437, 0, 51, + /* 2100 */ 378, 22, 35, 0, 35, 0, 35, 0, 22, 20, + /* 2110 */ 35, 35, 390, 103, 392, 35, 104, 424, 0, 103, + /* 2120 */ 427, 172, 340, 430, 431, 432, 433, 434, 435, 35, + /* 2130 */ 437, 22, 350, 0, 22, 0, 0, 3, 263, 44, + /* 2140 */ 48, 340, 3, 172, 48, 193, 424, 172, 174, 427, + /* 2150 */ 44, 350, 430, 431, 432, 433, 434, 435, 179, 437, + /* 2160 */ 378, 103, 47, 104, 103, 101, 197, 99, 44, 104, + /* 2170 */ 44, 44, 390, 103, 392, 47, 104, 104, 35, 378, + /* 2180 */ 103, 44, 35, 35, 103, 35, 103, 47, 35, 340, + /* 2190 */ 35, 390, 104, 392, 104, 104, 47, 104, 44, 350, + /* 2200 */ 103, 39, 103, 47, 104, 103, 424, 0, 340, 427, + /* 2210 */ 0, 0, 430, 431, 432, 433, 434, 435, 350, 437, + /* 2220 */ 0, 104, 103, 103, 0, 424, 39, 378, 427, 173, + /* 2230 */ 47, 430, 431, 432, 433, 434, 435, 175, 437, 390, + /* 2240 */ 257, 392, 0, 113, 103, 44, 378, 263, 263, 2, + /* 2250 */ 22, 222, 101, 47, 22, 244, 340, 35, 390, 101, + /* 2260 */ 392, 104, 103, 103, 47, 104, 350, 103, 35, 104, + /* 2270 */ 103, 103, 103, 424, 104, 103, 427, 340, 104, 430, + /* 2280 */ 431, 432, 433, 434, 435, 114, 437, 350, 104, 35, + /* 2290 */ 104, 103, 424, 35, 378, 427, 103, 35, 430, 431, + /* 2300 */ 432, 433, 434, 435, 35, 437, 390, 104, 392, 224, + /* 2310 */ 35, 103, 70, 71, 72, 378, 104, 103, 103, 77, + /* 2320 */ 78, 79, 104, 125, 125, 83, 103, 390, 44, 392, + /* 2330 */ 88, 89, 90, 91, 125, 35, 94, 103, 125, 103, + /* 2340 */ 424, 22, 69, 427, 68, 340, 430, 431, 432, 433, + /* 2350 */ 434, 435, 35, 437, 75, 350, 35, 35, 35, 35, + /* 2360 */ 35, 424, 35, 340, 427, 35, 75, 430, 431, 432, + /* 2370 */ 433, 434, 435, 350, 437, 44, 35, 97, 35, 35, + /* 2380 */ 22, 35, 35, 378, 35, 35, 35, 35, 35, 35, + /* 2390 */ 22, 35, 0, 340, 35, 390, 39, 392, 0, 35, + /* 2400 */ 39, 378, 0, 350, 49, 35, 39, 0, 35, 49, + /* 2410 */ 39, 49, 49, 390, 0, 392, 35, 35, 0, 22, + /* 2420 */ 21, 485, 22, 22, 340, 21, 20, 485, 485, 424, /* 2430 */ 485, 378, 427, 485, 350, 430, 431, 432, 433, 434, /* 2440 */ 435, 340, 437, 390, 485, 392, 485, 424, 485, 485, /* 2450 */ 427, 350, 485, 430, 431, 432, 433, 434, 435, 485, @@ -770,7 +770,7 @@ static const YYCODETYPE yy_lookahead[] = { /* 2730 */ 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, /* 2740 */ 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, /* 2750 */ 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - /* 2760 */ 485, 485, 485, 337, 337, 337, 337, 337, 337, 337, + /* 2760 */ 485, 485, 485, 485, 337, 337, 337, 337, 337, 337, /* 2770 */ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, /* 2780 */ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, /* 2790 */ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, @@ -803,88 +803,88 @@ static const YYCODETYPE yy_lookahead[] = { }; #define YY_SHIFT_COUNT (791) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2417) +#define YY_SHIFT_MAX (2418) static const unsigned short int yy_shift_ofst[] = { /* 0 */ 1097, 0, 104, 0, 336, 336, 336, 336, 336, 336, /* 10 */ 336, 336, 336, 336, 336, 336, 440, 671, 671, 775, /* 20 */ 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, /* 30 */ 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, /* 40 */ 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, - /* 50 */ 671, 173, 483, 524, 446, 426, 476, 523, 476, 446, - /* 60 */ 446, 1111, 476, 1111, 1111, 275, 476, 141, 644, 223, + /* 50 */ 671, 173, 386, 524, 402, 426, 285, 337, 285, 402, + /* 60 */ 402, 1111, 285, 1111, 1111, 275, 285, 141, 644, 223, /* 70 */ 223, 644, 496, 496, 413, 33, 293, 293, 223, 223, - /* 80 */ 223, 223, 223, 223, 223, 410, 223, 223, 205, 141, - /* 90 */ 223, 223, 458, 223, 141, 223, 410, 223, 410, 141, - /* 100 */ 223, 223, 141, 223, 141, 141, 141, 223, 537, 917, + /* 80 */ 223, 223, 223, 223, 223, 446, 223, 223, 430, 141, + /* 90 */ 223, 223, 512, 223, 141, 223, 446, 223, 446, 141, + /* 100 */ 223, 223, 141, 223, 141, 141, 141, 223, 458, 917, /* 110 */ 15, 15, 565, 170, 953, 953, 953, 953, 953, 953, /* 120 */ 953, 953, 953, 953, 953, 953, 953, 953, 953, 953, - /* 130 */ 953, 953, 953, 1095, 14, 413, 33, 994, 994, 113, - /* 140 */ 116, 116, 116, 180, 266, 266, 113, 505, 505, 505, - /* 150 */ 205, 510, 513, 141, 697, 141, 697, 697, 713, 711, + /* 130 */ 953, 953, 953, 1095, 14, 413, 33, 932, 932, 113, + /* 140 */ 116, 116, 116, 180, 395, 395, 113, 529, 529, 529, + /* 150 */ 430, 487, 381, 141, 556, 141, 556, 556, 580, 677, /* 160 */ 297, 297, 297, 297, 297, 297, 297, 297, 1866, 2242, - /* 170 */ 185, 31, 508, 282, 271, 281, 341, 341, 417, 720, - /* 180 */ 330, 517, 1230, 826, 913, 970, 1008, 243, 352, 1008, - /* 190 */ 1122, 1146, 1000, 1258, 1474, 1508, 1326, 205, 1508, 205, - /* 200 */ 1350, 1505, 1529, 1505, 1383, 1536, 1536, 1505, 1383, 1383, - /* 210 */ 1473, 1477, 1536, 1481, 1536, 1536, 1536, 1566, 1540, 1566, - /* 220 */ 1540, 1508, 205, 1574, 205, 1578, 1580, 205, 1578, 205, - /* 230 */ 205, 205, 1536, 205, 1566, 141, 141, 141, 141, 141, - /* 240 */ 141, 141, 141, 141, 141, 141, 1536, 1566, 697, 697, - /* 250 */ 697, 1416, 1526, 1508, 537, 1435, 1438, 1574, 537, 1471, - /* 260 */ 1536, 1529, 1529, 697, 1414, 1409, 697, 1414, 1409, 697, - /* 270 */ 697, 141, 1411, 1518, 1414, 1426, 1428, 1446, 1258, 1418, - /* 280 */ 1430, 1434, 1452, 505, 1698, 1536, 1578, 537, 537, 1720, - /* 290 */ 1409, 697, 697, 697, 697, 697, 1409, 697, 1581, 537, - /* 300 */ 713, 537, 505, 1676, 1679, 697, 711, 1536, 537, 1750, - /* 310 */ 1566, 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2716, - /* 320 */ 1018, 425, 224, 717, 306, 378, 1139, 718, 455, 871, - /* 330 */ 1182, 824, 971, 971, 971, 971, 971, 971, 971, 971, - /* 340 */ 971, 357, 1220, 118, 118, 451, 552, 556, 657, 76, - /* 350 */ 772, 954, 731, 664, 494, 494, 924, 1191, 636, 924, - /* 360 */ 924, 924, 645, 156, 821, 836, 1198, 1091, 362, 1153, - /* 370 */ 1181, 1192, 1197, 1223, 1277, 1309, 1335, 1340, 1115, 1297, - /* 380 */ 1314, 1120, 1324, 1325, 1327, 1165, 1130, 1037, 1244, 1328, - /* 390 */ 1330, 1331, 1356, 1363, 1364, 1408, 1370, 1142, 1382, 1355, - /* 400 */ 1389, 1398, 1410, 1412, 1420, 1425, 1286, 617, 1385, 1417, - /* 410 */ 1476, 1437, 1421, 1798, 1804, 1806, 1765, 1808, 1774, 1596, - /* 420 */ 1777, 1778, 1780, 1602, 1818, 1785, 1786, 1607, 1823, 1610, - /* 430 */ 1826, 1792, 1828, 1807, 1830, 1797, 1625, 1834, 1638, 1837, - /* 440 */ 1641, 1642, 1648, 1652, 1844, 1845, 1846, 1661, 1664, 1853, - /* 450 */ 1860, 1815, 1864, 1869, 1870, 1824, 1877, 1879, 1880, 1881, - /* 460 */ 1882, 1883, 1886, 1888, 1730, 1861, 1900, 1742, 1902, 1903, - /* 470 */ 1904, 1905, 1906, 1907, 1909, 1910, 1911, 1912, 1913, 1914, - /* 480 */ 1927, 1929, 1930, 1932, 1874, 1917, 1918, 1919, 1920, 1921, - /* 490 */ 1922, 1915, 1933, 1934, 1935, 1795, 1939, 1940, 1923, 1894, - /* 500 */ 1924, 1895, 1944, 1885, 1925, 1949, 1889, 1952, 1891, 1954, - /* 510 */ 1955, 1926, 1908, 1928, 1956, 1931, 1938, 1936, 1958, 1941, - /* 520 */ 1945, 1947, 1959, 1942, 1962, 1957, 1967, 1953, 1951, 1960, - /* 530 */ 1965, 1961, 1963, 1969, 1964, 1970, 1972, 1973, 1974, 1784, - /* 540 */ 1978, 1980, 1984, 1943, 1996, 2001, 1976, 1968, 1966, 2019, - /* 550 */ 1985, 1981, 1988, 2029, 1997, 1982, 1995, 2035, 2002, 1987, - /* 560 */ 2003, 2040, 2041, 2045, 2046, 2047, 2049, 1948, 1971, 2018, - /* 570 */ 2043, 2063, 2031, 2032, 2033, 2034, 2038, 2039, 2042, 2026, - /* 580 */ 2036, 2044, 2051, 2054, 2061, 2075, 2056, 2082, 2066, 2048, - /* 590 */ 2089, 2076, 2067, 2103, 2069, 2105, 2071, 2107, 2079, 2088, - /* 600 */ 2074, 2078, 2080, 2006, 2008, 2116, 1946, 2016, 1950, 2086, - /* 610 */ 2109, 2129, 1975, 2111, 1986, 1989, 2134, 2135, 1990, 1991, - /* 620 */ 2133, 2093, 1875, 2037, 2057, 2062, 2091, 2065, 2094, 2068, - /* 630 */ 2060, 2099, 2100, 2072, 2070, 2077, 2081, 2073, 2104, 2098, - /* 640 */ 2122, 2083, 2106, 1977, 2090, 2092, 2168, 2131, 1992, 2143, - /* 650 */ 2146, 2147, 2148, 2150, 2153, 2096, 2097, 2140, 1993, 2151, - /* 660 */ 2145, 2190, 2197, 2198, 2202, 2102, 2164, 1951, 2157, 2108, - /* 670 */ 2117, 2118, 2120, 2121, 2055, 2123, 2207, 2171, 2064, 2126, - /* 680 */ 2130, 1951, 2201, 2176, 2144, 2000, 2156, 2245, 2227, 2030, - /* 690 */ 2158, 2149, 2159, 2155, 2160, 2161, 2204, 2165, 2166, 2217, - /* 700 */ 2163, 2232, 2050, 2167, 2174, 2181, 2236, 2237, 2172, 2185, - /* 710 */ 2243, 2187, 2189, 2256, 2193, 2203, 2262, 2206, 2212, 2269, - /* 720 */ 2208, 2213, 2275, 2215, 2199, 2209, 2210, 2214, 2219, 2279, - /* 730 */ 2223, 2293, 2234, 2279, 2279, 2316, 2272, 2274, 2309, 2317, - /* 740 */ 2319, 2321, 2322, 2323, 2324, 2325, 2287, 2268, 2331, 2341, - /* 750 */ 2342, 2343, 2344, 2345, 2346, 2347, 2304, 2026, 2349, 2036, - /* 760 */ 2350, 2351, 2352, 2353, 2367, 2355, 2391, 2357, 2356, 2359, - /* 770 */ 2394, 2361, 2358, 2360, 2400, 2369, 2362, 2363, 2406, 2373, - /* 780 */ 2365, 2370, 2410, 2377, 2381, 2417, 2396, 2398, 2399, 2401, - /* 790 */ 2404, 2402, + /* 170 */ 185, 31, 508, 282, 271, 281, 341, 341, 417, 1035, + /* 180 */ 785, 262, 1261, 1136, 739, 1192, 1042, 993, 1090, 1042, + /* 190 */ 1004, 950, 1205, 1257, 1470, 1500, 1325, 430, 1500, 430, + /* 200 */ 1349, 1503, 1528, 1503, 1382, 1535, 1535, 1503, 1382, 1382, + /* 210 */ 1475, 1472, 1535, 1484, 1535, 1535, 1535, 1567, 1541, 1567, + /* 220 */ 1541, 1500, 430, 1575, 430, 1580, 1582, 430, 1580, 430, + /* 230 */ 430, 430, 1535, 430, 1567, 141, 141, 141, 141, 141, + /* 240 */ 141, 141, 141, 141, 141, 141, 1535, 1567, 556, 556, + /* 250 */ 556, 1416, 1530, 1500, 458, 1438, 1442, 1575, 458, 1459, + /* 260 */ 1535, 1528, 1528, 556, 1400, 1422, 556, 1400, 1422, 556, + /* 270 */ 556, 141, 1423, 1519, 1400, 1426, 1428, 1450, 1257, 1418, + /* 280 */ 1431, 1437, 1461, 529, 1698, 1535, 1580, 458, 458, 1707, + /* 290 */ 1422, 556, 556, 556, 556, 556, 1422, 556, 1570, 458, + /* 300 */ 580, 458, 529, 1657, 1679, 556, 677, 1535, 458, 1750, + /* 310 */ 1567, 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2716, + /* 320 */ 1018, 425, 224, 306, 717, 1139, 1156, 257, 371, 455, + /* 330 */ 871, 718, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, + /* 340 */ 1176, 357, 1155, 118, 118, 714, 680, 187, 1050, 76, + /* 350 */ 716, 954, 1229, 822, 494, 494, 852, 844, 488, 852, + /* 360 */ 852, 852, 156, 1020, 1268, 237, 1098, 1181, 1340, 1251, + /* 370 */ 1264, 1275, 1282, 1296, 1307, 1365, 1393, 1397, 1038, 1323, + /* 380 */ 1324, 1297, 1354, 1356, 1360, 1266, 1012, 1209, 1254, 1364, + /* 390 */ 1368, 1370, 1378, 1385, 1387, 1408, 1389, 1189, 1398, 327, + /* 400 */ 1410, 1412, 1425, 1427, 1452, 1471, 1317, 1331, 1381, 1386, + /* 410 */ 1404, 1366, 1434, 1798, 1799, 1805, 1764, 1809, 1776, 1597, + /* 420 */ 1778, 1780, 1783, 1602, 1820, 1786, 1787, 1608, 1825, 1611, + /* 430 */ 1827, 1793, 1829, 1808, 1832, 1800, 1626, 1834, 1639, 1839, + /* 440 */ 1642, 1643, 1649, 1654, 1845, 1846, 1847, 1663, 1668, 1860, + /* 450 */ 1862, 1817, 1869, 1870, 1877, 1824, 1879, 1880, 1881, 1882, + /* 460 */ 1883, 1886, 1888, 1889, 1737, 1865, 1901, 1743, 1903, 1904, + /* 470 */ 1905, 1906, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1927, + /* 480 */ 1929, 1930, 1932, 1933, 1874, 1917, 1918, 1919, 1920, 1921, + /* 490 */ 1922, 1915, 1934, 1935, 1938, 1796, 1940, 1942, 1923, 1895, + /* 500 */ 1924, 1896, 1947, 1887, 1925, 1951, 1890, 1953, 1892, 1955, + /* 510 */ 1956, 1926, 1908, 1928, 1958, 1931, 1945, 1936, 1959, 1941, + /* 520 */ 1948, 1939, 1962, 1944, 1963, 1954, 1960, 1943, 1961, 1964, + /* 530 */ 1970, 1965, 1972, 1946, 1967, 1973, 1977, 1980, 1968, 1784, + /* 540 */ 1998, 2001, 2003, 1950, 2009, 2013, 1982, 1978, 1966, 2020, + /* 550 */ 1994, 1981, 1992, 2032, 1999, 1986, 1997, 2037, 2006, 1991, + /* 560 */ 2007, 2042, 2045, 2047, 2049, 2060, 2063, 1858, 1957, 2018, + /* 570 */ 2043, 2066, 2033, 2034, 2035, 2038, 2039, 2040, 2041, 2036, + /* 580 */ 2044, 2046, 2051, 2055, 2054, 2078, 2057, 2082, 2074, 2048, + /* 590 */ 2098, 2079, 2067, 2103, 2069, 2105, 2071, 2107, 2086, 2089, + /* 600 */ 2075, 2076, 2080, 2012, 2010, 2118, 1949, 2016, 1969, 2094, + /* 610 */ 2109, 2133, 1952, 2112, 1971, 1974, 2135, 2136, 1975, 1979, + /* 620 */ 2134, 2095, 1875, 2058, 2059, 2061, 2092, 2064, 2096, 2068, + /* 630 */ 2065, 2106, 2124, 2072, 2070, 2077, 2081, 2073, 2126, 2115, + /* 640 */ 2128, 2083, 2127, 1984, 2088, 2090, 2139, 2137, 1985, 2143, + /* 650 */ 2147, 2148, 2150, 2153, 2155, 2091, 2093, 2140, 1983, 2154, + /* 660 */ 2149, 2207, 2210, 2211, 2220, 2097, 2162, 1961, 2156, 2099, + /* 670 */ 2100, 2117, 2102, 2119, 2062, 2120, 2224, 2187, 2056, 2141, + /* 680 */ 2130, 1961, 2183, 2201, 2151, 2011, 2158, 2247, 2228, 2029, + /* 690 */ 2159, 2157, 2160, 2161, 2164, 2165, 2206, 2167, 2168, 2217, + /* 700 */ 2170, 2232, 2085, 2169, 2171, 2174, 2222, 2233, 2172, 2184, + /* 710 */ 2254, 2188, 2186, 2258, 2193, 2203, 2262, 2208, 2212, 2269, + /* 720 */ 2214, 2218, 2275, 2215, 2198, 2199, 2209, 2213, 2223, 2284, + /* 730 */ 2234, 2300, 2236, 2284, 2284, 2319, 2273, 2276, 2317, 2321, + /* 740 */ 2322, 2323, 2324, 2325, 2327, 2330, 2279, 2280, 2331, 2341, + /* 750 */ 2343, 2344, 2358, 2346, 2347, 2349, 2291, 2036, 2350, 2044, + /* 760 */ 2351, 2352, 2353, 2354, 2368, 2356, 2392, 2359, 2355, 2357, + /* 770 */ 2398, 2364, 2360, 2361, 2402, 2370, 2362, 2367, 2407, 2373, + /* 780 */ 2363, 2371, 2414, 2381, 2382, 2418, 2397, 2399, 2400, 2401, + /* 790 */ 2404, 2406, }; #define YY_REDUCE_COUNT (319) #define YY_REDUCE_MIN (-454) @@ -895,115 +895,115 @@ static const short yy_reduce_ofst[] = { /* 20 */ 499, 1240, 1302, 837, 1319, 1338, 1424, 1441, 1460, 1558, /* 30 */ 1591, 1624, 1660, 1693, 1722, 1782, 1801, 1849, 1868, 1916, /* 40 */ 1937, 2005, 2023, 2053, 2084, 2101, 2152, 2173, 2200, 2261, - /* 50 */ 2278, 301, 1227, -402, -167, -360, 252, 709, 803, 465, - /* 60 */ 674, -348, 886, 259, 819, -454, -374, -322, -8, -227, + /* 50 */ 2278, 301, 1227, -402, -167, -360, 252, 483, 505, 465, + /* 60 */ 674, -348, 803, 259, 886, -454, -374, -322, 205, -227, /* 70 */ -72, -249, -289, 61, -362, 332, -284, -238, -204, -41, - /* 80 */ 130, 169, 265, 272, 338, -214, 379, 394, 97, -5, - /* 90 */ 495, 622, 29, 672, 450, 767, -182, 809, -144, 119, - /* 100 */ 944, 1035, 481, 1043, 344, 563, 392, 1048, 78, -308, - /* 110 */ -442, -442, -358, -333, -321, -215, 204, 307, 498, 574, - /* 120 */ 584, 587, 588, 609, 642, 654, 703, 747, 779, 781, - /* 130 */ 782, 817, 840, -301, -70, -4, 346, 701, 705, 662, - /* 140 */ -70, 296, 335, 84, 197, 419, 722, 136, 164, 806, - /* 150 */ 850, -293, 774, -312, 854, 576, 861, 862, 879, 889, - /* 160 */ -364, 497, 502, 516, 650, 746, 761, 650, 528, 851, - /* 170 */ 948, 900, 884, 910, 1034, 949, 1075, 1087, 1061, 1061, - /* 180 */ 1113, 1082, 1136, 1141, 1103, 1096, 1040, 1040, 1033, 1040, - /* 190 */ 1065, 1058, 1061, 1094, 1101, 1112, 1114, 1174, 1116, 1177, - /* 200 */ 1134, 1151, 1150, 1154, 1160, 1211, 1212, 1166, 1176, 1178, - /* 210 */ 1213, 1217, 1232, 1222, 1234, 1235, 1236, 1245, 1243, 1249, - /* 220 */ 1247, 1179, 1237, 1204, 1241, 1250, 1193, 1251, 1256, 1252, - /* 230 */ 1253, 1255, 1259, 1257, 1260, 1246, 1248, 1261, 1262, 1265, - /* 240 */ 1272, 1275, 1276, 1278, 1279, 1282, 1270, 1280, 1224, 1231, - /* 250 */ 1238, 1205, 1215, 1216, 1281, 1219, 1239, 1269, 1306, 1264, - /* 260 */ 1317, 1268, 1284, 1291, 1225, 1288, 1299, 1226, 1290, 1308, - /* 270 */ 1310, 1061, 1228, 1271, 1254, 1263, 1285, 1283, 1287, 1233, - /* 280 */ 1242, 1267, 1040, 1365, 1293, 1374, 1373, 1369, 1375, 1339, - /* 290 */ 1336, 1357, 1367, 1368, 1371, 1376, 1354, 1377, 1358, 1407, - /* 300 */ 1402, 1422, 1427, 1333, 1401, 1394, 1419, 1436, 1432, 1447, - /* 310 */ 1450, 1381, 1378, 1388, 1390, 1423, 1431, 1433, 1442, 1451, + /* 80 */ 130, 169, 265, 272, 338, -214, 393, 475, 97, 201, + /* 90 */ 591, 622, 493, 672, 385, 767, -182, 809, 58, 344, + /* 100 */ 833, 845, 480, 848, 378, 856, 604, 906, 409, -308, + /* 110 */ -442, -442, -358, -333, -321, -215, 111, 307, 500, 534, + /* 120 */ 548, 587, 588, 609, 654, 747, 817, 840, 868, 902, + /* 130 */ 914, 951, 965, -301, 80, 87, 376, 473, 705, 722, + /* 140 */ 80, 197, 380, 122, 421, 678, 925, 164, 339, 633, + /* 150 */ 153, -293, -88, -312, -28, 226, 382, 735, 354, 828, + /* 160 */ -364, 407, 415, 502, 516, 590, 702, 516, 545, 751, + /* 170 */ 825, 774, 757, 727, 968, 782, 969, 1052, 1047, 1047, + /* 180 */ 1079, 1053, 1087, 1102, 1077, 1067, 1028, 1028, 1022, 1028, + /* 190 */ 1059, 1051, 1047, 1086, 1099, 1108, 1105, 1174, 1116, 1177, + /* 200 */ 1127, 1150, 1149, 1153, 1157, 1211, 1212, 1166, 1179, 1182, + /* 210 */ 1216, 1218, 1232, 1223, 1235, 1236, 1237, 1246, 1245, 1252, + /* 220 */ 1247, 1178, 1239, 1206, 1241, 1250, 1193, 1249, 1258, 1253, + /* 230 */ 1255, 1256, 1259, 1263, 1273, 1244, 1248, 1262, 1265, 1272, + /* 240 */ 1276, 1277, 1278, 1279, 1283, 1284, 1270, 1285, 1220, 1234, + /* 250 */ 1238, 1207, 1215, 1213, 1280, 1222, 1260, 1274, 1304, 1267, + /* 260 */ 1316, 1281, 1287, 1289, 1219, 1286, 1300, 1228, 1290, 1306, + /* 270 */ 1308, 1047, 1242, 1271, 1243, 1291, 1294, 1269, 1288, 1231, + /* 280 */ 1298, 1301, 1028, 1372, 1295, 1371, 1374, 1367, 1384, 1339, + /* 290 */ 1336, 1355, 1357, 1358, 1369, 1373, 1353, 1376, 1359, 1411, + /* 300 */ 1403, 1429, 1430, 1332, 1401, 1394, 1419, 1439, 1433, 1447, + /* 310 */ 1451, 1380, 1375, 1390, 1391, 1432, 1435, 1436, 1446, 1457, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 10 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 20 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 30 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 40 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 50 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 60 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 70 */ 1764, 1764, 1764, 1764, 2045, 1764, 1764, 1764, 1764, 1764, - /* 80 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1853, 1764, - /* 90 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 100 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1851, 2038, - /* 110 */ 2263, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 120 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 130 */ 1764, 1764, 1764, 1764, 2275, 1764, 1764, 1827, 1827, 1764, - /* 140 */ 2275, 2275, 2275, 1851, 2235, 2235, 1764, 1764, 1764, 1764, - /* 150 */ 1853, 2105, 1764, 1764, 1764, 1764, 1764, 1764, 1973, 1764, - /* 160 */ 1764, 1764, 1764, 1764, 1997, 1764, 1764, 1764, 2097, 1764, - /* 170 */ 1764, 2300, 2356, 1764, 1764, 2303, 1764, 1764, 1764, 1764, - /* 180 */ 1764, 2050, 1764, 1764, 1926, 2290, 2267, 2281, 2340, 2268, - /* 190 */ 2265, 2284, 1764, 2294, 1764, 1764, 2119, 1853, 1764, 1853, - /* 200 */ 2084, 2043, 1764, 2043, 2040, 1764, 1764, 2043, 2040, 2040, - /* 210 */ 1915, 1911, 1764, 1909, 1764, 1764, 1764, 1764, 1811, 1764, - /* 220 */ 1811, 1764, 1853, 1764, 1853, 1764, 1764, 1853, 1764, 1853, - /* 230 */ 1853, 1853, 1764, 1853, 1764, 1764, 1764, 1764, 1764, 1764, - /* 240 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 250 */ 1764, 2117, 2103, 1764, 1851, 2095, 2093, 1764, 1851, 2091, - /* 260 */ 1764, 1764, 1764, 1764, 2311, 2309, 1764, 2311, 2309, 1764, - /* 270 */ 1764, 1764, 2325, 2321, 2311, 2329, 2327, 2296, 2294, 2359, - /* 280 */ 2346, 2342, 2281, 1764, 1764, 1764, 1764, 1851, 1851, 1764, - /* 290 */ 2309, 1764, 1764, 1764, 1764, 1764, 2309, 1764, 1764, 1851, - /* 300 */ 1764, 1851, 1764, 1764, 1942, 1764, 1764, 1764, 1851, 1796, - /* 310 */ 1764, 2086, 2108, 2068, 2068, 1976, 1976, 1976, 1854, 1769, - /* 320 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 330 */ 1764, 1764, 2324, 2323, 2190, 1764, 2239, 2238, 2237, 2228, - /* 340 */ 2189, 1938, 1764, 2188, 2187, 1764, 1764, 1764, 1764, 1764, - /* 350 */ 1764, 1764, 1764, 1764, 2059, 2058, 2181, 1764, 1764, 2182, - /* 360 */ 2180, 2179, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 370 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 380 */ 1764, 1764, 1764, 1764, 1764, 1764, 2343, 2347, 1764, 1764, - /* 390 */ 1764, 1764, 1764, 1764, 1764, 2264, 1764, 1764, 1764, 2163, - /* 400 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 410 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 420 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 430 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 440 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 450 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 460 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 470 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 480 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 490 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 500 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 510 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 520 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1801, 2168, 1764, - /* 530 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 540 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 550 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 560 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 570 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1892, - /* 580 */ 1891, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 590 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 600 */ 1764, 1764, 1764, 2172, 1764, 1764, 1764, 1764, 1764, 1764, - /* 610 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 620 */ 2339, 2297, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 630 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 640 */ 2163, 1764, 2322, 1764, 1764, 2337, 1764, 2341, 1764, 1764, - /* 650 */ 1764, 1764, 1764, 1764, 1764, 2274, 2270, 1764, 1764, 2266, - /* 660 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 2171, 1764, 1764, - /* 670 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 680 */ 1764, 2162, 1764, 2225, 1764, 1764, 1764, 2259, 1764, 1764, - /* 690 */ 2210, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 700 */ 2172, 1764, 2175, 1764, 1764, 1764, 1764, 1764, 1970, 1764, - /* 710 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 720 */ 1764, 1764, 1764, 1764, 1954, 1952, 1951, 1950, 1764, 1983, - /* 730 */ 1764, 1764, 1764, 1979, 1978, 1764, 1764, 1764, 1764, 1764, - /* 740 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1872, 1764, - /* 750 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1864, 1764, 1863, - /* 760 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 770 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 780 */ 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - /* 790 */ 1764, 1764, + /* 0 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 10 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 20 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 30 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 40 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 50 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 60 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 70 */ 1766, 1766, 1766, 1766, 2047, 1766, 1766, 1766, 1766, 1766, + /* 80 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1855, 1766, + /* 90 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 100 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1853, 2040, + /* 110 */ 2265, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 120 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 130 */ 1766, 1766, 1766, 1766, 2277, 1766, 1766, 1829, 1829, 1766, + /* 140 */ 2277, 2277, 2277, 1853, 2237, 2237, 1766, 1766, 1766, 1766, + /* 150 */ 1855, 2107, 1766, 1766, 1766, 1766, 1766, 1766, 1975, 1766, + /* 160 */ 1766, 1766, 1766, 1766, 1999, 1766, 1766, 1766, 2099, 1766, + /* 170 */ 1766, 2302, 2359, 1766, 1766, 2305, 1766, 1766, 1766, 1766, + /* 180 */ 1766, 2052, 1766, 1766, 1928, 2292, 2269, 2283, 2343, 2270, + /* 190 */ 2267, 2286, 1766, 2296, 1766, 1766, 2121, 1855, 1766, 1855, + /* 200 */ 2086, 2045, 1766, 2045, 2042, 1766, 1766, 2045, 2042, 2042, + /* 210 */ 1917, 1913, 1766, 1911, 1766, 1766, 1766, 1766, 1813, 1766, + /* 220 */ 1813, 1766, 1855, 1766, 1855, 1766, 1766, 1855, 1766, 1855, + /* 230 */ 1855, 1855, 1766, 1855, 1766, 1766, 1766, 1766, 1766, 1766, + /* 240 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 250 */ 1766, 2119, 2105, 1766, 1853, 2097, 2095, 1766, 1853, 2093, + /* 260 */ 1766, 1766, 1766, 1766, 2313, 2311, 1766, 2313, 2311, 1766, + /* 270 */ 1766, 1766, 2327, 2323, 2313, 2332, 2329, 2298, 2296, 2362, + /* 280 */ 2349, 2345, 2283, 1766, 1766, 1766, 1766, 1853, 1853, 1766, + /* 290 */ 2311, 1766, 1766, 1766, 1766, 1766, 2311, 1766, 1766, 1853, + /* 300 */ 1766, 1853, 1766, 1766, 1944, 1766, 1766, 1766, 1853, 1798, + /* 310 */ 1766, 2088, 2110, 2070, 2070, 1978, 1978, 1978, 1856, 1771, + /* 320 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 330 */ 1766, 1766, 2326, 2325, 2192, 1766, 2241, 2240, 2239, 2230, + /* 340 */ 2191, 1940, 1766, 2190, 2189, 1766, 1766, 1766, 1766, 1766, + /* 350 */ 1766, 1766, 1766, 1766, 2061, 2060, 2183, 1766, 1766, 2184, + /* 360 */ 2182, 2181, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 370 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 380 */ 1766, 1766, 1766, 1766, 1766, 1766, 2346, 2350, 1766, 1766, + /* 390 */ 1766, 1766, 1766, 1766, 1766, 2266, 1766, 1766, 1766, 2165, + /* 400 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 410 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 420 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 430 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 440 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 450 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 460 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 470 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 480 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 490 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 500 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 510 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 520 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1803, 2170, 1766, + /* 530 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 540 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 550 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 560 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 570 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1894, + /* 580 */ 1893, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 590 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 600 */ 1766, 1766, 1766, 2174, 1766, 1766, 1766, 1766, 1766, 1766, + /* 610 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 620 */ 2342, 2299, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 630 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 640 */ 2165, 1766, 2324, 1766, 1766, 2340, 1766, 2344, 1766, 1766, + /* 650 */ 1766, 1766, 1766, 1766, 1766, 2276, 2272, 1766, 1766, 2268, + /* 660 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 2173, 1766, 1766, + /* 670 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 680 */ 1766, 2164, 1766, 2227, 1766, 1766, 1766, 2261, 1766, 1766, + /* 690 */ 2212, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 700 */ 2174, 1766, 2177, 1766, 1766, 1766, 1766, 1766, 1972, 1766, + /* 710 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 720 */ 1766, 1766, 1766, 1766, 1956, 1954, 1953, 1952, 1766, 1985, + /* 730 */ 1766, 1766, 1766, 1981, 1980, 1766, 1766, 1766, 1766, 1766, + /* 740 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1874, 1766, + /* 750 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1866, 1766, 1865, + /* 760 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 770 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 780 */ 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + /* 790 */ 1766, 1766, }; /********** End of lemon-generated parsing tables *****************************/ @@ -2501,39 +2501,40 @@ static const char *const yyRuleName[] = { /* 559 */ "having_clause_opt ::= HAVING search_condition", /* 560 */ "range_opt ::=", /* 561 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 562 */ "every_opt ::=", - /* 563 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 564 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 565 */ "query_simple ::= query_specification", - /* 566 */ "query_simple ::= union_query_expression", - /* 567 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 568 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 569 */ "query_simple_or_subquery ::= query_simple", - /* 570 */ "query_simple_or_subquery ::= subquery", - /* 571 */ "query_or_subquery ::= query_expression", - /* 572 */ "query_or_subquery ::= subquery", - /* 573 */ "order_by_clause_opt ::=", - /* 574 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 575 */ "slimit_clause_opt ::=", - /* 576 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 577 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 578 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 579 */ "limit_clause_opt ::=", - /* 580 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 581 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 582 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 583 */ "subquery ::= NK_LP query_expression NK_RP", - /* 584 */ "subquery ::= NK_LP subquery NK_RP", - /* 585 */ "search_condition ::= common_expression", - /* 586 */ "sort_specification_list ::= sort_specification", - /* 587 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 588 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 589 */ "ordering_specification_opt ::=", - /* 590 */ "ordering_specification_opt ::= ASC", - /* 591 */ "ordering_specification_opt ::= DESC", - /* 592 */ "null_ordering_opt ::=", - /* 593 */ "null_ordering_opt ::= NULLS FIRST", - /* 594 */ "null_ordering_opt ::= NULLS LAST", + /* 562 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", + /* 563 */ "every_opt ::=", + /* 564 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 565 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 566 */ "query_simple ::= query_specification", + /* 567 */ "query_simple ::= union_query_expression", + /* 568 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 569 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 570 */ "query_simple_or_subquery ::= query_simple", + /* 571 */ "query_simple_or_subquery ::= subquery", + /* 572 */ "query_or_subquery ::= query_expression", + /* 573 */ "query_or_subquery ::= subquery", + /* 574 */ "order_by_clause_opt ::=", + /* 575 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 576 */ "slimit_clause_opt ::=", + /* 577 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 578 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 579 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 580 */ "limit_clause_opt ::=", + /* 581 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 582 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 583 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 584 */ "subquery ::= NK_LP query_expression NK_RP", + /* 585 */ "subquery ::= NK_LP subquery NK_RP", + /* 586 */ "search_condition ::= common_expression", + /* 587 */ "sort_specification_list ::= sort_specification", + /* 588 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 589 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 590 */ "ordering_specification_opt ::=", + /* 591 */ "ordering_specification_opt ::= ASC", + /* 592 */ "ordering_specification_opt ::= DESC", + /* 593 */ "null_ordering_opt ::=", + /* 594 */ "null_ordering_opt ::= NULLS FIRST", + /* 595 */ "null_ordering_opt ::= NULLS LAST", }; #endif /* NDEBUG */ @@ -3716,39 +3717,40 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 468, /* (559) having_clause_opt ::= HAVING search_condition */ 463, /* (560) range_opt ::= */ 463, /* (561) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 464, /* (562) every_opt ::= */ - 464, /* (563) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 474, /* (564) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 475, /* (565) query_simple ::= query_specification */ - 475, /* (566) query_simple ::= union_query_expression */ - 479, /* (567) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 479, /* (568) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 480, /* (569) query_simple_or_subquery ::= query_simple */ - 480, /* (570) query_simple_or_subquery ::= subquery */ - 409, /* (571) query_or_subquery ::= query_expression */ - 409, /* (572) query_or_subquery ::= subquery */ - 476, /* (573) order_by_clause_opt ::= */ - 476, /* (574) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 477, /* (575) slimit_clause_opt ::= */ - 477, /* (576) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 477, /* (577) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 477, /* (578) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 478, /* (579) limit_clause_opt ::= */ - 478, /* (580) limit_clause_opt ::= LIMIT NK_INTEGER */ - 478, /* (581) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 478, /* (582) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 456, /* (583) subquery ::= NK_LP query_expression NK_RP */ - 456, /* (584) subquery ::= NK_LP subquery NK_RP */ - 352, /* (585) search_condition ::= common_expression */ - 481, /* (586) sort_specification_list ::= sort_specification */ - 481, /* (587) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 482, /* (588) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 483, /* (589) ordering_specification_opt ::= */ - 483, /* (590) ordering_specification_opt ::= ASC */ - 483, /* (591) ordering_specification_opt ::= DESC */ - 484, /* (592) null_ordering_opt ::= */ - 484, /* (593) null_ordering_opt ::= NULLS FIRST */ - 484, /* (594) null_ordering_opt ::= NULLS LAST */ + 463, /* (562) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 464, /* (563) every_opt ::= */ + 464, /* (564) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 474, /* (565) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 475, /* (566) query_simple ::= query_specification */ + 475, /* (567) query_simple ::= union_query_expression */ + 479, /* (568) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 479, /* (569) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 480, /* (570) query_simple_or_subquery ::= query_simple */ + 480, /* (571) query_simple_or_subquery ::= subquery */ + 409, /* (572) query_or_subquery ::= query_expression */ + 409, /* (573) query_or_subquery ::= subquery */ + 476, /* (574) order_by_clause_opt ::= */ + 476, /* (575) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 477, /* (576) slimit_clause_opt ::= */ + 477, /* (577) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 477, /* (578) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 477, /* (579) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 478, /* (580) limit_clause_opt ::= */ + 478, /* (581) limit_clause_opt ::= LIMIT NK_INTEGER */ + 478, /* (582) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 478, /* (583) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 456, /* (584) subquery ::= NK_LP query_expression NK_RP */ + 456, /* (585) subquery ::= NK_LP subquery NK_RP */ + 352, /* (586) search_condition ::= common_expression */ + 481, /* (587) sort_specification_list ::= sort_specification */ + 481, /* (588) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 482, /* (589) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 483, /* (590) ordering_specification_opt ::= */ + 483, /* (591) ordering_specification_opt ::= ASC */ + 483, /* (592) ordering_specification_opt ::= DESC */ + 484, /* (593) null_ordering_opt ::= */ + 484, /* (594) null_ordering_opt ::= NULLS FIRST */ + 484, /* (595) null_ordering_opt ::= NULLS LAST */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -4316,39 +4318,40 @@ static const signed char yyRuleInfoNRhs[] = { -2, /* (559) having_clause_opt ::= HAVING search_condition */ 0, /* (560) range_opt ::= */ -6, /* (561) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 0, /* (562) every_opt ::= */ - -4, /* (563) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - -4, /* (564) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - -1, /* (565) query_simple ::= query_specification */ - -1, /* (566) query_simple ::= union_query_expression */ - -4, /* (567) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - -3, /* (568) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - -1, /* (569) query_simple_or_subquery ::= query_simple */ - -1, /* (570) query_simple_or_subquery ::= subquery */ - -1, /* (571) query_or_subquery ::= query_expression */ - -1, /* (572) query_or_subquery ::= subquery */ - 0, /* (573) order_by_clause_opt ::= */ - -3, /* (574) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 0, /* (575) slimit_clause_opt ::= */ - -2, /* (576) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - -4, /* (577) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - -4, /* (578) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 0, /* (579) limit_clause_opt ::= */ - -2, /* (580) limit_clause_opt ::= LIMIT NK_INTEGER */ - -4, /* (581) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - -4, /* (582) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - -3, /* (583) subquery ::= NK_LP query_expression NK_RP */ - -3, /* (584) subquery ::= NK_LP subquery NK_RP */ - -1, /* (585) search_condition ::= common_expression */ - -1, /* (586) sort_specification_list ::= sort_specification */ - -3, /* (587) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - -3, /* (588) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 0, /* (589) ordering_specification_opt ::= */ - -1, /* (590) ordering_specification_opt ::= ASC */ - -1, /* (591) ordering_specification_opt ::= DESC */ - 0, /* (592) null_ordering_opt ::= */ - -2, /* (593) null_ordering_opt ::= NULLS FIRST */ - -2, /* (594) null_ordering_opt ::= NULLS LAST */ + -4, /* (562) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 0, /* (563) every_opt ::= */ + -4, /* (564) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + -4, /* (565) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + -1, /* (566) query_simple ::= query_specification */ + -1, /* (567) query_simple ::= union_query_expression */ + -4, /* (568) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + -3, /* (569) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + -1, /* (570) query_simple_or_subquery ::= query_simple */ + -1, /* (571) query_simple_or_subquery ::= subquery */ + -1, /* (572) query_or_subquery ::= query_expression */ + -1, /* (573) query_or_subquery ::= subquery */ + 0, /* (574) order_by_clause_opt ::= */ + -3, /* (575) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 0, /* (576) slimit_clause_opt ::= */ + -2, /* (577) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + -4, /* (578) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + -4, /* (579) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 0, /* (580) limit_clause_opt ::= */ + -2, /* (581) limit_clause_opt ::= LIMIT NK_INTEGER */ + -4, /* (582) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + -4, /* (583) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + -3, /* (584) subquery ::= NK_LP query_expression NK_RP */ + -3, /* (585) subquery ::= NK_LP subquery NK_RP */ + -1, /* (586) search_condition ::= common_expression */ + -1, /* (587) sort_specification_list ::= sort_specification */ + -3, /* (588) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + -3, /* (589) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 0, /* (590) ordering_specification_opt ::= */ + -1, /* (591) ordering_specification_opt ::= ASC */ + -1, /* (592) ordering_specification_opt ::= DESC */ + 0, /* (593) null_ordering_opt ::= */ + -2, /* (594) null_ordering_opt ::= NULLS FIRST */ + -2, /* (595) null_ordering_opt ::= NULLS LAST */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -4564,9 +4567,9 @@ static YYACTIONTYPE yy_reduce( case 544: /* fill_opt ::= */ yytestcase(yyruleno==544); case 558: /* having_clause_opt ::= */ yytestcase(yyruleno==558); case 560: /* range_opt ::= */ yytestcase(yyruleno==560); - case 562: /* every_opt ::= */ yytestcase(yyruleno==562); - case 575: /* slimit_clause_opt ::= */ yytestcase(yyruleno==575); - case 579: /* limit_clause_opt ::= */ yytestcase(yyruleno==579); + case 563: /* every_opt ::= */ yytestcase(yyruleno==563); + case 576: /* slimit_clause_opt ::= */ yytestcase(yyruleno==576); + case 580: /* limit_clause_opt ::= */ yytestcase(yyruleno==580); { yymsp[1].minor.yy242 = NULL; } break; case 45: /* with_opt ::= WITH search_condition */ @@ -4941,7 +4944,7 @@ static YYACTIONTYPE yy_reduce( case 465: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==465); case 520: /* select_list ::= select_item */ yytestcase(yyruleno==520); case 531: /* partition_list ::= partition_item */ yytestcase(yyruleno==531); - case 586: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==586); + case 587: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==587); { yylhsminor.yy174 = createNodeList(pCxt, yymsp[0].minor.yy242); } yymsp[0].minor.yy174 = yylhsminor.yy174; break; @@ -4956,7 +4959,7 @@ static YYACTIONTYPE yy_reduce( case 460: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==460); case 521: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==521); case 532: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==532); - case 587: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==587); + case 588: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==588); { yylhsminor.yy174 = addNodeToList(pCxt, yymsp[-2].minor.yy174, yymsp[0].minor.yy242); } yymsp[-2].minor.yy174 = yylhsminor.yy174; break; @@ -5065,7 +5068,7 @@ static YYACTIONTYPE yy_reduce( case 338: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==338); case 529: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==529); case 554: /* group_by_clause_opt ::= */ yytestcase(yyruleno==554); - case 573: /* order_by_clause_opt ::= */ yytestcase(yyruleno==573); + case 574: /* order_by_clause_opt ::= */ yytestcase(yyruleno==574); { yymsp[1].minor.yy174 = NULL; } break; case 176: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ @@ -5526,7 +5529,7 @@ static YYACTIONTYPE yy_reduce( break; case 351: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ case 543: /* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ yytestcase(yyruleno==543); - case 563: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==563); + case 564: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==564); { yymsp[-3].minor.yy242 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy242); } break; case 354: /* cmd ::= KILL CONNECTION NK_INTEGER */ @@ -5602,10 +5605,10 @@ static YYACTIONTYPE yy_reduce( case 502: /* table_reference ::= table_primary */ yytestcase(yyruleno==502); case 503: /* table_reference ::= joined_table */ yytestcase(yyruleno==503); case 507: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==507); - case 565: /* query_simple ::= query_specification */ yytestcase(yyruleno==565); - case 566: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==566); - case 569: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==569); - case 571: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==571); + case 566: /* query_simple ::= query_specification */ yytestcase(yyruleno==566); + case 567: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==567); + case 570: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==570); + case 572: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==572); { yylhsminor.yy242 = yymsp[0].minor.yy242; } yymsp[0].minor.yy242 = yylhsminor.yy242; break; @@ -5667,9 +5670,9 @@ static YYACTIONTYPE yy_reduce( case 461: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==461); case 523: /* select_item ::= common_expression */ yytestcase(yyruleno==523); case 533: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==533); - case 570: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==570); - case 572: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==572); - case 585: /* search_condition ::= common_expression */ yytestcase(yyruleno==585); + case 571: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==571); + case 573: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==573); + case 586: /* search_condition ::= common_expression */ yytestcase(yyruleno==586); { yylhsminor.yy242 = releaseRawExprNode(pCxt, yymsp[0].minor.yy242); } yymsp[0].minor.yy242 = yylhsminor.yy242; break; @@ -5683,7 +5686,7 @@ static YYACTIONTYPE yy_reduce( break; case 411: /* expression ::= NK_LP expression NK_RP */ case 495: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==495); - case 584: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==584); + case 585: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==585); { yylhsminor.yy242 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy242)); } yymsp[-2].minor.yy242 = yylhsminor.yy242; break; @@ -6000,7 +6003,7 @@ static YYACTIONTYPE yy_reduce( break; case 530: /* partition_by_clause_opt ::= PARTITION BY partition_list */ case 555: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==555); - case 574: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==574); + case 575: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==575); { yymsp[-2].minor.yy174 = yymsp[0].minor.yy174; } break; case 537: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ @@ -6056,7 +6059,10 @@ static YYACTIONTYPE yy_reduce( case 561: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ { yymsp[-5].minor.yy242 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy242), releaseRawExprNode(pCxt, yymsp[-1].minor.yy242)); } break; - case 564: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 562: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ +{ yymsp[-3].minor.yy242 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy242)); } + break; + case 565: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ { yylhsminor.yy242 = addOrderByClause(pCxt, yymsp[-3].minor.yy242, yymsp[-2].minor.yy174); yylhsminor.yy242 = addSlimitClause(pCxt, yylhsminor.yy242, yymsp[-1].minor.yy242); @@ -6064,50 +6070,50 @@ static YYACTIONTYPE yy_reduce( } yymsp[-3].minor.yy242 = yylhsminor.yy242; break; - case 567: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + case 568: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ { yylhsminor.yy242 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy242, yymsp[0].minor.yy242); } yymsp[-3].minor.yy242 = yylhsminor.yy242; break; - case 568: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + case 569: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ { yylhsminor.yy242 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy242, yymsp[0].minor.yy242); } yymsp[-2].minor.yy242 = yylhsminor.yy242; break; - case 576: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ - case 580: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==580); + case 577: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ + case 581: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==581); { yymsp[-1].minor.yy242 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 577: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 581: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==581); + case 578: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 582: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==582); { yymsp[-3].minor.yy242 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 578: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 582: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==582); + case 579: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 583: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==583); { yymsp[-3].minor.yy242 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } break; - case 583: /* subquery ::= NK_LP query_expression NK_RP */ + case 584: /* subquery ::= NK_LP query_expression NK_RP */ { yylhsminor.yy242 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy242); } yymsp[-2].minor.yy242 = yylhsminor.yy242; break; - case 588: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + case 589: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ { yylhsminor.yy242 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy242), yymsp[-1].minor.yy48, yymsp[0].minor.yy687); } yymsp[-2].minor.yy242 = yylhsminor.yy242; break; - case 589: /* ordering_specification_opt ::= */ + case 590: /* ordering_specification_opt ::= */ { yymsp[1].minor.yy48 = ORDER_ASC; } break; - case 590: /* ordering_specification_opt ::= ASC */ + case 591: /* ordering_specification_opt ::= ASC */ { yymsp[0].minor.yy48 = ORDER_ASC; } break; - case 591: /* ordering_specification_opt ::= DESC */ + case 592: /* ordering_specification_opt ::= DESC */ { yymsp[0].minor.yy48 = ORDER_DESC; } break; - case 592: /* null_ordering_opt ::= */ + case 593: /* null_ordering_opt ::= */ { yymsp[1].minor.yy687 = NULL_ORDER_DEFAULT; } break; - case 593: /* null_ordering_opt ::= NULLS FIRST */ + case 594: /* null_ordering_opt ::= NULLS FIRST */ { yymsp[-1].minor.yy687 = NULL_ORDER_FIRST; } break; - case 594: /* null_ordering_opt ::= NULLS LAST */ + case 595: /* null_ordering_opt ::= NULLS LAST */ { yymsp[-1].minor.yy687 = NULL_ORDER_LAST; } break; default: