diff options
author | David Mitchell <davem@iabyn.com> | 2016-01-28 15:14:57 +0000 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2016-08-03 20:54:40 +0100 |
commit | d3d9da4a748f12980e8b04fe471398bf91237705 (patch) | |
tree | 0ad8bbe844a4d0c4de002a3481f2b1d6cb167ee6 /perly.tab | |
parent | d64e121b07bda895f7f3a5d0e449fc948986e2f1 (diff) | |
download | perl-d3d9da4a748f12980e8b04fe471398bf91237705.tar.gz |
sub signatures: use parser rather than lexer
Currently the signature of a sub (i.e. the '($a, $b = 1)' bit) is parsed
in toke.c using a roll-your-own mini-parser. This commit makes
the signature be part of the general grammar in perly.y instead.
In theory it should still generate the same optree as before, except
that an OP_STUB is no longer appended to each signature optree: it's
unnecessary, and I assume that was a hangover from early development of
the original signature code.
Error messages have changed somewhat: the generic 'Parse error' has
changed to the generic 'syntax error', with the addition of ', near "xyz"'
now appended to each message.
Also, some specific error messages have been added; for example
(@a=1) now says that slurpy params can't have a default vale, rather than
just giving 'Parse error'.
It introduces a new lexer expect state, XSIGVAR, since otherwise when
the lexer saw something like '($, ...)' it would see the identifier
'$,' rather than the tokens '$' and ','.
Since it no longer uses parse_termexpr(), it is no longer subject to the
bug (#123010) associated with that; so sub f($x = print, $y) {}
is no longer mis-interpreted as sub f($x = print($_, $y)) {}
Diffstat (limited to 'perly.tab')
-rw-r--r-- | perly.tab | 1379 |
1 files changed, 694 insertions, 685 deletions
@@ -6,16 +6,16 @@ #define YYFINAL 14 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3111 +#define YYLAST 3085 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 105 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 78 +#define YYNNTS 86 /* YYNRULES -- Number of rules. */ -#define YYNRULES 256 +#define YYNRULES 272 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 521 +#define YYNSTATES 539 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -69,32 +69,34 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 115, 115, 114, 125, 124, 134, 133, 146, 145, - 158, 157, 170, 169, 181, 189, 197, 201, 209, 215, - 216, 226, 227, 236, 240, 244, 248, 255, 257, 268, - 267, 301, 300, 339, 347, 346, 355, 361, 367, 372, - 374, 376, 383, 391, 393, 390, 410, 415, 422, 421, - 436, 444, 450, 457, 456, 471, 475, 483, 501, 502, - 507, 509, 511, 513, 515, 517, 519, 522, 528, 529, - 534, 545, 546, 552, 558, 559, 564, 567, 571, 576, - 580, 584, 585, 589, 595, 600, 605, 606, 611, 612, - 617, 618, 620, 625, 627, 633, 632, 651, 652, 656, - 658, 660, 662, 666, 668, 673, 677, 681, 685, 691, - 696, 702, 708, 710, 713, 712, 723, 724, 728, 732, - 735, 740, 745, 748, 752, 756, 759, 764, 768, 771, - 773, 775, 780, 782, 784, 789, 791, 793, 795, 797, - 799, 801, 803, 805, 807, 809, 814, 816, 819, 821, - 823, 826, 829, 840, 843, 850, 852, 854, 856, 858, - 861, 875, 877, 881, 882, 883, 884, 885, 887, 889, - 891, 893, 895, 897, 899, 901, 903, 905, 907, 909, - 911, 913, 923, 933, 943, 953, 955, 957, 960, 965, - 969, 971, 973, 975, 978, 980, 983, 985, 987, 989, - 991, 993, 995, 997, 999, 1002, 1004, 1006, 1008, 1010, - 1012, 1016, 1019, 1018, 1031, 1032, 1033, 1038, 1042, 1044, - 1046, 1051, 1053, 1056, 1058, 1060, 1065, 1067, 1072, 1073, - 1078, 1079, 1085, 1089, 1090, 1091, 1094, 1095, 1098, 1099, - 1102, 1106, 1110, 1116, 1122, 1124, 1128, 1132, 1133, 1137, - 1138, 1142, 1143, 1148, 1150, 1152, 1155 + 0, 118, 118, 117, 128, 127, 137, 136, 149, 148, + 161, 160, 173, 172, 184, 192, 200, 204, 212, 218, + 219, 229, 230, 239, 243, 247, 251, 258, 260, 271, + 270, 304, 303, 342, 350, 349, 358, 364, 370, 375, + 377, 379, 386, 394, 396, 393, 413, 418, 425, 424, + 439, 447, 453, 460, 459, 474, 478, 486, 504, 505, + 510, 512, 514, 516, 518, 520, 522, 525, 531, 532, + 537, 548, 549, 555, 561, 562, 567, 570, 574, 579, + 583, 587, 588, 592, 598, 603, 608, 609, 614, 615, + 620, 621, 623, 628, 630, 642, 643, 651, 653, 657, + 705, 706, 708, 714, 792, 794, 800, 802, 806, 812, + 813, 818, 817, 897, 898, 902, 904, 906, 908, 912, + 914, 919, 923, 927, 931, 937, 942, 948, 954, 956, + 959, 958, 969, 970, 974, 978, 981, 986, 991, 994, + 998, 1002, 1005, 1010, 1014, 1017, 1019, 1021, 1026, 1028, + 1030, 1035, 1037, 1039, 1041, 1043, 1045, 1047, 1049, 1051, + 1053, 1055, 1060, 1062, 1065, 1067, 1069, 1072, 1075, 1086, + 1089, 1096, 1098, 1100, 1102, 1104, 1107, 1121, 1123, 1127, + 1128, 1129, 1130, 1131, 1133, 1135, 1137, 1139, 1141, 1143, + 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1169, 1179, + 1189, 1199, 1201, 1203, 1206, 1211, 1215, 1217, 1219, 1221, + 1224, 1226, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243, + 1245, 1248, 1250, 1252, 1254, 1256, 1258, 1262, 1265, 1264, + 1277, 1278, 1279, 1284, 1288, 1290, 1292, 1297, 1299, 1302, + 1304, 1306, 1311, 1313, 1318, 1319, 1324, 1325, 1331, 1335, + 1336, 1337, 1340, 1341, 1344, 1345, 1348, 1352, 1356, 1362, + 1368, 1370, 1374, 1378, 1379, 1383, 1384, 1388, 1389, 1394, + 1396, 1398, 1401 }; #endif @@ -124,12 +126,14 @@ static const char *const yytname[] = "$@13", "formline", "formarg", "sideff", "else", "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub", "startanonsub", "startformsub", "subname", "proto", "subattrlist", - "myattrlist", "subsignature", "@14", "optsubbody", "expr", "listexpr", - "listop", "@15", "method", "subscripted", "termbinop", "termunop", - "anonymous", "termdo", "term", "@16", "myattrterm", "myterm", - "optlistexpr", "optexpr", "optrepl", "my_scalar", "my_var", - "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen", - "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR + "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem", + "sigdefault", "sigscalarelem", "sigelem", "siglist", "siglistornull", + "subsignature", "$@14", "optsubbody", "expr", "listexpr", "listop", + "@15", "method", "subscripted", "termbinop", "termunop", "anonymous", + "termdo", "term", "@16", "myattrterm", "myterm", "optlistexpr", + "optexpr", "optrepl", "my_scalar", "my_var", "refgen_topic", "my_refgen", + "amper", "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice", + "gelem", "indirob", YY_NULLPTR }; #endif @@ -152,73 +156,74 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -412 +#define YYPACT_NINF -440 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-412))) + (!!((Yystate) == (-440))) -#define YYTABLE_NINF -252 +#define YYTABLE_NINF -268 #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-252))) + (!!((Yytable_value) == (-268))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - 903, -412, -412, -412, -412, -412, -412, 8, -412, 2810, - 16, 1502, 1407, -412, -412, -412, 1973, 2810, 2810, 31, - 31, 31, -412, 31, 31, -412, -412, 46, -66, -412, - 2810, -412, -412, -412, 2810, -412, -54, -20, -19, 1880, - 1785, 31, 1880, 2066, 35, 2810, 62, 2810, 2810, 2810, - 2810, 2810, 2810, 2810, 2159, 31, 31, 341, -13, -412, - 7, -412, -412, -412, -412, 2971, -412, -412, -2, 73, - 79, 82, -412, 76, 123, 180, 92, -412, -412, -412, - -412, -412, 35, 90, -412, 18, 28, 36, 47, 167, - 88, 104, 16, -412, 78, -412, 102, 1971, 1407, -412, - -412, -412, 647, 742, -412, 77, 731, 731, -412, -412, - -412, -412, -412, -412, -412, 2810, 117, 118, 2810, 122, - 367, 16, -4, 2971, 126, 2252, 1785, -412, 367, 545, - -13, -412, 438, 2810, -412, -412, 367, 212, 100, -412, - -412, 2810, 367, 2903, 2345, 157, -412, -412, -412, 367, - -13, 731, 731, 731, 71, 71, 219, 221, -412, -412, - 2810, 2810, 2810, 2810, 2810, 2810, 2438, 2810, 2810, 2810, - 2810, 2810, 2810, 2810, 2810, 2810, 2810, 2810, 2810, 2810, - 2810, 2810, -412, -412, -412, 245, 2531, 2810, 2810, 2810, - 2810, 2810, 2810, 2810, -412, 209, -412, 213, -412, -412, - -412, -412, -412, 144, 55, -412, -412, 139, -412, -412, - -412, 16, -412, -412, 2810, 2810, 2810, 2810, 2810, 2810, - -412, -412, -412, -412, -412, 2810, 2810, 97, -412, -412, - -412, 141, 173, -412, -412, 256, 145, 2810, -13, -412, - 242, -412, 2624, 731, 157, 52, 57, 58, -412, 312, - 230, -412, 2810, 244, 193, 193, -412, 2971, 201, 103, - -412, 346, 1584, 483, 1768, 724, 502, 2971, 2929, 468, - 468, 1675, 408, 1863, 630, 731, 731, 2810, 2810, 170, - 177, 184, -412, 186, 2717, 11, 187, 225, -412, -412, - 473, 218, 119, 259, 125, 279, 132, 309, 837, -412, - 252, 235, 2, 288, 2810, 2810, 2810, 2810, -412, 207, - -412, -412, 236, -412, -412, -412, -412, 1596, 23, -412, - 2810, 2810, -412, 341, -412, 341, 341, 341, 341, 341, - 222, -30, -412, 2810, -412, 173, 323, 16, -412, -412, - 534, -412, 30, 540, -412, -412, -412, 190, 2810, 340, - -412, -412, 2810, 329, 208, -412, -412, -412, -412, -412, - 632, -412, -412, 2810, -412, 352, -412, 354, -412, 380, - -412, 387, -412, -412, -412, 328, -412, -412, -412, 336, - 301, 341, 302, 306, 341, 307, 308, -412, -412, -412, - -412, 310, 325, 264, -412, 2810, 334, 335, -412, 2810, - 338, -412, 343, 426, -412, -412, -412, 42, -412, 211, - -412, 3013, 429, -412, -412, 344, -412, -412, -412, -412, - 355, 173, 141, -412, 2810, -412, -412, 435, 435, 2810, - 2810, 435, -412, 360, 356, 435, 435, 341, -412, -412, - -412, -412, -412, -412, 390, 5, 173, -412, 370, 435, - 435, -412, 32, 32, 373, 374, 78, 2810, 2810, 435, - -412, -412, 932, -412, -412, -412, -412, 466, 1027, -412, - 78, 78, -412, 435, 376, -412, -412, 435, 435, -412, - 382, 388, 78, -412, 29, -412, -412, -412, -412, 1122, - -412, 2810, 78, 78, -412, 435, -412, 411, 471, -412, - 1217, -412, 392, -412, -412, -412, 78, -412, -412, -412, - -412, 435, 1690, -412, 1312, 32, 402, -412, -412, 435, - -412 + 824, -440, -440, -440, -440, -440, -440, 21, -440, 2826, + 44, 1518, 1423, -440, -440, -440, 1989, 2826, 2826, 60, + 60, 60, -440, 60, 60, -440, -440, 8, -68, -440, + 2826, -440, -440, -440, 2826, -440, -46, -29, -18, 1896, + 1801, 60, 1896, 2082, 16, 2826, 137, 2826, 2826, 2826, + 2826, 2826, 2826, 2826, 2175, 60, 60, 170, 36, -440, + 7, -440, -440, -440, -440, 2945, -440, -440, 17, 126, + 209, 221, -440, 89, 239, 266, 113, -440, -440, -440, + -440, -440, 16, 106, -440, 29, 32, 57, 61, 149, + 66, 70, 44, -440, 102, -440, 116, 325, 1423, -440, + -440, -440, 663, 758, -440, 195, 442, 442, -440, -440, + -440, -440, -440, -440, -440, 2826, 73, 122, 2826, 127, + 318, 44, -8, 2945, 142, 2268, 1801, -440, 318, 561, + 36, -440, 485, 2826, -440, -440, 318, 215, 90, -440, + -440, 2826, 318, 2919, 2361, 186, -440, -440, -440, 318, + 36, 442, 442, 442, 535, 535, 252, 256, -440, -440, + 2826, 2826, 2826, 2826, 2826, 2826, 2454, 2826, 2826, 2826, + 2826, 2826, 2826, 2826, 2826, 2826, 2826, 2826, 2826, 2826, + 2826, 2826, -440, -440, -440, 72, 2547, 2826, 2826, 2826, + 2826, 2826, 2826, 2826, -440, 244, -440, 260, -440, -440, + -440, -440, -440, 190, 23, -440, -440, 184, -440, -440, + -440, 44, -440, -440, 2826, 2826, 2826, 2826, 2826, 2826, + -440, -440, -440, -440, -440, 2826, 2826, 217, -440, -440, + -440, 194, 227, -440, -440, 295, 187, 2826, 36, -440, + 296, -440, 2640, 442, 186, 47, 52, 75, -440, 309, + 284, -440, 2826, 301, 251, 251, -440, 2945, 160, 230, + -440, 455, 1600, 518, 1879, 498, 646, 2945, 369, 1692, + 1692, 419, 1786, 1972, 531, 442, 442, 2826, 2826, 224, + 229, 231, -440, 232, 2733, 48, 243, 274, -440, -440, + 475, 192, 235, 370, 246, 399, 250, 408, 853, -440, + 338, 290, -2, 355, 2826, 2826, 2826, 2826, -440, 299, + -440, -440, 297, -440, -440, -440, -440, 1612, 31, -440, + 2826, 2826, -440, 170, -440, 170, 170, 170, 170, 170, + 303, 19, -440, 2826, -440, 227, 380, 44, -440, -440, + 576, -440, 98, 648, -440, -440, -440, 264, 2826, 402, + -440, -440, 2826, 418, 270, -440, -440, -440, -440, -440, + 661, -440, -440, 2826, -440, 409, -440, 412, -440, 415, + -440, 416, -440, -440, -440, 386, -440, -440, -440, 411, + 333, 170, 336, 337, 170, 339, 341, -440, -440, -440, + -440, 340, 345, 312, -440, 2826, 358, 359, -440, 2826, + 363, -440, 112, 459, -440, -440, -440, 107, -440, 275, + -440, 2987, 465, -440, -440, 377, -440, -440, -440, -440, + 368, 227, 194, -440, 2826, -440, -440, 477, 477, 2826, + 2826, 477, -440, 384, 389, 477, 477, 170, -440, -440, + -440, 464, 464, -440, -440, -440, 413, 396, -440, -440, + -440, -440, 427, 5, 227, -440, 398, 477, 477, -440, + 134, 134, 414, 421, 102, 2826, 2826, 477, -440, -440, + -440, 423, 423, 112, -440, 948, -440, -440, -440, -440, + 499, 1043, -440, 102, 102, -440, 477, 407, -440, -440, + 477, 477, -440, 422, 433, 102, 2826, -440, -440, -440, + -440, 3, -440, -440, -440, -440, 1138, -440, 2826, 102, + 102, -440, 477, -440, 2945, 452, 493, -440, 1233, -440, + 436, -440, -440, -440, 102, -440, -440, -440, -440, 477, + 1706, -440, 1328, 134, 448, -440, -440, 477, -440 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -226,85 +231,88 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 2, 4, 6, 8, 10, 12, 0, 16, 228, + 0, 2, 4, 6, 8, 10, 12, 0, 16, 244, 0, 0, 0, 19, 1, 19, 0, 0, 0, 0, - 0, 0, 214, 0, 0, 185, 212, 173, 207, 209, - 203, 84, 217, 84, 195, 216, 205, 0, 0, 198, - 226, 0, 0, 0, 0, 0, 0, 201, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 229, 102, 215, - 180, 163, 164, 165, 166, 105, 170, 5, 186, 175, - 178, 177, 179, 176, 0, 0, 0, 16, 7, 60, + 0, 0, 230, 0, 0, 201, 228, 189, 223, 225, + 219, 84, 233, 84, 211, 232, 221, 0, 0, 214, + 242, 0, 0, 0, 0, 0, 0, 217, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 245, 118, 231, + 196, 179, 180, 181, 182, 121, 186, 5, 202, 191, + 194, 193, 195, 192, 0, 0, 0, 16, 7, 60, 27, 85, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 56, 71, 9, 0, 61, 0, 11, - 24, 23, 0, 0, 156, 0, 146, 147, 253, 256, - 255, 254, 242, 243, 240, 226, 0, 0, 0, 0, - 204, 0, 88, 196, 0, 0, 228, 199, 200, 253, - 227, 112, 254, 0, 244, 162, 161, 0, 0, 86, - 87, 226, 171, 0, 0, 219, 223, 225, 224, 202, - 197, 148, 149, 168, 153, 154, 174, 0, 241, 246, - 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, + 24, 23, 0, 0, 172, 0, 162, 163, 269, 272, + 271, 270, 258, 259, 256, 242, 0, 0, 0, 0, + 220, 0, 88, 212, 0, 0, 244, 215, 216, 269, + 243, 128, 270, 0, 260, 178, 177, 0, 0, 86, + 87, 242, 187, 0, 0, 235, 239, 241, 240, 218, + 213, 164, 165, 184, 169, 170, 190, 0, 257, 262, + 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 150, 151, 152, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 82, 83, 0, 34, 16, 16, 16, 16, 16, 0, 16, 16, 0, 16, 16, 40, 0, 52, 55, 0, 0, 0, 0, 0, 0, - 26, 25, 20, 155, 110, 228, 0, 0, 208, 114, - 89, 0, 90, 206, 210, 0, 0, 0, 106, 158, - 0, 189, 0, 169, 0, 175, 178, 177, 222, 0, - 94, 218, 0, 172, 100, 101, 99, 104, 0, 0, - 128, 0, 141, 137, 138, 134, 135, 132, 0, 143, - 144, 142, 140, 139, 136, 145, 133, 0, 0, 248, - 250, 0, 116, 0, 0, 0, 252, 109, 117, 187, + 26, 25, 20, 171, 126, 244, 0, 0, 224, 130, + 89, 0, 90, 222, 226, 0, 0, 0, 122, 174, + 0, 205, 0, 185, 0, 191, 194, 193, 238, 0, + 94, 234, 0, 188, 116, 117, 115, 120, 0, 0, + 144, 0, 157, 153, 154, 150, 151, 148, 0, 159, + 160, 158, 156, 155, 152, 161, 149, 0, 0, 264, + 266, 0, 132, 0, 0, 0, 268, 125, 133, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 29, 0, 0, 76, 0, 0, 0, 238, 0, - 239, 236, 0, 237, 233, 234, 235, 0, 0, 16, + 0, 29, 0, 0, 76, 0, 0, 0, 254, 0, + 255, 252, 0, 253, 249, 250, 251, 0, 0, 16, 0, 0, 72, 64, 65, 78, 62, 63, 66, 67, - 0, 230, 130, 226, 95, 90, 92, 0, 211, 113, - 0, 157, 174, 0, 220, 221, 93, 0, 0, 0, - 121, 127, 0, 0, 0, 191, 192, 193, 245, 125, - 0, 190, 194, 228, 188, 0, 119, 0, 181, 0, - 182, 0, 14, 16, 28, 88, 16, 16, 33, 0, - 0, 77, 0, 0, 79, 0, 0, 232, 16, 75, - 80, 0, 0, 61, 48, 0, 0, 0, 111, 0, - 0, 115, 0, 0, 91, 159, 107, 172, 131, 0, - 124, 167, 0, 120, 126, 0, 122, 183, 184, 118, - 0, 90, 0, 53, 226, 73, 73, 0, 0, 0, - 0, 0, 43, 0, 0, 0, 0, 231, 213, 96, - 19, 129, 123, 108, 0, 0, 90, 19, 0, 0, - 0, 18, 68, 68, 0, 0, 71, 76, 0, 0, - 38, 39, 0, 21, 98, 97, 30, 0, 0, 35, - 71, 71, 19, 0, 0, 36, 37, 0, 0, 51, - 0, 0, 71, 160, 0, 19, 54, 41, 42, 0, - 69, 0, 71, 71, 44, 0, 47, 58, 0, 22, - 0, 17, 0, 46, 50, 73, 71, 19, 57, 15, - 32, 0, 0, 49, 0, 68, 0, 59, 70, 0, - 45 + 0, 246, 146, 242, 111, 90, 92, 0, 227, 129, + 0, 173, 190, 0, 236, 237, 93, 0, 0, 0, + 137, 143, 0, 0, 0, 207, 208, 209, 261, 141, + 0, 206, 210, 244, 204, 0, 135, 0, 197, 0, + 198, 0, 14, 16, 28, 88, 16, 16, 33, 0, + 0, 77, 0, 0, 79, 0, 0, 248, 16, 75, + 80, 0, 0, 61, 48, 0, 0, 0, 127, 0, + 0, 131, 109, 0, 91, 175, 123, 188, 147, 0, + 140, 183, 0, 136, 142, 0, 138, 199, 200, 134, + 0, 90, 0, 53, 242, 73, 73, 0, 0, 0, + 0, 0, 43, 0, 0, 0, 0, 247, 229, 97, + 98, 95, 95, 105, 104, 108, 110, 0, 19, 145, + 139, 124, 0, 0, 90, 19, 0, 0, 0, 18, + 68, 68, 0, 0, 71, 76, 0, 0, 38, 39, + 96, 100, 100, 106, 112, 0, 21, 114, 113, 30, + 0, 0, 35, 71, 71, 19, 0, 0, 36, 37, + 0, 0, 51, 0, 0, 71, 101, 103, 99, 107, + 176, 0, 19, 54, 41, 42, 0, 69, 0, 71, + 71, 44, 0, 47, 102, 58, 0, 22, 0, 17, + 0, 46, 50, 73, 71, 19, 57, 15, 32, 0, + 0, 49, 0, 68, 0, 59, 70, 0, 45 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -412, -412, -412, -412, -412, -412, -412, -412, 3, -412, - -60, -37, -412, -15, -412, 490, 410, 10, -412, -412, - -412, -412, -412, -412, -412, -412, -412, -315, -399, -75, - -411, -412, 53, 204, -234, 19, -412, 318, 499, -412, - 456, 165, -329, 305, 134, -412, -412, -6, -36, -412, - -412, -412, -412, -412, -412, -412, -412, 198, -412, -412, - 415, -106, -125, -412, -412, 241, -412, -412, 357, 303, - -41, -39, -412, -412, -412, -412, -412, 9 + -440, -440, -440, -440, -440, -440, -440, -440, 10, -440, + -60, -95, -440, -15, -440, 529, 454, -3, -440, -440, + -440, -440, -440, -440, -440, -440, -440, -315, -439, -103, + -420, -440, 88, 282, -206, 26, -440, 361, 522, -440, + 506, 200, -330, 353, 156, -440, -440, 136, -440, 133, + -440, -440, 177, -440, -440, -6, -36, -440, -440, -440, + -440, -440, -440, -440, -440, 25, -440, -440, 468, -106, + -125, -440, -440, 306, -440, -440, 450, 233, -35, -33, + -440, -440, -440, -440, -440, 4 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 7, 8, 9, 10, 11, 12, 13, 94, 374, - 15, 452, 472, 102, 484, 222, 100, 101, 375, 376, - 303, 457, 505, 433, 447, 499, 508, 96, 475, 212, - 449, 390, 380, 324, 383, 392, 300, 198, 121, 195, - 141, 232, 337, 251, 335, 402, 466, 97, 58, 59, - 333, 287, 60, 61, 62, 63, 64, 65, 117, 66, - 145, 131, 67, 400, 386, 311, 312, 206, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 158 + 15, 460, 485, 102, 501, 222, 100, 101, 375, 376, + 303, 465, 523, 433, 455, 517, 526, 96, 488, 212, + 457, 390, 380, 324, 383, 392, 300, 198, 121, 195, + 141, 232, 337, 251, 471, 442, 443, 497, 444, 445, + 446, 447, 335, 402, 479, 97, 58, 59, 333, 287, + 60, 61, 62, 63, 64, 65, 117, 66, 145, 131, + 67, 400, 386, 311, 312, 206, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -312,232 +320,215 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 103, 236, 389, 57, 130, 147, 403, 148, 14, 224, - 105, 377, 150, 78, 77, 450, 164, 194, 165, 230, - 77, 95, 110, 110, 110, 77, 110, 110, 112, 113, - 114, 108, 115, 116, 119, 241, 109, 138, 19, 20, - 77, 252, 127, 110, 110, 135, 124, 163, 157, 133, - 134, 108, 497, 348, 476, 139, 109, 118, 110, 110, - 140, 187, 231, 188, 163, 159, -247, -249, -247, -249, - 19, 20, 21, 385, 399, 473, 474, 19, 20, 130, - 125, 126, 187, 391, 188, -251, 396, 397, -247, 223, - -247, -249, 445, -249, 512, 210, -16, 238, 186, -222, - 330, 193, 246, 378, 247, 130, 464, 166, 221, 332, - 197, -221, 227, 55, 361, 350, 518, 467, 199, 235, - 57, -223, 310, 211, 229, 55, -225, -224, 200, 110, - 498, 366, 189, 55, 190, 237, 201, 368, 249, 304, - 305, 306, 307, 309, 370, 317, 318, 202, 320, 321, - 160, 161, 162, 143, 254, 255, 256, 55, 258, 259, - 261, 434, 144, 315, 55, 316, -252, -252, -252, 185, - 160, 161, 162, 160, 161, 162, 160, 161, 162, 298, - 290, 291, 292, 293, 294, 295, 296, 297, 208, 191, - 331, 192, 160, 161, 162, 454, 455, 389, 160, 161, - 162, 240, 408, 213, 209, 160, 161, 162, 323, 325, - 326, 327, 328, 329, 322, 106, 107, 225, 226, 57, - 413, 228, 239, 441, 481, 233, 250, 401, 120, 299, - 252, 340, 123, 302, 203, 308, 343, 128, 415, 319, - 136, 334, 336, 142, 339, 149, 347, 151, 152, 153, - 154, 155, 341, 346, 277, 348, 278, 502, 204, 395, - 279, 280, 281, 160, 161, 162, 282, 205, 162, 55, - 373, 353, 354, 355, 160, 161, 162, 315, 360, 316, - 356, 160, 161, 162, 160, 161, 162, 357, 110, 358, - 362, 160, 161, 162, 160, 161, 162, 130, 381, 325, - 384, 384, 349, 214, 215, 216, 217, 283, 379, 55, - 218, 393, 219, 420, 384, 384, 422, 423, 448, 365, - 253, 398, 111, 111, 111, 363, 111, 111, 430, 160, - 161, 162, 160, 161, 162, -31, 388, 160, 161, 162, - 405, 243, 409, 132, 111, 284, 404, 285, 286, 146, - 410, 230, 160, 161, 162, 338, 424, 57, 111, 111, - 367, 257, 416, -79, 417, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 369, 479, 160, 161, 162, 160, 161, 162, 130, 384, - 418, 453, 207, 437, 456, 487, 488, 419, 460, 461, - 425, 426, 160, 161, 162, 427, 428, 496, 429, 431, - 371, 345, 470, 471, 160, 161, 162, 503, 504, 160, - 161, 162, 482, 384, 384, 462, 432, 170, 171, 132, - 412, 513, 468, 435, 436, 440, 490, 438, -175, 442, - 492, 493, 439, 443, 451, 351, 245, 187, 465, 188, - -175, 381, 384, 179, 180, 459, 444, 489, 506, 181, - 458, 463, 182, 183, 184, 185, 168, 169, 170, 171, - 500, 469, 477, 478, 515, 485, 491, -175, -175, -175, - -175, 507, 520, 494, -175, 384, -175, 495, 288, -175, - 509, 511, 514, 178, 179, 180, -175, -175, -175, -175, - 181, 519, 99, 182, 183, 184, 185, 314, 220, 382, - 480, -175, -175, -175, 301, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, 168, 169, 170, 171, - -175, 516, 122, -175, -175, -175, -175, -175, 196, -175, - 421, -252, -175, 170, 171, -214, 160, 161, 162, 344, - 411, 176, 177, 178, 179, 180, 446, -214, 244, 394, - 181, 313, 170, 182, 183, 184, 185, 0, 0, 179, - 180, 0, 364, 0, 0, 181, 0, 0, 182, 183, - 184, 185, 0, 0, -214, -214, -214, -214, 111, 180, - 0, -214, 0, -214, 181, 0, -214, 182, 183, 184, - 185, 0, 0, -214, -214, -214, -214, 160, 161, 162, - 0, 0, 387, 160, 161, 162, 0, 0, -214, -214, - -214, 314, -214, -214, -214, -214, -214, -214, -214, -214, - -214, -214, -214, 406, 0, 0, 0, -214, 0, 407, - -214, -214, -214, -214, -214, 0, -214, -13, 79, -214, - 0, 0, 0, 0, 0, 0, 77, 0, 16, 0, - 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, - 25, 26, 0, 27, 28, 29, 30, 31, 32, 80, - 98, 81, 82, 33, 83, 84, 85, 86, 87, 88, - 170, 171, 0, 89, 90, 91, 92, 34, 0, 35, - 36, 37, 38, 39, 40, 160, 161, 162, 0, 41, - 42, 43, 44, 45, 46, 47, 0, 180, 0, 0, - 0, 0, 181, 48, 0, 182, 183, 184, 185, 0, - 0, 414, 0, 0, 0, 49, 50, 0, 51, 0, - 52, 53, -3, 79, 0, 0, 0, 54, 93, 55, - 56, 77, 0, 16, 0, 17, 18, 19, 20, 21, - 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, - 29, 30, 31, 32, 80, 98, 81, 82, 33, 83, - 84, 85, 86, 87, 88, 0, 0, 0, 89, 90, - 91, 92, 34, 0, 35, 36, 37, 38, 39, 40, - 0, 0, 0, 0, 41, 42, 43, 44, 45, 46, - 47, 180, 0, 0, 0, 0, 181, 0, 48, 182, - 183, 184, 185, 181, 0, 0, 182, 183, 184, 185, - 49, 50, 0, 51, 0, 52, 53, 0, 79, 0, - 0, 0, 54, 93, 55, 56, 77, 372, 16, 0, - 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, - 25, 26, 0, 27, 28, 29, 30, 31, 32, 80, - 98, 81, 82, 33, 83, 84, 85, 86, 87, 88, - 0, 0, 0, 89, 90, 91, 92, 34, 0, 35, - 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, - 42, 43, 44, 45, 46, 47, 1, 2, 3, 4, - 5, 6, 0, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, - 52, 53, 0, 79, 0, 0, 0, 54, 93, 55, - 56, 77, 483, 16, 0, 17, 18, 19, 20, 21, - 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, - 29, 30, 31, 32, 80, 98, 81, 82, 33, 83, - 84, 85, 86, 87, 88, 0, 0, 0, 89, 90, - 91, 92, 34, 0, 35, 36, 37, 38, 39, 40, - 0, 0, 0, 0, 41, 42, 43, 44, 45, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, + 103, 236, 389, 57, 130, 403, 458, 377, 95, 224, + 105, 147, 150, 148, 77, 230, 164, 194, 165, 118, + 78, 14, 489, 112, 113, 114, 515, 115, 116, 110, + 110, 110, 119, 110, 110, 241, 139, 138, 19, 20, + 21, 140, 106, 107, 133, 134, 19, 20, 157, 127, + 110, 110, 135, 77, 124, 120, 187, 77, 188, 123, + 159, -263, 231, -263, 128, 110, 110, 136, 108, 77, + 142, 125, 149, 109, 151, 152, 153, 154, 155, 130, + 108, 277, 126, 278, -265, 109, -265, 279, 280, 281, + 310, 453, -16, 282, 536, 221, 163, 238, -267, 378, + 330, 385, 210, 530, 516, 130, 477, 166, 246, 252, + 247, 391, 227, 163, 396, 397, -239, 186, 348, 235, + 57, -241, 193, 399, 480, 55, 197, 439, 440, 199, + 237, 229, 200, 55, 283, 187, 110, 188, 249, 304, + 305, 306, 307, 309, -240, 317, 318, 211, 320, 321, + 55, 361, 19, 20, 254, 255, 256, 201, 258, 259, + 261, 202, 55, 160, 161, 162, 208, -238, 243, 315, + 209, 316, 284, 225, 285, 286, -237, 486, 487, 298, + 290, 291, 292, 293, 294, 295, 296, 297, 257, 434, + 331, 240, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 223, 323, 325, + 326, 327, 328, 329, 441, 389, 203, 213, -263, 57, + -263, 322, 226, 462, 463, 239, 228, 401, 143, 332, + -265, 340, -265, 160, 161, 162, 343, 144, 415, 55, + 204, 233, 350, 160, 161, 162, 347, 366, 189, 205, + 190, 55, 111, 111, 111, 250, 111, 111, 368, 395, + 494, 349, 370, 252, 299, 160, 161, 162, 160, 161, + 162, 353, 354, 132, 111, 191, 408, 192, 360, 146, + 302, 308, 413, 315, 319, 316, 339, 449, 111, 111, + 160, 161, 162, 365, 334, 110, 336, 130, 381, 325, + 384, 384, 520, 160, 161, 162, 341, 346, 160, 161, + 162, 393, 348, 420, 384, 384, 422, 423, 456, 160, + 161, 162, 207, 160, 161, 162, 162, 355, 430, 160, + 161, 162, 356, 461, 357, 358, 464, 160, 161, 162, + 468, 469, 409, 160, 161, 162, 362, 405, 160, 161, + 162, 214, 215, 216, 217, 253, 373, 57, 218, 132, + 219, 492, 483, 484, 214, 215, 216, 217, 160, 161, + 162, 218, 495, 219, 363, 379, 245, 411, 170, 171, + 504, 505, 160, 161, 162, 160, 161, 162, 130, 384, + -31, 507, 513, 437, 338, 509, 510, 388, 160, 161, + 162, 55, 398, 404, 179, 180, 521, 522, 345, 230, + 181, -79, 410, 182, 183, 184, 185, 524, 288, 416, + 167, 531, 417, 384, 384, 418, 419, 168, 169, 170, + 171, 424, 425, 475, 533, 426, 427, 314, 428, 431, + 481, 429, 538, 160, 161, 162, 432, 172, 173, 352, + 174, 175, 176, 177, 178, 179, 180, 435, 436, 381, + 384, 181, 438, 478, 182, 183, 184, 185, 448, 452, + 506, 367, 160, 161, 162, 450, 451, 168, 169, 170, + 171, 160, 161, 162, 466, -191, 459, 518, 467, 470, + 473, 160, 161, 162, 187, 474, 188, -191, 476, 482, + 369, 496, 384, 177, 178, 179, 180, 508, 502, 371, + 532, 181, 527, 490, 182, 183, 184, 185, 111, 412, + 491, 514, 525, 511, -191, -191, -191, -191, 160, 161, + 162, -191, 512, -191, 181, 529, -191, 182, 183, 184, + 185, 99, 387, -191, -191, -191, -191, 537, 160, 161, + 162, 314, 220, 493, 351, 122, 534, 301, -191, -191, + -191, -230, -191, -191, -191, -191, -191, -191, -191, -191, + -191, -191, -191, -230, 364, 421, -268, -191, 170, 171, + -191, -191, -191, -191, -191, 180, -191, 382, 196, -191, + 181, 170, 171, 182, 183, 184, 185, 344, 472, 454, + -230, -230, -230, -230, 179, 180, 499, -230, 498, -230, + 181, 244, -230, 182, 183, 184, 185, 0, 180, -230, + -230, -230, -230, 181, 394, 0, 182, 183, 184, 185, + -268, -268, -268, 185, -230, -230, -230, 0, -230, -230, + -230, -230, -230, -230, -230, -230, -230, -230, -230, 160, + 161, 162, 0, -230, 313, 0, -230, -230, -230, -230, + -230, 0, -230, -13, 79, -230, 0, 0, 0, 0, + 0, 0, 77, 0, 16, 406, 17, 18, 19, 20, + 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, + 28, 29, 30, 31, 32, 80, 98, 81, 82, 33, + 83, 84, 85, 86, 87, 88, 170, 0, 0, 89, + 90, 91, 92, 34, 0, 35, 36, 37, 38, 39, + 40, 160, 161, 162, 0, 41, 42, 43, 44, 45, + 46, 47, 0, 180, 160, 161, 162, 0, 181, 48, + 0, 182, 183, 184, 185, 0, 0, 407, 0, 0, + 0, 49, 50, 0, 51, 0, 52, 53, -3, 79, + 414, 0, 0, 54, 93, 55, 56, 77, 0, 16, + 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, + 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, + 80, 98, 81, 82, 33, 83, 84, 85, 86, 87, + 88, 0, 0, 0, 89, 90, 91, 92, 34, 0, + 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, + 41, 42, 43, 44, 45, 46, 47, 1, 2, 3, + 4, 5, 6, 0, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, + 0, 52, 53, 0, 79, 0, 0, 0, 54, 93, + 55, 56, 77, 372, 16, 0, 17, 18, 19, 20, + 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, + 28, 29, 30, 31, 32, 80, 98, 81, 82, 33, + 83, 84, 85, 86, 87, 88, 0, 0, 0, 89, + 90, 91, 92, 34, 0, 35, 36, 37, 38, 39, + 40, 0, 0, 0, 0, 41, 42, 43, 44, 45, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 50, 0, 51, 0, 52, 53, 0, 79, 0, - 0, 0, 54, 93, 55, 56, 77, 486, 16, 0, - 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, - 25, 26, 0, 27, 28, 29, 30, 31, 32, 80, - 98, 81, 82, 33, 83, 84, 85, 86, 87, 88, - 0, 0, 0, 89, 90, 91, 92, 34, 0, 35, - 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, - 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, - 52, 53, 0, 79, 0, 0, 0, 54, 93, 55, - 56, 77, 501, 16, 0, 17, 18, 19, 20, 21, - 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, - 29, 30, 31, 32, 80, 98, 81, 82, 33, 83, - 84, 85, 86, 87, 88, 0, 0, 0, 89, 90, - 91, 92, 34, 0, 35, 36, 37, 38, 39, 40, - 0, 0, 0, 0, 41, 42, 43, 44, 45, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, + 0, 49, 50, 0, 51, 0, 52, 53, 0, 79, + 0, 0, 0, 54, 93, 55, 56, 77, 500, 16, + 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, + 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, + 80, 98, 81, 82, 33, 83, 84, 85, 86, 87, + 88, 0, 0, 0, 89, 90, 91, 92, 34, 0, + 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, + 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, + 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, + 0, 52, 53, 0, 79, 0, 0, 0, 54, 93, + 55, 56, 77, 503, 16, 0, 17, 18, 19, 20, + 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, + 28, 29, 30, 31, 32, 80, 98, 81, 82, 33, + 83, 84, 85, 86, 87, 88, 0, 0, 0, 89, + 90, 91, 92, 34, 0, 35, 36, 37, 38, 39, + 40, 0, 0, 0, 0, 41, 42, 43, 44, 45, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 50, 0, 51, 0, 52, 53, 0, 79, 0, - 0, 0, 54, 93, 55, 56, 77, 510, 16, 0, - 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, - 25, 26, 0, 27, 28, 29, 30, 31, 32, 80, - 98, 81, 82, 33, 83, 84, 85, 86, 87, 88, - 0, 0, 0, 89, 90, 91, 92, 34, 0, 35, - 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, - 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, - 52, 53, 0, 79, 0, 0, 0, 54, 93, 55, - 56, 77, 0, 16, 0, 17, 18, 19, 20, 21, - 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, - 29, 30, 31, 32, 80, 98, 81, 82, 33, 83, - 84, 85, 86, 87, 88, 0, 0, 0, 89, 90, - 91, 92, 34, 0, 35, 36, 37, 38, 39, 40, - 0, 0, 0, 0, 41, 42, 43, 44, 45, 46, - 47, 0, 0, 517, 0, 0, 0, 0, 48, 0, + 0, 49, 50, 0, 51, 0, 52, 53, 0, 79, + 0, 0, 0, 54, 93, 55, 56, 77, 519, 16, + 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, + 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, + 80, 98, 81, 82, 33, 83, 84, 85, 86, 87, + 88, 0, 0, 0, 89, 90, 91, 92, 34, 0, + 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, + 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, + 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, + 0, 52, 53, 0, 79, 0, 0, 0, 54, 93, + 55, 56, 77, 528, 16, 0, 17, 18, 19, 20, + 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, + 28, 29, 30, 31, 32, 80, 98, 81, 82, 33, + 83, 84, 85, 86, 87, 88, 0, 0, 0, 89, + 90, 91, 92, 34, 0, 35, 36, 37, 38, 39, + 40, 0, 0, 0, 0, 41, 42, 43, 44, 45, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 50, 0, 51, 0, 52, 53, 0, 79, 0, - 0, 0, 54, 93, 55, 56, 77, 0, 16, 0, - 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, - 25, 26, 0, 27, 28, 29, 30, 31, 32, 80, - 98, 81, 82, 33, 83, 84, 85, 86, 87, 88, - 0, 0, 0, 89, 90, 91, 92, 34, 0, 35, - 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, - 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, - 52, 53, 0, 79, 0, 0, 0, 54, 93, 55, - 56, 77, 0, 16, 0, 17, 18, 19, 20, 21, + 0, 49, 50, 0, 51, 0, 52, 53, 0, 79, + 0, 0, 0, 54, 93, 55, 56, 77, 0, 16, + 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, + 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, + 80, 98, 81, 82, 33, 83, 84, 85, 86, 87, + 88, 0, 0, 0, 89, 90, 91, 92, 34, 0, + 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, + 41, 42, 43, 44, 45, 46, 47, 0, 0, 535, + 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, + 0, 52, 53, 0, 79, 0, 0, 0, 54, 93, + 55, 56, 77, 0, 16, 0, 17, 18, 19, 20, + 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, + 28, 29, 30, 31, 32, 80, 98, 81, 82, 33, + 83, 84, 85, 86, 87, 88, 0, 0, 0, 89, + 90, 91, 92, 34, 0, 35, 36, 37, 38, 39, + 40, 0, 0, 0, 0, 41, 42, 43, 44, 45, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 49, 50, 0, 51, 0, 52, 53, 0, 79, + 0, 0, 0, 54, 93, 55, 56, 77, 0, 16, + 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, + 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, + 80, 0, 81, 82, 33, 83, 84, 85, 86, 87, + 88, 0, 0, 0, 89, 90, 91, 92, 34, 0, + 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, + 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, + 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, + 0, 52, 53, 79, 0, 0, 0, 0, 54, 93, + 55, 56, 0, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, - 29, 30, 31, 32, 80, 0, 81, 82, 33, 83, - 84, 85, 86, 87, 88, 0, 0, 0, 89, 90, - 91, 92, 34, 0, 35, 36, 37, 38, 39, 40, + 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, + 0, -268, 0, 0, 0, 0, 0, 0, 168, 169, + 170, 171, 34, 0, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, 43, 44, 45, 46, - 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 174, 175, 176, 177, 178, 179, 180, 48, 0, + 0, 0, 181, 0, 0, 182, 183, 184, 185, 0, 49, 50, 0, 51, 0, 52, 53, 79, 0, 0, - 0, 0, 54, 93, 55, 56, 0, 16, 0, 17, + 0, 0, 54, -74, 55, 56, 0, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 33, 0, 0, -252, 0, 0, 0, 0, - 0, 0, 168, 169, 170, 171, 34, 0, 35, 36, + 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, + 168, 169, 170, 171, 0, 0, 34, 0, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, - 43, 44, 45, 46, 47, 174, 175, 176, 177, 178, - 179, 180, 48, 0, 0, 0, 181, 0, 0, 182, - 183, 184, 185, 0, 49, 50, 0, 51, 0, 52, - 53, 79, 0, 0, 0, 0, 54, -74, 55, 56, - 0, 16, 0, 17, 18, 19, 20, 21, 0, 0, - 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, - 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, - 0, 0, 0, 168, 169, 170, 171, 0, 0, 0, - 34, 0, 35, 36, 37, 38, 39, 40, 0, 0, - 0, 0, 41, 42, 43, 44, 45, 46, 47, 177, - 178, 179, 180, 0, 0, 0, 48, 181, 0, 0, - 182, 183, 184, 185, 0, 0, 0, 0, 49, 50, - 0, 51, 0, 52, 53, 0, 0, 0, 0, -74, - 54, 0, 55, 56, 77, 0, 16, 0, 17, 18, - 19, 20, 21, 0, 0, 129, 23, 24, 25, 26, - 109, 27, 28, 29, 30, 31, 32, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 168, -252, 170, 171, - 0, 0, 0, 0, 0, 34, 0, 35, 36, 37, - 38, 39, 40, 0, 0, 0, 0, 41, 42, 43, - 44, 45, 46, 47, 179, 180, 0, 0, 0, 0, - 181, 48, 0, 182, 183, 184, 185, 0, 0, 0, - 0, 0, 0, 49, 50, 0, 51, 0, 52, 53, - 0, 0, 0, 0, 0, 54, 0, 55, 56, 77, - 0, 16, 0, 17, 18, 19, 20, 21, 0, 0, - 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, - 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, - 0, 168, 169, 170, 171, 0, 0, 0, 0, 0, - 34, 0, 35, 36, 37, 38, 39, 40, 0, 0, - 0, 0, 41, 42, 43, 44, 45, 46, 47, 179, - 180, 0, 0, 0, 0, 181, 48, 0, 182, 183, - 184, 185, 0, 0, 0, 0, 0, 0, 49, 50, - 0, 51, 0, 52, 53, 0, 0, 0, 0, 0, - 54, 0, 55, 56, 16, 104, 17, 18, 19, 20, - 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, - 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, - 214, 215, 216, 217, 0, 0, 0, 218, 0, 219, - 0, 0, 0, 34, 0, 35, 36, 37, 38, 39, - 40, 0, 0, 0, 0, 41, 42, 43, 44, 45, - 46, 47, 0, 0, 160, 161, 162, 0, 0, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 50, 0, 51, 0, 52, 53, 0, 0, - 0, 0, 0, 54, 0, 55, 56, 16, 0, 17, + 43, 44, 45, 46, 47, 176, 177, 178, 179, 180, + 0, 0, 48, 0, 181, 0, 0, 182, 183, 184, + 185, 0, 0, 0, 49, 50, 0, 51, 0, 52, + 53, 0, 0, 0, 0, -74, 54, 0, 55, 56, + 77, 0, 16, 0, 17, 18, 19, 20, 21, 0, + 0, 129, 23, 24, 25, 26, 109, 27, 28, 29, + 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, + 0, 0, 0, 0, 168, 169, 170, 171, 0, 0, + 0, 34, 0, 35, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 0, 178, 179, 180, 0, 0, 0, 48, 181, 0, + 0, 182, 183, 184, 185, 0, 0, 0, 0, 49, + 50, 0, 51, 0, 52, 53, 0, 0, 0, 0, + 0, 54, 0, 55, 56, 77, 0, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 34, 0, 35, 36, + 0, 0, 33, 0, 0, 0, 0, 168, -268, 170, + 171, 0, 0, 0, 0, 0, 34, 0, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, - 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 43, 44, 45, 46, 47, 179, 180, 0, 0, 0, + 0, 181, 48, 0, 182, 183, 184, 185, 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, - 53, 0, 0, 0, 0, 0, 54, 137, 55, 56, - 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, + 53, 0, 0, 0, 0, 0, 54, 0, 55, 56, + 16, 104, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, + 168, 169, 170, 171, 0, 0, 0, 0, 0, 34, 0, 35, 36, 37, 38, 39, 40, 0, 0, 0, - 0, 41, 42, 43, 44, 45, 46, 47, 0, 0, - 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, - 51, 0, 52, 53, 0, 0, 0, 0, 156, 54, + 0, 41, 42, 43, 44, 45, 46, 47, 179, 180, + 0, 0, 0, 0, 181, 48, 0, 182, 183, 184, + 185, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 51, 0, 52, 53, 0, 0, 0, 0, 0, 54, 0, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, @@ -547,7 +538,7 @@ static const yytype_int16 yytable[] = 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, 53, 0, 0, 0, - 0, 234, 54, 0, 55, 56, 16, 0, 17, 18, + 0, 0, 54, 137, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, @@ -556,7 +547,7 @@ static const yytype_int16 yytable[] = 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, 53, - 0, 0, 0, 0, 248, 54, 0, 55, 56, 16, + 0, 0, 0, 0, 156, 54, 0, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, @@ -565,7 +556,7 @@ static const yytype_int16 yytable[] = 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, - 0, 52, 53, 0, 0, 0, 0, 260, 54, 0, + 0, 52, 53, 0, 0, 0, 0, 234, 54, 0, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, @@ -575,7 +566,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, 53, 0, 0, 0, 0, - 289, 54, 0, 55, 56, 16, 0, 17, 18, 19, + 248, 54, 0, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -584,7 +575,7 @@ static const yytype_int16 yytable[] = 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, 53, 0, - 0, 0, 0, 342, 54, 0, 55, 56, 16, 0, + 0, 0, 0, 260, 54, 0, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, @@ -593,7 +584,7 @@ static const yytype_int16 yytable[] = 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, - 52, 53, 0, 0, 0, 0, 359, 54, 0, 55, + 52, 53, 0, 0, 0, 0, 289, 54, 0, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, @@ -602,7 +593,7 @@ static const yytype_int16 yytable[] = 0, 0, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, - 0, 51, 0, 52, 53, 0, 0, 0, 0, 0, + 0, 51, 0, 52, 53, 0, 0, 0, 0, 342, 54, 0, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, @@ -610,250 +601,247 @@ static const yytype_int16 yytable[] = 0, 0, 0, 34, 0, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, - 167, 0, 0, 0, 0, 0, 0, 168, 169, 170, - 171, 49, 50, 0, 51, 0, 52, 53, 0, 0, - 0, 0, 0, 242, 0, 55, 56, 172, 173, 352, - 174, 175, 176, 177, 178, 179, 180, 0, 0, 0, - 0, 181, 167, 0, 182, 183, 184, 185, 0, 168, - 169, 170, 171, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, - 173, 0, 174, 175, 176, 177, 178, 179, 180, 0, - 0, 0, 0, 181, 167, 0, 182, 183, 184, 185, - 0, 168, 169, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 173, 0, 174, 175, 176, 177, 178, 179, - 180, 0, 0, 0, 0, 181, 0, 0, 182, 183, - 184, 185 + 0, 49, 50, 0, 51, 0, 52, 53, 0, 0, + 0, 0, 359, 54, 0, 55, 56, 16, 0, 17, + 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, + 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, + 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 0, 35, 36, + 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, + 53, 0, 0, 0, 0, 0, 54, 0, 55, 56, + 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, + 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, + 0, 35, 36, 37, 38, 39, 40, 0, 0, 0, + 0, 41, 42, 43, 44, 45, 46, 47, 0, 0, + 0, 0, 0, 0, 0, 48, 167, 0, 0, 0, + 0, 0, 0, 168, 169, 170, 171, 49, 50, 0, + 51, 0, 52, 53, 0, 0, 0, 0, 0, 242, + 0, 55, 56, 172, 173, 0, 174, 175, 176, 177, + 178, 179, 180, 0, 0, 0, 0, 181, 167, 0, + 182, 183, 184, 185, 0, 168, 169, 170, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 173, 0, 174, 175, + 176, 177, 178, 179, 180, 0, 0, 0, 0, 181, + 0, 0, 182, 183, 184, 185 }; static const yytype_int16 yycheck[] = { - 15, 126, 317, 9, 40, 46, 335, 46, 0, 115, - 16, 9, 48, 10, 9, 426, 9, 77, 11, 23, - 9, 11, 19, 20, 21, 9, 23, 24, 19, 20, - 21, 20, 23, 24, 100, 141, 25, 43, 15, 16, - 9, 11, 39, 40, 41, 42, 100, 77, 54, 40, - 41, 20, 23, 11, 453, 20, 25, 11, 55, 56, - 25, 9, 122, 11, 77, 56, 9, 9, 11, 11, - 15, 16, 17, 307, 104, 43, 44, 15, 16, 115, - 100, 100, 9, 317, 11, 9, 320, 321, 9, 12, - 11, 9, 421, 11, 505, 92, 100, 133, 100, 69, - 225, 9, 143, 101, 143, 141, 101, 100, 98, 12, - 20, 69, 118, 102, 103, 12, 515, 446, 100, 125, - 126, 69, 67, 45, 121, 102, 69, 69, 100, 126, - 101, 12, 9, 102, 11, 126, 100, 12, 144, 199, - 200, 201, 202, 203, 12, 205, 206, 100, 208, 209, - 73, 74, 75, 91, 160, 161, 162, 102, 164, 165, - 166, 395, 100, 204, 102, 204, 95, 96, 97, 98, - 73, 74, 75, 73, 74, 75, 73, 74, 75, 194, - 186, 187, 188, 189, 190, 191, 192, 193, 100, 9, - 226, 11, 73, 74, 75, 429, 430, 512, 73, 74, - 75, 101, 12, 101, 100, 73, 74, 75, 214, 215, - 216, 217, 218, 219, 211, 17, 18, 100, 100, 225, - 12, 99, 10, 12, 458, 99, 69, 333, 30, 20, - 11, 237, 34, 20, 67, 91, 242, 39, 363, 100, - 42, 100, 69, 45, 99, 47, 252, 49, 50, 51, - 52, 53, 10, 23, 9, 11, 11, 491, 91, 319, - 15, 16, 17, 73, 74, 75, 21, 100, 75, 102, - 18, 277, 278, 103, 73, 74, 75, 318, 284, 318, - 103, 73, 74, 75, 73, 74, 75, 103, 285, 103, - 103, 73, 74, 75, 73, 74, 75, 333, 304, 305, - 306, 307, 101, 39, 40, 41, 42, 62, 20, 102, - 46, 317, 48, 373, 320, 321, 376, 377, 424, 101, - 99, 99, 19, 20, 21, 100, 23, 24, 388, 73, - 74, 75, 73, 74, 75, 100, 100, 73, 74, 75, - 337, 143, 348, 40, 41, 100, 23, 102, 103, 46, - 10, 23, 73, 74, 75, 99, 20, 363, 55, 56, - 101, 163, 10, 99, 10, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 101, 456, 73, 74, 75, 73, 74, 75, 424, 395, - 10, 428, 89, 399, 431, 470, 471, 10, 435, 436, - 99, 99, 73, 74, 75, 99, 99, 482, 100, 99, - 101, 99, 449, 450, 73, 74, 75, 492, 493, 73, - 74, 75, 459, 429, 430, 440, 101, 60, 61, 126, - 101, 506, 447, 99, 99, 9, 473, 99, 0, 10, - 477, 478, 99, 99, 9, 99, 143, 9, 445, 11, - 12, 457, 458, 86, 87, 99, 101, 472, 495, 92, - 100, 71, 95, 96, 97, 98, 58, 59, 60, 61, - 485, 101, 99, 99, 511, 9, 100, 39, 40, 41, - 42, 70, 519, 101, 46, 491, 48, 99, 185, 51, - 19, 99, 507, 85, 86, 87, 58, 59, 60, 61, - 92, 99, 12, 95, 96, 97, 98, 204, 98, 305, - 457, 73, 74, 75, 196, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 58, 59, 60, 61, - 92, 512, 33, 95, 96, 97, 98, 99, 82, 101, - 375, 58, 104, 60, 61, 0, 73, 74, 75, 244, - 352, 83, 84, 85, 86, 87, 422, 12, 143, 318, - 92, 204, 60, 95, 96, 97, 98, -1, -1, 86, - 87, -1, 99, -1, -1, 92, -1, -1, 95, 96, - 97, 98, -1, -1, 39, 40, 41, 42, 285, 87, - -1, 46, -1, 48, 92, -1, 51, 95, 96, 97, - 98, -1, -1, 58, 59, 60, 61, 73, 74, 75, - -1, -1, 309, 73, 74, 75, -1, -1, 73, 74, - 75, 318, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 99, -1, -1, -1, 92, -1, 99, - 95, 96, 97, 98, 99, -1, 101, 0, 1, 104, - -1, -1, -1, -1, -1, -1, 9, -1, 11, -1, - 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, - 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 60, 61, -1, 46, 47, 48, 49, 50, -1, 52, - 53, 54, 55, 56, 57, 73, 74, 75, -1, 62, - 63, 64, 65, 66, 67, 68, -1, 87, -1, -1, - -1, -1, 92, 76, -1, 95, 96, 97, 98, -1, - -1, 99, -1, -1, -1, 88, 89, -1, 91, -1, - 93, 94, 0, 1, -1, -1, -1, 100, 101, 102, - 103, 9, -1, 11, -1, 13, 14, 15, 16, 17, - -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, -1, -1, -1, 46, 47, - 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, - -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, - 68, 87, -1, -1, -1, -1, 92, -1, 76, 95, - 96, 97, 98, 92, -1, -1, 95, 96, 97, 98, - 88, 89, -1, 91, -1, 93, 94, -1, 1, -1, - -1, -1, 100, 101, 102, 103, 9, 10, 11, -1, - 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, - 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - -1, -1, -1, 46, 47, 48, 49, 50, -1, 52, - 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, - 63, 64, 65, 66, 67, 68, 3, 4, 5, 6, - 7, 8, -1, 76, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, -1, 91, -1, - 93, 94, -1, 1, -1, -1, -1, 100, 101, 102, - 103, 9, 10, 11, -1, 13, 14, 15, 16, 17, - -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, -1, -1, -1, 46, 47, - 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, - -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, - 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, + 15, 126, 317, 9, 40, 335, 426, 9, 11, 115, + 16, 46, 48, 46, 9, 23, 9, 77, 11, 11, + 10, 0, 461, 19, 20, 21, 23, 23, 24, 19, + 20, 21, 100, 23, 24, 141, 20, 43, 15, 16, + 17, 25, 17, 18, 40, 41, 15, 16, 54, 39, + 40, 41, 42, 9, 100, 30, 9, 9, 11, 34, + 56, 9, 122, 11, 39, 55, 56, 42, 20, 9, + 45, 100, 47, 25, 49, 50, 51, 52, 53, 115, + 20, 9, 100, 11, 9, 25, 11, 15, 16, 17, + 67, 421, 100, 21, 533, 98, 77, 133, 9, 101, + 225, 307, 92, 523, 101, 141, 101, 100, 143, 11, + 143, 317, 118, 77, 320, 321, 69, 100, 11, 125, + 126, 69, 9, 104, 454, 102, 20, 15, 16, 100, + 126, 121, 100, 102, 62, 9, 126, 11, 144, 199, + 200, 201, 202, 203, 69, 205, 206, 45, 208, 209, + 102, 103, 15, 16, 160, 161, 162, 100, 164, 165, + 166, 100, 102, 73, 74, 75, 100, 69, 143, 204, + 100, 204, 100, 100, 102, 103, 69, 43, 44, 194, + 186, 187, 188, 189, 190, 191, 192, 193, 163, 395, + 226, 101, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 12, 214, 215, + 216, 217, 218, 219, 102, 530, 67, 101, 9, 225, + 11, 211, 100, 429, 430, 10, 99, 333, 91, 12, + 9, 237, 11, 73, 74, 75, 242, 100, 363, 102, + 91, 99, 12, 73, 74, 75, 252, 12, 9, 100, + 11, 102, 19, 20, 21, 69, 23, 24, 12, 319, + 466, 101, 12, 11, 20, 73, 74, 75, 73, 74, + 75, 277, 278, 40, 41, 9, 12, 11, 284, 46, + 20, 91, 12, 318, 100, 318, 99, 12, 55, 56, + 73, 74, 75, 101, 100, 285, 69, 333, 304, 305, + 306, 307, 508, 73, 74, 75, 10, 23, 73, 74, + 75, 317, 11, 373, 320, 321, 376, 377, 424, 73, + 74, 75, 89, 73, 74, 75, 75, 103, 388, 73, + 74, 75, 103, 428, 103, 103, 431, 73, 74, 75, + 435, 436, 348, 73, 74, 75, 103, 337, 73, 74, + 75, 39, 40, 41, 42, 99, 18, 363, 46, 126, + 48, 464, 457, 458, 39, 40, 41, 42, 73, 74, + 75, 46, 467, 48, 100, 20, 143, 352, 60, 61, + 483, 484, 73, 74, 75, 73, 74, 75, 424, 395, + 100, 486, 495, 399, 99, 490, 491, 100, 73, 74, + 75, 102, 99, 23, 86, 87, 509, 510, 99, 23, + 92, 99, 10, 95, 96, 97, 98, 512, 185, 10, + 51, 524, 10, 429, 430, 10, 10, 58, 59, 60, + 61, 20, 99, 448, 529, 99, 99, 204, 99, 99, + 455, 100, 537, 73, 74, 75, 101, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 99, 99, 465, + 466, 92, 99, 453, 95, 96, 97, 98, 9, 101, + 485, 101, 73, 74, 75, 10, 99, 58, 59, 60, + 61, 73, 74, 75, 100, 0, 9, 502, 99, 25, + 77, 73, 74, 75, 9, 99, 11, 12, 71, 101, + 101, 78, 508, 84, 85, 86, 87, 100, 9, 101, + 525, 92, 19, 99, 95, 96, 97, 98, 285, 101, + 99, 496, 70, 101, 39, 40, 41, 42, 73, 74, + 75, 46, 99, 48, 92, 99, 51, 95, 96, 97, + 98, 12, 309, 58, 59, 60, 61, 99, 73, 74, + 75, 318, 98, 465, 99, 33, 530, 196, 73, 74, + 75, 0, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 12, 99, 375, 58, 92, 60, 61, + 95, 96, 97, 98, 99, 87, 101, 305, 82, 104, + 92, 60, 61, 95, 96, 97, 98, 244, 442, 422, + 39, 40, 41, 42, 86, 87, 473, 46, 472, 48, + 92, 143, 51, 95, 96, 97, 98, -1, 87, 58, + 59, 60, 61, 92, 318, -1, 95, 96, 97, 98, + 95, 96, 97, 98, 73, 74, 75, -1, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 73, + 74, 75, -1, 92, 204, -1, 95, 96, 97, 98, + 99, -1, 101, 0, 1, 104, -1, -1, -1, -1, + -1, -1, 9, -1, 11, 99, 13, 14, 15, 16, + 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 60, -1, -1, 46, + 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, + 57, 73, 74, 75, -1, 62, 63, 64, 65, 66, + 67, 68, -1, 87, 73, 74, 75, -1, 92, 76, + -1, 95, 96, 97, 98, -1, -1, 99, -1, -1, + -1, 88, 89, -1, 91, -1, 93, 94, 0, 1, + 99, -1, -1, 100, 101, 102, 103, 9, -1, 11, + -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, + 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, + 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, + 62, 63, 64, 65, 66, 67, 68, 3, 4, 5, + 6, 7, 8, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, + -1, 93, 94, -1, 1, -1, -1, -1, 100, 101, + 102, 103, 9, 10, 11, -1, 13, 14, 15, 16, + 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, -1, -1, -1, 46, + 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, + 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, + 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, -1, 91, -1, 93, 94, -1, 1, -1, - -1, -1, 100, 101, 102, 103, 9, 10, 11, -1, - 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, - 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - -1, -1, -1, 46, 47, 48, 49, 50, -1, 52, - 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, - 63, 64, 65, 66, 67, 68, -1, -1, -1, -1, - -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, -1, 91, -1, - 93, 94, -1, 1, -1, -1, -1, 100, 101, 102, - 103, 9, 10, 11, -1, 13, 14, 15, 16, 17, - -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, -1, -1, -1, 46, 47, - 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, - -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, - 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, + -1, 88, 89, -1, 91, -1, 93, 94, -1, 1, + -1, -1, -1, 100, 101, 102, 103, 9, 10, 11, + -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, + 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, + 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, + 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, + -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, + -1, 93, 94, -1, 1, -1, -1, -1, 100, 101, + 102, 103, 9, 10, 11, -1, 13, 14, 15, 16, + 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, -1, -1, -1, 46, + 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, + 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, + 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, -1, 91, -1, 93, 94, -1, 1, -1, - -1, -1, 100, 101, 102, 103, 9, 10, 11, -1, - 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, - 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - -1, -1, -1, 46, 47, 48, 49, 50, -1, 52, - 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, - 63, 64, 65, 66, 67, 68, -1, -1, -1, -1, - -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, -1, 91, -1, - 93, 94, -1, 1, -1, -1, -1, 100, 101, 102, - 103, 9, -1, 11, -1, 13, 14, 15, 16, 17, - -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, -1, -1, -1, 46, 47, - 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, - -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, - 68, -1, -1, 71, -1, -1, -1, -1, 76, -1, + -1, 88, 89, -1, 91, -1, 93, 94, -1, 1, + -1, -1, -1, 100, 101, 102, 103, 9, 10, 11, + -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, + 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, + 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, + 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, + -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, + -1, 93, 94, -1, 1, -1, -1, -1, 100, 101, + 102, 103, 9, 10, 11, -1, 13, 14, 15, 16, + 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, -1, -1, -1, 46, + 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, + 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, + 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, -1, 91, -1, 93, 94, -1, 1, -1, - -1, -1, 100, 101, 102, 103, 9, -1, 11, -1, - 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, - 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - -1, -1, -1, 46, 47, 48, 49, 50, -1, 52, - 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, - 63, 64, 65, 66, 67, 68, -1, -1, -1, -1, - -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, -1, 91, -1, - 93, 94, -1, 1, -1, -1, -1, 100, 101, 102, - 103, 9, -1, 11, -1, 13, 14, 15, 16, 17, + -1, 88, 89, -1, 91, -1, 93, 94, -1, 1, + -1, -1, -1, 100, 101, 102, 103, 9, -1, 11, + -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, + 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, + 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, + 62, 63, 64, 65, 66, 67, 68, -1, -1, 71, + -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, + -1, 93, 94, -1, 1, -1, -1, -1, 100, 101, + 102, 103, 9, -1, 11, -1, 13, 14, 15, 16, + 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, -1, -1, -1, 46, + 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, + 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, + 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, -1, 91, -1, 93, 94, -1, 1, + -1, -1, -1, 100, 101, 102, 103, 9, -1, 11, + -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, + 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, + 32, -1, 34, 35, 36, 37, 38, 39, 40, 41, + 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, + 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, + 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, + -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, + -1, 93, 94, 1, -1, -1, -1, -1, 100, 101, + 102, 103, -1, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, 31, 32, -1, 34, 35, 36, 37, - 38, 39, 40, 41, 42, -1, -1, -1, 46, 47, - 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, + 28, 29, 30, 31, -1, -1, -1, -1, 36, -1, + -1, 51, -1, -1, -1, -1, -1, -1, 58, 59, + 60, 61, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, - 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 68, 81, 82, 83, 84, 85, 86, 87, 76, -1, + -1, -1, 92, -1, -1, 95, 96, 97, 98, -1, 88, 89, -1, 91, -1, 93, 94, 1, -1, -1, -1, -1, 100, 101, 102, 103, -1, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, - -1, -1, 36, -1, -1, 51, -1, -1, -1, -1, - -1, -1, 58, 59, 60, 61, 50, -1, 52, 53, + -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, + 58, 59, 60, 61, -1, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, - 64, 65, 66, 67, 68, 81, 82, 83, 84, 85, - 86, 87, 76, -1, -1, -1, 92, -1, -1, 95, - 96, 97, 98, -1, 88, 89, -1, 91, -1, 93, - 94, 1, -1, -1, -1, -1, 100, 101, 102, 103, - -1, 11, -1, 13, 14, 15, 16, 17, -1, -1, - 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, - 30, 31, -1, -1, -1, -1, 36, -1, -1, -1, - -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, - 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, - -1, -1, 62, 63, 64, 65, 66, 67, 68, 84, - 85, 86, 87, -1, -1, -1, 76, 92, -1, -1, - 95, 96, 97, 98, -1, -1, -1, -1, 88, 89, - -1, 91, -1, 93, 94, -1, -1, -1, -1, 99, - 100, -1, 102, 103, 9, -1, 11, -1, 13, 14, - 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, - -1, 36, -1, -1, -1, -1, 58, 59, 60, 61, - -1, -1, -1, -1, -1, 50, -1, 52, 53, 54, - 55, 56, 57, -1, -1, -1, -1, 62, 63, 64, - 65, 66, 67, 68, 86, 87, -1, -1, -1, -1, - 92, 76, -1, 95, 96, 97, 98, -1, -1, -1, - -1, -1, -1, 88, 89, -1, 91, -1, 93, 94, - -1, -1, -1, -1, -1, 100, -1, 102, 103, 9, - -1, 11, -1, 13, 14, 15, 16, 17, -1, -1, - 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, - 30, 31, -1, -1, -1, -1, 36, -1, -1, -1, - -1, 58, 59, 60, 61, -1, -1, -1, -1, -1, - 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, - -1, -1, 62, 63, 64, 65, 66, 67, 68, 86, - 87, -1, -1, -1, -1, 92, 76, -1, 95, 96, - 97, 98, -1, -1, -1, -1, -1, -1, 88, 89, - -1, 91, -1, 93, 94, -1, -1, -1, -1, -1, - 100, -1, 102, 103, 11, 12, 13, 14, 15, 16, - 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, - 27, 28, 29, 30, 31, -1, -1, -1, -1, 36, - 39, 40, 41, 42, -1, -1, -1, 46, -1, 48, - -1, -1, -1, 50, -1, 52, 53, 54, 55, 56, - 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, - 67, 68, -1, -1, 73, 74, 75, -1, -1, 76, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 88, 89, -1, 91, -1, 93, 94, -1, -1, - -1, -1, -1, 100, -1, 102, 103, 11, -1, 13, + 64, 65, 66, 67, 68, 83, 84, 85, 86, 87, + -1, -1, 76, -1, 92, -1, -1, 95, 96, 97, + 98, -1, -1, -1, 88, 89, -1, 91, -1, 93, + 94, -1, -1, -1, -1, 99, 100, -1, 102, 103, + 9, -1, 11, -1, 13, 14, 15, 16, 17, -1, + -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, -1, -1, -1, -1, 36, -1, -1, + -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, + -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, + -1, -1, -1, 62, 63, 64, 65, 66, 67, 68, + -1, 85, 86, 87, -1, -1, -1, 76, 92, -1, + -1, 95, 96, 97, 98, -1, -1, -1, -1, 88, + 89, -1, 91, -1, 93, 94, -1, -1, -1, -1, + -1, 100, -1, 102, 103, 9, -1, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, - -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 50, -1, 52, 53, + -1, -1, 36, -1, -1, -1, -1, 58, 59, 60, + 61, -1, -1, -1, -1, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, - 64, 65, 66, 67, 68, -1, -1, -1, -1, -1, - -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, + 64, 65, 66, 67, 68, 86, 87, -1, -1, -1, + -1, 92, 76, -1, 95, 96, 97, 98, -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, -1, 93, - 94, -1, -1, -1, -1, -1, 100, 101, 102, 103, - 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 94, -1, -1, -1, -1, -1, 100, -1, 102, 103, + 11, 12, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, 36, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, + 58, 59, 60, 61, -1, -1, -1, -1, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, - -1, 62, 63, 64, 65, 66, 67, 68, -1, -1, - -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 88, 89, -1, - 91, -1, 93, 94, -1, -1, -1, -1, 99, 100, + -1, 62, 63, 64, 65, 66, 67, 68, 86, 87, + -1, -1, -1, -1, 92, 76, -1, 95, 96, 97, + 98, -1, -1, -1, -1, -1, -1, 88, 89, -1, + 91, -1, 93, 94, -1, -1, -1, -1, -1, 100, -1, 102, 103, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, 36, -1, @@ -863,7 +851,7 @@ static const yytype_int16 yycheck[] = 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, -1, 93, 94, -1, -1, -1, - -1, 99, 100, -1, 102, 103, 11, -1, 13, 14, + -1, -1, 100, 101, 102, 103, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, @@ -918,7 +906,7 @@ static const yytype_int16 yycheck[] = -1, -1, 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, 89, - -1, 91, -1, 93, 94, -1, -1, -1, -1, -1, + -1, 91, -1, 93, 94, -1, -1, -1, -1, 99, 100, -1, 102, 103, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, 36, @@ -926,20 +914,34 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, - 51, -1, -1, -1, -1, -1, -1, 58, 59, 60, - 61, 88, 89, -1, 91, -1, 93, 94, -1, -1, - -1, -1, -1, 100, -1, 102, 103, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, - -1, 92, 51, -1, 95, 96, 97, 98, -1, 58, - 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, - 79, -1, 81, 82, 83, 84, 85, 86, 87, -1, - -1, -1, -1, 92, 51, -1, 95, 96, 97, 98, - -1, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 79, -1, 81, 82, 83, 84, 85, 86, - 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, - 97, 98 + -1, 88, 89, -1, 91, -1, 93, 94, -1, -1, + -1, -1, 99, 100, -1, 102, 103, 11, -1, 13, + 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, + 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, + -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 50, -1, 52, 53, + 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, + 64, 65, 66, 67, 68, -1, -1, -1, -1, -1, + -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 88, 89, -1, 91, -1, 93, + 94, -1, -1, -1, -1, -1, 100, -1, 102, 103, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, 36, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, + -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, + -1, 62, 63, 64, 65, 66, 67, 68, -1, -1, + -1, -1, -1, -1, -1, 76, 51, -1, -1, -1, + -1, -1, -1, 58, 59, 60, 61, 88, 89, -1, + 91, -1, 93, 94, -1, -1, -1, -1, -1, 100, + -1, 102, 103, 78, 79, -1, 81, 82, 83, 84, + 85, 86, 87, -1, -1, -1, -1, 92, 51, -1, + 95, 96, 97, 98, -1, 58, 59, 60, 61, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 79, -1, 81, 82, + 83, 84, 85, 86, 87, -1, -1, -1, -1, 92, + -1, -1, 95, 96, 97, 98 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -951,54 +953,55 @@ static const yytype_uint8 yystos[] = 16, 17, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 36, 50, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 67, 68, 76, 88, - 89, 91, 93, 94, 100, 102, 103, 152, 153, 154, - 157, 158, 159, 160, 161, 162, 164, 167, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 9, 113, 1, + 89, 91, 93, 94, 100, 102, 103, 160, 161, 162, + 165, 166, 167, 168, 169, 170, 172, 175, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 9, 113, 1, 32, 34, 35, 37, 38, 39, 40, 41, 42, 46, - 47, 48, 49, 101, 113, 122, 132, 152, 33, 120, - 121, 122, 118, 118, 12, 152, 162, 162, 20, 25, - 113, 174, 182, 182, 182, 182, 182, 163, 11, 100, - 162, 143, 143, 162, 100, 100, 100, 113, 162, 20, - 153, 166, 174, 182, 182, 113, 162, 101, 152, 20, - 25, 145, 162, 91, 100, 165, 174, 175, 176, 162, - 153, 162, 162, 162, 162, 162, 99, 152, 182, 182, + 47, 48, 49, 101, 113, 122, 132, 160, 33, 120, + 121, 122, 118, 118, 12, 160, 170, 170, 20, 25, + 113, 182, 190, 190, 190, 190, 190, 171, 11, 100, + 170, 143, 143, 170, 100, 100, 100, 113, 170, 20, + 161, 174, 182, 190, 190, 113, 170, 101, 160, 20, + 25, 145, 170, 91, 100, 173, 182, 183, 184, 170, + 161, 170, 170, 170, 170, 170, 99, 160, 190, 190, 73, 74, 75, 77, 9, 11, 100, 51, 58, 59, 60, 61, 78, 79, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96, 97, 98, 100, 9, 11, 9, 11, 9, 11, 9, 115, 144, 145, 20, 142, 100, - 100, 100, 100, 67, 91, 100, 172, 174, 100, 100, + 100, 100, 100, 67, 91, 100, 180, 182, 100, 100, 113, 45, 134, 101, 39, 40, 41, 42, 46, 48, - 121, 122, 120, 12, 166, 100, 100, 152, 99, 113, - 23, 115, 146, 99, 99, 152, 167, 182, 153, 10, - 101, 166, 100, 162, 165, 174, 175, 176, 99, 152, - 69, 148, 11, 99, 152, 152, 152, 162, 152, 152, - 99, 152, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 9, 11, 15, - 16, 17, 21, 62, 100, 102, 103, 156, 174, 99, - 152, 152, 152, 152, 152, 152, 152, 152, 118, 20, + 121, 122, 120, 12, 174, 100, 100, 160, 99, 113, + 23, 115, 146, 99, 99, 160, 175, 190, 161, 10, + 101, 174, 100, 170, 173, 182, 183, 184, 99, 160, + 69, 148, 11, 99, 160, 160, 160, 170, 160, 160, + 99, 160, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 9, 11, 15, + 16, 17, 21, 62, 100, 102, 103, 164, 182, 99, + 160, 160, 160, 160, 160, 160, 160, 160, 118, 20, 141, 142, 20, 125, 115, 115, 115, 115, 91, 115, - 67, 170, 171, 173, 174, 175, 176, 115, 115, 100, - 115, 115, 113, 152, 138, 152, 152, 152, 152, 152, - 167, 153, 12, 155, 100, 149, 69, 147, 99, 99, - 152, 10, 99, 152, 148, 99, 23, 152, 11, 101, - 12, 99, 80, 152, 152, 103, 103, 103, 103, 99, - 152, 103, 103, 100, 99, 101, 12, 101, 12, 101, + 67, 178, 179, 181, 182, 183, 184, 115, 115, 100, + 115, 115, 113, 160, 138, 160, 160, 160, 160, 160, + 175, 161, 12, 163, 100, 157, 69, 147, 99, 99, + 160, 10, 99, 160, 148, 99, 23, 160, 11, 101, + 12, 99, 80, 160, 160, 103, 103, 103, 103, 99, + 160, 103, 103, 100, 99, 101, 12, 101, 12, 101, 12, 101, 10, 18, 114, 123, 124, 9, 101, 20, - 137, 152, 138, 139, 152, 139, 169, 174, 100, 132, - 136, 139, 140, 152, 170, 115, 139, 139, 99, 104, - 168, 166, 150, 147, 23, 113, 99, 99, 12, 152, - 10, 162, 101, 12, 99, 167, 10, 10, 10, 10, + 137, 160, 138, 139, 160, 139, 177, 182, 100, 132, + 136, 139, 140, 160, 178, 115, 139, 139, 99, 104, + 176, 174, 158, 147, 23, 113, 99, 99, 12, 160, + 10, 170, 101, 12, 99, 175, 10, 10, 10, 10, 115, 146, 115, 115, 20, 99, 99, 99, 99, 100, - 115, 99, 101, 128, 139, 99, 99, 152, 99, 99, - 9, 12, 10, 99, 101, 147, 149, 129, 166, 135, - 135, 9, 116, 116, 139, 139, 116, 126, 100, 99, - 116, 116, 118, 71, 101, 113, 151, 147, 118, 101, - 116, 116, 117, 43, 44, 133, 133, 99, 99, 134, - 137, 139, 116, 10, 119, 9, 10, 134, 134, 118, - 116, 100, 116, 116, 101, 99, 134, 23, 101, 130, - 118, 10, 139, 134, 134, 127, 116, 70, 131, 19, - 10, 99, 135, 134, 118, 116, 140, 71, 133, 99, - 116 + 115, 99, 101, 128, 139, 99, 99, 160, 99, 15, + 16, 102, 150, 151, 153, 154, 155, 156, 9, 12, + 10, 99, 101, 147, 157, 129, 174, 135, 135, 9, + 116, 116, 139, 139, 116, 126, 100, 99, 116, 116, + 25, 149, 149, 77, 99, 118, 71, 101, 113, 159, + 147, 118, 101, 116, 116, 117, 43, 44, 133, 133, + 99, 99, 134, 137, 139, 116, 78, 152, 152, 154, + 10, 119, 9, 10, 134, 134, 118, 116, 100, 116, + 116, 101, 99, 134, 170, 23, 101, 130, 118, 10, + 139, 134, 134, 127, 116, 70, 131, 19, 10, 99, + 135, 134, 118, 116, 140, 71, 133, 99, 116 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1013,23 +1016,25 @@ static const yytype_uint8 yyr1[] = 132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 134, 134, 135, 136, 136, 137, 137, 138, 139, 140, 141, 141, 142, 143, 144, 145, 145, 146, 146, - 147, 147, 147, 148, 148, 150, 149, 151, 151, 152, - 152, 152, 152, 153, 153, 153, 154, 154, 154, 154, - 154, 154, 154, 154, 155, 154, 156, 156, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 160, 160, 160, 160, 160, - 160, 161, 161, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 163, 162, 162, 162, 162, 162, 164, 164, - 164, 165, 165, 165, 165, 165, 166, 166, 167, 167, - 168, 168, 169, 170, 170, 170, 171, 171, 172, 172, - 173, 174, 175, 176, 177, 177, 178, 179, 179, 180, - 180, 181, 181, 182, 182, 182, 182 + 147, 147, 147, 148, 148, 149, 149, 150, 150, 151, + 152, 152, 152, 153, 154, 154, 155, 155, 155, 156, + 156, 158, 157, 159, 159, 160, 160, 160, 160, 161, + 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, + 163, 162, 164, 164, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 168, 168, 168, 168, 168, 168, 169, 169, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 171, 170, + 170, 170, 170, 170, 172, 172, 172, 173, 173, 173, + 173, 173, 174, 174, 175, 175, 176, 176, 177, 178, + 178, 178, 179, 179, 180, 180, 181, 182, 183, 184, + 185, 185, 186, 187, 187, 188, 188, 189, 189, 190, + 190, 190, 190 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1044,23 +1049,25 @@ static const yytype_uint8 yyr2[] = 1, 1, 3, 3, 3, 3, 3, 3, 0, 2, 6, 0, 2, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, - 0, 2, 1, 2, 1, 0, 3, 1, 1, 3, - 3, 3, 1, 2, 3, 1, 3, 5, 6, 3, - 3, 5, 2, 4, 0, 5, 1, 1, 5, 4, - 5, 4, 5, 6, 5, 4, 5, 4, 3, 6, - 4, 5, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 3, 2, 4, 3, 5, - 8, 2, 2, 1, 1, 1, 1, 5, 2, 3, - 1, 2, 3, 1, 2, 1, 1, 1, 1, 1, - 1, 4, 4, 5, 5, 1, 1, 3, 4, 3, - 4, 4, 4, 4, 4, 1, 2, 2, 1, 2, - 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, - 3, 4, 0, 6, 1, 1, 1, 1, 3, 2, - 4, 3, 2, 1, 1, 1, 0, 1, 0, 1, - 0, 2, 1, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 2, 2, 4, 2, 1, 3, 1, - 3, 1, 3, 1, 1, 1, 1 + 0, 2, 1, 2, 1, 0, 1, 1, 1, 3, + 0, 1, 2, 3, 1, 1, 2, 3, 1, 0, + 1, 0, 4, 1, 1, 3, 3, 3, 1, 2, + 3, 1, 3, 5, 6, 3, 3, 5, 2, 4, + 0, 5, 1, 1, 5, 4, 5, 4, 5, 6, + 5, 4, 5, 4, 3, 6, 4, 5, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 3, 2, 4, 3, 5, 8, 2, 2, 1, + 1, 1, 1, 5, 2, 3, 1, 2, 3, 1, + 2, 1, 1, 1, 1, 1, 1, 4, 4, 5, + 5, 1, 1, 3, 4, 3, 4, 4, 4, 4, + 4, 1, 2, 2, 1, 2, 2, 1, 2, 1, + 2, 1, 3, 1, 3, 1, 3, 4, 0, 6, + 1, 1, 1, 1, 3, 2, 4, 3, 2, 1, + 1, 1, 0, 1, 0, 1, 0, 2, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 4, 2, 1, 3, 1, 3, 1, 3, 1, + 1, 1, 1 }; typedef enum { @@ -1091,15 +1098,17 @@ static const toketypes yy_type_tab[] = toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval + toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval }; /* Generated from: - * fba24dfc68a3a84c9ae95cb9e14cc156ac487e6f3228cdf84c166d3cd820e59a perly.y + * 719f2ad40259ac9c064749d399f2c7d1e1131abbc8c1f1ec0558cac2d8f2bc4c perly.y * 3e1dff60f26df8933d7aed0c0e87177a0f022c14800c0707eb62a7db4196ac98 regen_perly.pl * ex: set ro: */ |