/* -*- mode: C; buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by regen_perly.pl from perly.y. Any changes made here will be lost! */ /* Symbol kind. */ enum yysymbol_kind_t { YYSYMBOL_YYEMPTY = -2, YYSYMBOL_YYEOF = 0, /* "end of file" */ YYSYMBOL_YYerror = 1, /* error */ YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ YYSYMBOL_GRAMPROG = 3, /* GRAMPROG */ YYSYMBOL_GRAMEXPR = 4, /* GRAMEXPR */ YYSYMBOL_GRAMBLOCK = 5, /* GRAMBLOCK */ YYSYMBOL_GRAMBARESTMT = 6, /* GRAMBARESTMT */ YYSYMBOL_GRAMFULLSTMT = 7, /* GRAMFULLSTMT */ YYSYMBOL_GRAMSTMTSEQ = 8, /* GRAMSTMTSEQ */ YYSYMBOL_GRAMSUBSIGNATURE = 9, /* GRAMSUBSIGNATURE */ YYSYMBOL_PERLY_AMPERSAND = 10, /* PERLY_AMPERSAND */ YYSYMBOL_PERLY_BRACE_OPEN = 11, /* PERLY_BRACE_OPEN */ YYSYMBOL_PERLY_BRACE_CLOSE = 12, /* PERLY_BRACE_CLOSE */ YYSYMBOL_PERLY_BRACKET_OPEN = 13, /* PERLY_BRACKET_OPEN */ YYSYMBOL_PERLY_BRACKET_CLOSE = 14, /* PERLY_BRACKET_CLOSE */ YYSYMBOL_PERLY_COMMA = 15, /* PERLY_COMMA */ YYSYMBOL_PERLY_DOLLAR = 16, /* PERLY_DOLLAR */ YYSYMBOL_PERLY_DOT = 17, /* PERLY_DOT */ YYSYMBOL_PERLY_EQUAL_SIGN = 18, /* PERLY_EQUAL_SIGN */ YYSYMBOL_PERLY_MINUS = 19, /* PERLY_MINUS */ YYSYMBOL_PERLY_PERCENT_SIGN = 20, /* PERLY_PERCENT_SIGN */ YYSYMBOL_PERLY_PLUS = 21, /* PERLY_PLUS */ YYSYMBOL_PERLY_SEMICOLON = 22, /* PERLY_SEMICOLON */ YYSYMBOL_PERLY_SLASH = 23, /* PERLY_SLASH */ YYSYMBOL_PERLY_SNAIL = 24, /* PERLY_SNAIL */ YYSYMBOL_PERLY_STAR = 25, /* PERLY_STAR */ YYSYMBOL_KW_FORMAT = 26, /* KW_FORMAT */ YYSYMBOL_KW_PACKAGE = 27, /* KW_PACKAGE */ YYSYMBOL_KW_CLASS = 28, /* KW_CLASS */ YYSYMBOL_KW_LOCAL = 29, /* KW_LOCAL */ YYSYMBOL_KW_MY = 30, /* KW_MY */ YYSYMBOL_KW_FIELD = 31, /* KW_FIELD */ YYSYMBOL_KW_IF = 32, /* KW_IF */ YYSYMBOL_KW_ELSE = 33, /* KW_ELSE */ YYSYMBOL_KW_ELSIF = 34, /* KW_ELSIF */ YYSYMBOL_KW_UNLESS = 35, /* KW_UNLESS */ YYSYMBOL_KW_FOR = 36, /* KW_FOR */ YYSYMBOL_KW_UNTIL = 37, /* KW_UNTIL */ YYSYMBOL_KW_WHILE = 38, /* KW_WHILE */ YYSYMBOL_KW_CONTINUE = 39, /* KW_CONTINUE */ YYSYMBOL_KW_GIVEN = 40, /* KW_GIVEN */ YYSYMBOL_KW_WHEN = 41, /* KW_WHEN */ YYSYMBOL_KW_DEFAULT = 42, /* KW_DEFAULT */ YYSYMBOL_KW_TRY = 43, /* KW_TRY */ YYSYMBOL_KW_CATCH = 44, /* KW_CATCH */ YYSYMBOL_KW_FINALLY = 45, /* KW_FINALLY */ YYSYMBOL_KW_DEFER = 46, /* KW_DEFER */ YYSYMBOL_KW_REQUIRE = 47, /* KW_REQUIRE */ YYSYMBOL_KW_DO = 48, /* KW_DO */ YYSYMBOL_KW_USE_or_NO = 49, /* KW_USE_or_NO */ YYSYMBOL_KW_SUB_named = 50, /* KW_SUB_named */ YYSYMBOL_KW_SUB_named_sig = 51, /* KW_SUB_named_sig */ YYSYMBOL_KW_SUB_anon = 52, /* KW_SUB_anon */ YYSYMBOL_KW_SUB_anon_sig = 53, /* KW_SUB_anon_sig */ YYSYMBOL_KW_METHOD_named = 54, /* KW_METHOD_named */ YYSYMBOL_KW_METHOD_anon = 55, /* KW_METHOD_anon */ YYSYMBOL_BAREWORD = 56, /* BAREWORD */ YYSYMBOL_METHCALL0 = 57, /* METHCALL0 */ YYSYMBOL_METHCALL = 58, /* METHCALL */ YYSYMBOL_ATTRLIST = 59, /* ATTRLIST */ YYSYMBOL_THING = 60, /* THING */ YYSYMBOL_PMFUNC = 61, /* PMFUNC */ YYSYMBOL_PRIVATEREF = 62, /* PRIVATEREF */ YYSYMBOL_QWLIST = 63, /* QWLIST */ YYSYMBOL_FUNC0OP = 64, /* FUNC0OP */ YYSYMBOL_FUNC0SUB = 65, /* FUNC0SUB */ YYSYMBOL_UNIOPSUB = 66, /* UNIOPSUB */ YYSYMBOL_LSTOPSUB = 67, /* LSTOPSUB */ YYSYMBOL_PLUGEXPR = 68, /* PLUGEXPR */ YYSYMBOL_PLUGSTMT = 69, /* PLUGSTMT */ YYSYMBOL_LABEL = 70, /* LABEL */ YYSYMBOL_PROTOTYPE = 71, /* PROTOTYPE */ YYSYMBOL_LOOPEX = 72, /* LOOPEX */ YYSYMBOL_DOTDOT = 73, /* DOTDOT */ YYSYMBOL_YADAYADA = 74, /* YADAYADA */ YYSYMBOL_FUNC0 = 75, /* FUNC0 */ YYSYMBOL_FUNC1 = 76, /* FUNC1 */ YYSYMBOL_FUNC = 77, /* FUNC */ YYSYMBOL_UNIOP = 78, /* UNIOP */ YYSYMBOL_LSTOP = 79, /* LSTOP */ YYSYMBOL_BLKLSTOP = 80, /* BLKLSTOP */ YYSYMBOL_POWOP = 81, /* POWOP */ YYSYMBOL_MULOP = 82, /* MULOP */ YYSYMBOL_ADDOP = 83, /* ADDOP */ YYSYMBOL_DOLSHARP = 84, /* DOLSHARP */ YYSYMBOL_HASHBRACK = 85, /* HASHBRACK */ YYSYMBOL_NOAMP = 86, /* NOAMP */ YYSYMBOL_COLONATTR = 87, /* COLONATTR */ YYSYMBOL_FORMLBRACK = 88, /* FORMLBRACK */ YYSYMBOL_FORMRBRACK = 89, /* FORMRBRACK */ YYSYMBOL_SUBLEXSTART = 90, /* SUBLEXSTART */ YYSYMBOL_SUBLEXEND = 91, /* SUBLEXEND */ YYSYMBOL_PHASER = 92, /* PHASER */ YYSYMBOL_PREC_LOW = 93, /* PREC_LOW */ YYSYMBOL_PLUGIN_LOW_OP = 94, /* PLUGIN_LOW_OP */ YYSYMBOL_OROP = 95, /* OROP */ YYSYMBOL_PLUGIN_LOGICAL_OR_LOW_OP = 96, /* PLUGIN_LOGICAL_OR_LOW_OP */ YYSYMBOL_ANDOP = 97, /* ANDOP */ YYSYMBOL_PLUGIN_LOGICAL_AND_LOW_OP = 98, /* PLUGIN_LOGICAL_AND_LOW_OP */ YYSYMBOL_NOTOP = 99, /* NOTOP */ YYSYMBOL_ASSIGNOP = 100, /* ASSIGNOP */ YYSYMBOL_PLUGIN_ASSIGN_OP = 101, /* PLUGIN_ASSIGN_OP */ YYSYMBOL_PERLY_QUESTION_MARK = 102, /* PERLY_QUESTION_MARK */ YYSYMBOL_PERLY_COLON = 103, /* PERLY_COLON */ YYSYMBOL_OROR = 104, /* OROR */ YYSYMBOL_DORDOR = 105, /* DORDOR */ YYSYMBOL_PLUGIN_LOGICAL_OR_OP = 106, /* PLUGIN_LOGICAL_OR_OP */ YYSYMBOL_ANDAND = 107, /* ANDAND */ YYSYMBOL_PLUGIN_LOGICAL_AND_OP = 108, /* PLUGIN_LOGICAL_AND_OP */ YYSYMBOL_BITOROP = 109, /* BITOROP */ YYSYMBOL_BITANDOP = 110, /* BITANDOP */ YYSYMBOL_CHEQOP = 111, /* CHEQOP */ YYSYMBOL_NCEQOP = 112, /* NCEQOP */ YYSYMBOL_CHRELOP = 113, /* CHRELOP */ YYSYMBOL_NCRELOP = 114, /* NCRELOP */ YYSYMBOL_PLUGIN_REL_OP = 115, /* PLUGIN_REL_OP */ YYSYMBOL_SHIFTOP = 116, /* SHIFTOP */ YYSYMBOL_PLUGIN_ADD_OP = 117, /* PLUGIN_ADD_OP */ YYSYMBOL_PLUGIN_MUL_OP = 118, /* PLUGIN_MUL_OP */ YYSYMBOL_MATCHOP = 119, /* MATCHOP */ YYSYMBOL_PERLY_EXCLAMATION_MARK = 120, /* PERLY_EXCLAMATION_MARK */ YYSYMBOL_PERLY_TILDE = 121, /* PERLY_TILDE */ YYSYMBOL_UMINUS = 122, /* UMINUS */ YYSYMBOL_REFGEN = 123, /* REFGEN */ YYSYMBOL_PLUGIN_POW_OP = 124, /* PLUGIN_POW_OP */ YYSYMBOL_PREINC = 125, /* PREINC */ YYSYMBOL_PREDEC = 126, /* PREDEC */ YYSYMBOL_POSTINC = 127, /* POSTINC */ YYSYMBOL_POSTDEC = 128, /* POSTDEC */ YYSYMBOL_POSTJOIN = 129, /* POSTJOIN */ YYSYMBOL_PLUGIN_HIGH_OP = 130, /* PLUGIN_HIGH_OP */ YYSYMBOL_ARROW = 131, /* ARROW */ YYSYMBOL_PERLY_PAREN_CLOSE = 132, /* PERLY_PAREN_CLOSE */ YYSYMBOL_PERLY_PAREN_OPEN = 133, /* PERLY_PAREN_OPEN */ YYSYMBOL_YYACCEPT = 134, /* $accept */ YYSYMBOL_grammar = 135, /* grammar */ YYSYMBOL_136_1 = 136, /* @1 */ YYSYMBOL_137_2 = 137, /* @2 */ YYSYMBOL_138_3 = 138, /* @3 */ YYSYMBOL_139_4 = 139, /* @4 */ YYSYMBOL_140_5 = 140, /* @5 */ YYSYMBOL_141_6 = 141, /* @6 */ YYSYMBOL_142_7 = 142, /* @7 */ YYSYMBOL_bare_statement_block = 143, /* bare_statement_block */ YYSYMBOL_bare_statement_class_declaration = 144, /* bare_statement_class_declaration */ YYSYMBOL_bare_statement_class_definition = 145, /* bare_statement_class_definition */ YYSYMBOL_146_8 = 146, /* $@8 */ YYSYMBOL_bare_statement_default = 147, /* bare_statement_default */ YYSYMBOL_bare_statement_defer = 148, /* bare_statement_defer */ YYSYMBOL_bare_statement_expression = 149, /* bare_statement_expression */ YYSYMBOL_bare_statement_field_declaration = 150, /* bare_statement_field_declaration */ YYSYMBOL_bare_statement_for = 151, /* bare_statement_for */ YYSYMBOL_152_9 = 152, /* $@9 */ YYSYMBOL_153_10 = 153, /* $@10 */ YYSYMBOL_154_11 = 154, /* @11 */ YYSYMBOL_bare_statement_format = 155, /* bare_statement_format */ YYSYMBOL_bare_statement_given = 156, /* bare_statement_given */ YYSYMBOL_bare_statement_if = 157, /* bare_statement_if */ YYSYMBOL_bare_statement_null = 158, /* bare_statement_null */ YYSYMBOL_bare_statement_package_declaration = 159, /* bare_statement_package_declaration */ YYSYMBOL_bare_statement_package_definition = 160, /* bare_statement_package_definition */ YYSYMBOL_161_12 = 161, /* $@12 */ YYSYMBOL_bare_statement_phaser = 162, /* bare_statement_phaser */ YYSYMBOL_163_13 = 163, /* $@13 */ YYSYMBOL_bare_statement_sub_signature = 164, /* bare_statement_sub_signature */ YYSYMBOL_165_14 = 165, /* $@14 */ YYSYMBOL_bare_statement_sub_traditional = 166, /* bare_statement_sub_traditional */ YYSYMBOL_167_15 = 167, /* $@15 */ YYSYMBOL_bare_statement_try_catch = 168, /* bare_statement_try_catch */ YYSYMBOL_169_16 = 169, /* $@16 */ YYSYMBOL_bare_statement_unless = 170, /* bare_statement_unless */ YYSYMBOL_bare_statement_until = 171, /* bare_statement_until */ YYSYMBOL_bare_statement_utilize = 172, /* bare_statement_utilize */ YYSYMBOL_173_17 = 173, /* $@17 */ YYSYMBOL_bare_statement_when = 174, /* bare_statement_when */ YYSYMBOL_bare_statement_while = 175, /* bare_statement_while */ YYSYMBOL_bare_statement_yadayada = 176, /* bare_statement_yadayada */ YYSYMBOL_sigsub_or_method_named = 177, /* sigsub_or_method_named */ YYSYMBOL_block = 178, /* block */ YYSYMBOL_empty = 179, /* empty */ YYSYMBOL_formblock = 180, /* formblock */ YYSYMBOL_remember = 181, /* remember */ YYSYMBOL_mblock = 182, /* mblock */ YYSYMBOL_mremember = 183, /* mremember */ YYSYMBOL_catch_paren = 184, /* catch_paren */ YYSYMBOL_185_18 = 185, /* $@18 */ YYSYMBOL_186_19 = 186, /* $@19 */ YYSYMBOL_stmtseq = 187, /* stmtseq */ YYSYMBOL_formstmtseq = 188, /* formstmtseq */ YYSYMBOL_fullstmt = 189, /* fullstmt */ YYSYMBOL_labfullstmt = 190, /* labfullstmt */ YYSYMBOL_barestmt = 191, /* barestmt */ YYSYMBOL_formline = 192, /* formline */ YYSYMBOL_formarg = 193, /* formarg */ YYSYMBOL_condition = 194, /* condition */ YYSYMBOL_sideff = 195, /* sideff */ YYSYMBOL_else = 196, /* else */ YYSYMBOL_cont = 197, /* cont */ YYSYMBOL_finally = 198, /* finally */ YYSYMBOL_mintro = 199, /* mintro */ YYSYMBOL_nexpr = 200, /* nexpr */ YYSYMBOL_texpr = 201, /* texpr */ YYSYMBOL_iexpr = 202, /* iexpr */ YYSYMBOL_mexpr = 203, /* mexpr */ YYSYMBOL_mnexpr = 204, /* mnexpr */ YYSYMBOL_formname = 205, /* formname */ YYSYMBOL_startsub = 206, /* startsub */ YYSYMBOL_startanonsub = 207, /* startanonsub */ YYSYMBOL_startanonmethod = 208, /* startanonmethod */ YYSYMBOL_startformsub = 209, /* startformsub */ YYSYMBOL_subname = 210, /* subname */ YYSYMBOL_proto = 211, /* proto */ YYSYMBOL_subattrlist = 212, /* subattrlist */ YYSYMBOL_attrlist = 213, /* attrlist */ YYSYMBOL_optattrlist = 214, /* optattrlist */ YYSYMBOL_sigvar = 215, /* sigvar */ YYSYMBOL_sigslurpsigil = 216, /* sigslurpsigil */ YYSYMBOL_sigslurpelem = 217, /* sigslurpelem */ YYSYMBOL_optcolon = 218, /* optcolon */ YYSYMBOL_sigscalarelem = 219, /* sigscalarelem */ YYSYMBOL_optsigscalardefault = 220, /* optsigscalardefault */ YYSYMBOL_sigelem = 221, /* sigelem */ YYSYMBOL_siglist = 222, /* siglist */ YYSYMBOL_optsiglist = 223, /* optsiglist */ YYSYMBOL_optsubsignature = 224, /* optsubsignature */ YYSYMBOL_subsignature = 225, /* subsignature */ YYSYMBOL_subsigguts = 226, /* subsigguts */ YYSYMBOL_227_20 = 227, /* $@20 */ YYSYMBOL_optsubbody = 228, /* optsubbody */ YYSYMBOL_subbody = 229, /* subbody */ YYSYMBOL_optsigsubbody = 230, /* optsigsubbody */ YYSYMBOL_sigsubbody = 231, /* sigsubbody */ YYSYMBOL_232_21 = 232, /* $@21 */ YYSYMBOL_expr = 233, /* expr */ YYSYMBOL_listexpr = 234, /* listexpr */ YYSYMBOL_listop = 235, /* listop */ YYSYMBOL_236_22 = 236, /* @22 */ YYSYMBOL_methodname = 237, /* methodname */ YYSYMBOL_subscripted = 238, /* subscripted */ YYSYMBOL_termbinop = 239, /* termbinop */ YYSYMBOL_termrelop = 240, /* termrelop */ YYSYMBOL_relopchain = 241, /* relopchain */ YYSYMBOL_termeqop = 242, /* termeqop */ YYSYMBOL_eqopchain = 243, /* eqopchain */ YYSYMBOL_termunop = 244, /* termunop */ YYSYMBOL_anonymous = 245, /* anonymous */ YYSYMBOL_termdo = 246, /* termdo */ YYSYMBOL_term = 247, /* term */ YYSYMBOL_248_23 = 248, /* @23 */ YYSYMBOL_myattrterm = 249, /* myattrterm */ YYSYMBOL_myterm = 250, /* myterm */ YYSYMBOL_fieldvar = 251, /* fieldvar */ YYSYMBOL_fielddecl = 252, /* fielddecl */ YYSYMBOL_253_24 = 253, /* $@24 */ YYSYMBOL_optlistexpr = 254, /* optlistexpr */ YYSYMBOL_optexpr = 255, /* optexpr */ YYSYMBOL_optrepl = 256, /* optrepl */ YYSYMBOL_my_scalar = 257, /* my_scalar */ YYSYMBOL_list_of_scalars = 258, /* list_of_scalars */ YYSYMBOL_my_list_of_scalars = 259, /* my_list_of_scalars */ YYSYMBOL_my_var = 260, /* my_var */ YYSYMBOL_refgen_topic = 261, /* refgen_topic */ YYSYMBOL_my_refgen = 262, /* my_refgen */ YYSYMBOL_amper = 263, /* amper */ YYSYMBOL_scalar = 264, /* scalar */ YYSYMBOL_ary = 265, /* ary */ YYSYMBOL_hsh = 266, /* hsh */ YYSYMBOL_arylen = 267, /* arylen */ YYSYMBOL_star = 268, /* star */ YYSYMBOL_sliceme = 269, /* sliceme */ YYSYMBOL_kvslice = 270, /* kvslice */ YYSYMBOL_gelem = 271, /* gelem */ YYSYMBOL_indirob = 272 /* indirob */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 3780 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 134 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 139 /* YYNRULES -- Number of rules. */ #define YYNRULES 371 /* YYNSTATES -- Number of states. */ #define YYNSTATES 702 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 388 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ (0 <= (YYX) && (YYX) <= YYMAXUTOK \ ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ : YYSYMBOL_YYUNDEF) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { 0, 188, 188, 187, 199, 198, 209, 208, 222, 221, 235, 234, 248, 247, 258, 257, 270, 278, 300, 294, 317, 325, 333, 340, 353, 358, 348, 379, 392, 411, 427, 423, 452, 474, 488, 504, 517, 531, 539, 560, 555, 575, 573, 610, 607, 640, 637, 666, 661, 683, 697, 714, 712, 730, 742, 757, 766, 768, 773, 781, 785, 792, 797, 804, 810, 814, 816, 813, 823, 824, 834, 835, 844, 848, 852, 859, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 904, 922, 923, 927, 931, 933, 935, 937, 939, 941, 943, 946, 952, 953, 958, 969, 970, 975, 977, 982, 989, 990, 994, 998, 1002, 1007, 1011, 1015, 1016, 1019, 1025, 1030, 1035, 1041, 1042, 1047, 1048, 1053, 1054, 1061, 1066, 1068, 1073, 1074, 1083, 1085, 1090, 1092, 1096, 1101, 1105, 1111, 1113, 1119, 1129, 1142, 1144, 1149, 1151, 1159, 1160, 1161, 1166, 1167, 1172, 1173, 1177, 1181, 1181, 1214, 1215, 1220, 1232, 1233, 1238, 1237, 1250, 1252, 1254, 1256, 1258, 1262, 1264, 1269, 1273, 1277, 1281, 1285, 1291, 1296, 1302, 1308, 1314, 1320, 1322, 1324, 1327, 1326, 1340, 1341, 1345, 1349, 1352, 1357, 1362, 1365, 1369, 1373, 1379, 1387, 1394, 1400, 1402, 1404, 1409, 1411, 1413, 1415, 1417, 1419, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1458, 1460, 1462, 1464, 1466, 1470, 1472, 1476, 1478, 1480, 1482, 1486, 1488, 1493, 1495, 1498, 1500, 1502, 1505, 1508, 1519, 1522, 1530, 1532, 1534, 1537, 1539, 1542, 1544, 1549, 1554, 1556, 1560, 1561, 1562, 1563, 1564, 1566, 1568, 1570, 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1588, 1590, 1600, 1610, 1620, 1630, 1632, 1634, 1637, 1642, 1646, 1648, 1650, 1652, 1655, 1657, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676, 1679, 1681, 1683, 1685, 1687, 1689, 1693, 1696, 1695, 1708, 1709, 1710, 1715, 1717, 1719, 1721, 1726, 1728, 1731, 1733, 1735, 1740, 1745, 1750, 1758, 1766, 1765, 1783, 1784, 1788, 1789, 1793, 1794, 1799, 1804, 1806, 1810, 1813, 1817, 1818, 1819, 1822, 1823, 1826, 1827, 1830, 1834, 1838, 1844, 1850, 1852, 1856, 1860, 1861, 1865, 1866, 1870, 1871, 1876, 1878, 1880, 1883 }; #endif /** Accessing symbol of state STATE. */ #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) #if YYDEBUG || 0 /* The user-facing name of the symbol whose (internal) number is YYSYMBOL. No bounds checking. */ static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "\"end of file\"", "error", "\"invalid token\"", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK", "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE", "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE", "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA", "PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS", "PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON", "PERLY_SLASH", "PERLY_SNAIL", "PERLY_STAR", "KW_FORMAT", "KW_PACKAGE", "KW_CLASS", "KW_LOCAL", "KW_MY", "KW_FIELD", "KW_IF", "KW_ELSE", "KW_ELSIF", "KW_UNLESS", "KW_FOR", "KW_UNTIL", "KW_WHILE", "KW_CONTINUE", "KW_GIVEN", "KW_WHEN", "KW_DEFAULT", "KW_TRY", "KW_CATCH", "KW_FINALLY", "KW_DEFER", "KW_REQUIRE", "KW_DO", "KW_USE_or_NO", "KW_SUB_named", "KW_SUB_named_sig", "KW_SUB_anon", "KW_SUB_anon_sig", "KW_METHOD_named", "KW_METHOD_anon", "BAREWORD", "METHCALL0", "METHCALL", "ATTRLIST", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "PROTOTYPE", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "BLKLSTOP", "POWOP", "MULOP", "ADDOP", "DOLSHARP", "HASHBRACK", "NOAMP", "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "PHASER", "PREC_LOW", "PLUGIN_LOW_OP", "OROP", "PLUGIN_LOGICAL_OR_LOW_OP", "ANDOP", "PLUGIN_LOGICAL_AND_LOW_OP", "NOTOP", "ASSIGNOP", "PLUGIN_ASSIGN_OP", "PERLY_QUESTION_MARK", "PERLY_COLON", "OROR", "DORDOR", "PLUGIN_LOGICAL_OR_OP", "ANDAND", "PLUGIN_LOGICAL_AND_OP", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", "CHRELOP", "NCRELOP", "PLUGIN_REL_OP", "SHIFTOP", "PLUGIN_ADD_OP", "PLUGIN_MUL_OP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", "UMINUS", "REFGEN", "PLUGIN_POW_OP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", "PLUGIN_HIGH_OP", "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "$accept", "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "@7", "bare_statement_block", "bare_statement_class_declaration", "bare_statement_class_definition", "$@8", "bare_statement_default", "bare_statement_defer", "bare_statement_expression", "bare_statement_field_declaration", "bare_statement_for", "$@9", "$@10", "@11", "bare_statement_format", "bare_statement_given", "bare_statement_if", "bare_statement_null", "bare_statement_package_declaration", "bare_statement_package_definition", "$@12", "bare_statement_phaser", "$@13", "bare_statement_sub_signature", "$@14", "bare_statement_sub_traditional", "$@15", "bare_statement_try_catch", "$@16", "bare_statement_unless", "bare_statement_until", "bare_statement_utilize", "$@17", "bare_statement_when", "bare_statement_while", "bare_statement_yadayada", "sigsub_or_method_named", "block", "empty", "formblock", "remember", "mblock", "mremember", "catch_paren", "$@18", "$@19", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "formline", "formarg", "condition", "sideff", "else", "cont", "finally", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub", "startanonsub", "startanonmethod", "startformsub", "subname", "proto", "subattrlist", "attrlist", "optattrlist", "sigvar", "sigslurpsigil", "sigslurpelem", "optcolon", "sigscalarelem", "optsigscalardefault", "sigelem", "siglist", "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@20", "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "$@21", "expr", "listexpr", "listop", "@22", "methodname", "subscripted", "termbinop", "termrelop", "relopchain", "termeqop", "eqopchain", "termunop", "anonymous", "termdo", "term", "@23", "myattrterm", "myterm", "fieldvar", "fielddecl", "$@24", "optlistexpr", "optexpr", "optrepl", "my_scalar", "list_of_scalars", "my_list_of_scalars", "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR }; static const char * yysymbol_name (yysymbol_kind_t yysymbol) { return yytname[yysymbol]; } #endif #define YYPACT_NINF (-584) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) #define YYTABLE_NINF (-370) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { 643, -584, -584, -584, -584, -584, -584, -584, 50, -584, 3028, 67, 1957, 1839, -584, -584, -584, -584, 167, 3028, 167, 3028, 167, 3028, 167, 167, 3028, 121, 3028, 2290, -584, -584, -584, -584, 167, 167, -584, -584, 21, -52, -584, 3028, -584, -584, 3028, -28, -18, -50, 2290, 2208, 67, 167, 3028, 26, 3028, 3028, 3028, 3028, 3028, 3028, 2372, -584, 123, 120, -584, 40, -584, -48, 8, 86, 28, -584, -584, -584, 3222, -584, -584, 19, 136, 148, 168, -584, 149, 174, 178, 157, -584, -584, -584, -584, -584, 118, 132, 98, 72, 75, 13, 80, 91, 105, 113, 67, 182, 182, -584, 26, -584, -584, -584, 236, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, 26, 225, -584, 244, 431, 246, 1839, -584, -584, -584, -584, 686, -584, 103, 883, -584, -584, -584, -584, -584, 272, -584, 364, -584, 364, -584, -584, 3630, 3110, 2454, 109, -584, -584, -584, 3630, -584, 3630, 220, 208, 208, 3028, 165, 213, 3028, 184, 3630, 67, 3222, 194, 2536, 3028, 2208, -584, 3630, 3192, -584, 120, -584, 2618, 3028, 3028, -584, 284, -584, -584, 3028, 120, 364, 364, 364, 254, 254, 319, 279, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 2700, -584, -584, 3028, -584, -584, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, 3028, -584, -584, -584, 3028, 100, 2782, 3028, 3028, 3028, 3028, 3028, 3028, 3028, -584, 287, 292, 299, 109, -584, -584, -584, -584, -584, 264, 587, -584, -584, 259, -584, -584, -584, -584, -584, -584, 325, -584, -584, -584, -584, -584, -584, 67, -584, -584, -584, 3028, 3028, 3028, 3028, 3028, 3028, -584, -584, -584, -584, -584, -584, -584, -584, 331, -584, 380, -584, -584, 386, -584, -584, 2864, 364, 109, 56, 82, 85, -584, 345, 343, -584, -584, -584, 208, 347, -584, 1, 1, -584, 3028, 3028, 114, -584, -584, -584, -584, 388, 316, 277, 3028, 120, 120, 403, -584, 3028, 400, 106, 106, -584, -584, 3326, 185, 119, -584, 401, 3591, 3571, 3430, 364, 206, 3156, 3274, 3326, 3326, 722, 3469, 3469, 3469, 3492, 3492, 3531, 3552, 3571, 3571, 3591, 3591, 3610, 3649, 3156, 206, 364, 364, 112, 30, 3028, 3028, 92, 392, 395, 396, -584, 399, 2946, 298, -584, -584, 414, 255, 139, 293, 152, 302, 243, 332, 1001, -584, -584, 417, 37, 109, -584, -584, 346, 3028, 3028, -584, 25, -584, -584, 321, -584, -584, -584, -584, 2044, 98, -584, 3028, 3028, 3028, 3028, -584, -584, 376, -584, 430, -584, -584, -584, 123, -584, -584, -584, 123, -584, -584, -584, 358, 331, 103, 14, 459, -584, -584, -584, 449, -584, 328, -584, -584, 338, 34, -584, 3028, -584, -584, -584, 468, -584, 249, 3028, 452, -584, -584, 3028, -584, 340, 341, 270, -584, -584, -584, -584, -584, -584, 484, 3028, -584, 462, -584, 464, -584, 466, -584, 467, -584, -584, -584, -584, -584, 53, -584, 339, 123, 349, 471, 356, -584, -584, -584, -584, -584, 368, 481, 224, -584, 3028, 372, 373, 123, 375, 381, 1131, 383, 465, 220, -584, 507, -584, -584, 208, 3028, 422, -584, 20, -584, -584, -584, 519, -584, -584, 3028, -584, 440, -584, -584, -584, 275, -584, 3378, 3028, 520, -584, -584, 402, -584, -584, -584, -584, 515, -584, -584, -584, 3028, 182, 182, 523, 408, -584, 3028, 3028, 182, -584, 409, 418, -584, -584, 182, 182, -584, -584, -584, -584, 3028, 208, -584, 529, 3222, 3028, 420, -584, 123, -584, -584, 426, -584, -584, 470, -584, -584, 3222, 295, 295, 471, 427, 435, 437, 225, 3028, 3028, 182, 182, 182, -584, -584, 471, 182, 540, 430, 1249, -584, -584, -584, -584, 3222, -584, -584, -584, -584, 1367, -584, 182, 438, -584, -584, -584, -584, 3028, 182, 182, -584, 550, 442, 225, 225, 225, -584, 496, -584, -584, -584, 1485, -584, 2, -584, 1603, -584, 3028, 451, 225, 225, -584, 182, -584, -584, -584, 453, 67, -584, -584, 567, 499, -584, -584, 460, 182, -584, -584, -584, 225, -584, -584, -584, -584, -584, -584, 182, 225, 2126, -584, 1721, 295, -584, 461, -584, -584, 182, -584 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_int16 yydefact[] = { 0, 2, 4, 6, 8, 10, 12, 14, 0, 61, 59, 0, 0, 0, 59, 168, 1, 59, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 131, 131, 132, 319, 0, 0, 290, 317, 278, 312, 314, 308, 131, 321, 300, 310, 0, 0, 303, 59, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 339, 340, 181, 320, 285, 269, 225, 237, 226, 244, 270, 271, 272, 184, 275, 5, 291, 280, 283, 282, 284, 281, 0, 0, 0, 61, 7, 105, 37, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 56, 57, 76, 0, 130, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 0, 59, 9, 0, 106, 0, 0, 11, 73, 72, 68, 0, 15, 59, 0, 368, 371, 370, 369, 355, 0, 356, 250, 358, 251, 357, 361, 276, 0, 0, 323, 328, 330, 329, 307, 268, 267, 59, 59, 59, 59, 0, 0, 0, 0, 309, 0, 301, 0, 0, 59, 59, 304, 305, 319, 337, 338, 194, 280, 0, 0, 359, 0, 134, 135, 59, 302, 252, 253, 274, 257, 258, 279, 0, 0, 0, 0, 0, 182, 0, 0, 0, 240, 239, 0, 247, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 255, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 59, 331, 333, 332, 61, 61, 61, 0, 61, 61, 0, 61, 61, 61, 61, 20, 63, 0, 21, 51, 130, 55, 41, 130, 0, 116, 16, 22, 0, 0, 0, 0, 0, 0, 23, 75, 74, 69, 148, 147, 153, 163, 145, 159, 0, 158, 162, 164, 169, 259, 0, 325, 0, 280, 283, 282, 327, 0, 142, 322, 137, 136, 59, 140, 138, 264, 266, 192, 59, 0, 0, 313, 197, 311, 315, 0, 0, 0, 0, 185, 186, 0, 294, 0, 277, 179, 180, 177, 178, 183, 0, 0, 211, 0, 243, 249, 229, 218, 220, 222, 236, 216, 217, 0, 232, 234, 233, 230, 231, 228, 227, 248, 245, 242, 238, 241, 224, 223, 221, 235, 219, 215, 0, 0, 0, 0, 365, 363, 367, 199, 0, 0, 189, 200, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, 59, 143, 144, 334, 0, 0, 353, 0, 354, 351, 0, 352, 348, 349, 350, 0, 0, 61, 0, 123, 0, 0, 59, 61, 0, 45, 61, 43, 117, 107, 104, 108, 111, 110, 125, 109, 112, 146, 149, 145, 160, 279, 0, 324, 326, 141, 262, 139, 59, 263, 265, 0, 59, 213, 59, 316, 196, 195, 0, 260, 0, 0, 0, 204, 210, 0, 298, 191, 0, 0, 295, 297, 296, 299, 360, 208, 0, 59, 293, 0, 202, 0, 286, 0, 287, 0, 58, 61, 34, 61, 38, 0, 335, 0, 126, 0, 0, 0, 343, 61, 121, 122, 127, 0, 0, 106, 30, 0, 0, 0, 124, 0, 0, 0, 59, 0, 59, 171, 0, 42, 170, 59, 150, 154, 161, 277, 261, 168, 165, 0, 166, 193, 0, 341, 0, 198, 187, 214, 0, 207, 273, 59, 0, 203, 209, 0, 205, 288, 289, 201, 0, 39, 61, 17, 0, 0, 0, 347, 0, 346, 0, 0, 0, 24, 0, 0, 120, 120, 0, 0, 62, 65, 64, 47, 59, 59, 59, 61, 151, 156, 0, 175, 342, 318, 212, 0, 206, 188, 0, 59, 18, 336, 59, 59, 344, 0, 0, 0, 59, 123, 0, 0, 0, 0, 35, 53, 0, 0, 0, 61, 0, 174, 44, 173, 155, 157, 167, 59, 190, 59, 0, 59, 0, 0, 113, 36, 49, 345, 0, 0, 0, 33, 0, 0, 59, 59, 59, 66, 118, 52, 46, 172, 0, 70, 0, 40, 0, 114, 0, 0, 59, 59, 25, 0, 29, 50, 54, 0, 0, 48, 176, 0, 59, 71, 19, 0, 0, 27, 32, 120, 59, 67, 119, 60, 59, 102, 101, 0, 59, 0, 31, 0, 59, 28, 0, 103, 115, 0, 26 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -4, -10, -584, 23, -67, -584, -584, -584, -584, -16, -584, 581, 457, -1, -584, -584, 63, -425, -583, -269, -584, -552, -584, -8, 171, -334, -87, -584, -93, 60, -584, -584, -83, 77, -172, -150, 195, 158, -584, -584, -584, -584, -584, 156, -584, -584, -584, -584, 73, -584, -7, 160, -584, -312, -584, 16, -44, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, 635, -584, -584, 458, -584, -584, -584, -162, -15, -584, -584, -584, -584, 191, -584, -584, 352, 36, -21, -19, -584, -584, -584, -584, -584, 55 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, 112, 113, 634, 114, 115, 116, 117, 118, 612, 682, 577, 119, 120, 121, 122, 123, 124, 602, 125, 439, 126, 534, 127, 529, 128, 620, 129, 130, 131, 437, 132, 133, 134, 135, 136, 145, 501, 461, 282, 435, 586, 619, 670, 146, 657, 302, 143, 144, 676, 689, 442, 138, 638, 291, 672, 615, 515, 522, 446, 506, 517, 411, 284, 172, 174, 262, 200, 327, 330, 415, 416, 451, 307, 308, 309, 310, 627, 311, 312, 313, 542, 543, 147, 148, 532, 533, 625, 462, 630, 139, 63, 64, 467, 397, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 177, 75, 165, 265, 140, 567, 192, 76, 547, 510, 570, 571, 422, 423, 274, 77, 78, 79, 80, 81, 82, 83, 84, 85, 156 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 61, 149, 331, 514, 155, 191, 167, 87, 168, 61, 201, 137, -61, 332, 152, 324, 152, 287, 152, 463, 152, 152, 285, 639, 674, 170, 62, 348, 616, 20, 152, 152, 17, 474, 178, 62, 283, 197, 347, 190, 185, 20, 61, 271, 187, 152, 195, 152, 502, 213, 16, 214, 288, 215, 153, 479, 153, 545, 153, 503, 153, 153, 675, 166, 565, 217, 218, 254, 62, 255, 153, 153, 267, 154, 268, 566, 208, 158, 86, 160, 161, 179, 198, 186, 508, 193, 198, 153, 199, 175, 176, 173, 199, -362, 516, -362, -364, 280, -364, 524, 525, -327, 181, 86, 194, 183, 196, -326, 20, 261, 387, 388, 699, 389, 20, 184, 390, 483, 22, -152, 391, 219, 24, 303, 392, 393, 290, 304, 466, 266, 692, 191, 275, 476, -61, 213, 272, 20, 306, 222, 301, 22, 319, -328, 320, 24, 273, 254, 150, 255, 344, 345, 253, 493, 151, 459, 191, 394, 509, -362, -366, -362, 326, 329, 329, 190, 495, 456, 260, -330, 341, 342, -329, 216, 263, 61, 61, 337, 86, -364, 322, -364, 152, 20, 395, 256, 578, 257, 264, 258, 190, 259, 438, 281, 335, 440, 323, 220, 221, 318, 340, 62, 62, 211, 212, 269, 305, 475, 270, 209, 210, 211, 212, 276, 209, 210, 211, 212, 209, 210, 211, 212, 193, 150, 277, 350, 351, 352, 353, 151, 355, 356, 358, 396, 209, 210, 211, 212, 278, 609, 610, 343, -370, 252, 163, 408, 279, 209, 210, 211, 212, 426, 410, 427, 164, 414, 293, 497, 286, 294, 295, 296, 297, 550, 289, 298, 292, 514, 299, 400, 401, 402, 403, 404, 405, 406, 407, 492, 626, 646, 209, 210, 211, 212, 556, 441, 314, 224, 398, 597, 465, 325, 417, 418, 420, 328, 428, 429, 333, 431, 432, 433, 434, 334, 480, 548, 346, 662, 425, 443, 443, 443, 447, 443, 443, 494, 336, 329, 464, 209, 210, 211, 212, 61, 496, 246, 338, 678, 635, 636, 247, 455, 348, 248, 249, 250, 251, 252, 209, 210, 211, 212, 644, 409, 209, 210, 211, 212, 412, 62, 209, 210, 211, 212, 498, 413, -126, 444, 445, 471, 448, 449, 590, 555, 473, 209, 210, 211, 212, 436, 209, 210, 211, 212, 209, 210, 211, 212, 667, 668, 669, -370, -370, -370, 251, 252, 152, 419, 209, 210, 211, 212, 430, 450, 680, 681, 452, 209, 210, 211, 212, 453, 458, 414, 481, 482, 460, 469, 426, 470, 427, 349, 489, 474, 693, 472, 622, 484, 513, 526, 485, 486, 696, 191, 487, 621, 153, 209, 210, 211, 212, 490, 528, 507, 507, 500, 209, 210, 211, 212, 209, 210, 211, 212, 518, 224, 505, 447, 523, 507, 507, 541, 530, 520, 512, 546, 511, 190, 535, 527, -61, 540, 531, 293, 552, 425, 294, 295, 296, 297, 544, 568, 298, 554, 559, 558, 560, 457, 561, 562, 61, 569, 531, 209, 210, 211, 212, 20, 247, 573, 551, 248, 249, 250, 251, 252, 209, 210, 211, 212, 575, 605, 606, 576, 579, 580, 62, 581, 611, 209, 210, 211, 212, 582, 617, 618, 584, 585, 589, 326, 468, 587, 592, 563, 329, 564, 209, 210, 211, 212, 594, 596, 599, 477, 600, 574, 507, 601, 607, 598, 608, 671, 613, 191, 61, 572, 491, 647, 648, 649, 614, 624, 629, 651, 209, 210, 211, 212, 631, 632, 641, 595, 652, 209, 210, 211, 212, 642, 660, 643, 62, 661, 665, 623, 666, 663, 664, 190, 329, 209, 210, 211, 212, 679, 686, 684, 633, 687, 603, 507, 507, 538, 690, 700, 142, 637, 637, 18, 300, 683, 549, 290, 521, 20, 645, 697, 588, 22, 504, 537, 536, 24, 691, 593, 655, 653, 557, 421, 659, 539, 519, 317, 656, 695, 424, 0, 0, 0, 523, 507, 0, 0, 0, 701, 0, 0, 0, 290, 290, 290, 0, 0, 0, 640, 0, 531, 1, 2, 3, 4, 5, 6, 7, 290, 290, 650, 157, 507, 159, 0, 0, 162, 0, 169, 171, 688, 0, 685, 0, 0, 0, 694, 0, 290, 0, 0, 180, 507, 0, 182, 0, 290, 513, 188, 0, 637, -13, 88, 0, 0, 202, 203, 204, 205, 206, 0, 18, 86, 0, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 316, 0, 0, 0, 0, 224, 225, 226, 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, 227, 0, 0, 60, 0, 0, 228, 229, 230, 478, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, 354, 248, 249, 250, 251, 252, 359, 0, 0, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, -3, 88, 0, 386, 0, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 499, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, 0, 88, 0, 60, 0, 0, 0, 0, 0, 0, 18, 86, 583, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 591, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 604, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 628, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 654, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 658, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 673, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 677, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 0, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 698, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 0, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 0, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 0, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 88, 0, 0, 0, 110, 0, 0, 0, 0, 18, 0, 54, 19, 0, 0, 20, 0, 0, 21, 22, 23, -59, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, 0, 0, 0, 60, 28, 29, 0, 0, 0, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 88, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, -59, 60, 30, 31, 0, 32, 189, 34, 35, 0, 36, 37, 151, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 207, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 321, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, -369, 254, 0, 255, 0, 0, -369, 54, 0, -369, -369, -369, 0, 0, -369, -369, 0, 0, 0, -369, -369, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, -369, -369, 0, 339, 60, -369, -369, 0, -369, -369, -369, -369, 0, -369, -369, 0, -369, -369, -369, -369, -369, -369, 0, 0, 0, -369, 0, 0, -369, -369, -369, -369, -369, -369, 0, 0, 0, -369, -369, -369, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, -369, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, -369, -369, 0, -369, 0, -369, -369, 0, 0, 28, 29, 0, 0, -369, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 357, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 399, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 454, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 488, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, -368, 0, 0, -368, 0, 0, -368, 54, 0, -368, -368, -368, 0, 0, -368, -368, 0, 0, 0, -368, -368, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 224, 225, -368, -368, 0, 0, 315, -368, -368, 0, -368, -368, -368, -368, 0, -368, -368, 0, -368, -368, -368, -368, -368, -368, 0, 0, 0, -368, 0, 0, -368, -368, -368, -368, -368, -368, 0, 245, 246, -368, -368, -368, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, -368, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, -368, -368, 0, -368, 227, -368, -368, 0, 0, 0, 228, 229, 230, -368, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, 0, 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, -370, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, 251, 252, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, 0, 0, 0, 0, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 224, 225, 226, 247, 0, 0, 248, 249, 250, 251, 252, 238, 239, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, -370, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, 251, 252 }; static const yytype_int16 yycheck[] = { 10, 17, 174, 428, 19, 49, 27, 11, 27, 19, 54, 12, 11, 175, 18, 165, 20, 110, 22, 331, 24, 25, 105, 606, 22, 29, 10, 13, 580, 16, 34, 35, 9, 13, 13, 19, 103, 52, 200, 49, 90, 16, 52, 30, 48, 49, 50, 51, 11, 15, 0, 11, 135, 13, 18, 25, 20, 23, 22, 22, 24, 25, 60, 27, 11, 113, 114, 11, 52, 13, 34, 35, 93, 18, 93, 22, 60, 22, 11, 24, 25, 133, 56, 133, 418, 49, 56, 51, 62, 34, 35, 31, 62, 11, 428, 13, 11, 101, 13, 433, 434, 87, 42, 11, 49, 133, 51, 87, 16, 86, 10, 11, 695, 13, 16, 133, 16, 25, 20, 16, 20, 113, 24, 20, 24, 25, 136, 24, 14, 93, 682, 175, 96, 14, 133, 15, 123, 16, 148, 111, 141, 20, 163, 87, 163, 24, 133, 11, 56, 13, 194, 195, 133, 14, 62, 327, 200, 57, 133, 11, 11, 13, 172, 173, 174, 175, 14, 317, 11, 87, 185, 186, 87, 133, 56, 185, 186, 181, 11, 11, 164, 13, 186, 16, 84, 11, 520, 13, 56, 11, 200, 13, 285, 11, 178, 288, 87, 111, 112, 163, 184, 185, 186, 97, 98, 133, 103, 22, 133, 95, 96, 97, 98, 133, 95, 96, 97, 98, 95, 96, 97, 98, 186, 56, 133, 209, 210, 211, 212, 62, 214, 215, 216, 133, 95, 96, 97, 98, 133, 573, 574, 186, 130, 131, 123, 261, 133, 95, 96, 97, 98, 272, 262, 272, 133, 265, 32, 14, 22, 35, 36, 37, 38, 14, 39, 41, 22, 692, 22, 253, 254, 255, 256, 257, 258, 259, 260, 22, 590, 613, 95, 96, 97, 98, 14, 289, 14, 81, 252, 14, 334, 71, 269, 270, 271, 87, 273, 274, 133, 276, 277, 278, 279, 90, 387, 467, 22, 641, 272, 293, 294, 295, 296, 297, 298, 22, 132, 327, 333, 95, 96, 97, 98, 333, 22, 119, 132, 661, 33, 34, 124, 315, 13, 127, 128, 129, 130, 131, 95, 96, 97, 98, 611, 56, 95, 96, 97, 98, 56, 333, 95, 96, 97, 98, 22, 56, 132, 294, 295, 343, 297, 298, 534, 22, 348, 95, 96, 97, 98, 44, 95, 96, 97, 98, 95, 96, 97, 98, 647, 648, 649, 127, 128, 129, 130, 131, 390, 123, 95, 96, 97, 98, 133, 62, 663, 664, 16, 95, 96, 97, 98, 15, 59, 413, 388, 389, 59, 91, 429, 132, 429, 132, 396, 13, 683, 12, 588, 25, 428, 435, 25, 25, 691, 467, 25, 587, 390, 95, 96, 97, 98, 133, 56, 417, 418, 18, 95, 96, 97, 98, 95, 96, 97, 98, 428, 81, 100, 431, 432, 433, 434, 461, 22, 430, 133, 465, 420, 467, 100, 436, 11, 133, 439, 32, 12, 429, 35, 36, 37, 38, 132, 132, 41, 133, 12, 490, 12, 132, 12, 12, 490, 132, 459, 95, 96, 97, 98, 16, 124, 133, 474, 127, 128, 129, 130, 131, 95, 96, 97, 98, 132, 568, 569, 22, 132, 132, 490, 132, 575, 95, 96, 97, 98, 132, 581, 582, 133, 527, 11, 529, 132, 56, 100, 500, 534, 502, 95, 96, 97, 98, 11, 91, 12, 132, 132, 512, 520, 22, 15, 554, 132, 45, 133, 587, 554, 509, 132, 614, 615, 616, 132, 22, 132, 620, 95, 96, 97, 98, 132, 89, 133, 545, 22, 95, 96, 97, 98, 132, 635, 132, 554, 133, 22, 589, 132, 642, 643, 587, 588, 95, 96, 97, 98, 132, 17, 132, 602, 88, 565, 573, 574, 132, 132, 132, 13, 605, 606, 10, 141, 666, 132, 611, 431, 16, 612, 692, 529, 20, 413, 453, 452, 24, 679, 540, 630, 622, 132, 30, 634, 459, 429, 163, 632, 690, 272, -1, -1, -1, 612, 613, -1, -1, -1, 700, -1, -1, -1, 647, 648, 649, -1, -1, -1, 607, -1, 622, 3, 4, 5, 6, 7, 8, 9, 663, 664, 619, 21, 641, 23, -1, -1, 26, -1, 28, 29, 675, -1, 671, -1, -1, -1, 687, -1, 683, -1, -1, 41, 661, -1, 44, -1, 691, 692, 48, -1, 695, 0, 1, -1, -1, 55, 56, 57, 58, 59, -1, 10, 11, -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, -1, 163, -1, -1, -1, -1, 81, 82, 83, 120, 121, -1, 123, -1, 125, 126, -1, -1, -1, 94, -1, -1, 133, -1, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, -1, 213, 127, 128, 129, 130, 131, 219, -1, -1, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 0, 1, -1, 251, -1, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 478, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, -1, -1, 1, -1, 133, -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, 535, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, 567, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, 592, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, -1, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, 89, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, -1, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, -1, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, -1, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, 1, -1, -1, -1, 92, -1, -1, -1, -1, 10, -1, 99, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, -1, -1, -1, -1, 133, 47, 48, -1, -1, -1, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, 1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, 81, 82, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, 118, 119, 84, 85, 86, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, 99, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, 94, 125, 126, -1, -1, -1, 100, 101, 102, 133, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, 127, 128, 129, 130, 131, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 81, 82, 83, 124, -1, -1, 127, 128, 129, 130, 131, 111, 112, 113, 114, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, 113, 114, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, -1, 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, 127, 128, 129, 130, 131 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 135, 136, 137, 138, 139, 140, 141, 142, 0, 181, 10, 13, 16, 19, 20, 21, 24, 25, 29, 30, 47, 48, 52, 53, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 68, 72, 75, 76, 77, 78, 79, 80, 84, 85, 86, 99, 120, 121, 123, 125, 126, 133, 179, 233, 234, 235, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 255, 263, 264, 265, 266, 267, 268, 269, 270, 271, 11, 178, 1, 22, 26, 27, 28, 31, 32, 35, 36, 37, 38, 40, 41, 42, 43, 46, 49, 50, 51, 54, 69, 74, 92, 143, 144, 145, 147, 148, 149, 150, 151, 155, 156, 157, 158, 159, 160, 162, 164, 166, 168, 170, 171, 172, 174, 175, 176, 177, 178, 191, 195, 233, 252, 70, 189, 190, 191, 179, 187, 226, 227, 187, 56, 62, 178, 264, 272, 255, 272, 247, 272, 247, 272, 272, 247, 123, 133, 250, 264, 265, 266, 247, 178, 247, 207, 207, 208, 272, 272, 248, 13, 133, 247, 207, 247, 133, 133, 90, 133, 178, 247, 56, 179, 234, 254, 264, 272, 178, 272, 255, 56, 62, 210, 234, 247, 247, 247, 247, 247, 132, 233, 95, 96, 97, 98, 15, 11, 13, 133, 113, 114, 113, 111, 112, 111, 73, 81, 82, 83, 94, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 124, 127, 128, 129, 130, 131, 133, 11, 13, 11, 13, 11, 13, 11, 181, 209, 56, 56, 251, 264, 265, 266, 133, 133, 30, 123, 133, 262, 264, 133, 133, 133, 133, 178, 11, 182, 182, 206, 210, 22, 206, 210, 39, 179, 197, 22, 32, 35, 36, 37, 38, 41, 22, 190, 191, 189, 20, 24, 103, 179, 216, 217, 218, 219, 221, 222, 223, 14, 133, 247, 250, 264, 265, 266, 132, 233, 87, 213, 71, 179, 211, 87, 179, 212, 212, 254, 133, 90, 233, 132, 178, 132, 132, 233, 255, 255, 272, 234, 234, 22, 254, 13, 132, 233, 233, 233, 233, 247, 233, 233, 132, 233, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 10, 11, 13, 16, 20, 24, 25, 57, 84, 133, 237, 264, 132, 233, 233, 233, 233, 233, 233, 233, 233, 187, 56, 179, 205, 56, 56, 179, 213, 214, 181, 181, 123, 181, 30, 260, 261, 263, 264, 265, 266, 181, 181, 133, 181, 181, 181, 181, 183, 44, 173, 206, 163, 206, 178, 194, 233, 194, 194, 202, 233, 194, 194, 62, 215, 16, 15, 132, 233, 213, 132, 59, 212, 59, 181, 231, 231, 255, 234, 14, 236, 132, 91, 132, 233, 12, 233, 13, 22, 14, 132, 103, 25, 210, 233, 233, 25, 25, 25, 25, 25, 132, 233, 133, 132, 22, 14, 22, 14, 22, 14, 22, 12, 18, 180, 11, 22, 214, 100, 203, 233, 203, 133, 257, 264, 133, 179, 195, 200, 203, 204, 233, 260, 181, 202, 201, 233, 203, 203, 187, 181, 56, 167, 22, 181, 228, 229, 165, 100, 215, 221, 132, 229, 133, 179, 224, 225, 132, 23, 179, 256, 254, 132, 14, 233, 12, 247, 133, 22, 14, 132, 255, 12, 12, 12, 12, 181, 181, 11, 22, 253, 132, 132, 258, 259, 264, 133, 181, 132, 22, 154, 203, 132, 132, 132, 132, 12, 133, 179, 184, 56, 211, 11, 212, 247, 100, 226, 11, 233, 91, 14, 255, 12, 132, 22, 161, 181, 247, 182, 182, 15, 132, 203, 203, 182, 152, 133, 132, 199, 199, 182, 182, 185, 169, 254, 212, 187, 22, 230, 231, 220, 247, 132, 232, 132, 89, 187, 146, 33, 34, 179, 196, 196, 264, 133, 132, 132, 197, 201, 203, 182, 182, 182, 264, 182, 22, 228, 12, 187, 179, 188, 12, 187, 182, 133, 203, 182, 182, 22, 132, 197, 197, 197, 186, 45, 198, 12, 22, 60, 192, 12, 203, 132, 197, 197, 153, 182, 132, 178, 17, 88, 179, 193, 132, 182, 199, 197, 187, 182, 197, 204, 89, 196, 132, 182 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { 0, 134, 136, 135, 137, 135, 138, 135, 139, 135, 140, 135, 141, 135, 142, 135, 143, 144, 146, 145, 147, 148, 149, 150, 152, 153, 151, 151, 151, 151, 154, 151, 151, 151, 155, 156, 157, 158, 159, 161, 160, 163, 162, 165, 164, 167, 166, 169, 168, 170, 171, 173, 172, 174, 175, 176, 177, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 184, 187, 187, 188, 188, 189, 189, 190, 190, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 192, 193, 193, 194, 195, 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, 197, 197, 198, 198, 199, 200, 200, 201, 201, 202, 203, 204, 205, 205, 206, 207, 208, 209, 210, 210, 211, 211, 212, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224, 225, 227, 226, 228, 228, 229, 230, 230, 232, 231, 233, 233, 233, 233, 233, 234, 234, 234, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 236, 235, 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, 240, 241, 241, 242, 242, 242, 242, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 248, 247, 247, 247, 247, 249, 249, 249, 249, 250, 250, 250, 250, 250, 251, 251, 251, 252, 253, 252, 254, 254, 255, 255, 256, 256, 257, 258, 258, 258, 259, 260, 260, 260, 261, 261, 262, 262, 263, 264, 265, 266, 267, 267, 268, 269, 269, 270, 270, 271, 271, 272, 272, 272, 272 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 0, 4, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 2, 5, 0, 9, 2, 2, 2, 2, 0, 0, 13, 9, 11, 8, 0, 10, 9, 7, 4, 6, 7, 1, 4, 0, 8, 0, 4, 0, 6, 0, 7, 0, 8, 7, 8, 0, 7, 6, 8, 2, 1, 1, 4, 0, 7, 0, 4, 0, 1, 0, 0, 5, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 2, 6, 1, 2, 0, 2, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 0, 1, 1, 1, 2, 3, 4, 0, 1, 3, 5, 0, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 3, 0, 2, 1, 1, 4, 1, 1, 0, 6, 3, 3, 3, 3, 1, 2, 3, 1, 3, 3, 5, 6, 3, 7, 4, 3, 5, 2, 4, 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, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, 2, 3, 3, 3, 1, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 4, 4, 3, 4, 3, 2, 2, 1, 1, 1, 1, 5, 2, 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, 3, 2, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 3, 0, 6, 1, 1, 1, 1, 1, 2, 1, 2, 3, 1, 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 { toketype_ival, toketype_opval, toketype_pval } toketypes; /* type of each token/terminal */ static const toketypes yy_type_tab[] = { toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, 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_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, 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_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, 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_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, 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_ival, 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_pval, 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: * 8444cada5b7e31b67a9eec8f91fdf7511e00378bd03fb2bc726dc0ff958643de perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */