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