This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pp_ctl.c:pp_require: Remove redundant VMS null checks
[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  14
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   2627
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  105
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  69
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  237
17 /* YYNRULES -- Number of states.  */
18 #define YYNSTATES  467
19
20 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
21 #define YYUNDEFTOK  2
22 #define YYMAXUTOK   338
23
24 #define YYTRANSLATE(YYX)                                                \
25   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
26
27 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
28 static const yytype_uint8 yytranslate[] =
29 {
30        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
31        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
32        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
33        2,     2,     2,    91,     2,     2,    15,    17,    19,     2,
34      103,   102,    18,    14,    80,    13,    22,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,    83,    20,
36        2,    21,     2,    82,    16,     2,     2,     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,    11,     2,    12,     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,     9,     2,    10,    92,     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,     1,     2,     3,     4,
56        5,     6,     7,     8,    23,    24,    25,    26,    27,    28,
57       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
58       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
59       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
60       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
61       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
62       79,    81,    84,    85,    86,    87,    88,    89,    90,    93,
63       94,    95,    96,    97,    98,    99,   100,   101,   104
64 };
65
66 #if YYDEBUG
67 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
68    YYRHS.  */
69 static const yytype_uint16 yyprhs[] =
70 {
71        0,     0,     3,     4,     9,    10,    14,    15,    19,    20,
72       24,    25,    29,    30,    34,    39,    47,    48,    53,    54,
73       55,    58,    59,    62,    64,    66,    69,    72,    74,    76,
74       81,    82,    90,    95,    96,   104,   112,   120,   127,   134,
75      137,   146,   155,   167,   177,   186,   194,   197,   198,   207,
76      210,   212,   215,   216,   220,   222,   224,   228,   232,   236,
77      240,   244,   248,   249,   252,   259,   260,   263,   264,   265,
78      267,   268,   270,   272,   274,   276,   278,   280,   281,   282,
79      283,   284,   286,   288,   289,   291,   292,   295,   297,   300,
80      302,   304,   306,   310,   314,   318,   320,   323,   327,   329,
81      333,   339,   346,   350,   354,   360,   363,   368,   369,   375,
82      377,   379,   385,   390,   396,   401,   407,   414,   420,   425,
83      431,   436,   440,   447,   452,   458,   462,   466,   470,   474,
84      478,   482,   486,   490,   494,   498,   502,   506,   510,   514,
85      517,   520,   523,   526,   529,   532,   535,   538,   541,   545,
86      548,   553,   557,   563,   566,   569,   571,   573,   575,   577,
87      583,   586,   588,   591,   595,   597,   600,   602,   604,   606,
88      608,   610,   612,   617,   622,   628,   634,   636,   638,   642,
89      647,   651,   656,   661,   666,   671,   676,   678,   681,   684,
90      686,   689,   692,   694,   697,   699,   702,   704,   708,   710,
91      714,   716,   720,   725,   726,   732,   734,   736,   738,   740,
92      744,   747,   751,   754,   756,   758,   760,   761,   763,   764,
93      766,   768,   771,   774,   777,   780,   783,   788,   791,   793,
94      797,   799,   803,   805,   809,   811,   813,   815
95 };
96
97 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
98 static const yytype_int16 yyrhs[] =
99 {
100      106,     0,    -1,    -1,     3,   107,   115,   118,    -1,    -1,
101        4,   108,   162,    -1,    -1,     5,   109,   113,    -1,    -1,
102        6,   110,   122,    -1,    -1,     7,   111,   120,    -1,    -1,
103        8,   112,   118,    -1,     9,   115,   118,    10,    -1,    21,
104      115,    20,    74,   119,    20,    22,    -1,    -1,     9,   117,
105      118,    10,    -1,    -1,    -1,   118,   120,    -1,    -1,   119,
106      126,    -1,   122,    -1,   121,    -1,    36,   122,    -1,    36,
107      121,    -1,    35,    -1,   104,    -1,    37,   141,   138,   114,
108       -1,    -1,    38,   142,   139,   123,   143,   144,   146,    -1,
109       40,    23,    23,    20,    -1,    -1,    41,   139,   124,    23,
110       23,   161,    20,    -1,    44,   103,   115,   135,   102,   116,
111      129,    -1,    45,   103,   115,   137,   102,   116,   129,    -1,
112       50,   103,   115,   135,   102,   116,    -1,    51,   103,   115,
113      135,   102,   116,    -1,    52,   113,    -1,    42,   103,   115,
114      133,   102,   131,   116,   130,    -1,    43,   103,   115,   134,
115      102,   131,   116,   130,    -1,    49,   103,   115,   136,    20,
116      133,    20,   131,   136,   102,   116,    -1,    49,    70,   115,
117      163,   103,   135,   102,   116,   130,    -1,    49,   165,   103,
118      115,   135,   102,   116,   130,    -1,    49,   103,   115,   135,
119      102,   116,   130,    -1,   113,   130,    -1,    -1,    40,    23,
120       23,     9,   115,   125,   118,    10,    -1,   128,    20,    -1,
121       20,    -1,    26,   127,    -1,    -1,    73,   118,    74,    -1,
122        1,    -1,   147,    -1,   147,    44,   147,    -1,   147,    45,
123      147,    -1,   147,    42,   147,    -1,   147,    43,   134,    -1,
124      147,    49,   147,    -1,   147,    51,   147,    -1,    -1,    46,
125      116,    -1,    47,   103,   135,   102,   116,   129,    -1,    -1,
126       48,   113,    -1,    -1,    -1,   128,    -1,    -1,   147,    -1,
127      147,    -1,   147,    -1,   132,    -1,   134,    -1,    23,    -1,
128       -1,    -1,    -1,    -1,    23,    -1,    28,    -1,    -1,    26,
129       -1,    -1,    72,    26,    -1,    72,    -1,    72,    26,    -1,
130       72,    -1,   113,    -1,    20,    -1,   147,    78,   147,    -1,
131      147,    77,   147,    -1,   147,    76,   147,    -1,   148,    -1,
132      148,    80,    -1,   148,    80,   157,    -1,   157,    -1,    60,
133      173,   148,    -1,    58,   103,   173,   147,   102,    -1,   157,
134      101,   151,   103,   162,   102,    -1,   157,   101,   151,    -1,
135       24,   173,   161,    -1,    25,   173,   103,   162,   102,    -1,
136       60,   161,    -1,    58,   103,   162,   102,    -1,    -1,    33,
137      140,   113,   150,   161,    -1,    24,    -1,   165,    -1,   172,
138        9,   147,    20,    10,    -1,   165,    11,   147,    12,    -1,
139      157,   101,    11,   147,    12,    -1,   152,    11,   147,    12,
140       -1,   165,     9,   147,    20,    10,    -1,   157,   101,     9,
141      147,    20,    10,    -1,   152,     9,   147,    20,    10,    -1,
142      157,   101,   103,   102,    -1,   157,   101,   103,   147,   102,
143       -1,   152,   103,   147,   102,    -1,   152,   103,   102,    -1,
144      103,   147,   102,    11,   147,    12,    -1,    29,    11,   147,
145       12,    -1,   103,   102,    11,   147,    12,    -1,   157,    81,
146      157,    -1,   157,    95,   157,    -1,   157,    63,   157,    -1,
147      157,    64,   157,    -1,   157,    89,   157,    -1,   157,    61,
148      157,    -1,   157,    62,   157,    -1,   157,    88,   157,    -1,
149      157,    87,   157,    -1,   157,    54,   157,    -1,   157,    86,
150      157,    -1,   157,    85,   157,    -1,   157,    84,   157,    -1,
151      157,    90,   157,    -1,    13,   157,    -1,    14,   157,    -1,
152       91,   157,    -1,    92,   157,    -1,   157,    98,    -1,   157,
153       97,    -1,   157,    96,    -1,   100,   157,    -1,    99,   157,
154       -1,    11,   147,    12,    -1,    11,    12,    -1,    67,   147,
155       20,    10,    -1,    67,    20,    10,    -1,    39,   140,   143,
156      144,   113,    -1,    66,   157,    -1,    66,   113,    -1,   153,
157       -1,   154,    -1,   155,    -1,   156,    -1,   157,    82,   157,
158       83,   157,    -1,    93,   157,    -1,   159,    -1,    69,   157,
159       -1,   103,   147,   102,    -1,    29,    -1,   103,   102,    -1,
160      165,    -1,   169,    -1,   167,    -1,   166,    -1,   168,    -1,
161      152,    -1,   170,    11,   147,    12,    -1,   171,    11,   147,
162       12,    -1,   170,     9,   147,    20,    10,    -1,   171,     9,
163      147,    20,    10,    -1,    26,    -1,   164,    -1,   164,   103,
164      102,    -1,   164,   103,   147,   102,    -1,    68,   142,   161,
165       -1,   157,   101,    15,    18,    -1,   157,   101,    16,    18,
166       -1,   157,   101,    17,    18,    -1,   157,   101,    19,    18,
167       -1,   157,   101,    18,    18,    -1,    53,    -1,    53,   157,
168       -1,    79,   148,    -1,    59,    -1,    59,   113,    -1,    59,
169      157,    -1,    71,    -1,    71,   157,    -1,    32,    -1,    32,
170      157,    -1,    56,    -1,    56,   103,   102,    -1,    30,    -1,
171       30,   103,   102,    -1,    31,    -1,    57,   103,   102,    -1,
172       57,   103,   147,   102,    -1,    -1,    27,   158,   103,   148,
173      102,    -1,    23,    -1,   149,    -1,    55,    -1,    34,    -1,
174       70,   160,   145,    -1,    70,   160,    -1,   103,   147,   102,
175       -1,   103,   102,    -1,   165,    -1,   167,    -1,   166,    -1,
176       -1,   148,    -1,    -1,   147,    -1,   165,    -1,    19,   173,
177       -1,    15,   173,    -1,    16,   173,    -1,    17,   173,    -1,
178       65,   173,    -1,   157,   101,    65,    18,    -1,    18,   173,
179       -1,   166,    -1,   157,   101,    16,    -1,   167,    -1,   157,
180      101,    17,    -1,   169,    -1,   157,   101,    18,    -1,    23,
181       -1,   165,    -1,   113,    -1,    28,    -1
182 };
183
184 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
185 static const yytype_uint16 yyrline[] =
186 {
187        0,   142,   142,   141,   151,   150,   160,   159,   172,   171,
188      184,   183,   196,   195,   207,   217,   227,   230,   240,   245,
189      246,   256,   257,   266,   274,   278,   286,   296,   298,   303,
190      321,   320,   370,   386,   385,   402,   411,   420,   431,   433,
191      435,   445,   455,   476,   485,   494,   503,   510,   509,   526,
192      532,   542,   566,   567,   572,   574,   576,   580,   584,   588,
193      592,   597,   603,   604,   610,   624,   625,   634,   640,   641,
194      646,   649,   653,   658,   662,   666,   670,   671,   675,   681,
195      686,   691,   692,   697,   698,   703,   704,   708,   718,   722,
196      732,   733,   743,   747,   751,   755,   759,   769,   778,   782,
197      787,   794,   803,   809,   815,   823,   827,   834,   833,   844,
198      845,   849,   858,   863,   871,   878,   885,   895,   904,   911,
199      920,   927,   933,   940,   945,   955,   959,   963,   969,   973,
200      977,   981,   985,   989,   993,  1005,  1009,  1013,  1017,  1027,
201     1031,  1038,  1042,  1046,  1051,  1056,  1068,  1073,  1082,  1087,
202     1092,  1098,  1104,  1115,  1119,  1125,  1126,  1127,  1128,  1129,
203     1134,  1138,  1140,  1144,  1149,  1151,  1156,  1158,  1160,  1162,
204     1164,  1166,  1168,  1180,  1192,  1206,  1220,  1222,  1224,  1229,
205     1242,  1247,  1251,  1255,  1259,  1264,  1268,  1273,  1277,  1281,
206     1285,  1289,  1293,  1297,  1301,  1303,  1306,  1310,  1316,  1318,
207     1323,  1326,  1335,  1342,  1341,  1357,  1358,  1359,  1365,  1369,
208     1377,  1384,  1389,  1394,  1396,  1398,  1403,  1405,  1410,  1411,
209     1417,  1421,  1427,  1433,  1440,  1447,  1451,  1457,  1463,  1464,
210     1470,  1471,  1477,  1478,  1485,  1487,  1489,  1492
211 };
212 #endif
213
214 #if YYDEBUG || YYERROR_VERBOSE || 0
215 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
216    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
217 static const char *const yytname[] =
218 {
219   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
220   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "'{'", "'}'", "'['",
221   "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'", "'&'", "';'", "'='",
222   "'.'", "WORD", "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF",
223   "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR",
224   "PLUGSTMT", "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE",
225   "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR",
226   "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0",
227   "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP",
228   "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE",
229   "COLONATTR", "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "DOROP", "OROP",
230   "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR",
231   "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'",
232   "REFGEN", "UMINUS", "POWOP", "POSTJOIN", "POSTDEC", "POSTINC", "PREDEC",
233   "PREINC", "ARROW", "')'", "'('", "PEG", "$accept", "grammar", "$@1",
234   "$@2", "$@3", "$@4", "$@5", "$@6", "block", "formblock", "remember",
235   "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt",
236   "labfullstmt", "barestmt", "$@7", "$@8", "$@9", "formline", "formarg",
237   "sideff", "else", "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr",
238   "mnexpr", "miexpr", "formname", "startsub", "startanonsub",
239   "startformsub", "subname", "proto", "subattrlist", "myattrlist",
240   "subbody", "expr", "listexpr", "listop", "@10", "method", "subscripted",
241   "termbinop", "termunop", "anonymous", "termdo", "term", "@11",
242   "myattrterm", "myterm", "optlistexpr", "optexpr", "my_scalar", "amper",
243   "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice", "gelem",
244   "indirob", YY_NULL
245 };
246 #endif
247
248 # ifdef YYPRINT
249 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
250    token YYLEX-NUM.  */
251 static const yytype_uint16 yytoknum[] =
252 {
253        0,   256,   257,   258,   259,   260,   261,   262,   263,   123,
254      125,    91,    93,    45,    43,    36,    64,    37,    42,    38,
255       59,    61,    46,   264,   265,   266,   267,   268,   269,   270,
256      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
257      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
258      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
259      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
260      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
261       44,   321,    63,    58,   322,   323,   324,   325,   326,   327,
262      328,    33,   126,   329,   330,   331,   332,   333,   334,   335,
263      336,   337,    41,    40,   338
264 };
265 # endif
266
267 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
268 static const yytype_uint8 yyr1[] =
269 {
270        0,   105,   107,   106,   108,   106,   109,   106,   110,   106,
271      111,   106,   112,   106,   113,   114,   115,   116,   117,   118,
272      118,   119,   119,   120,   120,   121,   121,   122,   122,   122,
273      123,   122,   122,   124,   122,   122,   122,   122,   122,   122,
274      122,   122,   122,   122,   122,   122,   122,   125,   122,   122,
275      122,   126,   127,   127,   128,   128,   128,   128,   128,   128,
276      128,   128,   129,   129,   129,   130,   130,   131,   132,   132,
277      133,   133,   134,   135,   136,   137,   138,   138,   139,   140,
278      141,   142,   142,   143,   143,   144,   144,   144,   145,   145,
279      146,   146,   147,   147,   147,   147,   148,   148,   148,   149,
280      149,   149,   149,   149,   149,   149,   149,   150,   149,   151,
281      151,   152,   152,   152,   152,   152,   152,   152,   152,   152,
282      152,   152,   152,   152,   152,   153,   153,   153,   153,   153,
283      153,   153,   153,   153,   153,   153,   153,   153,   153,   154,
284      154,   154,   154,   154,   154,   154,   154,   154,   155,   155,
285      155,   155,   155,   156,   156,   157,   157,   157,   157,   157,
286      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
287      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
288      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
289      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
290      157,   157,   157,   158,   157,   157,   157,   157,   157,   159,
291      159,   160,   160,   160,   160,   160,   161,   161,   162,   162,
292      163,   164,   165,   166,   167,   168,   168,   169,   170,   170,
293      171,   171,   172,   172,   173,   173,   173,   173
294 };
295
296 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
297 static const yytype_uint8 yyr2[] =
298 {
299        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
300        0,     3,     0,     3,     4,     7,     0,     4,     0,     0,
301        2,     0,     2,     1,     1,     2,     2,     1,     1,     4,
302        0,     7,     4,     0,     7,     7,     7,     6,     6,     2,
303        8,     8,    11,     9,     8,     7,     2,     0,     8,     2,
304        1,     2,     0,     3,     1,     1,     3,     3,     3,     3,
305        3,     3,     0,     2,     6,     0,     2,     0,     0,     1,
306        0,     1,     1,     1,     1,     1,     1,     0,     0,     0,
307        0,     1,     1,     0,     1,     0,     2,     1,     2,     1,
308        1,     1,     3,     3,     3,     1,     2,     3,     1,     3,
309        5,     6,     3,     3,     5,     2,     4,     0,     5,     1,
310        1,     5,     4,     5,     4,     5,     6,     5,     4,     5,
311        4,     3,     6,     4,     5,     3,     3,     3,     3,     3,
312        3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
313        2,     2,     2,     2,     2,     2,     2,     2,     3,     2,
314        4,     3,     5,     2,     2,     1,     1,     1,     1,     5,
315        2,     1,     2,     3,     1,     2,     1,     1,     1,     1,
316        1,     1,     4,     4,     5,     5,     1,     1,     3,     4,
317        3,     4,     4,     4,     4,     4,     1,     2,     2,     1,
318        2,     2,     1,     2,     1,     2,     1,     3,     1,     3,
319        1,     3,     4,     0,     5,     1,     1,     1,     1,     3,
320        2,     3,     2,     1,     1,     1,     0,     1,     0,     1,
321        1,     2,     2,     2,     2,     2,     4,     2,     1,     3,
322        1,     3,     1,     3,     1,     1,     1,     1
323 };
324
325 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
326    Performed when YYTABLE doesn't specify something else to do.  Zero
327    means the default is an error.  */
328 static const yytype_uint8 yydefact[] =
329 {
330        0,     2,     4,     6,     8,    10,    12,     0,    16,   218,
331        0,     0,     0,    19,     1,    19,     0,     0,     0,     0,
332        0,     0,     0,     0,   205,     0,     0,   176,   203,   164,
333      198,   200,   194,    79,   208,    79,   186,   207,   196,     0,
334        0,   189,   216,     0,     0,     0,     0,     0,     0,   192,
335        0,     0,     0,     0,     0,     0,     0,   219,    95,   206,
336      171,   155,   156,   157,   158,    98,   161,     5,   177,   166,
337      169,   168,   170,   167,     0,     0,     0,    16,     7,    54,
338       50,    27,    80,     0,     0,    78,     0,     0,     0,     0,
339        0,     0,     0,     0,    28,    65,     9,     0,    55,     0,
340       11,    24,    23,     0,     0,   149,     0,   139,   140,   234,
341      237,   236,   235,   222,   223,   224,   227,   221,   216,     0,
342        0,     0,     0,   195,     0,    83,   187,     0,     0,   218,
343      190,   191,   234,   217,   105,   235,     0,   225,   154,   153,
344        0,     0,    81,    82,   216,   162,     0,   210,   213,   215,
345      214,   193,   188,   141,   142,   160,   147,   146,   165,     0,
346        0,     0,     0,    96,     0,     0,     0,     0,     0,     0,
347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
348        0,     0,   145,   144,   143,     0,     0,     0,     0,     0,
349        0,     0,     0,     0,    19,    77,    78,     0,    33,    16,
350       16,    16,    16,    16,    16,     0,    16,    16,    39,     0,
351       46,    49,     0,     0,     0,     0,     0,     0,    26,    25,
352       20,   148,   103,   218,     0,     0,   199,   107,    84,    85,
353      197,   201,     0,     0,     0,    99,   151,     0,   180,   212,
354        0,    89,   209,     0,   163,    94,    93,    92,    97,     0,
355        0,   121,     0,   134,   130,   131,   127,   128,   125,     0,
356      137,   136,   135,   133,   132,   129,   138,   126,     0,     0,
357        0,   229,   231,   233,     0,   109,     0,     0,   102,   110,
358      178,     0,     0,     0,     0,     0,     0,     0,     0,     0,
359       76,     0,    30,     0,     0,    70,     0,     0,     0,     0,
360        0,    16,     0,     0,    66,    58,    59,    72,    56,    57,
361       60,    61,     0,     0,   123,   216,    87,     0,   202,   106,
362        0,   150,   211,    88,     0,     0,     0,   114,   120,     0,
363        0,     0,   181,   182,   183,   185,   184,   226,   118,     0,
364      218,   179,     0,   112,     0,   172,     0,   173,     0,    14,
365       16,    29,    83,    16,    32,     0,     0,    71,     0,     0,
366       73,    75,     0,     0,   220,    69,    74,     0,     0,    55,
367        0,     0,     0,   104,   204,   108,    86,   152,   100,   124,
368        0,   117,   159,     0,   113,   119,     0,   115,   174,   175,
369      111,     0,    85,    47,   216,    67,    67,     0,     0,     0,
370        0,    70,     0,     0,     0,   122,   116,   101,     0,     0,
371       19,     0,     0,     0,    18,    62,    62,     0,    65,     0,
372        0,    37,    38,    21,    91,    90,    31,     0,    34,    65,
373       65,    19,     0,     0,    35,    36,     0,    45,    67,    65,
374        0,    48,    40,    41,     0,    63,     0,    65,     0,    44,
375        0,    52,    22,    17,     0,    43,     0,    15,    19,    51,
376        0,     0,     0,    62,    42,    53,    64
377 };
378
379 /* YYDEFGOTO[NTERM-NUM].  */
380 static const yytype_int16 yydefgoto[] =
381 {
382       -1,     7,     8,     9,    10,    11,    12,    13,   111,   351,
383       15,   415,   431,   103,   440,   220,   101,   102,   352,   294,
384      410,   452,   459,    97,   434,   210,   412,   366,   356,   306,
385      359,   368,   362,   291,   198,   124,   195,   144,   229,   317,
386      242,   426,    98,    58,    59,   315,   278,    60,    61,    62,
387       63,    64,    65,   120,    66,   147,   134,    67,   363,    68,
388       69,    70,    71,    72,    73,    74,    75,    76,   113
389 };
390
391 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
392    STATE-NUM.  */
393 #define YYPACT_NINF -395
394 static const yytype_int16 yypact[] =
395 {
396      701,  -395,  -395,  -395,  -395,  -395,  -395,    48,  -395,  2461,
397        6,  1112,  1016,  -395,  -395,  -395,  1721,  2461,  2461,   397,
398      397,   397,   397,   397,  -395,   397,   397,  -395,  -395,    18,
399      -37,  -395,  2461,  -395,  -395,  -395,  2461,  -395,   -33,   -19,
400      -11,  1628,  1535,   397,  1628,  1812,    59,  2461,    46,  2461,
401     2461,  2461,  2461,  2461,  2461,  2461,  1903,   145,    -7,  -395,
402       10,  -395,  -395,  -395,  -395,  2481,  -395,  -395,    -6,   112,
403      115,   216,  -395,    82,   227,   280,    87,  -395,  -395,  -395,
404     -395,  -395,  -395,    59,    77,  -395,     2,     5,    31,    56,
405        8,    57,    72,     6,  -395,    61,  -395,   158,  1810,  1016,
406     -395,  -395,  -395,   440,   536,  -395,    41,   144,   144,  -395,
407     -395,  -395,  -395,  -395,  -395,  -395,  -395,  -395,  2461,    92,
408       97,  2461,    99,  1706,     6,   185,  2481,   117,  1996,  1535,
409     -395,  1706,  1441,    -7,  -395,  1362,  2461,  -395,  -395,  1706,
410       94,   107,  -395,  -395,  2461,  1706,  2089,   154,  -395,  -395,
411     -395,  1706,    -7,   144,   144,   144,   111,   111,   220,   172,
412     2461,  2461,  2461,  2461,  2461,  2461,  2182,  2461,  2461,  2461,
413     2461,  2461,  2461,  2461,  2461,  2461,  2461,  2461,  2461,  2461,
414     2461,  2461,  -395,  -395,  -395,     9,  2275,  2461,  2461,  2461,
415     2461,  2461,  2461,  2461,  -395,   223,  -395,   250,  -395,  -395,
416     -395,  -395,  -395,  -395,  -395,   140,  -395,  -395,  -395,     6,
417     -395,  -395,  2461,  2461,  2461,  2461,  2461,  2461,  -395,  -395,
418     -395,  -395,  -395,  2461,  2461,    64,  -395,  -395,  -395,   204,
419     -395,  -395,   233,   178,  2461,    -7,  -395,   298,  -395,  -395,
420      271,   286,  -395,  2461,   270,   235,   235,  -395,  2481,   128,
421       67,  -395,   327,  1194,  1613,   347,   521,   425,  2481,   296,
422     1332,  1332,  1411,   326,  1520,  1244,   144,   144,  2461,  2461,
423      346,   303,   306,   307,   309,  -395,   318,  2368,   234,  -395,
424     -395,   426,   190,    74,   217,    78,   252,   103,   255,   632,
425     -395,   330,  -395,    55,   316,  2461,  2461,  2461,  2461,   337,
426     1206,  -395,  2461,  2461,  -395,   145,  -395,   145,   145,   145,
427      145,   145,   251,   -72,  -395,  2461,   328,     6,  -395,  -395,
428      436,  -395,  -395,  -395,   120,  2461,   355,  -395,  -395,  2461,
429      268,   152,  -395,  -395,  -395,  -395,  -395,  -395,  -395,   506,
430     2461,  -395,   356,  -395,   357,  -395,   358,  -395,   360,  -395,
431     -395,  -395,   185,  -395,  -395,   349,   273,   145,   274,   293,
432      145,  -395,   294,   304,  -395,  -395,  -395,   299,   398,   241,
433     2461,   324,   329,  -395,  -395,  -395,  -395,  -395,  -395,  -395,
434      156,  -395,  2526,   418,  -395,  -395,   331,  -395,  -395,  -395,
435     -395,   410,   204,  -395,  2461,  -395,  -395,   423,   423,  2461,
436      423,  2461,   333,   423,   423,  -395,  -395,  -395,   364,    79,
437     -395,   419,   423,   423,  -395,    -2,    -2,   348,    61,   441,
438      423,  -395,  -395,  -395,  -395,  -395,  -395,   728,  -395,    61,
439       61,  -395,   423,   359,  -395,  -395,   423,  -395,  -395,    61,
440       15,  -395,  -395,  -395,   824,  -395,  2461,    61,  1299,  -395,
441      446,   413,  -395,  -395,   385,  -395,   392,  -395,  -395,  -395,
442      423,   423,   920,    -2,  -395,  -395,  -395
443 };
444
445 /* YYPGOTO[NTERM-NUM].  */
446 static const yytype_int16 yypgoto[] =
447 {
448     -395,  -395,  -395,  -395,  -395,  -395,  -395,  -395,   -10,  -395,
449      -30,   -98,  -395,   -12,  -395,   489,   417,    -4,  -395,  -395,
450     -395,  -395,  -395,  -295,  -394,  -362,  -380,  -395,   116,    44,
451     -289,    70,  -395,  -395,   334,   490,  -395,   444,   177,   132,
452     -395,  -395,     1,   -38,  -395,  -395,  -395,  -395,  -395,  -395,
453     -395,  -395,    84,  -395,  -395,  -395,  -112,  -120,  -395,  -395,
454       17,   486,   487,  -395,  -395,  -395,  -395,  -395,    29
455 };
456
457 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
458    positive, shift that token.  If negative, reduce the rule which
459    number is the opposite.  If YYTABLE_NINF, syntax error.  */
460 #define YYTABLE_NINF -233
461 static const yytype_int16 yytable[] =
462 {
463       78,    95,    95,   104,   133,   365,   222,    96,   163,   233,
464       57,   367,   152,   371,   372,    77,   413,   106,   268,   164,
465      269,   165,   435,    19,   270,   271,   272,   273,   274,   121,
466      374,   130,   238,   275,   138,   450,   112,   112,   112,   112,
467      112,   451,   112,   112,   432,   433,   141,   194,    14,   114,
468      115,   116,   117,   221,   118,   119,   437,   159,   448,   135,
469      112,    19,    20,    21,   353,   148,   122,   442,   443,   466,
470      127,   136,   137,   163,   276,   354,   314,   449,   203,   327,
471      133,   402,   142,   208,   128,   455,   343,   143,    77,    95,
472      345,  -232,   129,    95,    95,   219,   193,   186,   235,   424,
473      197,   107,   108,   312,   236,   199,   133,   205,   200,   209,
474      417,   204,   277,   166,   227,   347,   123,   160,   161,   162,
475      126,   187,   225,   188,  -228,   131,  -228,   237,   139,   232,
476       57,   145,   379,   151,   201,   153,   154,   155,   156,   157,
477      160,   161,   162,   160,   161,   162,   135,   240,   326,   146,
478      160,   161,   162,   365,   160,   161,   162,   454,   234,   202,
479      206,   245,   246,   247,   384,   249,   250,   252,   405,   295,
480      296,   297,   298,   299,   300,   207,   302,   303,   211,   160,
481      161,   162,   289,   160,   161,   162,   313,   281,   282,   283,
482      284,   285,   286,   287,   288,   223,   160,   161,   162,   304,
483      224,   226,   279,   375,   160,   161,   162,  -233,  -233,  -233,
484      342,   228,   185,   305,   307,   308,   309,   310,   311,   230,
485      386,   160,   161,   162,    57,  -230,   241,  -230,   160,   161,
486      162,   243,   160,   161,   162,   320,   189,   344,   190,   181,
487      182,   183,   184,   301,   324,   185,   290,   248,   160,   161,
488      162,   253,   254,   255,   256,   257,   258,   259,   260,   261,
489      262,   263,   264,   265,   266,   267,   160,   161,   162,   330,
490      331,   370,   346,   293,   244,   348,   316,   133,   339,    95,
491      319,   325,   411,   212,   213,   214,   215,   112,   383,   191,
492      216,   192,   217,   160,   161,   162,   357,   307,   360,   307,
493      416,   369,   418,   360,   360,   421,   422,   377,   321,   160,
494      161,   162,   323,   162,   429,   430,   364,   160,   161,   162,
495      391,   333,   439,   393,   334,   335,   380,   336,   160,   161,
496      162,   160,   161,   162,   445,   318,   337,   340,   447,   355,
497      358,    57,   361,   -73,   160,   161,   162,   160,   161,   162,
498      167,   350,    19,   373,   376,    77,   133,   168,   169,   170,
499      171,    19,   463,   464,   332,   381,   387,   388,   389,   109,
500      390,   360,   394,   322,   110,   395,   396,   172,   173,   329,
501      174,   175,   176,   177,   178,   179,   180,   168,   169,   170,
502      171,   181,   182,   183,   184,   397,   398,   185,   427,   425,
503      360,   400,   357,   160,   161,   162,    77,   399,   168,  -233,
504      170,   171,    19,   382,   178,   179,   180,    95,   401,   444,
505      109,   181,   182,   183,   184,   110,   403,   185,   406,   328,
506      408,   404,   414,   407,    95,   420,   179,   180,   423,   428,
507      -13,    79,   181,   182,   183,   184,   462,   360,   185,    77,
508      436,    16,    95,    17,    18,    19,    20,    21,    22,    23,
509       80,   438,   446,    24,    25,    26,    27,    28,   457,    29,
510       30,    31,    32,    33,    34,    81,    99,    82,    83,    35,
511       84,    85,    86,    87,    88,    89,   458,   460,   170,    90,
512       91,    92,    93,    36,   461,    37,    38,    39,    40,    41,
513       42,   100,   160,   161,   162,    43,    44,    45,    46,    47,
514       48,    49,   160,   161,   162,   180,   218,   419,   456,    50,
515      181,   182,   183,   184,   409,   125,   185,   196,   341,   392,
516      292,    51,    52,    53,   149,   150,    -3,    79,   378,    54,
517       55,     0,     0,    56,    94,    77,     0,    16,     0,    17,
518       18,    19,    20,    21,    22,    23,    80,     0,     0,    24,
519       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
520       34,    81,    99,    82,    83,    35,    84,    85,    86,    87,
521       88,    89,   160,   161,   162,    90,    91,    92,    93,    36,
522        0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
523        0,    43,    44,    45,    46,    47,    48,    49,   385,     0,
524        0,   180,     0,     0,     0,    50,   181,   182,   183,   184,
525        0,     0,   185,     0,     0,     0,     0,    51,    52,    53,
526        0,     0,     0,    79,     0,    54,    55,     0,     0,    56,
527       94,    77,   349,    16,     0,    17,    18,    19,    20,    21,
528       22,    23,    80,     0,     0,    24,    25,    26,    27,    28,
529        0,    29,    30,    31,    32,    33,    34,    81,    99,    82,
530       83,    35,    84,    85,    86,    87,    88,    89,     0,     0,
531        0,    90,    91,    92,    93,    36,     0,    37,    38,    39,
532       40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
533       46,    47,    48,    49,     1,     2,     3,     4,     5,     6,
534        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
535        0,     0,     0,    51,    52,    53,     0,     0,     0,    79,
536        0,    54,    55,     0,     0,    56,    94,    77,   441,    16,
537        0,    17,    18,    19,    20,    21,    22,    23,    80,     0,
538        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
539       32,    33,    34,    81,    99,    82,    83,    35,    84,    85,
540       86,    87,    88,    89,     0,     0,     0,    90,    91,    92,
541       93,    36,     0,    37,    38,    39,    40,    41,    42,     0,
542        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
543        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
544        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
545       52,    53,     0,     0,     0,    79,     0,    54,    55,     0,
546        0,    56,    94,    77,   453,    16,     0,    17,    18,    19,
547       20,    21,    22,    23,    80,     0,     0,    24,    25,    26,
548       27,    28,     0,    29,    30,    31,    32,    33,    34,    81,
549       99,    82,    83,    35,    84,    85,    86,    87,    88,    89,
550        0,     0,     0,    90,    91,    92,    93,    36,     0,    37,
551       38,    39,    40,    41,    42,     0,     0,     0,     0,    43,
552       44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
553        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
554        0,     0,     0,     0,     0,    51,    52,    53,     0,     0,
555        0,    79,     0,    54,    55,     0,     0,    56,    94,    77,
556        0,    16,     0,    17,    18,    19,    20,    21,    22,    23,
557       80,     0,     0,    24,    25,    26,    27,    28,     0,    29,
558       30,    31,    32,    33,    34,    81,    99,    82,    83,    35,
559       84,    85,    86,    87,    88,    89,     0,     0,     0,    90,
560       91,    92,    93,    36,     0,    37,    38,    39,    40,    41,
561       42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
562       48,    49,     0,     0,   465,     0,     0,     0,     0,    50,
563        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
564        0,    51,    52,    53,     0,     0,     0,    79,     0,    54,
565       55,     0,     0,    56,    94,    77,     0,    16,     0,    17,
566       18,    19,    20,    21,    22,    23,    80,     0,     0,    24,
567       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
568       34,    81,    99,    82,    83,    35,    84,    85,    86,    87,
569       88,    89,     0,     0,     0,    90,    91,    92,    93,    36,
570        0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
571        0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
572        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
573        0,     0,     0,     0,     0,     0,     0,    51,    52,    53,
574        0,     0,     0,    79,     0,    54,    55,     0,     0,    56,
575       94,    77,     0,    16,     0,    17,    18,    19,    20,    21,
576       22,    23,    80,     0,     0,    24,    25,    26,    27,    28,
577        0,    29,    30,    31,    32,    33,    34,    81,     0,    82,
578       83,    35,    84,    85,    86,    87,    88,    89,     0,     0,
579        0,    90,    91,    92,    93,    36,     0,    37,    38,    39,
580       40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
581       46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
582        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
583        0,     0,     0,    51,    52,    53,     0,    79,     0,     0,
584        0,    54,    55,     0,     0,    56,    94,    16,     0,    17,
585       18,    19,    20,    21,    22,    23,   -68,     0,     0,    24,
586       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
587       34,     0,     0,     0,     0,    35,     0,     0,  -233,     0,
588        0,     0,     0,     0,     0,   168,   169,   170,   171,    36,
589        0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
590        0,    43,    44,    45,    46,    47,    48,    49,   174,   175,
591      176,   177,   178,   179,   180,    50,     0,     0,     0,   181,
592      182,   183,   184,     0,     0,   185,     0,    51,    52,    53,
593       79,     0,     0,     0,     0,    54,    55,   170,   171,    56,
594       16,     0,    17,    18,    19,    20,    21,    22,    23,     0,
595        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
596       31,    32,    33,    34,   180,     0,     0,     0,    35,   181,
597      182,   183,   184,     0,     0,   185,     0,     0,     0,     0,
598        0,     0,    36,     0,    37,    38,    39,    40,    41,    42,
599        0,     0,  -166,     0,    43,    44,    45,    46,    47,    48,
600       49,   187,     0,   188,  -166,     0,     0,     0,    50,     0,
601        0,     0,  -166,     0,     0,     0,     0,     0,     0,     0,
602       51,    52,    53,   168,   169,   170,   171,     0,    54,    55,
603        0,   -68,    56,     0,  -166,  -166,  -166,  -166,     0,     0,
604        0,  -166,     0,  -166,     0,     0,  -166,     0,   176,   177,
605      178,   179,   180,  -166,  -166,  -166,  -166,   181,   182,   183,
606      184,     0,     0,   185,     0,     0,     0,     0,  -166,  -166,
607     -166,  -205,  -166,  -166,  -166,  -166,  -166,  -166,  -166,  -166,
608     -166,  -166,  -166,  -205,     0,     0,     0,  -166,  -166,  -166,
609     -166,  -205,     0,  -166,  -166,     0,     0,     0,     0,     0,
610        0,     0,   168,   169,   170,   171,     0,     0,     0,     0,
611        0,     0,     0,  -205,  -205,  -205,  -205,     0,     0,     0,
612     -205,     0,  -205,     0,     0,  -205,     0,     0,   177,   178,
613      179,   180,  -205,  -205,  -205,  -205,   181,   182,   183,   184,
614        0,     0,   185,     0,     0,     0,     0,  -205,  -205,  -205,
615        0,  -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,
616     -205,  -205,     0,     0,     0,     0,  -205,  -205,  -205,  -205,
617        0,     0,  -205,  -205,    77,     0,    16,     0,    17,    18,
618       19,    20,    21,    22,    23,     0,     0,     0,   132,    25,
619       26,    27,    28,   110,    29,    30,    31,    32,    33,    34,
620        0,     0,     0,     0,    35,     0,     0,     0,     0,     0,
621        0,   168,   169,   170,   171,     0,     0,     0,    36,     0,
622       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
623       43,    44,    45,    46,    47,    48,    49,     0,     0,   179,
624      180,     0,     0,     0,    50,   181,   182,   183,   184,     0,
625        0,   185,     0,     0,     0,     0,    51,    52,    53,     0,
626        0,     0,     0,     0,    54,    55,     0,    77,    56,    16,
627        0,    17,    18,    19,    20,    21,    22,    23,     0,     0,
628        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
629       32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
630        0,     0,     0,     0,  -233,     0,   170,   171,     0,     0,
631        0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
632        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
633        0,     0,   179,   180,     0,     0,     0,    50,   181,   182,
634      183,   184,     0,     0,   185,     0,     0,     0,     0,    51,
635       52,    53,     0,     0,     0,     0,     0,    54,    55,     0,
636        0,    56,    16,   105,    17,    18,    19,    20,    21,    22,
637       23,     0,     0,     0,    24,    25,    26,    27,    28,     0,
638       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
639       35,     0,     0,     0,     0,     0,     0,     0,     0,   170,
640      171,     0,     0,     0,    36,     0,    37,    38,    39,    40,
641       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
642       47,    48,    49,     0,     0,   179,   180,     0,     0,     0,
643       50,   181,   182,   183,   184,     0,     0,   185,     0,     0,
644        0,     0,    51,    52,    53,     0,     0,     0,     0,     0,
645       54,    55,     0,    16,    56,    17,    18,    19,    20,    21,
646       22,    23,   140,     0,     0,    24,    25,    26,    27,    28,
647        0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
648        0,    35,   212,   213,   214,   215,     0,     0,     0,   216,
649        0,   217,     0,     0,     0,    36,     0,    37,    38,    39,
650       40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
651       46,    47,    48,    49,     0,     0,   160,   161,   162,     0,
652        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
653        0,     0,     0,    51,    52,    53,     0,     0,     0,     0,
654        0,    54,    55,     0,    16,    56,    17,    18,    19,    20,
655       21,    22,    23,     0,     0,     0,    24,    25,    26,    27,
656       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
657        0,     0,    35,     0,     0,     0,     0,     0,     0,     0,
658        0,     0,     0,     0,     0,     0,    36,     0,    37,    38,
659       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
660       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
661        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
662        0,     0,     0,     0,    51,    52,    53,     0,     0,     0,
663        0,     0,    54,    55,     0,   158,    56,    16,     0,    17,
664       18,    19,    20,    21,    22,    23,     0,     0,     0,    24,
665       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
666       34,     0,     0,     0,     0,    35,     0,     0,     0,     0,
667        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
668        0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
669        0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
670        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
671        0,     0,     0,     0,     0,     0,     0,    51,    52,    53,
672        0,     0,     0,     0,     0,    54,    55,     0,   231,    56,
673       16,     0,    17,    18,    19,    20,    21,    22,    23,     0,
674        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
675       31,    32,    33,    34,     0,     0,     0,     0,    35,     0,
676        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
677        0,     0,    36,     0,    37,    38,    39,    40,    41,    42,
678        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
679       49,     0,     0,     0,     0,     0,     0,     0,    50,     0,
680        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
681       51,    52,    53,     0,     0,     0,     0,     0,    54,    55,
682        0,   239,    56,    16,     0,    17,    18,    19,    20,    21,
683       22,    23,     0,     0,     0,    24,    25,    26,    27,    28,
684        0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
685        0,    35,     0,     0,     0,     0,     0,     0,     0,     0,
686        0,     0,     0,     0,     0,    36,     0,    37,    38,    39,
687       40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
688       46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
689        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
690        0,     0,     0,    51,    52,    53,     0,     0,     0,     0,
691        0,    54,    55,     0,   251,    56,    16,     0,    17,    18,
692       19,    20,    21,    22,    23,     0,     0,     0,    24,    25,
693       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
694        0,     0,     0,     0,    35,     0,     0,     0,     0,     0,
695        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
696       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
697       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
698        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
699        0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
700        0,     0,     0,     0,    54,    55,     0,   280,    56,    16,
701        0,    17,    18,    19,    20,    21,    22,    23,     0,     0,
702        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
703       32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
704        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
705        0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
706        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
707        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
708        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
709       52,    53,     0,     0,     0,     0,     0,    54,    55,     0,
710      338,    56,    16,     0,    17,    18,    19,    20,    21,    22,
711       23,     0,     0,     0,    24,    25,    26,    27,    28,     0,
712       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
713       35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
714        0,     0,     0,     0,    36,     0,    37,    38,    39,    40,
715       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
716       47,    48,    49,     0,     0,   167,     0,     0,     0,     0,
717       50,     0,   168,   169,   170,   171,     0,     0,     0,     0,
718        0,     0,    51,    52,    53,     0,     0,     0,     0,     0,
719       54,    55,   172,   173,    56,   174,   175,   176,   177,   178,
720      179,   180,     0,     0,     0,     0,   181,   182,   183,   184,
721      167,     0,   185,     0,     0,     0,     0,   168,   169,   170,
722      171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
723        0,     0,     0,     0,     0,     0,     0,     0,   173,     0,
724      174,   175,   176,   177,   178,   179,   180,     0,     0,     0,
725        0,   181,   182,   183,   184,     0,     0,   185
726 };
727
728 #define yypact_value_is_default(Yystate) \
729   (!!((Yystate) == (-395)))
730
731 #define yytable_value_is_error(Yytable_value) \
732   (!!((Yytable_value) == (-233)))
733
734 static const yytype_int16 yycheck[] =
735 {
736       10,    11,    12,    15,    42,   300,   118,    11,    80,   129,
737        9,   300,    50,   302,   303,     9,   396,    16,     9,     9,
738       11,    11,   416,    15,    15,    16,    17,    18,    19,    11,
739      102,    41,   144,    24,    44,    20,    19,    20,    21,    22,
740       23,    26,    25,    26,    46,    47,    45,    77,     0,    20,
741       21,    22,    23,    12,    25,    26,   418,    56,   438,    42,
742       43,    15,    16,    17,     9,    48,   103,   429,   430,   463,
743      103,    42,    43,    80,    65,    20,    12,   439,    70,    12,
744      118,   370,    23,    93,   103,   447,    12,    28,     9,    99,
745       12,     9,   103,   103,   104,    99,     9,   103,   136,    20,
746       23,    17,    18,   223,    10,   103,   144,    90,   103,    48,
747      399,   103,   103,   103,   124,    12,    32,    76,    77,    78,
748       36,     9,   121,    11,     9,    41,    11,    20,    44,   128,
749      129,    47,    12,    49,   103,    51,    52,    53,    54,    55,
750       76,    77,    78,    76,    77,    78,   129,   146,    20,   103,
751       76,    77,    78,   448,    76,    77,    78,   446,   129,   103,
752      103,   160,   161,   162,    12,   164,   165,   166,    12,   199,
753      200,   201,   202,   203,   204,   103,   206,   207,    20,    76,
754       77,    78,   194,    76,    77,    78,   224,   186,   187,   188,
755      189,   190,   191,   192,   193,   103,    76,    77,    78,   209,
756      103,   102,   185,   315,    76,    77,    78,    96,    97,    98,
757       20,    26,   101,   212,   213,   214,   215,   216,   217,   102,
758      340,    76,    77,    78,   223,     9,    72,    11,    76,    77,
759       78,    11,    76,    77,    78,   234,     9,    20,    11,    95,
760       96,    97,    98,   103,   243,   101,    23,   163,    76,    77,
761       78,   167,   168,   169,   170,   171,   172,   173,   174,   175,
762      176,   177,   178,   179,   180,   181,    76,    77,    78,   268,
763      269,   301,    20,    23,   102,    20,    72,   315,   277,   289,
764      102,    11,   394,    42,    43,    44,    45,   270,    20,     9,
765       49,    11,    51,    76,    77,    78,   295,   296,   297,   298,
766      398,   300,   400,   302,   303,   403,   404,   317,    10,    76,
767       77,    78,    26,    78,   412,   413,   299,    76,    77,    78,
768      350,    18,   420,   353,    18,    18,   325,    18,    76,    77,
769       78,    76,    77,    78,   432,   102,    18,   103,   436,    23,
770      296,   340,   298,   102,    76,    77,    78,    76,    77,    78,
771       54,    21,    15,   102,    26,     9,   394,    61,    62,    63,
772       64,    15,   460,   461,    18,    10,    10,    10,    10,    23,
773       10,   370,    23,   102,    28,   102,   102,    81,    82,    83,
774       84,    85,    86,    87,    88,    89,    90,    61,    62,    63,
775       64,    95,    96,    97,    98,   102,   102,   101,   410,   409,
776      399,   102,   401,    76,    77,    78,     9,   103,    61,    62,
777       63,    64,    15,   329,    88,    89,    90,   427,    20,   431,
778       23,    95,    96,    97,    98,    28,   102,   101,    10,   102,
779       20,   102,     9,   102,   444,   102,    89,    90,    74,    20,
780        0,     1,    95,    96,    97,    98,   458,   446,   101,     9,
781      102,    11,   462,    13,    14,    15,    16,    17,    18,    19,
782       20,    20,   103,    23,    24,    25,    26,    27,    22,    29,
783       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
784       40,    41,    42,    43,    44,    45,    73,   102,    63,    49,
785       50,    51,    52,    53,   102,    55,    56,    57,    58,    59,
786       60,    12,    76,    77,    78,    65,    66,    67,    68,    69,
787       70,    71,    76,    77,    78,    90,    99,   401,   448,    79,
788       95,    96,    97,    98,   392,    35,   101,    83,   102,   352,
789      196,    91,    92,    93,    48,    48,     0,     1,   102,    99,
790      100,    -1,    -1,   103,   104,     9,    -1,    11,    -1,    13,
791       14,    15,    16,    17,    18,    19,    20,    -1,    -1,    23,
792       24,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
793       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
794       44,    45,    76,    77,    78,    49,    50,    51,    52,    53,
795       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    -1,
796       -1,    65,    66,    67,    68,    69,    70,    71,   102,    -1,
797       -1,    90,    -1,    -1,    -1,    79,    95,    96,    97,    98,
798       -1,    -1,   101,    -1,    -1,    -1,    -1,    91,    92,    93,
799       -1,    -1,    -1,     1,    -1,    99,   100,    -1,    -1,   103,
800      104,     9,    10,    11,    -1,    13,    14,    15,    16,    17,
801       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
802       -1,    29,    30,    31,    32,    33,    34,    35,    36,    37,
803       38,    39,    40,    41,    42,    43,    44,    45,    -1,    -1,
804       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
805       58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
806       68,    69,    70,    71,     3,     4,     5,     6,     7,     8,
807       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
808       -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,     1,
809       -1,    99,   100,    -1,    -1,   103,   104,     9,    10,    11,
810       -1,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
811       -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
812       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
813       42,    43,    44,    45,    -1,    -1,    -1,    49,    50,    51,
814       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
815       -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
818       92,    93,    -1,    -1,    -1,     1,    -1,    99,   100,    -1,
819       -1,   103,   104,     9,    10,    11,    -1,    13,    14,    15,
820       16,    17,    18,    19,    20,    -1,    -1,    23,    24,    25,
821       26,    27,    -1,    29,    30,    31,    32,    33,    34,    35,
822       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
823       -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,    55,
824       56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,
825       66,    67,    68,    69,    70,    71,    -1,    -1,    -1,    -1,
826       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
827       -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,
828       -1,     1,    -1,    99,   100,    -1,    -1,   103,   104,     9,
829       -1,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
830       20,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
831       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
832       40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
833       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
834       60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
835       70,    71,    -1,    -1,    74,    -1,    -1,    -1,    -1,    79,
836       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
837       -1,    91,    92,    93,    -1,    -1,    -1,     1,    -1,    99,
838      100,    -1,    -1,   103,   104,     9,    -1,    11,    -1,    13,
839       14,    15,    16,    17,    18,    19,    20,    -1,    -1,    23,
840       24,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
841       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
842       44,    45,    -1,    -1,    -1,    49,    50,    51,    52,    53,
843       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    -1,
844       -1,    65,    66,    67,    68,    69,    70,    71,    -1,    -1,
845       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
847       -1,    -1,    -1,     1,    -1,    99,   100,    -1,    -1,   103,
848      104,     9,    -1,    11,    -1,    13,    14,    15,    16,    17,
849       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
850       -1,    29,    30,    31,    32,    33,    34,    35,    -1,    37,
851       38,    39,    40,    41,    42,    43,    44,    45,    -1,    -1,
852       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
853       58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
854       68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,
855       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
856       -1,    -1,    -1,    91,    92,    93,    -1,     1,    -1,    -1,
857       -1,    99,   100,    -1,    -1,   103,   104,    11,    -1,    13,
858       14,    15,    16,    17,    18,    19,    20,    -1,    -1,    23,
859       24,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
860       34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    54,    -1,
861       -1,    -1,    -1,    -1,    -1,    61,    62,    63,    64,    53,
862       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    -1,
863       -1,    65,    66,    67,    68,    69,    70,    71,    84,    85,
864       86,    87,    88,    89,    90,    79,    -1,    -1,    -1,    95,
865       96,    97,    98,    -1,    -1,   101,    -1,    91,    92,    93,
866        1,    -1,    -1,    -1,    -1,    99,   100,    63,    64,   103,
867       11,    -1,    13,    14,    15,    16,    17,    18,    19,    -1,
868       -1,    -1,    23,    24,    25,    26,    27,    -1,    29,    30,
869       31,    32,    33,    34,    90,    -1,    -1,    -1,    39,    95,
870       96,    97,    98,    -1,    -1,   101,    -1,    -1,    -1,    -1,
871       -1,    -1,    53,    -1,    55,    56,    57,    58,    59,    60,
872       -1,    -1,     0,    -1,    65,    66,    67,    68,    69,    70,
873       71,     9,    -1,    11,    12,    -1,    -1,    -1,    79,    -1,
874       -1,    -1,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
875       91,    92,    93,    61,    62,    63,    64,    -1,    99,   100,
876       -1,   102,   103,    -1,    42,    43,    44,    45,    -1,    -1,
877       -1,    49,    -1,    51,    -1,    -1,    54,    -1,    86,    87,
878       88,    89,    90,    61,    62,    63,    64,    95,    96,    97,
879       98,    -1,    -1,   101,    -1,    -1,    -1,    -1,    76,    77,
880       78,     0,    80,    81,    82,    83,    84,    85,    86,    87,
881       88,    89,    90,    12,    -1,    -1,    -1,    95,    96,    97,
882       98,    20,    -1,   101,   102,    -1,    -1,    -1,    -1,    -1,
883       -1,    -1,    61,    62,    63,    64,    -1,    -1,    -1,    -1,
884       -1,    -1,    -1,    42,    43,    44,    45,    -1,    -1,    -1,
885       49,    -1,    51,    -1,    -1,    54,    -1,    -1,    87,    88,
886       89,    90,    61,    62,    63,    64,    95,    96,    97,    98,
887       -1,    -1,   101,    -1,    -1,    -1,    -1,    76,    77,    78,
888       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
889       89,    90,    -1,    -1,    -1,    -1,    95,    96,    97,    98,
890       -1,    -1,   101,   102,     9,    -1,    11,    -1,    13,    14,
891       15,    16,    17,    18,    19,    -1,    -1,    -1,    23,    24,
892       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
893       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
894       -1,    61,    62,    63,    64,    -1,    -1,    -1,    53,    -1,
895       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
896       65,    66,    67,    68,    69,    70,    71,    -1,    -1,    89,
897       90,    -1,    -1,    -1,    79,    95,    96,    97,    98,    -1,
898       -1,   101,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
899       -1,    -1,    -1,    -1,    99,   100,    -1,     9,   103,    11,
900       -1,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
901       -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
902       32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,
903       -1,    -1,    -1,    -1,    61,    -1,    63,    64,    -1,    -1,
904       -1,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
905       -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
906       -1,    -1,    89,    90,    -1,    -1,    -1,    79,    95,    96,
907       97,    98,    -1,    -1,   101,    -1,    -1,    -1,    -1,    91,
908       92,    93,    -1,    -1,    -1,    -1,    -1,    99,   100,    -1,
909       -1,   103,    11,    12,    13,    14,    15,    16,    17,    18,
910       19,    -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,
911       29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
912       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,
913       64,    -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,
914       59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,
915       69,    70,    71,    -1,    -1,    89,    90,    -1,    -1,    -1,
916       79,    95,    96,    97,    98,    -1,    -1,   101,    -1,    -1,
917       -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,
918       99,   100,    -1,    11,   103,    13,    14,    15,    16,    17,
919       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
920       -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
921       -1,    39,    42,    43,    44,    45,    -1,    -1,    -1,    49,
922       -1,    51,    -1,    -1,    -1,    53,    -1,    55,    56,    57,
923       58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
924       68,    69,    70,    71,    -1,    -1,    76,    77,    78,    -1,
925       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
926       -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,
927       -1,    99,   100,    -1,    11,   103,    13,    14,    15,    16,
928       17,    18,    19,    -1,    -1,    -1,    23,    24,    25,    26,
929       27,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
930       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
931       -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    55,    56,
932       57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,
933       67,    68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,
934       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
935       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,
936       -1,    -1,    99,   100,    -1,   102,   103,    11,    -1,    13,
937       14,    15,    16,    17,    18,    19,    -1,    -1,    -1,    23,
938       24,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
939       34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
940       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,
941       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    -1,
942       -1,    65,    66,    67,    68,    69,    70,    71,    -1,    -1,
943       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
945       -1,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,   103,
946       11,    -1,    13,    14,    15,    16,    17,    18,    19,    -1,
947       -1,    -1,    23,    24,    25,    26,    27,    -1,    29,    30,
948       31,    32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,
949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
950       -1,    -1,    53,    -1,    55,    56,    57,    58,    59,    60,
951       -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,    70,
952       71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,
953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
954       91,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,   100,
955       -1,   102,   103,    11,    -1,    13,    14,    15,    16,    17,
956       18,    19,    -1,    -1,    -1,    23,    24,    25,    26,    27,
957       -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
958       -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
959       -1,    -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,
960       58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
961       68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,
962       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
963       -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,
964       -1,    99,   100,    -1,   102,   103,    11,    -1,    13,    14,
965       15,    16,    17,    18,    19,    -1,    -1,    -1,    23,    24,
966       25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
967       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,
969       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
970       65,    66,    67,    68,    69,    70,    71,    -1,    -1,    -1,
971       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
972       -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
973       -1,    -1,    -1,    -1,    99,   100,    -1,   102,   103,    11,
974       -1,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
975       -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
976       32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,
977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
978       -1,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
979       -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
982       92,    93,    -1,    -1,    -1,    -1,    -1,    99,   100,    -1,
983      102,   103,    11,    -1,    13,    14,    15,    16,    17,    18,
984       19,    -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,
985       29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
986       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
987       -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,
988       59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,
989       69,    70,    71,    -1,    -1,    54,    -1,    -1,    -1,    -1,
990       79,    -1,    61,    62,    63,    64,    -1,    -1,    -1,    -1,
991       -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,
992       99,   100,    81,    82,   103,    84,    85,    86,    87,    88,
993       89,    90,    -1,    -1,    -1,    -1,    95,    96,    97,    98,
994       54,    -1,   101,    -1,    -1,    -1,    -1,    61,    62,    63,
995       64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
997       84,    85,    86,    87,    88,    89,    90,    -1,    -1,    -1,
998       -1,    95,    96,    97,    98,    -1,    -1,   101
999 };
1000
1001 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1002    symbol of state STATE-NUM.  */
1003 static const yytype_uint8 yystos[] =
1004 {
1005        0,     3,     4,     5,     6,     7,     8,   106,   107,   108,
1006      109,   110,   111,   112,     0,   115,    11,    13,    14,    15,
1007       16,    17,    18,    19,    23,    24,    25,    26,    27,    29,
1008       30,    31,    32,    33,    34,    39,    53,    55,    56,    57,
1009       58,    59,    60,    65,    66,    67,    68,    69,    70,    71,
1010       79,    91,    92,    93,    99,   100,   103,   147,   148,   149,
1011      152,   153,   154,   155,   156,   157,   159,   162,   164,   165,
1012      166,   167,   168,   169,   170,   171,   172,     9,   113,     1,
1013       20,    35,    37,    38,    40,    41,    42,    43,    44,    45,
1014       49,    50,    51,    52,   104,   113,   122,   128,   147,    36,
1015      120,   121,   122,   118,   118,    12,   147,   157,   157,    23,
1016       28,   113,   165,   173,   173,   173,   173,   173,   173,   173,
1017      158,    11,   103,   157,   140,   140,   157,   103,   103,   103,
1018      113,   157,    23,   148,   161,   165,   173,   173,   113,   157,
1019       20,   147,    23,    28,   142,   157,   103,   160,   165,   166,
1020      167,   157,   148,   157,   157,   157,   157,   157,   102,   147,
1021       76,    77,    78,    80,     9,    11,   103,    54,    61,    62,
1022       63,    64,    81,    82,    84,    85,    86,    87,    88,    89,
1023       90,    95,    96,    97,    98,   101,   103,     9,    11,     9,
1024       11,     9,    11,     9,   115,   141,   142,    23,   139,   103,
1025      103,   103,   103,    70,   103,   165,   103,   103,   113,    48,
1026      130,    20,    42,    43,    44,    45,    49,    51,   121,   122,
1027      120,    12,   161,   103,   103,   147,   102,   113,    26,   143,
1028      102,   102,   147,   162,   173,   148,    10,    20,   161,   102,
1029      147,    72,   145,    11,   102,   147,   147,   147,   157,   147,
1030      147,   102,   147,   157,   157,   157,   157,   157,   157,   157,
1031      157,   157,   157,   157,   157,   157,   157,   157,     9,    11,
1032       15,    16,    17,    18,    19,    24,    65,   103,   151,   165,
1033      102,   147,   147,   147,   147,   147,   147,   147,   147,   118,
1034       23,   138,   139,    23,   124,   115,   115,   115,   115,   115,
1035      115,   103,   115,   115,   113,   147,   134,   147,   147,   147,
1036      147,   147,   162,   148,    12,   150,    72,   144,   102,   102,
1037      147,    10,   102,    26,   147,    11,    20,    12,   102,    83,
1038      147,   147,    18,    18,    18,    18,    18,    18,   102,   147,
1039      103,   102,    20,    12,    20,    12,    20,    12,    20,    10,
1040       21,   114,   123,     9,    20,    23,   133,   147,   134,   135,
1041      147,   134,   137,   163,   165,   128,   132,   135,   136,   147,
1042      115,   135,   135,   102,   102,   161,    26,   113,   102,    12,
1043      147,    10,   157,    20,    12,   102,   162,    10,    10,    10,
1044       10,   115,   143,   115,    23,   102,   102,   102,   102,   103,
1045      102,    20,   135,   102,   102,    12,    10,   102,    20,   144,
1046      125,   161,   131,   131,     9,   116,   116,   135,   116,   133,
1047      102,   116,   116,    74,    20,   113,   146,   118,    20,   116,
1048      116,   117,    46,    47,   129,   129,   102,   130,    20,   116,
1049      119,    10,   130,   130,   118,   116,   103,   116,   131,   130,
1050       20,    26,   126,    10,   135,   130,   136,    22,    73,   127,
1051      102,   102,   118,   116,   116,    74,   129
1052 };
1053
1054 typedef enum {
1055         toketype_i_tkval, toketype_ival, toketype_opval, toketype_p_tkval
1056 } toketypes;
1057
1058 /* type of each token/terminal */
1059 static const toketypes yy_type_tab[] =
1060 {
1061   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1062   toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1063   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1064   toketype_i_tkval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1065   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1066   toketype_opval, toketype_p_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1067   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1068   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1069   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1070   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1071   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival,
1072   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1073   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1074   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1075   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival,
1076   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival,
1077   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1078   toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
1079   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1080   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival,
1081   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1082   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1083   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1084   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1085   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1086   toketype_opval
1087 };
1088
1089 /* Generated from:
1090  * 911fbbcab275e0f9645397ee5b80a7c2384e6b24f793c15e6d6e918ebfd4e384 perly.y
1091  * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
1092  * ex: set ro: */