From: Russ Cox Date: Sun, 3 Feb 2013 05:03:10 +0000 (-0500) Subject: cmd/gc: allow new conversion syntax X-Git-Tag: go1.1rc2~1174 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ffc742b65803ac3ceee522b145380ad731317eed;p=gostls13.git cmd/gc: allow new conversion syntax For consistency with conversions that look like function calls, conversions that don't look like function calls now allow an optional trailing comma. That is, int(x,) has always been syntactically valid. Now []int(x,) is valid too. Fixes #4162. R=ken2 CC=golang-dev https://golang.org/cl/7288045 --- diff --git a/src/cmd/gc/go.y b/src/cmd/gc/go.y index 19fc299e70..5f410f308b 100644 --- a/src/cmd/gc/go.y +++ b/src/cmd/gc/go.y @@ -947,7 +947,7 @@ pexpr_no_paren: $$ = nod(OSLICE, $1, nod(OKEY, $3, $5)); } | pseudocall -| convtype '(' expr ')' +| convtype '(' expr ocomma ')' { // conversion $$ = nod(OCALL, $1, N); diff --git a/src/cmd/gc/y.tab.c b/src/cmd/gc/y.tab.c index 209a73fcb0..a4e4688452 100644 --- a/src/cmd/gc/y.tab.c +++ b/src/cmd/gc/y.tab.c @@ -440,7 +440,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2144 +#define YYLAST 2194 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 76 @@ -449,7 +449,7 @@ union yyalloc /* YYNRULES -- Number of rules. */ #define YYNRULES 349 /* YYNRULES -- Number of states. */ -#define YYNSTATES 662 +#define YYNSTATES 663 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -512,28 +512,28 @@ static const yytype_uint16 yyprhs[] = 326, 330, 334, 338, 342, 346, 350, 354, 358, 362, 366, 370, 374, 378, 382, 384, 387, 390, 393, 396, 399, 402, 405, 408, 412, 418, 425, 427, 429, 433, - 439, 445, 450, 457, 459, 464, 470, 476, 484, 486, - 487, 491, 493, 498, 500, 505, 507, 511, 513, 515, - 517, 519, 521, 523, 525, 526, 528, 530, 532, 534, - 539, 541, 543, 545, 548, 550, 552, 554, 556, 558, - 562, 564, 566, 568, 571, 573, 575, 577, 579, 583, - 585, 587, 589, 591, 593, 595, 597, 599, 601, 605, - 610, 615, 618, 622, 628, 630, 632, 635, 639, 645, - 649, 655, 659, 663, 669, 678, 684, 693, 699, 700, - 704, 705, 707, 711, 713, 718, 721, 722, 726, 728, - 732, 734, 738, 740, 744, 746, 750, 752, 756, 760, - 763, 768, 772, 778, 784, 786, 790, 792, 795, 797, - 801, 806, 808, 811, 814, 816, 818, 822, 823, 826, - 827, 829, 831, 833, 835, 837, 839, 841, 843, 845, - 846, 851, 853, 856, 859, 862, 865, 868, 871, 873, - 877, 879, 883, 885, 889, 891, 895, 897, 901, 903, - 905, 909, 913, 914, 917, 918, 920, 921, 923, 924, - 926, 927, 929, 930, 932, 933, 935, 936, 938, 939, - 941, 942, 944, 949, 954, 960, 967, 972, 977, 979, - 981, 983, 985, 987, 989, 991, 993, 995, 999, 1004, - 1010, 1015, 1020, 1023, 1026, 1031, 1035, 1039, 1045, 1049, - 1054, 1058, 1064, 1066, 1067, 1069, 1073, 1075, 1077, 1080, - 1082, 1084, 1090, 1091, 1094, 1096, 1100, 1102, 1106, 1108 + 439, 445, 450, 457, 459, 465, 471, 477, 485, 487, + 488, 492, 494, 499, 501, 506, 508, 512, 514, 516, + 518, 520, 522, 524, 526, 527, 529, 531, 533, 535, + 540, 542, 544, 546, 549, 551, 553, 555, 557, 559, + 563, 565, 567, 569, 572, 574, 576, 578, 580, 584, + 586, 588, 590, 592, 594, 596, 598, 600, 602, 606, + 611, 616, 619, 623, 629, 631, 633, 636, 640, 646, + 650, 656, 660, 664, 670, 679, 685, 694, 700, 701, + 705, 706, 708, 712, 714, 719, 722, 723, 727, 729, + 733, 735, 739, 741, 745, 747, 751, 753, 757, 761, + 764, 769, 773, 779, 785, 787, 791, 793, 796, 798, + 802, 807, 809, 812, 815, 817, 819, 823, 824, 827, + 828, 830, 832, 834, 836, 838, 840, 842, 844, 846, + 847, 852, 854, 857, 860, 863, 866, 869, 872, 874, + 878, 880, 884, 886, 890, 892, 896, 898, 902, 904, + 906, 910, 914, 915, 918, 919, 921, 922, 924, 925, + 927, 928, 930, 931, 933, 934, 936, 937, 939, 940, + 942, 943, 945, 950, 955, 961, 968, 973, 978, 980, + 982, 984, 986, 988, 990, 992, 994, 996, 1000, 1005, + 1011, 1016, 1021, 1024, 1027, 1032, 1036, 1040, 1046, 1050, + 1055, 1059, 1065, 1067, 1068, 1070, 1074, 1076, 1078, 1081, + 1083, 1085, 1091, 1092, 1095, 1097, 1101, 1103, 1107, 1109 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -585,72 +585,72 @@ static const yytype_int16 yyrhs[] = 63, 141, -1, 134, 63, 59, 135, 60, -1, 134, 63, 59, 31, 60, -1, 134, 71, 126, 72, -1, 134, 71, 192, 66, 192, 72, -1, 128, -1, 149, - 59, 126, 60, -1, 150, 137, 130, 189, 68, -1, - 129, 67, 130, 189, 68, -1, 59, 135, 60, 67, - 130, 189, 68, -1, 165, -1, -1, 126, 66, 133, - -1, 126, -1, 67, 130, 189, 68, -1, 126, -1, - 67, 130, 189, 68, -1, 129, -1, 59, 135, 60, - -1, 126, -1, 147, -1, 146, -1, 35, -1, 67, - -1, 141, -1, 141, -1, -1, 138, -1, 24, -1, - 142, -1, 73, -1, 74, 3, 63, 24, -1, 141, - -1, 138, -1, 11, -1, 11, 146, -1, 155, -1, - 161, -1, 153, -1, 154, -1, 152, -1, 59, 146, - 60, -1, 155, -1, 161, -1, 153, -1, 53, 147, + 59, 126, 191, 60, -1, 150, 137, 130, 189, 68, + -1, 129, 67, 130, 189, 68, -1, 59, 135, 60, + 67, 130, 189, 68, -1, 165, -1, -1, 126, 66, + 133, -1, 126, -1, 67, 130, 189, 68, -1, 126, + -1, 67, 130, 189, 68, -1, 129, -1, 59, 135, + 60, -1, 126, -1, 147, -1, 146, -1, 35, -1, + 67, -1, 141, -1, 141, -1, -1, 138, -1, 24, + -1, 142, -1, 73, -1, 74, 3, 63, 24, -1, + 141, -1, 138, -1, 11, -1, 11, 146, -1, 155, -1, 161, -1, 153, -1, 154, -1, 152, -1, 59, - 146, 60, -1, 161, -1, 153, -1, 153, -1, 155, - -1, 161, -1, 153, -1, 154, -1, 152, -1, 143, - -1, 143, 63, 141, -1, 71, 192, 72, 146, -1, - 71, 11, 72, 146, -1, 8, 148, -1, 8, 36, - 146, -1, 23, 71, 146, 72, 146, -1, 156, -1, - 157, -1, 53, 146, -1, 36, 8, 146, -1, 29, - 137, 170, 190, 68, -1, 29, 137, 68, -1, 22, - 137, 171, 190, 68, -1, 22, 137, 68, -1, 17, - 159, 162, -1, 141, 59, 179, 60, 163, -1, 59, - 179, 60, 141, 59, 179, 60, 163, -1, 200, 59, - 195, 60, 210, -1, 59, 215, 60, 141, 59, 195, - 60, 210, -1, 17, 59, 179, 60, 163, -1, -1, - 67, 183, 68, -1, -1, 151, -1, 59, 179, 60, - -1, 161, -1, 164, 137, 183, 68, -1, 164, 1, - -1, -1, 166, 90, 62, -1, 93, -1, 167, 62, - 93, -1, 95, -1, 168, 62, 95, -1, 97, -1, - 169, 62, 97, -1, 172, -1, 170, 62, 172, -1, - 175, -1, 171, 62, 175, -1, 184, 146, 198, -1, - 174, 198, -1, 59, 174, 60, 198, -1, 53, 174, - 198, -1, 59, 53, 174, 60, 198, -1, 53, 59, - 174, 60, 198, -1, 24, -1, 24, 63, 141, -1, - 173, -1, 138, 176, -1, 173, -1, 59, 173, 60, - -1, 59, 179, 60, 163, -1, 136, -1, 141, 136, - -1, 141, 145, -1, 145, -1, 177, -1, 178, 75, - 177, -1, -1, 178, 191, -1, -1, 100, -1, 91, - -1, 181, -1, 1, -1, 98, -1, 110, -1, 121, - -1, 124, -1, 113, -1, -1, 144, 66, 182, 180, - -1, 15, -1, 6, 140, -1, 10, 140, -1, 18, - 128, -1, 13, 128, -1, 19, 138, -1, 27, 193, - -1, 180, -1, 183, 62, 180, -1, 138, -1, 184, - 75, 138, -1, 139, -1, 185, 75, 139, -1, 126, - -1, 186, 75, 126, -1, 135, -1, 187, 75, 135, - -1, 131, -1, 132, -1, 188, 75, 131, -1, 188, - 75, 132, -1, -1, 188, 191, -1, -1, 62, -1, - -1, 75, -1, -1, 126, -1, -1, 186, -1, -1, - 98, -1, -1, 215, -1, -1, 216, -1, -1, 217, - -1, -1, 3, -1, 21, 24, 3, 62, -1, 32, - 200, 202, 62, -1, 9, 200, 65, 213, 62, -1, - 9, 200, 202, 65, 213, 62, -1, 31, 201, 202, - 62, -1, 17, 160, 162, 62, -1, 142, -1, 200, - -1, 204, -1, 205, -1, 206, -1, 204, -1, 206, - -1, 142, -1, 24, -1, 71, 72, 202, -1, 71, - 3, 72, 202, -1, 23, 71, 202, 72, 202, -1, - 29, 67, 196, 68, -1, 22, 67, 197, 68, -1, - 53, 202, -1, 8, 203, -1, 8, 59, 205, 60, - -1, 8, 36, 202, -1, 36, 8, 202, -1, 17, - 59, 195, 60, 210, -1, 141, 202, 198, -1, 141, - 11, 202, 198, -1, 141, 202, 198, -1, 141, 59, - 195, 60, 210, -1, 202, -1, -1, 211, -1, 59, - 195, 60, -1, 202, -1, 3, -1, 50, 3, -1, - 141, -1, 212, -1, 59, 212, 49, 212, 60, -1, - -1, 214, 199, -1, 207, -1, 215, 75, 207, -1, - 208, -1, 216, 62, 208, -1, 209, -1, 217, 62, - 209, -1 + 146, 60, -1, 155, -1, 161, -1, 153, -1, 53, + 147, -1, 161, -1, 153, -1, 154, -1, 152, -1, + 59, 146, 60, -1, 161, -1, 153, -1, 153, -1, + 155, -1, 161, -1, 153, -1, 154, -1, 152, -1, + 143, -1, 143, 63, 141, -1, 71, 192, 72, 146, + -1, 71, 11, 72, 146, -1, 8, 148, -1, 8, + 36, 146, -1, 23, 71, 146, 72, 146, -1, 156, + -1, 157, -1, 53, 146, -1, 36, 8, 146, -1, + 29, 137, 170, 190, 68, -1, 29, 137, 68, -1, + 22, 137, 171, 190, 68, -1, 22, 137, 68, -1, + 17, 159, 162, -1, 141, 59, 179, 60, 163, -1, + 59, 179, 60, 141, 59, 179, 60, 163, -1, 200, + 59, 195, 60, 210, -1, 59, 215, 60, 141, 59, + 195, 60, 210, -1, 17, 59, 179, 60, 163, -1, + -1, 67, 183, 68, -1, -1, 151, -1, 59, 179, + 60, -1, 161, -1, 164, 137, 183, 68, -1, 164, + 1, -1, -1, 166, 90, 62, -1, 93, -1, 167, + 62, 93, -1, 95, -1, 168, 62, 95, -1, 97, + -1, 169, 62, 97, -1, 172, -1, 170, 62, 172, + -1, 175, -1, 171, 62, 175, -1, 184, 146, 198, + -1, 174, 198, -1, 59, 174, 60, 198, -1, 53, + 174, 198, -1, 59, 53, 174, 60, 198, -1, 53, + 59, 174, 60, 198, -1, 24, -1, 24, 63, 141, + -1, 173, -1, 138, 176, -1, 173, -1, 59, 173, + 60, -1, 59, 179, 60, 163, -1, 136, -1, 141, + 136, -1, 141, 145, -1, 145, -1, 177, -1, 178, + 75, 177, -1, -1, 178, 191, -1, -1, 100, -1, + 91, -1, 181, -1, 1, -1, 98, -1, 110, -1, + 121, -1, 124, -1, 113, -1, -1, 144, 66, 182, + 180, -1, 15, -1, 6, 140, -1, 10, 140, -1, + 18, 128, -1, 13, 128, -1, 19, 138, -1, 27, + 193, -1, 180, -1, 183, 62, 180, -1, 138, -1, + 184, 75, 138, -1, 139, -1, 185, 75, 139, -1, + 126, -1, 186, 75, 126, -1, 135, -1, 187, 75, + 135, -1, 131, -1, 132, -1, 188, 75, 131, -1, + 188, 75, 132, -1, -1, 188, 191, -1, -1, 62, + -1, -1, 75, -1, -1, 126, -1, -1, 186, -1, + -1, 98, -1, -1, 215, -1, -1, 216, -1, -1, + 217, -1, -1, 3, -1, 21, 24, 3, 62, -1, + 32, 200, 202, 62, -1, 9, 200, 65, 213, 62, + -1, 9, 200, 202, 65, 213, 62, -1, 31, 201, + 202, 62, -1, 17, 160, 162, 62, -1, 142, -1, + 200, -1, 204, -1, 205, -1, 206, -1, 204, -1, + 206, -1, 142, -1, 24, -1, 71, 72, 202, -1, + 71, 3, 72, 202, -1, 23, 71, 202, 72, 202, + -1, 29, 67, 196, 68, -1, 22, 67, 197, 68, + -1, 53, 202, -1, 8, 203, -1, 8, 59, 205, + 60, -1, 8, 36, 202, -1, 36, 8, 202, -1, + 17, 59, 195, 60, 210, -1, 141, 202, 198, -1, + 141, 11, 202, 198, -1, 141, 202, 198, -1, 141, + 59, 195, 60, 210, -1, 202, -1, -1, 211, -1, + 59, 195, 60, -1, 202, -1, 3, -1, 50, 3, + -1, 141, -1, 212, -1, 59, 212, 49, 212, 60, + -1, -1, 214, 199, -1, 207, -1, 215, 75, 207, + -1, 208, -1, 216, 62, 208, -1, 209, -1, 217, + 62, 209, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -815,7 +815,7 @@ static const yytype_uint8 yyr2[] = 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 5, 6, 1, 1, 3, 5, - 5, 4, 6, 1, 4, 5, 5, 7, 1, 0, + 5, 4, 6, 1, 5, 5, 5, 7, 1, 0, 3, 1, 4, 1, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 4, 1, 1, 1, 2, 1, 1, 1, 1, 1, 3, @@ -876,7 +876,7 @@ static const yytype_uint16 yydefact[] = 0, 0, 51, 95, 110, 113, 96, 100, 101, 99, 111, 98, 97, 94, 112, 102, 103, 104, 105, 106, 107, 108, 109, 282, 123, 276, 286, 0, 128, 289, - 0, 0, 0, 282, 253, 60, 251, 250, 268, 252, + 0, 0, 286, 282, 253, 60, 251, 250, 268, 252, 0, 53, 52, 275, 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, 315, 0, 310, 311, 312, 0, 344, 0, 0, 294, 0, 0, 0, 15, 10, 0, @@ -887,144 +887,144 @@ static const yytype_uint16 yydefact[] = 0, 285, 0, 42, 273, 0, 0, 0, 197, 168, 166, 167, 165, 139, 190, 189, 285, 0, 44, 0, 139, 141, 278, 279, 286, 0, 286, 287, 0, 0, - 0, 131, 288, 260, 134, 0, 0, 0, 214, 0, - 0, 323, 313, 314, 294, 298, 0, 296, 0, 322, - 337, 0, 0, 339, 340, 0, 0, 0, 0, 0, - 300, 0, 0, 307, 0, 295, 302, 306, 303, 210, - 169, 0, 0, 0, 0, 246, 247, 160, 211, 186, - 184, 185, 182, 183, 207, 210, 209, 80, 77, 235, - 239, 0, 227, 200, 193, 0, 0, 92, 62, 65, - 0, 231, 0, 300, 225, 198, 271, 228, 64, 223, - 37, 219, 30, 41, 0, 282, 45, 220, 284, 47, - 33, 43, 282, 0, 287, 283, 136, 287, 0, 277, - 124, 130, 129, 0, 135, 0, 269, 325, 0, 0, - 316, 0, 315, 0, 332, 348, 299, 0, 0, 0, - 346, 297, 326, 338, 0, 304, 0, 317, 0, 300, - 328, 0, 345, 333, 0, 69, 68, 292, 0, 247, - 203, 84, 210, 0, 59, 0, 300, 300, 230, 0, - 169, 0, 285, 0, 46, 0, 139, 143, 140, 280, - 281, 125, 132, 61, 324, 333, 294, 321, 0, 0, - 300, 320, 0, 0, 318, 305, 329, 294, 294, 336, - 205, 334, 67, 70, 212, 0, 86, 240, 0, 0, - 56, 0, 63, 233, 232, 90, 137, 221, 34, 142, - 282, 327, 0, 349, 319, 330, 347, 0, 0, 0, - 210, 0, 85, 81, 0, 0, 0, 333, 341, 333, - 335, 204, 82, 87, 58, 57, 144, 331, 206, 292, - 0, 83 + 0, 131, 288, 260, 287, 0, 0, 0, 0, 214, + 0, 0, 323, 313, 314, 294, 298, 0, 296, 0, + 322, 337, 0, 0, 339, 340, 0, 0, 0, 0, + 0, 300, 0, 0, 307, 0, 295, 302, 306, 303, + 210, 169, 0, 0, 0, 0, 246, 247, 160, 211, + 186, 184, 185, 182, 183, 207, 210, 209, 80, 77, + 235, 239, 0, 227, 200, 193, 0, 0, 92, 62, + 65, 0, 231, 0, 300, 225, 198, 271, 228, 64, + 223, 37, 219, 30, 41, 0, 282, 45, 220, 284, + 47, 33, 43, 282, 0, 287, 283, 136, 0, 277, + 124, 130, 129, 0, 134, 135, 0, 269, 325, 0, + 0, 316, 0, 315, 0, 332, 348, 299, 0, 0, + 0, 346, 297, 326, 338, 0, 304, 0, 317, 0, + 300, 328, 0, 345, 333, 0, 69, 68, 292, 0, + 247, 203, 84, 210, 0, 59, 0, 300, 300, 230, + 0, 169, 0, 285, 0, 46, 0, 139, 143, 140, + 280, 281, 125, 132, 61, 324, 333, 294, 321, 0, + 0, 300, 320, 0, 0, 318, 305, 329, 294, 294, + 336, 205, 334, 67, 70, 212, 0, 86, 240, 0, + 0, 56, 0, 63, 233, 232, 90, 137, 221, 34, + 142, 282, 327, 0, 349, 319, 330, 347, 0, 0, + 0, 210, 0, 85, 81, 0, 0, 0, 333, 341, + 333, 335, 204, 82, 87, 58, 57, 144, 331, 206, + 292, 0, 83 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 1, 6, 2, 3, 14, 21, 30, 104, 31, - 8, 24, 16, 17, 65, 326, 67, 148, 516, 517, - 144, 145, 68, 498, 327, 436, 499, 575, 387, 365, - 471, 236, 237, 238, 69, 126, 252, 70, 132, 377, - 571, 642, 659, 616, 643, 71, 142, 398, 72, 140, - 73, 74, 75, 76, 313, 422, 423, 588, 77, 315, + 8, 24, 16, 17, 65, 326, 67, 148, 517, 518, + 144, 145, 68, 499, 327, 437, 500, 576, 387, 365, + 472, 236, 237, 238, 69, 126, 252, 70, 132, 377, + 572, 643, 660, 617, 644, 71, 142, 398, 72, 140, + 73, 74, 75, 76, 313, 422, 423, 589, 77, 315, 242, 135, 78, 149, 110, 116, 13, 80, 81, 244, - 245, 162, 118, 82, 83, 478, 227, 84, 229, 230, - 85, 86, 87, 129, 213, 88, 251, 484, 89, 90, - 22, 279, 518, 275, 267, 258, 268, 269, 270, 260, + 245, 162, 118, 82, 83, 479, 227, 84, 229, 230, + 85, 86, 87, 129, 213, 88, 251, 485, 89, 90, + 22, 279, 519, 275, 267, 258, 268, 269, 270, 260, 383, 246, 247, 248, 328, 329, 321, 330, 271, 151, - 92, 316, 424, 425, 221, 373, 170, 139, 253, 464, - 549, 543, 395, 100, 211, 217, 609, 441, 346, 347, - 348, 350, 550, 545, 610, 611, 454, 455, 25, 465, - 551, 546 + 92, 316, 424, 425, 221, 373, 170, 139, 253, 465, + 550, 544, 395, 100, 211, 217, 610, 442, 346, 347, + 348, 350, 551, 546, 611, 612, 455, 456, 25, 466, + 552, 547 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -467 +#define YYPACT_NINF -485 static const yytype_int16 yypact[] = { - -467, 53, 59, 64, -467, 34, -467, 120, -467, -467, - -467, 144, 94, -467, 177, 181, -467, -467, 145, -467, - 54, 160, 1026, -467, 163, 397, 215, -467, 113, 237, - -467, 64, 239, -467, -467, -467, 34, 1711, -467, 34, - 1567, -467, -467, 336, 1567, 34, -467, 161, 180, 1464, - -467, 161, -467, 389, 409, 1464, 1464, 1464, 1464, 1464, - 1464, 1507, 1464, 1464, 840, 191, -467, 461, -467, -467, - -467, -467, -467, 672, -467, -467, 207, 227, -467, 213, - -467, 228, 199, 161, 218, -467, -467, -467, 236, 91, - -467, -467, 76, -467, 223, -13, 276, 223, 223, 247, - -467, -467, -467, -467, 255, -467, -467, -467, -467, -467, - -467, -467, 263, 1722, 1722, 1722, -467, 262, -467, -467, - -467, -467, -467, -467, 261, 227, 1464, 1679, 265, 259, - 335, -467, 1464, -467, -467, 399, 1722, 2040, 269, -467, - 293, 23, 1464, 211, 1722, -467, -467, 291, -467, -467, - -467, 1593, -467, -467, -467, -467, -467, -467, 1550, 1507, - 2040, 280, -467, 31, -467, 171, -467, -467, 300, 2040, - 304, -467, 347, -467, 1620, 1464, 1464, 1464, 1464, -467, - 1464, 1464, 1464, -467, 1464, 1464, 1464, 1464, 1464, 1464, - 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, -467, 726, - 484, 1464, -467, 1464, -467, -467, 1187, 1464, 1464, 1464, - -467, 310, 34, 259, 295, 377, -467, 1267, 1267, -467, - 115, 322, -467, 1679, 375, 1722, -467, -467, -467, -467, - -467, -467, -467, 326, 34, -467, -467, 353, -467, 78, - 327, 1722, -467, 1679, -467, -467, -467, 323, 339, 1679, - 1187, -467, -467, 343, 122, 388, -467, 342, 354, -467, - -467, 358, -467, 21, 32, -467, -467, 379, -467, -467, - 412, 1652, -467, -467, -467, 387, -467, -467, -467, 413, - 1464, 34, 411, 1754, -467, 383, 1722, 1722, -467, 416, - 1464, 414, 2040, 881, -467, 2064, 1178, 1178, 1178, 1178, - -467, 1178, 1178, 2088, -467, 598, 598, 598, 598, -467, - -467, -467, -467, 936, -467, -467, 48, 1256, -467, 1913, - 408, 1113, 2015, 936, -467, -467, -467, -467, -467, -467, - -8, 269, 269, 2040, 1833, 425, 419, 421, -467, 424, - 485, 1267, 90, 49, -467, 430, -467, -467, -467, 1841, - -467, 27, 435, 34, 439, 440, 442, -467, -467, 445, - 1722, 446, -467, -467, -467, -467, 1311, 1366, 1464, -467, - -467, -467, 1679, -467, 1780, 447, 148, 353, 1464, 34, - 459, 449, 1679, -467, 501, 455, 1722, 92, 388, 412, - 388, 450, 240, 458, -467, -467, 34, 412, 492, 34, - 468, 34, 472, 269, -467, 1464, 1807, 1722, -467, 165, - 167, 253, 392, -467, -467, -467, 34, 480, 269, 1464, - -467, 1943, -467, -467, 470, 478, 473, 1507, 489, 490, - 491, -467, 1464, -467, -467, 487, 1187, 1113, -467, 1267, - 516, -467, -467, -467, 34, 1866, 1267, 34, 1267, -467, - -467, 550, 196, -467, -467, 494, 493, 1267, 90, 1267, - 412, 34, 34, -467, 503, 486, -467, -467, -467, 1780, - -467, 1187, 1464, 1464, 507, -467, 1679, 512, -467, -467, - -467, -467, -467, -467, -467, 1780, -467, -467, -467, -467, - -467, 513, -467, -467, -467, 1507, 515, -467, -467, -467, - 518, -467, 519, 412, -467, -467, -467, -467, -467, -467, - -467, -467, -467, 269, 522, 936, -467, -467, 521, 1620, - -467, 269, 936, 1409, 936, -467, -467, -467, 524, -467, - -467, -467, -467, 514, -467, 192, -467, -467, 525, 528, - 530, 533, 535, 527, -467, -467, 537, 532, 1267, 538, - -467, 543, -467, -467, 562, -467, 1267, -467, 551, 412, - -467, 553, -467, 1874, 219, 2040, 2040, 1464, 554, 1679, - -467, -467, 1780, 45, -467, 1113, 412, 412, -467, 93, - 429, 548, 34, 557, 414, 552, -467, 2040, -467, -467, - -467, -467, -467, -467, -467, 1874, 34, -467, 1866, 1267, - 412, -467, 34, 196, -467, -467, -467, 34, 34, -467, - -467, -467, -467, -467, -467, 558, 605, -467, 1464, 1464, - -467, 1507, 560, -467, -467, -467, -467, -467, -467, -467, - 936, -467, 563, -467, -467, -467, -467, 564, 565, 567, - 1780, 68, -467, -467, 1967, 1991, 561, 1874, -467, 1874, - -467, -467, -467, -467, -467, -467, -467, -467, -467, 1464, - 353, -467 + -485, 67, 35, 55, -485, 44, -485, 64, -485, -485, + -485, 96, 38, -485, 77, 85, -485, -485, 66, -485, + 34, 84, 1059, -485, 86, 294, 147, -485, 165, 210, + -485, 55, 221, -485, -485, -485, 44, 1762, -485, 44, + 290, -485, -485, 442, 290, 44, -485, 80, 69, 1608, + -485, 80, -485, 450, 452, 1608, 1608, 1608, 1608, 1608, + 1608, 1651, 1608, 1608, 920, 157, -485, 460, -485, -485, + -485, -485, -485, 718, -485, -485, 167, 344, -485, 176, + -485, 180, 193, 80, 206, -485, -485, -485, 218, 91, + -485, -485, 76, -485, 205, 10, 260, 205, 205, 223, + -485, -485, -485, -485, 230, -485, -485, -485, -485, -485, + -485, -485, 237, 1770, 1770, 1770, -485, 236, -485, -485, + -485, -485, -485, -485, 220, 344, 1608, 990, 241, 235, + 262, -485, 1608, -485, -485, 405, 1770, 2090, 254, -485, + 297, 444, 1608, 61, 1770, -485, -485, 271, -485, -485, + -485, 671, -485, -485, -485, -485, -485, -485, 1694, 1651, + 2090, 291, -485, 181, -485, 60, -485, -485, 287, 2090, + 301, -485, 496, -485, 912, 1608, 1608, 1608, 1608, -485, + 1608, 1608, 1608, -485, 1608, 1608, 1608, 1608, 1608, 1608, + 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, -485, 1290, + 468, 1608, -485, 1608, -485, -485, 1221, 1608, 1608, 1608, + -485, 573, 44, 235, 275, 347, -485, 1301, 1301, -485, + 113, 302, -485, 990, 358, 1770, -485, -485, -485, -485, + -485, -485, -485, 316, 44, -485, -485, 340, -485, 78, + 318, 1770, -485, 990, -485, -485, -485, 307, 325, 990, + 1221, -485, -485, 324, 117, 365, -485, 343, 337, -485, + -485, 333, -485, 32, 23, -485, -485, 350, -485, -485, + 406, 1737, -485, -485, -485, 351, -485, -485, -485, 352, + 1608, 44, 354, 1796, -485, 353, 1770, 1770, -485, 359, + 1608, 357, 2090, 1928, -485, 2114, 1212, 1212, 1212, 1212, + -485, 1212, 1212, 2138, -485, 566, 566, 566, 566, -485, + -485, -485, -485, 1345, -485, -485, 31, 1400, -485, 1988, + 360, 1147, 1955, 1345, -485, -485, -485, -485, -485, -485, + 95, 254, 254, 2090, 1857, 368, 361, 371, -485, 363, + 427, 1301, 247, 51, -485, 374, -485, -485, -485, 1890, + -485, 36, 382, 44, 384, 385, 387, -485, -485, 391, + 1770, 395, -485, -485, -485, -485, 1455, 1510, 1608, -485, + -485, -485, 990, -485, 1823, 399, 135, 340, 1608, 44, + 397, 403, 990, -485, 542, 407, 1770, 278, 365, 406, + 365, 411, 364, 413, -485, -485, 44, 406, 430, 44, + 423, 44, 425, 254, -485, 1608, 1849, 1770, -485, 216, + 219, 274, 288, -485, -485, -485, 44, 426, 254, 1608, + -485, 2018, -485, -485, 414, 422, 416, 1651, 433, 434, + 436, -485, 1608, -485, -485, 439, 437, 1221, 1147, -485, + 1301, 466, -485, -485, -485, 44, 1882, 1301, 44, 1301, + -485, -485, 504, 207, -485, -485, 446, 438, 1301, 247, + 1301, 406, 44, 44, -485, 453, 455, -485, -485, -485, + 1823, -485, 1221, 1608, 1608, 467, -485, 990, 472, -485, + -485, -485, -485, -485, -485, -485, 1823, -485, -485, -485, + -485, -485, 475, -485, -485, -485, 1651, 470, -485, -485, + -485, 490, -485, 493, 406, -485, -485, -485, -485, -485, + -485, -485, -485, -485, 254, 495, 1345, -485, -485, 498, + 912, -485, 254, 1345, 1553, 1345, -485, -485, 497, -485, + -485, -485, -485, 486, -485, -485, 143, -485, -485, 501, + 502, 473, 508, 513, 505, -485, -485, 515, 503, 1301, + 511, -485, 518, -485, -485, 533, -485, 1301, -485, 522, + 406, -485, 526, -485, 1916, 144, 2090, 2090, 1608, 527, + 990, -485, -485, 1823, 39, -485, 1147, 406, 406, -485, + 315, 293, 521, 44, 548, 357, 525, -485, 2090, -485, + -485, -485, -485, -485, -485, -485, 1916, 44, -485, 1882, + 1301, 406, -485, 44, 207, -485, -485, -485, 44, 44, + -485, -485, -485, -485, -485, -485, 551, 572, -485, 1608, + 1608, -485, 1651, 550, -485, -485, -485, -485, -485, -485, + -485, 1345, -485, 558, -485, -485, -485, -485, 563, 564, + 565, 1823, 46, -485, -485, 2042, 2066, 559, 1916, -485, + 1916, -485, -485, -485, -485, -485, -485, -485, -485, -485, + 1608, 340, -485 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -467, -467, -467, -467, -467, -467, -467, -6, -467, -467, - 599, -467, 13, -467, -467, 613, -467, -123, -24, 58, - -467, -127, -121, -467, 2, -467, -467, -467, 128, -369, - -467, -467, -467, -467, -467, -467, -140, -467, -467, -467, - -467, -467, -467, -467, -467, -467, -467, -467, -467, -467, - 632, 12, 33, -467, -201, 121, 123, -467, 183, -54, - 401, 114, -26, 369, 616, -5, 420, 385, -467, 417, - -50, 498, -467, -467, -467, -467, -33, 18, -31, -25, - -467, -467, -467, -467, -467, 194, 448, -460, -467, -467, - -467, -467, -467, -467, -467, -467, 267, -109, -231, 278, - -467, 292, -467, -214, -282, 643, -467, -223, -467, -66, - 282, 172, -467, -311, -238, -274, -183, -467, -112, -414, - -467, -467, -294, -467, 264, -467, 85, -467, 332, 229, - 340, 216, 71, 77, -466, -467, -424, 222, -467, 474, - -467, -467 + -485, -485, -485, -485, -485, -485, -485, -6, -485, -485, + 597, -485, -3, -485, -485, 608, -485, -131, -28, 50, + -485, -135, -106, -485, -7, -485, -485, -485, 125, -370, + -485, -485, -485, -485, -485, -485, -138, -485, -485, -485, + -485, -485, -485, -485, -485, -485, -485, -485, -485, -485, + 665, 15, 116, -485, -190, 111, 112, -485, 164, -59, + 398, 137, 14, 367, 603, -5, 454, 432, -485, 402, + -50, 491, -485, -485, -485, -485, -36, 18, -34, -9, + -485, -485, -485, -485, -485, 257, 441, -445, -485, -485, + -485, -485, -485, -485, -485, -485, 259, -116, -218, 265, + -485, 284, -485, -217, -286, 636, -485, -237, -485, -62, + -24, 166, -485, -314, -246, -265, -177, -485, -115, -415, + -485, -485, -379, -485, -8, -485, 435, -485, 326, 225, + 327, 204, 65, 70, -484, -485, -426, 211, -485, 462, + -485, -485 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1034,215 +1034,220 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -275 static const yytype_int16 yytable[] = { - 12, 174, 272, 323, 119, 235, 121, 161, 487, 359, - 109, 235, 435, 109, 240, 32, 274, 79, 320, 131, - 385, 235, 103, 32, 278, 570, 259, 376, 554, 393, - 539, 111, 389, 391, 111, 375, 164, 400, 128, 433, - 111, 402, 428, 173, 107, 380, 212, 254, 146, 150, - 618, 417, 456, 4, 437, 120, 380, 27, 9, 426, - 438, 11, 150, 226, 232, 233, -181, 152, 153, 154, - 155, 156, 157, 124, 166, 167, 263, 130, 9, 163, - 388, 207, 264, 366, 5, 390, 261, 461, 652, 7, - -180, 265, 205, 450, 276, 501, 10, 11, -181, 495, - 495, 282, 462, 507, 496, 496, 174, 10, 11, 257, - 619, 620, 617, 28, 9, 266, 27, 29, 27, 222, - 621, 457, 243, 427, 291, -234, 133, 10, 11, 631, - 111, 228, 228, 228, 164, 325, 111, 9, 146, 9, - 451, 208, 150, 367, 15, 228, 381, 18, 289, 452, - 525, 209, 528, 209, 228, 536, 19, 500, 134, 502, - 497, 625, 228, 10, 11, 141, 560, 150, 491, 228, - 152, 156, -213, 102, 164, 361, 29, 163, 29, 637, - 651, 657, 632, 658, -234, 379, 10, 11, 10, 11, - -234, 369, 228, 638, 639, 318, 133, 204, 20, 450, - -177, 79, -175, 206, 581, 23, -213, 349, 26, 578, - 437, 585, 515, 535, 357, 32, 486, 163, 243, 522, - 9, 397, 33, 125, -177, 93, -175, 125, 134, 363, - -179, 122, -177, 408, -175, 9, 414, 415, -213, 101, - 105, 228, 108, 228, 243, 79, 451, 235, 564, 533, - 409, 136, 411, 171, 437, 165, 474, 235, 203, 228, - 593, 228, 568, 430, 254, 606, 488, 228, -265, 10, - 11, 273, 509, -265, 198, 259, 150, -180, 511, -152, - 583, 437, 623, 624, 10, 11, 199, 612, -176, 228, - 200, 661, 164, 263, 202, -179, 345, 11, 201, 264, - 215, 410, 355, 356, 228, 228, 635, 231, 231, 231, - 408, 219, -176, 10, 11, 9, 79, 220, 334, 646, - -176, 231, 223, -265, 249, 234, 250, 335, 262, -265, - 231, 138, 336, 337, 338, 163, 494, 453, 231, 339, - 285, 479, -264, 481, 209, 231, 340, -264, 349, 482, - 519, 277, 622, 165, 353, 615, 226, 514, 257, 214, - 9, 216, 218, 341, 10, 11, 266, 243, 231, 477, - 506, 9, 286, 529, 489, 342, 287, 243, 228, 111, - 354, 343, 358, 360, 11, 630, 362, 111, 364, 368, - 228, 111, 480, 165, 146, 127, 150, -264, 372, 374, - 228, 382, 164, -264, 228, 378, 94, 288, 239, 10, - 11, 150, 380, 9, 95, 394, 384, 231, 96, 231, - 10, 11, 117, 254, 228, 228, 449, -174, 97, 98, - 386, 79, 79, 9, 460, 231, 479, 231, 481, 349, - 541, 392, 548, 231, 482, 163, 235, 453, 143, 399, - 413, -174, 479, 453, 481, 613, 561, 349, 255, -174, - 482, 99, 10, 11, -178, 231, 79, 256, 147, 584, - 164, 243, 10, 11, 432, 401, 405, 412, 416, 419, - 231, 231, 10, 11, 444, 9, 445, 480, -178, 331, - 332, 447, 446, 448, 228, 458, -178, 463, 117, 117, - 117, 466, 467, 480, 468, 469, 470, 485, 9, 490, - 503, 165, 117, 163, 210, 210, 519, 210, 210, 660, - 172, 117, 379, 493, 537, 254, 505, 508, 510, 117, - 544, 547, 512, 552, 10, 11, 117, 228, 235, 479, - 520, 481, 557, 317, 559, 524, 526, 482, 527, 530, - 531, 532, 340, 553, 231, 534, 555, 10, 11, 117, - 255, 462, 403, 563, 243, 556, 231, 529, 483, 567, - 79, 569, 418, 572, 10, 11, 231, 150, 576, 577, - 231, 574, 580, 582, 591, 594, 592, 228, 595, -156, - 480, 349, 596, 541, -157, 597, 164, 548, 453, 598, - 231, 231, 349, 349, 599, 602, 601, 479, 117, 481, - 117, 603, 607, 605, 614, 482, 626, 628, 640, 641, - 629, 165, 437, 647, 648, 649, 117, 650, 117, 656, - 106, 344, 177, 600, 117, 66, 579, 344, 344, 163, - 627, 604, 185, 653, 370, 589, 189, 590, 331, 332, - 404, 194, 195, 196, 197, 123, 117, 284, 480, 504, - 371, 352, 492, 483, 475, 91, 442, 573, 117, 538, - 231, 117, 117, 636, 443, 633, 175, -274, 562, 483, - 558, 137, 0, 544, 634, 0, 351, 513, 0, 165, - 0, 0, 0, 160, 0, 0, 169, 0, 0, 0, - 0, 521, 0, 0, 0, 176, 177, 0, 178, 179, - 180, 181, 182, 231, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 35, - 0, 0, 0, 0, 37, 0, 0, -274, 0, 0, - 0, 0, 0, 112, 0, 117, 0, -274, 47, 48, - 9, 0, 0, 0, 344, 51, 0, 117, 0, 117, - 0, 344, 158, 231, 0, 0, 483, 117, 0, 344, - 0, 117, 0, 0, 0, 56, 57, 0, 58, 159, - 0, 0, 60, 0, 0, 61, 314, 0, 0, 0, - 0, 117, 117, 0, 0, 62, 63, 64, 0, 10, - 11, 0, 0, 0, 0, 0, 0, 292, 293, 294, - 295, 0, 296, 297, 298, 165, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 0, 160, 0, 319, 483, 322, 0, 0, 0, 137, - 137, 333, 0, 35, 0, 0, 0, 0, 37, 0, - 0, 168, 0, 0, 117, 0, 0, 112, 0, 344, - 0, 117, 47, 48, 9, 542, 344, 0, 344, 51, - 117, 0, 0, 0, 0, 0, 55, 344, 0, 344, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, - 57, 0, 58, 59, 0, 0, 60, 0, 0, 61, - 0, 0, 0, 0, 117, 0, 0, 0, 0, 62, - 63, 64, 137, 10, 11, 177, 0, 0, 0, 180, - 181, 182, 137, 0, 184, 185, 186, 187, 0, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 0, 35, - 0, 0, 0, 0, 37, 421, 0, 0, 0, 160, - 0, 0, 0, 112, 117, 421, 0, 117, 47, 48, - 9, 0, 0, 0, 0, 51, 0, 0, 344, 0, - 0, 0, 55, 0, 0, 0, 344, 0, 0, 0, - 0, 0, 0, 344, 0, 56, 57, 0, 58, 59, - 0, 0, 60, 0, 0, 61, 0, 0, 137, 137, - 0, 0, 0, 420, 0, 62, 63, 64, 0, 10, - 11, 0, 0, 0, 0, 344, 0, 0, 542, 344, - 0, 0, 0, 0, 0, 117, -2, 34, 0, 35, - 0, 0, 36, 0, 37, 38, 39, 137, 0, 40, - 0, 41, 42, 43, 44, 45, 46, 0, 47, 48, - 9, 137, 0, 49, 50, 51, 52, 53, 54, 160, - 0, 0, 55, 0, 169, 0, 0, 344, 0, 344, - 0, 0, 0, 0, 0, 56, 57, 0, 58, 59, - 0, 0, 60, 0, 0, 61, 0, 0, -24, 0, - 0, 0, 0, 0, 0, 62, 63, 64, 0, 10, - 11, 0, 0, 0, 565, 566, 0, 0, 0, 0, - 0, 0, 0, 0, 324, 0, 35, 0, 0, 36, - -249, 37, 38, 39, 0, -249, 40, 160, 41, 42, - 112, 44, 45, 46, 0, 47, 48, 9, 0, 0, - 49, 50, 51, 52, 53, 54, 0, 421, 0, 55, - 0, 0, 0, 0, 421, 587, 421, 0, 0, 0, - 0, 0, 56, 57, 0, 58, 59, 0, 0, 60, - 0, 0, 61, 0, 0, -249, 0, 0, 0, 0, - 325, -249, 62, 63, 64, 0, 10, 11, 324, 0, - 35, 0, 0, 36, 0, 37, 38, 39, 0, 0, - 40, 0, 41, 42, 112, 44, 45, 46, 0, 47, - 48, 9, 177, 0, 49, 50, 51, 52, 53, 54, - 0, 0, 185, 55, 0, 0, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 0, 56, 57, 0, 58, + 12, 119, 161, 121, 272, 174, 359, 488, 274, 436, + 502, 240, 385, 376, 323, 32, 278, 79, 508, 259, + 235, 393, 103, 32, 320, 138, 235, 555, 107, 400, + 540, 111, 375, 402, 111, 433, 235, 27, 128, 173, + 111, 571, 426, 417, 619, 389, 391, 380, 146, 150, + 109, 428, 164, 109, 457, 120, 380, 435, 9, 131, + 5, -213, 150, 226, 232, 233, 653, 4, 9, 212, + 152, 153, 154, 155, 156, 157, 390, 166, 167, 163, + 7, 207, 561, 366, 11, 9, 261, 214, 15, 216, + 218, 388, 205, 28, 276, -213, 462, 29, 20, 18, + 19, 282, 239, 222, 620, 621, 427, 10, 11, 23, + 174, 463, 632, 325, 622, 133, 27, 10, 11, -179, + -234, 273, 243, 458, 291, 579, 133, -213, 618, 26, + 111, 228, 228, 228, 10, 11, 111, 9, 146, 381, + 136, 208, 150, 367, 289, 228, 33, 134, 93, 257, + 164, 209, 537, 209, 228, 266, 124, 438, 134, 526, + 130, 528, 228, 439, 658, 492, 659, 150, 27, 228, + 501, 101, 503, 152, 156, 361, 29, 163, 638, -234, + 379, 607, 633, 331, 332, -234, 10, 11, 141, 9, + 164, 369, 228, 639, 640, 318, 652, 438, 624, 625, + 536, 79, 582, 487, 125, 438, 438, 349, 125, 586, + 451, 594, 613, 105, 357, 32, -181, 163, 243, 171, + 204, 397, 636, 516, 108, 102, 206, -265, 29, 363, + 523, 9, -265, 408, 198, 565, 414, 415, 10, 11, + -180, 228, -152, 228, 243, 79, 202, 409, -181, 411, + 451, -177, 203, 475, -175, 533, 403, 452, 430, 228, + 569, 228, 235, 489, 510, -180, 418, 228, 259, -264, + 512, 9, 235, 584, -264, -177, 150, -179, -175, 11, + 10, 11, -265, -177, 215, 496, -175, 219, -265, 228, + 497, 662, 220, 35, 122, 9, 223, 452, 37, 234, + 249, 410, 250, 94, 228, 228, 453, 112, 164, -176, + 408, 95, 47, 48, 9, 96, 79, 647, 165, 51, + 10, 11, 496, -174, -264, 97, 98, 497, -178, 209, + -264, 277, 262, -176, 353, 163, 495, 454, 480, 623, + 482, -176, 331, 332, 10, 11, 498, -174, 349, 61, + 354, 285, -178, 616, 520, -174, 226, 515, 99, 286, + -178, 64, 358, 10, 11, 483, 360, 243, 529, 478, + 231, 231, 231, 287, 490, 364, 362, 243, 228, 111, + 368, 514, 372, 626, 231, 374, 378, 111, 254, 380, + 228, 111, 481, 231, 146, 522, 150, 631, 257, 384, + 228, 231, 382, 199, 228, 386, 266, 200, 231, 394, + 507, 150, 392, 399, 401, 201, 165, 263, 164, 405, + 413, 416, 419, 264, 228, 228, 432, 445, 446, 254, + 448, 231, 79, 79, 480, 449, 482, 10, 11, 459, + 349, 542, 447, 549, 464, 163, 467, 468, 454, 469, + 480, 470, 482, 614, 454, 471, 165, 562, 349, 486, + 379, 483, 235, 491, 255, 509, 9, 79, 254, 117, + 585, 504, 243, 256, 9, 494, 9, 483, 10, 11, + 231, 506, 231, 511, 9, 513, 521, 164, 481, 525, + 527, 434, 9, 530, 531, 228, 532, 263, 231, 534, + 231, 127, 340, 264, 481, 535, 231, 554, 556, 143, + 557, 147, 265, 564, 163, 10, 11, 10, 11, 172, + 9, 520, 661, 10, 11, 10, 11, 317, 231, 568, + 463, 570, -156, 10, 11, 573, 575, 480, 228, 482, + 412, 10, 11, 231, 231, 117, 117, 117, 210, 210, + 577, 210, 210, 578, 235, 581, 288, 592, 593, 117, + 583, 595, 596, 529, 483, 243, 254, 597, 117, 10, + 11, 79, -157, 598, 165, 600, 117, 599, 150, 602, + 603, 334, 604, 117, 606, 608, 642, 615, 228, 627, + 335, 481, 349, 630, 542, 336, 337, 338, 549, 454, + 177, 255, 339, 349, 349, 480, 117, 482, 629, 340, + 185, 641, 438, 164, 189, 10, 11, 231, 648, 194, + 195, 196, 197, 649, 650, 651, 341, 657, 106, 231, + 66, 484, 483, 628, 580, 654, 590, 591, 342, 231, + 163, 370, 123, 231, 343, 371, 345, 11, 404, 493, + 284, 505, 355, 356, 352, 117, 476, 117, 91, 481, + 443, 444, 574, 231, 231, 344, 539, 563, 637, 634, + 559, 344, 344, 117, 351, 117, 0, 0, 0, 37, + 0, 117, 0, 0, 165, 0, 0, 0, 112, 0, + 0, 0, 0, 47, 48, 9, 0, 0, 0, 0, + 51, 0, 0, 117, 0, 0, 0, 224, 0, 0, + 0, 0, 0, 0, 137, 117, 0, 0, 117, 117, + 0, 0, 175, -274, 114, 0, 160, 484, 0, 169, + 225, 0, 0, 0, 231, 0, 280, 0, 0, 0, + 0, 0, 64, 484, 10, 11, 281, 0, 0, 0, + 0, 176, 177, 165, 178, 179, 180, 181, 182, 0, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 0, 450, 231, 0, 0, + 0, 0, 0, -274, 461, 0, 0, 0, 344, 0, + 0, 0, 117, -274, 0, 344, 0, 0, 0, 0, + 0, 0, 0, 344, 117, 0, 117, 0, 0, 0, + 0, 0, 0, 0, 117, 0, 0, 0, 117, 0, + 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, + 484, 0, 0, 0, 0, 0, 0, 0, 117, 117, + 292, 293, 294, 295, 0, 296, 297, 298, 0, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 0, 160, 0, 319, 0, 322, 0, + 0, 0, 137, 137, 333, 538, 0, 0, 0, 165, + 0, 545, 548, 0, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 558, 344, 560, 0, 0, 484, 0, + 543, 344, 117, 344, 0, 0, 0, 0, 0, 117, + 0, 0, 344, 0, 344, 0, 0, 0, 117, 0, + 37, 0, 0, 35, 0, 0, 0, 0, 37, 112, + 0, 168, 0, 0, 47, 48, 9, 112, 0, 0, + 0, 51, 47, 48, 9, 137, 0, 0, 224, 51, + 0, 0, 117, 0, 0, 137, 55, 0, 0, 0, + 0, 0, 0, 0, 0, 114, 0, 0, 0, 56, + 57, 225, 58, 59, 0, 0, 60, 290, 421, 61, + 0, 0, 160, 64, 601, 10, 11, 281, 421, 62, + 63, 64, 605, 10, 11, 0, 0, 0, 37, 0, + 0, 241, 117, 344, 0, 117, 0, 112, 0, 0, + 0, 344, 47, 48, 9, 0, 0, 0, 344, 51, + 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, + 0, 137, 137, 0, 545, 635, 0, 0, 0, 0, + 0, 0, 0, 114, 0, 0, 0, 0, 0, 225, + 344, 0, 0, 543, 344, 0, 0, 0, 0, -2, + 34, 64, 35, 10, 11, 36, 0, 37, 38, 39, + 137, 0, 40, 117, 41, 42, 43, 44, 45, 46, + 0, 47, 48, 9, 137, 0, 49, 50, 51, 52, + 53, 54, 160, 0, 0, 55, 0, 169, 0, 0, + 0, 0, 344, 0, 344, 0, 0, 0, 56, 57, + 0, 58, 59, 0, 0, 60, 0, 0, 61, 0, + 0, -24, 0, 0, 0, 0, 0, 0, 62, 63, + 64, 0, 10, 11, 0, 0, 0, 0, 566, 567, + 0, 0, 0, 0, 0, 0, 0, 0, 324, 0, + 35, 0, 0, 36, -249, 37, 38, 39, 0, -249, + 40, 160, 41, 42, 112, 44, 45, 46, 0, 47, + 48, 9, 0, 0, 49, 50, 51, 52, 53, 54, + 0, 421, 0, 55, 0, 0, 0, 0, 421, 588, + 421, 0, 0, 0, 0, 0, 56, 57, 0, 58, 59, 0, 0, 60, 0, 0, 61, 0, 0, -249, - 644, 645, 0, 160, 325, -249, 62, 63, 64, 35, - 10, 11, 421, 0, 37, 0, 0, 0, 0, 0, - 0, 0, 0, 112, 0, 334, 0, 0, 47, 48, - 9, 0, 0, 0, 335, 51, 0, 429, 0, 336, - 337, 338, 158, 0, 0, 0, 339, 0, 0, 0, - 0, 0, 0, 340, 0, 56, 57, 0, 58, 159, - 0, 0, 60, 0, 35, 61, 0, 0, 0, 37, - 341, 0, 0, 0, 0, 62, 63, 64, 112, 10, - 11, 0, 0, 47, 48, 9, 0, 472, 343, 0, - 51, 11, 0, 0, 0, 0, 0, 55, 0, 0, + 0, 0, 0, 0, 325, -249, 62, 63, 64, 0, + 10, 11, 324, 0, 35, 0, 0, 36, 0, 37, + 38, 39, 0, 0, 40, 0, 41, 42, 112, 44, + 45, 46, 0, 47, 48, 9, 177, 0, 49, 50, + 51, 52, 53, 54, 0, 0, 185, 55, 0, 0, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, + 56, 57, 0, 58, 59, 0, 0, 60, 0, 0, + 61, 0, 0, -249, 645, 646, 0, 160, 325, -249, + 62, 63, 64, 35, 10, 11, 421, 0, 37, 0, + 0, 0, 0, 0, 0, 0, 0, 112, 0, 334, + 0, 0, 47, 48, 9, 0, 0, 0, 335, 51, + 0, 0, 0, 336, 337, 338, 158, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 340, 0, 56, + 57, 0, 58, 159, 0, 0, 60, 0, 35, 61, + 314, 0, 0, 37, 341, 0, 0, 0, 0, 62, + 63, 64, 112, 10, 11, 0, 0, 47, 48, 9, + 0, 0, 343, 0, 51, 11, 0, 0, 0, 0, + 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 57, 0, 58, 59, 0, + 0, 60, 0, 35, 61, 0, 0, 0, 37, 0, + 0, 0, 420, 0, 62, 63, 64, 112, 10, 11, + 0, 0, 47, 48, 9, 0, 0, 0, 0, 51, + 0, 429, 0, 0, 0, 0, 158, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, + 57, 0, 58, 159, 0, 0, 60, 0, 35, 61, + 0, 0, 0, 37, 0, 0, 0, 0, 0, 62, + 63, 64, 112, 10, 11, 0, 0, 47, 48, 9, + 0, 473, 0, 0, 51, 0, 0, 0, 0, 0, + 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 57, 0, 58, 59, 0, + 0, 60, 0, 35, 61, 0, 0, 0, 37, 0, + 0, 0, 0, 0, 62, 63, 64, 112, 10, 11, + 0, 0, 47, 48, 9, 0, 474, 0, 0, 51, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 0, 0, 56, + 57, 37, 58, 59, 0, 0, 60, 0, 0, 61, + 112, 0, 0, 0, 0, 47, 48, 9, 0, 62, + 63, 64, 51, 10, 11, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 57, 0, 58, 59, 0, 0, 60, 0, 35, - 61, 0, 0, 0, 37, 0, 0, 0, 0, 0, - 62, 63, 64, 112, 10, 11, 0, 0, 47, 48, - 9, 0, 473, 0, 0, 51, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 35, 0, 0, 56, 57, 37, 58, 59, - 0, 0, 60, 0, 0, 61, 112, 0, 0, 0, - 0, 47, 48, 9, 0, 62, 63, 64, 51, 10, - 11, 0, 0, 0, 0, 55, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 57, - 0, 58, 59, 0, 0, 60, 0, 35, 61, 0, - 0, 0, 37, 0, 0, 0, 586, 0, 62, 63, - 64, 112, 10, 11, 0, 0, 47, 48, 9, 0, - 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 56, 57, 0, 58, 59, 0, 0, 60, + 0, 35, 61, 0, 0, 0, 37, 0, 0, 0, + 587, 0, 62, 63, 64, 112, 10, 11, 0, 0, + 47, 48, 9, 0, 0, 0, 0, 51, 0, 0, + 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35, 0, 0, 56, 57, 37, + 58, 59, 0, 0, 60, 0, 0, 61, 112, 0, + 0, 0, 0, 47, 48, 9, 0, 62, 63, 64, + 51, 10, 11, 0, 0, 0, 0, 158, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, + 56, 57, 283, 58, 159, 0, 0, 60, 0, 0, + 61, 112, 0, 0, 0, 0, 47, 48, 9, 0, + 62, 63, 64, 51, 10, 11, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 35, 0, 0, 56, 57, 37, 58, 59, 0, 0, + 0, 0, 0, 56, 57, 37, 58, 59, 0, 0, 60, 0, 0, 61, 112, 0, 0, 0, 0, 47, 48, 9, 0, 62, 63, 64, 51, 10, 11, 0, - 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 35, 0, 0, 56, 57, 283, 58, - 159, 0, 0, 60, 0, 0, 61, 112, 0, 0, - 35, 0, 47, 48, 9, 37, 62, 63, 64, 51, - 10, 11, 0, 0, 112, 0, 55, 0, 0, 47, - 48, 9, 0, 0, 0, 0, 51, 0, 0, 56, - 57, 37, 58, 59, 0, 0, 60, 0, 0, 61, - 112, 0, 0, 0, 0, 47, 48, 9, 0, 62, - 63, 64, 51, 10, 11, 0, 61, 0, 37, 224, - 0, 0, 0, 0, 0, 0, 0, 112, 64, 0, - 10, 11, 47, 48, 9, 0, 114, 0, 0, 51, - 0, 0, 225, 0, 0, 0, 224, 0, 280, 0, - 37, 0, 0, 0, 64, 0, 10, 11, 281, 112, - 0, 0, 0, 114, 47, 48, 9, 0, 0, 225, - 0, 51, 0, 0, 0, 290, 0, 37, 224, 0, - 241, 64, 0, 10, 11, 281, 112, 0, 0, 0, - 0, 47, 48, 9, 0, 114, 0, 0, 51, 0, - 0, 225, 0, 0, 0, 224, 0, 0, 0, 37, - 0, 0, 0, 64, 0, 10, 11, 396, 112, 0, - 37, 0, 114, 47, 48, 9, 0, 0, 225, 112, - 51, 0, 0, 0, 47, 48, 9, 113, 0, 0, - 64, 51, 10, 11, 0, 0, 0, 0, 224, 0, - 0, 0, 37, 0, 114, 0, 0, 0, 0, 0, - 115, 112, 0, 0, 0, 114, 47, 48, 9, 0, - 0, 225, 64, 51, 10, 11, 0, 0, 37, 0, - 406, 0, 0, 64, 0, 10, 11, 112, 0, 0, - 0, 0, 47, 48, 9, 0, 0, 114, 0, 51, - 0, 0, 0, 407, 0, 283, 224, 0, 0, 0, - 0, 0, 0, 0, 112, 64, 0, 10, 11, 47, - 48, 9, 0, 114, 0, 0, 51, 0, 0, 476, - 0, 334, 0, 224, 0, 0, 0, 0, 0, 334, - 335, 64, 459, 10, 11, 336, 337, 338, 335, 0, - 114, 0, 339, 336, 337, 338, 225, 0, 0, 439, - 339, 0, 0, 0, 334, 0, 0, 340, 64, 0, - 10, 11, 334, 335, 0, 0, 341, 0, 336, 337, - 540, 335, 440, 0, 341, 339, 336, 337, 338, 0, - 0, 0, 340, 339, 343, 0, 0, 11, 0, 0, - 340, 0, 343, 0, 0, 11, 0, 0, 0, 341, - 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, - 0, 0, 0, 608, 0, 0, 0, 343, 0, 10, - 11, 0, 0, 0, 0, 343, 176, 177, 11, 178, - 0, 180, 181, 182, 0, 0, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, - 0, 180, 181, 182, 0, 431, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 176, 177, 0, 178, 0, 180, 181, 182, 0, 523, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 176, 177, 0, 178, 0, 180, - 181, 182, 0, 654, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 176, 177, - 0, 178, 0, 180, 181, 182, 0, 655, 184, 185, + 37, 0, 0, 224, 0, 0, 0, 0, 37, 112, + 0, 0, 0, 0, 47, 48, 9, 112, 0, 0, + 114, 51, 47, 48, 9, 0, 225, 0, 113, 51, + 0, 0, 0, 0, 37, 0, 224, 0, 64, 0, + 10, 11, 396, 112, 0, 114, 0, 0, 47, 48, + 9, 115, 0, 114, 0, 51, 0, 0, 0, 225, + 0, 37, 406, 64, 0, 10, 11, 0, 0, 0, + 112, 64, 0, 10, 11, 47, 48, 9, 0, 114, + 0, 0, 51, 0, 0, 407, 0, 283, 0, 224, + 0, 0, 0, 0, 0, 334, 112, 64, 0, 10, + 11, 47, 48, 9, 335, 0, 114, 0, 51, 336, + 337, 338, 477, 0, 0, 224, 339, 0, 0, 0, + 334, 0, 0, 440, 64, 0, 10, 11, 334, 335, + 0, 460, 114, 0, 336, 337, 541, 335, 225, 0, + 341, 339, 336, 337, 338, 0, 441, 0, 340, 339, + 64, 0, 10, 11, 334, 0, 340, 0, 343, 0, + 0, 11, 0, 335, 0, 341, 0, 0, 336, 337, + 338, 0, 0, 341, 0, 339, 0, 0, 0, 0, + 0, 0, 340, 343, 0, 10, 11, 0, 0, 0, + 0, 343, 177, 0, 11, 0, 180, 181, 182, 341, + 0, 184, 185, 186, 187, 609, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 0, 0, 343, 176, 177, + 11, 178, 0, 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 0, 176, 177, 434, 178, 0, 180, 181, - 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 177, 0, 178, 0, 180, 181, 182, 0, + 434, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 0, 0, 0, 0, 0, + 0, 176, 177, 0, 178, 0, 180, 181, 182, 0, + 431, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 176, 177, 0, 178, 0, + 180, 181, 182, 0, 524, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 176, + 177, 0, 178, 0, 180, 181, 182, 0, 655, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 176, 177, 0, 178, 0, 180, 181, + 182, 0, 656, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 176, 177, 0, 0, 0, 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, @@ -1253,215 +1258,220 @@ static const yytype_int16 yytable[] = static const yytype_int16 yycheck[] = { - 5, 67, 142, 204, 37, 126, 37, 61, 377, 223, - 36, 132, 323, 39, 126, 20, 143, 22, 201, 45, - 258, 142, 28, 28, 147, 485, 135, 250, 452, 267, - 444, 36, 263, 264, 39, 249, 61, 275, 43, 321, - 45, 279, 316, 67, 31, 24, 59, 24, 53, 54, - 5, 289, 3, 0, 62, 37, 24, 3, 24, 11, - 68, 74, 67, 113, 114, 115, 35, 55, 56, 57, - 58, 59, 60, 40, 62, 63, 53, 44, 24, 61, - 59, 5, 59, 5, 25, 53, 136, 60, 20, 25, - 59, 68, 1, 3, 144, 389, 73, 74, 67, 7, - 7, 151, 75, 397, 12, 12, 172, 73, 74, 135, - 65, 66, 572, 59, 24, 141, 3, 63, 3, 106, - 75, 72, 127, 75, 174, 3, 35, 73, 74, 595, - 135, 113, 114, 115, 159, 67, 141, 24, 143, 24, - 50, 65, 147, 65, 24, 127, 255, 3, 172, 59, - 424, 75, 426, 75, 136, 437, 62, 388, 67, 390, - 68, 68, 144, 73, 74, 51, 460, 172, 382, 151, - 158, 159, 1, 60, 199, 225, 63, 159, 63, 603, - 640, 647, 596, 649, 62, 63, 73, 74, 73, 74, - 68, 241, 174, 607, 608, 200, 35, 83, 21, 3, - 35, 206, 35, 89, 515, 24, 35, 212, 63, 503, - 62, 522, 413, 436, 220, 220, 68, 199, 223, 420, - 24, 271, 62, 40, 59, 62, 59, 44, 67, 234, - 59, 37, 67, 283, 67, 24, 286, 287, 67, 24, - 3, 223, 3, 225, 249, 250, 50, 368, 471, 432, - 283, 71, 283, 62, 62, 61, 368, 378, 59, 241, - 68, 243, 476, 317, 24, 559, 378, 249, 7, 73, - 74, 60, 399, 12, 67, 384, 281, 59, 401, 66, - 518, 62, 576, 577, 73, 74, 59, 68, 35, 271, - 63, 660, 317, 53, 66, 59, 211, 74, 71, 59, - 24, 283, 217, 218, 286, 287, 600, 113, 114, 115, - 360, 64, 59, 73, 74, 24, 321, 62, 8, 630, - 67, 127, 59, 62, 59, 63, 67, 17, 35, 68, - 136, 49, 22, 23, 24, 317, 386, 342, 144, 29, - 60, 374, 7, 374, 75, 151, 36, 12, 353, 374, - 416, 60, 575, 159, 59, 569, 406, 407, 384, 95, - 24, 97, 98, 53, 73, 74, 392, 372, 174, 374, - 396, 24, 72, 427, 379, 65, 72, 382, 360, 384, - 3, 71, 60, 8, 74, 586, 60, 392, 35, 62, - 372, 396, 374, 199, 399, 59, 401, 62, 75, 60, - 382, 59, 427, 68, 386, 62, 9, 60, 126, 73, - 74, 416, 24, 24, 17, 3, 62, 223, 21, 225, - 73, 74, 37, 24, 406, 407, 341, 35, 31, 32, - 72, 436, 437, 24, 349, 241, 469, 243, 469, 444, - 445, 62, 447, 249, 469, 427, 567, 452, 59, 62, - 67, 59, 485, 458, 485, 567, 461, 462, 59, 67, - 485, 64, 73, 74, 35, 271, 471, 68, 59, 519, - 495, 476, 73, 74, 66, 62, 65, 283, 62, 65, - 286, 287, 73, 74, 59, 24, 67, 469, 59, 207, - 208, 67, 71, 8, 476, 65, 67, 62, 113, 114, - 115, 62, 62, 485, 62, 60, 60, 60, 24, 60, - 60, 317, 127, 495, 94, 95, 582, 97, 98, 659, - 59, 136, 63, 68, 439, 24, 68, 35, 60, 144, - 445, 446, 60, 448, 73, 74, 151, 519, 659, 572, - 60, 572, 457, 59, 459, 75, 68, 572, 75, 60, - 60, 60, 36, 3, 360, 68, 62, 73, 74, 174, - 59, 75, 280, 60, 569, 72, 372, 621, 374, 62, - 575, 59, 290, 60, 73, 74, 382, 582, 60, 60, - 386, 66, 60, 62, 60, 60, 72, 569, 60, 59, - 572, 596, 59, 598, 59, 68, 621, 602, 603, 62, - 406, 407, 607, 608, 72, 62, 68, 640, 223, 640, - 225, 49, 59, 62, 60, 640, 68, 60, 60, 14, - 68, 427, 62, 60, 60, 60, 241, 60, 243, 68, - 31, 211, 34, 548, 249, 22, 508, 217, 218, 621, - 582, 556, 44, 641, 243, 524, 48, 524, 366, 367, - 281, 53, 54, 55, 56, 39, 271, 159, 640, 392, - 243, 213, 384, 469, 372, 22, 334, 495, 283, 440, - 476, 286, 287, 602, 334, 598, 4, 5, 462, 485, - 458, 49, -1, 598, 599, -1, 212, 405, -1, 495, - -1, -1, -1, 61, -1, -1, 64, -1, -1, -1, - -1, 419, -1, -1, -1, 33, 34, -1, 36, 37, - 38, 39, 40, 519, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 3, - -1, -1, -1, -1, 8, -1, -1, 65, -1, -1, - -1, -1, -1, 17, -1, 360, -1, 75, 22, 23, - 24, -1, -1, -1, 334, 29, -1, 372, -1, 374, - -1, 341, 36, 569, -1, -1, 572, 382, -1, 349, - -1, 386, -1, -1, -1, 49, 50, -1, 52, 53, - -1, -1, 56, -1, -1, 59, 60, -1, -1, -1, - -1, 406, 407, -1, -1, 69, 70, 71, -1, 73, - 74, -1, -1, -1, -1, -1, -1, 175, 176, 177, - 178, -1, 180, 181, 182, 621, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - -1, 199, -1, 201, 640, 203, -1, -1, -1, 207, - 208, 209, -1, 3, -1, -1, -1, -1, 8, -1, - -1, 11, -1, -1, 469, -1, -1, 17, -1, 439, - -1, 476, 22, 23, 24, 445, 446, -1, 448, 29, - 485, -1, -1, -1, -1, -1, 36, 457, -1, 459, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, - 50, -1, 52, 53, -1, -1, 56, -1, -1, 59, - -1, -1, -1, -1, 519, -1, -1, -1, -1, 69, - 70, 71, 280, 73, 74, 34, -1, -1, -1, 38, - 39, 40, 290, -1, 43, 44, 45, 46, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, -1, 3, - -1, -1, -1, -1, 8, 313, -1, -1, -1, 317, - -1, -1, -1, 17, 569, 323, -1, 572, 22, 23, - 24, -1, -1, -1, -1, 29, -1, -1, 548, -1, - -1, -1, 36, -1, -1, -1, 556, -1, -1, -1, - -1, -1, -1, 563, -1, 49, 50, -1, 52, 53, - -1, -1, 56, -1, -1, 59, -1, -1, 366, 367, - -1, -1, -1, 67, -1, 69, 70, 71, -1, 73, - 74, -1, -1, -1, -1, 595, -1, -1, 598, 599, - -1, -1, -1, -1, -1, 640, 0, 1, -1, 3, - -1, -1, 6, -1, 8, 9, 10, 405, -1, 13, - -1, 15, 16, 17, 18, 19, 20, -1, 22, 23, - 24, 419, -1, 27, 28, 29, 30, 31, 32, 427, - -1, -1, 36, -1, 432, -1, -1, 647, -1, 649, - -1, -1, -1, -1, -1, 49, 50, -1, 52, 53, - -1, -1, 56, -1, -1, 59, -1, -1, 62, -1, - -1, -1, -1, -1, -1, 69, 70, 71, -1, 73, - 74, -1, -1, -1, 472, 473, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, 3, -1, -1, 6, - 7, 8, 9, 10, -1, 12, 13, 495, 15, 16, - 17, 18, 19, 20, -1, 22, 23, 24, -1, -1, - 27, 28, 29, 30, 31, 32, -1, 515, -1, 36, - -1, -1, -1, -1, 522, 523, 524, -1, -1, -1, - -1, -1, 49, 50, -1, 52, 53, -1, -1, 56, - -1, -1, 59, -1, -1, 62, -1, -1, -1, -1, - 67, 68, 69, 70, 71, -1, 73, 74, 1, -1, - 3, -1, -1, 6, -1, 8, 9, 10, -1, -1, - 13, -1, 15, 16, 17, 18, 19, 20, -1, 22, - 23, 24, 34, -1, 27, 28, 29, 30, 31, 32, - -1, -1, 44, 36, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 49, 50, -1, 52, + 5, 37, 61, 37, 142, 67, 223, 377, 143, 323, + 389, 126, 258, 250, 204, 20, 147, 22, 397, 135, + 126, 267, 28, 28, 201, 49, 132, 453, 31, 275, + 445, 36, 249, 279, 39, 321, 142, 3, 43, 67, + 45, 486, 11, 289, 5, 263, 264, 24, 53, 54, + 36, 316, 61, 39, 3, 37, 24, 322, 24, 45, + 25, 1, 67, 113, 114, 115, 20, 0, 24, 59, + 55, 56, 57, 58, 59, 60, 53, 62, 63, 61, + 25, 5, 461, 5, 74, 24, 136, 95, 24, 97, + 98, 59, 1, 59, 144, 35, 60, 63, 21, 3, + 62, 151, 126, 106, 65, 66, 75, 73, 74, 24, + 172, 75, 596, 67, 75, 35, 3, 73, 74, 59, + 3, 60, 127, 72, 174, 504, 35, 67, 573, 63, + 135, 113, 114, 115, 73, 74, 141, 24, 143, 255, + 71, 65, 147, 65, 172, 127, 62, 67, 62, 135, + 159, 75, 438, 75, 136, 141, 40, 62, 67, 424, + 44, 426, 144, 68, 648, 382, 650, 172, 3, 151, + 388, 24, 390, 158, 159, 225, 63, 159, 604, 62, + 63, 560, 597, 207, 208, 68, 73, 74, 51, 24, + 199, 241, 174, 608, 609, 200, 641, 62, 577, 578, + 437, 206, 516, 68, 40, 62, 62, 212, 44, 523, + 3, 68, 68, 3, 220, 220, 35, 199, 223, 62, + 83, 271, 601, 413, 3, 60, 89, 7, 63, 234, + 420, 24, 12, 283, 67, 472, 286, 287, 73, 74, + 59, 223, 66, 225, 249, 250, 66, 283, 67, 283, + 3, 35, 59, 368, 35, 432, 280, 50, 317, 241, + 477, 243, 368, 378, 399, 59, 290, 249, 384, 7, + 401, 24, 378, 519, 12, 59, 281, 59, 59, 74, + 73, 74, 62, 67, 24, 7, 67, 64, 68, 271, + 12, 661, 62, 3, 37, 24, 59, 50, 8, 63, + 59, 283, 67, 9, 286, 287, 59, 17, 317, 35, + 360, 17, 22, 23, 24, 21, 321, 631, 61, 29, + 73, 74, 7, 35, 62, 31, 32, 12, 35, 75, + 68, 60, 35, 59, 59, 317, 386, 342, 374, 576, + 374, 67, 366, 367, 73, 74, 68, 59, 353, 59, + 3, 60, 59, 570, 416, 67, 406, 407, 64, 72, + 67, 71, 60, 73, 74, 374, 8, 372, 427, 374, + 113, 114, 115, 72, 379, 35, 60, 382, 360, 384, + 62, 405, 75, 68, 127, 60, 62, 392, 24, 24, + 372, 396, 374, 136, 399, 419, 401, 587, 384, 62, + 382, 144, 59, 59, 386, 72, 392, 63, 151, 3, + 396, 416, 62, 62, 62, 71, 159, 53, 427, 65, + 67, 62, 65, 59, 406, 407, 66, 59, 67, 24, + 67, 174, 437, 438, 470, 8, 470, 73, 74, 65, + 445, 446, 71, 448, 62, 427, 62, 62, 453, 62, + 486, 60, 486, 568, 459, 60, 199, 462, 463, 60, + 63, 470, 568, 60, 59, 35, 24, 472, 24, 37, + 520, 60, 477, 68, 24, 68, 24, 486, 73, 74, + 223, 68, 225, 60, 24, 60, 60, 496, 470, 75, + 68, 75, 24, 60, 60, 477, 60, 53, 241, 60, + 243, 59, 36, 59, 486, 68, 249, 3, 62, 59, + 72, 59, 68, 60, 496, 73, 74, 73, 74, 59, + 24, 583, 660, 73, 74, 73, 74, 59, 271, 62, + 75, 59, 59, 73, 74, 60, 66, 573, 520, 573, + 283, 73, 74, 286, 287, 113, 114, 115, 94, 95, + 60, 97, 98, 60, 660, 60, 60, 60, 72, 127, + 62, 60, 60, 622, 573, 570, 24, 59, 136, 73, + 74, 576, 59, 68, 317, 72, 144, 62, 583, 68, + 62, 8, 49, 151, 62, 59, 14, 60, 570, 68, + 17, 573, 597, 68, 599, 22, 23, 24, 603, 604, + 34, 59, 29, 608, 609, 641, 174, 641, 60, 36, + 44, 60, 62, 622, 48, 73, 74, 360, 60, 53, + 54, 55, 56, 60, 60, 60, 53, 68, 31, 372, + 22, 374, 641, 583, 509, 642, 525, 525, 65, 382, + 622, 243, 39, 386, 71, 243, 211, 74, 281, 384, + 159, 392, 217, 218, 213, 223, 372, 225, 22, 641, + 334, 334, 496, 406, 407, 211, 441, 463, 603, 599, + 459, 217, 218, 241, 212, 243, -1, -1, -1, 8, + -1, 249, -1, -1, 427, -1, -1, -1, 17, -1, + -1, -1, -1, 22, 23, 24, -1, -1, -1, -1, + 29, -1, -1, 271, -1, -1, -1, 36, -1, -1, + -1, -1, -1, -1, 49, 283, -1, -1, 286, 287, + -1, -1, 4, 5, 53, -1, 61, 470, -1, 64, + 59, -1, -1, -1, 477, -1, 65, -1, -1, -1, + -1, -1, 71, 486, 73, 74, 75, -1, -1, -1, + -1, 33, 34, 496, 36, 37, 38, 39, 40, -1, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 341, 520, -1, -1, + -1, -1, -1, 65, 349, -1, -1, -1, 334, -1, + -1, -1, 360, 75, -1, 341, -1, -1, -1, -1, + -1, -1, -1, 349, 372, -1, 374, -1, -1, -1, + -1, -1, -1, -1, 382, -1, -1, -1, 386, -1, + -1, -1, -1, -1, -1, -1, -1, 570, -1, -1, + 573, -1, -1, -1, -1, -1, -1, -1, 406, 407, + 175, 176, 177, 178, -1, 180, 181, 182, -1, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, -1, 199, -1, 201, -1, 203, -1, + -1, -1, 207, 208, 209, 440, -1, -1, -1, 622, + -1, 446, 447, -1, 449, -1, -1, -1, -1, -1, + -1, -1, -1, 458, 440, 460, -1, -1, 641, -1, + 446, 447, 470, 449, -1, -1, -1, -1, -1, 477, + -1, -1, 458, -1, 460, -1, -1, -1, 486, -1, + 8, -1, -1, 3, -1, -1, -1, -1, 8, 17, + -1, 11, -1, -1, 22, 23, 24, 17, -1, -1, + -1, 29, 22, 23, 24, 280, -1, -1, 36, 29, + -1, -1, 520, -1, -1, 290, 36, -1, -1, -1, + -1, -1, -1, -1, -1, 53, -1, -1, -1, 49, + 50, 59, 52, 53, -1, -1, 56, 65, 313, 59, + -1, -1, 317, 71, 549, 73, 74, 75, 323, 69, + 70, 71, 557, 73, 74, -1, -1, -1, 8, -1, + -1, 11, 570, 549, -1, 573, -1, 17, -1, -1, + -1, 557, 22, 23, 24, -1, -1, -1, 564, 29, + -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, + -1, 366, 367, -1, 599, 600, -1, -1, -1, -1, + -1, -1, -1, 53, -1, -1, -1, -1, -1, 59, + 596, -1, -1, 599, 600, -1, -1, -1, -1, 0, + 1, 71, 3, 73, 74, 6, -1, 8, 9, 10, + 405, -1, 13, 641, 15, 16, 17, 18, 19, 20, + -1, 22, 23, 24, 419, -1, 27, 28, 29, 30, + 31, 32, 427, -1, -1, 36, -1, 432, -1, -1, + -1, -1, 648, -1, 650, -1, -1, -1, 49, 50, + -1, 52, 53, -1, -1, 56, -1, -1, 59, -1, + -1, 62, -1, -1, -1, -1, -1, -1, 69, 70, + 71, -1, 73, 74, -1, -1, -1, -1, 473, 474, + -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, + 3, -1, -1, 6, 7, 8, 9, 10, -1, 12, + 13, 496, 15, 16, 17, 18, 19, 20, -1, 22, + 23, 24, -1, -1, 27, 28, 29, 30, 31, 32, + -1, 516, -1, 36, -1, -1, -1, -1, 523, 524, + 525, -1, -1, -1, -1, -1, 49, 50, -1, 52, 53, -1, -1, 56, -1, -1, 59, -1, -1, 62, - 618, 619, -1, 621, 67, 68, 69, 70, 71, 3, - 73, 74, 630, -1, 8, -1, -1, -1, -1, -1, - -1, -1, -1, 17, -1, 8, -1, -1, 22, 23, - 24, -1, -1, -1, 17, 29, -1, 31, -1, 22, - 23, 24, 36, -1, -1, -1, 29, -1, -1, -1, - -1, -1, -1, 36, -1, 49, 50, -1, 52, 53, - -1, -1, 56, -1, 3, 59, -1, -1, -1, 8, - 53, -1, -1, -1, -1, 69, 70, 71, 17, 73, - 74, -1, -1, 22, 23, 24, -1, 26, 71, -1, - 29, 74, -1, -1, -1, -1, -1, 36, -1, -1, + -1, -1, -1, -1, 67, 68, 69, 70, 71, -1, + 73, 74, 1, -1, 3, -1, -1, 6, -1, 8, + 9, 10, -1, -1, 13, -1, 15, 16, 17, 18, + 19, 20, -1, 22, 23, 24, 34, -1, 27, 28, + 29, 30, 31, 32, -1, -1, 44, 36, -1, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 49, 50, -1, 52, 53, -1, -1, 56, -1, -1, + 59, -1, -1, 62, 619, 620, -1, 622, 67, 68, + 69, 70, 71, 3, 73, 74, 631, -1, 8, -1, + -1, -1, -1, -1, -1, -1, -1, 17, -1, 8, + -1, -1, 22, 23, 24, -1, -1, -1, 17, 29, + -1, -1, -1, 22, 23, 24, 36, -1, -1, -1, + 29, -1, -1, -1, -1, -1, -1, 36, -1, 49, + 50, -1, 52, 53, -1, -1, 56, -1, 3, 59, + 60, -1, -1, 8, 53, -1, -1, -1, -1, 69, + 70, 71, 17, 73, 74, -1, -1, 22, 23, 24, + -1, -1, 71, -1, 29, 74, -1, -1, -1, -1, + -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 49, 50, -1, 52, 53, -1, + -1, 56, -1, 3, 59, -1, -1, -1, 8, -1, + -1, -1, 67, -1, 69, 70, 71, 17, 73, 74, + -1, -1, 22, 23, 24, -1, -1, -1, -1, 29, + -1, 31, -1, -1, -1, -1, 36, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, + 50, -1, 52, 53, -1, -1, 56, -1, 3, 59, + -1, -1, -1, 8, -1, -1, -1, -1, -1, 69, + 70, 71, 17, 73, 74, -1, -1, 22, 23, 24, + -1, 26, -1, -1, 29, -1, -1, -1, -1, -1, + -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 49, 50, -1, 52, 53, -1, + -1, 56, -1, 3, 59, -1, -1, -1, 8, -1, + -1, -1, -1, -1, 69, 70, 71, 17, 73, 74, + -1, -1, 22, 23, 24, -1, 26, -1, -1, 29, + -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3, -1, -1, 49, + 50, 8, 52, 53, -1, -1, 56, -1, -1, 59, + 17, -1, -1, -1, -1, 22, 23, 24, -1, 69, + 70, 71, 29, 73, 74, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 49, 50, -1, 52, 53, -1, -1, 56, -1, 3, - 59, -1, -1, -1, 8, -1, -1, -1, -1, -1, - 69, 70, 71, 17, 73, 74, -1, -1, 22, 23, - 24, -1, 26, -1, -1, 29, -1, -1, -1, -1, - -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3, -1, -1, 49, 50, 8, 52, 53, - -1, -1, 56, -1, -1, 59, 17, -1, -1, -1, - -1, 22, 23, 24, -1, 69, 70, 71, 29, 73, - 74, -1, -1, -1, -1, 36, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 49, 50, - -1, 52, 53, -1, -1, 56, -1, 3, 59, -1, - -1, -1, 8, -1, -1, -1, 67, -1, 69, 70, - 71, 17, 73, 74, -1, -1, 22, 23, 24, -1, - -1, -1, -1, 29, -1, -1, -1, -1, -1, -1, + -1, -1, 49, 50, -1, 52, 53, -1, -1, 56, + -1, 3, 59, -1, -1, -1, 8, -1, -1, -1, + 67, -1, 69, 70, 71, 17, 73, 74, -1, -1, + 22, 23, 24, -1, -1, -1, -1, 29, -1, -1, + -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3, -1, -1, 49, 50, 8, + 52, 53, -1, -1, 56, -1, -1, 59, 17, -1, + -1, -1, -1, 22, 23, 24, -1, 69, 70, 71, + 29, 73, 74, -1, -1, -1, -1, 36, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, + 49, 50, 8, 52, 53, -1, -1, 56, -1, -1, + 59, 17, -1, -1, -1, -1, 22, 23, 24, -1, + 69, 70, 71, 29, 73, 74, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3, -1, -1, 49, 50, 8, 52, 53, -1, -1, + -1, -1, -1, 49, 50, 8, 52, 53, -1, -1, 56, -1, -1, 59, 17, -1, -1, -1, -1, 22, 23, 24, -1, 69, 70, 71, 29, 73, 74, -1, - -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3, -1, -1, 49, 50, 8, 52, - 53, -1, -1, 56, -1, -1, 59, 17, -1, -1, - 3, -1, 22, 23, 24, 8, 69, 70, 71, 29, - 73, 74, -1, -1, 17, -1, 36, -1, -1, 22, - 23, 24, -1, -1, -1, -1, 29, -1, -1, 49, - 50, 8, 52, 53, -1, -1, 56, -1, -1, 59, - 17, -1, -1, -1, -1, 22, 23, 24, -1, 69, - 70, 71, 29, 73, 74, -1, 59, -1, 8, 36, - -1, -1, -1, -1, -1, -1, -1, 17, 71, -1, - 73, 74, 22, 23, 24, -1, 53, -1, -1, 29, - -1, -1, 59, -1, -1, -1, 36, -1, 65, -1, - 8, -1, -1, -1, 71, -1, 73, 74, 75, 17, - -1, -1, -1, 53, 22, 23, 24, -1, -1, 59, - -1, 29, -1, -1, -1, 65, -1, 8, 36, -1, - 11, 71, -1, 73, 74, 75, 17, -1, -1, -1, - -1, 22, 23, 24, -1, 53, -1, -1, 29, -1, - -1, 59, -1, -1, -1, 36, -1, -1, -1, 8, - -1, -1, -1, 71, -1, 73, 74, 75, 17, -1, - 8, -1, 53, 22, 23, 24, -1, -1, 59, 17, - 29, -1, -1, -1, 22, 23, 24, 36, -1, -1, - 71, 29, 73, 74, -1, -1, -1, -1, 36, -1, - -1, -1, 8, -1, 53, -1, -1, -1, -1, -1, - 59, 17, -1, -1, -1, 53, 22, 23, 24, -1, - -1, 59, 71, 29, 73, 74, -1, -1, 8, -1, - 36, -1, -1, 71, -1, 73, 74, 17, -1, -1, - -1, -1, 22, 23, 24, -1, -1, 53, -1, 29, - -1, -1, -1, 59, -1, 8, 36, -1, -1, -1, - -1, -1, -1, -1, 17, 71, -1, 73, 74, 22, - 23, 24, -1, 53, -1, -1, 29, -1, -1, 59, - -1, 8, -1, 36, -1, -1, -1, -1, -1, 8, - 17, 71, 11, 73, 74, 22, 23, 24, 17, -1, - 53, -1, 29, 22, 23, 24, 59, -1, -1, 36, - 29, -1, -1, -1, 8, -1, -1, 36, 71, -1, - 73, 74, 8, 17, -1, -1, 53, -1, 22, 23, - 24, 17, 59, -1, 53, 29, 22, 23, 24, -1, - -1, -1, 36, 29, 71, -1, -1, 74, -1, -1, - 36, -1, 71, -1, -1, 74, -1, -1, -1, 53, - -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, - -1, -1, -1, 59, -1, -1, -1, 71, -1, 73, - 74, -1, -1, -1, -1, 71, 33, 34, 74, 36, - -1, 38, 39, 40, -1, -1, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, -1, -1, -1, -1, -1, 33, 34, -1, 36, - -1, 38, 39, 40, -1, 72, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 33, 34, -1, 36, -1, 38, 39, 40, -1, 66, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 33, 34, -1, 36, -1, 38, - 39, 40, -1, 66, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 33, 34, - -1, 36, -1, 38, 39, 40, -1, 66, 43, 44, + 8, -1, -1, 36, -1, -1, -1, -1, 8, 17, + -1, -1, -1, -1, 22, 23, 24, 17, -1, -1, + 53, 29, 22, 23, 24, -1, 59, -1, 36, 29, + -1, -1, -1, -1, 8, -1, 36, -1, 71, -1, + 73, 74, 75, 17, -1, 53, -1, -1, 22, 23, + 24, 59, -1, 53, -1, 29, -1, -1, -1, 59, + -1, 8, 36, 71, -1, 73, 74, -1, -1, -1, + 17, 71, -1, 73, 74, 22, 23, 24, -1, 53, + -1, -1, 29, -1, -1, 59, -1, 8, -1, 36, + -1, -1, -1, -1, -1, 8, 17, 71, -1, 73, + 74, 22, 23, 24, 17, -1, 53, -1, 29, 22, + 23, 24, 59, -1, -1, 36, 29, -1, -1, -1, + 8, -1, -1, 36, 71, -1, 73, 74, 8, 17, + -1, 11, 53, -1, 22, 23, 24, 17, 59, -1, + 53, 29, 22, 23, 24, -1, 59, -1, 36, 29, + 71, -1, 73, 74, 8, -1, 36, -1, 71, -1, + -1, 74, -1, 17, -1, 53, -1, -1, 22, 23, + 24, -1, -1, 53, -1, 29, -1, -1, -1, -1, + -1, -1, 36, 71, -1, 73, 74, -1, -1, -1, + -1, 71, 34, -1, 74, -1, 38, 39, 40, 53, + -1, 43, 44, 45, 46, 59, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, -1, 71, 33, 34, + 74, 36, -1, 38, 39, 40, -1, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 33, 34, 60, 36, -1, 38, 39, - 40, -1, -1, 43, 44, 45, 46, 47, 48, 49, + 55, 56, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, 34, -1, 36, -1, 38, 39, 40, -1, + 75, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, -1, -1, -1, -1, + -1, 33, 34, -1, 36, -1, 38, 39, 40, -1, + 72, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 33, 34, -1, 36, -1, + 38, 39, 40, -1, 66, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 33, + 34, -1, 36, -1, 38, 39, 40, -1, 66, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 33, 34, -1, 36, -1, 38, 39, + 40, -1, 66, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 33, 34, -1, -1, -1, 38, 39, 40, -1, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, @@ -1517,30 +1527,30 @@ static const yytype_uint8 yystos[] = 190, 62, 190, 186, 139, 65, 36, 59, 146, 152, 153, 154, 161, 67, 146, 146, 62, 190, 186, 65, 67, 126, 131, 132, 188, 189, 11, 75, 191, 31, - 135, 72, 66, 180, 60, 189, 101, 62, 68, 36, - 59, 203, 204, 206, 59, 67, 71, 67, 8, 202, - 3, 50, 59, 141, 212, 213, 3, 72, 65, 11, - 202, 60, 75, 62, 195, 215, 62, 62, 62, 60, - 60, 106, 26, 26, 194, 177, 59, 141, 151, 152, - 153, 154, 155, 161, 163, 60, 68, 105, 194, 141, - 60, 179, 175, 68, 146, 7, 12, 68, 99, 102, - 174, 198, 174, 60, 172, 68, 138, 198, 35, 97, - 60, 93, 60, 186, 146, 130, 94, 95, 168, 185, - 60, 186, 130, 66, 75, 191, 68, 75, 191, 135, - 60, 60, 60, 192, 68, 183, 180, 202, 205, 195, - 24, 141, 142, 197, 202, 209, 217, 202, 141, 196, - 208, 216, 202, 3, 212, 62, 72, 202, 213, 202, - 198, 141, 207, 60, 183, 126, 126, 62, 179, 59, - 163, 116, 60, 187, 66, 103, 60, 60, 198, 104, - 60, 189, 62, 190, 146, 189, 67, 126, 133, 131, - 132, 60, 72, 68, 60, 60, 59, 68, 62, 72, - 202, 68, 62, 49, 202, 62, 198, 59, 59, 202, - 210, 211, 68, 194, 60, 179, 119, 163, 5, 65, - 66, 75, 183, 198, 198, 68, 68, 95, 60, 68, - 130, 210, 195, 209, 202, 198, 208, 212, 195, 195, - 60, 14, 117, 120, 126, 126, 189, 60, 60, 60, - 60, 163, 20, 100, 66, 66, 68, 210, 210, 118, - 112, 105 + 135, 72, 66, 180, 75, 191, 189, 101, 62, 68, + 36, 59, 203, 204, 206, 59, 67, 71, 67, 8, + 202, 3, 50, 59, 141, 212, 213, 3, 72, 65, + 11, 202, 60, 75, 62, 195, 215, 62, 62, 62, + 60, 60, 106, 26, 26, 194, 177, 59, 141, 151, + 152, 153, 154, 155, 161, 163, 60, 68, 105, 194, + 141, 60, 179, 175, 68, 146, 7, 12, 68, 99, + 102, 174, 198, 174, 60, 172, 68, 138, 198, 35, + 97, 60, 93, 60, 186, 146, 130, 94, 95, 168, + 185, 60, 186, 130, 66, 75, 191, 68, 191, 135, + 60, 60, 60, 192, 60, 68, 183, 180, 202, 205, + 195, 24, 141, 142, 197, 202, 209, 217, 202, 141, + 196, 208, 216, 202, 3, 212, 62, 72, 202, 213, + 202, 198, 141, 207, 60, 183, 126, 126, 62, 179, + 59, 163, 116, 60, 187, 66, 103, 60, 60, 198, + 104, 60, 189, 62, 190, 146, 189, 67, 126, 133, + 131, 132, 60, 72, 68, 60, 60, 59, 68, 62, + 72, 202, 68, 62, 49, 202, 62, 198, 59, 59, + 202, 210, 211, 68, 194, 60, 179, 119, 163, 5, + 65, 66, 75, 183, 198, 198, 68, 68, 95, 60, + 68, 130, 210, 195, 209, 202, 198, 208, 212, 195, + 195, 60, 14, 117, 120, 126, 126, 189, 60, 60, + 60, 60, 163, 20, 100, 66, 66, 68, 210, 210, + 118, 112, 105 }; #define yyerrok (yyerrstatus = 0) @@ -3428,8 +3438,8 @@ yyreduce: #line 951 "go.y" { // conversion - (yyval.node) = nod(OCALL, (yyvsp[(1) - (4)].node), N); - (yyval.node)->list = list1((yyvsp[(3) - (4)].node)); + (yyval.node) = nod(OCALL, (yyvsp[(1) - (5)].node), N); + (yyval.node)->list = list1((yyvsp[(3) - (5)].node)); } break; @@ -4827,7 +4837,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 4832 "y.tab.c" +#line 4842 "y.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff --git a/src/cmd/gc/yerr.h b/src/cmd/gc/yerr.h index e7d357f7ca..e7eb6516cc 100644 --- a/src/cmd/gc/yerr.h +++ b/src/cmd/gc/yerr.h @@ -26,7 +26,7 @@ static struct { 237, ';', "unexpected semicolon or newline before {", - 474, LBODY, + 475, LBODY, "unexpected semicolon or newline before {", 22, '{', @@ -44,7 +44,7 @@ static struct { 37, ',', "unexpected comma in channel type", - 437, LELSE, + 438, LELSE, "unexpected semicolon or newline before else", 257, ',', @@ -65,12 +65,12 @@ static struct { 425, ';', "need trailing comma before newline in composite literal", - 435, ';', + 436, ';', "need trailing comma before newline in composite literal", 112, LNAME, "nested func not allowed", - 641, ';', + 642, ';', "else must be followed by if or statement block" }; diff --git a/test/fixedbugs/issue4162.go b/test/fixedbugs/issue4162.go new file mode 100644 index 0000000000..c2a8338c70 --- /dev/null +++ b/test/fixedbugs/issue4162.go @@ -0,0 +1,17 @@ +// compile + +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Issue 4162. Trailing commas now allowed in conversions. + +package p + +// All these are valid now. +var ( + _ = int(1.0,) // comma was always permitted (like function call) + _ = []byte("foo",) // was syntax error: unexpected comma + _ = chan int(nil,) // was syntax error: unexpected comma + _ = (func())(nil,) // was syntax error: unexpected comma +)