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