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