[perl #130495] add fresh_perl() option for prog with embedded utf8
[perl.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   3085
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  272
17 /* YYNSTATES -- Number of states.  */
18 #define YYNSTATES  539
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,   128,   127,   137,   136,   149,   148,
73      161,   160,   173,   172,   184,   192,   200,   204,   212,   218,
74      219,   229,   230,   239,   243,   247,   251,   258,   260,   271,
75      270,   304,   303,   342,   350,   349,   358,   364,   370,   375,
76      377,   379,   386,   394,   396,   393,   413,   418,   425,   424,
77      439,   447,   453,   460,   459,   474,   478,   486,   504,   505,
78      510,   512,   514,   516,   518,   520,   522,   525,   531,   532,
79      537,   548,   549,   555,   561,   562,   567,   570,   574,   579,
80      583,   587,   588,   592,   598,   603,   608,   609,   614,   615,
81      620,   621,   623,   628,   630,   642,   643,   648,   650,   654,
82      674,   675,   677,   683,   748,   750,   756,   758,   762,   768,
83      769,   774,   773,   825,   826,   830,   832,   834,   836,   840,
84      842,   847,   851,   855,   859,   865,   870,   876,   882,   884,
85      887,   886,   897,   898,   902,   906,   909,   914,   919,   922,
86      926,   930,   933,   938,   942,   945,   947,   949,   954,   956,
87      958,   963,   965,   967,   969,   971,   973,   975,   977,   979,
88      981,   983,   988,   990,   993,   995,   997,  1000,  1003,  1014,
89     1017,  1024,  1026,  1028,  1030,  1032,  1035,  1049,  1051,  1055,
90     1056,  1057,  1058,  1059,  1061,  1063,  1065,  1067,  1069,  1071,
91     1073,  1075,  1077,  1079,  1081,  1083,  1085,  1087,  1097,  1107,
92     1117,  1127,  1129,  1131,  1134,  1139,  1143,  1145,  1147,  1149,
93     1152,  1154,  1157,  1159,  1161,  1163,  1165,  1167,  1169,  1171,
94     1173,  1176,  1178,  1180,  1182,  1184,  1186,  1190,  1193,  1192,
95     1205,  1206,  1207,  1212,  1216,  1218,  1220,  1225,  1227,  1230,
96     1232,  1234,  1239,  1241,  1246,  1247,  1252,  1253,  1259,  1263,
97     1264,  1265,  1268,  1269,  1272,  1273,  1276,  1280,  1284,  1290,
98     1296,  1298,  1302,  1306,  1307,  1311,  1312,  1316,  1317,  1322,
99     1324,  1326,  1329
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",
124   "remember", "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt",
125   "labfullstmt", "barestmt", "$@7", "$@8", "$@9", "$@10", "$@11", "@12",
126   "$@13", "formline", "formarg", "sideff", "else", "cont", "mintro",
127   "nexpr", "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", "$@14", "optsubbody", "expr", "listexpr", "listop",
132   "@15", "method", "subscripted", "termbinop", "termunop", "anonymous",
133   "termdo", "term", "@16", "myattrterm", "myterm", "optlistexpr",
134   "optexpr", "optrepl", "my_scalar", "my_var", "refgen_topic", "my_refgen",
135   "amper", "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice",
136   "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 -440
160
161 #define yypact_value_is_default(Yystate) \
162   (!!((Yystate) == (-440)))
163
164 #define YYTABLE_NINF -268
165
166 #define yytable_value_is_error(Yytable_value) \
167   (!!((Yytable_value) == (-268)))
168
169   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
170      STATE-NUM.  */
171 static const yytype_int16 yypact[] =
172 {
173      824,  -440,  -440,  -440,  -440,  -440,  -440,    21,  -440,  2826,
174       44,  1518,  1423,  -440,  -440,  -440,  1989,  2826,  2826,    60,
175       60,    60,  -440,    60,    60,  -440,  -440,     8,   -68,  -440,
176     2826,  -440,  -440,  -440,  2826,  -440,   -46,   -29,   -18,  1896,
177     1801,    60,  1896,  2082,    16,  2826,   137,  2826,  2826,  2826,
178     2826,  2826,  2826,  2826,  2175,    60,    60,   170,    36,  -440,
179        7,  -440,  -440,  -440,  -440,  2945,  -440,  -440,    17,   126,
180      209,   221,  -440,    89,   239,   266,   113,  -440,  -440,  -440,
181     -440,  -440,    16,   106,  -440,    29,    32,    57,    61,   149,
182       66,    70,    44,  -440,   102,  -440,   116,   325,  1423,  -440,
183     -440,  -440,   663,   758,  -440,   195,   442,   442,  -440,  -440,
184     -440,  -440,  -440,  -440,  -440,  2826,    73,   122,  2826,   127,
185      318,    44,    -8,  2945,   142,  2268,  1801,  -440,   318,   561,
186       36,  -440,   485,  2826,  -440,  -440,   318,   215,    90,  -440,
187     -440,  2826,   318,  2919,  2361,   186,  -440,  -440,  -440,   318,
188       36,   442,   442,   442,   535,   535,   252,   256,  -440,  -440,
189     2826,  2826,  2826,  2826,  2826,  2826,  2454,  2826,  2826,  2826,
190     2826,  2826,  2826,  2826,  2826,  2826,  2826,  2826,  2826,  2826,
191     2826,  2826,  -440,  -440,  -440,    72,  2547,  2826,  2826,  2826,
192     2826,  2826,  2826,  2826,  -440,   244,  -440,   260,  -440,  -440,
193     -440,  -440,  -440,   190,    23,  -440,  -440,   184,  -440,  -440,
194     -440,    44,  -440,  -440,  2826,  2826,  2826,  2826,  2826,  2826,
195     -440,  -440,  -440,  -440,  -440,  2826,  2826,   217,  -440,  -440,
196     -440,   194,   227,  -440,  -440,   295,   187,  2826,    36,  -440,
197      296,  -440,  2640,   442,   186,    47,    52,    75,  -440,   309,
198      284,  -440,  2826,   301,   251,   251,  -440,  2945,   160,   230,
199     -440,   455,  1600,   518,  1879,   498,   646,  2945,   369,  1692,
200     1692,   419,  1786,  1972,   531,   442,   442,  2826,  2826,   224,
201      229,   231,  -440,   232,  2733,    48,   243,   274,  -440,  -440,
202      475,   192,   235,   370,   246,   399,   250,   408,   853,  -440,
203      338,   290,    -2,   355,  2826,  2826,  2826,  2826,  -440,   299,
204     -440,  -440,   297,  -440,  -440,  -440,  -440,  1612,    31,  -440,
205     2826,  2826,  -440,   170,  -440,   170,   170,   170,   170,   170,
206      303,    19,  -440,  2826,  -440,   227,   380,    44,  -440,  -440,
207      576,  -440,    98,   648,  -440,  -440,  -440,   264,  2826,   402,
208     -440,  -440,  2826,   418,   270,  -440,  -440,  -440,  -440,  -440,
209      661,  -440,  -440,  2826,  -440,   409,  -440,   412,  -440,   415,
210     -440,   416,  -440,  -440,  -440,   386,  -440,  -440,  -440,   411,
211      333,   170,   336,   337,   170,   339,   341,  -440,  -440,  -440,
212     -440,   340,   345,   312,  -440,  2826,   358,   359,  -440,  2826,
213      363,  -440,   112,   459,  -440,  -440,  -440,   107,  -440,   275,
214     -440,  2987,   465,  -440,  -440,   377,  -440,  -440,  -440,  -440,
215      368,   227,   194,  -440,  2826,  -440,  -440,   477,   477,  2826,
216     2826,   477,  -440,   384,   389,   477,   477,   170,  -440,  -440,
217     -440,   464,   464,  -440,  -440,  -440,   413,   396,  -440,  -440,
218     -440,  -440,   427,     5,   227,  -440,   398,   477,   477,  -440,
219      134,   134,   414,   421,   102,  2826,  2826,   477,  -440,  -440,
220     -440,   423,   423,   112,  -440,   948,  -440,  -440,  -440,  -440,
221      499,  1043,  -440,   102,   102,  -440,   477,   407,  -440,  -440,
222      477,   477,  -440,   422,   433,   102,  2826,  -440,  -440,  -440,
223     -440,     3,  -440,  -440,  -440,  -440,  1138,  -440,  2826,   102,
224      102,  -440,   477,  -440,  2945,   452,   493,  -440,  1233,  -440,
225      436,  -440,  -440,  -440,   102,  -440,  -440,  -440,  -440,   477,
226     1706,  -440,  1328,   134,   448,  -440,  -440,   477,  -440
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,   244,
235        0,     0,     0,    19,     1,    19,     0,     0,     0,     0,
236        0,     0,   230,     0,     0,   201,   228,   189,   223,   225,
237      219,    84,   233,    84,   211,   232,   221,     0,     0,   214,
238      242,     0,     0,     0,     0,     0,     0,   217,     0,     0,
239        0,     0,     0,     0,     0,     0,     0,   245,   118,   231,
240      196,   179,   180,   181,   182,   121,   186,     5,   202,   191,
241      194,   193,   195,   192,     0,     0,     0,    16,     7,    60,
242       27,    85,     0,     0,    83,     0,     0,     0,     0,     0,
243        0,     0,     0,    56,    71,     9,     0,    61,     0,    11,
244       24,    23,     0,     0,   172,     0,   162,   163,   269,   272,
245      271,   270,   258,   259,   256,   242,     0,     0,     0,     0,
246      220,     0,    88,   212,     0,     0,   244,   215,   216,   269,
247      243,   128,   270,     0,   260,   178,   177,     0,     0,    86,
248       87,   242,   187,     0,     0,   235,   239,   241,   240,   218,
249      213,   164,   165,   184,   169,   170,   190,     0,   257,   262,
250        0,     0,     0,   119,     0,     0,     0,     0,     0,     0,
251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
252        0,     0,   166,   167,   168,     0,     0,     0,     0,     0,
253        0,     0,     0,     0,    19,    82,    83,     0,    34,    16,
254       16,    16,    16,    16,     0,    16,    16,     0,    16,    16,
255       40,     0,    52,    55,     0,     0,     0,     0,     0,     0,
256       26,    25,    20,   171,   126,   244,     0,     0,   224,   130,
257       89,     0,    90,   222,   226,     0,     0,     0,   122,   174,
258        0,   205,     0,   185,     0,   191,   194,   193,   238,     0,
259       94,   234,     0,   188,   116,   117,   115,   120,     0,     0,
260      144,     0,   157,   153,   154,   150,   151,   148,     0,   159,
261      160,   158,   156,   155,   152,   161,   149,     0,     0,   264,
262      266,     0,   132,     0,     0,     0,   268,   125,   133,   203,
263        0,     0,     0,     0,     0,     0,     0,     0,     0,    81,
264        0,    29,     0,     0,    76,     0,     0,     0,   254,     0,
265      255,   252,     0,   253,   249,   250,   251,     0,     0,    16,
266        0,     0,    72,    64,    65,    78,    62,    63,    66,    67,
267        0,   246,   146,   242,   111,    90,    92,     0,   227,   129,
268        0,   173,   190,     0,   236,   237,    93,     0,     0,     0,
269      137,   143,     0,     0,     0,   207,   208,   209,   261,   141,
270        0,   206,   210,   244,   204,     0,   135,     0,   197,     0,
271      198,     0,    14,    16,    28,    88,    16,    16,    33,     0,
272        0,    77,     0,     0,    79,     0,     0,   248,    16,    75,
273       80,     0,     0,    61,    48,     0,     0,     0,   127,     0,
274        0,   131,   109,     0,    91,   175,   123,   188,   147,     0,
275      140,   183,     0,   136,   142,     0,   138,   199,   200,   134,
276        0,    90,     0,    53,   242,    73,    73,     0,     0,     0,
277        0,     0,    43,     0,     0,     0,     0,   247,   229,    97,
278       98,    95,    95,   105,   104,   108,   110,     0,    19,   145,
279      139,   124,     0,     0,    90,    19,     0,     0,     0,    18,
280       68,    68,     0,     0,    71,    76,     0,     0,    38,    39,
281       96,   100,   100,   106,   112,     0,    21,   114,   113,    30,
282        0,     0,    35,    71,    71,    19,     0,     0,    36,    37,
283        0,     0,    51,     0,     0,    71,   101,   103,    99,   107,
284      176,     0,    19,    54,    41,    42,     0,    69,     0,    71,
285       71,    44,     0,    47,   102,    58,     0,    22,     0,    17,
286        0,    46,    50,    73,    71,    19,    57,    15,    32,     0,
287        0,    49,     0,    68,     0,    59,    70,     0,    45
288 };
289
290   /* YYPGOTO[NTERM-NUM].  */
291 static const yytype_int16 yypgoto[] =
292 {
293     -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,    10,  -440,
294      -60,   -95,  -440,   -15,  -440,   529,   454,    -3,  -440,  -440,
295     -440,  -440,  -440,  -440,  -440,  -440,  -440,  -315,  -439,  -103,
296     -420,  -440,    88,   282,  -206,    26,  -440,   361,   522,  -440,
297      506,   200,  -330,   353,   156,  -440,  -440,   136,  -440,   133,
298     -440,  -440,   177,  -440,  -440,    -6,   -36,  -440,  -440,  -440,
299     -440,  -440,  -440,  -440,  -440,    25,  -440,  -440,   468,  -106,
300     -125,  -440,  -440,   306,  -440,  -440,   450,   233,   -35,   -33,
301     -440,  -440,  -440,  -440,  -440,     4
302 };
303
304   /* YYDEFGOTO[NTERM-NUM].  */
305 static const yytype_int16 yydefgoto[] =
306 {
307       -1,     7,     8,     9,    10,    11,    12,    13,    94,   374,
308       15,   460,   485,   102,   501,   222,   100,   101,   375,   376,
309      303,   465,   523,   433,   455,   517,   526,    96,   488,   212,
310      457,   390,   380,   324,   383,   392,   300,   198,   121,   195,
311      141,   232,   337,   251,   471,   442,   443,   497,   444,   445,
312      446,   447,   335,   402,   479,    97,    58,    59,   333,   287,
313       60,    61,    62,    63,    64,    65,   117,    66,   145,   131,
314       67,   400,   386,   311,   312,   206,    68,    69,    70,    71,
315       72,    73,    74,    75,    76,   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      103,   236,   389,    57,   130,   403,   458,   377,    95,   224,
324      105,   147,   150,   148,    77,   230,   164,   194,   165,   118,
325       78,    14,   489,   112,   113,   114,   515,   115,   116,   110,
326      110,   110,   119,   110,   110,   241,   139,   138,    19,    20,
327       21,   140,   106,   107,   133,   134,    19,    20,   157,   127,
328      110,   110,   135,    77,   124,   120,   187,    77,   188,   123,
329      159,  -263,   231,  -263,   128,   110,   110,   136,   108,    77,
330      142,   125,   149,   109,   151,   152,   153,   154,   155,   130,
331      108,   277,   126,   278,  -265,   109,  -265,   279,   280,   281,
332      310,   453,   -16,   282,   536,   221,   163,   238,  -267,   378,
333      330,   385,   210,   530,   516,   130,   477,   166,   246,   252,
334      247,   391,   227,   163,   396,   397,  -239,   186,   348,   235,
335       57,  -241,   193,   399,   480,    55,   197,   439,   440,   199,
336      237,   229,   200,    55,   283,   187,   110,   188,   249,   304,
337      305,   306,   307,   309,  -240,   317,   318,   211,   320,   321,
338       55,   361,    19,    20,   254,   255,   256,   201,   258,   259,
339      261,   202,    55,   160,   161,   162,   208,  -238,   243,   315,
340      209,   316,   284,   225,   285,   286,  -237,   486,   487,   298,
341      290,   291,   292,   293,   294,   295,   296,   297,   257,   434,
342      331,   240,   262,   263,   264,   265,   266,   267,   268,   269,
343      270,   271,   272,   273,   274,   275,   276,   223,   323,   325,
344      326,   327,   328,   329,   441,   389,   203,   213,  -263,    57,
345     -263,   322,   226,   462,   463,   239,   228,   401,   143,   332,
346     -265,   340,  -265,   160,   161,   162,   343,   144,   415,    55,
347      204,   233,   350,   160,   161,   162,   347,   366,   189,   205,
348      190,    55,   111,   111,   111,   250,   111,   111,   368,   395,
349      494,   349,   370,   252,   299,   160,   161,   162,   160,   161,
350      162,   353,   354,   132,   111,   191,   408,   192,   360,   146,
351      302,   308,   413,   315,   319,   316,   339,   449,   111,   111,
352      160,   161,   162,   365,   334,   110,   336,   130,   381,   325,
353      384,   384,   520,   160,   161,   162,   341,   346,   160,   161,
354      162,   393,   348,   420,   384,   384,   422,   423,   456,   160,
355      161,   162,   207,   160,   161,   162,   162,   355,   430,   160,
356      161,   162,   356,   461,   357,   358,   464,   160,   161,   162,
357      468,   469,   409,   160,   161,   162,   362,   405,   160,   161,
358      162,   214,   215,   216,   217,   253,   373,    57,   218,   132,
359      219,   492,   483,   484,   214,   215,   216,   217,   160,   161,
360      162,   218,   495,   219,   363,   379,   245,   411,   170,   171,
361      504,   505,   160,   161,   162,   160,   161,   162,   130,   384,
362      -31,   507,   513,   437,   338,   509,   510,   388,   160,   161,
363      162,    55,   398,   404,   179,   180,   521,   522,   345,   230,
364      181,   -79,   410,   182,   183,   184,   185,   524,   288,   416,
365      167,   531,   417,   384,   384,   418,   419,   168,   169,   170,
366      171,   424,   425,   475,   533,   426,   427,   314,   428,   431,
367      481,   429,   538,   160,   161,   162,   432,   172,   173,   352,
368      174,   175,   176,   177,   178,   179,   180,   435,   436,   381,
369      384,   181,   438,   478,   182,   183,   184,   185,   448,   452,
370      506,   367,   160,   161,   162,   450,   451,   168,   169,   170,
371      171,   160,   161,   162,   466,  -191,   459,   518,   467,   470,
372      473,   160,   161,   162,   187,   474,   188,  -191,   476,   482,
373      369,   496,   384,   177,   178,   179,   180,   508,   502,   371,
374      532,   181,   527,   490,   182,   183,   184,   185,   111,   412,
375      491,   514,   525,   511,  -191,  -191,  -191,  -191,   160,   161,
376      162,  -191,   512,  -191,   181,   529,  -191,   182,   183,   184,
377      185,    99,   387,  -191,  -191,  -191,  -191,   537,   160,   161,
378      162,   314,   220,   493,   351,   122,   534,   301,  -191,  -191,
379     -191,  -230,  -191,  -191,  -191,  -191,  -191,  -191,  -191,  -191,
380     -191,  -191,  -191,  -230,   364,   421,  -268,  -191,   170,   171,
381     -191,  -191,  -191,  -191,  -191,   180,  -191,   382,   196,  -191,
382      181,   170,   171,   182,   183,   184,   185,   344,   472,   454,
383     -230,  -230,  -230,  -230,   179,   180,   499,  -230,   498,  -230,
384      181,   244,  -230,   182,   183,   184,   185,     0,   180,  -230,
385     -230,  -230,  -230,   181,   394,     0,   182,   183,   184,   185,
386     -268,  -268,  -268,   185,  -230,  -230,  -230,     0,  -230,  -230,
387     -230,  -230,  -230,  -230,  -230,  -230,  -230,  -230,  -230,   160,
388      161,   162,     0,  -230,   313,     0,  -230,  -230,  -230,  -230,
389     -230,     0,  -230,   -13,    79,  -230,     0,     0,     0,     0,
390        0,     0,    77,     0,    16,   406,    17,    18,    19,    20,
391       21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
392       28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
393       83,    84,    85,    86,    87,    88,   170,     0,     0,    89,
394       90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
395       40,   160,   161,   162,     0,    41,    42,    43,    44,    45,
396       46,    47,     0,   180,   160,   161,   162,     0,   181,    48,
397        0,   182,   183,   184,   185,     0,     0,   407,     0,     0,
398        0,    49,    50,     0,    51,     0,    52,    53,    -3,    79,
399      414,     0,     0,    54,    93,    55,    56,    77,     0,    16,
400        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
401       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
402       80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
403       88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
404       35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
405       41,    42,    43,    44,    45,    46,    47,     1,     2,     3,
406        4,     5,     6,     0,    48,     0,     0,     0,     0,     0,
407        0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
408        0,    52,    53,     0,    79,     0,     0,     0,    54,    93,
409       55,    56,    77,   372,    16,     0,    17,    18,    19,    20,
410       21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
411       28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
412       83,    84,    85,    86,    87,    88,     0,     0,     0,    89,
413       90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
414       40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
415       46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
416        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
417        0,    49,    50,     0,    51,     0,    52,    53,     0,    79,
418        0,     0,     0,    54,    93,    55,    56,    77,   500,    16,
419        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
420       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
421       80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
422       88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
423       35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
424       41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
425        0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
426        0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
427        0,    52,    53,     0,    79,     0,     0,     0,    54,    93,
428       55,    56,    77,   503,    16,     0,    17,    18,    19,    20,
429       21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
430       28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
431       83,    84,    85,    86,    87,    88,     0,     0,     0,    89,
432       90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
433       40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
434       46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
436        0,    49,    50,     0,    51,     0,    52,    53,     0,    79,
437        0,     0,     0,    54,    93,    55,    56,    77,   519,    16,
438        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
439       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
440       80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
441       88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
442       35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
443       41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
444        0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
445        0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
446        0,    52,    53,     0,    79,     0,     0,     0,    54,    93,
447       55,    56,    77,   528,    16,     0,    17,    18,    19,    20,
448       21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
449       28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
450       83,    84,    85,    86,    87,    88,     0,     0,     0,    89,
451       90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
452       40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
453       46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
454        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
455        0,    49,    50,     0,    51,     0,    52,    53,     0,    79,
456        0,     0,     0,    54,    93,    55,    56,    77,     0,    16,
457        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
458       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
459       80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
460       88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
461       35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
462       41,    42,    43,    44,    45,    46,    47,     0,     0,   535,
463        0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
464        0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
465        0,    52,    53,     0,    79,     0,     0,     0,    54,    93,
466       55,    56,    77,     0,    16,     0,    17,    18,    19,    20,
467       21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
468       28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
469       83,    84,    85,    86,    87,    88,     0,     0,     0,    89,
470       90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
471       40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
472       46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
473        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
474        0,    49,    50,     0,    51,     0,    52,    53,     0,    79,
475        0,     0,     0,    54,    93,    55,    56,    77,     0,    16,
476        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
477       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
478       80,     0,    81,    82,    33,    83,    84,    85,    86,    87,
479       88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
480       35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
481       41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
482        0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
483        0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
484        0,    52,    53,    79,     0,     0,     0,     0,    54,    93,
485       55,    56,     0,    16,     0,    17,    18,    19,    20,    21,
486        0,     0,    22,    23,    24,    25,    26,     0,    27,    28,
487       29,    30,    31,    32,     0,     0,     0,     0,    33,     0,
488        0,  -268,     0,     0,     0,     0,     0,     0,   168,   169,
489      170,   171,    34,     0,    35,    36,    37,    38,    39,    40,
490        0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
491       47,   174,   175,   176,   177,   178,   179,   180,    48,     0,
492        0,     0,   181,     0,     0,   182,   183,   184,   185,     0,
493       49,    50,     0,    51,     0,    52,    53,    79,     0,     0,
494        0,     0,    54,   -74,    55,    56,     0,    16,     0,    17,
495       18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
496       26,     0,    27,    28,    29,    30,    31,    32,     0,     0,
497        0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
498      168,   169,   170,   171,     0,     0,    34,     0,    35,    36,
499       37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
500       43,    44,    45,    46,    47,   176,   177,   178,   179,   180,
501        0,     0,    48,     0,   181,     0,     0,   182,   183,   184,
502      185,     0,     0,     0,    49,    50,     0,    51,     0,    52,
503       53,     0,     0,     0,     0,   -74,    54,     0,    55,    56,
504       77,     0,    16,     0,    17,    18,    19,    20,    21,     0,
505        0,   129,    23,    24,    25,    26,   109,    27,    28,    29,
506       30,    31,    32,     0,     0,     0,     0,    33,     0,     0,
507        0,     0,     0,     0,   168,   169,   170,   171,     0,     0,
508        0,    34,     0,    35,    36,    37,    38,    39,    40,     0,
509        0,     0,     0,    41,    42,    43,    44,    45,    46,    47,
510        0,   178,   179,   180,     0,     0,     0,    48,   181,     0,
511        0,   182,   183,   184,   185,     0,     0,     0,     0,    49,
512       50,     0,    51,     0,    52,    53,     0,     0,     0,     0,
513        0,    54,     0,    55,    56,    77,     0,    16,     0,    17,
514       18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
515       26,     0,    27,    28,    29,    30,    31,    32,     0,     0,
516        0,     0,    33,     0,     0,     0,     0,   168,  -268,   170,
517      171,     0,     0,     0,     0,     0,    34,     0,    35,    36,
518       37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
519       43,    44,    45,    46,    47,   179,   180,     0,     0,     0,
520        0,   181,    48,     0,   182,   183,   184,   185,     0,     0,
521        0,     0,     0,     0,    49,    50,     0,    51,     0,    52,
522       53,     0,     0,     0,     0,     0,    54,     0,    55,    56,
523       16,   104,    17,    18,    19,    20,    21,     0,     0,    22,
524       23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
525       32,     0,     0,     0,     0,    33,     0,     0,     0,     0,
526      168,   169,   170,   171,     0,     0,     0,     0,     0,    34,
527        0,    35,    36,    37,    38,    39,    40,     0,     0,     0,
528        0,    41,    42,    43,    44,    45,    46,    47,   179,   180,
529        0,     0,     0,     0,   181,    48,     0,   182,   183,   184,
530      185,     0,     0,     0,     0,     0,     0,    49,    50,     0,
531       51,     0,    52,    53,     0,     0,     0,     0,     0,    54,
532        0,    55,    56,    16,     0,    17,    18,    19,    20,    21,
533        0,     0,    22,    23,    24,    25,    26,     0,    27,    28,
534       29,    30,    31,    32,     0,     0,     0,     0,    33,     0,
535        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
536        0,     0,    34,     0,    35,    36,    37,    38,    39,    40,
537        0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
538       47,     0,     0,     0,     0,     0,     0,     0,    48,     0,
539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
540       49,    50,     0,    51,     0,    52,    53,     0,     0,     0,
541        0,     0,    54,   137,    55,    56,    16,     0,    17,    18,
542       19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
543        0,    27,    28,    29,    30,    31,    32,     0,     0,     0,
544        0,    33,     0,     0,     0,     0,     0,     0,     0,     0,
545        0,     0,     0,     0,     0,    34,     0,    35,    36,    37,
546       38,    39,    40,     0,     0,     0,     0,    41,    42,    43,
547       44,    45,    46,    47,     0,     0,     0,     0,     0,     0,
548        0,    48,     0,     0,     0,     0,     0,     0,     0,     0,
549        0,     0,     0,    49,    50,     0,    51,     0,    52,    53,
550        0,     0,     0,     0,   156,    54,     0,    55,    56,    16,
551        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
552       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
553        0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
554        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
555       35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
556       41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
557        0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
558        0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
559        0,    52,    53,     0,     0,     0,     0,   234,    54,     0,
560       55,    56,    16,     0,    17,    18,    19,    20,    21,     0,
561        0,    22,    23,    24,    25,    26,     0,    27,    28,    29,
562       30,    31,    32,     0,     0,     0,     0,    33,     0,     0,
563        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
564        0,    34,     0,    35,    36,    37,    38,    39,    40,     0,
565        0,     0,     0,    41,    42,    43,    44,    45,    46,    47,
566        0,     0,     0,     0,     0,     0,     0,    48,     0,     0,
567        0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
568       50,     0,    51,     0,    52,    53,     0,     0,     0,     0,
569      248,    54,     0,    55,    56,    16,     0,    17,    18,    19,
570       20,    21,     0,     0,    22,    23,    24,    25,    26,     0,
571       27,    28,    29,    30,    31,    32,     0,     0,     0,     0,
572       33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
573        0,     0,     0,     0,    34,     0,    35,    36,    37,    38,
574       39,    40,     0,     0,     0,     0,    41,    42,    43,    44,
575       45,    46,    47,     0,     0,     0,     0,     0,     0,     0,
576       48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
577        0,     0,    49,    50,     0,    51,     0,    52,    53,     0,
578        0,     0,     0,   260,    54,     0,    55,    56,    16,     0,
579       17,    18,    19,    20,    21,     0,     0,    22,    23,    24,
580       25,    26,     0,    27,    28,    29,    30,    31,    32,     0,
581        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
582        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
583       36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
584       42,    43,    44,    45,    46,    47,     0,     0,     0,     0,
585        0,     0,     0,    48,     0,     0,     0,     0,     0,     0,
586        0,     0,     0,     0,     0,    49,    50,     0,    51,     0,
587       52,    53,     0,     0,     0,     0,   289,    54,     0,    55,
588       56,    16,     0,    17,    18,    19,    20,    21,     0,     0,
589       22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
590       31,    32,     0,     0,     0,     0,    33,     0,     0,     0,
591        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
592       34,     0,    35,    36,    37,    38,    39,    40,     0,     0,
593        0,     0,    41,    42,    43,    44,    45,    46,    47,     0,
594        0,     0,     0,     0,     0,     0,    48,     0,     0,     0,
595        0,     0,     0,     0,     0,     0,     0,     0,    49,    50,
596        0,    51,     0,    52,    53,     0,     0,     0,     0,   342,
597       54,     0,    55,    56,    16,     0,    17,    18,    19,    20,
598       21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
599       28,    29,    30,    31,    32,     0,     0,     0,     0,    33,
600        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
601        0,     0,     0,    34,     0,    35,    36,    37,    38,    39,
602       40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
603       46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
604        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
605        0,    49,    50,     0,    51,     0,    52,    53,     0,     0,
606        0,     0,   359,    54,     0,    55,    56,    16,     0,    17,
607       18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
608       26,     0,    27,    28,    29,    30,    31,    32,     0,     0,
609        0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
610        0,     0,     0,     0,     0,     0,    34,     0,    35,    36,
611       37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
612       43,    44,    45,    46,    47,     0,     0,     0,     0,     0,
613        0,     0,    48,     0,     0,     0,     0,     0,     0,     0,
614        0,     0,     0,     0,    49,    50,     0,    51,     0,    52,
615       53,     0,     0,     0,     0,     0,    54,     0,    55,    56,
616       16,     0,    17,    18,    19,    20,    21,     0,     0,    22,
617       23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
618       32,     0,     0,     0,     0,    33,     0,     0,     0,     0,
619        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
620        0,    35,    36,    37,    38,    39,    40,     0,     0,     0,
621        0,    41,    42,    43,    44,    45,    46,    47,     0,     0,
622        0,     0,     0,     0,     0,    48,   167,     0,     0,     0,
623        0,     0,     0,   168,   169,   170,   171,    49,    50,     0,
624       51,     0,    52,    53,     0,     0,     0,     0,     0,   242,
625        0,    55,    56,   172,   173,     0,   174,   175,   176,   177,
626      178,   179,   180,     0,     0,     0,     0,   181,   167,     0,
627      182,   183,   184,   185,     0,   168,   169,   170,   171,     0,
628        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
629        0,     0,     0,     0,     0,     0,   173,     0,   174,   175,
630      176,   177,   178,   179,   180,     0,     0,     0,     0,   181,
631        0,     0,   182,   183,   184,   185
632 };
633
634 static const yytype_int16 yycheck[] =
635 {
636       15,   126,   317,     9,    40,   335,   426,     9,    11,   115,
637       16,    46,    48,    46,     9,    23,     9,    77,    11,    11,
638       10,     0,   461,    19,    20,    21,    23,    23,    24,    19,
639       20,    21,   100,    23,    24,   141,    20,    43,    15,    16,
640       17,    25,    17,    18,    40,    41,    15,    16,    54,    39,
641       40,    41,    42,     9,   100,    30,     9,     9,    11,    34,
642       56,     9,   122,    11,    39,    55,    56,    42,    20,     9,
643       45,   100,    47,    25,    49,    50,    51,    52,    53,   115,
644       20,     9,   100,    11,     9,    25,    11,    15,    16,    17,
645       67,   421,   100,    21,   533,    98,    77,   133,     9,   101,
646      225,   307,    92,   523,   101,   141,   101,   100,   143,    11,
647      143,   317,   118,    77,   320,   321,    69,   100,    11,   125,
648      126,    69,     9,   104,   454,   102,    20,    15,    16,   100,
649      126,   121,   100,   102,    62,     9,   126,    11,   144,   199,
650      200,   201,   202,   203,    69,   205,   206,    45,   208,   209,
651      102,   103,    15,    16,   160,   161,   162,   100,   164,   165,
652      166,   100,   102,    73,    74,    75,   100,    69,   143,   204,
653      100,   204,   100,   100,   102,   103,    69,    43,    44,   194,
654      186,   187,   188,   189,   190,   191,   192,   193,   163,   395,
655      226,   101,   167,   168,   169,   170,   171,   172,   173,   174,
656      175,   176,   177,   178,   179,   180,   181,    12,   214,   215,
657      216,   217,   218,   219,   102,   530,    67,   101,     9,   225,
658       11,   211,   100,   429,   430,    10,    99,   333,    91,    12,
659        9,   237,    11,    73,    74,    75,   242,   100,   363,   102,
660       91,    99,    12,    73,    74,    75,   252,    12,     9,   100,
661       11,   102,    19,    20,    21,    69,    23,    24,    12,   319,
662      466,   101,    12,    11,    20,    73,    74,    75,    73,    74,
663       75,   277,   278,    40,    41,     9,    12,    11,   284,    46,
664       20,    91,    12,   318,   100,   318,    99,    12,    55,    56,
665       73,    74,    75,   101,   100,   285,    69,   333,   304,   305,
666      306,   307,   508,    73,    74,    75,    10,    23,    73,    74,
667       75,   317,    11,   373,   320,   321,   376,   377,   424,    73,
668       74,    75,    89,    73,    74,    75,    75,   103,   388,    73,
669       74,    75,   103,   428,   103,   103,   431,    73,    74,    75,
670      435,   436,   348,    73,    74,    75,   103,   337,    73,    74,
671       75,    39,    40,    41,    42,    99,    18,   363,    46,   126,
672       48,   464,   457,   458,    39,    40,    41,    42,    73,    74,
673       75,    46,   467,    48,   100,    20,   143,   352,    60,    61,
674      483,   484,    73,    74,    75,    73,    74,    75,   424,   395,
675      100,   486,   495,   399,    99,   490,   491,   100,    73,    74,
676       75,   102,    99,    23,    86,    87,   509,   510,    99,    23,
677       92,    99,    10,    95,    96,    97,    98,   512,   185,    10,
678       51,   524,    10,   429,   430,    10,    10,    58,    59,    60,
679       61,    20,    99,   448,   529,    99,    99,   204,    99,    99,
680      455,   100,   537,    73,    74,    75,   101,    78,    79,    80,
681       81,    82,    83,    84,    85,    86,    87,    99,    99,   465,
682      466,    92,    99,   453,    95,    96,    97,    98,     9,   101,
683      485,   101,    73,    74,    75,    10,    99,    58,    59,    60,
684       61,    73,    74,    75,   100,     0,     9,   502,    99,    25,
685       77,    73,    74,    75,     9,    99,    11,    12,    71,   101,
686      101,    78,   508,    84,    85,    86,    87,   100,     9,   101,
687      525,    92,    19,    99,    95,    96,    97,    98,   285,   101,
688       99,   496,    70,   101,    39,    40,    41,    42,    73,    74,
689       75,    46,    99,    48,    92,    99,    51,    95,    96,    97,
690       98,    12,   309,    58,    59,    60,    61,    99,    73,    74,
691       75,   318,    98,   465,    99,    33,   530,   196,    73,    74,
692       75,     0,    77,    78,    79,    80,    81,    82,    83,    84,
693       85,    86,    87,    12,    99,   375,    58,    92,    60,    61,
694       95,    96,    97,    98,    99,    87,   101,   305,    82,   104,
695       92,    60,    61,    95,    96,    97,    98,   244,   442,   422,
696       39,    40,    41,    42,    86,    87,   473,    46,   472,    48,
697       92,   143,    51,    95,    96,    97,    98,    -1,    87,    58,
698       59,    60,    61,    92,   318,    -1,    95,    96,    97,    98,
699       95,    96,    97,    98,    73,    74,    75,    -1,    77,    78,
700       79,    80,    81,    82,    83,    84,    85,    86,    87,    73,
701       74,    75,    -1,    92,   204,    -1,    95,    96,    97,    98,
702       99,    -1,   101,     0,     1,   104,    -1,    -1,    -1,    -1,
703       -1,    -1,     9,    -1,    11,    99,    13,    14,    15,    16,
704       17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
705       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
706       37,    38,    39,    40,    41,    42,    60,    -1,    -1,    46,
707       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
708       57,    73,    74,    75,    -1,    62,    63,    64,    65,    66,
709       67,    68,    -1,    87,    73,    74,    75,    -1,    92,    76,
710       -1,    95,    96,    97,    98,    -1,    -1,    99,    -1,    -1,
711       -1,    88,    89,    -1,    91,    -1,    93,    94,     0,     1,
712       99,    -1,    -1,   100,   101,   102,   103,     9,    -1,    11,
713       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
714       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
715       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
716       42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
717       52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
718       62,    63,    64,    65,    66,    67,    68,     3,     4,     5,
719        6,     7,     8,    -1,    76,    -1,    -1,    -1,    -1,    -1,
720       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
721       -1,    93,    94,    -1,     1,    -1,    -1,    -1,   100,   101,
722      102,   103,     9,    10,    11,    -1,    13,    14,    15,    16,
723       17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
724       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
725       37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
726       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
727       57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
728       67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
729       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
730       -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,     1,
731       -1,    -1,    -1,   100,   101,   102,   103,     9,    10,    11,
732       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
733       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
734       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
735       42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
736       52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
737       62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
738       -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
739       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
740       -1,    93,    94,    -1,     1,    -1,    -1,    -1,   100,   101,
741      102,   103,     9,    10,    11,    -1,    13,    14,    15,    16,
742       17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
743       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
744       37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
745       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
746       57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
747       67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
749       -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,     1,
750       -1,    -1,    -1,   100,   101,   102,   103,     9,    10,    11,
751       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
752       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
753       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
754       42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
755       52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
756       62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
757       -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
758       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
759       -1,    93,    94,    -1,     1,    -1,    -1,    -1,   100,   101,
760      102,   103,     9,    10,    11,    -1,    13,    14,    15,    16,
761       17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
762       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
763       37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
764       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
765       57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
766       67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
767       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
768       -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,     1,
769       -1,    -1,    -1,   100,   101,   102,   103,     9,    -1,    11,
770       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
771       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
772       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
773       42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
774       52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
775       62,    63,    64,    65,    66,    67,    68,    -1,    -1,    71,
776       -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
777       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
778       -1,    93,    94,    -1,     1,    -1,    -1,    -1,   100,   101,
779      102,   103,     9,    -1,    11,    -1,    13,    14,    15,    16,
780       17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
781       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
782       37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
783       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
784       57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
785       67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
787       -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,     1,
788       -1,    -1,    -1,   100,   101,   102,   103,     9,    -1,    11,
789       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
790       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
791       32,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
792       42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
793       52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
794       62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
795       -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
796       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
797       -1,    93,    94,     1,    -1,    -1,    -1,    -1,   100,   101,
798      102,   103,    -1,    11,    -1,    13,    14,    15,    16,    17,
799       -1,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
800       28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
801       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,
802       60,    61,    50,    -1,    52,    53,    54,    55,    56,    57,
803       -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
804       68,    81,    82,    83,    84,    85,    86,    87,    76,    -1,
805       -1,    -1,    92,    -1,    -1,    95,    96,    97,    98,    -1,
806       88,    89,    -1,    91,    -1,    93,    94,     1,    -1,    -1,
807       -1,    -1,   100,   101,   102,   103,    -1,    11,    -1,    13,
808       14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
809       24,    -1,    26,    27,    28,    29,    30,    31,    -1,    -1,
810       -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
811       58,    59,    60,    61,    -1,    -1,    50,    -1,    52,    53,
812       54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
813       64,    65,    66,    67,    68,    83,    84,    85,    86,    87,
814       -1,    -1,    76,    -1,    92,    -1,    -1,    95,    96,    97,
815       98,    -1,    -1,    -1,    88,    89,    -1,    91,    -1,    93,
816       94,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,   103,
817        9,    -1,    11,    -1,    13,    14,    15,    16,    17,    -1,
818       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
819       29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
820       -1,    -1,    -1,    -1,    58,    59,    60,    61,    -1,    -1,
821       -1,    50,    -1,    52,    53,    54,    55,    56,    57,    -1,
822       -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
823       -1,    85,    86,    87,    -1,    -1,    -1,    76,    92,    -1,
824       -1,    95,    96,    97,    98,    -1,    -1,    -1,    -1,    88,
825       89,    -1,    91,    -1,    93,    94,    -1,    -1,    -1,    -1,
826       -1,   100,    -1,   102,   103,     9,    -1,    11,    -1,    13,
827       14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
828       24,    -1,    26,    27,    28,    29,    30,    31,    -1,    -1,
829       -1,    -1,    36,    -1,    -1,    -1,    -1,    58,    59,    60,
830       61,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,
831       54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
832       64,    65,    66,    67,    68,    86,    87,    -1,    -1,    -1,
833       -1,    92,    76,    -1,    95,    96,    97,    98,    -1,    -1,
834       -1,    -1,    -1,    -1,    88,    89,    -1,    91,    -1,    93,
835       94,    -1,    -1,    -1,    -1,    -1,   100,    -1,   102,   103,
836       11,    12,    13,    14,    15,    16,    17,    -1,    -1,    20,
837       21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
838       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,
839       58,    59,    60,    61,    -1,    -1,    -1,    -1,    -1,    50,
840       -1,    52,    53,    54,    55,    56,    57,    -1,    -1,    -1,
841       -1,    62,    63,    64,    65,    66,    67,    68,    86,    87,
842       -1,    -1,    -1,    -1,    92,    76,    -1,    95,    96,    97,
843       98,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,
844       91,    -1,    93,    94,    -1,    -1,    -1,    -1,    -1,   100,
845       -1,   102,   103,    11,    -1,    13,    14,    15,    16,    17,
846       -1,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
847       28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
849       -1,    -1,    50,    -1,    52,    53,    54,    55,    56,    57,
850       -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
851       68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,
852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
853       88,    89,    -1,    91,    -1,    93,    94,    -1,    -1,    -1,
854       -1,    -1,   100,   101,   102,   103,    11,    -1,    13,    14,
855       15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
856       -1,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
857       -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
858       -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,    54,
859       55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,
860       65,    66,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,
861       -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
862       -1,    -1,    -1,    88,    89,    -1,    91,    -1,    93,    94,
863       -1,    -1,    -1,    -1,    99,   100,    -1,   102,   103,    11,
864       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
865       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
866       -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
868       52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
869       62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
870       -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
871       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
872       -1,    93,    94,    -1,    -1,    -1,    -1,    99,   100,    -1,
873      102,   103,    11,    -1,    13,    14,    15,    16,    17,    -1,
874       -1,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
875       29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
877       -1,    50,    -1,    52,    53,    54,    55,    56,    57,    -1,
878       -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,
880       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,
881       89,    -1,    91,    -1,    93,    94,    -1,    -1,    -1,    -1,
882       99,   100,    -1,   102,   103,    11,    -1,    13,    14,    15,
883       16,    17,    -1,    -1,    20,    21,    22,    23,    24,    -1,
884       26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
885       36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
886       -1,    -1,    -1,    -1,    50,    -1,    52,    53,    54,    55,
887       56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,
888       66,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
889       76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
890       -1,    -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,
891       -1,    -1,    -1,    99,   100,    -1,   102,   103,    11,    -1,
892       13,    14,    15,    16,    17,    -1,    -1,    20,    21,    22,
893       23,    24,    -1,    26,    27,    28,    29,    30,    31,    -1,
894       -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,
895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,
896       53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,
897       63,    64,    65,    66,    67,    68,    -1,    -1,    -1,    -1,
898       -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
899       -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,    -1,
900       93,    94,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,
901      103,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
902       20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
903       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,
904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
905       50,    -1,    52,    53,    54,    55,    56,    57,    -1,    -1,
906       -1,    -1,    62,    63,    64,    65,    66,    67,    68,    -1,
907       -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,
908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
909       -1,    91,    -1,    93,    94,    -1,    -1,    -1,    -1,    99,
910      100,    -1,   102,   103,    11,    -1,    13,    14,    15,    16,
911       17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
912       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
914       -1,    -1,    -1,    50,    -1,    52,    53,    54,    55,    56,
915       57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
916       67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
917       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
918       -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,    -1,
919       -1,    -1,    99,   100,    -1,   102,   103,    11,    -1,    13,
920       14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
921       24,    -1,    26,    27,    28,    29,    30,    31,    -1,    -1,
922       -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
923       -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,
924       54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
925       64,    65,    66,    67,    68,    -1,    -1,    -1,    -1,    -1,
926       -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
927       -1,    -1,    -1,    -1,    88,    89,    -1,    91,    -1,    93,
928       94,    -1,    -1,    -1,    -1,    -1,   100,    -1,   102,   103,
929       11,    -1,    13,    14,    15,    16,    17,    -1,    -1,    20,
930       21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
931       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,
932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,
933       -1,    52,    53,    54,    55,    56,    57,    -1,    -1,    -1,
934       -1,    62,    63,    64,    65,    66,    67,    68,    -1,    -1,
935       -1,    -1,    -1,    -1,    -1,    76,    51,    -1,    -1,    -1,
936       -1,    -1,    -1,    58,    59,    60,    61,    88,    89,    -1,
937       91,    -1,    93,    94,    -1,    -1,    -1,    -1,    -1,   100,
938       -1,   102,   103,    78,    79,    -1,    81,    82,    83,    84,
939       85,    86,    87,    -1,    -1,    -1,    -1,    92,    51,    -1,
940       95,    96,    97,    98,    -1,    58,    59,    60,    61,    -1,
941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
942       -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    81,    82,
943       83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    92,
944       -1,    -1,    95,    96,    97,    98
945 };
946
947   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
948      symbol of state STATE-NUM.  */
949 static const yytype_uint8 yystos[] =
950 {
951        0,     3,     4,     5,     6,     7,     8,   106,   107,   108,
952      109,   110,   111,   112,     0,   115,    11,    13,    14,    15,
953       16,    17,    20,    21,    22,    23,    24,    26,    27,    28,
954       29,    30,    31,    36,    50,    52,    53,    54,    55,    56,
955       57,    62,    63,    64,    65,    66,    67,    68,    76,    88,
956       89,    91,    93,    94,   100,   102,   103,   160,   161,   162,
957      165,   166,   167,   168,   169,   170,   172,   175,   181,   182,
958      183,   184,   185,   186,   187,   188,   189,     9,   113,     1,
959       32,    34,    35,    37,    38,    39,    40,    41,    42,    46,
960       47,    48,    49,   101,   113,   122,   132,   160,    33,   120,
961      121,   122,   118,   118,    12,   160,   170,   170,    20,    25,
962      113,   182,   190,   190,   190,   190,   190,   171,    11,   100,
963      170,   143,   143,   170,   100,   100,   100,   113,   170,    20,
964      161,   174,   182,   190,   190,   113,   170,   101,   160,    20,
965       25,   145,   170,    91,   100,   173,   182,   183,   184,   170,
966      161,   170,   170,   170,   170,   170,    99,   160,   190,   190,
967       73,    74,    75,    77,     9,    11,   100,    51,    58,    59,
968       60,    61,    78,    79,    81,    82,    83,    84,    85,    86,
969       87,    92,    95,    96,    97,    98,   100,     9,    11,     9,
970       11,     9,    11,     9,   115,   144,   145,    20,   142,   100,
971      100,   100,   100,    67,    91,   100,   180,   182,   100,   100,
972      113,    45,   134,   101,    39,    40,    41,    42,    46,    48,
973      121,   122,   120,    12,   174,   100,   100,   160,    99,   113,
974       23,   115,   146,    99,    99,   160,   175,   190,   161,    10,
975      101,   174,   100,   170,   173,   182,   183,   184,    99,   160,
976       69,   148,    11,    99,   160,   160,   160,   170,   160,   160,
977       99,   160,   170,   170,   170,   170,   170,   170,   170,   170,
978      170,   170,   170,   170,   170,   170,   170,     9,    11,    15,
979       16,    17,    21,    62,   100,   102,   103,   164,   182,    99,
980      160,   160,   160,   160,   160,   160,   160,   160,   118,    20,
981      141,   142,    20,   125,   115,   115,   115,   115,    91,   115,
982       67,   178,   179,   181,   182,   183,   184,   115,   115,   100,
983      115,   115,   113,   160,   138,   160,   160,   160,   160,   160,
984      175,   161,    12,   163,   100,   157,    69,   147,    99,    99,
985      160,    10,    99,   160,   148,    99,    23,   160,    11,   101,
986       12,    99,    80,   160,   160,   103,   103,   103,   103,    99,
987      160,   103,   103,   100,    99,   101,    12,   101,    12,   101,
988       12,   101,    10,    18,   114,   123,   124,     9,   101,    20,
989      137,   160,   138,   139,   160,   139,   177,   182,   100,   132,
990      136,   139,   140,   160,   178,   115,   139,   139,    99,   104,
991      176,   174,   158,   147,    23,   113,    99,    99,    12,   160,
992       10,   170,   101,    12,    99,   175,    10,    10,    10,    10,
993      115,   146,   115,   115,    20,    99,    99,    99,    99,   100,
994      115,    99,   101,   128,   139,    99,    99,   160,    99,    15,
995       16,   102,   150,   151,   153,   154,   155,   156,     9,    12,
996       10,    99,   101,   147,   157,   129,   174,   135,   135,     9,
997      116,   116,   139,   139,   116,   126,   100,    99,   116,   116,
998       25,   149,   149,    77,    99,   118,    71,   101,   113,   159,
999      147,   118,   101,   116,   116,   117,    43,    44,   133,   133,
1000       99,    99,   134,   137,   139,   116,    78,   152,   152,   154,
1001       10,   119,     9,    10,   134,   134,   118,   116,   100,   116,
1002      116,   101,    99,   134,   170,    23,   101,   130,   118,    10,
1003      139,   134,   134,   127,   116,    70,   131,    19,    10,    99,
1004      135,   134,   118,   116,   140,    71,   133,    99,   116
1005 };
1006
1007   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1008 static const yytype_uint8 yyr1[] =
1009 {
1010        0,   105,   107,   106,   108,   106,   109,   106,   110,   106,
1011      111,   106,   112,   106,   113,   114,   115,   116,   117,   118,
1012      118,   119,   119,   120,   120,   121,   121,   122,   122,   123,
1013      122,   124,   122,   122,   125,   122,   122,   122,   122,   122,
1014      122,   122,   122,   126,   127,   122,   122,   122,   128,   122,
1015      122,   122,   122,   129,   122,   122,   122,   130,   131,   131,
1016      132,   132,   132,   132,   132,   132,   132,   132,   133,   133,
1017      133,   134,   134,   135,   136,   136,   137,   137,   138,   139,
1018      140,   141,   141,   142,   143,   144,   145,   145,   146,   146,
1019      147,   147,   147,   148,   148,   149,   149,   150,   150,   151,
1020      152,   152,   152,   153,   154,   154,   155,   155,   155,   156,
1021      156,   158,   157,   159,   159,   160,   160,   160,   160,   161,
1022      161,   161,   162,   162,   162,   162,   162,   162,   162,   162,
1023      163,   162,   164,   164,   165,   165,   165,   165,   165,   165,
1024      165,   165,   165,   165,   165,   165,   165,   165,   166,   166,
1025      166,   166,   166,   166,   166,   166,   166,   166,   166,   166,
1026      166,   166,   167,   167,   167,   167,   167,   167,   167,   167,
1027      167,   168,   168,   168,   168,   168,   168,   169,   169,   170,
1028      170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
1029      170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
1030      170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
1031      170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
1032      170,   170,   170,   170,   170,   170,   170,   170,   171,   170,
1033      170,   170,   170,   170,   172,   172,   172,   173,   173,   173,
1034      173,   173,   174,   174,   175,   175,   176,   176,   177,   178,
1035      178,   178,   179,   179,   180,   180,   181,   182,   183,   184,
1036      185,   185,   186,   187,   187,   188,   188,   189,   189,   190,
1037      190,   190,   190
1038 };
1039
1040   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1041 static const yytype_uint8 yyr2[] =
1042 {
1043        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
1044        0,     3,     0,     3,     4,     7,     0,     4,     0,     0,
1045        2,     0,     2,     1,     1,     2,     2,     1,     4,     0,
1046        7,     0,    10,     4,     0,     7,     7,     7,     6,     6,
1047        2,     8,     8,     0,     0,    13,     9,     8,     0,    10,
1048        9,     7,     2,     0,     8,     2,     1,     2,     0,     3,
1049        1,     1,     3,     3,     3,     3,     3,     3,     0,     2,
1050        6,     0,     2,     0,     0,     1,     0,     1,     1,     1,
1051        1,     1,     0,     0,     0,     0,     1,     1,     0,     1,
1052        0,     2,     1,     2,     1,     0,     1,     1,     1,     3,
1053        0,     1,     2,     3,     1,     1,     2,     3,     1,     0,
1054        1,     0,     4,     1,     1,     3,     3,     3,     1,     2,
1055        3,     1,     3,     5,     6,     3,     3,     5,     2,     4,
1056        0,     5,     1,     1,     5,     4,     5,     4,     5,     6,
1057        5,     4,     5,     4,     3,     6,     4,     5,     3,     3,
1058        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1059        3,     3,     2,     2,     2,     2,     2,     2,     2,     2,
1060        2,     3,     2,     4,     3,     5,     8,     2,     2,     1,
1061        1,     1,     1,     5,     2,     3,     1,     2,     3,     1,
1062        2,     1,     1,     1,     1,     1,     1,     4,     4,     5,
1063        5,     1,     1,     3,     4,     3,     4,     4,     4,     4,
1064        4,     1,     2,     2,     1,     2,     2,     1,     2,     1,
1065        2,     1,     3,     1,     3,     1,     3,     4,     0,     6,
1066        1,     1,     1,     1,     3,     2,     4,     3,     2,     1,
1067        1,     1,     0,     1,     0,     1,     0,     2,     1,     1,
1068        1,     1,     1,     1,     2,     2,     2,     2,     2,     2,
1069        2,     4,     2,     1,     3,     1,     3,     1,     3,     1,
1070        1,     1,     1
1071 };
1072
1073 typedef enum {
1074         toketype_ival, toketype_opval, toketype_pval
1075 } toketypes;
1076
1077 /* type of each token/terminal */
1078 static const toketypes yy_type_tab[] =
1079 {
1080   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1081   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1082   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1083   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1084   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1085   toketype_pval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1086   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1087   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1088   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1089   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1090   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1091   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1092   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1093   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1094   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1095   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
1096   toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1097   toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1098   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1099   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1100   toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1101   toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1102   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1103   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1104   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1105   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1106   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1107   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1108   toketype_opval, toketype_opval
1109 };
1110
1111 /* Generated from:
1112  * a8b5527eacb1205d15c8c01acb4a8f99b494e5b453ddd68a2a2e7fca4be3302a perly.y
1113  * 153cba5d215c1a083a0459c43f4d55c45fd0a7093c197d7247a456dcde21ea53 regen_perly.pl
1114  * ex: set ro: */