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