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