This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Distinguish C- and perly- literals - PERLY_SLASH
[perl5.git] / perly.tab
1 /* -*- buffer-read-only: t -*-
2    !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3    This file is built by regen_perly.pl from perly.y.
4    Any changes made here will be lost!
5  */
6
7 #define YYFINAL  16
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   3258
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  112
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  97
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  295
17 /* YYNSTATES -- Number of states.  */
18 #define YYNSTATES  573
19
20 #define YYUNDEFTOK  2
21 #define YYMAXUTOK   365
22
23
24 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
25    as returned by yylex, with out-of-bounds checking.  */
26 #define YYTRANSLATE(YYX)                                                \
27   (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
28
29 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
30    as returned by yylex.  */
31 static const yytype_int8 yytranslate[] =
32 {
33        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
34        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
36        2,     2,     2,     2,     2,     2,   111,     2,     2,     2,
37        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
39        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
50        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
51        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
52        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
53        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
54        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
55        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
56        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
57        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
58        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
59        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
60       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
61       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
62       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
63       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
64       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
65       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
66       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
67       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
68       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
69      105,   106,   107,   108,   109,   110
70 };
71
72 #if YYDEBUG
73   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
74 static const yytype_int16 yyrline[] =
75 {
76        0,   136,   136,   135,   147,   146,   157,   156,   170,   169,
77      183,   182,   196,   195,   206,   205,   218,   226,   234,   238,
78      246,   252,   253,   263,   264,   273,   277,   281,   288,   298,
79      300,   313,   310,   334,   329,   350,   358,   357,   366,   372,
80      378,   383,   385,   387,   394,   402,   404,   401,   421,   426,
81      433,   432,   447,   455,   461,   468,   467,   482,   486,   491,
82      499,   517,   518,   522,   526,   528,   530,   532,   534,   536,
83      538,   541,   547,   548,   553,   564,   565,   571,   577,   578,
84      583,   586,   590,   595,   599,   603,   604,   608,   614,   619,
85      624,   625,   630,   631,   636,   637,   639,   644,   646,   658,
86      659,   664,   666,   670,   690,   691,   693,   699,   764,   766,
87      772,   774,   778,   784,   785,   790,   791,   795,   799,   799,
88      867,   868,   873,   884,   885,   888,   899,   901,   903,   905,
89      909,   911,   916,   920,   924,   928,   934,   939,   945,   951,
90      953,   955,   958,   957,   968,   969,   973,   977,   980,   985,
91      990,   993,   997,  1001,  1007,  1015,  1022,  1028,  1030,  1032,
92     1037,  1039,  1041,  1046,  1048,  1050,  1052,  1054,  1056,  1058,
93     1060,  1062,  1064,  1066,  1070,  1072,  1074,  1076,  1080,  1082,
94     1086,  1088,  1090,  1092,  1096,  1098,  1103,  1105,  1108,  1110,
95     1112,  1115,  1118,  1129,  1132,  1139,  1141,  1143,  1145,  1147,
96     1150,  1156,  1158,  1162,  1163,  1164,  1165,  1166,  1168,  1170,
97     1172,  1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,  1190,
98     1192,  1194,  1204,  1214,  1224,  1234,  1236,  1238,  1241,  1246,
99     1250,  1252,  1254,  1256,  1259,  1261,  1264,  1266,  1268,  1270,
100     1272,  1274,  1276,  1278,  1280,  1283,  1285,  1287,  1289,  1291,
101     1293,  1297,  1300,  1299,  1312,  1313,  1314,  1318,  1320,  1322,
102     1327,  1329,  1332,  1334,  1336,  1341,  1343,  1348,  1349,  1354,
103     1355,  1361,  1365,  1366,  1367,  1370,  1371,  1374,  1375,  1378,
104     1382,  1386,  1392,  1398,  1400,  1404,  1408,  1409,  1413,  1414,
105     1418,  1419,  1424,  1426,  1428,  1431
106 };
107 #endif
108
109 #if YYDEBUG || YYERROR_VERBOSE || 0
110 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
111    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
112 static const char *const yytname[] =
113 {
114   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
115   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE",
116   "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE",
117   "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA", "PERLY_DOT",
118   "PERLY_EQUAL_SIGN", "PERLY_MINUS", "PERLY_PERCENT_SIGN", "PERLY_PLUS",
119   "PERLY_SEMICOLON", "PERLY_SLASH", "PERLY_SNAIL", "PERLY_STAR",
120   "BAREWORD", "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF",
121   "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR",
122   "PLUGSTMT", "LABEL", "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB",
123   "PACKAGE", "USE", "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF",
124   "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT",
125   "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP",
126   "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE",
127   "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND",
128   "PREC_LOW", "OROP", "DOROP", "ANDOP", "NOTOP", "ASSIGNOP",
129   "PERLY_QUESTION_MARK", "PERLY_COLON", "OROR", "DORDOR", "ANDAND",
130   "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", "CHRELOP", "NCRELOP",
131   "SHIFTOP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", "UMINUS",
132   "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN",
133   "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "'$'", "$accept",
134   "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block",
135   "formblock", "remember", "mblock", "mremember", "stmtseq", "formstmtseq",
136   "fullstmt", "labfullstmt", "barestmt", "$@8", "$@9", "$@10", "$@11",
137   "$@12", "@13", "$@14", "formline", "formarg", "condition", "sideff",
138   "else", "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr",
139   "formname", "startsub", "startanonsub", "startformsub", "subname",
140   "proto", "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil",
141   "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist",
142   "siglistornull", "optsubsignature", "subsignature", "subsigguts", "$@15",
143   "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "expr",
144   "listexpr", "listop", "@16", "method", "subscripted", "termbinop",
145   "termrelop", "relopchain", "termeqop", "eqopchain", "termunop",
146   "anonymous", "termdo", "term", "@17", "myattrterm", "myterm",
147   "optlistexpr", "optexpr", "optrepl", "my_scalar", "my_var",
148   "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen",
149   "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
150 };
151 #endif
152
153 # ifdef YYPRINT
154 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
155    (internal) symbol number NUM (which must be that of a token).  */
156 static const yytype_int16 yytoknum[] =
157 {
158        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
159      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
160      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
161      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
162      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
163      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
164      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
165      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
166      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
167      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
168      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
169      365,    36
170 };
171 # endif
172
173 #define YYPACT_NINF (-486)
174
175 #define yypact_value_is_default(Yyn) \
176   ((Yyn) == YYPACT_NINF)
177
178 #define YYTABLE_NINF (-291)
179
180 #define yytable_value_is_error(Yyn) \
181   ((Yyn) == YYTABLE_NINF)
182
183   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
184      STATE-NUM.  */
185 static const yytype_int16 yypact[] =
186 {
187      894,  -486,  -486,  -486,  -486,  -486,  -486,  -486,    17,  -486,
188     2892,    15,  1393,  1298,  -486,  -486,  -486,  -486,    29,  1942,
189     2892,    29,  2892,    29,    29,  -486,    29,    29,  -486,  -486,
190       39,   -64,  -486,  2892,  -486,  -486,  -486,  -486,  2892,   -31,
191      -22,   -45,  2037,  1847,    29,  2037,  2132,    33,  2892,    61,
192     2892,  2892,  2892,  2892,  2892,  2892,  2892,  2227,    29,   184,
193       49,  -486,     2,  -486,   177,    19,   186,     5,  -486,  -486,
194     -486,  3060,  -486,  -486,     9,    81,   162,   224,  -486,    94,
195      236,   244,   113,  -486,  -486,  -486,  -486,  -486,  -486,    33,
196       33,   116,  -486,    36,    41,    67,    70,    -3,    98,   103,
197       15,   206,   182,  -486,   217,  1486,  1298,  -486,  -486,  -486,
198      528,  -486,    47,   633,  -486,  -486,  -486,  -486,  -486,  -486,
199       20,   890,  -486,   890,  -486,  -486,  2892,   151,   197,  2892,
200      171,   808,    15,   281,   237,  3060,   204,  2322,  2892,  1847,
201     -486,   808,  1747,    49,  -486,  1649,  2892,  -486,  -486,   808,
202      303,   102,  -486,  -486,  2892,   808,  2987,  2417,   247,  -486,
203     -486,  -486,   808,    49,   890,   890,   890,    88,    88,   305,
204       79,  -486,  2892,  2892,  2892,  2892,  2892,  2892,  2512,  -486,
205     -486,  2892,  -486,  -486,  2892,  2892,  2892,  2892,  2892,  2892,
206     2892,  2892,  2892,  2892,  2892,  2892,  2892,  2892,  2892,  2892,
207     2892,  2892,  -486,  -486,  -486,    80,  2607,  2892,  2892,  2892,
208     2892,  2892,  2892,  2892,  -486,   298,  -486,  -486,   307,  -486,
209     -486,  -486,  -486,  -486,   225,     0,  -486,  -486,   228,  -486,
210     -486,  -486,  -486,    15,  -486,  -486,  2892,  2892,  2892,  2892,
211     2892,  2892,  -486,  -486,  -486,  -486,  -486,   310,   310,  -486,
212     -486,  -486,   327,  -486,  -486,  -486,  2892,  2892,    46,  -486,
213     -486,  -486,   237,   321,  -486,  -486,  -486,   289,   288,   264,
214     2892,    49,  -486,   363,  -486,  2702,   890,   247,    22,    44,
215      176,  -486,   325,   359,  -486,  2892,   375,   314,   314,  -486,
216     3060,   160,    54,  -486,   368,   808,   416,  3150,   992,   360,
217     3060,  3015,   513,   513,   618,   393,   713,   416,   416,   808,
218      808,   903,   890,   890,   373,  2892,  2892,   376,   378,   379,
219     -486,   380,  2797,    26,   313,  -486,  -486,   398,   188,   130,
220      296,   164,   299,   172,   312,   728,  -486,   391,  -486,  -486,
221       32,   384,  2892,  2892,  2892,  2892,  -486,   300,  -486,  -486,
222      318,  -486,  -486,  -486,  -486,  1488,    52,  -486,  2892,  2892,
223     -486,  -486,   184,  -486,   184,  -486,  -486,  -486,  -486,  -486,
224      329,   329,    47,   308,    59,  -486,  2892,  -486,  -486,   319,
225     -486,  -486,  -486,  -486,   424,  -486,     3,   434,  -486,  -486,
226     -486,   178,  2892,   407,  -486,  -486,  2892,  -486,   340,   222,
227     -486,  -486,  -486,  -486,  -486,   532,  -486,  2892,  -486,   412,
228     -486,   418,  -486,   423,  -486,   425,  -486,  -486,  -486,   281,
229      237,  -486,  -486,   413,   334,   184,   335,   336,   184,   338,
230      341,  -486,  -486,  -486,  -486,   343,   435,   309,  -486,  2892,
231      346,   351,  2892,  -486,  -486,  -486,  -486,  2892,   383,  -486,
232      458,  -486,  -486,   462,  -486,  -486,    11,  -486,   249,  -486,
233     3105,   463,  -486,  -486,   385,  -486,  -486,  -486,  -486,   471,
234      237,   472,  -486,  2892,  -486,  -486,   486,   486,  2892,  2892,
235      486,  -486,   410,   399,   486,   486,  3060,   184,  -486,  -486,
236      408,  -486,  -486,  -486,  -486,   443,   504,  -486,  -486,  -486,
237     -486,   505,   486,   486,  -486,   232,   232,   421,   422,   182,
238     2892,  2892,   486,  -486,  -486,   823,  -486,   918,  -486,  -486,
239     -486,  -486,  1013,  -486,   182,   182,  -486,   486,   417,  -486,
240     -486,   486,   486,  -486,   511,   426,   182,  -486,  -486,   111,
241     -486,  -486,  -486,  1108,  -486,  2892,   182,   182,  -486,   486,
242     -486,   520,   465,  -486,  -486,   436,  -486,  -486,  -486,   182,
243     -486,  -486,  -486,   486,  1583,  -486,  1203,   232,   441,  -486,
244     -486,   486,  -486
245 };
246
247   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
248      Performed when YYTABLE does not specify something else to do.  Zero
249      means the default is an error.  */
250 static const yytype_int16 yydefact[] =
251 {
252        0,     2,     4,     6,     8,    10,    12,    14,     0,    18,
253      267,     0,     0,     0,    21,   118,     1,    21,     0,     0,
254        0,     0,     0,     0,     0,   254,     0,     0,   225,   252,
255      213,   247,   249,   243,    88,   256,    88,    88,   235,   245,
256        0,     0,   238,   265,     0,     0,     0,     0,     0,     0,
257      241,     0,     0,     0,     0,     0,     0,     0,     0,   268,
258      129,   255,   220,   203,   165,   174,   166,   180,   204,   205,
259      206,   132,   210,     5,   226,   215,   218,   217,   219,   216,
260        0,     0,     0,    18,     7,    64,    59,    29,    89,     0,
261        0,     0,    87,     0,     0,     0,     0,     0,     0,     0,
262        0,     0,    75,     9,     0,    65,     0,    11,    26,    25,
263        0,    15,   113,     0,   292,   295,   294,   293,   279,   196,
264        0,   186,   282,   187,   281,   285,   265,     0,     0,     0,
265        0,   244,     0,    92,    94,   236,     0,     0,   267,   267,
266      239,   240,   292,   266,   139,   293,     0,   283,   202,   201,
267        0,     0,    90,    91,   265,   211,     0,     0,   258,   262,
268      264,   263,   242,   237,   188,   189,   208,   193,   194,   214,
269        0,   280,     0,     0,     0,   130,     0,     0,     0,   177,
270      176,     0,   183,   182,     0,     0,     0,     0,     0,     0,
271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
272        0,     0,   190,   191,   192,     0,     0,     0,     0,     0,
273        0,     0,     0,     0,    21,    86,    87,    87,     0,    36,
274       18,    18,    18,    18,    18,     0,    18,    18,     0,    18,
275       18,    42,    58,     0,    54,    57,     0,     0,     0,     0,
276        0,     0,    28,    27,    22,   102,   101,    99,    99,   109,
277      108,   112,   114,   119,   195,   137,   267,     0,     0,   248,
278      142,    93,    94,    96,    18,   246,   250,     0,     0,     0,
279        0,   133,   198,     0,   229,     0,   209,     0,   215,   218,
280      217,   261,     0,    98,   257,     0,   212,   127,   128,   126,
281      131,     0,     0,   156,     0,   179,   185,   169,   162,   163,
282      160,     0,   171,   172,   170,   168,   167,   184,   181,   178,
283      175,   164,   173,   161,     0,     0,     0,   289,   287,   291,
284      144,     0,     0,     0,   136,   145,   227,     0,     0,     0,
285        0,     0,     0,     0,     0,     0,    85,     0,    31,    33,
286        0,     0,    80,     0,     0,     0,   277,     0,   278,   275,
287        0,   276,   272,   273,   274,     0,     0,    18,     0,     0,
288       76,    68,    63,    69,    82,    66,    67,    70,    71,   100,
289      104,   104,   110,     0,   269,   158,   265,    18,    95,   115,
290      200,   251,   141,   140,     0,   197,   214,     0,   259,   260,
291       97,     0,     0,     0,   149,   155,     0,   233,     0,     0,
292      232,   231,   234,   284,   153,     0,   230,   267,   228,     0,
293      147,     0,   221,     0,   222,     0,    16,    18,    30,    92,
294       94,    18,    35,     0,     0,    81,     0,     0,    83,     0,
295        0,   271,    18,    79,    84,     0,     0,    65,    50,     0,
296        0,     0,   105,   107,   103,   111,   138,     0,     0,   143,
297        0,   199,   118,     0,   116,   134,   212,   159,     0,   152,
298      207,     0,   148,   154,     0,   150,   223,   224,   146,     0,
299       94,    18,    55,   265,    77,    77,     0,     0,     0,     0,
300        0,    45,     0,     0,     0,     0,   106,   270,   253,    21,
301        0,    21,   157,   151,   135,     0,    18,   124,    34,   123,
302       21,     0,     0,     0,    20,    72,    72,     0,     0,    75,
303       80,     0,     0,    40,    41,     0,   117,     0,    23,   121,
304       32,   120,     0,    37,    75,    75,    21,     0,     0,    38,
305       39,     0,     0,    53,     0,     0,    75,   122,   125,     0,
306       56,    43,    44,     0,    73,     0,    75,    75,    46,     0,
307       49,     0,    61,    24,    19,     0,    48,    52,    77,    75,
308       17,    21,    60,     0,     0,    51,     0,    72,     0,    62,
309       74,     0,    47
310 };
311
312   /* YYPGOTO[NTERM-NUM].  */
313 static const yytype_int16 yypgoto[] =
314 {
315     -486,  -486,  -486,  -486,  -486,  -486,  -486,  -486,  -486,   301,
316     -486,    -5,  -117,  -486,   -17,  -486,   545,   474,     8,  -486,
317     -486,  -486,  -486,  -486,  -486,  -486,  -486,  -486,   409,  -350,
318     -485,   -83,  -463,  -486,    76,   250,  -272,    30,  -486,    89,
319      317,  -486,   293,   198,  -244,   339,   374,  -486,  -486,   252,
320     -486,   253,  -486,  -486,  -486,  -486,   183,  -486,  -486,   132,
321     -486,   159,    -8,   -37,  -486,  -486,  -486,  -486,  -486,  -486,
322     -486,  -486,  -486,  -486,  -486,  -486,   100,  -486,  -486,   480,
323     -125,  -131,  -486,  -486,   284,  -486,  -486,   420,    18,   -46,
324      -40,  -486,  -486,  -486,  -486,  -486,     4
325 };
326
327   /* YYDEFGOTO[NTERM-NUM].  */
328 static const yytype_int16 yydefgoto[] =
329 {
330       -1,     8,     9,    10,    11,    12,    13,    14,    15,   102,
331      418,   379,   505,   526,   110,   539,   244,   108,   109,   419,
332      420,   341,   510,   558,   482,   500,   553,   562,   361,   104,
333      529,   234,   502,   434,   424,   363,   427,   436,   337,   219,
334      132,   215,   154,   262,   264,   284,   370,   248,   249,   443,
335      250,   251,   252,   253,   453,   454,   111,   112,   520,   451,
336      498,   380,   105,    60,    61,   376,   324,    62,    63,    64,
337       65,    66,    67,    68,    69,    70,    71,   128,    72,   158,
338      144,    73,   448,   430,   349,   350,   227,    74,    75,    76,
339       77,    78,    79,    80,    81,    82,   171
340 };
341
342   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
343      positive, shift that token.  If negative, reduce the rule whose
344      number is the opposite.  If YYTABLE_NINF, syntax error.  */
345 static const yytype_int16 yytable[] =
346 {
347      113,   255,    59,   160,    17,   433,   143,   268,   269,   161,
348       18,   120,   503,   176,   163,   177,   285,    16,   377,    21,
349      103,   530,   118,    23,   392,   122,    83,   124,   125,   274,
350      126,   127,   138,   207,   254,   208,   117,    83,   151,   117,
351       83,   117,   117,   421,   117,   117,   130,   146,   147,   170,
352      406,   114,   129,   422,   114,  -286,   115,  -286,   152,   115,
353      375,   145,   117,   153,   175,   139,   245,   159,   394,   224,
354      246,    21,   348,   429,   175,    23,   117,  -261,   214,   136,
355       21,   447,   570,   435,    23,  -260,   440,   441,   137,   143,
356      314,   315,   207,   316,   208,   564,  -262,   184,   225,   317,
357      172,   173,   174,   318,   319,  -290,   320,   226,    58,   271,
358      279,    58,   178,   181,   243,   228,   280,   143,  -264,   206,
359      121,   258,   123,   273,   213,   373,   172,   173,   174,   267,
360       59,    59,   551,   131,   172,   173,   174,    58,   135,   552,
361       58,   218,   141,   270,   410,   149,   220,   321,   155,   282,
362      162,   221,   164,   165,   166,   167,   168,   145,   247,   172,
363      173,   174,   156,    58,   287,   288,   289,   483,   291,   292,
364      294,   157,    58,  -286,   278,  -286,   471,   222,   412,   353,
365      223,   393,   172,   173,   174,   354,   414,  -288,   286,  -288,
366      322,   323,   457,  -291,  -291,  -291,   205,   335,   327,   328,
367      329,   330,   331,   332,   333,   334,   507,   508,   229,   409,
368      172,   173,   174,   230,   433,   342,   343,   344,   345,   347,
369      374,   355,   356,   325,   358,   359,   496,   232,   362,   364,
370      362,   362,   362,   362,   233,  -288,   462,  -288,   235,   535,
371      172,   173,   174,   352,   172,   173,   174,   209,    59,   210,
372     -263,   449,   172,   173,   174,   211,   276,   212,   172,   173,
373      174,   256,   384,   492,   172,   173,   174,   387,   172,   173,
374      174,   179,   180,   555,   257,   290,   464,   391,   182,   183,
375      259,   295,   527,   528,   296,   297,   298,   299,   300,   301,
376      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
377      312,   313,   172,   173,   174,   338,   339,   398,   399,   261,
378      353,   263,    84,   265,   405,   272,   354,   411,   285,   116,
379      413,   283,   116,   336,   116,   116,   346,   116,   116,   172,
380      173,   174,   340,   415,   425,   364,   428,   428,   357,   143,
381      369,   117,   372,   140,   116,   116,   148,   437,   501,   378,
382      428,   428,   439,   133,   134,   236,   237,   238,   239,   116,
383      506,   461,   240,   509,   241,   431,   382,   513,   514,   172,
384      173,   174,   450,   383,   352,   385,   172,   173,   174,   172,
385      173,   174,   216,   217,   458,   524,   525,   390,   392,   172,
386      173,   174,   172,   173,   174,   536,   174,   397,   381,    59,
387      400,   231,   401,   402,   403,   172,   173,   174,   417,   423,
388      544,    58,   469,   442,   546,   547,   472,   446,   -83,   459,
389      172,   173,   174,   407,   465,   186,   533,   479,   432,   452,
390      466,   428,   559,   260,   389,   467,   143,   468,   473,   487,
391      116,   541,   542,   474,   475,   476,   567,   477,   172,   173,
392      174,   478,   480,   550,   572,   484,   481,   200,   186,   187,
393      485,   488,   201,   556,   557,   202,   203,   204,   205,   489,
394      428,   428,   515,   491,   517,   493,   565,   395,   172,   173,
395      174,   186,   187,   522,   194,   195,   196,   197,   198,   199,
396      200,   450,   495,   497,   494,   201,   460,   504,   202,   203,
397      204,   205,   425,   428,   172,   173,   174,   408,   512,   543,
398      197,   198,   199,   200,   172,   173,   174,   516,   201,   518,
399      511,   202,   203,   204,   205,   519,   523,   545,   -13,    85,
400      531,   532,   548,   455,   360,   549,   560,   428,    18,    83,
401      561,    19,   486,   456,   566,   563,    20,    21,    22,    86,
402      571,    23,    24,    25,    26,    27,    28,    29,   107,    30,
403       31,    32,    33,    34,    35,    87,   106,    88,    89,    90,
404       36,    37,    91,    92,    93,    94,    95,    96,   186,   187,
405      242,    97,    98,    99,   100,    38,   534,   101,    39,    40,
406       41,    42,    43,   426,   568,    44,    45,    46,    47,    48,
407       49,    50,   192,   193,   194,   195,   196,   197,   198,   199,
408      200,    51,   172,   173,   174,   201,   388,   470,   202,   203,
409      204,   205,   371,   444,   116,   445,    52,    53,   521,    54,
410      499,    55,    56,    -3,    85,   490,   277,     0,    57,    58,
411      438,   463,     0,    18,    83,   351,    19,   365,   366,   367,
412      368,    20,    21,    22,    86,     0,    23,    24,    25,    26,
413       27,    28,    29,     0,    30,    31,    32,    33,    34,    35,
414       87,   106,    88,    89,    90,    36,    37,    91,    92,    93,
415       94,    95,    96,   186,   187,     0,    97,    98,    99,   100,
416       38,     0,   101,    39,    40,    41,    42,    43,     0,     0,
417       44,    45,    46,    47,    48,    49,    50,     0,   193,   194,
418      195,   196,   197,   198,   199,   200,    51,     0,     0,     0,
419      201,     0,     0,   202,   203,   204,   205,     0,     0,    85,
420        0,    52,    53,     0,    54,     0,    55,    56,    18,    83,
421      416,    19,     0,    57,    58,     0,    20,    21,    22,    86,
422        0,    23,    24,    25,    26,    27,    28,    29,     0,    30,
423       31,    32,    33,    34,    35,    87,   106,    88,    89,    90,
424       36,    37,    91,    92,    93,    94,    95,    96,   186,   187,
425        0,    97,    98,    99,   100,    38,     0,   101,    39,    40,
426       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
427       49,    50,     0,     0,     0,   195,   196,   197,   198,   199,
428      200,    51,     0,     0,     0,   201,     0,     0,   202,   203,
429      204,   205,     0,     0,    85,     0,    52,    53,     0,    54,
430        0,    55,    56,    18,    83,   537,    19,     0,    57,    58,
431        0,    20,    21,    22,    86,     0,    23,    24,    25,    26,
432       27,    28,    29,     0,    30,    31,    32,    33,    34,    35,
433       87,   106,    88,    89,    90,    36,    37,    91,    92,    93,
434       94,    95,    96,   186,   187,     0,    97,    98,    99,   100,
435       38,     0,   101,    39,    40,    41,    42,    43,     0,     0,
436       44,    45,    46,    47,    48,    49,    50,     1,     2,     3,
437        4,     5,     6,     7,   199,   200,    51,     0,     0,     0,
438      201,     0,     0,   202,   203,   204,   205,     0,     0,    85,
439        0,    52,    53,     0,    54,     0,    55,    56,    18,    83,
440      538,    19,     0,    57,    58,     0,    20,    21,    22,    86,
441        0,    23,    24,    25,    26,    27,    28,    29,     0,    30,
442       31,    32,    33,    34,    35,    87,   106,    88,    89,    90,
443       36,    37,    91,    92,    93,    94,    95,    96,   186,   187,
444        0,    97,    98,    99,   100,    38,     0,   101,    39,    40,
445       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
446       49,    50,   201,     0,     0,   202,   203,   204,   205,     0,
447      200,    51,     0,     0,     0,   201,     0,     0,   202,   203,
448      204,   205,     0,     0,    85,     0,    52,    53,     0,    54,
449        0,    55,    56,    18,    83,   540,    19,     0,    57,    58,
450        0,    20,    21,    22,    86,     0,    23,    24,    25,    26,
451       27,    28,    29,     0,    30,    31,    32,    33,    34,    35,
452       87,   106,    88,    89,    90,    36,    37,    91,    92,    93,
453       94,    95,    96,     0,     0,     0,    97,    98,    99,   100,
454       38,     0,   101,    39,    40,    41,    42,    43,     0,     0,
455       44,    45,    46,    47,    48,    49,    50,     0,     0,   200,
456        0,     0,     0,     0,   201,     0,    51,   202,   203,   204,
457      205,     0,     0,     0,     0,     0,     0,     0,     0,    85,
458        0,    52,    53,     0,    54,     0,    55,    56,    18,    83,
459      554,    19,     0,    57,    58,     0,    20,    21,    22,    86,
460        0,    23,    24,    25,    26,    27,    28,    29,     0,    30,
461       31,    32,    33,    34,    35,    87,   106,    88,    89,    90,
462       36,    37,    91,    92,    93,    94,    95,    96,     0,     0,
463        0,    97,    98,    99,   100,    38,     0,   101,    39,    40,
464       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
465       49,    50,     0,     0,     0,     0,     0,     0,     0,     0,
466        0,    51,     0,     0,     0,     0,     0,     0,     0,     0,
467        0,     0,     0,     0,    85,     0,    52,    53,     0,    54,
468        0,    55,    56,    18,    83,     0,    19,     0,    57,    58,
469        0,    20,    21,    22,    86,     0,    23,    24,    25,    26,
470       27,    28,    29,     0,    30,    31,    32,    33,    34,    35,
471       87,   106,    88,    89,    90,    36,    37,    91,    92,    93,
472       94,    95,    96,     0,     0,     0,    97,    98,    99,   100,
473       38,     0,   101,    39,    40,    41,    42,    43,     0,     0,
474       44,    45,    46,    47,    48,    49,    50,     0,     0,   569,
475        0,     0,     0,     0,     0,     0,    51,     0,     0,     0,
476        0,     0,     0,     0,     0,     0,     0,     0,     0,    85,
477        0,    52,    53,     0,    54,     0,    55,    56,    18,    83,
478        0,    19,     0,    57,    58,     0,    20,    21,    22,    86,
479        0,    23,    24,    25,    26,    27,    28,    29,     0,    30,
480       31,    32,    33,    34,    35,    87,   106,    88,    89,    90,
481       36,    37,    91,    92,    93,    94,    95,    96,     0,     0,
482        0,    97,    98,    99,   100,    38,     0,   101,    39,    40,
483       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
484       49,    50,     0,     0,     0,     0,     0,     0,     0,     0,
485        0,    51,     0,     0,     0,     0,     0,     0,     0,     0,
486        0,     0,     0,     0,    85,     0,    52,    53,     0,    54,
487        0,    55,    56,    18,    83,     0,    19,     0,    57,    58,
488        0,    20,    21,    22,    86,     0,    23,    24,    25,    26,
489       27,    28,    29,     0,    30,    31,    32,    33,    34,    35,
490       87,     0,    88,    89,    90,    36,    37,    91,    92,    93,
491       94,    95,    96,     0,     0,     0,    97,    98,    99,   100,
492       38,     0,   101,    39,    40,    41,    42,    43,     0,     0,
493       44,    45,    46,    47,    48,    49,    50,     0,     0,     0,
494        0,     0,     0,     0,     0,     0,    51,     0,     0,     0,
495        0,     0,     0,     0,     0,     0,     0,     0,     0,    85,
496        0,    52,    53,     0,    54,     0,    55,    56,    18,     0,
497        0,    19,     0,    57,    58,     0,    20,    21,    22,   -78,
498        0,    23,    24,    25,    26,    27,    28,    29,     0,    30,
499       31,    32,    33,    34,    35,     0,     0,     0,     0,     0,
500       36,    37,   236,   237,   238,   239,     0,     0,     0,   240,
501        0,   241,     0,     0,     0,    38,     0,     0,    39,    40,
502       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
503       49,    50,     0,     0,     0,     0,   172,   173,   174,     0,
504        0,    51,     0,     0,     0,     0,     0,     0,     0,     0,
505        0,     0,     0,     0,    85,     0,    52,    53,     0,    54,
506        0,    55,    56,    18,     0,     0,    19,     0,    57,    58,
507        0,    20,    21,    22,     0,     0,    23,    24,    25,    26,
508       27,    28,    29,     0,    30,    31,    32,    33,    34,    35,
509        0,     0,     0,     0,     0,    36,    37,     0,     0,     0,
510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
511       38,     0,     0,    39,    40,    41,    42,    43,     0,  -215,
512       44,    45,    46,    47,    48,    49,    50,     0,     0,     0,
513      207,     0,   208,  -215,  -215,     0,    51,     0,     0,     0,
514     -215,  -215,     0,     0,     0,     0,     0,     0,     0,     0,
515        0,    52,    53,     0,    54,     0,    55,    56,     0,     0,
516        0,     0,   -78,    57,    58,  -215,  -215,  -215,  -215,     0,
517        0,     0,  -215,     0,  -215,     0,     0,  -215,     0,     0,
518        0,     0,     0,     0,  -215,  -215,     0,     0,     0,     0,
519        0,     0,     0,     0,     0,     0,     0,  -215,     0,  -215,
520     -215,  -215,     0,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
521     -215,  -215,  -215,  -215,  -215,  -215,  -215,  -254,     0,     0,
522        0,  -215,     0,     0,  -215,  -215,  -215,  -215,  -215,     0,
523        0,  -254,  -254,     0,     0,     0,     0,     0,  -254,  -254,
524        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
526        0,     0,     0,  -254,  -254,  -254,  -254,     0,     0,     0,
527     -254,     0,  -254,     0,     0,  -254,     0,     0,     0,     0,
528        0,     0,  -254,  -254,     0,     0,     0,     0,     0,     0,
529        0,     0,     0,     0,     0,  -254,     0,  -254,  -254,  -254,
530        0,  -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,
531     -254,  -254,  -254,  -254,  -254,     0,     0,     0,     0,  -254,
532        0,     0,  -254,  -254,  -254,  -254,  -254,    18,    83,     0,
533       19,     0,     0,     0,     0,    20,    21,    22,     0,     0,
534       23,    24,   142,    26,    27,    28,    29,   115,    30,    31,
535       32,    33,    34,    35,     0,     0,     0,     0,     0,    36,
536       37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
537        0,     0,     0,     0,    38,     0,     0,    39,    40,    41,
538       42,    43,     0,     0,    44,    45,    46,    47,    48,    49,
539       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
540       51,     0,     0,     0,     0,     0,     0,     0,     0,     0,
541        0,     0,     0,     0,     0,    52,    53,     0,    54,     0,
542       55,    56,    18,     0,     0,    19,   119,    57,    58,     0,
543       20,    21,    22,     0,     0,    23,    24,    25,    26,    27,
544       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
545        0,     0,     0,     0,    36,    37,     0,     0,     0,     0,
546        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
547        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
548       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
549        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
551       52,    53,     0,    54,     0,    55,    56,    18,    83,     0,
552       19,     0,    57,    58,     0,    20,    21,    22,     0,     0,
553       23,    24,    25,    26,    27,    28,    29,     0,    30,    31,
554       32,    33,    34,    35,     0,     0,     0,     0,     0,    36,
555       37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
556        0,     0,     0,     0,    38,     0,     0,    39,    40,    41,
557       42,    43,     0,     0,    44,    45,    46,    47,    48,    49,
558       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
559       51,     0,     0,     0,     0,     0,     0,     0,     0,     0,
560        0,     0,     0,     0,     0,    52,    53,     0,    54,     0,
561       55,    56,    18,     0,     0,    19,     0,    57,    58,     0,
562       20,    21,    22,   150,     0,    23,    24,    25,    26,    27,
563       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
564        0,     0,     0,     0,    36,    37,     0,     0,     0,     0,
565        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
566        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
567       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
568        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
570       52,    53,     0,    54,     0,    55,    56,    18,     0,     0,
571       19,     0,    57,    58,     0,    20,    21,    22,     0,     0,
572       23,    24,    25,    26,    27,    28,    29,     0,    30,    31,
573       32,    33,    34,    35,     0,     0,     0,     0,     0,    36,
574       37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
575        0,     0,     0,     0,    38,     0,     0,    39,    40,    41,
576       42,    43,     0,     0,    44,    45,    46,    47,    48,    49,
577       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
578       51,     0,     0,     0,     0,     0,     0,     0,     0,     0,
579        0,     0,     0,     0,     0,    52,    53,     0,    54,     0,
580       55,    56,    18,     0,     0,    19,   169,    57,    58,     0,
581       20,    21,    22,     0,     0,    23,    24,    25,    26,    27,
582       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
583        0,     0,     0,     0,    36,    37,     0,     0,     0,     0,
584        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
585        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
586       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
587        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
588        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
589       52,    53,     0,    54,     0,    55,    56,    18,     0,     0,
590       19,   266,    57,    58,     0,    20,    21,    22,     0,     0,
591       23,    24,    25,    26,    27,    28,    29,     0,    30,    31,
592       32,    33,    34,    35,     0,     0,     0,     0,     0,    36,
593       37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
594        0,     0,     0,     0,    38,     0,     0,    39,    40,    41,
595       42,    43,     0,     0,    44,    45,    46,    47,    48,    49,
596       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
597       51,     0,     0,     0,     0,     0,     0,     0,     0,     0,
598        0,     0,     0,     0,     0,    52,    53,     0,    54,     0,
599       55,    56,    18,     0,     0,    19,   281,    57,    58,     0,
600       20,    21,    22,     0,     0,    23,    24,    25,    26,    27,
601       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
602        0,     0,     0,     0,    36,    37,     0,     0,     0,     0,
603        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
604        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
605       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
606        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
608       52,    53,     0,    54,     0,    55,    56,    18,     0,     0,
609       19,   293,    57,    58,     0,    20,    21,    22,     0,     0,
610       23,    24,    25,    26,    27,    28,    29,     0,    30,    31,
611       32,    33,    34,    35,     0,     0,     0,     0,     0,    36,
612       37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
613        0,     0,     0,     0,    38,     0,     0,    39,    40,    41,
614       42,    43,     0,     0,    44,    45,    46,    47,    48,    49,
615       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
616       51,     0,     0,     0,     0,     0,     0,     0,     0,     0,
617        0,     0,     0,     0,     0,    52,    53,     0,    54,     0,
618       55,    56,    18,     0,     0,    19,   326,    57,    58,     0,
619       20,    21,    22,     0,     0,    23,    24,    25,    26,    27,
620       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
621        0,     0,     0,     0,    36,    37,     0,     0,     0,     0,
622        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
623        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
624       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
625        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
627       52,    53,     0,    54,     0,    55,    56,    18,     0,     0,
628       19,   386,    57,    58,     0,    20,    21,    22,     0,     0,
629       23,    24,    25,    26,    27,    28,    29,     0,    30,    31,
630       32,    33,    34,    35,     0,     0,     0,     0,     0,    36,
631       37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
632        0,     0,     0,     0,    38,     0,     0,    39,    40,    41,
633       42,    43,     0,     0,    44,    45,    46,    47,    48,    49,
634       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
635       51,     0,     0,     0,     0,     0,     0,     0,     0,     0,
636        0,     0,     0,     0,     0,    52,    53,     0,    54,     0,
637       55,    56,    18,     0,     0,    19,   404,    57,    58,     0,
638       20,    21,    22,     0,     0,    23,    24,    25,    26,    27,
639       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
640        0,     0,     0,     0,    36,    37,     0,     0,     0,     0,
641        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
642        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
643       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
644        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
646       52,    53,     0,    54,     0,    55,    56,    18,     0,     0,
647       19,     0,    57,    58,     0,    20,    21,    22,     0,     0,
648       23,    24,    25,    26,    27,    28,    29,     0,    30,    31,
649       32,    33,    34,    35,     0,     0,     0,     0,     0,    36,
650       37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
651        0,     0,     0,     0,    38,     0,     0,    39,    40,    41,
652       42,    43,     0,     0,    44,    45,    46,    47,    48,    49,
653       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
654       51,     0,     0,   185,     0,     0,     0,     0,     0,     0,
655      186,   187,     0,     0,     0,    52,    53,     0,    54,     0,
656       55,    56,     0,     0,     0,     0,     0,   275,    58,   188,
657      189,   396,   190,   191,   192,   193,   194,   195,   196,   197,
658      198,   199,   200,     0,     0,     0,     0,   201,   185,     0,
659      202,   203,   204,   205,     0,   186,   187,     0,     0,     0,
660        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
661        0,     0,     0,     0,   188,   189,     0,   190,   191,   192,
662      193,   194,   195,   196,   197,   198,   199,   200,     0,     0,
663        0,     0,   201,   185,     0,   202,   203,   204,   205,     0,
664      186,   187,     0,     0,     0,     0,     0,     0,     0,     0,
665        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
666      189,     0,   190,   191,   192,   193,   194,   195,   196,   197,
667      198,   199,   200,     0,     0,     0,     0,   201,  -291,     0,
668      202,   203,   204,   205,     0,   186,   187,     0,     0,     0,
669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
670        0,     0,     0,     0,     0,     0,     0,   190,   191,   192,
671      193,   194,   195,   196,   197,   198,   199,   200,     0,     0,
672        0,     0,   201,     0,     0,   202,   203,   204,   205
673 };
674
675 static const yytype_int16 yycheck[] =
676 {
677       17,   126,    10,    49,     9,   355,    43,   138,   139,    49,
678       10,    19,   475,    11,    51,    13,    13,     0,   262,    19,
679       12,   506,    18,    23,    13,    21,    11,    23,    24,   154,
680       26,    27,    77,    11,    14,    13,    18,    11,    46,    21,
681       11,    23,    24,    11,    26,    27,   110,    43,    44,    57,
682       24,    25,    13,    21,    25,    11,    30,    13,    25,    30,
683       14,    43,    44,    30,    15,   110,    19,    49,    14,    72,
684       23,    19,    72,   345,    15,    23,    58,    74,    83,   110,
685       19,    22,   567,   355,    23,    74,   358,   359,   110,   126,
686       10,    11,    11,    13,    13,   558,    74,    92,   101,    19,
687       80,    81,    82,    23,    24,    11,    26,   110,   111,   146,
688      156,   111,   110,    94,   106,    97,   156,   154,    74,   110,
689       20,   129,    22,    21,    11,   256,    80,    81,    82,   137,
690      138,   139,    21,    33,    80,    81,    82,   111,    38,    28,
691      111,    25,    42,   139,    14,    45,   110,    67,    48,   157,
692       50,   110,    52,    53,    54,    55,    56,   139,   111,    80,
693       81,    82,   101,   111,   172,   173,   174,   439,   176,   177,
694      178,   110,   111,    11,   156,    13,   420,   110,    14,   225,
695      110,    21,    80,    81,    82,   225,    14,    11,   109,    13,
696      110,   111,    14,   105,   106,   107,   108,   214,   206,   207,
697      208,   209,   210,   211,   212,   213,   478,   479,   110,    21,
698       80,    81,    82,   110,   564,   220,   221,   222,   223,   224,
699      257,   226,   227,   205,   229,   230,   470,    21,   236,   237,
700      238,   239,   240,   241,    52,    11,    14,    13,    21,   511,
701       80,    81,    82,   225,    80,    81,    82,    11,   256,    13,
702       74,   376,    80,    81,    82,    11,   156,    13,    80,    81,
703       82,   110,   270,    14,    80,    81,    82,   275,    80,    81,
704       82,    94,    95,   545,    77,   175,   407,   285,    92,    93,
705      109,   181,    50,    51,   184,   185,   186,   187,   188,   189,
706      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
707      200,   201,    80,    81,    82,   216,   217,   315,   316,    28,
708      356,    74,    11,   109,   322,    12,   356,    21,    13,    18,
709       21,    74,    21,    25,    23,    24,   101,    26,    27,    80,
710       81,    82,    25,    21,   342,   343,   344,   345,   110,   376,
711       30,   323,    15,    42,    43,    44,    45,   355,   473,    28,
712      358,   359,   357,    36,    37,    46,    47,    48,    49,    58,
713      477,    21,    53,   480,    55,   347,    78,   484,   485,    80,
714       81,    82,   377,   109,   356,    12,    80,    81,    82,    80,
715       81,    82,    89,    90,   392,   502,   503,    28,    13,    80,
716       81,    82,    80,    81,    82,   512,    82,    24,   109,   407,
717       24,   100,    24,    24,    24,    80,    81,    82,    17,    25,
718      527,   111,   417,    84,   531,   532,   421,   109,   109,    12,
719       80,    81,    82,   110,    12,    65,   509,   432,   110,   110,
720       12,   439,   549,   132,   109,    12,   473,    12,    25,   447,
721      139,   524,   525,   109,   109,   109,   563,   109,    80,    81,
722       82,   110,   109,   536,   571,   109,    21,    97,    65,    66,
723      109,    78,   102,   546,   547,   105,   106,   107,   108,    11,
724      478,   479,   489,    11,   491,    12,   559,   109,    80,    81,
725       82,    65,    66,   500,    91,    92,    93,    94,    95,    96,
726       97,   496,    21,    21,   109,   102,   396,    11,   105,   106,
727      107,   108,   510,   511,    80,    81,    82,   109,   109,   526,
728       94,    95,    96,    97,    80,    81,    82,   109,   102,    76,
729      110,   105,   106,   107,   108,    21,    21,   110,     0,     1,
730      109,   109,    21,   109,   233,   109,    16,   545,    10,    11,
731       75,    13,   442,   109,   561,   109,    18,    19,    20,    21,
732      109,    23,    24,    25,    26,    27,    28,    29,    13,    31,
733       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
734       42,    43,    44,    45,    46,    47,    48,    49,    65,    66,
735      106,    53,    54,    55,    56,    57,   510,    59,    60,    61,
736       62,    63,    64,   343,   564,    67,    68,    69,    70,    71,
737       72,    73,    89,    90,    91,    92,    93,    94,    95,    96,
738       97,    83,    80,    81,    82,   102,   277,   419,   105,   106,
739      107,   108,   248,   371,   323,   372,    98,    99,   496,   101,
740      471,   103,   104,     0,     1,   452,   156,    -1,   110,   111,
741      356,   109,    -1,    10,    11,   225,    13,   238,   239,   240,
742      241,    18,    19,    20,    21,    -1,    23,    24,    25,    26,
743       27,    28,    29,    -1,    31,    32,    33,    34,    35,    36,
744       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
745       47,    48,    49,    65,    66,    -1,    53,    54,    55,    56,
746       57,    -1,    59,    60,    61,    62,    63,    64,    -1,    -1,
747       67,    68,    69,    70,    71,    72,    73,    -1,    90,    91,
748       92,    93,    94,    95,    96,    97,    83,    -1,    -1,    -1,
749      102,    -1,    -1,   105,   106,   107,   108,    -1,    -1,     1,
750       -1,    98,    99,    -1,   101,    -1,   103,   104,    10,    11,
751       12,    13,    -1,   110,   111,    -1,    18,    19,    20,    21,
752       -1,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
753       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
754       42,    43,    44,    45,    46,    47,    48,    49,    65,    66,
755       -1,    53,    54,    55,    56,    57,    -1,    59,    60,    61,
756       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
757       72,    73,    -1,    -1,    -1,    92,    93,    94,    95,    96,
758       97,    83,    -1,    -1,    -1,   102,    -1,    -1,   105,   106,
759      107,   108,    -1,    -1,     1,    -1,    98,    99,    -1,   101,
760       -1,   103,   104,    10,    11,    12,    13,    -1,   110,   111,
761       -1,    18,    19,    20,    21,    -1,    23,    24,    25,    26,
762       27,    28,    29,    -1,    31,    32,    33,    34,    35,    36,
763       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
764       47,    48,    49,    65,    66,    -1,    53,    54,    55,    56,
765       57,    -1,    59,    60,    61,    62,    63,    64,    -1,    -1,
766       67,    68,    69,    70,    71,    72,    73,     3,     4,     5,
767        6,     7,     8,     9,    96,    97,    83,    -1,    -1,    -1,
768      102,    -1,    -1,   105,   106,   107,   108,    -1,    -1,     1,
769       -1,    98,    99,    -1,   101,    -1,   103,   104,    10,    11,
770       12,    13,    -1,   110,   111,    -1,    18,    19,    20,    21,
771       -1,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
772       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
773       42,    43,    44,    45,    46,    47,    48,    49,    65,    66,
774       -1,    53,    54,    55,    56,    57,    -1,    59,    60,    61,
775       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
776       72,    73,   102,    -1,    -1,   105,   106,   107,   108,    -1,
777       97,    83,    -1,    -1,    -1,   102,    -1,    -1,   105,   106,
778      107,   108,    -1,    -1,     1,    -1,    98,    99,    -1,   101,
779       -1,   103,   104,    10,    11,    12,    13,    -1,   110,   111,
780       -1,    18,    19,    20,    21,    -1,    23,    24,    25,    26,
781       27,    28,    29,    -1,    31,    32,    33,    34,    35,    36,
782       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
783       47,    48,    49,    -1,    -1,    -1,    53,    54,    55,    56,
784       57,    -1,    59,    60,    61,    62,    63,    64,    -1,    -1,
785       67,    68,    69,    70,    71,    72,    73,    -1,    -1,    97,
786       -1,    -1,    -1,    -1,   102,    -1,    83,   105,   106,   107,
787      108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
788       -1,    98,    99,    -1,   101,    -1,   103,   104,    10,    11,
789       12,    13,    -1,   110,   111,    -1,    18,    19,    20,    21,
790       -1,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
791       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
792       42,    43,    44,    45,    46,    47,    48,    49,    -1,    -1,
793       -1,    53,    54,    55,    56,    57,    -1,    59,    60,    61,
794       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
795       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
796       -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
797       -1,    -1,    -1,    -1,     1,    -1,    98,    99,    -1,   101,
798       -1,   103,   104,    10,    11,    -1,    13,    -1,   110,   111,
799       -1,    18,    19,    20,    21,    -1,    23,    24,    25,    26,
800       27,    28,    29,    -1,    31,    32,    33,    34,    35,    36,
801       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
802       47,    48,    49,    -1,    -1,    -1,    53,    54,    55,    56,
803       57,    -1,    59,    60,    61,    62,    63,    64,    -1,    -1,
804       67,    68,    69,    70,    71,    72,    73,    -1,    -1,    76,
805       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
807       -1,    98,    99,    -1,   101,    -1,   103,   104,    10,    11,
808       -1,    13,    -1,   110,   111,    -1,    18,    19,    20,    21,
809       -1,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
810       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
811       42,    43,    44,    45,    46,    47,    48,    49,    -1,    -1,
812       -1,    53,    54,    55,    56,    57,    -1,    59,    60,    61,
813       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
814       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
815       -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
816       -1,    -1,    -1,    -1,     1,    -1,    98,    99,    -1,   101,
817       -1,   103,   104,    10,    11,    -1,    13,    -1,   110,   111,
818       -1,    18,    19,    20,    21,    -1,    23,    24,    25,    26,
819       27,    28,    29,    -1,    31,    32,    33,    34,    35,    36,
820       37,    -1,    39,    40,    41,    42,    43,    44,    45,    46,
821       47,    48,    49,    -1,    -1,    -1,    53,    54,    55,    56,
822       57,    -1,    59,    60,    61,    62,    63,    64,    -1,    -1,
823       67,    68,    69,    70,    71,    72,    73,    -1,    -1,    -1,
824       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
826       -1,    98,    99,    -1,   101,    -1,   103,   104,    10,    -1,
827       -1,    13,    -1,   110,   111,    -1,    18,    19,    20,    21,
828       -1,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
829       32,    33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,
830       42,    43,    46,    47,    48,    49,    -1,    -1,    -1,    53,
831       -1,    55,    -1,    -1,    -1,    57,    -1,    -1,    60,    61,
832       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
833       72,    73,    -1,    -1,    -1,    -1,    80,    81,    82,    -1,
834       -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
835       -1,    -1,    -1,    -1,     1,    -1,    98,    99,    -1,   101,
836       -1,   103,   104,    10,    -1,    -1,    13,    -1,   110,   111,
837       -1,    18,    19,    20,    -1,    -1,    23,    24,    25,    26,
838       27,    28,    29,    -1,    31,    32,    33,    34,    35,    36,
839       -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,
840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
841       57,    -1,    -1,    60,    61,    62,    63,    64,    -1,     0,
842       67,    68,    69,    70,    71,    72,    73,    -1,    -1,    -1,
843       11,    -1,    13,    14,    15,    -1,    83,    -1,    -1,    -1,
844       21,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
845       -1,    98,    99,    -1,   101,    -1,   103,   104,    -1,    -1,
846       -1,    -1,   109,   110,   111,    46,    47,    48,    49,    -1,
847       -1,    -1,    53,    -1,    55,    -1,    -1,    58,    -1,    -1,
848       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
849       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    80,
850       81,    82,    -1,    84,    85,    86,    87,    88,    89,    90,
851       91,    92,    93,    94,    95,    96,    97,     0,    -1,    -1,
852       -1,   102,    -1,    -1,   105,   106,   107,   108,   109,    -1,
853       -1,    14,    15,    -1,    -1,    -1,    -1,    -1,    21,    22,
854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
855       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
856       -1,    -1,    -1,    46,    47,    48,    49,    -1,    -1,    -1,
857       53,    -1,    55,    -1,    -1,    58,    -1,    -1,    -1,    -1,
858       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
859       -1,    -1,    -1,    -1,    -1,    78,    -1,    80,    81,    82,
860       -1,    84,    85,    86,    87,    88,    89,    90,    91,    92,
861       93,    94,    95,    96,    97,    -1,    -1,    -1,    -1,   102,
862       -1,    -1,   105,   106,   107,   108,   109,    10,    11,    -1,
863       13,    -1,    -1,    -1,    -1,    18,    19,    20,    -1,    -1,
864       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
865       33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,    42,
866       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
867       -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    61,    62,
868       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    72,
869       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
870       83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
871       -1,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,    -1,
872      103,   104,    10,    -1,    -1,    13,    14,   110,   111,    -1,
873       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
874       28,    29,    -1,    31,    32,    33,    34,    35,    36,    -1,
875       -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
877       -1,    -1,    60,    61,    62,    63,    64,    -1,    -1,    67,
878       68,    69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,
879       -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,
880       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
881       98,    99,    -1,   101,    -1,   103,   104,    10,    11,    -1,
882       13,    -1,   110,   111,    -1,    18,    19,    20,    -1,    -1,
883       23,    24,    25,    26,    27,    28,    29,    -1,    31,    32,
884       33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,    42,
885       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
886       -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    61,    62,
887       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    72,
888       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
889       83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
890       -1,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,    -1,
891      103,   104,    10,    -1,    -1,    13,    -1,   110,   111,    -1,
892       18,    19,    20,    21,    -1,    23,    24,    25,    26,    27,
893       28,    29,    -1,    31,    32,    33,    34,    35,    36,    -1,
894       -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
896       -1,    -1,    60,    61,    62,    63,    64,    -1,    -1,    67,
897       68,    69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,
898       -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,
899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
900       98,    99,    -1,   101,    -1,   103,   104,    10,    -1,    -1,
901       13,    -1,   110,   111,    -1,    18,    19,    20,    -1,    -1,
902       23,    24,    25,    26,    27,    28,    29,    -1,    31,    32,
903       33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,    42,
904       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
905       -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    61,    62,
906       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    72,
907       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
908       83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
909       -1,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,    -1,
910      103,   104,    10,    -1,    -1,    13,   109,   110,   111,    -1,
911       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
912       28,    29,    -1,    31,    32,    33,    34,    35,    36,    -1,
913       -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
915       -1,    -1,    60,    61,    62,    63,    64,    -1,    -1,    67,
916       68,    69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,
917       -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,
918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
919       98,    99,    -1,   101,    -1,   103,   104,    10,    -1,    -1,
920       13,   109,   110,   111,    -1,    18,    19,    20,    -1,    -1,
921       23,    24,    25,    26,    27,    28,    29,    -1,    31,    32,
922       33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,    42,
923       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
924       -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    61,    62,
925       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    72,
926       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
927       83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
928       -1,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,    -1,
929      103,   104,    10,    -1,    -1,    13,   109,   110,   111,    -1,
930       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
931       28,    29,    -1,    31,    32,    33,    34,    35,    36,    -1,
932       -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
934       -1,    -1,    60,    61,    62,    63,    64,    -1,    -1,    67,
935       68,    69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,
936       -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,
937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
938       98,    99,    -1,   101,    -1,   103,   104,    10,    -1,    -1,
939       13,   109,   110,   111,    -1,    18,    19,    20,    -1,    -1,
940       23,    24,    25,    26,    27,    28,    29,    -1,    31,    32,
941       33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,    42,
942       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
943       -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    61,    62,
944       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    72,
945       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
946       83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
947       -1,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,    -1,
948      103,   104,    10,    -1,    -1,    13,   109,   110,   111,    -1,
949       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
950       28,    29,    -1,    31,    32,    33,    34,    35,    36,    -1,
951       -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
953       -1,    -1,    60,    61,    62,    63,    64,    -1,    -1,    67,
954       68,    69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,
955       -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,
956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
957       98,    99,    -1,   101,    -1,   103,   104,    10,    -1,    -1,
958       13,   109,   110,   111,    -1,    18,    19,    20,    -1,    -1,
959       23,    24,    25,    26,    27,    28,    29,    -1,    31,    32,
960       33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,    42,
961       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
962       -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    61,    62,
963       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    72,
964       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
965       83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
966       -1,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,    -1,
967      103,   104,    10,    -1,    -1,    13,   109,   110,   111,    -1,
968       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
969       28,    29,    -1,    31,    32,    33,    34,    35,    36,    -1,
970       -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
972       -1,    -1,    60,    61,    62,    63,    64,    -1,    -1,    67,
973       68,    69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,
974       -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,
975       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
976       98,    99,    -1,   101,    -1,   103,   104,    10,    -1,    -1,
977       13,    -1,   110,   111,    -1,    18,    19,    20,    -1,    -1,
978       23,    24,    25,    26,    27,    28,    29,    -1,    31,    32,
979       33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,    42,
980       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
981       -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    61,    62,
982       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    72,
983       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
984       83,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
985       65,    66,    -1,    -1,    -1,    98,    99,    -1,   101,    -1,
986      103,   104,    -1,    -1,    -1,    -1,    -1,   110,   111,    84,
987       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
988       95,    96,    97,    -1,    -1,    -1,    -1,   102,    58,    -1,
989      105,   106,   107,   108,    -1,    65,    66,    -1,    -1,    -1,
990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
991       -1,    -1,    -1,    -1,    84,    85,    -1,    87,    88,    89,
992       90,    91,    92,    93,    94,    95,    96,    97,    -1,    -1,
993       -1,    -1,   102,    58,    -1,   105,   106,   107,   108,    -1,
994       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
996       85,    -1,    87,    88,    89,    90,    91,    92,    93,    94,
997       95,    96,    97,    -1,    -1,    -1,    -1,   102,    58,    -1,
998      105,   106,   107,   108,    -1,    65,    66,    -1,    -1,    -1,
999       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    89,
1001       90,    91,    92,    93,    94,    95,    96,    97,    -1,    -1,
1002       -1,    -1,   102,    -1,    -1,   105,   106,   107,   108
1003 };
1004
1005   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1006      symbol of state STATE-NUM.  */
1007 static const yytype_uint8 yystos[] =
1008 {
1009        0,     3,     4,     5,     6,     7,     8,     9,   113,   114,
1010      115,   116,   117,   118,   119,   120,     0,   123,    10,    13,
1011       18,    19,    20,    23,    24,    25,    26,    27,    28,    29,
1012       31,    32,    33,    34,    35,    36,    42,    43,    57,    60,
1013       61,    62,    63,    64,    67,    68,    69,    70,    71,    72,
1014       73,    83,    98,    99,   101,   103,   104,   110,   111,   174,
1015      175,   176,   179,   180,   181,   182,   183,   184,   185,   186,
1016      187,   188,   190,   193,   199,   200,   201,   202,   203,   204,
1017      205,   206,   207,    11,   121,     1,    21,    37,    39,    40,
1018       41,    44,    45,    46,    47,    48,    49,    53,    54,    55,
1019       56,    59,   121,   130,   141,   174,    38,   128,   129,   130,
1020      126,   168,   169,   126,    25,    30,   121,   200,   208,    14,
1021      174,   188,   208,   188,   208,   208,   208,   208,   189,    13,
1022      110,   188,   152,   152,   152,   188,   110,   110,    77,   110,
1023      121,   188,    25,   175,   192,   200,   208,   208,   121,   188,
1024       21,   174,    25,    30,   154,   188,   101,   110,   191,   200,
1025      201,   202,   188,   175,   188,   188,   188,   188,   188,   109,
1026      174,   208,    80,    81,    82,    15,    11,    13,   110,    94,
1027       95,    94,    92,    93,    92,    58,    65,    66,    84,    85,
1028       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1029       97,   102,   105,   106,   107,   108,   110,    11,    13,    11,
1030       13,    11,    13,    11,   123,   153,   154,   154,    25,   151,
1031      110,   110,   110,   110,    72,   101,   110,   198,   200,   110,
1032      110,   121,    21,    52,   143,    21,    46,    47,    48,    49,
1033       53,    55,   129,   130,   128,    19,    23,   111,   159,   160,
1034      162,   163,   164,   165,    14,   192,   110,    77,   174,   109,
1035      121,    28,   155,    74,   156,   109,   109,   174,   193,   193,
1036      208,   175,    12,    21,   192,   110,   188,   191,   200,   201,
1037      202,   109,   174,    74,   157,    13,   109,   174,   174,   174,
1038      188,   174,   174,   109,   174,   188,   188,   188,   188,   188,
1039      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1040      188,   188,   188,   188,    10,    11,    13,    19,    23,    24,
1041       26,    67,   110,   111,   178,   200,   109,   174,   174,   174,
1042      174,   174,   174,   174,   174,   126,    25,   150,   151,   151,
1043       25,   133,   123,   123,   123,   123,   101,   123,    72,   196,
1044      197,   199,   200,   201,   202,   123,   123,   110,   123,   123,
1045      121,   140,   174,   147,   174,   140,   140,   140,   140,    30,
1046      158,   158,    15,   193,   175,    14,   177,   156,    28,   123,
1047      173,   109,    78,   109,   174,    12,   109,   174,   157,   109,
1048       28,   174,    13,    21,    14,   109,    86,    24,   174,   174,
1049       24,    24,    24,    24,   109,   174,    24,   110,   109,    21,
1050       14,    21,    14,    21,    14,    21,    12,    17,   122,   131,
1051      132,    11,    21,    25,   146,   174,   147,   148,   174,   148,
1052      195,   200,   110,   141,   145,   148,   149,   174,   196,   123,
1053      148,   148,    84,   161,   161,   163,   109,    22,   194,   192,
1054      123,   171,   110,   166,   167,   109,   109,    14,   174,    12,
1055      188,    21,    14,   109,   193,    12,    12,    12,    12,   123,
1056      155,   156,   123,    25,   109,   109,   109,   109,   110,   123,
1057      109,    21,   136,   148,   109,   109,   188,   174,    78,    11,
1058      168,    11,    14,    12,   109,    21,   156,    21,   172,   173,
1059      137,   192,   144,   144,    11,   124,   124,   148,   148,   124,
1060      134,   110,   109,   124,   124,   126,   109,   126,    76,    21,
1061      170,   171,   126,    21,   124,   124,   125,    50,    51,   142,
1062      142,   109,   109,   143,   146,   148,   124,    12,    12,   127,
1063       12,   143,   143,   126,   124,   110,   124,   124,    21,   109,
1064      143,    21,    28,   138,    12,   148,   143,   143,   135,   124,
1065       16,    75,   139,   109,   144,   143,   126,   124,   149,    76,
1066      142,   109,   124
1067 };
1068
1069   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1070 static const yytype_uint8 yyr1[] =
1071 {
1072        0,   112,   114,   113,   115,   113,   116,   113,   117,   113,
1073      118,   113,   119,   113,   120,   113,   121,   122,   123,   124,
1074      125,   126,   126,   127,   127,   128,   128,   129,   129,   130,
1075      130,   131,   130,   132,   130,   130,   133,   130,   130,   130,
1076      130,   130,   130,   130,   130,   134,   135,   130,   130,   130,
1077      136,   130,   130,   130,   130,   137,   130,   130,   130,   130,
1078      138,   139,   139,   140,   141,   141,   141,   141,   141,   141,
1079      141,   141,   142,   142,   142,   143,   143,   144,   145,   145,
1080      146,   146,   147,   148,   149,   150,   150,   151,   152,   153,
1081      154,   154,   155,   155,   156,   156,   156,   157,   157,   158,
1082      158,   159,   159,   160,   161,   161,   161,   162,   163,   163,
1083      164,   164,   164,   165,   165,   166,   166,   167,   169,   168,
1084      170,   170,   171,   172,   172,   173,   174,   174,   174,   174,
1085      175,   175,   175,   176,   176,   176,   176,   176,   176,   176,
1086      176,   176,   177,   176,   178,   178,   179,   179,   179,   179,
1087      179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
1088      180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
1089      180,   180,   180,   180,   181,   181,   181,   181,   182,   182,
1090      183,   183,   183,   183,   184,   184,   185,   185,   185,   185,
1091      185,   185,   185,   185,   185,   186,   186,   186,   186,   186,
1092      186,   187,   187,   188,   188,   188,   188,   188,   188,   188,
1093      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1094      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1095      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1096      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1097      188,   188,   189,   188,   188,   188,   188,   190,   190,   190,
1098      191,   191,   191,   191,   191,   192,   192,   193,   193,   194,
1099      194,   195,   196,   196,   196,   197,   197,   198,   198,   199,
1100      200,   201,   202,   203,   203,   204,   205,   205,   206,   206,
1101      207,   207,   208,   208,   208,   208
1102 };
1103
1104   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1105 static const yytype_int8 yyr2[] =
1106 {
1107        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
1108        0,     3,     0,     3,     0,     3,     4,     7,     0,     4,
1109        0,     0,     2,     0,     2,     1,     1,     2,     2,     1,
1110        4,     0,     7,     0,     6,     4,     0,     7,     7,     7,
1111        6,     6,     2,     8,     8,     0,     0,    13,     9,     8,
1112        0,    10,     9,     7,     2,     0,     8,     2,     2,     1,
1113        2,     0,     3,     1,     1,     1,     3,     3,     3,     3,
1114        3,     3,     0,     2,     6,     0,     2,     0,     0,     1,
1115        0,     1,     1,     1,     1,     1,     0,     0,     0,     0,
1116        1,     1,     0,     1,     0,     2,     1,     2,     1,     0,
1117        1,     1,     1,     3,     0,     1,     2,     3,     1,     1,
1118        2,     3,     1,     0,     1,     0,     1,     3,     0,     2,
1119        1,     1,     4,     1,     1,     5,     3,     3,     3,     1,
1120        2,     3,     1,     3,     5,     6,     3,     3,     5,     2,
1121        4,     4,     0,     5,     1,     1,     5,     4,     5,     4,
1122        5,     6,     5,     4,     5,     4,     3,     6,     4,     5,
1123        3,     3,     3,     3,     3,     1,     1,     3,     3,     3,
1124        3,     3,     3,     3,     1,     3,     2,     2,     3,     3,
1125        1,     3,     2,     2,     3,     3,     2,     2,     2,     2,
1126        2,     2,     2,     2,     2,     3,     2,     4,     3,     5,
1127        4,     2,     2,     1,     1,     1,     1,     5,     2,     3,
1128        1,     2,     3,     1,     2,     1,     1,     1,     1,     1,
1129        1,     4,     4,     5,     5,     1,     1,     3,     4,     3,
1130        4,     4,     4,     4,     4,     1,     2,     2,     1,     2,
1131        2,     1,     2,     1,     2,     1,     3,     1,     3,     1,
1132        3,     4,     0,     6,     1,     1,     1,     3,     2,     4,
1133        3,     2,     1,     1,     1,     0,     1,     0,     1,     0,
1134        2,     1,     1,     1,     1,     1,     1,     2,     2,     2,
1135        2,     2,     2,     2,     4,     2,     1,     3,     1,     3,
1136        1,     3,     1,     1,     1,     1
1137 };
1138
1139 typedef enum {
1140         toketype_ival, toketype_opval
1141 } toketypes;
1142
1143 /* type of each token/terminal */
1144 static const toketypes yy_type_tab[] =
1145 {
1146   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1147   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1148   toketype_ival, toketype_ival, toketype_ival,
1149   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1150   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1151   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1152   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1153   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1154   toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1155   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1156   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1157   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1158   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1159   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1160   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1161   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1162   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1163   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1164   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1165   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1166   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1167   toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1168   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1169   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1170   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1171   toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1172   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1173   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1174   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1175   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1176   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1177   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1178   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1179   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1180   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1181   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
1182 };
1183
1184 /* Generated from:
1185  * 7422f72c5dfff4e2c8cd87e56299968b4a39681f2cc3b81767c0ccd50b4e2054 perly.y
1186  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
1187  * ex: set ro: */