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