/* %% [3.0] code to copy yytext_ptr to d2_parser_text[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 51
-#define YY_END_OF_BUFFER 52
+#define YY_NUM_RULES 54
+#define YY_END_OF_BUFFER 55
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[278] =
+static const flex_int16_t yy_accept[304] =
{ 0,
- 44, 44, 0, 0, 0, 0, 0, 0, 0, 0,
- 52, 50, 10, 11, 50, 1, 44, 41, 44, 44,
- 50, 43, 42, 50, 50, 50, 50, 50, 37, 38,
- 50, 50, 50, 39, 40, 5, 5, 5, 50, 50,
- 50, 10, 11, 0, 0, 33, 0, 0, 0, 0,
+ 47, 47, 0, 0, 0, 0, 0, 0, 0, 0,
+ 55, 53, 10, 11, 53, 1, 47, 44, 47, 47,
+ 53, 46, 45, 53, 53, 53, 53, 53, 40, 41,
+ 53, 53, 53, 42, 43, 5, 5, 5, 53, 53,
+ 53, 10, 11, 0, 0, 36, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 44, 44, 0, 43, 44, 3, 2,
- 6, 0, 44, 0, 0, 0, 0, 0, 0, 4,
- 0, 0, 9, 0, 34, 0, 0, 0, 0, 0,
- 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 8, 0, 0, 0, 0, 0,
- 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 49, 47, 0,
- 46, 45, 0, 0, 0, 0, 0, 19, 18, 0,
+ 0, 0, 0, 1, 47, 47, 0, 46, 47, 3,
+ 2, 6, 0, 47, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 9, 0, 37, 0, 0, 0, 0,
+ 0, 0, 0, 39, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 8, 0, 0,
+ 0, 0, 0, 0, 0, 38, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 48, 45, 0, 0, 0, 0, 0, 20,
- 0, 0, 0, 0, 0, 0, 0, 28, 0, 0,
- 0, 14, 0, 0, 0, 0, 0, 31, 32, 0,
+ 0, 0, 0, 52, 50, 0, 49, 48, 0, 0,
+ 0, 0, 0, 19, 18, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 27, 0, 0, 0, 0, 0, 24, 0,
+ 0, 51, 48, 0, 0, 0, 0, 0, 20, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 14, 0, 0, 0, 0, 0, 0, 34,
+
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
+ 0, 0, 26, 0, 0, 0, 27, 0, 0, 0,
+ 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 33, 0, 24, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 23, 32, 0, 0, 0, 13, 17,
0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 0, 0, 0, 30,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
- 29, 0, 0, 13, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 21, 16, 0, 22, 0, 0,
- 0, 26, 0, 0, 0, 15, 0
+ 21, 16, 0, 22, 0, 0, 0, 29, 0, 0,
+
+ 0, 15, 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3, 3
} ;
-static const flex_int16_t yy_base[290] =
+static const flex_int16_t yy_base[316] =
{ 0,
0, 0, 63, 66, 69, 0, 67, 71, 52, 68,
- 288, 1784, 87, 281, 133, 0, 96, 1784, 129, 133,
- 84, 150, 1784, 234, 109, 69, 67, 72, 1784, 1784,
- 110, 71, 97, 1784, 1784, 1784, 97, 225, 179, 0,
- 209, 167, 220, 146, 194, 1784, 200, 206, 212, 218,
- 224, 227, 250, 256, 268, 275, 294, 305, 312, 318,
- 324, 337, 0, 331, 338, 356, 371, 374, 1784, 0,
- 1784, 220, 230, 123, 128, 145, 165, 171, 170, 1784,
- 168, 179, 1784, 205, 1784, 363, 400, 408, 422, 429,
- 438, 166, 445, 480, 451, 470, 477, 507, 528, 534,
-
- 540, 546, 552, 558, 566, 579, 0, 232, 222, 173,
- 242, 251, 257, 112, 1784, 0, 591, 604, 618, 611,
- 628, 153, 1784, 652, 648, 634, 678, 685, 697, 703,
- 715, 726, 735, 743, 752, 758, 265, 1784, 1784, 273,
- 1784, 1784, 96, 0, 768, 776, 796, 1784, 1784, 831,
- 805, 813, 821, 861, 876, 828, 882, 888, 894, 904,
- 915, 927, 1784, 1784, 103, 0, 933, 942, 948, 1784,
- 955, 995, 975, 987, 966, 1026, 993, 1784, 1040, 1049,
- 1055, 1784, 1064, 1070, 1077, 98, 0, 1784, 1784, 1087,
- 1096, 1109, 1128, 1135, 1142, 1148, 1154, 1160, 1167, 1174,
-
- 1180, 1186, 1784, 1206, 1218, 1225, 1231, 1238, 1244, 1250,
- 1258, 1264, 1784, 1270, 1291, 1276, 1297, 1303, 1784, 1313,
- 1324, 1330, 1340, 1784, 1346, 1352, 1363, 1373, 1389, 1401,
- 1784, 1411, 1418, 1426, 1433, 1439, 1450, 1458, 1465, 1784,
- 1476, 1482, 1498, 1504, 1519, 1525, 1531, 1541, 1547, 1784,
- 1784, 1557, 1564, 1784, 1784, 1571, 1580, 1589, 1596, 1603,
- 1610, 1617, 1626, 1635, 1784, 1784, 1647, 1784, 1654, 1663,
- 1672, 1784, 1679, 1687, 1693, 1784, 1784, 1745, 1750, 1755,
- 1760, 1765, 1770, 1775, 1778, 133, 132, 91, 88
+ 311, 1963, 87, 307, 133, 0, 96, 1963, 130, 133,
+ 84, 150, 1963, 288, 109, 69, 67, 72, 1963, 1963,
+ 110, 71, 97, 1963, 1963, 1963, 97, 283, 242, 0,
+ 273, 139, 281, 132, 194, 1963, 200, 206, 212, 218,
+ 224, 227, 250, 256, 268, 275, 288, 296, 312, 318,
+ 325, 338, 344, 0, 343, 349, 369, 380, 374, 1963,
+ 0, 1963, 220, 230, 128, 165, 124, 171, 177, 145,
+ 1963, 233, 248, 1963, 148, 1963, 385, 405, 426, 411,
+ 433, 448, 232, 459, 490, 471, 481, 491, 518, 537,
+
+ 465, 543, 550, 557, 563, 570, 580, 595, 602, 0,
+ 246, 214, 127, 249, 222, 173, 181, 1963, 0, 608,
+ 617, 627, 641, 650, 217, 1963, 674, 656, 665, 702,
+ 674, 719, 725, 731, 739, 747, 758, 768, 784, 790,
+ 796, 805, 185, 1963, 1963, 263, 1963, 1963, 152, 0,
+ 828, 813, 835, 1963, 1963, 870, 852, 860, 867, 897,
+ 915, 924, 934, 940, 947, 956, 962, 973, 979, 985,
+ 994, 1963, 1963, 129, 0, 1005, 1011, 1018, 1963, 1031,
+ 1071, 1043, 1037, 1061, 1098, 1069, 1120, 1127, 1963, 1135,
+ 1142, 1148, 1963, 1159, 1165, 1172, 1185, 119, 0, 1963,
+
+ 1963, 1191, 1202, 1209, 1224, 1239, 1250, 1256, 1263, 1271,
+ 1277, 1283, 1295, 1301, 1289, 1309, 1315, 1963, 1321, 1338,
+ 1347, 1354, 1360, 1367, 1379, 1386, 1397, 1404, 1416, 1963,
+ 1423, 1434, 1963, 1441, 1448, 1456, 1963, 1462, 1478, 1486,
+ 1494, 1503, 1510, 1963, 1518, 1524, 1542, 1548, 1562, 1568,
+ 1963, 1574, 1580, 1586, 1592, 1600, 1612, 1618, 1633, 1644,
+ 1650, 1963, 1657, 1963, 1671, 1677, 1689, 1683, 1695, 1703,
+ 1709, 1716, 1722, 1963, 1963, 1736, 1742, 1748, 1963, 1963,
+ 1755, 1764, 1775, 1963, 1785, 1792, 1801, 1807, 1813, 1822,
+ 1963, 1963, 1833, 1963, 1839, 1845, 1851, 1963, 1860, 1866,
+
+ 1878, 1963, 1963, 1924, 1929, 1934, 1939, 1944, 1949, 1954,
+ 1957, 146, 132, 91, 88
} ;
-static const flex_int16_t yy_def[290] =
+static const flex_int16_t yy_def[316] =
{ 0,
- 277, 1, 278, 278, 1, 5, 5, 5, 5, 5,
- 277, 277, 277, 277, 279, 280, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 281,
- 277, 277, 277, 282, 279, 277, 279, 279, 279, 279,
- 279, 283, 279, 279, 279, 279, 279, 279, 279, 279,
- 279, 279, 280, 277, 277, 277, 277, 277, 277, 284,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 281, 277, 282, 277, 277, 279, 279, 279, 279,
- 279, 285, 279, 283, 279, 279, 279, 279, 279, 279,
-
- 279, 279, 279, 279, 279, 279, 284, 277, 277, 277,
- 277, 277, 277, 277, 277, 286, 279, 279, 279, 279,
- 279, 285, 277, 283, 279, 279, 279, 279, 279, 279,
- 279, 279, 279, 279, 279, 279, 277, 277, 277, 277,
- 277, 277, 277, 287, 279, 279, 279, 277, 277, 283,
- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
- 279, 279, 277, 277, 277, 288, 279, 279, 279, 277,
- 279, 283, 279, 279, 279, 279, 279, 277, 279, 279,
- 279, 277, 279, 279, 279, 277, 289, 277, 277, 279,
- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
-
- 279, 279, 277, 279, 279, 279, 279, 279, 279, 279,
- 279, 279, 277, 279, 279, 279, 279, 279, 277, 279,
- 279, 279, 279, 277, 279, 279, 279, 279, 279, 279,
- 277, 279, 279, 279, 279, 279, 279, 279, 279, 277,
- 279, 279, 279, 279, 279, 279, 279, 279, 279, 277,
- 277, 279, 279, 277, 277, 279, 279, 279, 279, 279,
- 279, 279, 279, 279, 277, 277, 279, 277, 279, 279,
- 279, 277, 279, 279, 279, 277, 0, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277
+ 303, 1, 304, 304, 1, 5, 5, 5, 5, 5,
+ 303, 303, 303, 303, 305, 306, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 307,
+ 303, 303, 303, 308, 305, 303, 305, 305, 305, 305,
+ 305, 309, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 306, 303, 303, 303, 303, 303, 303,
+ 310, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 307, 303, 308, 303, 303, 305, 305, 305,
+ 305, 305, 311, 305, 309, 305, 305, 305, 305, 305,
+
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 310,
+ 303, 303, 303, 303, 303, 303, 303, 303, 312, 305,
+ 305, 305, 305, 305, 311, 303, 309, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 303, 303, 303, 303, 303, 303, 303, 313,
+ 305, 305, 305, 303, 303, 309, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 303, 303, 303, 314, 305, 305, 305, 303, 305,
+ 309, 305, 305, 305, 305, 305, 305, 305, 303, 305,
+ 305, 305, 303, 305, 305, 305, 305, 303, 315, 303,
+
+ 303, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 303, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 303,
+ 305, 305, 303, 305, 305, 305, 303, 305, 305, 305,
+ 305, 305, 305, 303, 305, 305, 305, 305, 305, 305,
+ 303, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 303, 305, 303, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 303, 303, 305, 305, 305, 303, 303,
+ 305, 305, 305, 303, 305, 305, 305, 305, 305, 305,
+ 303, 303, 305, 303, 305, 305, 305, 303, 305, 305,
+
+ 305, 303, 0, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303
} ;
-static const flex_int16_t yy_nxt[1849] =
+static const flex_int16_t yy_nxt[2028] =
{ 0,
12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
19, 20, 21, 22, 22, 22, 23, 24, 12, 12,
12, 12, 32, 12, 12, 12, 12, 33, 12, 12,
12, 12, 34, 35, 37, 14, 37, 37, 14, 37,
38, 41, 40, 38, 12, 12, 40, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 41, 42, 74,
- 42, 69, 84, 12, 12, 187, 70, 12, 42, 12,
-
- 42, 75, 12, 76, 12, 75, 12, 64, 74, 65,
- 65, 65, 12, 12, 12, 12, 39, 72, 12, 72,
- 66, 12, 73, 73, 73, 75, 12, 76, 76, 78,
- 74, 12, 12, 44, 44, 44, 166, 144, 46, 66,
- 64, 203, 67, 67, 67, 186, 68, 68, 68, 77,
- 108, 85, 79, 66, 165, 109, 47, 66, 123, 48,
- 49, 64, 143, 67, 67, 67, 50, 51, 42, 52,
- 42, 123, 66, 108, 66, 53, 66, 54, 109, 110,
- 55, 48, 86, 56, 115, 57, 58, 59, 60, 61,
- 62, 51, 108, 66, 44, 44, 44, 139, 109, 46,
-
- 44, 44, 44, 110, 110, 46, 44, 44, 44, 114,
- 85, 46, 44, 44, 44, 111, 139, 46, 44, 44,
- 44, 112, 43, 46, 44, 44, 44, 83, 113, 46,
- 52, 81, 93, 73, 73, 73, 52, 80, 88, 45,
- 90, 86, 52, 73, 73, 73, 87, 91, 52, 138,
- 44, 44, 44, 71, 52, 46, 44, 44, 44, 90,
- 52, 46, 88, 45, 137, 89, 91, 45, 44, 44,
- 44, 45, 138, 46, 137, 44, 44, 44, 138, 45,
- 46, 139, 45, 43, 45, 94, 52, 277, 137, 163,
- 277, 277, 52, 95, 44, 44, 44, 163, 140, 46,
-
- 142, 141, 96, 277, 52, 44, 44, 44, 163, 97,
- 46, 52, 44, 44, 44, 277, 164, 46, 44, 44,
- 44, 277, 98, 46, 44, 44, 44, 277, 99, 46,
- 52, 277, 277, 100, 277, 101, 277, 44, 44, 44,
- 277, 52, 46, 277, 68, 68, 68, 277, 52, 64,
- 277, 65, 65, 65, 52, 66, 277, 277, 277, 90,
- 52, 104, 66, 102, 72, 103, 72, 105, 84, 73,
- 73, 73, 277, 52, 66, 84, 277, 277, 90, 277,
- 277, 66, 64, 277, 67, 67, 67, 68, 68, 68,
- 277, 277, 277, 106, 277, 66, 277, 277, 66, 84,
-
- 44, 44, 44, 84, 277, 46, 277, 84, 44, 44,
- 44, 277, 277, 46, 66, 84, 277, 66, 84, 277,
- 84, 116, 44, 44, 44, 277, 277, 46, 277, 44,
- 44, 44, 277, 277, 46, 277, 52, 118, 44, 44,
- 44, 117, 277, 46, 52, 44, 44, 44, 277, 277,
- 46, 44, 44, 44, 277, 277, 46, 277, 52, 120,
- 277, 118, 277, 277, 277, 52, 277, 119, 121, 277,
- 44, 44, 44, 277, 52, 46, 277, 44, 44, 44,
- 277, 52, 46, 120, 277, 277, 277, 52, 277, 277,
- 277, 125, 121, 124, 124, 124, 277, 277, 277, 277,
-
- 124, 124, 124, 124, 124, 124, 52, 44, 44, 44,
- 277, 277, 46, 52, 277, 277, 277, 128, 277, 124,
- 124, 124, 124, 124, 124, 277, 126, 277, 44, 44,
- 44, 277, 127, 46, 44, 44, 44, 277, 277, 46,
- 44, 44, 44, 52, 277, 46, 44, 44, 44, 277,
- 277, 46, 44, 44, 44, 277, 277, 46, 44, 44,
- 44, 277, 277, 46, 52, 277, 44, 44, 44, 277,
- 52, 46, 277, 129, 277, 277, 52, 277, 277, 44,
- 44, 44, 52, 277, 46, 130, 277, 277, 52, 277,
- 277, 44, 44, 44, 52, 131, 46, 277, 277, 277,
-
- 277, 277, 52, 132, 44, 44, 44, 133, 277, 46,
- 277, 44, 44, 44, 277, 52, 148, 134, 44, 44,
- 44, 277, 277, 46, 277, 135, 136, 52, 44, 44,
- 44, 277, 146, 149, 44, 44, 44, 277, 277, 46,
- 52, 277, 277, 277, 152, 145, 277, 52, 44, 44,
- 44, 277, 277, 46, 52, 277, 146, 277, 277, 277,
- 277, 277, 277, 147, 52, 150, 150, 150, 277, 277,
- 52, 277, 150, 150, 150, 150, 150, 150, 44, 44,
- 44, 277, 277, 46, 52, 44, 44, 44, 277, 277,
- 46, 150, 150, 150, 150, 150, 150, 44, 44, 44,
-
- 277, 277, 46, 44, 44, 44, 151, 277, 46, 277,
- 277, 277, 277, 277, 52, 44, 44, 44, 277, 277,
- 46, 52, 277, 277, 154, 157, 44, 44, 44, 277,
- 277, 46, 277, 52, 277, 44, 44, 44, 153, 52,
- 46, 277, 155, 44, 44, 44, 156, 277, 46, 277,
- 277, 52, 44, 44, 44, 277, 277, 46, 44, 44,
- 44, 277, 52, 46, 277, 277, 277, 277, 44, 44,
- 44, 52, 277, 46, 277, 277, 44, 44, 44, 52,
- 158, 170, 167, 168, 277, 277, 160, 277, 52, 277,
- 277, 169, 159, 277, 52, 161, 44, 44, 44, 277,
-
- 277, 46, 277, 162, 52, 44, 44, 44, 277, 277,
- 46, 277, 52, 44, 44, 44, 277, 277, 46, 277,
- 277, 44, 44, 44, 277, 277, 46, 277, 44, 44,
- 44, 277, 52, 178, 277, 277, 277, 277, 277, 277,
- 277, 52, 277, 171, 172, 172, 172, 277, 277, 52,
- 173, 172, 172, 172, 172, 172, 172, 52, 277, 277,
- 175, 44, 44, 44, 52, 277, 46, 277, 277, 174,
- 172, 172, 172, 172, 172, 172, 44, 44, 44, 277,
- 277, 46, 44, 44, 44, 277, 277, 46, 44, 44,
- 44, 277, 277, 46, 44, 44, 44, 52, 277, 182,
-
- 277, 277, 277, 176, 44, 44, 44, 277, 277, 46,
- 277, 277, 52, 277, 277, 44, 44, 44, 52, 177,
- 46, 277, 277, 277, 52, 277, 179, 44, 44, 44,
- 52, 277, 46, 44, 44, 44, 180, 185, 188, 277,
- 52, 277, 44, 44, 44, 277, 181, 189, 44, 44,
- 44, 52, 277, 46, 277, 44, 44, 44, 277, 183,
- 46, 277, 277, 52, 277, 277, 44, 44, 44, 52,
- 184, 46, 277, 277, 277, 44, 44, 44, 52, 277,
- 46, 277, 277, 277, 52, 277, 277, 44, 44, 44,
- 190, 52, 46, 44, 44, 44, 277, 277, 46, 277,
-
- 277, 277, 52, 277, 277, 277, 277, 191, 45, 45,
- 45, 52, 277, 277, 277, 45, 45, 45, 45, 45,
- 45, 194, 277, 52, 277, 192, 44, 44, 44, 52,
- 193, 46, 277, 277, 45, 45, 45, 45, 45, 45,
- 44, 44, 44, 277, 277, 46, 277, 277, 196, 44,
- 44, 44, 277, 277, 46, 44, 44, 44, 277, 277,
- 46, 277, 52, 277, 44, 44, 44, 277, 195, 46,
- 44, 44, 44, 277, 277, 46, 52, 44, 44, 44,
- 277, 277, 46, 277, 277, 52, 277, 44, 44, 44,
- 277, 52, 46, 197, 277, 277, 44, 44, 44, 277,
-
- 52, 46, 277, 277, 198, 277, 52, 277, 277, 44,
- 44, 44, 199, 52, 46, 277, 277, 201, 277, 277,
- 200, 277, 277, 52, 277, 277, 202, 277, 44, 44,
- 44, 277, 52, 46, 277, 44, 44, 44, 277, 204,
- 46, 205, 44, 44, 44, 52, 277, 46, 44, 44,
- 44, 277, 206, 46, 44, 44, 44, 277, 277, 46,
- 44, 44, 44, 277, 52, 46, 277, 44, 44, 44,
- 277, 52, 213, 277, 44, 44, 44, 208, 52, 46,
- 44, 44, 44, 207, 52, 46, 44, 44, 44, 277,
- 52, 46, 277, 277, 277, 277, 52, 209, 277, 277,
-
- 277, 277, 277, 52, 210, 214, 44, 44, 44, 211,
- 52, 46, 277, 212, 277, 277, 52, 215, 44, 44,
- 44, 277, 52, 219, 277, 44, 44, 44, 277, 217,
- 46, 44, 44, 44, 277, 277, 46, 216, 44, 44,
- 44, 277, 52, 46, 44, 44, 44, 277, 222, 46,
- 44, 44, 44, 277, 52, 224, 277, 277, 44, 44,
- 44, 52, 218, 46, 44, 44, 44, 52, 277, 46,
- 44, 44, 44, 277, 52, 46, 44, 44, 44, 277,
- 52, 46, 277, 277, 220, 277, 52, 223, 277, 277,
- 221, 44, 44, 44, 52, 277, 46, 44, 44, 44,
-
- 52, 228, 46, 44, 44, 44, 52, 277, 231, 225,
- 277, 277, 52, 44, 44, 44, 277, 277, 46, 277,
- 277, 226, 277, 227, 44, 44, 44, 52, 277, 46,
- 44, 44, 44, 52, 277, 46, 277, 229, 277, 52,
- 44, 44, 44, 277, 277, 46, 44, 44, 44, 52,
- 277, 46, 44, 44, 44, 277, 232, 46, 230, 277,
- 52, 277, 277, 44, 44, 44, 52, 233, 46, 277,
- 277, 277, 234, 44, 44, 44, 52, 277, 46, 277,
- 277, 277, 52, 277, 277, 236, 277, 277, 52, 44,
- 44, 44, 277, 277, 240, 277, 235, 277, 277, 52,
-
- 277, 44, 44, 44, 277, 237, 46, 277, 277, 52,
- 277, 44, 44, 44, 277, 239, 46, 238, 44, 44,
- 44, 277, 277, 46, 277, 52, 44, 44, 44, 277,
- 277, 46, 277, 44, 44, 44, 277, 52, 46, 44,
- 44, 44, 277, 277, 46, 277, 277, 52, 277, 277,
- 44, 44, 44, 277, 52, 46, 277, 241, 44, 44,
- 44, 242, 52, 46, 277, 44, 44, 44, 244, 52,
- 46, 277, 277, 243, 277, 52, 44, 44, 44, 277,
- 277, 250, 44, 44, 44, 277, 52, 251, 277, 245,
- 277, 247, 277, 277, 52, 277, 246, 277, 44, 44,
-
- 44, 52, 277, 46, 44, 44, 44, 249, 252, 46,
- 277, 277, 52, 277, 277, 248, 277, 277, 52, 44,
- 44, 44, 277, 277, 254, 44, 44, 44, 277, 277,
- 255, 44, 44, 44, 52, 277, 46, 277, 277, 277,
- 52, 44, 44, 44, 277, 277, 46, 44, 44, 44,
- 277, 277, 46, 277, 277, 52, 253, 44, 44, 44,
- 277, 52, 46, 277, 44, 44, 44, 52, 277, 46,
- 277, 44, 44, 44, 277, 277, 46, 52, 277, 277,
- 44, 44, 44, 52, 256, 46, 277, 277, 257, 44,
- 44, 44, 277, 52, 46, 277, 44, 44, 44, 258,
-
- 52, 46, 277, 44, 44, 44, 277, 52, 265, 277,
- 44, 44, 44, 277, 259, 266, 52, 44, 44, 44,
- 260, 261, 46, 277, 277, 52, 44, 44, 44, 277,
- 277, 268, 52, 262, 277, 44, 44, 44, 277, 52,
- 46, 277, 277, 264, 277, 263, 52, 44, 44, 44,
- 277, 277, 46, 52, 44, 44, 44, 277, 277, 46,
- 277, 277, 52, 44, 44, 44, 277, 277, 272, 267,
- 277, 52, 44, 44, 44, 277, 277, 46, 277, 44,
- 44, 44, 277, 52, 46, 277, 269, 44, 44, 44,
- 52, 277, 46, 44, 44, 44, 277, 271, 276, 52,
-
- 277, 277, 277, 270, 277, 277, 277, 277, 52, 277,
- 277, 277, 277, 277, 277, 52, 277, 277, 277, 277,
- 277, 277, 277, 52, 277, 273, 277, 277, 277, 52,
- 277, 277, 277, 277, 277, 277, 277, 274, 277, 277,
- 277, 277, 277, 277, 275, 36, 36, 36, 36, 36,
- 45, 45, 45, 45, 45, 63, 277, 63, 63, 63,
- 82, 277, 82, 277, 82, 84, 84, 84, 84, 84,
- 92, 92, 92, 92, 92, 107, 277, 107, 107, 107,
- 122, 122, 122, 11, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
-
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277
+ 12, 12, 12, 12, 12, 12, 12, 41, 42, 75,
+ 42, 70, 85, 12, 12, 199, 71, 12, 42, 12,
+
+ 42, 76, 12, 77, 12, 76, 12, 65, 75, 66,
+ 66, 66, 12, 12, 12, 12, 39, 73, 12, 73,
+ 67, 12, 74, 74, 74, 76, 12, 77, 77, 79,
+ 75, 12, 12, 44, 44, 44, 175, 86, 46, 67,
+ 42, 65, 42, 68, 68, 68, 69, 69, 69, 78,
+ 150, 145, 80, 86, 67, 111, 47, 67, 113, 48,
+ 49, 65, 218, 68, 68, 68, 50, 51, 87, 52,
+ 145, 198, 53, 67, 67, 54, 67, 55, 111, 113,
+ 56, 48, 113, 57, 87, 58, 59, 60, 61, 62,
+ 63, 51, 112, 67, 44, 44, 44, 145, 111, 46,
+
+ 44, 44, 44, 116, 112, 46, 44, 44, 44, 172,
+ 174, 46, 44, 44, 44, 112, 148, 46, 44, 44,
+ 44, 114, 126, 46, 44, 44, 44, 115, 172, 46,
+ 52, 149, 94, 74, 74, 74, 52, 126, 89, 45,
+ 91, 144, 52, 74, 74, 74, 88, 92, 52, 144,
+ 44, 44, 44, 118, 52, 46, 44, 44, 44, 91,
+ 52, 46, 89, 45, 144, 90, 92, 45, 44, 44,
+ 44, 45, 147, 46, 117, 44, 44, 44, 143, 45,
+ 46, 143, 45, 43, 45, 95, 52, 172, 44, 44,
+ 44, 84, 52, 46, 82, 81, 44, 44, 44, 97,
+
+ 96, 46, 143, 98, 52, 146, 173, 72, 99, 43,
+ 303, 52, 44, 44, 44, 303, 303, 46, 44, 44,
+ 44, 100, 303, 46, 52, 44, 44, 44, 303, 101,
+ 46, 303, 52, 303, 303, 103, 303, 104, 44, 44,
+ 44, 102, 303, 46, 44, 44, 44, 303, 52, 46,
+ 303, 303, 303, 303, 52, 303, 69, 69, 69, 303,
+ 65, 52, 66, 66, 66, 303, 91, 67, 107, 303,
+ 105, 106, 303, 67, 52, 303, 303, 73, 303, 73,
+ 52, 108, 74, 74, 74, 91, 67, 69, 69, 69,
+ 85, 65, 67, 68, 68, 68, 303, 85, 67, 303,
+
+ 109, 303, 303, 303, 67, 44, 44, 44, 303, 303,
+ 46, 44, 44, 44, 303, 303, 46, 67, 303, 303,
+ 303, 85, 303, 67, 303, 85, 44, 44, 44, 85,
+ 303, 46, 303, 44, 44, 44, 303, 85, 46, 303,
+ 85, 52, 85, 119, 303, 303, 120, 52, 44, 44,
+ 44, 303, 303, 46, 303, 121, 122, 303, 303, 44,
+ 44, 44, 52, 123, 46, 44, 44, 44, 303, 52,
+ 46, 44, 44, 44, 303, 133, 46, 303, 124, 121,
+ 303, 44, 44, 44, 52, 303, 46, 123, 303, 303,
+ 303, 44, 44, 44, 303, 52, 46, 303, 303, 303,
+
+ 303, 52, 124, 127, 127, 127, 303, 52, 303, 303,
+ 127, 127, 127, 127, 127, 127, 128, 52, 44, 44,
+ 44, 129, 303, 46, 303, 303, 303, 52, 303, 127,
+ 127, 127, 127, 127, 127, 303, 130, 44, 44, 44,
+ 303, 303, 46, 44, 44, 44, 303, 303, 46, 303,
+ 44, 44, 44, 303, 52, 46, 303, 44, 44, 44,
+ 303, 303, 46, 44, 44, 44, 303, 303, 46, 303,
+ 44, 44, 44, 52, 131, 46, 303, 303, 303, 52,
+ 44, 44, 44, 303, 303, 46, 52, 303, 134, 303,
+ 303, 303, 132, 52, 303, 44, 44, 44, 303, 52,
+
+ 46, 135, 44, 44, 44, 303, 52, 46, 44, 44,
+ 44, 303, 136, 46, 303, 303, 52, 44, 44, 44,
+ 137, 303, 46, 303, 303, 138, 303, 44, 44, 44,
+ 303, 52, 46, 303, 303, 303, 140, 303, 52, 139,
+ 303, 44, 44, 44, 52, 152, 154, 303, 303, 142,
+ 44, 44, 44, 52, 141, 155, 44, 44, 44, 303,
+ 303, 46, 151, 52, 303, 44, 44, 44, 303, 152,
+ 46, 303, 153, 303, 44, 44, 44, 52, 303, 46,
+ 303, 303, 303, 303, 160, 303, 52, 156, 156, 156,
+ 303, 303, 52, 303, 156, 156, 156, 156, 156, 156,
+
+ 303, 52, 44, 44, 44, 303, 303, 46, 303, 157,
+ 52, 303, 303, 156, 156, 156, 156, 156, 156, 44,
+ 44, 44, 303, 158, 46, 44, 44, 44, 303, 303,
+ 46, 44, 44, 44, 303, 303, 46, 303, 52, 44,
+ 44, 44, 303, 303, 46, 159, 303, 44, 44, 44,
+ 303, 303, 46, 303, 303, 52, 303, 165, 44, 44,
+ 44, 52, 303, 46, 162, 303, 303, 52, 44, 44,
+ 44, 303, 303, 46, 303, 52, 163, 303, 303, 161,
+ 303, 303, 164, 52, 44, 44, 44, 303, 303, 46,
+ 44, 44, 44, 303, 52, 46, 44, 44, 44, 303,
+
+ 303, 46, 303, 303, 52, 44, 44, 44, 303, 303,
+ 46, 303, 166, 44, 44, 44, 303, 303, 179, 303,
+ 52, 303, 303, 303, 303, 167, 52, 168, 44, 44,
+ 44, 303, 52, 46, 303, 44, 44, 44, 303, 170,
+ 46, 52, 176, 177, 303, 169, 303, 303, 303, 52,
+ 171, 178, 44, 44, 44, 303, 303, 46, 303, 303,
+ 44, 44, 44, 303, 52, 46, 303, 44, 44, 44,
+ 303, 52, 46, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 180, 181, 181, 181, 303, 303, 52, 303,
+ 181, 181, 181, 181, 181, 181, 52, 44, 44, 44,
+
+ 303, 303, 46, 52, 303, 183, 303, 182, 303, 181,
+ 181, 181, 181, 181, 181, 44, 44, 44, 303, 303,
+ 46, 303, 303, 184, 44, 44, 44, 303, 303, 46,
+ 303, 303, 303, 52, 44, 44, 44, 303, 303, 46,
+ 44, 44, 44, 303, 303, 189, 303, 44, 44, 44,
+ 303, 52, 46, 185, 186, 303, 44, 44, 44, 303,
+ 52, 46, 44, 44, 44, 303, 187, 193, 303, 303,
+ 52, 303, 303, 44, 44, 44, 52, 188, 46, 44,
+ 44, 44, 303, 52, 46, 44, 44, 44, 303, 303,
+ 46, 190, 52, 303, 44, 44, 44, 303, 52, 46,
+
+ 303, 191, 303, 303, 197, 44, 44, 44, 303, 52,
+ 200, 44, 44, 44, 192, 52, 201, 303, 44, 44,
+ 44, 52, 195, 46, 303, 303, 303, 303, 194, 303,
+ 52, 44, 44, 44, 303, 303, 46, 44, 44, 44,
+ 196, 52, 46, 44, 44, 44, 303, 52, 46, 303,
+ 303, 303, 303, 303, 52, 303, 303, 303, 303, 303,
+ 202, 44, 44, 44, 303, 303, 46, 52, 303, 44,
+ 44, 44, 303, 52, 46, 303, 303, 303, 303, 52,
+ 303, 303, 303, 203, 45, 45, 45, 205, 303, 303,
+ 204, 45, 45, 45, 45, 45, 45, 52, 44, 44,
+
+ 44, 303, 303, 46, 303, 52, 303, 303, 303, 303,
+ 45, 45, 45, 45, 45, 45, 303, 303, 206, 303,
+ 44, 44, 44, 303, 208, 46, 303, 44, 44, 44,
+ 303, 303, 46, 303, 52, 44, 44, 44, 303, 303,
+ 46, 207, 44, 44, 44, 303, 303, 46, 44, 44,
+ 44, 303, 303, 46, 303, 303, 52, 303, 303, 44,
+ 44, 44, 209, 52, 46, 44, 44, 44, 303, 303,
+ 46, 52, 44, 44, 44, 303, 303, 46, 52, 303,
+ 303, 303, 210, 303, 52, 44, 44, 44, 211, 303,
+ 46, 44, 44, 44, 303, 52, 46, 212, 303, 303,
+
+ 303, 52, 44, 44, 44, 213, 303, 46, 52, 44,
+ 44, 44, 303, 303, 46, 214, 303, 303, 303, 216,
+ 303, 52, 215, 303, 44, 44, 44, 52, 303, 46,
+ 303, 303, 303, 303, 217, 303, 303, 303, 52, 44,
+ 44, 44, 303, 219, 46, 52, 303, 220, 303, 223,
+ 44, 44, 44, 303, 303, 46, 44, 44, 44, 303,
+ 52, 46, 303, 44, 44, 44, 221, 222, 46, 303,
+ 303, 44, 44, 44, 303, 52, 46, 44, 44, 44,
+ 303, 303, 46, 44, 44, 44, 52, 303, 46, 44,
+ 44, 44, 52, 303, 233, 44, 44, 44, 225, 52,
+
+ 230, 44, 44, 44, 303, 224, 46, 52, 303, 44,
+ 44, 44, 303, 52, 46, 44, 44, 44, 226, 52,
+ 46, 44, 44, 44, 303, 52, 46, 227, 303, 303,
+ 303, 52, 228, 231, 303, 303, 229, 52, 44, 44,
+ 44, 303, 303, 237, 232, 52, 303, 44, 44, 44,
+ 303, 52, 46, 303, 44, 44, 44, 52, 235, 46,
+ 44, 44, 44, 303, 303, 46, 234, 44, 44, 44,
+ 303, 303, 46, 303, 52, 303, 303, 236, 303, 44,
+ 44, 44, 303, 52, 46, 303, 44, 44, 44, 242,
+ 52, 46, 303, 238, 303, 303, 52, 44, 44, 44,
+
+ 240, 303, 244, 52, 44, 44, 44, 303, 303, 46,
+ 303, 303, 303, 239, 303, 52, 44, 44, 44, 303,
+ 303, 46, 52, 44, 44, 44, 241, 303, 46, 243,
+ 303, 303, 303, 52, 44, 44, 44, 303, 303, 46,
+ 52, 44, 44, 44, 248, 303, 46, 303, 44, 44,
+ 44, 303, 52, 46, 303, 245, 44, 44, 44, 52,
+ 303, 251, 44, 44, 44, 303, 303, 46, 303, 303,
+ 52, 303, 303, 246, 303, 303, 247, 52, 44, 44,
+ 44, 303, 303, 46, 52, 303, 44, 44, 44, 303,
+ 303, 46, 52, 303, 44, 44, 44, 303, 52, 46,
+
+ 303, 303, 249, 44, 44, 44, 303, 303, 46, 250,
+ 44, 44, 44, 252, 52, 46, 303, 303, 44, 44,
+ 44, 253, 52, 46, 44, 44, 44, 303, 303, 46,
+ 52, 303, 303, 254, 303, 303, 303, 255, 303, 52,
+ 303, 303, 44, 44, 44, 256, 52, 46, 44, 44,
+ 44, 303, 303, 46, 52, 303, 303, 258, 303, 303,
+ 52, 303, 44, 44, 44, 303, 257, 262, 44, 44,
+ 44, 303, 303, 46, 44, 44, 44, 259, 52, 264,
+ 44, 44, 44, 303, 52, 46, 44, 44, 44, 303,
+ 261, 46, 44, 44, 44, 303, 260, 46, 52, 303,
+
+ 44, 44, 44, 303, 52, 46, 303, 303, 303, 303,
+ 52, 303, 44, 44, 44, 303, 52, 46, 44, 44,
+ 44, 303, 52, 46, 263, 303, 303, 303, 52, 303,
+ 265, 303, 303, 44, 44, 44, 52, 303, 46, 303,
+ 303, 303, 268, 266, 44, 44, 44, 267, 52, 46,
+ 44, 44, 44, 303, 52, 46, 303, 44, 44, 44,
+ 303, 303, 274, 303, 303, 303, 303, 303, 269, 52,
+ 303, 44, 44, 44, 271, 270, 275, 44, 44, 44,
+ 52, 303, 46, 44, 44, 44, 52, 303, 46, 44,
+ 44, 44, 273, 52, 46, 44, 44, 44, 303, 277,
+
+ 279, 272, 303, 44, 44, 44, 303, 52, 280, 44,
+ 44, 44, 303, 52, 46, 303, 44, 44, 44, 52,
+ 303, 46, 44, 44, 44, 52, 303, 46, 303, 303,
+ 303, 52, 303, 276, 303, 278, 44, 44, 44, 52,
+ 303, 284, 44, 44, 44, 52, 303, 46, 44, 44,
+ 44, 303, 52, 46, 303, 44, 44, 44, 52, 303,
+ 46, 303, 281, 282, 44, 44, 44, 303, 303, 46,
+ 303, 303, 52, 303, 283, 44, 44, 44, 52, 303,
+ 46, 303, 303, 303, 52, 44, 44, 44, 303, 303,
+ 46, 52, 44, 44, 44, 303, 303, 291, 303, 285,
+
+ 52, 44, 44, 44, 286, 287, 292, 44, 44, 44,
+ 303, 52, 46, 44, 44, 44, 303, 288, 294, 303,
+ 303, 52, 44, 44, 44, 303, 303, 46, 52, 303,
+ 303, 289, 290, 44, 44, 44, 303, 52, 46, 44,
+ 44, 44, 303, 52, 46, 44, 44, 44, 303, 52,
+ 298, 44, 44, 44, 303, 303, 46, 303, 52, 293,
+ 44, 44, 44, 303, 303, 46, 44, 44, 44, 52,
+ 303, 46, 303, 295, 303, 52, 303, 303, 44, 44,
+ 44, 52, 297, 302, 303, 303, 303, 52, 303, 296,
+ 303, 303, 303, 303, 303, 303, 52, 303, 303, 303,
+
+ 303, 303, 52, 303, 299, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 52, 303, 303, 303, 300, 303,
+ 303, 303, 303, 301, 36, 36, 36, 36, 36, 45,
+ 45, 45, 45, 45, 64, 303, 64, 64, 64, 83,
+ 303, 83, 303, 83, 85, 85, 85, 85, 85, 93,
+ 93, 93, 93, 93, 110, 303, 110, 110, 110, 125,
+ 125, 125, 11, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303
} ;
-static const flex_int16_t yy_chk[1849] =
+static const flex_int16_t yy_chk[2028] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 3, 3, 3, 4, 4, 4,
3, 9, 7, 4, 5, 5, 8, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 10, 13, 26,
- 13, 21, 289, 5, 5, 288, 21, 5, 37, 9,
+ 13, 21, 315, 5, 5, 314, 21, 5, 37, 9,
37, 27, 5, 28, 5, 32, 5, 17, 26, 17,
17, 17, 5, 5, 7, 10, 5, 25, 8, 25,
17, 5, 25, 25, 25, 27, 5, 28, 33, 32,
- 31, 5, 5, 15, 15, 15, 287, 286, 15, 17,
- 19, 186, 19, 19, 19, 165, 20, 20, 20, 31,
- 74, 44, 33, 19, 143, 75, 15, 20, 122, 15,
- 15, 22, 114, 22, 22, 22, 15, 15, 42, 15,
- 42, 92, 19, 74, 22, 15, 20, 15, 75, 76,
- 15, 15, 44, 15, 82, 15, 15, 15, 15, 15,
- 15, 15, 77, 22, 45, 45, 45, 110, 78, 45,
-
- 47, 47, 47, 76, 79, 47, 48, 48, 48, 81,
- 84, 48, 49, 49, 49, 77, 110, 49, 50, 50,
- 50, 78, 43, 50, 51, 51, 51, 41, 79, 51,
- 45, 39, 52, 72, 72, 72, 47, 38, 48, 52,
- 50, 84, 48, 73, 73, 73, 47, 51, 49, 109,
- 53, 53, 53, 24, 50, 53, 54, 54, 54, 50,
- 51, 54, 48, 52, 108, 49, 51, 52, 55, 55,
- 55, 52, 109, 55, 111, 56, 56, 56, 112, 52,
- 56, 113, 52, 14, 52, 52, 53, 11, 108, 137,
- 0, 0, 54, 53, 57, 57, 57, 140, 111, 57,
-
- 113, 112, 53, 0, 55, 58, 58, 58, 137, 54,
- 58, 56, 59, 59, 59, 0, 140, 59, 60, 60,
- 60, 0, 55, 60, 61, 61, 61, 0, 56, 61,
- 57, 0, 0, 57, 0, 57, 0, 62, 62, 62,
- 0, 58, 62, 0, 64, 64, 64, 0, 59, 65,
- 0, 65, 65, 65, 60, 64, 0, 0, 0, 62,
- 61, 60, 65, 58, 66, 59, 66, 61, 86, 66,
- 66, 66, 0, 62, 64, 86, 0, 0, 62, 0,
- 0, 65, 67, 0, 67, 67, 67, 68, 68, 68,
- 0, 0, 0, 62, 0, 67, 0, 0, 68, 86,
-
- 87, 87, 87, 86, 0, 87, 0, 86, 88, 88,
- 88, 0, 0, 88, 67, 86, 0, 68, 86, 0,
- 86, 86, 89, 89, 89, 0, 0, 89, 0, 90,
- 90, 90, 0, 0, 90, 0, 87, 88, 91, 91,
- 91, 87, 0, 91, 88, 93, 93, 93, 0, 0,
- 93, 95, 95, 95, 0, 0, 95, 0, 89, 90,
- 0, 88, 0, 0, 0, 90, 0, 89, 91, 0,
- 96, 96, 96, 0, 91, 96, 0, 97, 97, 97,
- 0, 93, 97, 90, 0, 0, 0, 95, 0, 0,
- 0, 95, 91, 94, 94, 94, 0, 0, 0, 0,
-
- 94, 94, 94, 94, 94, 94, 96, 98, 98, 98,
- 0, 0, 98, 97, 0, 0, 0, 98, 0, 94,
- 94, 94, 94, 94, 94, 0, 96, 0, 99, 99,
- 99, 0, 97, 99, 100, 100, 100, 0, 0, 100,
- 101, 101, 101, 98, 0, 101, 102, 102, 102, 0,
- 0, 102, 103, 103, 103, 0, 0, 103, 104, 104,
- 104, 0, 0, 104, 99, 0, 105, 105, 105, 0,
- 100, 105, 0, 99, 0, 0, 101, 0, 0, 106,
- 106, 106, 102, 0, 106, 100, 0, 0, 103, 0,
- 0, 117, 117, 117, 104, 101, 117, 0, 0, 0,
-
- 0, 0, 105, 102, 118, 118, 118, 103, 0, 118,
- 0, 120, 120, 120, 0, 106, 120, 104, 119, 119,
- 119, 0, 0, 119, 0, 105, 106, 117, 121, 121,
- 121, 0, 118, 121, 126, 126, 126, 0, 0, 126,
- 118, 0, 0, 0, 126, 117, 0, 120, 125, 125,
- 125, 0, 0, 125, 119, 0, 118, 0, 0, 0,
- 0, 0, 0, 119, 121, 124, 124, 124, 0, 0,
- 126, 0, 124, 124, 124, 124, 124, 124, 127, 127,
- 127, 0, 0, 127, 125, 128, 128, 128, 0, 0,
- 128, 124, 124, 124, 124, 124, 124, 129, 129, 129,
-
- 0, 0, 129, 130, 130, 130, 125, 0, 130, 0,
- 0, 0, 0, 0, 127, 131, 131, 131, 0, 0,
- 131, 128, 0, 0, 128, 131, 132, 132, 132, 0,
- 0, 132, 0, 129, 0, 133, 133, 133, 127, 130,
- 133, 0, 129, 134, 134, 134, 130, 0, 134, 0,
- 0, 131, 135, 135, 135, 0, 0, 135, 136, 136,
- 136, 0, 132, 136, 0, 0, 0, 0, 145, 145,
- 145, 133, 0, 145, 0, 0, 146, 146, 146, 134,
- 132, 146, 145, 145, 0, 0, 134, 0, 135, 0,
- 0, 145, 133, 0, 136, 135, 147, 147, 147, 0,
-
- 0, 147, 0, 136, 145, 151, 151, 151, 0, 0,
- 151, 0, 146, 152, 152, 152, 0, 0, 152, 0,
- 0, 153, 153, 153, 0, 0, 153, 0, 156, 156,
- 156, 0, 147, 156, 0, 0, 0, 0, 0, 0,
- 0, 151, 0, 147, 150, 150, 150, 0, 0, 152,
- 151, 150, 150, 150, 150, 150, 150, 153, 0, 0,
- 153, 154, 154, 154, 156, 0, 154, 0, 0, 152,
- 150, 150, 150, 150, 150, 150, 155, 155, 155, 0,
- 0, 155, 157, 157, 157, 0, 0, 157, 158, 158,
- 158, 0, 0, 158, 159, 159, 159, 154, 0, 159,
-
- 0, 0, 0, 154, 160, 160, 160, 0, 0, 160,
- 0, 0, 155, 0, 0, 161, 161, 161, 157, 155,
- 161, 0, 0, 0, 158, 0, 157, 162, 162, 162,
- 159, 0, 162, 167, 167, 167, 157, 162, 167, 0,
- 160, 0, 168, 168, 168, 0, 158, 168, 169, 169,
- 169, 161, 0, 169, 0, 171, 171, 171, 0, 160,
- 171, 0, 0, 162, 0, 0, 175, 175, 175, 167,
- 161, 175, 0, 0, 0, 173, 173, 173, 168, 0,
- 173, 0, 0, 0, 169, 0, 0, 174, 174, 174,
- 169, 171, 174, 177, 177, 177, 0, 0, 177, 0,
-
- 0, 0, 175, 0, 0, 0, 0, 171, 172, 172,
- 172, 173, 0, 0, 0, 172, 172, 172, 172, 172,
- 172, 175, 0, 174, 0, 173, 176, 176, 176, 177,
- 174, 176, 0, 0, 172, 172, 172, 172, 172, 172,
- 179, 179, 179, 0, 0, 179, 0, 0, 177, 180,
- 180, 180, 0, 0, 180, 181, 181, 181, 0, 0,
- 181, 0, 176, 0, 183, 183, 183, 0, 176, 183,
- 184, 184, 184, 0, 0, 184, 179, 185, 185, 185,
- 0, 0, 185, 0, 0, 180, 0, 190, 190, 190,
- 0, 181, 190, 179, 0, 0, 191, 191, 191, 0,
-
- 183, 191, 0, 0, 180, 0, 184, 0, 0, 192,
- 192, 192, 181, 185, 192, 0, 0, 184, 0, 0,
- 183, 0, 0, 190, 0, 0, 185, 0, 193, 193,
- 193, 0, 191, 193, 0, 194, 194, 194, 0, 190,
- 194, 191, 195, 195, 195, 192, 0, 195, 196, 196,
- 196, 0, 192, 196, 197, 197, 197, 0, 0, 197,
- 198, 198, 198, 0, 193, 198, 0, 199, 199, 199,
- 0, 194, 199, 0, 200, 200, 200, 194, 195, 200,
- 201, 201, 201, 193, 196, 201, 202, 202, 202, 0,
- 197, 202, 0, 0, 0, 0, 198, 195, 0, 0,
-
- 0, 0, 0, 199, 196, 199, 204, 204, 204, 197,
- 200, 204, 0, 198, 0, 0, 201, 200, 205, 205,
- 205, 0, 202, 205, 0, 206, 206, 206, 0, 202,
- 206, 207, 207, 207, 0, 0, 207, 201, 208, 208,
- 208, 0, 204, 208, 209, 209, 209, 0, 208, 209,
- 210, 210, 210, 0, 205, 210, 0, 0, 211, 211,
- 211, 206, 204, 211, 212, 212, 212, 207, 0, 212,
- 214, 214, 214, 0, 208, 214, 216, 216, 216, 0,
- 209, 216, 0, 0, 206, 0, 210, 209, 0, 0,
- 207, 215, 215, 215, 211, 0, 215, 217, 217, 217,
-
- 212, 215, 217, 218, 218, 218, 214, 0, 218, 211,
- 0, 0, 216, 220, 220, 220, 0, 0, 220, 0,
- 0, 212, 0, 214, 221, 221, 221, 215, 0, 221,
- 222, 222, 222, 217, 0, 222, 0, 216, 0, 218,
- 223, 223, 223, 0, 0, 223, 225, 225, 225, 220,
- 0, 225, 226, 226, 226, 0, 220, 226, 217, 0,
- 221, 0, 0, 227, 227, 227, 222, 221, 227, 0,
- 0, 0, 222, 228, 228, 228, 223, 0, 228, 0,
- 0, 0, 225, 0, 0, 225, 0, 0, 226, 229,
- 229, 229, 0, 0, 229, 0, 223, 0, 0, 227,
-
- 0, 230, 230, 230, 0, 226, 230, 0, 0, 228,
- 0, 232, 232, 232, 0, 228, 232, 227, 233, 233,
- 233, 0, 0, 233, 0, 229, 234, 234, 234, 0,
- 0, 234, 0, 235, 235, 235, 0, 230, 235, 236,
- 236, 236, 0, 0, 236, 0, 0, 232, 0, 0,
- 237, 237, 237, 0, 233, 237, 0, 230, 238, 238,
- 238, 232, 234, 238, 0, 239, 239, 239, 234, 235,
- 239, 0, 0, 233, 0, 236, 241, 241, 241, 0,
- 0, 241, 242, 242, 242, 0, 237, 242, 0, 235,
- 0, 237, 0, 0, 238, 0, 236, 0, 243, 243,
-
- 243, 239, 0, 243, 244, 244, 244, 239, 243, 244,
- 0, 0, 241, 0, 0, 238, 0, 0, 242, 245,
- 245, 245, 0, 0, 245, 246, 246, 246, 0, 0,
- 246, 247, 247, 247, 243, 0, 247, 0, 0, 0,
- 244, 248, 248, 248, 0, 0, 248, 249, 249, 249,
- 0, 0, 249, 0, 0, 245, 244, 252, 252, 252,
- 0, 246, 252, 0, 253, 253, 253, 247, 0, 253,
- 0, 256, 256, 256, 0, 0, 256, 248, 0, 0,
- 257, 257, 257, 249, 247, 257, 0, 0, 248, 258,
- 258, 258, 0, 252, 258, 0, 259, 259, 259, 249,
-
- 253, 259, 0, 260, 260, 260, 0, 256, 260, 0,
- 261, 261, 261, 0, 252, 261, 257, 262, 262, 262,
- 253, 256, 262, 0, 0, 258, 263, 263, 263, 0,
- 0, 263, 259, 257, 0, 264, 264, 264, 0, 260,
- 264, 0, 0, 259, 0, 258, 261, 267, 267, 267,
- 0, 0, 267, 262, 269, 269, 269, 0, 0, 269,
- 0, 0, 263, 270, 270, 270, 0, 0, 270, 262,
- 0, 264, 271, 271, 271, 0, 0, 271, 0, 273,
- 273, 273, 0, 267, 273, 0, 264, 274, 274, 274,
- 269, 0, 274, 275, 275, 275, 0, 269, 275, 270,
-
- 0, 0, 0, 267, 0, 0, 0, 0, 271, 0,
- 0, 0, 0, 0, 0, 273, 0, 0, 0, 0,
- 0, 0, 0, 274, 0, 271, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 273, 0, 0,
- 0, 0, 0, 0, 274, 278, 278, 278, 278, 278,
- 279, 279, 279, 279, 279, 280, 0, 280, 280, 280,
- 281, 0, 281, 0, 281, 282, 282, 282, 282, 282,
- 283, 283, 283, 283, 283, 284, 0, 284, 284, 284,
- 285, 285, 285, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
-
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277
+ 31, 5, 5, 15, 15, 15, 313, 44, 15, 17,
+ 42, 19, 42, 19, 19, 19, 20, 20, 20, 31,
+ 312, 113, 33, 85, 19, 75, 15, 20, 77, 15,
+ 15, 22, 198, 22, 22, 22, 15, 15, 44, 15,
+ 113, 174, 15, 19, 22, 15, 20, 15, 75, 80,
+ 15, 15, 77, 15, 85, 15, 15, 15, 15, 15,
+ 15, 15, 76, 22, 45, 45, 45, 116, 78, 45,
+
+ 47, 47, 47, 80, 79, 47, 48, 48, 48, 143,
+ 149, 48, 49, 49, 49, 76, 116, 49, 50, 50,
+ 50, 78, 125, 50, 51, 51, 51, 79, 143, 51,
+ 45, 117, 52, 73, 73, 73, 47, 93, 48, 52,
+ 50, 112, 48, 74, 74, 74, 47, 51, 49, 115,
+ 53, 53, 53, 83, 50, 53, 54, 54, 54, 50,
+ 51, 54, 48, 52, 112, 49, 51, 52, 55, 55,
+ 55, 52, 115, 55, 82, 56, 56, 56, 111, 52,
+ 56, 114, 52, 43, 52, 52, 53, 146, 57, 57,
+ 57, 41, 54, 57, 39, 38, 58, 58, 58, 54,
+
+ 53, 58, 111, 54, 55, 114, 146, 24, 54, 14,
+ 11, 56, 59, 59, 59, 0, 0, 59, 60, 60,
+ 60, 55, 0, 60, 57, 61, 61, 61, 0, 56,
+ 61, 0, 58, 0, 0, 58, 0, 58, 62, 62,
+ 62, 57, 0, 62, 63, 63, 63, 0, 59, 63,
+ 0, 0, 0, 0, 60, 0, 65, 65, 65, 0,
+ 66, 61, 66, 66, 66, 0, 63, 65, 61, 0,
+ 59, 60, 0, 66, 62, 0, 0, 67, 0, 67,
+ 63, 62, 67, 67, 67, 63, 65, 69, 69, 69,
+ 87, 68, 66, 68, 68, 68, 0, 87, 69, 0,
+
+ 63, 0, 0, 0, 68, 88, 88, 88, 0, 0,
+ 88, 90, 90, 90, 0, 0, 90, 69, 0, 0,
+ 0, 87, 0, 68, 0, 87, 89, 89, 89, 87,
+ 0, 89, 0, 91, 91, 91, 0, 87, 91, 0,
+ 87, 88, 87, 87, 0, 0, 88, 90, 92, 92,
+ 92, 0, 0, 92, 0, 89, 90, 0, 0, 94,
+ 94, 94, 89, 91, 94, 101, 101, 101, 0, 91,
+ 101, 96, 96, 96, 0, 101, 96, 0, 92, 89,
+ 0, 97, 97, 97, 92, 0, 97, 91, 0, 0,
+ 0, 98, 98, 98, 0, 94, 98, 0, 0, 0,
+
+ 0, 101, 92, 95, 95, 95, 0, 96, 0, 0,
+ 95, 95, 95, 95, 95, 95, 96, 97, 99, 99,
+ 99, 97, 0, 99, 0, 0, 0, 98, 0, 95,
+ 95, 95, 95, 95, 95, 0, 98, 100, 100, 100,
+ 0, 0, 100, 102, 102, 102, 0, 0, 102, 0,
+ 103, 103, 103, 0, 99, 103, 0, 104, 104, 104,
+ 0, 0, 104, 105, 105, 105, 0, 0, 105, 0,
+ 106, 106, 106, 100, 99, 106, 0, 0, 0, 102,
+ 107, 107, 107, 0, 0, 107, 103, 0, 102, 0,
+ 0, 0, 100, 104, 0, 108, 108, 108, 0, 105,
+
+ 108, 103, 109, 109, 109, 0, 106, 109, 120, 120,
+ 120, 0, 104, 120, 0, 0, 107, 121, 121, 121,
+ 105, 0, 121, 0, 0, 106, 0, 122, 122, 122,
+ 0, 108, 122, 0, 0, 0, 108, 0, 109, 107,
+ 0, 123, 123, 123, 120, 121, 123, 0, 0, 109,
+ 124, 124, 124, 121, 108, 124, 128, 128, 128, 0,
+ 0, 128, 120, 122, 0, 129, 129, 129, 0, 121,
+ 129, 0, 122, 0, 131, 131, 131, 123, 0, 131,
+ 0, 0, 0, 0, 131, 0, 124, 127, 127, 127,
+ 0, 0, 128, 0, 127, 127, 127, 127, 127, 127,
+
+ 0, 129, 130, 130, 130, 0, 0, 130, 0, 128,
+ 131, 0, 0, 127, 127, 127, 127, 127, 127, 132,
+ 132, 132, 0, 129, 132, 133, 133, 133, 0, 0,
+ 133, 134, 134, 134, 0, 0, 134, 0, 130, 135,
+ 135, 135, 0, 0, 135, 130, 0, 136, 136, 136,
+ 0, 0, 136, 0, 0, 132, 0, 136, 137, 137,
+ 137, 133, 0, 137, 133, 0, 0, 134, 138, 138,
+ 138, 0, 0, 138, 0, 135, 134, 0, 0, 132,
+ 0, 0, 135, 136, 139, 139, 139, 0, 0, 139,
+ 140, 140, 140, 0, 137, 140, 141, 141, 141, 0,
+
+ 0, 141, 0, 0, 138, 142, 142, 142, 0, 0,
+ 142, 0, 137, 152, 152, 152, 0, 0, 152, 0,
+ 139, 0, 0, 0, 0, 138, 140, 139, 151, 151,
+ 151, 0, 141, 151, 0, 153, 153, 153, 0, 141,
+ 153, 142, 151, 151, 0, 140, 0, 0, 0, 152,
+ 142, 151, 157, 157, 157, 0, 0, 157, 0, 0,
+ 158, 158, 158, 0, 151, 158, 0, 159, 159, 159,
+ 0, 153, 159, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 153, 156, 156, 156, 0, 0, 157, 0,
+ 156, 156, 156, 156, 156, 156, 158, 160, 160, 160,
+
+ 0, 0, 160, 159, 0, 158, 0, 157, 0, 156,
+ 156, 156, 156, 156, 156, 161, 161, 161, 0, 0,
+ 161, 0, 0, 159, 162, 162, 162, 0, 0, 162,
+ 0, 0, 0, 160, 163, 163, 163, 0, 0, 163,
+ 164, 164, 164, 0, 0, 164, 0, 165, 165, 165,
+ 0, 161, 165, 160, 161, 0, 166, 166, 166, 0,
+ 162, 166, 167, 167, 167, 0, 162, 167, 0, 0,
+ 163, 0, 0, 168, 168, 168, 164, 163, 168, 169,
+ 169, 169, 0, 165, 169, 170, 170, 170, 0, 0,
+ 170, 165, 166, 0, 171, 171, 171, 0, 167, 171,
+
+ 0, 165, 0, 0, 171, 176, 176, 176, 0, 168,
+ 176, 177, 177, 177, 166, 169, 177, 0, 178, 178,
+ 178, 170, 169, 178, 0, 0, 0, 0, 168, 0,
+ 171, 180, 180, 180, 0, 0, 180, 183, 183, 183,
+ 170, 176, 183, 182, 182, 182, 0, 177, 182, 0,
+ 0, 0, 0, 0, 178, 0, 0, 0, 0, 0,
+ 178, 184, 184, 184, 0, 0, 184, 180, 0, 186,
+ 186, 186, 0, 183, 186, 0, 0, 0, 0, 182,
+ 0, 0, 0, 180, 181, 181, 181, 183, 0, 0,
+ 182, 181, 181, 181, 181, 181, 181, 184, 185, 185,
+
+ 185, 0, 0, 185, 0, 186, 0, 0, 0, 0,
+ 181, 181, 181, 181, 181, 181, 0, 0, 184, 0,
+ 187, 187, 187, 0, 186, 187, 0, 188, 188, 188,
+ 0, 0, 188, 0, 185, 190, 190, 190, 0, 0,
+ 190, 185, 191, 191, 191, 0, 0, 191, 192, 192,
+ 192, 0, 0, 192, 0, 0, 187, 0, 0, 194,
+ 194, 194, 187, 188, 194, 195, 195, 195, 0, 0,
+ 195, 190, 196, 196, 196, 0, 0, 196, 191, 0,
+ 0, 0, 188, 0, 192, 197, 197, 197, 190, 0,
+ 197, 202, 202, 202, 0, 194, 202, 191, 0, 0,
+
+ 0, 195, 203, 203, 203, 192, 0, 203, 196, 204,
+ 204, 204, 0, 0, 204, 194, 0, 0, 0, 196,
+ 0, 197, 195, 0, 205, 205, 205, 202, 0, 205,
+ 0, 0, 0, 0, 197, 0, 0, 0, 203, 206,
+ 206, 206, 0, 202, 206, 204, 0, 203, 0, 206,
+ 207, 207, 207, 0, 0, 207, 208, 208, 208, 0,
+ 205, 208, 0, 209, 209, 209, 204, 205, 209, 0,
+ 0, 210, 210, 210, 0, 206, 210, 211, 211, 211,
+ 0, 0, 211, 212, 212, 212, 207, 0, 212, 215,
+ 215, 215, 208, 0, 215, 213, 213, 213, 208, 209,
+
+ 213, 214, 214, 214, 0, 207, 214, 210, 0, 216,
+ 216, 216, 0, 211, 216, 217, 217, 217, 209, 212,
+ 217, 219, 219, 219, 0, 215, 219, 210, 0, 0,
+ 0, 213, 211, 213, 0, 0, 212, 214, 220, 220,
+ 220, 0, 0, 220, 214, 216, 0, 221, 221, 221,
+ 0, 217, 221, 0, 222, 222, 222, 219, 217, 222,
+ 223, 223, 223, 0, 0, 223, 216, 224, 224, 224,
+ 0, 0, 224, 0, 220, 0, 0, 219, 0, 225,
+ 225, 225, 0, 221, 225, 0, 226, 226, 226, 225,
+ 222, 226, 0, 221, 0, 0, 223, 227, 227, 227,
+
+ 223, 0, 227, 224, 228, 228, 228, 0, 0, 228,
+ 0, 0, 0, 222, 0, 225, 229, 229, 229, 0,
+ 0, 229, 226, 231, 231, 231, 224, 0, 231, 226,
+ 0, 0, 0, 227, 232, 232, 232, 0, 0, 232,
+ 228, 234, 234, 234, 232, 0, 234, 0, 235, 235,
+ 235, 0, 229, 235, 0, 228, 236, 236, 236, 231,
+ 0, 236, 238, 238, 238, 0, 0, 238, 0, 0,
+ 232, 0, 0, 229, 0, 0, 231, 234, 239, 239,
+ 239, 0, 0, 239, 235, 0, 240, 240, 240, 0,
+ 0, 240, 236, 0, 241, 241, 241, 0, 238, 241,
+
+ 0, 0, 234, 242, 242, 242, 0, 0, 242, 235,
+ 243, 243, 243, 238, 239, 243, 0, 0, 245, 245,
+ 245, 239, 240, 245, 246, 246, 246, 0, 0, 246,
+ 241, 0, 0, 240, 0, 0, 0, 241, 0, 242,
+ 0, 0, 247, 247, 247, 242, 243, 247, 248, 248,
+ 248, 0, 0, 248, 245, 0, 0, 245, 0, 0,
+ 246, 0, 249, 249, 249, 0, 243, 249, 250, 250,
+ 250, 0, 0, 250, 252, 252, 252, 246, 247, 252,
+ 253, 253, 253, 0, 248, 253, 254, 254, 254, 0,
+ 248, 254, 255, 255, 255, 0, 247, 255, 249, 0,
+
+ 256, 256, 256, 0, 250, 256, 0, 0, 0, 0,
+ 252, 0, 257, 257, 257, 0, 253, 257, 258, 258,
+ 258, 0, 254, 258, 250, 0, 0, 0, 255, 0,
+ 253, 0, 0, 259, 259, 259, 256, 0, 259, 0,
+ 0, 0, 256, 254, 260, 260, 260, 255, 257, 260,
+ 261, 261, 261, 0, 258, 261, 0, 263, 263, 263,
+ 0, 0, 263, 0, 0, 0, 0, 0, 257, 259,
+ 0, 265, 265, 265, 259, 258, 265, 266, 266, 266,
+ 260, 0, 266, 268, 268, 268, 261, 0, 268, 267,
+ 267, 267, 261, 263, 267, 269, 269, 269, 0, 267,
+
+ 269, 260, 0, 270, 270, 270, 0, 265, 270, 271,
+ 271, 271, 0, 266, 271, 0, 272, 272, 272, 268,
+ 0, 272, 273, 273, 273, 267, 0, 273, 0, 0,
+ 0, 269, 0, 266, 0, 268, 276, 276, 276, 270,
+ 0, 276, 277, 277, 277, 271, 0, 277, 278, 278,
+ 278, 0, 272, 278, 0, 281, 281, 281, 273, 0,
+ 281, 0, 271, 272, 282, 282, 282, 0, 0, 282,
+ 0, 0, 276, 0, 273, 283, 283, 283, 277, 0,
+ 283, 0, 0, 0, 278, 285, 285, 285, 0, 0,
+ 285, 281, 286, 286, 286, 0, 0, 286, 0, 277,
+
+ 282, 287, 287, 287, 278, 281, 287, 288, 288, 288,
+ 0, 283, 288, 289, 289, 289, 0, 282, 289, 0,
+ 0, 285, 290, 290, 290, 0, 0, 290, 286, 0,
+ 0, 283, 285, 293, 293, 293, 0, 287, 293, 295,
+ 295, 295, 0, 288, 295, 296, 296, 296, 0, 289,
+ 296, 297, 297, 297, 0, 0, 297, 0, 290, 288,
+ 299, 299, 299, 0, 0, 299, 300, 300, 300, 293,
+ 0, 300, 0, 290, 0, 295, 0, 0, 301, 301,
+ 301, 296, 295, 301, 0, 0, 0, 297, 0, 293,
+ 0, 0, 0, 0, 0, 0, 299, 0, 0, 0,
+
+ 0, 0, 300, 0, 297, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 301, 0, 0, 0, 299, 0,
+ 0, 0, 0, 300, 304, 304, 304, 304, 304, 305,
+ 305, 305, 305, 305, 306, 0, 306, 306, 306, 307,
+ 0, 307, 0, 307, 308, 308, 308, 308, 308, 309,
+ 309, 309, 309, 309, 310, 0, 310, 310, 310, 311,
+ 311, 311, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 303, 303
} ;
static yy_state_type yy_last_accepting_state;
extern int d2_parser__flex_debug;
int d2_parser__flex_debug = 1;
-static const flex_int16_t yy_rule_linenum[51] =
+static const flex_int16_t yy_rule_linenum[54] =
{ 0,
117, 119, 121, 126, 127, 132, 133, 134, 146, 149,
154, 160, 169, 178, 187, 196, 205, 214, 224, 234,
- 244, 253, 262, 272, 281, 290, 299, 308, 317, 326,
- 335, 344, 354, 452, 457, 462, 467, 468, 469, 470,
- 471, 472, 474, 492, 505, 510, 514, 516, 518, 520
+ 244, 253, 262, 271, 280, 289, 299, 308, 317, 326,
+ 335, 345, 354, 363, 372, 382, 480, 485, 490, 495,
+ 496, 497, 498, 499, 500, 502, 520, 533, 538, 542,
+ 544, 546, 548
} ;
/* The intent behind this definition is that it'll catch
// To avoid the call to exit... oops!
#define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg)
-#line 1154 "d2_lexer.cc"
+#line 1207 "d2_lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we
always parse only a single string, there's no need to do any wraps. And
using yywrap requires linking with -lfl, which provides the default yywrap
// by moving it ahead by yyleng bytes. yyleng specifies the length of the
// currently matched token.
#define YY_USER_ACTION driver.loc_.columns(yyleng);
-#line 1180 "d2_lexer.cc"
-#line 1181 "d2_lexer.cc"
+#line 1233 "d2_lexer.cc"
+#line 1234 "d2_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 1489 "d2_lexer.cc"
+#line 1542 "d2_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 278 )
+ if ( yy_current_state >= 304 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 277 );
+ while ( yy_current_state != 303 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
- else if ( yy_act < 51 )
+ else if ( yy_act < 54 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], d2_parser_text );
- else if ( yy_act == 51 )
+ else if ( yy_act == 54 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
d2_parser_text );
- else if ( yy_act == 52 )
+ else if ( yy_act == 55 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 272 "d2_lexer.ll"
+#line 271 "d2_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::d2::D2ParserContext::TSIG_KEYS:
+ return isc::d2::D2Parser::make_ALGORITHM(driver.loc_);
+ default:
+ return isc::d2::D2Parser::make_STRING("algorithm", driver.loc_);
+ }
+}
+ YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 280 "d2_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::d2::D2ParserContext::TSIG_KEYS:
+ return isc::d2::D2Parser::make_DIGEST_BITS(driver.loc_);
+ default:
+ return isc::d2::D2Parser::make_STRING("digest-bits", driver.loc_);
+ }
+}
+ YY_BREAK
+case 26:
+YY_RULE_SETUP
+#line 289 "d2_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::d2::D2ParserContext::TSIG_KEYS:
+ return isc::d2::D2Parser::make_SECRET(driver.loc_);
+ default:
+ return isc::d2::D2Parser::make_STRING("secret", driver.loc_);
+ }
+}
+ YY_BREAK
+case 27:
+YY_RULE_SETUP
+#line 299 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG:
}
}
YY_BREAK
-case 25:
+case 28:
YY_RULE_SETUP
-#line 281 "d2_lexer.ll"
+#line 308 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGING:
}
}
YY_BREAK
-case 26:
+case 29:
YY_RULE_SETUP
-#line 290 "d2_lexer.ll"
+#line 317 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
}
}
YY_BREAK
-case 27:
+case 30:
YY_RULE_SETUP
-#line 299 "d2_lexer.ll"
+#line 326 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 28:
+case 31:
YY_RULE_SETUP
-#line 308 "d2_lexer.ll"
+#line 335 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
+ case isc::d2::D2ParserContext::TSIG_KEYS:
return isc::d2::D2Parser::make_NAME(driver.loc_);
default:
return isc::d2::D2Parser::make_STRING("name", driver.loc_);
}
}
YY_BREAK
-case 29:
+case 32:
YY_RULE_SETUP
-#line 317 "d2_lexer.ll"
+#line 345 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
}
}
YY_BREAK
-case 30:
+case 33:
YY_RULE_SETUP
-#line 326 "d2_lexer.ll"
+#line 354 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
}
}
YY_BREAK
-case 31:
+case 34:
YY_RULE_SETUP
-#line 335 "d2_lexer.ll"
+#line 363 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG:
}
}
YY_BREAK
-case 32:
+case 35:
YY_RULE_SETUP
-#line 344 "d2_lexer.ll"
+#line 372 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG:
}
}
YY_BREAK
-case 33:
+case 36:
YY_RULE_SETUP
-#line 354 "d2_lexer.ll"
+#line 382 "d2_lexer.ll"
{
// A string has been matched. It contains the actual string and single quotes.
// We need to get those quotes out of the way and just use its content, e.g.
return isc::d2::D2Parser::make_STRING(decoded, driver.loc_);
}
YY_BREAK
-case 34:
-/* rule 34 can match eol */
+case 37:
+/* rule 37 can match eol */
YY_RULE_SETUP
-#line 452 "d2_lexer.ll"
+#line 480 "d2_lexer.ll"
{
// Bad string with a forbidden control character inside
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 35:
-/* rule 35 can match eol */
+case 38:
+/* rule 38 can match eol */
YY_RULE_SETUP
-#line 457 "d2_lexer.ll"
+#line 485 "d2_lexer.ll"
{
// Bad string with a bad escape inside
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 36:
+case 39:
YY_RULE_SETUP
-#line 462 "d2_lexer.ll"
+#line 490 "d2_lexer.ll"
{
// Bad string with an open escape at the end
driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
}
YY_BREAK
-case 37:
+case 40:
YY_RULE_SETUP
-#line 467 "d2_lexer.ll"
+#line 495 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 38:
+case 41:
YY_RULE_SETUP
-#line 468 "d2_lexer.ll"
+#line 496 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 39:
+case 42:
YY_RULE_SETUP
-#line 469 "d2_lexer.ll"
+#line 497 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 40:
+case 43:
YY_RULE_SETUP
-#line 470 "d2_lexer.ll"
+#line 498 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 41:
+case 44:
YY_RULE_SETUP
-#line 471 "d2_lexer.ll"
+#line 499 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 42:
+case 45:
YY_RULE_SETUP
-#line 472 "d2_lexer.ll"
+#line 500 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 43:
+case 46:
YY_RULE_SETUP
-#line 474 "d2_lexer.ll"
+#line 502 "d2_lexer.ll"
{
// An integer was found.
std::string tmp(yytext);
return isc::d2::D2Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 44:
+case 47:
YY_RULE_SETUP
-#line 492 "d2_lexer.ll"
+#line 520 "d2_lexer.ll"
{
// A floating point was found.
std::string tmp(yytext);
return isc::d2::D2Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 45:
+case 48:
YY_RULE_SETUP
-#line 505 "d2_lexer.ll"
+#line 533 "d2_lexer.ll"
{
string tmp(yytext);
return isc::d2::D2Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 46:
+case 49:
YY_RULE_SETUP
-#line 510 "d2_lexer.ll"
+#line 538 "d2_lexer.ll"
{
return isc::d2::D2Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 47:
+case 50:
YY_RULE_SETUP
-#line 514 "d2_lexer.ll"
+#line 542 "d2_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 48:
+case 51:
YY_RULE_SETUP
-#line 516 "d2_lexer.ll"
+#line 544 "d2_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 49:
+case 52:
YY_RULE_SETUP
-#line 518 "d2_lexer.ll"
+#line 546 "d2_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 50:
+case 53:
YY_RULE_SETUP
-#line 520 "d2_lexer.ll"
+#line 548 "d2_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 522 "d2_lexer.ll"
+#line 550 "d2_lexer.ll"
{
if (driver.states_.empty()) {
return isc::d2::D2Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 51:
+case 54:
YY_RULE_SETUP
-#line 545 "d2_lexer.ll"
+#line 573 "d2_lexer.ll"
ECHO;
YY_BREAK
-#line 2167 "d2_lexer.cc"
+#line 2257 "d2_lexer.cc"
case YY_END_OF_BUFFER:
{
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 278 )
+ if ( yy_current_state >= 304 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 278 )
+ if ( yy_current_state >= 304 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 277);
+ yy_is_jam = (yy_current_state == 303);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 545 "d2_lexer.ll"
+#line 573 "d2_lexer.ll"
using namespace isc::dhcp;
{
switch (that.type_get ())
{
- case 43: // value
- case 70: // ncr_protocol_value
+ case 46: // value
+ case 73: // ncr_protocol_value
value.move< ElementPtr > (that.value);
break;
- case 37: // "boolean"
+ case 40: // "boolean"
value.move< bool > (that.value);
break;
- case 36: // "floating point"
+ case 39: // "floating point"
value.move< double > (that.value);
break;
- case 35: // "integer"
+ case 38: // "integer"
value.move< int64_t > (that.value);
break;
- case 34: // "constant string"
+ case 37: // "constant string"
value.move< std::string > (that.value);
break;
state = that.state;
switch (that.type_get ())
{
- case 43: // value
- case 70: // ncr_protocol_value
+ case 46: // value
+ case 73: // ncr_protocol_value
value.copy< ElementPtr > (that.value);
break;
- case 37: // "boolean"
+ case 40: // "boolean"
value.copy< bool > (that.value);
break;
- case 36: // "floating point"
+ case 39: // "floating point"
value.copy< double > (that.value);
break;
- case 35: // "integer"
+ case 38: // "integer"
value.copy< int64_t > (that.value);
break;
- case 34: // "constant string"
+ case 37: // "constant string"
value.copy< std::string > (that.value);
break;
<< yysym.location << ": ";
switch (yytype)
{
- case 34: // "constant string"
+ case 37: // "constant string"
-#line 91 "d2_parser.yy" // lalr1.cc:636
+#line 94 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< std::string > (); }
#line 354 "d2_parser.cc" // lalr1.cc:636
break;
- case 35: // "integer"
+ case 38: // "integer"
-#line 91 "d2_parser.yy" // lalr1.cc:636
+#line 94 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< int64_t > (); }
#line 361 "d2_parser.cc" // lalr1.cc:636
break;
- case 36: // "floating point"
+ case 39: // "floating point"
-#line 91 "d2_parser.yy" // lalr1.cc:636
+#line 94 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< double > (); }
#line 368 "d2_parser.cc" // lalr1.cc:636
break;
- case 37: // "boolean"
+ case 40: // "boolean"
-#line 91 "d2_parser.yy" // lalr1.cc:636
+#line 94 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< bool > (); }
#line 375 "d2_parser.cc" // lalr1.cc:636
break;
- case 43: // value
+ case 46: // value
-#line 91 "d2_parser.yy" // lalr1.cc:636
+#line 94 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< ElementPtr > (); }
#line 382 "d2_parser.cc" // lalr1.cc:636
break;
- case 70: // ncr_protocol_value
+ case 73: // ncr_protocol_value
-#line 91 "d2_parser.yy" // lalr1.cc:636
+#line 94 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< ElementPtr > (); }
#line 389 "d2_parser.cc" // lalr1.cc:636
break;
when using variants. */
switch (yyr1_[yyn])
{
- case 43: // value
- case 70: // ncr_protocol_value
+ case 46: // value
+ case 73: // ncr_protocol_value
yylhs.value.build< ElementPtr > ();
break;
- case 37: // "boolean"
+ case 40: // "boolean"
yylhs.value.build< bool > ();
break;
- case 36: // "floating point"
+ case 39: // "floating point"
yylhs.value.build< double > ();
break;
- case 35: // "integer"
+ case 38: // "integer"
yylhs.value.build< int64_t > ();
break;
- case 34: // "constant string"
+ case 37: // "constant string"
yylhs.value.build< std::string > ();
break;
switch (yyn)
{
case 2:
-#line 100 "d2_parser.yy" // lalr1.cc:859
+#line 103 "d2_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.NO_KEYWORD; }
#line 630 "d2_parser.cc" // lalr1.cc:859
break;
case 4:
-#line 101 "d2_parser.yy" // lalr1.cc:859
+#line 104 "d2_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.CONFIG; }
#line 636 "d2_parser.cc" // lalr1.cc:859
break;
case 6:
-#line 102 "d2_parser.yy" // lalr1.cc:859
+#line 105 "d2_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCPDDNS; }
#line 642 "d2_parser.cc" // lalr1.cc:859
break;
case 8:
-#line 110 "d2_parser.yy" // lalr1.cc:859
+#line 113 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); }
#line 648 "d2_parser.cc" // lalr1.cc:859
break;
case 9:
-#line 111 "d2_parser.yy" // lalr1.cc:859
+#line 114 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
#line 654 "d2_parser.cc" // lalr1.cc:859
break;
case 10:
-#line 112 "d2_parser.yy" // lalr1.cc:859
+#line 115 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
#line 660 "d2_parser.cc" // lalr1.cc:859
break;
case 11:
-#line 113 "d2_parser.yy" // lalr1.cc:859
+#line 116 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); }
#line 666 "d2_parser.cc" // lalr1.cc:859
break;
case 12:
-#line 114 "d2_parser.yy" // lalr1.cc:859
+#line 117 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
#line 672 "d2_parser.cc" // lalr1.cc:859
break;
case 13:
-#line 115 "d2_parser.yy" // lalr1.cc:859
+#line 118 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
#line 678 "d2_parser.cc" // lalr1.cc:859
break;
case 14:
-#line 116 "d2_parser.yy" // lalr1.cc:859
+#line 119 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
#line 684 "d2_parser.cc" // lalr1.cc:859
break;
case 15:
-#line 119 "d2_parser.yy" // lalr1.cc:859
+#line 122 "d2_parser.yy" // lalr1.cc:859
{
// Push back the JSON value on the stack
ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ());
break;
case 16:
-#line 124 "d2_parser.yy" // lalr1.cc:859
+#line 127 "d2_parser.yy" // lalr1.cc:859
{
// This code is executed when we're about to start parsing
// the content of the map
break;
case 17:
-#line 129 "d2_parser.yy" // lalr1.cc:859
+#line 132 "d2_parser.yy" // lalr1.cc:859
{
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
break;
case 20:
-#line 140 "d2_parser.yy" // lalr1.cc:859
+#line 143 "d2_parser.yy" // lalr1.cc:859
{
// map containing a single entry
ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
break;
case 21:
-#line 144 "d2_parser.yy" // lalr1.cc:859
+#line 147 "d2_parser.yy" // lalr1.cc:859
{
// map consisting of a shorter map followed by
// comma and string:value
break;
case 22:
-#line 151 "d2_parser.yy" // lalr1.cc:859
+#line 154 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
break;
case 23:
-#line 154 "d2_parser.yy" // lalr1.cc:859
+#line 157 "d2_parser.yy" // lalr1.cc:859
{
// list parsing complete. Put any sanity checking here
}
break;
case 26:
-#line 170 "d2_parser.yy" // lalr1.cc:859
+#line 173 "d2_parser.yy" // lalr1.cc:859
{
// List consisting of a single element.
ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
break;
case 27:
-#line 174 "d2_parser.yy" // lalr1.cc:859
+#line 177 "d2_parser.yy" // lalr1.cc:859
{
// List ending with , and a value.
ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
break;
case 28:
-#line 185 "d2_parser.yy" // lalr1.cc:859
+#line 188 "d2_parser.yy" // lalr1.cc:859
{
const std::string& where = ctx.contextName();
const std::string& keyword = yystack_[1].value.as< std::string > ();
break;
case 29:
-#line 195 "d2_parser.yy" // lalr1.cc:859
+#line 198 "d2_parser.yy" // lalr1.cc:859
{
// This code is executed when we're about to start parsing
// the content of the map
break;
case 30:
-#line 200 "d2_parser.yy" // lalr1.cc:859
+#line 203 "d2_parser.yy" // lalr1.cc:859
{
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
break;
case 38:
-#line 221 "d2_parser.yy" // lalr1.cc:859
+#line 224 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("DhcpDdns", m);
break;
case 39:
-#line 226 "d2_parser.yy" // lalr1.cc:859
+#line 229 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
break;
case 40:
-#line 231 "d2_parser.yy" // lalr1.cc:859
+#line 234 "d2_parser.yy" // lalr1.cc:859
{
// Parse the dhcpddns map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
break;
case 41:
-#line 235 "d2_parser.yy" // lalr1.cc:859
+#line 238 "d2_parser.yy" // lalr1.cc:859
{
// parsing completed
}
break;
case 53:
-#line 254 "d2_parser.yy" // lalr1.cc:859
+#line 257 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 54:
-#line 256 "d2_parser.yy" // lalr1.cc:859
+#line 259 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-address", s);
break;
case 55:
-#line 262 "d2_parser.yy" // lalr1.cc:859
+#line 265 "d2_parser.yy" // lalr1.cc:859
{
if (yystack_[0].value.as< int64_t > () <= 0) {
error(yystack_[0].location, "port must be greater than zero");
break;
case 56:
-#line 270 "d2_parser.yy" // lalr1.cc:859
+#line 273 "d2_parser.yy" // lalr1.cc:859
{
if (yystack_[0].value.as< int64_t > () <= 0) {
error(yystack_[0].location, "dns-server-timeout must be greater than zero");
break;
case 57:
-#line 279 "d2_parser.yy" // lalr1.cc:859
+#line 282 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_PROTOCOL);
}
break;
case 58:
-#line 281 "d2_parser.yy" // lalr1.cc:859
+#line 284 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 59:
-#line 287 "d2_parser.yy" // lalr1.cc:859
+#line 290 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
#line 904 "d2_parser.cc" // lalr1.cc:859
break;
case 60:
-#line 288 "d2_parser.yy" // lalr1.cc:859
+#line 291 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
#line 910 "d2_parser.cc" // lalr1.cc:859
break;
case 61:
-#line 291 "d2_parser.yy" // lalr1.cc:859
+#line 294 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_FORMAT);
}
break;
case 62:
-#line 293 "d2_parser.yy" // lalr1.cc:859
+#line 296 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ncr-format", json);
break;
case 63:
-#line 299 "d2_parser.yy" // lalr1.cc:859
+#line 302 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 64:
-#line 301 "d2_parser.yy" // lalr1.cc:859
+#line 304 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("forward-ddns", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 65:
-#line 306 "d2_parser.yy" // lalr1.cc:859
+#line 309 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 66:
-#line 308 "d2_parser.yy" // lalr1.cc:859
+#line 311 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("reverse-ddns", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 67:
-#line 313 "d2_parser.yy" // lalr1.cc:859
+#line 318 "d2_parser.yy" // lalr1.cc:859
{
- ctx.enter(ctx.NO_KEYWORD);
+ ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("tsig-keys", l);
+ ctx.stack_.push_back(l);
+ ctx.enter(ctx.TSIG_KEYS);
}
-#line 970 "d2_parser.cc" // lalr1.cc:859
+#line 973 "d2_parser.cc" // lalr1.cc:859
break;
case 68:
-#line 315 "d2_parser.yy" // lalr1.cc:859
+#line 323 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.pop_back();
+ ctx.leave();
+}
+#line 982 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 73:
+#line 336 "d2_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->add(m);
+ ctx.stack_.push_back(m);
+}
+#line 992 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 74:
+#line 340 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.pop_back();
+}
+#line 1000 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 82:
+#line 355 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1008 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 83:
+#line 357 "d2_parser.yy" // lalr1.cc:859
+ {
+ if (yystack_[0].value.as< std::string > () == "") {
+ error(yystack_[1].location, "name cannot be blank");
+ }
+ ElementPtr elem(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("name", name);
+ ctx.leave();
+}
+#line 1022 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 84:
+#line 367 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1030 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 85:
+#line 369 "d2_parser.yy" // lalr1.cc:859
+ {
+ if (yystack_[0].value.as< std::string > () == "") {
+ error(yystack_[1].location, "algorithm cannot be blank");
+ }
+ ElementPtr elem(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("algorithm", elem);
+ ctx.leave();
+}
+#line 1043 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 86:
+#line 378 "d2_parser.yy" // lalr1.cc:859
+ {
+ if (yystack_[0].value.as< int64_t > () < 0 || (yystack_[0].value.as< int64_t > () > 0 && (yystack_[0].value.as< int64_t > () % 8 != 0))) {
+ error(yystack_[0].location, "digest-bits must either be zero or a positive, multiple of eight");
+ }
+ ElementPtr elem(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("digest-bits", elem);
+}
+#line 1055 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 87:
+#line 386 "d2_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("tsig-keys", yystack_[0].value.as< ElementPtr > ());
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1063 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 88:
+#line 388 "d2_parser.yy" // lalr1.cc:859
+ {
+ if (yystack_[0].value.as< std::string > () == "") {
+ error(yystack_[1].location, "secret cannot be blank");
+ }
+ ElementPtr elem(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("secret", elem);
ctx.leave();
}
-#line 979 "d2_parser.cc" // lalr1.cc:859
+#line 1076 "d2_parser.cc" // lalr1.cc:859
break;
- case 69:
-#line 320 "d2_parser.yy" // lalr1.cc:859
+ case 89:
+#line 401 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 987 "d2_parser.cc" // lalr1.cc:859
+#line 1084 "d2_parser.cc" // lalr1.cc:859
break;
- case 70:
-#line 322 "d2_parser.yy" // lalr1.cc:859
+ case 90:
+#line 403 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 996 "d2_parser.cc" // lalr1.cc:859
+#line 1093 "d2_parser.cc" // lalr1.cc:859
break;
- case 71:
-#line 327 "d2_parser.yy" // lalr1.cc:859
+ case 91:
+#line 408 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1004 "d2_parser.cc" // lalr1.cc:859
+#line 1101 "d2_parser.cc" // lalr1.cc:859
break;
- case 72:
-#line 329 "d2_parser.yy" // lalr1.cc:859
+ case 92:
+#line 410 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1013 "d2_parser.cc" // lalr1.cc:859
+#line 1110 "d2_parser.cc" // lalr1.cc:859
break;
- case 73:
-#line 339 "d2_parser.yy" // lalr1.cc:859
+ case 93:
+#line 420 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("Logging", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.LOGGING);
}
-#line 1024 "d2_parser.cc" // lalr1.cc:859
+#line 1121 "d2_parser.cc" // lalr1.cc:859
break;
- case 74:
-#line 344 "d2_parser.yy" // lalr1.cc:859
+ case 94:
+#line 425 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1033 "d2_parser.cc" // lalr1.cc:859
+#line 1130 "d2_parser.cc" // lalr1.cc:859
break;
- case 78:
-#line 361 "d2_parser.yy" // lalr1.cc:859
+ case 98:
+#line 442 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("loggers", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.LOGGERS);
}
-#line 1044 "d2_parser.cc" // lalr1.cc:859
+#line 1141 "d2_parser.cc" // lalr1.cc:859
break;
- case 79:
-#line 366 "d2_parser.yy" // lalr1.cc:859
+ case 99:
+#line 447 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1053 "d2_parser.cc" // lalr1.cc:859
+#line 1150 "d2_parser.cc" // lalr1.cc:859
break;
- case 82:
-#line 378 "d2_parser.yy" // lalr1.cc:859
+ case 102:
+#line 459 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(l);
ctx.stack_.push_back(l);
}
-#line 1063 "d2_parser.cc" // lalr1.cc:859
+#line 1160 "d2_parser.cc" // lalr1.cc:859
break;
- case 83:
-#line 382 "d2_parser.yy" // lalr1.cc:859
+ case 103:
+#line 463 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 1071 "d2_parser.cc" // lalr1.cc:859
+#line 1168 "d2_parser.cc" // lalr1.cc:859
break;
- case 91:
-#line 397 "d2_parser.yy" // lalr1.cc:859
+ case 111:
+#line 478 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1079 "d2_parser.cc" // lalr1.cc:859
+#line 1176 "d2_parser.cc" // lalr1.cc:859
break;
- case 92:
-#line 399 "d2_parser.yy" // lalr1.cc:859
+ case 112:
+#line 480 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1089 "d2_parser.cc" // lalr1.cc:859
+#line 1186 "d2_parser.cc" // lalr1.cc:859
break;
- case 93:
-#line 405 "d2_parser.yy" // lalr1.cc:859
+ case 113:
+#line 486 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
}
-#line 1098 "d2_parser.cc" // lalr1.cc:859
+#line 1195 "d2_parser.cc" // lalr1.cc:859
break;
- case 94:
-#line 409 "d2_parser.yy" // lalr1.cc:859
+ case 114:
+#line 490 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1106 "d2_parser.cc" // lalr1.cc:859
+#line 1203 "d2_parser.cc" // lalr1.cc:859
break;
- case 95:
-#line 411 "d2_parser.yy" // lalr1.cc:859
+ case 115:
+#line 492 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
ctx.leave();
}
-#line 1116 "d2_parser.cc" // lalr1.cc:859
+#line 1213 "d2_parser.cc" // lalr1.cc:859
break;
- case 96:
-#line 417 "d2_parser.yy" // lalr1.cc:859
+ case 116:
+#line 498 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output_options", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.OUTPUT_OPTIONS);
}
-#line 1127 "d2_parser.cc" // lalr1.cc:859
+#line 1224 "d2_parser.cc" // lalr1.cc:859
break;
- case 97:
-#line 422 "d2_parser.yy" // lalr1.cc:859
+ case 117:
+#line 503 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1136 "d2_parser.cc" // lalr1.cc:859
+#line 1233 "d2_parser.cc" // lalr1.cc:859
break;
- case 100:
-#line 431 "d2_parser.yy" // lalr1.cc:859
+ case 120:
+#line 512 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1146 "d2_parser.cc" // lalr1.cc:859
+#line 1243 "d2_parser.cc" // lalr1.cc:859
break;
- case 101:
-#line 435 "d2_parser.yy" // lalr1.cc:859
+ case 121:
+#line 516 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 1154 "d2_parser.cc" // lalr1.cc:859
+#line 1251 "d2_parser.cc" // lalr1.cc:859
break;
- case 104:
-#line 443 "d2_parser.yy" // lalr1.cc:859
+ case 124:
+#line 524 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1162 "d2_parser.cc" // lalr1.cc:859
+#line 1259 "d2_parser.cc" // lalr1.cc:859
break;
- case 105:
-#line 445 "d2_parser.yy" // lalr1.cc:859
+ case 125:
+#line 526 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
ctx.leave();
}
-#line 1172 "d2_parser.cc" // lalr1.cc:859
+#line 1269 "d2_parser.cc" // lalr1.cc:859
break;
-#line 1176 "d2_parser.cc" // lalr1.cc:859
+#line 1273 "d2_parser.cc" // lalr1.cc:859
default:
break;
}
}
- const signed char D2Parser::yypact_ninf_ = -62;
+ const signed char D2Parser::yypact_ninf_ = -78;
const signed char D2Parser::yytable_ninf_ = -1;
const signed char
D2Parser::yypact_[] =
{
- 25, -62, -62, -62, 7, -3, 16, 22, -62, -62,
- -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
- -62, -62, -62, -62, -3, -4, 1, 5, -62, 30,
- 45, 50, 51, 57, -62, -62, -62, -62, 58, -62,
- 0, -62, -62, -62, -62, -62, -62, 59, 60, -62,
- -62, -62, -62, -62, -62, 2, -62, -62, -62, -62,
- -62, -62, -62, -62, -62, -62, -3, -3, -62, 27,
- 61, 62, 65, 66, -62, 1, -62, 67, 37, 38,
- 70, 71, 72, 76, 78, 5, -62, -62, -62, 79,
- -3, -3, 77, 80, -62, 52, -62, -62, -2, 68,
- -3, -3, -3, -62, -3, -62, -62, 5, 64, -62,
- -62, -62, -62, -62, -62, -62, -62, -62, 6, -62,
- 14, -62, -62, -62, 81, 64, -62, 85, -62, 84,
- -62, 47, -62, 11, 84, -62, -62, -62, 88, -62,
- -62, 39, -62, -62, -62, -62, -62, -62, 89, 90,
- 63, 91, 11, -62, 69, 92, -62, 74, -62, -62,
- 93, -62, -62, 49, -62, 73, 93, -62, -62, 43,
- -62, -62, 95, 73, -62, 75, -62, -62
+ 28, -78, -78, -78, 5, -3, 12, 13, -78, -78,
+ -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
+ -78, -78, -78, -78, -3, -7, 1, 2, -78, 27,
+ 43, 54, 52, 66, -78, -78, -78, -78, 67, -78,
+ 0, -78, -78, -78, -78, -78, -78, 68, 69, -78,
+ -78, -78, -78, -78, -78, 6, -78, -78, -78, -78,
+ -78, -78, -78, -78, -78, -78, -3, -3, -78, 33,
+ 70, 71, 72, 75, -78, 1, -78, 76, 44, 45,
+ 80, 81, 82, 83, 84, 2, -78, -78, -78, 85,
+ -3, -3, 86, 87, -78, 55, -78, -78, 48, 77,
+ -3, -3, 90, -78, -3, -78, -78, 2, 62, -78,
+ -78, -78, -78, -78, -78, -78, 89, -78, 19, -78,
+ 23, -78, -78, -78, 92, 88, -78, -78, 95, 62,
+ -78, 16, -78, 89, 96, -78, -78, 98, -78, -78,
+ -78, 49, -78, -78, -78, -78, -78, -78, 93, 99,
+ 73, 100, 102, 16, -78, -78, 4, -78, 78, -78,
+ 79, 91, -78, 18, 93, -78, -78, -78, -78, -78,
+ -78, 103, -78, -78, 51, -78, -78, -78, -78, -78,
+ -78, 104, 105, 74, 106, 18, -78, 94, 108, -78,
+ 97, -78, -78, 107, -78, -78, 26, -78, 101, 107,
+ -78, -78, 53, -78, -78, 113, 101, -78, 109, -78,
+ -78
};
const unsigned char
0, 2, 4, 6, 0, 0, 0, 0, 1, 22,
16, 12, 11, 8, 9, 10, 15, 3, 13, 14,
29, 5, 40, 7, 24, 18, 0, 0, 26, 0,
- 25, 0, 0, 19, 69, 71, 38, 73, 0, 37,
+ 25, 0, 0, 19, 89, 91, 38, 93, 0, 37,
0, 31, 36, 33, 35, 34, 53, 0, 0, 57,
61, 63, 65, 67, 52, 0, 42, 44, 45, 46,
47, 48, 49, 50, 51, 23, 0, 0, 17, 0,
0, 0, 0, 0, 28, 0, 30, 0, 0, 0,
0, 0, 0, 0, 0, 0, 41, 27, 20, 0,
0, 0, 0, 0, 32, 0, 55, 56, 0, 0,
- 0, 0, 0, 43, 0, 70, 72, 0, 0, 54,
- 59, 60, 58, 62, 64, 66, 68, 21, 0, 78,
- 0, 75, 77, 39, 0, 0, 74, 0, 76, 0,
- 82, 0, 80, 0, 0, 79, 91, 96, 0, 94,
- 90, 0, 84, 86, 88, 89, 87, 81, 0, 0,
- 0, 0, 0, 83, 0, 0, 93, 0, 85, 92,
- 0, 95, 100, 0, 98, 0, 0, 97, 104, 0,
- 102, 99, 0, 0, 101, 0, 103, 105
+ 0, 0, 0, 43, 0, 90, 92, 0, 0, 54,
+ 59, 60, 58, 62, 64, 66, 69, 21, 0, 98,
+ 0, 95, 97, 73, 0, 70, 71, 39, 0, 0,
+ 94, 0, 68, 0, 0, 96, 84, 0, 87, 82,
+ 81, 0, 75, 77, 78, 79, 80, 72, 0, 0,
+ 0, 0, 0, 0, 74, 102, 0, 100, 0, 86,
+ 0, 0, 76, 0, 0, 99, 85, 88, 83, 111,
+ 116, 0, 114, 110, 0, 104, 106, 108, 109, 107,
+ 101, 0, 0, 0, 0, 0, 103, 0, 0, 113,
+ 0, 105, 112, 0, 115, 120, 0, 118, 0, 0,
+ 117, 124, 0, 122, 119, 0, 0, 121, 0, 123,
+ 125
};
const signed char
D2Parser::yypgoto_[] =
{
- -62, -62, -62, -62, -62, -23, -62, -62, -62, -62,
- -62, -62, -62, -62, -62, -26, -62, -62, -62, 21,
- -62, -62, -62, -62, -5, 19, -62, -62, -62, -62,
- -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
- -62, -62, -62, -62, -62, -62, -62, -62, -20, -62,
- -62, -62, -28, -62, -62, -42, -62, -62, -62, -62,
- -62, -62, -62, -62, -55, -62, -62, -61, -62
+ -78, -78, -78, -78, -78, -23, -78, -78, -78, -78,
+ -78, -78, -78, -78, -78, -26, -78, -78, -78, 46,
+ -78, -78, -78, -78, 11, 34, -78, -78, -78, -78,
+ -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
+ -78, -78, -78, -13, -78, -78, -31, -78, -78, -78,
+ -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
+ -78, -6, -78, -78, -78, -40, -78, -78, -60, -78,
+ -78, -78, -78, -78, -78, -78, -78, -73, -78, -78,
+ -77, -78
};
const short int
33, 19, 24, 29, 30, 54, 21, 26, 40, 41,
42, 72, 23, 27, 55, 56, 57, 77, 58, 59,
60, 80, 112, 61, 81, 62, 82, 63, 83, 64,
- 84, 43, 70, 44, 71, 45, 73, 120, 121, 122,
- 124, 131, 132, 133, 141, 142, 143, 148, 144, 145,
- 151, 146, 149, 163, 164, 165, 169, 170, 172
+ 84, 124, 125, 126, 131, 141, 142, 143, 152, 144,
+ 149, 145, 146, 151, 43, 70, 44, 71, 45, 73,
+ 120, 121, 122, 128, 156, 157, 163, 174, 175, 176,
+ 181, 177, 178, 184, 179, 182, 196, 197, 198, 202,
+ 203, 205
};
const unsigned char
D2Parser::yytable_[] =
{
- 39, 28, 9, 75, 10, 85, 11, 8, 76, 85,
- 86, 34, 35, 36, 123, 110, 111, 125, 46, 47,
- 48, 49, 126, 20, 50, 37, 51, 52, 53, 22,
- 31, 12, 13, 14, 15, 38, 65, 136, 137, 38,
- 138, 139, 152, 87, 88, 38, 173, 153, 66, 39,
- 134, 174, 166, 135, 67, 167, 1, 2, 3, 68,
- 69, 89, 74, 78, 79, 90, 91, 105, 106, 92,
- 93, 95, 96, 97, 98, 99, 100, 114, 115, 116,
- 101, 117, 102, 104, 107, 127, 109, 108, 113, 119,
- 129, 130, 150, 154, 155, 157, 94, 160, 156, 175,
- 162, 168, 118, 159, 103, 128, 147, 140, 161, 177,
- 158, 171, 176, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 140
+ 39, 28, 9, 75, 10, 8, 11, 164, 76, 85,
+ 165, 34, 35, 36, 86, 46, 47, 48, 49, 20,
+ 22, 50, 85, 51, 52, 53, 129, 127, 37, 199,
+ 31, 130, 200, 65, 12, 13, 14, 15, 38, 38,
+ 136, 137, 138, 87, 88, 139, 66, 169, 170, 39,
+ 171, 172, 153, 38, 185, 38, 206, 154, 67, 186,
+ 68, 207, 1, 2, 3, 110, 111, 105, 106, 69,
+ 89, 74, 78, 79, 90, 91, 92, 114, 115, 93,
+ 95, 117, 96, 97, 98, 99, 100, 101, 102, 104,
+ 119, 133, 109, 107, 108, 116, 123, 113, 132, 134,
+ 155, 148, 150, 158, 160, 140, 161, 183, 187, 188,
+ 190, 159, 189, 193, 195, 166, 167, 208, 118, 103,
+ 147, 94, 162, 135, 180, 191, 204, 140, 168, 209,
+ 0, 192, 201, 0, 194, 0, 0, 173, 0, 0,
+ 0, 0, 0, 0, 0, 0, 210, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 173
};
const short int
D2Parser::yycheck_[] =
{
- 26, 24, 5, 3, 7, 3, 9, 0, 8, 3,
- 8, 10, 11, 12, 8, 17, 18, 3, 13, 14,
- 15, 16, 8, 7, 19, 24, 21, 22, 23, 7,
- 34, 34, 35, 36, 37, 34, 6, 26, 27, 34,
- 29, 30, 3, 66, 67, 34, 3, 8, 3, 75,
- 3, 8, 3, 6, 4, 6, 31, 32, 33, 8,
- 3, 34, 4, 4, 4, 4, 4, 90, 91, 4,
- 4, 4, 35, 35, 4, 4, 4, 100, 101, 102,
- 4, 104, 4, 4, 7, 4, 34, 7, 20, 25,
- 5, 7, 4, 4, 4, 4, 75, 5, 35, 4,
- 7, 28, 107, 34, 85, 125, 134, 133, 34, 34,
- 152, 166, 173, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 152
+ 26, 24, 5, 3, 7, 0, 9, 3, 8, 3,
+ 6, 10, 11, 12, 8, 13, 14, 15, 16, 7,
+ 7, 19, 3, 21, 22, 23, 3, 8, 27, 3,
+ 37, 8, 6, 6, 37, 38, 39, 40, 37, 37,
+ 24, 25, 26, 66, 67, 29, 3, 29, 30, 75,
+ 32, 33, 3, 37, 3, 37, 3, 8, 4, 8,
+ 8, 8, 34, 35, 36, 17, 18, 90, 91, 3,
+ 37, 4, 4, 4, 4, 4, 4, 100, 101, 4,
+ 4, 104, 38, 38, 4, 4, 4, 4, 4, 4,
+ 28, 3, 37, 7, 7, 5, 7, 20, 6, 4,
+ 7, 5, 4, 4, 4, 131, 4, 4, 4, 4,
+ 4, 38, 38, 5, 7, 37, 37, 4, 107, 85,
+ 133, 75, 153, 129, 164, 185, 199, 153, 37, 206,
+ -1, 37, 31, -1, 37, -1, -1, 163, -1, -1,
+ -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 185
};
const unsigned char
D2Parser::yystos_[] =
{
- 0, 31, 32, 33, 39, 40, 41, 42, 0, 5,
- 7, 9, 34, 35, 36, 37, 43, 44, 45, 49,
- 7, 54, 7, 60, 50, 46, 55, 61, 43, 51,
- 52, 34, 47, 48, 10, 11, 12, 24, 34, 53,
- 56, 57, 58, 79, 81, 83, 13, 14, 15, 16,
- 19, 21, 22, 23, 53, 62, 63, 64, 66, 67,
- 68, 71, 73, 75, 77, 6, 3, 4, 8, 3,
- 80, 82, 59, 84, 4, 3, 8, 65, 4, 4,
- 69, 72, 74, 76, 78, 3, 8, 43, 43, 34,
- 4, 4, 4, 4, 57, 4, 35, 35, 4, 4,
- 4, 4, 4, 63, 4, 43, 43, 7, 7, 34,
- 17, 18, 70, 20, 43, 43, 43, 43, 62, 25,
- 85, 86, 87, 8, 88, 3, 8, 4, 86, 5,
- 7, 89, 90, 91, 3, 6, 26, 27, 29, 30,
- 53, 92, 93, 94, 96, 97, 99, 90, 95, 100,
- 4, 98, 3, 8, 4, 4, 35, 4, 93, 34,
- 5, 34, 7, 101, 102, 103, 3, 6, 28, 104,
- 105, 102, 106, 3, 8, 4, 105, 34
+ 0, 34, 35, 36, 42, 43, 44, 45, 0, 5,
+ 7, 9, 37, 38, 39, 40, 46, 47, 48, 52,
+ 7, 57, 7, 63, 53, 49, 58, 64, 46, 54,
+ 55, 37, 50, 51, 10, 11, 12, 27, 37, 56,
+ 59, 60, 61, 95, 97, 99, 13, 14, 15, 16,
+ 19, 21, 22, 23, 56, 65, 66, 67, 69, 70,
+ 71, 74, 76, 78, 80, 6, 3, 4, 8, 3,
+ 96, 98, 62, 100, 4, 3, 8, 68, 4, 4,
+ 72, 75, 77, 79, 81, 3, 8, 46, 46, 37,
+ 4, 4, 4, 4, 60, 4, 38, 38, 4, 4,
+ 4, 4, 4, 66, 4, 46, 46, 7, 7, 37,
+ 17, 18, 73, 20, 46, 46, 5, 46, 65, 28,
+ 101, 102, 103, 7, 82, 83, 84, 8, 104, 3,
+ 8, 85, 6, 3, 4, 102, 24, 25, 26, 29,
+ 56, 86, 87, 88, 90, 92, 93, 84, 5, 91,
+ 4, 94, 89, 3, 8, 7, 105, 106, 4, 38,
+ 4, 4, 87, 107, 3, 6, 37, 37, 37, 29,
+ 30, 32, 33, 56, 108, 109, 110, 112, 113, 115,
+ 106, 111, 116, 4, 114, 3, 8, 4, 4, 38,
+ 4, 109, 37, 5, 37, 7, 117, 118, 119, 3,
+ 6, 31, 120, 121, 118, 122, 3, 8, 4, 121,
+ 37
};
const unsigned char
D2Parser::yyr1_[] =
{
- 0, 38, 40, 39, 41, 39, 42, 39, 43, 43,
- 43, 43, 43, 43, 43, 44, 46, 45, 47, 47,
- 48, 48, 50, 49, 51, 51, 52, 52, 53, 55,
- 54, 56, 56, 57, 57, 57, 57, 57, 59, 58,
- 61, 60, 62, 62, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 65, 64, 66, 67, 69, 68, 70,
- 70, 72, 71, 74, 73, 76, 75, 78, 77, 80,
- 79, 82, 81, 84, 83, 85, 85, 86, 88, 87,
- 89, 89, 91, 90, 92, 92, 93, 93, 93, 93,
- 93, 95, 94, 96, 98, 97, 100, 99, 101, 101,
- 103, 102, 104, 104, 106, 105
+ 0, 41, 43, 42, 44, 42, 45, 42, 46, 46,
+ 46, 46, 46, 46, 46, 47, 49, 48, 50, 50,
+ 51, 51, 53, 52, 54, 54, 55, 55, 56, 58,
+ 57, 59, 59, 60, 60, 60, 60, 60, 62, 61,
+ 64, 63, 65, 65, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 68, 67, 69, 70, 72, 71, 73,
+ 73, 75, 74, 77, 76, 79, 78, 81, 80, 82,
+ 82, 83, 83, 85, 84, 86, 86, 87, 87, 87,
+ 87, 87, 89, 88, 91, 90, 92, 94, 93, 96,
+ 95, 98, 97, 100, 99, 101, 101, 102, 104, 103,
+ 105, 105, 107, 106, 108, 108, 109, 109, 109, 109,
+ 109, 111, 110, 112, 114, 113, 116, 115, 117, 117,
+ 119, 118, 120, 120, 122, 121
};
const unsigned char
4, 1, 3, 1, 1, 1, 1, 1, 0, 6,
0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 4, 3, 3, 0, 4, 1,
- 1, 0, 4, 0, 4, 0, 4, 0, 4, 0,
+ 1, 0, 4, 0, 4, 0, 4, 0, 6, 0,
+ 1, 1, 3, 0, 4, 1, 3, 1, 1, 1,
+ 1, 1, 0, 4, 0, 4, 3, 0, 4, 0,
4, 0, 4, 0, 6, 1, 3, 1, 0, 6,
1, 3, 0, 4, 1, 3, 1, 1, 1, 1,
1, 0, 4, 3, 0, 4, 0, 6, 1, 3,
"\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Dhcp6\"", "\"Dhcp4\"",
"\"DhcpDdns\"", "\"ip-address\"", "\"port\"", "\"dns-server-timeout\"",
"\"ncr-protocol\"", "\"UDP\"", "\"TCP\"", "\"ncr-format\"", "\"JSON\"",
- "\"forward-ddns\"", "\"reverse-ddns\"", "\"tsig-keys\"", "\"Logging\"",
- "\"loggers\"", "\"name\"", "\"output_options\"", "\"output\"",
- "\"debuglevel\"", "\"severity\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCPDDNS",
- "SUB_DHCPDDNS", "\"constant string\"", "\"integer\"",
- "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2",
- "$@3", "value", "sub_json", "map2", "$@4", "map_content",
- "not_empty_map", "list_generic", "$@5", "list_content", "not_empty_list",
+ "\"forward-ddns\"", "\"reverse-ddns\"", "\"tsig-keys\"", "\"algorithm\"",
+ "\"digest-bits\"", "\"secret\"", "\"Logging\"", "\"loggers\"",
+ "\"name\"", "\"output_options\"", "\"output\"", "\"debuglevel\"",
+ "\"severity\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCPDDNS", "SUB_DHCPDDNS",
+ "\"constant string\"", "\"integer\"", "\"floating point\"",
+ "\"boolean\"", "$accept", "start", "$@1", "$@2", "$@3", "value",
+ "sub_json", "map2", "$@4", "map_content", "not_empty_map",
+ "list_generic", "$@5", "list_content", "not_empty_list",
"unknown_map_entry", "syntax_map", "$@6", "global_objects",
"global_object", "dhcpddns_object", "$@7", "sub_dhcpddns", "$@8",
"dhcpddns_params", "dhcpddns_param", "ip_address", "$@9", "port",
"dns_server_timeout", "ncr_protocol", "$@10", "ncr_protocol_value",
"ncr_format", "$@11", "forward_ddns", "$@12", "reverse_ddns", "$@13",
- "tsig_keys", "$@14", "dhcp6_json_object", "$@15", "dhcp4_json_object",
- "$@16", "logging_object", "$@17", "logging_params", "logging_param",
- "loggers", "$@18", "loggers_entries", "logger_entry", "$@19",
- "logger_params", "logger_param", "name", "$@20", "debuglevel",
- "severity", "$@21", "output_options_list", "$@22",
- "output_options_list_content", "output_entry", "$@23", "output_params",
- "output_param", "$@24", YY_NULLPTR
+ "tsig_keys", "$@14", "tsig_keys_list", "not_empty_tsig_keys_list",
+ "tsig_key", "$@15", "tsig_key_params", "tsig_key_param", "tsig_key_name",
+ "$@16", "tsig_key_algorithm", "$@17", "tsig_key_digest_bits",
+ "tsig_key_secret", "$@18", "dhcp6_json_object", "$@19",
+ "dhcp4_json_object", "$@20", "logging_object", "$@21", "logging_params",
+ "logging_param", "loggers", "$@22", "loggers_entries", "logger_entry",
+ "$@23", "logger_params", "logger_param", "name", "$@24", "debuglevel",
+ "severity", "$@25", "output_options_list", "$@26",
+ "output_options_list_content", "output_entry", "$@27", "output_params",
+ "output_param", "$@28", YY_NULLPTR
};
#if D2_PARSER_DEBUG
const unsigned short int
D2Parser::yyrline_[] =
{
- 0, 100, 100, 100, 101, 101, 102, 102, 110, 111,
- 112, 113, 114, 115, 116, 119, 124, 124, 136, 137,
- 140, 144, 151, 151, 166, 167, 170, 174, 185, 195,
- 195, 207, 208, 212, 213, 214, 215, 216, 221, 221,
- 231, 231, 239, 240, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 254, 254, 262, 270, 279, 279, 287,
- 288, 291, 291, 299, 299, 306, 306, 313, 313, 320,
- 320, 327, 327, 339, 339, 352, 353, 357, 361, 361,
- 373, 374, 378, 378, 386, 387, 390, 391, 392, 393,
- 394, 397, 397, 405, 409, 409, 417, 417, 427, 428,
- 431, 431, 439, 440, 443, 443
+ 0, 103, 103, 103, 104, 104, 105, 105, 113, 114,
+ 115, 116, 117, 118, 119, 122, 127, 127, 139, 140,
+ 143, 147, 154, 154, 169, 170, 173, 177, 188, 198,
+ 198, 210, 211, 215, 216, 217, 218, 219, 224, 224,
+ 234, 234, 242, 243, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 257, 257, 265, 273, 282, 282, 290,
+ 291, 294, 294, 302, 302, 309, 309, 318, 318, 328,
+ 329, 332, 333, 336, 336, 344, 345, 348, 349, 350,
+ 351, 352, 355, 355, 367, 367, 378, 386, 386, 401,
+ 401, 408, 408, 420, 420, 433, 434, 438, 442, 442,
+ 454, 455, 459, 459, 467, 468, 471, 472, 473, 474,
+ 475, 478, 478, 486, 490, 490, 498, 498, 508, 509,
+ 512, 512, 520, 521, 524, 524
};
// Print the state stack on the debug stream.
#line 14 "d2_parser.yy" // lalr1.cc:1167
} } // isc::d2
-#line 1677 "d2_parser.cc" // lalr1.cc:1167
-#line 451 "d2_parser.yy" // lalr1.cc:1168
+#line 1806 "d2_parser.cc" // lalr1.cc:1167
+#line 532 "d2_parser.yy" // lalr1.cc:1168
void