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