This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add comment to the top of most .c files explaining their purpose
[perl5.git] / perly.tab
1 #define YYFINAL  3
2 /* YYLAST -- Last index in YYTABLE.  */
3 #define YYLAST   2062
4
5 /* YYNTOKENS -- Number of terminals. */
6 #define YYNTOKENS  85
7 /* YYNNTS -- Number of nonterminals. */
8 #define YYNNTS  62
9 /* YYNRULES -- Number of rules. */
10 #define YYNRULES  200
11 /* YYNRULES -- Number of states. */
12 #define YYNSTATES  400
13
14 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
15 #define YYUNDEFTOK  2
16 #define YYMAXUTOK   320
17
18 #define YYTRANSLATE(YYX)                                                \
19   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
20
21 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
22 static const unsigned char yytranslate[] =
23 {
24        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
25        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
26        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
27        2,     2,     2,    63,     2,     2,    81,    83,    46,     2,
28       74,    73,    84,    80,    52,    79,     2,     2,     2,     2,
29        2,     2,     2,     2,     2,     2,     2,     2,    55,    77,
30        2,     2,     2,    54,    82,     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,    75,     2,    78,     2,     2,     2,     2,     2,     2,
34        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
36        2,     2,     2,     3,     2,    76,    64,     2,     2,     2,
37        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
39        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     1,     2,     4,     5,
50        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
51       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
52       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
53       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
54       47,    48,    49,    50,    51,    53,    56,    57,    58,    59,
55       60,    61,    62,    65,    66,    67,    68,    69,    70,    71,
56       72
57 };
58
59 #if YYDEBUG
60 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
61    YYRHS.  */
62 static const unsigned short yyprhs[] =
63 {
64        0,     0,     3,     6,    11,    12,    13,    18,    19,    20,
65       21,    24,    28,    31,    33,    36,    40,    42,    44,    48,
66       52,    56,    60,    64,    65,    68,    75,    83,    91,    92,
67       95,   104,   113,   124,   134,   143,   155,   159,   160,   162,
68      163,   165,   167,   169,   171,   173,   175,   176,   178,   180,
69      182,   184,   186,   188,   193,   195,   196,   203,   210,   211,
70      212,   213,   215,   216,   218,   219,   222,   224,   227,   229,
71      231,   233,   237,   238,   246,   250,   254,   258,   260,   263,
72      267,   269,   273,   279,   286,   290,   294,   300,   303,   308,
73      309,   315,   317,   319,   325,   330,   336,   341,   347,   354,
74      360,   365,   371,   376,   380,   384,   388,   392,   396,   400,
75      404,   408,   412,   416,   420,   424,   428,   432,   436,   439,
76      442,   445,   448,   451,   454,   457,   460,   464,   467,   472,
77      476,   482,   485,   488,   493,   499,   504,   510,   512,   514,
78      516,   518,   524,   527,   529,   532,   536,   539,   541,   543,
79      545,   547,   549,   551,   558,   564,   569,   575,   577,   579,
80      583,   588,   592,   594,   597,   600,   602,   605,   608,   611,
81      613,   617,   619,   623,   628,   633,   640,   642,   644,   648,
82      651,   655,   658,   660,   662,   664,   665,   667,   668,   670,
83      673,   675,   678,   681,   684,   687,   690,   693,   695,   697,
84      699
85 };
86
87 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
88 static const short yyrhs[] =
89 {
90       86,     0,    -1,    89,    93,    -1,     3,    88,    93,    76,
91       -1,    -1,    -1,     3,    91,    93,    76,    -1,    -1,    -1,
92       -1,    93,   108,    -1,    93,    92,    94,    -1,   107,    97,
93       -1,    99,    -1,   107,    77,    -1,   107,    95,    77,    -1,
94        1,    -1,   124,    -1,   124,    21,   124,    -1,   124,    22,
95      124,    -1,   124,    19,   124,    -1,   124,    20,   102,    -1,
96      124,    26,   124,    -1,    -1,    23,    90,    -1,    24,    74,
97      103,    73,    90,    96,    -1,    21,    74,    88,   103,    73,
98       90,    96,    -1,    22,    74,    88,   106,    73,    90,    96,
99       -1,    -1,    25,    87,    -1,   107,    19,    74,    88,   105,
100       73,    90,    98,    -1,   107,    20,    74,    88,   106,    73,
101       90,    98,    -1,   107,    26,    43,    88,   139,    74,   103,
102       73,    90,    98,    -1,   107,    26,   141,    74,    88,   103,
103       73,    90,    98,    -1,   107,    26,    74,    88,   103,    73,
104       90,    98,    -1,   107,    26,    74,    88,   104,    77,   105,
105       77,   104,    73,    90,    -1,   107,    87,    98,    -1,    -1,
106       95,    -1,    -1,   124,    -1,   124,    -1,   124,    -1,   100,
107       -1,   101,    -1,   102,    -1,    -1,    13,    -1,   109,    -1,
108      112,    -1,   111,    -1,   121,    -1,   122,    -1,    14,   115,
109      110,    87,    -1,     4,    -1,    -1,    44,   113,   116,   117,
110      118,   120,    -1,    15,   113,   116,   117,   118,   120,    -1,
111       -1,    -1,    -1,     4,    -1,    -1,     7,    -1,    -1,    45,
112        7,    -1,    45,    -1,    45,     7,    -1,    45,    -1,    87,
113       -1,    77,    -1,    17,     4,    77,    -1,    -1,    18,   113,
114      123,     4,     4,   137,    77,    -1,   124,    50,   124,    -1,
115      124,    49,   124,    -1,   124,    48,   124,    -1,   125,    -1,
116      125,    52,    -1,   125,    52,   134,    -1,   134,    -1,    33,
117      146,   125,    -1,    31,    74,   146,   124,    73,    -1,   134,
118       72,   128,    74,   138,    73,    -1,   134,    72,   128,    -1,
119        5,   146,   137,    -1,     6,   146,    74,   138,    73,    -1,
120       33,   137,    -1,    31,    74,   138,    73,    -1,    -1,    12,
121      114,    87,   127,   137,    -1,     5,    -1,   141,    -1,   145,
122        3,   124,    77,    76,    -1,   141,    75,   124,    78,    -1,
123      134,    72,    75,   124,    78,    -1,   129,    75,   124,    78,
124       -1,   141,     3,   124,    77,    76,    -1,   134,    72,     3,
125      124,    77,    76,    -1,   129,     3,   124,    77,    76,    -1,
126      134,    72,    74,    73,    -1,   134,    72,    74,   124,    73,
127       -1,   129,    74,   124,    73,    -1,   129,    74,    73,    -1,
128      134,    53,   134,    -1,   134,    67,   134,    -1,   134,    36,
129      134,    -1,   134,    37,   134,    -1,   134,    61,   134,    -1,
130      134,    34,   134,    -1,   134,    35,   134,    -1,   134,    60,
131      134,    -1,   134,    59,   134,    -1,   134,    28,   134,    -1,
132      134,    58,   134,    -1,   134,    57,   134,    -1,   134,    56,
133      134,    -1,   134,    62,   134,    -1,    79,   134,    -1,    80,
134      134,    -1,    63,   134,    -1,    64,   134,    -1,   134,    69,
135       -1,   134,    68,    -1,    71,   134,    -1,    70,   134,    -1,
136       75,   124,    78,    -1,    75,    78,    -1,    40,   124,    77,
137       76,    -1,    40,    77,    76,    -1,    16,   114,   117,   118,
138       87,    -1,    39,   134,    -1,    39,    87,    -1,    39,     4,
139       74,    73,    -1,    39,     4,    74,   124,    73,    -1,    39,
140      141,    74,    73,    -1,    39,   141,    74,   124,    73,    -1,
141      130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    54,
142      134,    55,   134,    -1,    65,   134,    -1,   135,    -1,    42,
143      134,    -1,    74,   124,    73,    -1,    74,    73,    -1,   141,
144       -1,   145,    -1,   143,    -1,   142,    -1,   144,    -1,   129,
145       -1,    74,   124,    73,    75,   124,    78,    -1,    74,    73,
146       75,   124,    78,    -1,   142,    75,   124,    78,    -1,   142,
147        3,   124,    77,    76,    -1,     7,    -1,   140,    -1,   140,
148       74,    73,    -1,   140,    74,   124,    73,    -1,    41,     4,
149      137,    -1,    27,    -1,    27,   134,    -1,    51,   125,    -1,
150       32,    -1,    32,    87,    -1,    32,   134,    -1,    11,   134,
151       -1,    29,    -1,    29,    74,    73,    -1,    10,    -1,    30,
152       74,    73,    -1,    30,    74,   124,    73,    -1,     8,    74,
153      134,    73,    -1,     8,    74,   134,    52,   134,    73,    -1,
154        4,    -1,   126,    -1,    43,   136,   119,    -1,    43,   136,
155       -1,    74,   124,    73,    -1,    74,    73,    -1,   141,    -1,
156      143,    -1,   142,    -1,    -1,   125,    -1,    -1,   124,    -1,
157      124,    52,    -1,   141,    -1,    46,   146,    -1,    81,   146,
158       -1,    82,   146,    -1,    83,   146,    -1,    38,   146,    -1,
159       84,   146,    -1,     4,    -1,   141,    -1,    87,    -1,     9,
160       -1
161 };
162
163 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
164 static const unsigned short yyrline[] =
165 {
166        0,    95,    95,   101,   108,   112,   118,   125,   129,   133,
167      134,   136,   145,   147,   148,   157,   163,   165,   167,   169,
168      171,   173,   175,   182,   183,   185,   192,   196,   204,   205,
169      210,   216,   222,   225,   229,   232,   248,   256,   257,   262,
170      263,   267,   272,   276,   280,   284,   290,   291,   295,   297,
171      299,   301,   303,   307,   311,   312,   316,   321,   326,   330,
172      334,   338,   347,   348,   353,   354,   356,   361,   363,   368,
173      369,   372,   377,   376,   383,   385,   387,   389,   393,   395,
174      397,   401,   404,   407,   412,   416,   421,   426,   428,   431,
175      430,   439,   440,   444,   449,   451,   455,   459,   462,   467,
176      472,   475,   480,   484,   490,   492,   494,   498,   500,   502,
177      504,   506,   508,   510,   512,   514,   516,   518,   523,   525,
178      527,   529,   531,   534,   537,   540,   547,   549,   551,   553,
179      555,   561,   563,   565,   573,   582,   586,   594,   595,   596,
180      597,   598,   600,   602,   604,   606,   608,   610,   612,   614,
181      616,   618,   620,   622,   624,   626,   632,   639,   641,   643,
182      645,   648,   651,   654,   656,   658,   660,   662,   664,   667,
183      669,   671,   674,   676,   678,   680,   682,   683,   687,   689,
184      694,   696,   698,   700,   702,   707,   709,   714,   715,   717,
185      723,   727,   731,   735,   739,   743,   747,   752,   754,   756,
186      759
187 };
188 #endif
189
190 #if YYDEBUG || YYERROR_VERBOSE
191 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
192    First, the terminals, then, starting at YYNTOKENS, nonterminals. */
193 static const char *const yytname[] =
194 {
195   "$end", "error", "$undefined", "'{'", "WORD", "METHOD", "FUNCMETH", 
196   "THING", "PMFUNC", "PRIVATEREF", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", 
197   "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL", 
198   "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "LOOPEX", "DOTDOT", 
199   "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP", 
200   "ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "MYSUB", 
201   "COLONATTR", "'&'", "PREC_LOW", "DOROP", "OROP", "ANDOP", "NOTOP", 
202   "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR", "ANDAND", "BITOROP", 
203   "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS", 
204   "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC", "ARROW", "')'", 
205   "'('", "'['", "'}'", "';'", "']'", "'-'", "'+'", "'$'", "'@'", "'%'", 
206   "'*'", "$accept", "prog", "block", "remember", "progstart", "mblock", 
207   "mremember", "savescope", "lineseq", "line", "sideff", "else", "cond", 
208   "cont", "loop", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "mtexpr", 
209   "miexpr", "label", "decl", "format", "formname", "mysubrout", "subrout", 
210   "startsub", "startanonsub", "startformsub", "subname", "proto", 
211   "subattrlist", "myattrlist", "subbody", "package", "use", "@1", "expr", 
212   "argexpr", "listop", "@2", "method", "subscripted", "termbinop", 
213   "termunop", "anonymous", "termdo", "term", "myattrterm", "myterm", 
214   "listexpr", "listexprcom", "my_scalar", "amper", "scalar", "ary", "hsh", 
215   "arylen", "star", "indirob", 0
216 };
217 #endif
218
219 # ifdef YYPRINT
220 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
221    token YYLEX-NUM.  */
222 static const unsigned short yytoknum[] =
223 {
224        0,   256,   257,   123,   258,   259,   260,   261,   262,   263,
225      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
226      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
227      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
228      294,   295,   296,   297,   298,   299,    38,   300,   301,   302,
229      303,   304,    44,   305,    63,    58,   306,   307,   308,   309,
230      310,   311,   312,    33,   126,   313,   314,   315,   316,   317,
231      318,   319,   320,    41,    40,    91,   125,    59,    93,    45,
232       43,    36,    64,    37,    42
233 };
234 # endif
235
236 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
237 static const unsigned char yyr1[] =
238 {
239        0,    85,    86,    87,    88,    89,    90,    91,    92,    93,
240       93,    93,    94,    94,    94,    94,    95,    95,    95,    95,
241       95,    95,    95,    96,    96,    96,    97,    97,    98,    98,
242       99,    99,    99,    99,    99,    99,    99,   100,   100,   101,
243      101,   102,   103,   104,   105,   106,   107,   107,   108,   108,
244      108,   108,   108,   109,   110,   110,   111,   112,   113,   114,
245      115,   116,   117,   117,   118,   118,   118,   119,   119,   120,
246      120,   121,   123,   122,   124,   124,   124,   124,   125,   125,
247      125,   126,   126,   126,   126,   126,   126,   126,   126,   127,
248      126,   128,   128,   129,   129,   129,   129,   129,   129,   129,
249      129,   129,   129,   129,   130,   130,   130,   130,   130,   130,
250      130,   130,   130,   130,   130,   130,   130,   130,   131,   131,
251      131,   131,   131,   131,   131,   131,   132,   132,   132,   132,
252      132,   133,   133,   133,   133,   133,   133,   134,   134,   134,
253      134,   134,   134,   134,   134,   134,   134,   134,   134,   134,
254      134,   134,   134,   134,   134,   134,   134,   134,   134,   134,
255      134,   134,   134,   134,   134,   134,   134,   134,   134,   134,
256      134,   134,   134,   134,   134,   134,   134,   134,   135,   135,
257      136,   136,   136,   136,   136,   137,   137,   138,   138,   138,
258      139,   140,   141,   142,   143,   144,   145,   146,   146,   146,
259      146
260 };
261
262 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
263 static const unsigned char yyr2[] =
264 {
265        0,     2,     2,     4,     0,     0,     4,     0,     0,     0,
266        2,     3,     2,     1,     2,     3,     1,     1,     3,     3,
267        3,     3,     3,     0,     2,     6,     7,     7,     0,     2,
268        8,     8,    10,     9,     8,    11,     3,     0,     1,     0,
269        1,     1,     1,     1,     1,     1,     0,     1,     1,     1,
270        1,     1,     1,     4,     1,     0,     6,     6,     0,     0,
271        0,     1,     0,     1,     0,     2,     1,     2,     1,     1,
272        1,     3,     0,     7,     3,     3,     3,     1,     2,     3,
273        1,     3,     5,     6,     3,     3,     5,     2,     4,     0,
274        5,     1,     1,     5,     4,     5,     4,     5,     6,     5,
275        4,     5,     4,     3,     3,     3,     3,     3,     3,     3,
276        3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
277        2,     2,     2,     2,     2,     2,     3,     2,     4,     3,
278        5,     2,     2,     4,     5,     4,     5,     1,     1,     1,
279        1,     5,     2,     1,     2,     3,     2,     1,     1,     1,
280        1,     1,     1,     6,     5,     4,     5,     1,     1,     3,
281        4,     3,     1,     2,     2,     1,     2,     2,     2,     1,
282        3,     1,     3,     4,     4,     6,     1,     1,     3,     2,
283        3,     2,     1,     1,     1,     0,     1,     0,     1,     2,
284        1,     2,     2,     2,     2,     2,     2,     1,     1,     1,
285        1
286 };
287
288 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
289    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
290    means the default is an error.  */
291 static const unsigned char yydefact[] =
292 {
293        5,     0,     9,     1,     8,    60,    58,     0,    58,    58,
294       46,    10,    48,    50,    49,    51,    52,    55,     0,     0,
295       72,     0,    47,    11,    13,     0,    54,     0,    61,    62,
296       71,     0,    62,    16,     4,   176,     0,     0,   157,     0,
297      171,     0,    59,    59,     0,     0,     0,     0,     0,   162,
298      169,     0,     0,   165,   185,     0,     0,     0,     0,     0,
299        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
300       14,     0,     0,     0,     0,     0,     0,    28,     0,    12,
301       17,    77,   177,   152,   137,   138,   139,   140,    80,   143,
302      158,   147,   150,   149,   151,   148,    53,    63,    64,     0,
303       64,     9,   197,   200,   199,   198,   185,     0,     0,   168,
304        0,    62,     4,     4,     4,     4,     4,     4,     0,   163,
305        0,     0,   187,   166,   167,   197,   186,    87,   198,     0,
306      195,   176,   132,   131,   147,     0,     0,   185,   144,     0,
307      179,   182,   184,   183,   191,   164,   120,   121,   142,   125,
308      124,   146,     0,   127,     0,   118,   119,   192,   193,   194,
309      196,     0,    36,    15,     0,     0,     0,     0,     0,     0,
310        0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
312        0,   123,   122,     0,     0,     0,     0,     0,     0,     0,
313       66,     0,   185,     0,     8,    85,   187,     0,    89,    64,
314       39,     0,     0,     0,     0,     0,     4,   170,   172,     0,
315      188,     0,     0,    81,     0,     0,   129,     0,   161,   181,
316        0,    68,   178,     0,   145,   126,    29,    20,    21,    41,
317       18,    19,    22,    76,    75,    74,    79,     0,   103,     0,
318        0,   113,   109,   110,   106,   107,   104,     0,   116,   115,
319      114,   112,   111,   108,   117,   105,     0,    91,     0,     0,
320       84,    92,   159,     0,     0,     0,     0,     0,     0,    65,
321       70,    69,    57,     0,    56,     3,     0,     0,   174,   185,
322        0,    44,     0,    40,    45,     0,     0,    42,     0,     0,
323      190,    38,    43,     0,     0,    17,     0,   173,   189,    88,
324        0,   133,     0,   135,     0,   128,   180,    67,     0,     0,
325        0,   102,    96,     0,     0,   100,     0,     0,   187,   160,
326        0,    94,     0,   155,     0,    73,    86,     0,    90,   130,
327        0,     0,     0,     0,     0,     0,    39,     0,    82,   134,
328      136,   154,     0,    99,   141,     0,   101,    95,     0,    97,
329      156,    93,   175,     7,    28,    28,    23,    23,     0,    28,
330        0,     0,   153,    98,    83,     9,    30,    31,     0,     0,
331       26,    27,     0,    34,     0,    28,     8,    24,     0,    28,
332        0,    33,     6,     0,    32,     0,     0,    35,    23,    25
333 };
334
335 /* YYDEFGOTO[NTERM-NUM]. */
336 static const short yydefgoto[] =
337 {
338       -1,     1,   104,   101,     2,   364,   375,    10,     4,    23,
339      301,   380,    79,   162,    24,   302,   291,   294,   296,   304,
340      292,   295,    25,    11,    12,    27,    13,    14,    18,   110,
341       17,    29,    98,   201,   232,   282,    15,    16,    31,   297,
342       81,    82,   289,   270,    83,    84,    85,    86,    87,    88,
343       89,   140,   127,   221,   299,    90,    91,    92,    93,    94,
344       95,   106
345 };
346
347 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
348    STATE-NUM.  */
349 #define YYPACT_NINF -359
350 static const short yypact[] =
351 {
352     -359,    23,  -359,  -359,   192,  -359,  -359,    22,  -359,  -359,
353       16,  -359,  -359,  -359,  -359,  -359,  -359,    27,    50,   -39,
354     -359,    50,  -359,  -359,  -359,   303,  -359,    59,  -359,    64,
355     -359,    70,    64,  -359,  -359,  -359,     9,     9,  -359,     5,
356     -359,  1608,  -359,  -359,    38,    44,    52,    54,    10,  1608,
357       63,    78,    79,   635,   553,     9,   717,   798,   151,  1608,
358       -6,     9,  1608,  1608,  1608,  1608,  1608,  1608,   879,   960,
359     -359,  1608,  1608,     9,     9,     9,     9,    99,    88,  -359,
360      600,   114,  -359,    19,  -359,  -359,  -359,  -359,  1906,  -359,
361      105,     7,    14,  -359,  -359,   179,  -359,  -359,   144,   189,
362      144,  -359,  -359,  -359,  -359,  -359,  1608,   122,  1608,   784,
363       59,    64,  -359,  -359,  -359,  -359,  -359,  -359,   129,  1906,
364      157,  1041,   553,  -359,   784,  1734,   114,  -359,  1674,  1608,
365     -359,   160,  -359,   784,    34,   161,   -14,  1608,   784,  1122,
366      194,  -359,  -359,  -359,  -359,   114,    89,    89,    89,   -48,
367      -48,   165,   290,  -359,    86,    89,    89,  -359,  -359,  -359,
368     -359,    59,  -359,  -359,  1608,  1608,  1608,  1608,  1608,  1608,
369     1608,  1608,  1608,  1608,  1203,  1608,  1608,  1608,  1608,  1608,
370     1608,  1608,  1608,  1608,  1608,  1608,  1608,  1608,  1608,  1608,
371     1608,  -359,  -359,   120,  1284,  1608,  1608,  1608,  1608,  1608,
372      238,     4,  1608,     4,    55,  -359,  1608,  1780,  -359,   144,
373     1608,  1608,  1608,  1608,   170,   387,  -359,  -359,  -359,   308,
374      268,   173,  1608,   114,  1365,  1446,  -359,   176,  -359,  -359,
375      358,   246,  -359,  1608,   184,  -359,  -359,   -34,  -359,   -34,
376      -34,   -34,   -34,   210,   210,  -359,  1906,   127,  -359,   373,
377      164,  1990,   703,   539,   864,   230,  1906,  1864,   221,   221,
378      375,   458,   621,   830,    89,    89,  1608,  -359,  1527,  1608,
379      191,  -359,  -359,   540,   214,   322,   302,   406,   653,  -359,
380     -359,  -359,  -359,   193,  -359,  -359,   196,  1608,  -359,  1608,
381       59,  -359,   198,   -34,  -359,   200,   201,   -34,   211,   213,
382     -359,  -359,  -359,   222,   219,   228,  1608,  -359,  -359,  -359,
383      622,  -359,   663,  -359,   693,  -359,  -359,  -359,   489,  1608,
384      224,  -359,  -359,  1608,   735,  -359,   704,   499,  1608,  -359,
385      229,  -359,   236,  -359,   251,  -359,  -359,  1822,  -359,  -359,
386      325,   325,   325,   325,  1608,   325,  1608,   258,  -359,  -359,
387     -359,  -359,   581,  -359,  1948,   261,  -359,  -359,   274,  -359,
388     -359,  -359,  -359,  -359,    99,    99,    18,    18,   275,    99,
389      276,   325,  -359,  -359,  -359,  -359,  -359,  -359,   325,   281,
390     -359,  -359,   325,  -359,   471,    99,   115,  -359,  1608,    99,
391      287,  -359,  -359,   288,  -359,   325,   325,  -359,    18,  -359
392 };
393
394 /* YYPGOTO[NTERM-NUM].  */
395 static const short yypgoto[] =
396 {
397     -359,  -359,   -23,   -56,  -359,  -110,  -359,  -359,  -100,  -359,
398      339,  -358,  -359,  -202,  -359,  -359,  -359,   204,  -190,   -19,
399       29,   163,  -359,  -359,  -359,  -359,  -359,  -359,    40,   346,
400     -359,   369,   -26,   -92,  -359,   199,  -359,  -359,  -359,   -25,
401      -51,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,    39,
402     -359,  -359,   -87,  -201,  -359,  -359,    -9,   336,   341,  -359,
403     -359,    46
404 };
405
406 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
407    positive, shift that token.  If negative, reduce the rule which
408    number is the opposite.  If zero, do what YYDEFACT says.
409    If YYTABLE_NINF, syntax error.  */
410 #define YYTABLE_NINF -177
411 static const short yytable[] =
412 {
413       80,   204,    77,   126,    96,   286,   100,    34,   203,   381,
414      195,   145,    34,   102,   169,   170,   171,   197,   103,   205,
415     -177,  -177,   173,     3,   193,   303,    19,   105,   105,    22,
416      123,    26,   136,   132,   169,   170,   171,   195,    30,   118,
417      399,   378,   379,   152,   154,   128,   105,   134,    20,    21,
418      228,   141,   105,   116,    28,   126,   210,   211,   212,   213,
419      214,   215,    34,   227,   105,   105,   105,   105,   139,     5,
420        6,    97,     7,     8,    99,    73,    74,    75,   223,   108,
421      109,   280,   196,   107,   117,   209,   126,   208,   119,   198,
422       73,    73,   124,   174,   175,   133,   219,   220,   138,     9,
423      129,   130,   146,   147,   148,   149,   150,   144,   225,   196,
424      155,   156,   112,   128,   230,   283,   347,   290,   113,   157,
425      158,   159,   160,   266,   161,   267,   114,   358,   115,     5,
426        6,   285,     7,     8,   169,   170,   171,   120,   236,   237,
427      239,   240,   241,   242,   243,   244,   245,   207,   247,   249,
428      250,   126,   121,   122,   368,   137,   190,   191,   192,     9,
429      306,   193,   376,   377,   235,   163,   172,   383,   222,   273,
430      274,   275,   276,   277,   278,   169,   170,   171,   281,   194,
431      281,   220,   199,   391,   271,   293,   239,   394,   239,   200,
432      305,   392,    -2,   202,   268,   269,   206,   310,   393,   312,
433      314,    73,   338,   216,   320,   300,     5,     6,   318,     7,
434        8,   246,   169,   170,   171,   251,   252,   253,   254,   255,
435      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
436      217,   365,   366,   367,   224,   369,     9,   226,   126,   231,
437      233,   324,   322,   326,   327,   279,   309,   164,   165,   166,
438      167,    73,   315,   317,   168,   177,   178,   179,   180,   319,
439      171,   385,   169,   170,   171,   328,   179,   339,   387,   336,
440      335,   340,   389,   341,   342,   386,   169,   170,   171,   185,
441      186,   187,   188,   189,   343,   397,   398,   344,   190,   191,
442      192,   330,   189,   193,   352,   345,   346,   190,   191,   192,
443      353,   -42,   193,   220,    33,   359,    34,    35,    36,    37,
444       38,    39,   360,    40,    41,    42,   169,   170,   171,    43,
445      308,   293,    44,    45,    46,    47,   337,   361,   363,    48,
446       49,   371,    50,    51,    52,    53,    54,   373,   169,   170,
447      171,    55,    56,    57,    58,    59,    60,   374,   382,    61,
448      169,   170,   171,   384,    62,   388,   169,   170,   171,    80,
449      395,   396,   354,   234,    78,   390,    63,    64,    65,   238,
450      169,   170,   171,    66,    67,   370,   298,    68,    69,   332,
451       70,   307,    71,    72,    73,    74,    75,    76,    33,   111,
452       32,    35,    36,    37,    38,    39,   142,    40,    41,    42,
453      331,   143,   284,    43,     0,     0,   169,   170,   171,   177,
454      178,   179,   180,     0,    49,     0,    50,    51,    52,    53,
455       54,   169,   170,   171,     0,    55,    56,    57,    58,    59,
456       60,   316,     0,    61,   186,   187,   188,   189,    62,     0,
457        0,     0,   190,   191,   192,     0,   321,   193,     0,     0,
458       63,    64,    65,     0,   169,   170,   171,    66,    67,     0,
459        0,    68,    69,     0,   -37,     0,    71,    72,    73,    74,
460       75,    76,    33,     0,     0,    35,    36,    37,    38,    39,
461        0,    40,    41,    42,   333,     0,     0,    43,     0,     0,
462        0,     0,   177,   178,   179,   180,     0,     0,    49,     0,
463       50,    51,    52,    53,    54,     0,     0,     0,     0,    55,
464       56,    57,    58,    59,    60,     0,     0,    61,   187,   188,
465      189,     0,    62,     0,     0,   190,   191,   192,     0,     0,
466      193,     0,     0,     0,    63,    64,    65,   169,   170,   171,
467        0,    66,    67,     0,   -37,    68,    69,   169,   170,   171,
468       71,    72,    73,    74,    75,    76,    34,   125,    36,    37,
469       38,    39,   103,    40,    41,    42,     0,   351,     0,    43,
470        0,     0,     0,   177,  -177,   179,   180,   357,     0,     0,
471       49,     0,    50,    51,    52,    53,    54,     0,   169,   170,
472      171,    55,    56,    57,    58,    59,    60,     0,     0,    61,
473      188,   189,     0,     0,    62,     0,   190,   191,   192,     0,
474        0,   193,     0,   329,     0,     0,    63,    64,    65,   164,
475      165,   166,   167,    66,    67,     0,   168,    68,    69,   169,
476      170,   171,    71,    72,    73,    74,    75,    76,    34,    35,
477       36,    37,    38,    39,     0,    40,    41,    42,   169,   170,
478      171,    43,     0,     0,     0,   177,   178,   179,   180,   372,
479        0,     0,    49,     0,    50,    51,    52,    53,    54,     0,
480      169,   170,   171,    55,    56,    57,    58,    59,    60,     0,
481        0,    61,   188,   189,     0,     0,    62,     0,   190,   191,
482      192,     0,     0,   193,     0,   348,     0,     0,    63,    64,
483       65,   169,   170,   171,     0,    66,    67,     0,     0,    68,
484       69,   169,   170,   171,    71,    72,    73,    74,    75,    76,
485       34,   131,    36,    37,    38,    39,     0,    40,    41,    42,
486      334,     0,     0,    43,     0,     0,   349,  -177,     0,   179,
487      180,   169,   170,   171,    49,     0,    50,    51,    52,    53,
488       54,     0,   169,   170,   171,    55,    56,    57,    58,    59,
489       60,     0,     0,    61,   188,   189,   350,     0,    62,     0,
490      190,   191,   192,     0,     0,   193,     0,   356,     0,     0,
491       63,    64,    65,   169,   170,   171,     0,    66,    67,     0,
492        0,    68,    69,     0,     0,     0,    71,    72,    73,    74,
493       75,    76,    35,    36,    37,    38,    39,     0,    40,    41,
494       42,     0,   355,     0,    43,     0,     0,     0,     0,     0,
495      179,   180,     0,     0,     0,    49,     0,    50,    51,    52,
496       53,    54,     0,     0,     0,     0,    55,    56,    57,    58,
497       59,    60,     0,     0,    61,   188,   189,     0,     0,    62,
498        0,   190,   191,   192,     0,     0,   193,     0,     0,     0,
499        0,    63,    64,    65,     0,     0,   179,   180,    66,    67,
500        0,     0,    68,    69,     0,   135,     0,    71,    72,    73,
501       74,    75,    76,    35,    36,    37,    38,    39,     0,    40,
502       41,    42,   189,     0,     0,    43,     0,   190,   191,   192,
503        0,     0,   193,     0,     0,     0,    49,     0,    50,    51,
504       52,    53,    54,     0,     0,     0,     0,    55,    56,    57,
505       58,    59,    60,     0,     0,    61,   189,     0,     0,     0,
506       62,   190,   191,   192,     0,     0,   193,     0,     0,     0,
507        0,     0,    63,    64,    65,     0,     0,     0,     0,    66,
508       67,     0,   151,    68,    69,     0,     0,     0,    71,    72,
509       73,    74,    75,    76,    35,    36,    37,    38,    39,     0,
510       40,    41,    42,     0,     0,     0,    43,     0,     0,     0,
511        0,     0,     0,     0,     0,     0,     0,    49,     0,    50,
512       51,    52,    53,    54,     0,     0,     0,     0,    55,    56,
513       57,    58,    59,    60,     0,     0,    61,     0,     0,     0,
514        0,    62,     0,     0,     0,     0,     0,     0,     0,     0,
515        0,     0,     0,    63,    64,    65,     0,     0,     0,     0,
516       66,    67,     0,     0,    68,    69,     0,     0,   153,    71,
517       72,    73,    74,    75,    76,    35,    36,    37,    38,    39,
518        0,    40,    41,    42,     0,     0,     0,    43,     0,     0,
519        0,     0,     0,     0,     0,     0,     0,     0,    49,     0,
520       50,    51,    52,    53,    54,     0,     0,     0,     0,    55,
521       56,    57,    58,    59,    60,     0,     0,    61,     0,     0,
522        0,     0,    62,     0,     0,     0,     0,     0,     0,     0,
523        0,     0,     0,     0,    63,    64,    65,     0,     0,     0,
524        0,    66,    67,     0,   218,    68,    69,     0,     0,     0,
525       71,    72,    73,    74,    75,    76,    35,    36,    37,    38,
526       39,     0,    40,    41,    42,     0,     0,     0,    43,     0,
527        0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
528        0,    50,    51,    52,    53,    54,     0,     0,     0,     0,
529       55,    56,    57,    58,    59,    60,     0,     0,    61,     0,
530        0,     0,     0,    62,     0,     0,     0,     0,     0,     0,
531        0,     0,     0,     0,     0,    63,    64,    65,     0,     0,
532        0,     0,    66,    67,     0,   229,    68,    69,     0,     0,
533        0,    71,    72,    73,    74,    75,    76,    35,    36,    37,
534       38,    39,     0,    40,    41,    42,     0,     0,     0,    43,
535        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
536       49,     0,    50,    51,    52,    53,    54,     0,     0,     0,
537        0,    55,    56,    57,    58,    59,    60,     0,     0,    61,
538        0,     0,     0,     0,    62,     0,     0,     0,     0,     0,
539        0,     0,     0,     0,     0,     0,    63,    64,    65,     0,
540        0,     0,     0,    66,    67,     0,   248,    68,    69,     0,
541        0,     0,    71,    72,    73,    74,    75,    76,    35,    36,
542       37,    38,    39,     0,    40,    41,    42,     0,     0,     0,
543       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
544        0,    49,     0,    50,    51,    52,    53,    54,     0,     0,
545        0,     0,    55,    56,    57,    58,    59,    60,     0,     0,
546       61,     0,     0,     0,     0,    62,     0,     0,     0,     0,
547        0,     0,     0,     0,     0,     0,     0,    63,    64,    65,
548        0,     0,     0,     0,    66,    67,     0,   272,    68,    69,
549        0,     0,     0,    71,    72,    73,    74,    75,    76,    35,
550       36,    37,    38,    39,     0,    40,    41,    42,     0,     0,
551        0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
552        0,     0,    49,     0,    50,    51,    52,    53,    54,     0,
553        0,     0,     0,    55,    56,    57,    58,    59,    60,     0,
554        0,    61,     0,     0,     0,     0,    62,     0,     0,     0,
555        0,     0,     0,     0,     0,     0,     0,     0,    63,    64,
556       65,     0,     0,     0,     0,    66,    67,     0,   311,    68,
557       69,     0,     0,     0,    71,    72,    73,    74,    75,    76,
558       35,    36,    37,    38,    39,     0,    40,    41,    42,     0,
559        0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
560        0,     0,     0,    49,     0,    50,    51,    52,    53,    54,
561        0,     0,     0,     0,    55,    56,    57,    58,    59,    60,
562        0,     0,    61,     0,     0,     0,     0,    62,     0,     0,
563        0,     0,     0,     0,     0,     0,     0,     0,     0,    63,
564       64,    65,     0,     0,     0,     0,    66,    67,     0,   313,
565       68,    69,     0,     0,     0,    71,    72,    73,    74,    75,
566       76,    35,    36,    37,    38,    39,     0,    40,    41,    42,
567        0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
568        0,     0,     0,     0,    49,     0,    50,    51,    52,    53,
569       54,     0,     0,     0,     0,    55,    56,    57,    58,    59,
570       60,     0,     0,    61,     0,     0,     0,     0,    62,     0,
571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
572       63,    64,    65,     0,     0,     0,     0,    66,    67,     0,
573      325,    68,    69,     0,     0,     0,    71,    72,    73,    74,
574       75,    76,    35,    36,    37,    38,    39,     0,    40,    41,
575       42,     0,     0,     0,    43,     0,     0,     0,     0,     0,
576        0,     0,     0,     0,     0,    49,     0,    50,    51,    52,
577       53,    54,     0,     0,     0,     0,    55,    56,    57,    58,
578       59,    60,     0,     0,    61,     0,     0,     0,     0,    62,
579        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
580        0,    63,    64,    65,     0,     0,     0,   195,    66,    67,
581        0,     0,    68,    69,     0,     0,     0,    71,    72,    73,
582       74,    75,    76,  -147,  -147,  -147,  -147,     0,     0,     0,
583     -147,     0,  -147,     0,     0,     0,     0,     0,  -147,  -147,
584     -147,  -147,     0,     0,     0,     0,     0,     0,     0,     0,
585        0,     0,  -147,  -147,  -147,     0,  -147,  -147,  -147,  -147,
586     -147,  -147,  -147,  -147,  -147,  -147,  -147,     0,     0,     0,
587        0,  -147,  -147,  -147,     0,     0,  -147,  -147,     0,   196,
588        0,  -147,  -147,  -176,  -176,  -176,  -176,     0,     0,     0,
589     -176,     0,  -176,     0,     0,     0,     0,     0,  -176,  -176,
590     -176,  -176,     0,     0,     0,     0,     0,     0,     0,     0,
591        0,     0,  -176,  -176,  -176,     0,  -176,  -176,  -176,  -176,
592     -176,  -176,  -176,  -176,  -176,  -176,  -176,     0,     0,     0,
593        0,  -176,  -176,  -176,     0,     0,  -176,  -176,   176,     0,
594        0,  -176,  -176,     0,   177,   178,   179,   180,     0,     0,
595        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
596        0,     0,   287,   181,   182,     0,   183,   184,   185,   186,
597      187,   188,   189,     0,     0,     0,     0,   190,   191,   192,
598      176,     0,   193,   288,     0,     0,   177,   178,   179,   180,
599        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
600        0,     0,     0,     0,     0,   181,   182,     0,   183,   184,
601      185,   186,   187,   188,   189,     0,     0,     0,     0,   190,
602      191,   192,   176,     0,   193,   362,     0,     0,   177,   178,
603      179,   180,     0,     0,     0,     0,     0,     0,     0,     0,
604        0,     0,     0,     0,     0,     0,     0,   181,   182,   323,
605      183,   184,   185,   186,   187,   188,   189,     0,     0,     0,
606        0,   190,   191,   192,   176,     0,   193,     0,     0,     0,
607      177,   178,   179,   180,     0,     0,     0,     0,     0,     0,
608        0,     0,     0,     0,     0,     0,     0,     0,     0,   181,
609      182,     0,   183,   184,   185,   186,   187,   188,   189,     0,
610        0,     0,     0,   190,   191,   192,   176,     0,   193,     0,
611        0,     0,   177,   178,   179,   180,     0,     0,     0,     0,
612        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
613        0,     0,   182,     0,   183,   184,   185,   186,   187,   188,
614      189,     0,     0,     0,     0,   190,   191,   192,  -177,     0,
615      193,     0,     0,     0,   177,   178,   179,   180,     0,     0,
616        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
617        0,     0,     0,     0,     0,     0,   183,   184,   185,   186,
618      187,   188,   189,     0,     0,     0,     0,   190,   191,   192,
619        0,     0,   193
620 };
621
622 static const short yycheck[] =
623 {
624       25,   101,    25,    54,    27,   206,    32,     3,   100,   367,
625        3,    62,     3,     4,    48,    49,    50,     3,     9,   106,
626       68,    69,     3,     0,    72,   215,     4,    36,    37,    13,
627       53,     4,    57,    56,    48,    49,    50,     3,    77,    48,
628      398,    23,    24,    68,    69,    54,    55,    56,     8,     9,
629      137,    60,    61,    43,     4,   106,   112,   113,   114,   115,
630      116,   117,     3,    77,    73,    74,    75,    76,    74,    14,
631       15,     7,    17,    18,     4,    81,    82,    83,   129,    74,
632       41,    77,    75,    37,    74,   111,   137,   110,    49,    75,
633       81,    81,    53,    74,    75,    56,   121,   122,    59,    44,
634       54,    55,    63,    64,    65,    66,    67,    61,    74,    75,
635       71,    72,    74,   122,   139,   202,   306,   209,    74,    73,
636       74,    75,    76,     3,    25,     5,    74,   328,    74,    14,
637       15,    76,    17,    18,    48,    49,    50,    74,   161,   164,
638      165,   166,   167,   168,   169,   170,   171,   108,   173,   174,
639      175,   202,    74,    74,   344,     4,    67,    68,    69,    44,
640      216,    72,   364,   365,    78,    77,    52,   369,   122,   194,
641      195,   196,   197,   198,   199,    48,    49,    50,   201,    74,
642      203,   206,     3,   385,   193,   210,   211,   389,   213,    45,
643      215,    76,     0,     4,    74,    75,    74,   222,   388,   224,
644      225,    81,   289,    74,    77,   214,    14,    15,   233,    17,
645       18,   172,    48,    49,    50,   176,   177,   178,   179,   180,
646      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
647       73,   341,   342,   343,    74,   345,    44,    76,   289,    45,
648       75,   266,    78,   268,   269,     7,    73,    19,    20,    21,
649       22,    81,    76,     7,    26,    34,    35,    36,    37,    75,
650       50,   371,    48,    49,    50,    74,    36,   290,   378,    73,
651       77,    73,   382,    73,    73,   375,    48,    49,    50,    58,
652       59,    60,    61,    62,    73,   395,   396,    74,    67,    68,
653       69,    77,    62,    72,   319,    73,    77,    67,    68,    69,
654       76,    73,    72,   328,     1,    76,     3,     4,     5,     6,
655        7,     8,    76,    10,    11,    12,    48,    49,    50,    16,
656       52,   346,    19,    20,    21,    22,   287,    76,     3,    26,
657       27,    73,    29,    30,    31,    32,    33,    76,    48,    49,
658       50,    38,    39,    40,    41,    42,    43,    73,    73,    46,
659       48,    49,    50,    77,    51,    74,    48,    49,    50,   384,
660       73,    73,   323,    73,    25,   384,    63,    64,    65,   165,
661       48,    49,    50,    70,    71,   346,   213,    74,    75,    77,
662       77,    73,    79,    80,    81,    82,    83,    84,     1,    43,
663       21,     4,     5,     6,     7,     8,    60,    10,    11,    12,
664       78,    60,   203,    16,    -1,    -1,    48,    49,    50,    34,
665       35,    36,    37,    -1,    27,    -1,    29,    30,    31,    32,
666       33,    48,    49,    50,    -1,    38,    39,    40,    41,    42,
667       43,    73,    -1,    46,    59,    60,    61,    62,    51,    -1,
668       -1,    -1,    67,    68,    69,    -1,    73,    72,    -1,    -1,
669       63,    64,    65,    -1,    48,    49,    50,    70,    71,    -1,
670       -1,    74,    75,    -1,    77,    -1,    79,    80,    81,    82,
671       83,    84,     1,    -1,    -1,     4,     5,     6,     7,     8,
672       -1,    10,    11,    12,    78,    -1,    -1,    16,    -1,    -1,
673       -1,    -1,    34,    35,    36,    37,    -1,    -1,    27,    -1,
674       29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,    38,
675       39,    40,    41,    42,    43,    -1,    -1,    46,    60,    61,
676       62,    -1,    51,    -1,    -1,    67,    68,    69,    -1,    -1,
677       72,    -1,    -1,    -1,    63,    64,    65,    48,    49,    50,
678       -1,    70,    71,    -1,    73,    74,    75,    48,    49,    50,
679       79,    80,    81,    82,    83,    84,     3,     4,     5,     6,
680        7,     8,     9,    10,    11,    12,    -1,    78,    -1,    16,
681       -1,    -1,    -1,    34,    35,    36,    37,    78,    -1,    -1,
682       27,    -1,    29,    30,    31,    32,    33,    -1,    48,    49,
683       50,    38,    39,    40,    41,    42,    43,    -1,    -1,    46,
684       61,    62,    -1,    -1,    51,    -1,    67,    68,    69,    -1,
685       -1,    72,    -1,    73,    -1,    -1,    63,    64,    65,    19,
686       20,    21,    22,    70,    71,    -1,    26,    74,    75,    48,
687       49,    50,    79,    80,    81,    82,    83,    84,     3,     4,
688        5,     6,     7,     8,    -1,    10,    11,    12,    48,    49,
689       50,    16,    -1,    -1,    -1,    34,    35,    36,    37,    78,
690       -1,    -1,    27,    -1,    29,    30,    31,    32,    33,    -1,
691       48,    49,    50,    38,    39,    40,    41,    42,    43,    -1,
692       -1,    46,    61,    62,    -1,    -1,    51,    -1,    67,    68,
693       69,    -1,    -1,    72,    -1,    73,    -1,    -1,    63,    64,
694       65,    48,    49,    50,    -1,    70,    71,    -1,    -1,    74,
695       75,    48,    49,    50,    79,    80,    81,    82,    83,    84,
696        3,     4,     5,     6,     7,     8,    -1,    10,    11,    12,
697       77,    -1,    -1,    16,    -1,    -1,    73,    34,    -1,    36,
698       37,    48,    49,    50,    27,    -1,    29,    30,    31,    32,
699       33,    -1,    48,    49,    50,    38,    39,    40,    41,    42,
700       43,    -1,    -1,    46,    61,    62,    73,    -1,    51,    -1,
701       67,    68,    69,    -1,    -1,    72,    -1,    73,    -1,    -1,
702       63,    64,    65,    48,    49,    50,    -1,    70,    71,    -1,
703       -1,    74,    75,    -1,    -1,    -1,    79,    80,    81,    82,
704       83,    84,     4,     5,     6,     7,     8,    -1,    10,    11,
705       12,    -1,    77,    -1,    16,    -1,    -1,    -1,    -1,    -1,
706       36,    37,    -1,    -1,    -1,    27,    -1,    29,    30,    31,
707       32,    33,    -1,    -1,    -1,    -1,    38,    39,    40,    41,
708       42,    43,    -1,    -1,    46,    61,    62,    -1,    -1,    51,
709       -1,    67,    68,    69,    -1,    -1,    72,    -1,    -1,    -1,
710       -1,    63,    64,    65,    -1,    -1,    36,    37,    70,    71,
711       -1,    -1,    74,    75,    -1,    77,    -1,    79,    80,    81,
712       82,    83,    84,     4,     5,     6,     7,     8,    -1,    10,
713       11,    12,    62,    -1,    -1,    16,    -1,    67,    68,    69,
714       -1,    -1,    72,    -1,    -1,    -1,    27,    -1,    29,    30,
715       31,    32,    33,    -1,    -1,    -1,    -1,    38,    39,    40,
716       41,    42,    43,    -1,    -1,    46,    62,    -1,    -1,    -1,
717       51,    67,    68,    69,    -1,    -1,    72,    -1,    -1,    -1,
718       -1,    -1,    63,    64,    65,    -1,    -1,    -1,    -1,    70,
719       71,    -1,    73,    74,    75,    -1,    -1,    -1,    79,    80,
720       81,    82,    83,    84,     4,     5,     6,     7,     8,    -1,
721       10,    11,    12,    -1,    -1,    -1,    16,    -1,    -1,    -1,
722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,    29,
723       30,    31,    32,    33,    -1,    -1,    -1,    -1,    38,    39,
724       40,    41,    42,    43,    -1,    -1,    46,    -1,    -1,    -1,
725       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
726       -1,    -1,    -1,    63,    64,    65,    -1,    -1,    -1,    -1,
727       70,    71,    -1,    -1,    74,    75,    -1,    -1,    78,    79,
728       80,    81,    82,    83,    84,     4,     5,     6,     7,     8,
729       -1,    10,    11,    12,    -1,    -1,    -1,    16,    -1,    -1,
730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,
731       29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,    38,
732       39,    40,    41,    42,    43,    -1,    -1,    46,    -1,    -1,
733       -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
734       -1,    -1,    -1,    -1,    63,    64,    65,    -1,    -1,    -1,
735       -1,    70,    71,    -1,    73,    74,    75,    -1,    -1,    -1,
736       79,    80,    81,    82,    83,    84,     4,     5,     6,     7,
737        8,    -1,    10,    11,    12,    -1,    -1,    -1,    16,    -1,
738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
739       -1,    29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,
740       38,    39,    40,    41,    42,    43,    -1,    -1,    46,    -1,
741       -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,
742       -1,    -1,    -1,    -1,    -1,    63,    64,    65,    -1,    -1,
743       -1,    -1,    70,    71,    -1,    73,    74,    75,    -1,    -1,
744       -1,    79,    80,    81,    82,    83,    84,     4,     5,     6,
745        7,     8,    -1,    10,    11,    12,    -1,    -1,    -1,    16,
746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
747       27,    -1,    29,    30,    31,    32,    33,    -1,    -1,    -1,
748       -1,    38,    39,    40,    41,    42,    43,    -1,    -1,    46,
749       -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,
750       -1,    -1,    -1,    -1,    -1,    -1,    63,    64,    65,    -1,
751       -1,    -1,    -1,    70,    71,    -1,    73,    74,    75,    -1,
752       -1,    -1,    79,    80,    81,    82,    83,    84,     4,     5,
753        6,     7,     8,    -1,    10,    11,    12,    -1,    -1,    -1,
754       16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
755       -1,    27,    -1,    29,    30,    31,    32,    33,    -1,    -1,
756       -1,    -1,    38,    39,    40,    41,    42,    43,    -1,    -1,
757       46,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,
758       -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,    64,    65,
759       -1,    -1,    -1,    -1,    70,    71,    -1,    73,    74,    75,
760       -1,    -1,    -1,    79,    80,    81,    82,    83,    84,     4,
761        5,     6,     7,     8,    -1,    10,    11,    12,    -1,    -1,
762       -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
763       -1,    -1,    27,    -1,    29,    30,    31,    32,    33,    -1,
764       -1,    -1,    -1,    38,    39,    40,    41,    42,    43,    -1,
765       -1,    46,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,
766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,    64,
767       65,    -1,    -1,    -1,    -1,    70,    71,    -1,    73,    74,
768       75,    -1,    -1,    -1,    79,    80,    81,    82,    83,    84,
769        4,     5,     6,     7,     8,    -1,    10,    11,    12,    -1,
770       -1,    -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
771       -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,    33,
772       -1,    -1,    -1,    -1,    38,    39,    40,    41,    42,    43,
773       -1,    -1,    46,    -1,    -1,    -1,    -1,    51,    -1,    -1,
774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,
775       64,    65,    -1,    -1,    -1,    -1,    70,    71,    -1,    73,
776       74,    75,    -1,    -1,    -1,    79,    80,    81,    82,    83,
777       84,     4,     5,     6,     7,     8,    -1,    10,    11,    12,
778       -1,    -1,    -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,
779       -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,
780       33,    -1,    -1,    -1,    -1,    38,    39,    40,    41,    42,
781       43,    -1,    -1,    46,    -1,    -1,    -1,    -1,    51,    -1,
782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
783       63,    64,    65,    -1,    -1,    -1,    -1,    70,    71,    -1,
784       73,    74,    75,    -1,    -1,    -1,    79,    80,    81,    82,
785       83,    84,     4,     5,     6,     7,     8,    -1,    10,    11,
786       12,    -1,    -1,    -1,    16,    -1,    -1,    -1,    -1,    -1,
787       -1,    -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,
788       32,    33,    -1,    -1,    -1,    -1,    38,    39,    40,    41,
789       42,    43,    -1,    -1,    46,    -1,    -1,    -1,    -1,    51,
790       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
791       -1,    63,    64,    65,    -1,    -1,    -1,     3,    70,    71,
792       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    80,    81,
793       82,    83,    84,    19,    20,    21,    22,    -1,    -1,    -1,
794       26,    -1,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,
795       36,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
796       -1,    -1,    48,    49,    50,    -1,    52,    53,    54,    55,
797       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    -1,
798       -1,    67,    68,    69,    -1,    -1,    72,    73,    -1,    75,
799       -1,    77,    78,    19,    20,    21,    22,    -1,    -1,    -1,
800       26,    -1,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,
801       36,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
802       -1,    -1,    48,    49,    50,    -1,    52,    53,    54,    55,
803       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    -1,
804       -1,    67,    68,    69,    -1,    -1,    72,    73,    28,    -1,
805       -1,    77,    78,    -1,    34,    35,    36,    37,    -1,    -1,
806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
807       -1,    -1,    52,    53,    54,    -1,    56,    57,    58,    59,
808       60,    61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,
809       28,    -1,    72,    73,    -1,    -1,    34,    35,    36,    37,
810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
811       -1,    -1,    -1,    -1,    -1,    53,    54,    -1,    56,    57,
812       58,    59,    60,    61,    62,    -1,    -1,    -1,    -1,    67,
813       68,    69,    28,    -1,    72,    73,    -1,    -1,    34,    35,
814       36,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    54,    55,
816       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    -1,
817       -1,    67,    68,    69,    28,    -1,    72,    -1,    -1,    -1,
818       34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,    -1,
819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,
820       54,    -1,    56,    57,    58,    59,    60,    61,    62,    -1,
821       -1,    -1,    -1,    67,    68,    69,    28,    -1,    72,    -1,
822       -1,    -1,    34,    35,    36,    37,    -1,    -1,    -1,    -1,
823       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
824       -1,    -1,    54,    -1,    56,    57,    58,    59,    60,    61,
825       62,    -1,    -1,    -1,    -1,    67,    68,    69,    28,    -1,
826       72,    -1,    -1,    -1,    34,    35,    36,    37,    -1,    -1,
827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
828       -1,    -1,    -1,    -1,    -1,    -1,    56,    57,    58,    59,
829       60,    61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,
830       -1,    -1,    72
831 };
832
833 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
834    symbol of state STATE-NUM.  */
835 static const unsigned char yystos[] =
836 {
837        0,    86,    89,     0,    93,    14,    15,    17,    18,    44,
838       92,   108,   109,   111,   112,   121,   122,   115,   113,     4,
839      113,   113,    13,    94,    99,   107,     4,   110,     4,   116,
840       77,   123,   116,     1,     3,     4,     5,     6,     7,     8,
841       10,    11,    12,    16,    19,    20,    21,    22,    26,    27,
842       29,    30,    31,    32,    33,    38,    39,    40,    41,    42,
843       43,    46,    51,    63,    64,    65,    70,    71,    74,    75,
844       77,    79,    80,    81,    82,    83,    84,    87,    95,    97,
845      124,   125,   126,   129,   130,   131,   132,   133,   134,   135,
846      140,   141,   142,   143,   144,   145,    87,     7,   117,     4,
847      117,    88,     4,     9,    87,   141,   146,   146,    74,   134,
848      114,   114,    74,    74,    74,    74,    43,    74,   141,   134,
849       74,    74,    74,    87,   134,     4,   125,   137,   141,   146,
850      146,     4,    87,   134,   141,    77,   124,     4,   134,    74,
851      136,   141,   142,   143,   146,   125,   134,   134,   134,   134,
852      134,    73,   124,    78,   124,   134,   134,   146,   146,   146,
853      146,    25,    98,    77,    19,    20,    21,    22,    26,    48,
854       49,    50,    52,     3,    74,    75,    28,    34,    35,    36,
855       37,    53,    54,    56,    57,    58,    59,    60,    61,    62,
856       67,    68,    69,    72,    74,     3,    75,     3,    75,     3,
857       45,   118,     4,   118,    93,   137,    74,   134,    87,   117,
858       88,    88,    88,    88,    88,    88,    74,    73,    73,   124,
859      124,   138,   146,   125,    74,    74,    76,    77,   137,    73,
860      124,    45,   119,    75,    73,    78,    87,   124,   102,   124,
861      124,   124,   124,   124,   124,   124,   134,   124,    73,   124,
862      124,   134,   134,   134,   134,   134,   134,   134,   134,   134,
863      134,   134,   134,   134,   134,   134,     3,     5,    74,    75,
864      128,   141,    73,   124,   124,   124,   124,   124,   124,     7,
865       77,    87,   120,   137,   120,    76,   138,    52,    73,   127,
866      118,   101,   105,   124,   102,   106,   103,   124,   106,   139,
867      141,    95,   100,   103,   104,   124,    88,    73,    52,    73,
868      124,    73,   124,    73,   124,    76,    73,     7,   124,    75,
869       77,    73,    78,    55,   124,    73,   124,   124,    74,    73,
870       77,    78,    77,    78,    77,    77,    73,   134,   137,    87,
871       73,    73,    73,    73,    74,    73,    77,   103,    73,    73,
872       73,    78,   124,    76,   134,    77,    73,    78,   138,    76,
873       76,    76,    73,     3,    90,    90,    90,    90,   103,    90,
874      105,    73,    78,    76,    73,    91,    98,    98,    23,    24,
875       96,    96,    73,    98,    77,    90,    93,    90,    74,    90,
876      104,    98,    76,   103,    98,    73,    73,    90,    90,    96
877 };