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