pt.c (tsubst): Clear TREE_USED for new FUNCTION_DECLs.
[gcc.git] / gcc / cp / parse.c
1
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
4 */
5
6 #define YYBISON 1 /* Identify Bison output. */
7
8 #define IDENTIFIER 258
9 #define TYPENAME 259
10 #define SELFNAME 260
11 #define PFUNCNAME 261
12 #define SCSPEC 262
13 #define TYPESPEC 263
14 #define CV_QUALIFIER 264
15 #define CONSTANT 265
16 #define STRING 266
17 #define ELLIPSIS 267
18 #define SIZEOF 268
19 #define ENUM 269
20 #define IF 270
21 #define ELSE 271
22 #define WHILE 272
23 #define DO 273
24 #define FOR 274
25 #define SWITCH 275
26 #define CASE 276
27 #define DEFAULT 277
28 #define BREAK 278
29 #define CONTINUE 279
30 #define RETURN 280
31 #define GOTO 281
32 #define ASM_KEYWORD 282
33 #define GCC_ASM_KEYWORD 283
34 #define TYPEOF 284
35 #define ALIGNOF 285
36 #define SIGOF 286
37 #define ATTRIBUTE 287
38 #define EXTENSION 288
39 #define LABEL 289
40 #define REALPART 290
41 #define IMAGPART 291
42 #define AGGR 292
43 #define VISSPEC 293
44 #define DELETE 294
45 #define NEW 295
46 #define THIS 296
47 #define OPERATOR 297
48 #define CXX_TRUE 298
49 #define CXX_FALSE 299
50 #define NAMESPACE 300
51 #define TYPENAME_KEYWORD 301
52 #define USING 302
53 #define LEFT_RIGHT 303
54 #define TEMPLATE 304
55 #define TYPEID 305
56 #define DYNAMIC_CAST 306
57 #define STATIC_CAST 307
58 #define REINTERPRET_CAST 308
59 #define CONST_CAST 309
60 #define SCOPE 310
61 #define EMPTY 311
62 #define PTYPENAME 312
63 #define NSNAME 313
64 #define THROW 314
65 #define ASSIGN 315
66 #define OROR 316
67 #define ANDAND 317
68 #define MIN_MAX 318
69 #define EQCOMPARE 319
70 #define ARITHCOMPARE 320
71 #define LSHIFT 321
72 #define RSHIFT 322
73 #define POINTSAT_STAR 323
74 #define DOT_STAR 324
75 #define UNARY 325
76 #define PLUSPLUS 326
77 #define MINUSMINUS 327
78 #define HYPERUNARY 328
79 #define PAREN_STAR_PAREN 329
80 #define POINTSAT 330
81 #define TRY 331
82 #define CATCH 332
83 #define TYPENAME_ELLIPSIS 333
84 #define PRE_PARSED_FUNCTION_DECL 334
85 #define EXTERN_LANG_STRING 335
86 #define ALL 336
87 #define PRE_PARSED_CLASS_DECL 337
88 #define DEFARG 338
89 #define DEFARG_MARKER 339
90 #define TYPENAME_DEFN 340
91 #define IDENTIFIER_DEFN 341
92 #define PTYPENAME_DEFN 342
93 #define END_OF_LINE 343
94 #define END_OF_SAVED_INPUT 344
95
96 #line 29 "parse.y"
97
98 /* Cause the `yydebug' variable to be defined. */
99 #define YYDEBUG 1
100
101 #include "config.h"
102
103 #include <stdio.h>
104 #include <errno.h>
105
106 #include "tree.h"
107 #include "input.h"
108 #include "flags.h"
109 #include "lex.h"
110 #include "cp-tree.h"
111 #include "output.h"
112 #include "except.h"
113
114 /* Since parsers are distinct for each language, put the language string
115 definition here. (fnf) */
116 char *language_string = "GNU C++";
117
118 extern tree void_list_node;
119 extern struct obstack permanent_obstack;
120
121 #ifndef errno
122 extern int errno;
123 #endif
124
125 extern int end_of_file;
126
127 /* Like YYERROR but do call yyerror. */
128 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
129
130 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
131 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
132
133 /* Contains the statement keyword (if/while/do) to include in an
134 error message if the user supplies an empty conditional expression. */
135 static char *cond_stmt_keyword;
136
137 static tree empty_parms PROTO((void));
138
139 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
140 int have_extern_spec;
141 int used_extern_spec;
142
143 /* Cons up an empty parameter list. */
144 #ifdef __GNUC__
145 __inline
146 #endif
147 static tree
148 empty_parms ()
149 {
150 tree parms;
151
152 if (strict_prototype
153 || current_class_type != NULL)
154 parms = void_list_node;
155 else
156 parms = NULL_TREE;
157 return parms;
158 }
159
160
161 #line 96 "parse.y"
162 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
163 #line 285 "parse.y"
164
165 /* List of types and structure classes of the current declaration. */
166 static tree current_declspecs = NULL_TREE;
167 /* List of prefix attributes in effect.
168 Prefix attributes are parsed by the reserved_declspecs and declmods
169 rules. They create a list that contains *both* declspecs and attrs. */
170 /* ??? It is not clear yet that all cases where an attribute can now appear in
171 a declspec list have been updated. */
172 static tree prefix_attributes = NULL_TREE;
173
174 /* When defining an aggregate, this is the most recent one being defined. */
175 static tree current_aggr;
176
177 /* Tell yyparse how to print a token's value, if yydebug is set. */
178
179 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
180 extern void yyprint PROTO((FILE *, int, YYSTYPE));
181 extern tree combine_strings PROTO((tree));
182
183 static int
184 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
185 tree declarator;
186 tree specs_attrs;
187 tree attributes;
188 int initialized;
189 tree* decl;
190 {
191 int sm;
192
193 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
194 if (current_declspecs
195 && TREE_CODE (current_declspecs) != TREE_LIST)
196 current_declspecs = get_decl_list (current_declspecs);
197 if (have_extern_spec && !used_extern_spec)
198 {
199 current_declspecs = decl_tree_cons (NULL_TREE,
200 get_identifier ("extern"),
201 current_declspecs);
202 used_extern_spec = 1;
203 }
204 sm = suspend_momentary ();
205 *decl = start_decl (declarator, current_declspecs, initialized);
206 cplus_decl_attributes (*decl, attributes, prefix_attributes);
207 return sm;
208 }
209 #include <stdio.h>
210
211 #ifndef __cplusplus
212 #ifndef __STDC__
213 #define const
214 #endif
215 #endif
216
217
218
219 #define YYFINAL 1549
220 #define YYFLAG -32768
221 #define YYNTBASE 114
222
223 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 386)
224
225 static const char yytranslate[] = { 0,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
230 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
232 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
251 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
252 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
253 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
254 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
255 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
256 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
257 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
258 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
259 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
260 106, 107, 108, 109
261 };
262
263 #if YYDEBUG != 0
264 static const short yyprhs[] = { 0,
265 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
266 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
267 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
268 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
269 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
270 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
271 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
272 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
273 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
274 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
275 336, 338, 341, 343, 346, 349, 354, 357, 361, 362,
276 363, 365, 369, 372, 376, 378, 383, 386, 391, 394,
277 399, 402, 404, 406, 408, 410, 412, 414, 416, 418,
278 420, 422, 424, 425, 432, 433, 440, 441, 447, 448,
279 454, 455, 463, 464, 472, 473, 480, 481, 488, 489,
280 490, 495, 500, 502, 507, 509, 511, 512, 514, 516,
281 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
282 540, 544, 546, 550, 551, 553, 555, 556, 564, 566,
283 568, 572, 577, 581, 582, 586, 588, 592, 596, 600,
284 604, 606, 608, 610, 613, 616, 619, 622, 625, 628,
285 631, 636, 639, 644, 647, 651, 655, 660, 665, 671,
286 677, 684, 687, 692, 698, 701, 704, 708, 712, 716,
287 718, 722, 725, 729, 734, 736, 739, 745, 747, 751,
288 755, 759, 763, 767, 771, 775, 779, 783, 787, 791,
289 795, 799, 803, 807, 811, 815, 819, 823, 829, 833,
290 837, 839, 842, 846, 848, 850, 852, 854, 856, 857,
291 863, 869, 875, 881, 887, 889, 891, 893, 895, 898,
292 901, 905, 910, 915, 917, 919, 921, 925, 927, 929,
293 931, 933, 937, 941, 945, 946, 951, 956, 959, 964,
294 967, 970, 972, 977, 979, 987, 995, 1003, 1011, 1016,
295 1021, 1024, 1027, 1029, 1034, 1037, 1040, 1046, 1050, 1053,
296 1056, 1062, 1066, 1072, 1076, 1081, 1088, 1091, 1093, 1096,
297 1098, 1101, 1103, 1105, 1107, 1110, 1111, 1114, 1117, 1121,
298 1125, 1129, 1132, 1135, 1138, 1140, 1142, 1144, 1147, 1150,
299 1153, 1156, 1158, 1160, 1162, 1164, 1167, 1170, 1174, 1178,
300 1182, 1187, 1189, 1192, 1195, 1198, 1200, 1202, 1204, 1207,
301 1210, 1213, 1215, 1217, 1220, 1223, 1227, 1229, 1232, 1234,
302 1236, 1238, 1243, 1248, 1253, 1258, 1260, 1262, 1264, 1266,
303 1270, 1272, 1276, 1278, 1282, 1283, 1288, 1289, 1296, 1300,
304 1301, 1306, 1308, 1312, 1316, 1317, 1322, 1326, 1327, 1329,
305 1331, 1334, 1341, 1343, 1347, 1348, 1350, 1355, 1362, 1367,
306 1369, 1371, 1373, 1375, 1377, 1381, 1382, 1385, 1387, 1390,
307 1394, 1399, 1401, 1403, 1407, 1412, 1416, 1422, 1424, 1429,
308 1433, 1437, 1438, 1442, 1446, 1450, 1451, 1454, 1457, 1458,
309 1466, 1471, 1472, 1479, 1483, 1486, 1489, 1492, 1493, 1494,
310 1504, 1506, 1507, 1509, 1510, 1512, 1514, 1517, 1520, 1523,
311 1526, 1529, 1532, 1536, 1541, 1545, 1548, 1552, 1553, 1555,
312 1559, 1562, 1565, 1567, 1569, 1570, 1573, 1577, 1579, 1584,
313 1586, 1590, 1592, 1594, 1599, 1604, 1607, 1610, 1614, 1618,
314 1620, 1621, 1623, 1626, 1631, 1635, 1637, 1640, 1643, 1646,
315 1649, 1652, 1655, 1658, 1660, 1663, 1666, 1670, 1673, 1676,
316 1681, 1686, 1689, 1691, 1697, 1702, 1704, 1705, 1707, 1711,
317 1712, 1714, 1718, 1720, 1722, 1724, 1726, 1731, 1736, 1741,
318 1746, 1751, 1755, 1760, 1765, 1770, 1775, 1779, 1781, 1785,
319 1787, 1791, 1794, 1796, 1803, 1804, 1807, 1809, 1812, 1813,
320 1816, 1821, 1826, 1829, 1834, 1838, 1842, 1845, 1848, 1852,
321 1854, 1856, 1859, 1861, 1863, 1866, 1869, 1874, 1879, 1883,
322 1887, 1890, 1892, 1896, 1900, 1903, 1906, 1910, 1912, 1916,
323 1920, 1923, 1926, 1930, 1932, 1937, 1941, 1946, 1950, 1952,
324 1955, 1958, 1961, 1964, 1967, 1969, 1972, 1977, 1982, 1985,
325 1987, 1989, 1991, 1993, 1996, 2001, 2004, 2007, 2010, 2013,
326 2015, 2018, 2021, 2024, 2027, 2031, 2033, 2036, 2040, 2045,
327 2048, 2051, 2054, 2057, 2060, 2063, 2068, 2071, 2073, 2076,
328 2079, 2083, 2085, 2089, 2092, 2096, 2099, 2102, 2106, 2108,
329 2112, 2117, 2121, 2124, 2127, 2129, 2133, 2136, 2139, 2141,
330 2144, 2148, 2150, 2154, 2156, 2163, 2168, 2173, 2177, 2183,
331 2187, 2191, 2195, 2198, 2200, 2202, 2205, 2208, 2211, 2212,
332 2214, 2216, 2219, 2223, 2225, 2228, 2229, 2233, 2234, 2235,
333 2241, 2243, 2244, 2247, 2249, 2251, 2253, 2256, 2257, 2262,
334 2264, 2265, 2266, 2272, 2273, 2274, 2282, 2283, 2284, 2285,
335 2286, 2299, 2300, 2301, 2309, 2310, 2316, 2317, 2325, 2326,
336 2331, 2334, 2337, 2340, 2344, 2351, 2360, 2371, 2384, 2389,
337 2393, 2396, 2399, 2401, 2403, 2404, 2405, 2412, 2413, 2414,
338 2420, 2422, 2425, 2426, 2427, 2433, 2435, 2437, 2441, 2445,
339 2448, 2451, 2454, 2457, 2460, 2462, 2465, 2466, 2468, 2469,
340 2471, 2473, 2474, 2476, 2478, 2482, 2487, 2489, 2493, 2494,
341 2496, 2498, 2500, 2503, 2506, 2509, 2511, 2513, 2516, 2519,
342 2522, 2525, 2526, 2530, 2532, 2534, 2536, 2539, 2542, 2545,
343 2550, 2553, 2556, 2559, 2562, 2565, 2568, 2570, 2573, 2575,
344 2578, 2580, 2582, 2583, 2584, 2586, 2587, 2592, 2595, 2597,
345 2599, 2603, 2604, 2608, 2612, 2616, 2618, 2621, 2624, 2627,
346 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657,
347 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687,
348 2691, 2694, 2697, 2700, 2703, 2707, 2710, 2713, 2718, 2723,
349 2727
350 };
351
352 static const short yyrhs[] = { -1,
353 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
354 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
355 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
356 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
357 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
358 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
359 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
360 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
361 61, 0, 120, 124, 0, 47, 300, 0, 47, 314,
362 300, 0, 47, 314, 199, 0, 199, 0, 300, 0,
363 314, 300, 0, 314, 199, 0, 100, 0, 129, 100,
364 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
365 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
366 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
367 0, 134, 0, 134, 65, 214, 0, 377, 0, 377,
368 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
369 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
370 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
371 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
372 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
373 152, 61, 0, 0, 109, 0, 148, 140, 139, 324,
374 0, 148, 140, 348, 0, 148, 140, 1, 0, 0,
375 305, 5, 94, 144, 368, 110, 287, 380, 0, 305,
376 5, 48, 287, 380, 0, 0, 314, 305, 5, 94,
377 145, 368, 110, 287, 380, 0, 314, 305, 5, 48,
378 287, 380, 0, 0, 305, 172, 94, 146, 368, 110,
379 287, 380, 0, 305, 172, 48, 287, 380, 0, 0,
380 314, 305, 172, 94, 147, 368, 110, 287, 380, 0,
381 314, 305, 172, 48, 287, 380, 0, 215, 212, 0,
382 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
383 5, 94, 368, 110, 287, 380, 0, 5, 48, 287,
384 380, 0, 172, 94, 368, 110, 287, 380, 0, 172,
385 48, 287, 380, 0, 218, 149, 0, 149, 0, 215,
386 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
387 143, 0, 25, 3, 0, 151, 242, 0, 151, 94,
388 188, 110, 0, 151, 48, 0, 63, 154, 155, 0,
389 0, 0, 156, 0, 155, 60, 156, 0, 155, 1,
390 0, 94, 188, 110, 0, 48, 0, 158, 94, 188,
391 110, 0, 158, 48, 0, 293, 94, 188, 110, 0,
392 293, 48, 0, 307, 94, 188, 110, 0, 307, 48,
393 0, 3, 0, 4, 0, 5, 0, 57, 0, 58,
394 0, 3, 0, 57, 0, 58, 0, 106, 0, 105,
395 0, 107, 0, 0, 49, 169, 221, 61, 161, 170,
396 0, 0, 49, 169, 215, 212, 162, 170, 0, 0,
397 49, 169, 297, 163, 170, 0, 0, 49, 169, 143,
398 164, 170, 0, 0, 7, 49, 169, 221, 61, 165,
399 170, 0, 0, 7, 49, 169, 215, 212, 166, 170,
400 0, 0, 7, 49, 169, 297, 167, 170, 0, 0,
401 7, 49, 169, 143, 168, 170, 0, 0, 0, 57,
402 75, 174, 173, 0, 4, 75, 174, 173, 0, 172,
403 0, 5, 75, 174, 173, 0, 76, 0, 78, 0,
404 0, 175, 0, 176, 0, 175, 60, 176, 0, 214,
405 0, 194, 0, 80, 0, 79, 0, 87, 0, 88,
406 0, 112, 0, 187, 0, 194, 0, 48, 0, 94,
407 178, 110, 0, 48, 0, 94, 182, 110, 0, 0,
408 182, 0, 1, 0, 0, 358, 212, 226, 235, 65,
409 183, 243, 0, 178, 0, 111, 0, 321, 319, 111,
410 0, 321, 319, 1, 111, 0, 321, 1, 111, 0,
411 0, 59, 186, 184, 0, 333, 0, 194, 60, 194,
412 0, 194, 60, 1, 0, 187, 60, 194, 0, 187,
413 60, 1, 0, 194, 0, 187, 0, 203, 0, 120,
414 193, 0, 81, 193, 0, 71, 193, 0, 89, 193,
415 0, 177, 193, 0, 68, 157, 0, 13, 189, 0,
416 13, 94, 214, 110, 0, 30, 189, 0, 30, 94,
417 214, 110, 0, 205, 286, 0, 205, 286, 191, 0,
418 205, 190, 286, 0, 205, 190, 286, 191, 0, 205,
419 94, 214, 110, 0, 205, 94, 214, 110, 191, 0,
420 205, 190, 94, 214, 110, 0, 205, 190, 94, 214,
421 110, 191, 0, 206, 193, 0, 206, 95, 113, 193,
422 0, 206, 95, 178, 113, 193, 0, 35, 193, 0,
423 36, 193, 0, 94, 188, 110, 0, 59, 188, 111,
424 0, 94, 188, 110, 0, 48, 0, 94, 221, 110,
425 0, 65, 243, 0, 94, 214, 110, 0, 192, 94,
426 214, 110, 0, 189, 0, 192, 189, 0, 192, 59,
427 244, 255, 111, 0, 193, 0, 194, 84, 194, 0,
428 194, 85, 194, 0, 194, 79, 194, 0, 194, 80,
429 194, 0, 194, 81, 194, 0, 194, 82, 194, 0,
430 194, 83, 194, 0, 194, 77, 194, 0, 194, 78,
431 194, 0, 194, 74, 194, 0, 194, 75, 194, 0,
432 194, 76, 194, 0, 194, 73, 194, 0, 194, 72,
433 194, 0, 194, 71, 194, 0, 194, 69, 194, 0,
434 194, 70, 194, 0, 194, 68, 194, 0, 194, 67,
435 194, 0, 194, 66, 363, 63, 194, 0, 194, 65,
436 194, 0, 194, 64, 194, 0, 62, 0, 62, 194,
437 0, 89, 378, 157, 0, 197, 0, 385, 0, 3,
438 0, 57, 0, 58, 0, 0, 6, 75, 196, 174,
439 173, 0, 385, 75, 196, 174, 173, 0, 49, 157,
440 75, 174, 173, 0, 49, 6, 75, 174, 173, 0,
441 49, 385, 75, 174, 173, 0, 195, 0, 4, 0,
442 5, 0, 195, 0, 81, 200, 0, 71, 200, 0,
443 94, 200, 110, 0, 3, 75, 174, 173, 0, 58,
444 75, 175, 173, 0, 299, 0, 195, 0, 201, 0,
445 94, 200, 110, 0, 195, 0, 10, 0, 207, 0,
446 208, 0, 94, 178, 110, 0, 94, 200, 110, 0,
447 94, 1, 110, 0, 0, 94, 204, 325, 110, 0,
448 203, 94, 188, 110, 0, 203, 48, 0, 203, 95,
449 178, 113, 0, 203, 87, 0, 203, 88, 0, 41,
450 0, 9, 94, 188, 110, 0, 303, 0, 51, 75,
451 214, 76, 94, 178, 110, 0, 52, 75, 214, 76,
452 94, 178, 110, 0, 53, 75, 214, 76, 94, 178,
453 110, 0, 54, 75, 214, 76, 94, 178, 110, 0,
454 50, 94, 178, 110, 0, 50, 94, 214, 110, 0,
455 314, 3, 0, 314, 385, 0, 302, 0, 302, 94,
456 188, 110, 0, 302, 48, 0, 210, 198, 0, 210,
457 198, 94, 188, 110, 0, 210, 198, 48, 0, 210,
458 199, 0, 210, 302, 0, 210, 199, 94, 188, 110,
459 0, 210, 199, 48, 0, 210, 302, 94, 188, 110,
460 0, 210, 302, 48, 0, 210, 89, 8, 48, 0,
461 210, 8, 55, 89, 8, 48, 0, 210, 1, 0,
462 40, 0, 314, 40, 0, 39, 0, 314, 206, 0,
463 43, 0, 44, 0, 11, 0, 208, 11, 0, 0,
464 203, 93, 0, 203, 92, 0, 221, 223, 61, 0,
465 215, 223, 61, 0, 218, 224, 61, 0, 215, 61,
466 0, 218, 61, 0, 120, 211, 0, 292, 0, 297,
467 0, 48, 0, 213, 48, 0, 219, 317, 0, 288,
468 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
469 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
470 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
471 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
472 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
473 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
474 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
475 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
476 0, 250, 0, 8, 0, 294, 0, 29, 94, 178,
477 110, 0, 29, 94, 214, 110, 0, 31, 94, 178,
478 110, 0, 31, 94, 214, 110, 0, 8, 0, 9,
479 0, 250, 0, 231, 0, 223, 60, 227, 0, 232,
480 0, 224, 60, 227, 0, 233, 0, 225, 60, 227,
481 0, 0, 121, 94, 208, 110, 0, 0, 212, 226,
482 235, 65, 228, 243, 0, 212, 226, 235, 0, 0,
483 235, 65, 230, 243, 0, 235, 0, 212, 226, 229,
484 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
485 0, 143, 226, 235, 0, 0, 236, 0, 237, 0,
486 236, 237, 0, 32, 94, 94, 238, 110, 110, 0,
487 239, 0, 238, 60, 239, 0, 0, 240, 0, 240,
488 94, 3, 110, 0, 240, 94, 3, 60, 188, 110,
489 0, 240, 94, 188, 110, 0, 157, 0, 7, 0,
490 8, 0, 9, 0, 157, 0, 241, 60, 157, 0,
491 0, 65, 243, 0, 194, 0, 59, 111, 0, 59,
492 244, 111, 0, 59, 244, 60, 111, 0, 1, 0,
493 243, 0, 244, 60, 243, 0, 95, 194, 113, 243,
494 0, 157, 63, 243, 0, 244, 60, 157, 63, 243,
495 0, 99, 0, 245, 140, 139, 324, 0, 245, 140,
496 348, 0, 245, 140, 1, 0, 0, 247, 246, 141,
497 0, 104, 194, 109, 0, 104, 1, 109, 0, 0,
498 249, 248, 0, 249, 1, 0, 0, 14, 157, 59,
499 251, 284, 256, 111, 0, 14, 157, 59, 111, 0,
500 0, 14, 59, 252, 284, 256, 111, 0, 14, 59,
501 111, 0, 14, 157, 0, 14, 312, 0, 46, 307,
502 0, 0, 0, 264, 270, 272, 111, 235, 253, 249,
503 254, 247, 0, 264, 0, 0, 60, 0, 0, 60,
504 0, 37, 0, 257, 7, 0, 257, 8, 0, 257,
505 9, 0, 257, 37, 0, 257, 157, 0, 257, 159,
506 0, 257, 305, 157, 0, 257, 314, 305, 157, 0,
507 257, 314, 157, 0, 257, 171, 0, 257, 305, 171,
508 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
509 0, 257, 59, 0, 263, 0, 262, 0, 0, 63,
510 378, 0, 63, 378, 266, 0, 267, 0, 266, 60,
511 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
512 0, 293, 0, 31, 94, 178, 110, 0, 31, 94,
513 214, 110, 0, 38, 378, 0, 7, 378, 0, 269,
514 38, 378, 0, 269, 7, 378, 0, 59, 0, 0,
515 271, 0, 271, 273, 0, 272, 38, 63, 273, 0,
516 272, 38, 63, 0, 274, 0, 273, 274, 0, 275,
517 61, 0, 275, 111, 0, 150, 63, 0, 150, 96,
518 0, 150, 25, 0, 150, 59, 0, 61, 0, 120,
519 274, 0, 130, 274, 0, 130, 215, 61, 0, 215,
520 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
521 143, 226, 235, 242, 0, 63, 194, 0, 1, 0,
522 218, 149, 226, 235, 242, 0, 149, 226, 235, 242,
523 0, 127, 0, 0, 278, 0, 276, 60, 279, 0,
524 0, 281, 0, 277, 60, 283, 0, 280, 0, 281,
525 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
526 4, 63, 194, 235, 0, 297, 226, 235, 242, 0,
527 143, 226, 235, 242, 0, 3, 63, 194, 235, 0,
528 63, 194, 235, 0, 292, 226, 235, 242, 0, 4,
529 63, 194, 235, 0, 297, 226, 235, 242, 0, 3,
530 63, 194, 235, 0, 63, 194, 235, 0, 285, 0,
531 284, 60, 285, 0, 157, 0, 157, 65, 194, 0,
532 358, 315, 0, 358, 0, 94, 214, 110, 95, 178,
533 113, 0, 0, 287, 9, 0, 9, 0, 288, 9,
534 0, 0, 289, 178, 0, 289, 94, 188, 110, 0,
535 289, 94, 368, 110, 0, 289, 48, 0, 289, 94,
536 1, 110, 0, 81, 288, 292, 0, 71, 288, 292,
537 0, 81, 292, 0, 71, 292, 0, 313, 287, 292,
538 0, 296, 0, 304, 0, 314, 304, 0, 293, 0,
539 295, 0, 314, 295, 0, 305, 304, 0, 296, 291,
540 287, 380, 0, 296, 95, 290, 113, 0, 296, 95,
541 113, 0, 94, 292, 110, 0, 305, 304, 0, 304,
542 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
543 297, 0, 71, 297, 0, 313, 287, 297, 0, 202,
544 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
545 298, 0, 71, 298, 0, 313, 287, 297, 0, 299,
546 0, 202, 291, 287, 380, 0, 94, 298, 110, 0,
547 202, 95, 290, 113, 0, 202, 95, 113, 0, 301,
548 0, 305, 201, 0, 305, 199, 0, 305, 198, 0,
549 305, 195, 0, 305, 198, 0, 301, 0, 314, 301,
550 0, 221, 94, 188, 110, 0, 221, 94, 200, 110,
551 0, 221, 213, 0, 4, 0, 5, 0, 171, 0,
552 306, 0, 305, 306, 0, 305, 49, 311, 55, 0,
553 4, 55, 0, 5, 55, 0, 58, 55, 0, 171,
554 55, 0, 308, 0, 314, 308, 0, 309, 157, 0,
555 309, 171, 0, 309, 311, 0, 309, 49, 311, 0,
556 310, 0, 309, 310, 0, 309, 311, 55, 0, 309,
557 49, 311, 55, 0, 4, 55, 0, 5, 55, 0,
558 171, 55, 0, 57, 55, 0, 3, 55, 0, 58,
559 55, 0, 157, 75, 174, 173, 0, 314, 304, 0,
560 295, 0, 314, 295, 0, 305, 81, 0, 314, 305,
561 81, 0, 55, 0, 81, 287, 315, 0, 81, 287,
562 0, 71, 287, 315, 0, 71, 287, 0, 313, 287,
563 0, 313, 287, 315, 0, 316, 0, 95, 178, 113,
564 0, 316, 95, 290, 113, 0, 81, 288, 317, 0,
565 81, 317, 0, 81, 288, 0, 81, 0, 71, 288,
566 317, 0, 71, 317, 0, 71, 288, 0, 71, 0,
567 313, 287, 0, 313, 287, 317, 0, 318, 0, 94,
568 317, 110, 0, 91, 0, 318, 94, 368, 110, 287,
569 380, 0, 318, 48, 287, 380, 0, 318, 95, 290,
570 113, 0, 318, 95, 113, 0, 94, 369, 110, 287,
571 380, 0, 192, 287, 380, 0, 213, 287, 380, 0,
572 95, 290, 113, 0, 95, 113, 0, 332, 0, 320,
573 0, 319, 332, 0, 319, 320, 0, 1, 61, 0,
574 0, 322, 0, 323, 0, 322, 323, 0, 34, 241,
575 61, 0, 325, 0, 1, 325, 0, 0, 59, 326,
576 184, 0, 0, 0, 15, 328, 180, 329, 330, 0,
577 325, 0, 0, 331, 333, 0, 325, 0, 333, 0,
578 211, 0, 178, 61, 0, 0, 327, 16, 334, 330,
579 0, 327, 0, 0, 0, 17, 335, 180, 336, 185,
580 0, 0, 0, 18, 337, 330, 17, 338, 179, 61,
581 0, 0, 0, 0, 0, 19, 339, 94, 361, 340,
582 181, 61, 341, 363, 110, 342, 185, 0, 0, 0,
583 20, 343, 94, 182, 110, 344, 330, 0, 0, 21,
584 194, 63, 345, 332, 0, 0, 21, 194, 12, 194,
585 63, 346, 332, 0, 0, 22, 63, 347, 332, 0,
586 23, 61, 0, 24, 61, 0, 25, 61, 0, 25,
587 178, 61, 0, 121, 362, 94, 208, 110, 61, 0,
588 121, 362, 94, 208, 63, 364, 110, 61, 0, 121,
589 362, 94, 208, 63, 364, 63, 364, 110, 61, 0,
590 121, 362, 94, 208, 63, 364, 63, 364, 63, 367,
591 110, 61, 0, 26, 81, 178, 61, 0, 26, 157,
592 61, 0, 360, 332, 0, 360, 111, 0, 61, 0,
593 351, 0, 0, 0, 96, 349, 139, 325, 350, 354,
594 0, 0, 0, 96, 352, 325, 353, 354, 0, 355,
595 0, 354, 355, 0, 0, 0, 97, 356, 359, 357,
596 325, 0, 219, 0, 288, 0, 94, 12, 110, 0,
597 94, 377, 110, 0, 3, 63, 0, 57, 63, 0,
598 4, 63, 0, 5, 63, 0, 363, 61, 0, 211,
599 0, 59, 184, 0, 0, 9, 0, 0, 178, 0,
600 1, 0, 0, 365, 0, 366, 0, 365, 60, 366,
601 0, 11, 94, 178, 110, 0, 11, 0, 367, 60,
602 11, 0, 0, 369, 0, 214, 0, 373, 0, 374,
603 12, 0, 373, 12, 0, 214, 12, 0, 12, 0,
604 98, 0, 373, 98, 0, 214, 98, 0, 373, 63,
605 0, 214, 63, 0, 0, 65, 371, 372, 0, 103,
606 0, 243, 0, 375, 0, 377, 370, 0, 374, 376,
607 0, 374, 379, 0, 374, 379, 65, 243, 0, 373,
608 60, 0, 214, 60, 0, 216, 212, 0, 219, 212,
609 0, 221, 212, 0, 216, 317, 0, 216, 0, 218,
610 297, 0, 377, 0, 377, 370, 0, 375, 0, 214,
611 0, 0, 0, 297, 0, 0, 62, 94, 382, 110,
612 0, 62, 48, 0, 214, 0, 381, 0, 382, 60,
613 381, 0, 0, 81, 287, 383, 0, 71, 287, 383,
614 0, 313, 287, 383, 0, 42, 0, 384, 81, 0,
615 384, 82, 0, 384, 83, 0, 384, 79, 0, 384,
616 80, 0, 384, 71, 0, 384, 69, 0, 384, 70,
617 0, 384, 89, 0, 384, 60, 0, 384, 74, 0,
618 384, 75, 0, 384, 76, 0, 384, 73, 0, 384,
619 64, 0, 384, 65, 0, 384, 77, 0, 384, 78,
620 0, 384, 87, 0, 384, 88, 0, 384, 68, 0,
621 384, 67, 0, 384, 112, 0, 384, 66, 63, 0,
622 384, 72, 0, 384, 92, 0, 384, 84, 0, 384,
623 48, 0, 384, 95, 113, 0, 384, 40, 0, 384,
624 39, 0, 384, 40, 95, 113, 0, 384, 39, 95,
625 113, 0, 384, 358, 383, 0, 384, 1, 0
626 };
627
628 #endif
629
630 #if YYDEBUG != 0
631 static const short yyrline[] = { 0,
632 333, 335, 349, 352, 353, 357, 359, 362, 367, 371,
633 377, 379, 382, 385, 389, 392, 394, 396, 399, 401,
634 404, 407, 409, 411, 413, 415, 417, 419, 425, 429,
635 432, 434, 438, 440, 441, 443, 447, 450, 456, 459,
636 461, 466, 469, 473, 476, 479, 482, 486, 491, 501,
637 503, 505, 507, 509, 522, 531, 541, 543, 545, 549,
638 551, 552, 559, 560, 561, 564, 567, 571, 573, 574,
639 577, 579, 582, 585, 587, 591, 594, 596, 600, 602,
640 604, 608, 610, 612, 616, 618, 620, 626, 630, 633,
641 636, 639, 644, 647, 649, 651, 657, 667, 669, 672,
642 675, 677, 680, 684, 693, 696, 698, 702, 715, 735,
643 738, 740, 741, 744, 751, 757, 759, 761, 763, 765,
644 768, 773, 775, 776, 777, 778, 781, 783, 784, 787,
645 789, 790, 793, 798, 798, 802, 802, 805, 805, 808,
646 808, 812, 812, 817, 817, 820, 820, 823, 825, 828,
647 835, 842, 848, 851, 860, 862, 870, 873, 876, 879,
648 883, 886, 889, 892, 894, 896, 898, 902, 905, 908,
649 913, 917, 922, 926, 929, 931, 935, 955, 962, 965,
650 967, 968, 969, 972, 976, 977, 981, 985, 988, 990,
651 994, 997, 1000, 1004, 1007, 1009, 1011, 1013, 1020, 1024,
652 1026, 1028, 1030, 1036, 1039, 1042, 1045, 1048, 1052, 1055,
653 1058, 1062, 1064, 1068, 1072, 1074, 1078, 1081, 1088, 1091,
654 1093, 1101, 1114, 1120, 1127, 1129, 1131, 1144, 1147, 1149,
655 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1167, 1169,
656 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1185, 1187, 1191,
657 1193, 1195, 1212, 1215, 1216, 1217, 1218, 1219, 1222, 1225,
658 1228, 1232, 1235, 1237, 1242, 1244, 1245, 1248, 1250, 1252,
659 1254, 1258, 1261, 1265, 1267, 1268, 1269, 1273, 1281, 1282,
660 1283, 1291, 1293, 1296, 1298, 1308, 1310, 1312, 1314, 1316,
661 1318, 1321, 1323, 1367, 1368, 1372, 1376, 1380, 1384, 1386,
662 1390, 1392, 1400, 1402, 1404, 1406, 1410, 1412, 1414, 1416,
663 1421, 1423, 1425, 1427, 1430, 1432, 1434, 1478, 1481, 1485,
664 1488, 1492, 1495, 1500, 1502, 1506, 1519, 1522, 1529, 1536,
665 1541, 1543, 1548, 1550, 1557, 1559, 1563, 1567, 1573, 1577,
666 1580, 1583, 1586, 1596, 1598, 1601, 1605, 1608, 1611, 1614,
667 1617, 1623, 1629, 1631, 1636, 1638, 1647, 1650, 1652, 1655,
668 1661, 1663, 1673, 1677, 1680, 1683, 1688, 1691, 1699, 1701,
669 1703, 1705, 1708, 1711, 1726, 1745, 1748, 1750, 1753, 1755,
670 1758, 1760, 1763, 1765, 1768, 1771, 1775, 1781, 1782, 1794,
671 1801, 1804, 1810, 1814, 1819, 1825, 1826, 1834, 1837, 1841,
672 1844, 1848, 1853, 1856, 1860, 1863, 1865, 1867, 1869, 1876,
673 1878, 1879, 1880, 1884, 1887, 1891, 1894, 1900, 1902, 1905,
674 1908, 1911, 1917, 1920, 1923, 1925, 1927, 1931, 1937, 1945,
675 1947, 1951, 1953, 1958, 1961, 1964, 1966, 1968, 1972, 1976,
676 1981, 1985, 1988, 1993, 1997, 2000, 2003, 2007, 2042, 2048,
677 2057, 2077, 2079, 2082, 2084, 2089, 2091, 2093, 2095, 2097,
678 2101, 2106, 2111, 2117, 2122, 2127, 2129, 2133, 2138, 2141,
679 2148, 2176, 2182, 2184, 2187, 2190, 2192, 2196, 2198, 2202,
680 2228, 2257, 2260, 2261, 2282, 2305, 2307, 2311, 2322, 2336,
681 2425, 2432, 2435, 2443, 2454, 2463, 2467, 2482, 2485, 2490,
682 2492, 2494, 2496, 2498, 2500, 2503, 2505, 2513, 2519, 2521,
683 2524, 2527, 2529, 2540, 2545, 2548, 2553, 2556, 2557, 2568,
684 2571, 2572, 2583, 2585, 2588, 2590, 2593, 2600, 2608, 2615,
685 2621, 2627, 2635, 2639, 2644, 2648, 2651, 2660, 2662, 2666,
686 2669, 2674, 2678, 2683, 2693, 2696, 2700, 2704, 2712, 2717,
687 2723, 2726, 2728, 2730, 2736, 2739, 2741, 2743, 2745, 2749,
688 2752, 2770, 2780, 2782, 2783, 2787, 2792, 2795, 2797, 2799,
689 2801, 2805, 2811, 2814, 2816, 2818, 2820, 2824, 2827, 2830,
690 2832, 2834, 2836, 2840, 2843, 2846, 2848, 2850, 2852, 2859,
691 2870, 2874, 2879, 2883, 2888, 2890, 2894, 2897, 2899, 2903,
692 2905, 2906, 2909, 2911, 2913, 2919, 2934, 2940, 2946, 2960,
693 2962, 2966, 2980, 2982, 2984, 2988, 2994, 3007, 3009, 3013,
694 3024, 3030, 3032, 3033, 3034, 3042, 3047, 3056, 3057, 3061,
695 3064, 3070, 3076, 3079, 3081, 3083, 3085, 3089, 3093, 3097,
696 3100, 3105, 3108, 3110, 3112, 3114, 3116, 3118, 3120, 3122,
697 3126, 3130, 3134, 3138, 3139, 3141, 3143, 3145, 3147, 3149,
698 3151, 3153, 3155, 3163, 3165, 3166, 3167, 3170, 3176, 3178,
699 3183, 3185, 3188, 3202, 3205, 3208, 3212, 3215, 3222, 3224,
700 3227, 3229, 3231, 3234, 3237, 3240, 3243, 3245, 3248, 3252,
701 3254, 3260, 3262, 3263, 3265, 3270, 3272, 3274, 3276, 3278,
702 3281, 3282, 3284, 3287, 3288, 3291, 3291, 3294, 3294, 3297,
703 3297, 3299, 3301, 3303, 3305, 3311, 3317, 3320, 3323, 3329,
704 3331, 3333, 3337, 3339, 3342, 3349, 3352, 3360, 3364, 3366,
705 3369, 3371, 3374, 3378, 3380, 3383, 3385, 3388, 3405, 3411,
706 3419, 3421, 3423, 3427, 3430, 3431, 3439, 3443, 3447, 3450,
707 3451, 3457, 3460, 3463, 3465, 3469, 3474, 3477, 3487, 3492,
708 3493, 3501, 3507, 3512, 3516, 3521, 3525, 3529, 3533, 3538,
709 3549, 3563, 3567, 3570, 3572, 3576, 3580, 3583, 3586, 3588,
710 3592, 3594, 3601, 3608, 3611, 3614, 3618, 3622, 3628, 3632,
711 3637, 3639, 3642, 3647, 3653, 3664, 3667, 3669, 3673, 3678,
712 3680, 3687, 3690, 3692, 3694, 3700, 3705, 3708, 3710, 3712,
713 3714, 3716, 3718, 3720, 3722, 3724, 3726, 3728, 3730, 3732,
714 3734, 3736, 3738, 3740, 3742, 3744, 3746, 3748, 3750, 3752,
715 3754, 3756, 3758, 3760, 3762, 3764, 3766, 3768, 3770, 3773,
716 3775
717 };
718 #endif
719
720
721 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
722
723 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
724 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
725 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
726 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
727 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
728 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
729 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
730 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
731 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
732 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
733 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
734 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
735 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
736 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
737 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
738 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
739 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
740 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
741 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
742 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
743 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
744 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
745 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
746 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
747 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
748 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
749 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
750 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
751 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
752 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
753 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
754 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
755 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
756 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
757 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
758 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
759 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
760 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
761 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
762 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
763 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
764 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
765 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
766 "component_decl_1","components","notype_components","component_declarator0",
767 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
768 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
769 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
770 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
771 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
772 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
773 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
774 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
775 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
776 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
777 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
778 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
779 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
780 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
781 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
782 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
783 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
784 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
785 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
786 };
787 #endif
788
789 static const short yyr1[] = { 0,
790 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
791 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
792 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
793 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
794 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
795 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
796 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
797 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
798 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
799 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
800 150, 150, 150, 151, 152, 152, 152, 153, 154, 155,
801 155, 155, 155, 156, 156, 156, 156, 156, 156, 156,
802 156, 157, 157, 157, 157, 157, 158, 158, 158, 159,
803 159, 159, 161, 160, 162, 160, 163, 160, 164, 160,
804 165, 160, 166, 160, 167, 160, 168, 160, 169, 170,
805 171, 171, 171, 172, 173, 173, 174, 174, 175, 175,
806 176, 176, 177, 177, 177, 177, 177, 178, 178, 179,
807 179, 180, 180, 181, 181, 181, 183, 182, 182, 184,
808 184, 184, 184, 186, 185, 185, 187, 187, 187, 187,
809 188, 188, 189, 189, 189, 189, 189, 189, 189, 189,
810 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
811 189, 189, 189, 189, 189, 189, 190, 190, 191, 191,
812 191, 191, 192, 192, 193, 193, 193, 194, 194, 194,
813 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
814 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
815 194, 194, 195, 195, 195, 195, 195, 195, 196, 197,
816 197, 198, 198, 198, 199, 199, 199, 200, 200, 200,
817 200, 201, 201, 202, 202, 202, 202, 203, 203, 203,
818 203, 203, 203, 203, 204, 203, 203, 203, 203, 203,
819 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
820 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
821 203, 203, 203, 203, 203, 203, 203, 205, 205, 206,
822 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
823 211, 211, 211, 211, 212, 212, 213, 213, 214, 214,
824 214, 214, 214, 215, 215, 216, 216, 216, 216, 216,
825 216, 217, 217, 217, 217, 217, 218, 218, 218, 218,
826 218, 218, 219, 219, 219, 219, 220, 220, 221, 221,
827 221, 221, 221, 221, 221, 222, 222, 222, 223, 223,
828 224, 224, 225, 225, 226, 226, 228, 227, 227, 230,
829 229, 229, 231, 232, 234, 233, 233, 235, 235, 236,
830 236, 237, 238, 238, 239, 239, 239, 239, 239, 240,
831 240, 240, 240, 241, 241, 242, 242, 243, 243, 243,
832 243, 243, 244, 244, 244, 244, 244, 245, 246, 246,
833 246, 247, 247, 248, 248, 249, 249, 249, 251, 250,
834 250, 252, 250, 250, 250, 250, 250, 253, 254, 250,
835 250, 255, 255, 256, 256, 257, 257, 257, 257, 257,
836 258, 259, 260, 260, 260, 260, 260, 261, 262, 262,
837 262, 263, 264, 264, 265, 265, 265, 266, 266, 267,
838 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
839 271, 272, 272, 272, 272, 273, 273, 274, 274, 274,
840 274, 274, 274, 274, 274, 274, 274, 275, 275, 275,
841 275, 275, 275, 275, 275, 275, 276, 276, 276, 277,
842 277, 277, 278, 278, 279, 279, 280, 280, 281, 281,
843 281, 281, 282, 282, 283, 283, 283, 284, 284, 285,
844 285, 286, 286, 286, 287, 287, 288, 288, 289, 290,
845 291, 291, 291, 291, 292, 292, 292, 292, 292, 292,
846 293, 293, 294, 294, 294, 295, 296, 296, 296, 296,
847 296, 296, 297, 297, 297, 297, 297, 297, 298, 298,
848 298, 298, 298, 298, 299, 299, 299, 299, 299, 299,
849 300, 300, 301, 301, 302, 302, 303, 303, 303, 304,
850 304, 304, 305, 305, 305, 306, 306, 306, 306, 307,
851 307, 308, 308, 308, 308, 309, 309, 309, 309, 310,
852 310, 310, 310, 310, 310, 311, 312, 312, 312, 313,
853 313, 314, 315, 315, 315, 315, 315, 315, 315, 316,
854 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
855 317, 317, 318, 318, 318, 318, 318, 318, 318, 318,
856 318, 318, 318, 319, 319, 319, 319, 320, 321, 321,
857 322, 322, 323, 324, 324, 326, 325, 328, 329, 327,
858 330, 331, 330, 332, 332, 333, 333, 334, 333, 333,
859 335, 336, 333, 337, 338, 333, 339, 340, 341, 342,
860 333, 343, 344, 333, 345, 333, 346, 333, 347, 333,
861 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
862 333, 333, 333, 333, 349, 350, 348, 352, 353, 351,
863 354, 354, 356, 357, 355, 358, 358, 359, 359, 360,
864 360, 360, 360, 361, 361, 361, 362, 362, 363, 363,
865 363, 364, 364, 365, 365, 366, 367, 367, 368, 368,
866 368, 369, 369, 369, 369, 369, 369, 369, 369, 369,
867 369, 371, 370, 372, 372, 373, 373, 373, 373, 373,
868 374, 374, 375, 375, 375, 375, 375, 375, 376, 376,
869 377, 377, 378, 379, 379, 380, 380, 380, 381, 382,
870 382, 383, 383, 383, 383, 384, 385, 385, 385, 385,
871 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
872 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
873 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
874 385
875 };
876
877 static const short yyr2[] = { 0,
878 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
879 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
880 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
881 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
882 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
883 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
884 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
885 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
886 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
887 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
888 1, 2, 1, 2, 2, 4, 2, 3, 0, 0,
889 1, 3, 2, 3, 1, 4, 2, 4, 2, 4,
890 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
891 1, 1, 0, 6, 0, 6, 0, 5, 0, 5,
892 0, 7, 0, 7, 0, 6, 0, 6, 0, 0,
893 4, 4, 1, 4, 1, 1, 0, 1, 1, 3,
894 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
895 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
896 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
897 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
898 4, 2, 4, 2, 3, 3, 4, 4, 5, 5,
899 6, 2, 4, 5, 2, 2, 3, 3, 3, 1,
900 3, 2, 3, 4, 1, 2, 5, 1, 3, 3,
901 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
902 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
903 1, 2, 3, 1, 1, 1, 1, 1, 0, 5,
904 5, 5, 5, 5, 1, 1, 1, 1, 2, 2,
905 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
906 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
907 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
908 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
909 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
910 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
911 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
912 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
913 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
914 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
915 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
916 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
917 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
918 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
919 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
920 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
921 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
922 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
923 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
924 2, 2, 3, 4, 3, 2, 3, 0, 1, 3,
925 2, 2, 1, 1, 0, 2, 3, 1, 4, 1,
926 3, 1, 1, 4, 4, 2, 2, 3, 3, 1,
927 0, 1, 2, 4, 3, 1, 2, 2, 2, 2,
928 2, 2, 2, 1, 2, 2, 3, 2, 2, 4,
929 4, 2, 1, 5, 4, 1, 0, 1, 3, 0,
930 1, 3, 1, 1, 1, 1, 4, 4, 4, 4,
931 4, 3, 4, 4, 4, 4, 3, 1, 3, 1,
932 3, 2, 1, 6, 0, 2, 1, 2, 0, 2,
933 4, 4, 2, 4, 3, 3, 2, 2, 3, 1,
934 1, 2, 1, 1, 2, 2, 4, 4, 3, 3,
935 2, 1, 3, 3, 2, 2, 3, 1, 3, 3,
936 2, 2, 3, 1, 4, 3, 4, 3, 1, 2,
937 2, 2, 2, 2, 1, 2, 4, 4, 2, 1,
938 1, 1, 1, 2, 4, 2, 2, 2, 2, 1,
939 2, 2, 2, 2, 3, 1, 2, 3, 4, 2,
940 2, 2, 2, 2, 2, 4, 2, 1, 2, 2,
941 3, 1, 3, 2, 3, 2, 2, 3, 1, 3,
942 4, 3, 2, 2, 1, 3, 2, 2, 1, 2,
943 3, 1, 3, 1, 6, 4, 4, 3, 5, 3,
944 3, 3, 2, 1, 1, 2, 2, 2, 0, 1,
945 1, 2, 3, 1, 2, 0, 3, 0, 0, 5,
946 1, 0, 2, 1, 1, 1, 2, 0, 4, 1,
947 0, 0, 5, 0, 0, 7, 0, 0, 0, 0,
948 12, 0, 0, 7, 0, 5, 0, 7, 0, 4,
949 2, 2, 2, 3, 6, 8, 10, 12, 4, 3,
950 2, 2, 1, 1, 0, 0, 6, 0, 0, 5,
951 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
952 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
953 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
954 1, 1, 2, 2, 2, 1, 1, 2, 2, 2,
955 2, 0, 3, 1, 1, 1, 2, 2, 2, 4,
956 2, 2, 2, 2, 2, 2, 1, 2, 1, 2,
957 1, 1, 0, 0, 1, 0, 4, 2, 1, 1,
958 3, 0, 3, 3, 3, 1, 2, 2, 2, 2,
959 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
960 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
961 2, 2, 2, 2, 3, 2, 2, 4, 4, 3,
962 2
963 };
964
965 static const short yydefact[] = { 3,
966 13, 13, 5, 0, 4, 0, 256, 600, 601, 0,
967 358, 370, 547, 0, 11, 12, 0, 0, 0, 10,
968 456, 806, 0, 0, 0, 149, 632, 257, 258, 65,
969 0, 0, 793, 0, 37, 0, 0, 14, 0, 8,
970 0, 17, 16, 71, 92, 68, 0, 602, 153, 275,
971 254, 276, 578, 0, 345, 0, 344, 363, 0, 383,
972 362, 400, 369, 0, 469, 468, 475, 474, 473, 451,
973 357, 563, 371, 564, 90, 274, 589, 561, 0, 603,
974 545, 0, 0, 255, 63, 64, 157, 606, 157, 607,
975 157, 259, 149, 122, 123, 124, 125, 126, 442, 445,
976 0, 628, 0, 446, 0, 0, 0, 0, 123, 124,
977 125, 126, 24, 0, 0, 0, 0, 0, 0, 0,
978 447, 610, 0, 616, 0, 0, 0, 0, 0, 0,
979 30, 0, 0, 39, 0, 157, 608, 0, 0, 576,
980 0, 0, 0, 575, 0, 0, 0, 0, 275, 0,
981 549, 0, 274, 545, 29, 0, 27, 3, 38, 0,
982 56, 55, 72, 15, 0, 398, 0, 0, 416, 69,
983 61, 609, 549, 0, 545, 62, 0, 0, 0, 88,
984 0, 379, 335, 560, 336, 572, 0, 545, 360, 359,
985 60, 91, 346, 0, 381, 361, 89, 352, 376, 377,
986 347, 365, 367, 356, 378, 0, 57, 401, 457, 458,
987 459, 460, 472, 131, 130, 132, 461, 462, 466, 0,
988 0, 475, 793, 471, 490, 491, 548, 364, 0, 395,
989 601, 0, 630, 153, 593, 594, 590, 566, 604, 0,
990 565, 562, 0, 841, 837, 836, 834, 816, 821, 822,
991 0, 828, 827, 813, 814, 812, 831, 820, 817, 818,
992 819, 823, 824, 810, 811, 807, 808, 809, 833, 825,
993 826, 815, 832, 0, 829, 736, 363, 737, 802, 259,
994 256, 547, 279, 324, 0, 0, 0, 0, 320, 318,
995 292, 322, 323, 0, 0, 0, 0, 0, 258, 251,
996 0, 0, 164, 163, 0, 165, 166, 0, 0, 167,
997 0, 0, 158, 159, 0, 225, 0, 228, 162, 278,
998 193, 0, 0, 280, 281, 0, 161, 342, 363, 343,
999 595, 303, 294, 0, 0, 0, 0, 157, 0, 444,
1000 0, 439, 0, 629, 627, 0, 168, 169, 0, 0,
1001 0, 405, 3, 22, 0, 624, 620, 621, 623, 625,
1002 622, 122, 123, 124, 0, 125, 126, 612, 613, 617,
1003 614, 611, 266, 267, 0, 265, 33, 34, 0, 592,
1004 591, 32, 31, 41, 0, 358, 139, 0, 0, 363,
1005 137, 0, 0, 574, 0, 573, 253, 270, 0, 582,
1006 269, 0, 581, 0, 277, 586, 0, 0, 13, 0,
1007 149, 9, 9, 0, 397, 399, 104, 75, 109, 725,
1008 0, 67, 66, 74, 107, 0, 0, 105, 70, 588,
1009 0, 0, 553, 0, 796, 0, 558, 0, 557, 0,
1010 0, 0, 0, 545, 398, 0, 59, 549, 545, 571,
1011 0, 349, 350, 0, 58, 398, 354, 353, 355, 348,
1012 368, 385, 384, 463, 467, 465, 0, 470, 476, 0,
1013 0, 366, 398, 545, 76, 0, 0, 0, 0, 545,
1014 82, 546, 577, 601, 631, 153, 0, 0, 830, 835,
1015 365, 545, 545, 0, 545, 840, 157, 0, 0, 0,
1016 200, 0, 0, 202, 215, 216, 0, 0, 0, 0,
1017 0, 252, 199, 196, 195, 197, 0, 0, 0, 0,
1018 0, 278, 0, 0, 0, 194, 155, 156, 272, 0,
1019 198, 0, 0, 226, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 288, 290, 291, 328,
1022 327, 0, 0, 0, 0, 0, 204, 543, 0, 212,
1023 325, 317, 0, 0, 793, 306, 309, 310, 0, 0,
1024 337, 649, 645, 654, 0, 549, 545, 545, 545, 339,
1025 652, 0, 599, 341, 0, 0, 340, 305, 0, 301,
1026 319, 321, 596, 0, 302, 152, 154, 0, 147, 0,
1027 363, 145, 540, 454, 538, 441, 0, 0, 372, 0,
1028 0, 373, 374, 375, 411, 412, 413, 410, 0, 403,
1029 406, 0, 3, 0, 615, 157, 618, 28, 36, 35,
1030 45, 0, 0, 0, 49, 53, 42, 792, 787, 0,
1031 342, 363, 45, 343, 791, 51, 150, 135, 133, 150,
1032 151, 273, 580, 579, 277, 583, 0, 19, 21, 71,
1033 0, 110, 326, 0, 676, 73, 674, 422, 0, 418,
1034 417, 192, 0, 191, 550, 587, 0, 766, 767, 0,
1035 761, 363, 0, 760, 762, 794, 776, 0, 0, 585,
1036 556, 555, 0, 0, 570, 0, 393, 392, 380, 569,
1037 0, 796, 559, 351, 382, 394, 398, 464, 600, 601,
1038 793, 0, 793, 602, 477, 478, 480, 793, 483, 482,
1039 0, 513, 601, 0, 504, 0, 0, 516, 0, 103,
1040 98, 0, 153, 517, 520, 0, 496, 0, 101, 0,
1041 398, 396, 796, 759, 157, 157, 605, 157, 796, 759,
1042 545, 79, 545, 85, 839, 838, 802, 802, 802, 0,
1043 0, 0, 0, 599, 0, 0, 0, 0, 363, 0,
1044 0, 0, 284, 0, 282, 283, 0, 223, 160, 256,
1045 600, 601, 257, 258, 0, 0, 423, 452, 0, 250,
1046 249, 751, 750, 0, 247, 246, 244, 245, 243, 242,
1047 241, 238, 239, 240, 236, 237, 231, 232, 233, 234,
1048 235, 229, 230, 0, 0, 0, 0, 0, 0, 206,
1049 220, 0, 0, 205, 545, 545, 0, 545, 542, 639,
1050 0, 0, 0, 0, 0, 308, 0, 312, 0, 314,
1051 0, 648, 647, 644, 643, 792, 0, 0, 663, 0,
1052 0, 796, 338, 796, 650, 545, 759, 549, 649, 645,
1053 0, 0, 545, 0, 0, 0, 0, 0, 260, 150,
1054 143, 141, 150, 0, 455, 0, 454, 190, 189, 188,
1055 187, 405, 0, 0, 25, 0, 26, 619, 0, 47,
1056 44, 45, 0, 40, 0, 0, 649, 645, 0, 783,
1057 545, 786, 788, 0, 784, 785, 46, 461, 0, 140,
1058 150, 150, 138, 18, 20, 386, 127, 115, 128, 129,
1059 0, 108, 111, 0, 0, 0, 0, 675, 669, 419,
1060 0, 106, 554, 551, 765, 782, 771, 769, 0, 552,
1061 764, 781, 770, 768, 763, 795, 778, 789, 779, 772,
1062 777, 798, 0, 390, 568, 567, 389, 487, 0, 486,
1063 793, 793, 793, 0, 545, 759, 512, 505, 517, 506,
1064 398, 398, 502, 503, 500, 501, 545, 759, 256, 600,
1065 0, 385, 99, 508, 518, 523, 524, 385, 385, 0,
1066 0, 385, 97, 509, 521, 385, 497, 498, 499, 398,
1067 0, 448, 78, 0, 0, 0, 0, 84, 0, 796,
1068 759, 796, 759, 804, 803, 805, 261, 293, 201, 203,
1069 299, 300, 0, 0, 0, 0, 283, 286, 0, 0,
1070 0, 0, 224, 0, 287, 289, 218, 217, 208, 0,
1071 207, 222, 0, 0, 636, 634, 0, 637, 549, 213,
1072 0, 0, 157, 315, 0, 0, 0, 646, 642, 653,
1073 545, 662, 660, 661, 651, 796, 0, 658, 0, 597,
1074 598, 0, 304, 148, 150, 150, 146, 541, 539, 443,
1075 0, 404, 402, 256, 0, 23, 626, 48, 43, 50,
1076 54, 648, 644, 649, 645, 0, 561, 0, 545, 650,
1077 52, 136, 134, 0, 113, 0, 117, 0, 119, 0,
1078 121, 0, 726, 0, 180, 677, 0, 670, 671, 0,
1079 420, 649, 645, 0, 278, 0, 595, 790, 0, 0,
1080 799, 800, 0, 0, 387, 0, 0, 0, 489, 488,
1081 481, 796, 0, 507, 416, 416, 796, 0, 0, 0,
1082 398, 398, 0, 398, 398, 0, 398, 0, 416, 0,
1083 436, 545, 263, 262, 264, 545, 81, 0, 87, 0,
1084 0, 0, 0, 0, 0, 426, 0, 424, 227, 248,
1085 0, 209, 210, 219, 221, 635, 633, 640, 638, 0,
1086 214, 0, 0, 307, 311, 313, 796, 656, 545, 657,
1087 144, 142, 440, 0, 407, 409, 648, 644, 566, 650,
1088 114, 112, 0, 0, 0, 0, 414, 0, 0, 256,
1089 600, 601, 678, 691, 694, 697, 702, 0, 0, 0,
1090 0, 0, 0, 257, 723, 728, 0, 747, 0, 686,
1091 0, 0, 363, 0, 665, 684, 690, 664, 685, 724,
1092 0, 672, 421, 0, 598, 780, 774, 775, 773, 0,
1093 797, 391, 0, 484, 485, 479, 94, 545, 511, 515,
1094 96, 545, 398, 398, 532, 416, 256, 600, 0, 519,
1095 525, 526, 385, 385, 416, 416, 0, 416, 522, 510,
1096 0, 796, 796, 545, 545, 0, 0, 0, 0, 425,
1097 0, 0, 211, 641, 316, 262, 659, 796, 0, 116,
1098 118, 120, 733, 727, 731, 0, 673, 668, 183, 740,
1099 742, 743, 0, 0, 682, 0, 0, 0, 709, 711,
1100 712, 713, 0, 0, 0, 741, 0, 334, 748, 0,
1101 687, 332, 385, 0, 333, 0, 385, 0, 0, 0,
1102 181, 667, 666, 688, 722, 721, 283, 801, 388, 796,
1103 796, 531, 528, 530, 0, 0, 398, 398, 398, 527,
1104 529, 514, 438, 0, 437, 432, 77, 83, 796, 796,
1105 295, 296, 297, 298, 427, 544, 655, 408, 0, 732,
1106 415, 172, 0, 679, 692, 681, 0, 0, 0, 0,
1107 0, 705, 0, 714, 0, 720, 729, 0, 330, 331,
1108 0, 0, 0, 329, 182, 682, 93, 95, 398, 398,
1109 537, 416, 416, 0, 0, 450, 80, 86, 0, 734,
1110 179, 0, 363, 0, 682, 0, 695, 683, 669, 745,
1111 698, 0, 0, 0, 0, 710, 719, 0, 0, 689,
1112 536, 534, 533, 535, 435, 434, 428, 68, 71, 0,
1113 0, 0, 173, 385, 680, 184, 693, 186, 0, 746,
1114 0, 744, 703, 707, 706, 730, 752, 0, 0, 433,
1115 738, 739, 735, 398, 669, 170, 0, 0, 176, 0,
1116 175, 682, 0, 0, 0, 753, 754, 715, 431, 0,
1117 430, 0, 185, 0, 696, 699, 704, 708, 0, 752,
1118 0, 0, 429, 177, 171, 0, 0, 0, 716, 755,
1119 0, 0, 756, 0, 0, 178, 700, 757, 0, 717,
1120 0, 0, 0, 701, 758, 718, 0, 0, 0
1121 };
1122
1123 static const short yydefgoto[] = { 1547,
1124 409, 2, 410, 160, 669, 311, 165, 3, 4, 38,
1125 633, 353, 738, 375, 40, 739, 385, 644, 900, 645,
1126 646, 647, 42, 43, 421, 168, 164, 44, 740, 754,
1127 1021, 760, 1023, 46, 741, 742, 169, 170, 422, 672,
1128 932, 933, 613, 934, 218, 47, 922, 921, 660, 657,
1129 1086, 1085, 883, 880, 135, 920, 48, 49, 529, 312,
1130 313, 314, 315, 1249, 1498, 1404, 1500, 1442, 1531, 1126,
1131 1477, 1495, 347, 872, 316, 566, 834, 317, 318, 348,
1132 320, 338, 51, 236, 377, 398, 52, 53, 321, 524,
1133 322, 323, 324, 325, 423, 326, 1250, 462, 588, 327,
1134 1251, 55, 201, 650, 328, 202, 502, 203, 181, 194,
1135 59, 445, 463, 1273, 707, 1144, 182, 195, 60, 473,
1136 708, 61, 62, 629, 630, 631, 1228, 428, 797, 798,
1137 1468, 1469, 1436, 1385, 1301, 63, 617, 341, 1171, 1386,
1138 1042, 886, 64, 65, 66, 67, 222, 68, 69, 70,
1139 224, 725, 726, 727, 728, 226, 470, 471, 746, 747,
1140 748, 994, 1004, 995, 1290, 996, 997, 1291, 1292, 614,
1141 615, 567, 862, 330, 431, 432, 175, 183, 72, 73,
1142 74, 184, 185, 152, 76, 131, 331, 332, 333, 78,
1143 334, 80, 730, 122, 123, 124, 478, 104, 81, 335,
1144 839, 840, 857, 591, 1254, 1255, 1127, 1128, 1129, 676,
1145 1256, 939, 1257, 1333, 1445, 1407, 1408, 1258, 1259, 1426,
1146 1334, 1446, 1335, 1479, 1336, 1481, 1526, 1541, 1337, 1502,
1147 1455, 1503, 1413, 424, 673, 1226, 1260, 1347, 1458, 1324,
1148 1325, 1399, 1472, 1444, 1440, 1261, 1451, 1350, 804, 1505,
1149 1506, 1507, 1539, 693, 694, 961, 1140, 1269, 695, 696,
1150 697, 957, 698, 145, 959, 700, 1142, 1143, 496, 83,
1151 84
1152 };
1153
1154 static const short yypact[] = { 125,
1155 130,-32768,-32768, 3240,-32768, 195, 72, 188, 284, 151,
1156 102,-32768,-32768, 1117,-32768,-32768, 136, 176, 198,-32768,
1157 -32768,-32768, 1085, 1187, 1489, 256,-32768, 304, 367,-32768,
1158 2407, 2407,-32768, 4859,-32768, 3240, 294,-32768, 352, 91,
1159 5970,-32768,-32768, 208, 1265, 379, 356, 372,-32768,-32768,
1160 -32768,-32768, 330, 2553,-32768, 10199,-32768, 1350, 498,-32768,
1161 423,-32768,-32768, 1046,-32768,-32768, 399,-32768,-32768, 417,
1162 4154,-32768,-32768,-32768, 784,-32768,-32768,-32768, 849,-32768,
1163 -32768, 508, 5609, 408,-32768,-32768, 9052,-32768, 9052,-32768,
1164 9052,-32768,-32768,-32768, 188, 284, 304, 445, 453, 492,
1165 372,-32768, 1409,-32768, 508, 9052, 9052, 480,-32768,-32768,
1166 -32768,-32768,-32768, 64, 528, 368, 383, 478, 538, 553,
1167 -32768,-32768, 564,-32768, 572, 188, 284, 1112, 304, 445,
1168 -32768, 855, 467, 509, 10350, 9052,-32768, 9052, 2926,-32768,
1169 1285, 543, 2926,-32768, 1090, 3033, 3033, 4859, 524, 547,
1170 517, 552, 555,-32768,-32768, 627,-32768, 556,-32768, 10084,
1171 195,-32768,-32768,-32768, 582, 423, 691, 145, 179, 624,
1172 -32768,-32768, 592, 250,-32768,-32768, 3416, 3416, 4989, 784,
1173 591,-32768,-32768, 387,-32768,-32768, 2806,-32768,-32768,-32768,
1174 -32768,-32768, 1350, 641,-32768, 423, 784,-32768,-32768,-32768,
1175 1578, 1350,-32768, 423,-32768, 5186,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 372, 988,
1177 1434, 399,-32768,-32768,-32768,-32768,-32768, 682, 508,-32768,
1178 497, 963,-32768, 271,-32768,-32768,-32768,-32768,-32768, 3988,
1179 -32768,-32768, 590,-32768, 617, 620,-32768,-32768,-32768,-32768,
1180 658,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1181 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1182 -32768,-32768,-32768, 616,-32768,-32768, 682, 4154, 1158,-32768,
1183 -32768, 646,-32768,-32768, 9667, 9754, 9841, 9841,-32768,-32768,
1184 -32768,-32768,-32768, 668, 701, 711, 721, 732, 445, 9139,
1185 1090, 9841,-32768,-32768, 9841,-32768,-32768, 9841, 7165,-32768,
1186 9841, 223, 683,-32768, 9841,-32768, 9226,-32768, 10446,-32768,
1187 1514, 1785, 9313,-32768, 799, 2426,-32768, 953, 3686, 4007,
1188 -32768, 307,-32768, 1524, 1858, 223, 223, 9052, 10350,-32768,
1189 1090, 703, 1090,-32768,-32768, 708, 768, 10596, 724, 733,
1190 738, 945, 556,-32768, 1112,-32768,-32768,-32768,-32768,-32768,
1191 -32768, 528, 368, 383, 1090, 478, 538, 793, 553,-32768,
1192 776,-32768, 188, 284, 814,-32768,-32768,-32768, 467,-32768,
1193 -32768,-32768,-32768,-32768, 4967,-32768,-32768, 5186, 5373, 1679,
1194 -32768, 223, 809,-32768, 775,-32768,-32768,-32768, 2926,-32768,
1195 -32768, 2926,-32768, 760,-32768,-32768, 3988, 87, 761, 777,
1196 -32768,-32768,-32768, 627,-32768, 423,-32768,-32768,-32768,-32768,
1197 148,-32768,-32768,-32768,-32768, 7257, 9139,-32768,-32768,-32768,
1198 9139, 779,-32768, 6493, 100, 4306,-32768, 4306,-32768, 4584,
1199 4584, 4989, 790,-32768, 423, 5186,-32768, 783,-32768,-32768,
1200 4619, 1578, 1350, 5186,-32768, 423,-32768,-32768, 423, 1578,
1201 -32768, 811,-32768,-32768, 372,-32768, 988,-32768, 1220, 1675,
1202 57, 682, 423,-32768,-32768, 836, 852, 876, 858,-32768,
1203 -32768,-32768,-32768, 532,-32768, 338, 821, 826,-32768,-32768,
1204 682,-32768,-32768, 822,-32768,-32768, 9052, 9139, 646, 7165,
1205 -32768, 437, 7165,-32768,-32768,-32768, 9052, 5977, 5977, 5977,
1206 5977, 10641,-32768,-32768,-32768,-32768, 832, 9928, 9928, 7165,
1207 851, 524, 863, 887, 867,-32768,-32768,-32768,-32768, 9052,
1208 -32768, 6790, 7165,-32768, 9139, 9139, 7349, 9139, 9139, 9139,
1209 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139,
1210 9139, 9139, 9139, 9139, 9139, 9139,-32768,-32768,-32768,-32768,
1211 -32768, 9139, 9139, 9139, 9052, 2857, 366, 440, 7988,-32768,
1212 -32768,-32768, 880, 963, 972, 444, 523, 530, 2780, 543,
1213 -32768, 1687, 1687,-32768, 4837, 868, 877, 948,-32768,-32768,
1214 502, 8495, 725,-32768, 860, 508,-32768,-32768, 9139,-32768,
1215 -32768,-32768,-32768, 249,-32768,-32768,-32768, 223,-32768, 5186,
1216 1998,-32768, 933, 939,-32768,-32768, 1090, 793,-32768, 7717,
1217 7809,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 79,-32768,
1218 906, 895, 556, 951, 961, 9052,-32768,-32768,-32768,-32768,
1219 1386, 256, 990, 206, 970, 971,-32768,-32768, 2152, 10406,
1220 2152, 4432, 1046, 10143,-32768, 973,-32768,-32768,-32768,-32768,
1221 -32768,-32768,-32768,-32768, 929,-32768, 979,-32768,-32768, 208,
1222 89, 460, 993, 887,-32768,-32768,-32768,-32768, 6695, 10641,
1223 -32768, 768, 947, 10596,-32768,-32768, 952,-32768,-32768, 967,
1224 160, 5318, 969,-32768, 169, 5796, 996, 1015, 561,-32768,
1225 -32768,-32768, 4306, 4306,-32768, 4619,-32768, 1016,-32768,-32768,
1226 995, 100,-32768, 1578,-32768,-32768, 423,-32768, 368, 383,
1227 -32768, 964,-32768, 553, 1022,-32768,-32768, 120,-32768,-32768,
1228 1492,-32768, 589, 669,-32768, 9139, 5517,-32768, 5517, 335,
1229 335, 217, 585, 2595, 10244, 2284,-32768, 225, 335, 1043,
1230 423,-32768, 100, 2575, 9052, 9052,-32768, 9052, 100, 2575,
1231 -32768,-32768,-32768,-32768,-32768,-32768, 649, 649, 649, 223,
1232 975, 1000, 9406, 948, 1004, 1014, 1019, 1059, 4066, 1060,
1233 1074, 1079,-32768, 1058,-32768,-32768, 1068,-32768,-32768, 1118,
1234 787, 900, 65, 431, 9139, 1120,-32768, 1124, 1070, 10641,
1235 10641,-32768,-32768, 1123, 5412, 5667, 3513, 5693, 4244, 3542,
1236 3712, 1983, 1983, 1983, 1691, 1691, 1237, 1237, 756, 756,
1237 756,-32768,-32768, 1084, 1082, 1086, 1095, 1097, 5977, 366,
1238 -32768, 7257, 9139,-32768,-32768,-32768, 9139,-32768,-32768, 1105,
1239 9841, 1099, 1119, 1136, 1166,-32768, 9139,-32768, 9139,-32768,
1240 9139, 2683,-32768, 2683,-32768, 140, 1109, 1110,-32768, 1113,
1241 5977, 100,-32768, 100, 4679,-32768, 2575, 1125, 8687, 8687,
1242 6301, 1121, 9226, 1122, 3050, 1858, 984, 1130,-32768,-32768,
1243 -32768,-32768,-32768, 9139, 1090, 1138, 939,-32768, 10641,-32768,
1244 10641, 945, 1137, 9493,-32768, 1141,-32768,-32768, 223,-32768,
1245 -32768, 1364, 4967,-32768, 5977, 9052, 2037, 2037, 3864,-32768,
1246 -32768,-32768,-32768, 2806,-32768,-32768,-32768, 61, 9139,-32768,
1247 -32768,-32768,-32768,-32768,-32768,-32768, 528,-32768, 478, 538,
1248 9139, 1170,-32768, 587, 601, 622, 887,-32768, 71,-32768,
1249 55,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8591,-32768,
1250 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1015, 1168,-32768,
1251 -32768,-32768, 5977,-32768,-32768,-32768, 1190,-32768, 9052,-32768,
1252 -32768,-32768,-32768, 1345,-32768, 2575, 10641,-32768, 1904,-32768,
1253 423, 423,-32768,-32768,-32768,-32768,-32768, 2575, 232, 915,
1254 9139, 811,-32768, 1196,-32768,-32768,-32768, 343, 391, 849,
1255 543, 686, 335, 1199,-32768, 901,-32768,-32768,-32768, 423,
1256 4219,-32768,-32768, 1154, 223, 223, 223,-32768, 1157, 100,
1257 2575, 100, 2575,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1258 -32768,-32768, 1175, 1176, 1177, 1179, 929,-32768, 10528, 7257,
1259 6885, 1163,-32768, 9139,-32768,-32768,-32768,-32768, 825, 1172,
1260 -32768,-32768, 1173, 66, 285, 285, 1167, 285,-32768,-32768,
1261 9841, 1268, 9052,-32768, 1185, 1186, 1188,-32768,-32768,-32768,
1262 -32768,-32768,-32768,-32768,-32768, 100, 1191,-32768, 1192,-32768,
1263 -32768, 3120,-32768,-32768,-32768,-32768,-32768, 10641,-32768,-32768,
1264 1189,-32768,-32768, 227, 1197,-32768,-32768,-32768,-32768,-32768,
1265 -32768, 2938, 2938, 3140, 3140, 3864,-32768, 2806,-32768, 3487,
1266 10446,-32768,-32768, 1200,-32768, 460,-32768, 9139,-32768, 9139,
1267 -32768, 9139,-32768, 1090,-32768,-32768, 6207, 1275,-32768, 6977,
1268 -32768, 8780, 8780, 6397, 183, 1205, 254,-32768, 7257, 7069,
1269 -32768,-32768, 240, 7257,-32768, 1214, 1218, 1220,-32768,-32768,
1270 -32768, 100, 1219,-32768, 1266, 1266, 100, 1222, 9139, 9139,
1271 10506, 423, 3309, 423, 423, 1160, 423, 4478, 1266, 5125,
1272 -32768,-32768,-32768, 1278,-32768,-32768,-32768, 1225,-32768, 1226,
1273 9139, 9139, 9139, 9139, 7257,-32768, 1276,-32768,-32768, 10641,
1274 9139,-32768, 825,-32768,-32768,-32768,-32768,-32768,-32768, 1228,
1275 -32768, 1290, 223,-32768,-32768,-32768, 100,-32768,-32768,-32768,
1276 -32768,-32768,-32768, 9139,-32768,-32768, 2938, 2938,-32768, 3487,
1277 -32768,-32768, 1234, 1236, 1244, 1250,-32768, 786, 242, 1297,
1278 1021, 1023,-32768,-32768,-32768,-32768,-32768, 9139, 1300, 1304,
1279 1309, 8873, 257, 415,-32768,-32768, 8965, 1366, 1316,-32768,
1280 4706, 10305, 10451, 6095,-32768,-32768, 1362,-32768,-32768,-32768,
1281 8099,-32768,-32768, 1273, 1916,-32768,-32768,-32768,-32768, 5977,
1282 -32768,-32768, 7257,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1283 -32768,-32768, 10506, 10506,-32768, 1266, 695, 1083, 9139,-32768,
1284 -32768,-32768, 811, 811, 1266, 1266, 532, 1266,-32768,-32768,
1285 5854, 100, 100,-32768,-32768, 1282, 1284, 1298, 1308,-32768,
1286 7257, 1310,-32768,-32768,-32768,-32768,-32768, 100, 1314,-32768,
1287 -32768,-32768,-32768, 1250,-32768, 1090,-32768,-32768,-32768,-32768,
1288 -32768,-32768, 629, 629, 887, 1292, 1294, 10484,-32768,-32768,
1289 -32768,-32768, 1334, 9139, 1369,-32768, 887,-32768,-32768, 1338,
1290 -32768,-32768, 811, 823,-32768, 861, 811, 9580, 864, 266,
1291 -32768,-32768,-32768,-32768,-32768,-32768, 339,-32768,-32768, 100,
1292 100,-32768,-32768,-32768, 9139, 9139, 10506, 423, 423,-32768,
1293 -32768,-32768,-32768, 7901,-32768,-32768,-32768,-32768, 100, 100,
1294 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1339,-32768,
1295 -32768,-32768, 9052,-32768,-32768,-32768, 1435, 8401, 6603, 9052,
1296 9139,-32768, 8209,-32768, 1394,-32768,-32768, 627,-32768,-32768,
1297 10015, 10015, 7441,-32768,-32768, 887,-32768,-32768, 10506, 10506,
1298 -32768, 1266, 1266, 1347, 10550, 1358,-32768,-32768, 5257,-32768,
1299 -32768, 1349, 443, 5186, 887, 8305,-32768,-32768, 71,-32768,
1300 -32768, 1402, 1359, 10619, 8209,-32768,-32768, 1250, 78,-32768,
1301 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 379, 208, 1360,
1302 1361, 887,-32768, 811,-32768,-32768,-32768,-32768, 638,-32768,
1303 7533,-32768,-32768,-32768,-32768, 1250, 1457, 1411, 156,-32768,
1304 -32768,-32768,-32768, 423, 71,-32768, 9139, 1413,-32768, 1414,
1305 -32768, 887, 8209, 1382, 53, 1418,-32768,-32768,-32768, 148,
1306 -32768, 1415,-32768, 1371,-32768,-32768,-32768,-32768, 9139, 1457,
1307 1421, 1457,-32768,-32768,-32768, 7625, 1373, 158,-32768,-32768,
1308 7257, 1377,-32768, 1479, 1439,-32768,-32768,-32768, 301,-32768,
1309 8305, 1490, 1442,-32768,-32768,-32768, 1508, 1509,-32768
1310 };
1311
1312 static const short yypgoto[] = {-32768,
1313 1511,-32768, -303,-32768, 1101, 18, -1, 1515,-32768, 192,
1314 -32768,-32768, 519, 1161,-32768, 5,-32768,-32768, -623,-32768,
1315 -32768, 615,-32768, 1363, -668, 83, -664, 1392, 30,-32768,
1316 -32768,-32768,-32768,-32768, 774,-32768,-32768,-32768,-32768,-32768,
1317 -32768, 404, 661,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1318 -32768,-32768,-32768,-32768, 1440, -611, 5315, 32, -317, 44,
1319 1416, -503,-32768, 103,-32768, 222,-32768, -1302,-32768, -756,
1320 17,-32768, 1320, 1586, -262,-32768, -794, 1774, -110, 1098,
1321 3500, 1281,-32768, -87, -55, 1580, -77, 27,-32768,-32768,
1322 -32768, -319,-32768, -155,-32768,-32768, -1156, -47, -316, 2413,
1323 58, -240, -120, 52, 76, -181, -4, -144, -610, 312,
1324 -32768, 68, 73,-32768, -337,-32768,-32768,-32768,-32768,-32768,
1325 374, 1115, 20,-32768, 673,-32768,-32768, -1049, -422, 890,
1326 -32768,-32768,-32768,-32768,-32768, -32,-32768,-32768,-32768,-32768,
1327 -32768, 685, -360,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1328 1348,-32768, 426, 602,-32768,-32768,-32768,-32768, 566, -686,
1329 -32768,-32768,-32768,-32768,-32768,-32768, 833,-32768, 412, 966,
1330 704, 1024, 3968, 7, 51, -431, 1407, 3322, -438,-32768,
1331 19,-32768, 3079, -118, 247, -59, 3948, 1271,-32768, 4653,
1332 1794, 1660, -16, -115,-32768, 1471, -81,-32768, 4369, 2696,
1333 -290,-32768, 2504,-32768,-32768, 344,-32768,-32768, 471, 93,
1334 -353,-32768,-32768,-32768,-32768, -1262,-32768, -1191, -1324,-32768,
1335 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1336 -32768,-32768,-32768, 115,-32768,-32768,-32768,-32768,-32768, 153,
1337 -1232,-32768,-32768, -65,-32768,-32768,-32768,-32768, -1312, 92,
1338 -32768, 94,-32768, -616, -520, 660,-32768,-32768,-32768,-32768,
1339 -371,-32768, -364, -179,-32768, 681, 349,-32768, -394,-32768,
1340 -217
1341 };
1342
1343
1344 #define YYLAST 10726
1345
1346
1347 static const short yytable[] = { 58,
1348 408, 237, 37, 681, 937, 925, 180, 121, 41, 372,
1349 71, 453, 593, 655, 479, 602, 711, 279, 606, 607,
1350 656, 36, 501, 504, 653, 205, 789, 400, 403, 917,
1351 729, 58, 102, 45, 37, 1051, 58, 139, 143, 37,
1352 41, 371, 71, 469, 380, 41, 472, 71, 923, 632,
1353 978, 193, 980, 36, 534, 56, 458, 461, 36, 1007,
1354 151, 54, 1363, 237, 858, 45, 228, 677, 378, 1366,
1355 45, 858, 452, 383, 661, 662, 381, 382, 277, 57,
1356 208, 460, 329, 1448, 329, 192, 329, 56, 571, 278,
1357 1348, 1400, 56, 54, 750, 491, 1452, 571, 54, 571,
1358 241, 329, 329, 174, 1124, 1279, 1280, 1453, 482, 237,
1359 234, 57, 166, 581, 1130, 1520, 57, 605, 716, 1300,
1360 -44, 1478, 354, 344, -1, -44, 972, -125, 355, -2,
1361 390, 329, 336, 329, 337, 752, -44, 1014, 892, 136,
1362 1487, 71, 230, 1019, 649, 418, 87, 491, 674, 158,
1363 93, 945, 399, 402, 860, 58, 1509, 973, 276, 773,
1364 205, 699, 1521, 1460, 387, 1131, 71, 751, 205, 205,
1365 787, 945, 151, 151, 151, 1195, 505, 506, 1501, 392,
1366 951, 1125, 1475, 436, 438, 774, 389, 1488, 893, 45,
1367 159, 514, 388, 649, 515, 205, 667, 516, 926, 946,
1368 526, 174, 947, -326, 531, 151, 675, 419, 346, 350,
1369 57, 56, 570, 1532, -326, 208, 1478, 54, 419, 946,
1370 1534, 1456, 947, 208, -792, 92, 425, 155, 952, 106,
1371 -275, 953, 162, 935, 174, 57, 1374, 948, 576, 1517,
1372 420, 983, 88, 426, 205, 1380, 1381, 241, 1382, 788,
1373 1077, 420, 1450, 1400, 1192, 85, 568, 948, 671, 94,
1374 109, 110, 89, 1485, 456, 903, 954, 1535, 1084, 107,
1375 577, 1087, 427, 228, 486, 984, -275, -275, 1098, 985,
1376 153, 904, 902, 635, 602, 1008, 1214, 289, 126, 127,
1377 879, 108, -268, 482, 1159, 378, 205, 433, 527, 1270,
1378 528, -589, 1328, 27, 329, 86, 87, 458, 461, 1112,
1379 1113, 1518, 986, 111, 112, 458, 163, 277, 480, 640,
1380 938, 400, 403, 639, 655, 228, 1328, 461, 278, 896,
1381 134, 958, 714, 329, 611, 1009, 1215, 1344, 90, 27,
1382 658, 129, 130, 434, 649, 71, 461, -589, -589, 1271,
1383 858, 649, 1329, 241, 598, 835, 479, 205, 91, 1153,
1384 1542, 15, 16, -589, 481, 836, -385, -335, 609, 15,
1385 16, 1158, 1024, 1025, 1026, 593, 1425, -549, 136, 837,
1386 652, 608, 1463, 1464, 193, 763, -277, 156, 858, 643,
1387 389, 654, 153, 153, 153, -385, 610, 276, 1313, -385,
1388 599, -335, 1101, 167, 1178, -335, 1180, 514, 515, 1052,
1389 1543, 521, 157, 831, 57, -336, 171, 15, 16, 205,
1390 205, 137, 357, -549, 173, 153, 172, 205, 858, 692,
1391 832, 764, -277, -277, -549, 208, 1079, 358, -335, 205,
1392 654, 138, 89, 126, 127, -385, 703, 704, -271, -336,
1393 199, 200, 1027, -336, 19, 649, 14, 91, 205, 833,
1394 651, 223, 927, 719, 720, 58, 151, 151, 151, 281,
1395 373, 374, 10, 1211, 1212, 225, 71, 1346, 208, 21,
1396 -549, 448, 280, 1007, 581, 137, -336, 737, 24, 136,
1397 581, 846, 329, -126, 27, 329, 129, 130, 329, 137,
1398 568, 743, 329, 779, 779, 779, 779, 928, 22, 651,
1399 835, 8, 9, 649, 27, 329, 929, 930, 709, 649,
1400 836, 745, 39, 28, 299, 329, 715, 744, 329, 717,
1401 773, 655, 359, 685, 837, 729, 773, 847, 656, 415,
1402 770, 968, 653, 970, 474, 57, 126, 127, 974, 866,
1403 342, 90, 136, 931, 39, 33, 602, 206, 207, 39,
1404 329, 277, 881, 340, 129, 130, 362, 363, 364, 458,
1405 848, 91, 278, 352, 115, 116, 117, 850, 205, 761,
1406 652, 1097, 356, 1123, 384, 858, 90, 692, 852, 854,
1407 475, 654, 360, 8, 484, 867, 868, 491, 654, 129,
1408 130, 910, 521, 915, 916, 521, 91, 361, 962, 776,
1409 534, 173, 365, 858, 241, 372, 849, 1186, 1188, 205,
1410 366, 367, 521, 851, 121, 762, 649, 1200, 118, 119,
1411 649, 329, 987, -268, 1117, 521, 975, 284, 343, 803,
1412 1354, 276, 1359, 90, 916, 193, 129, 130, 1119, 228,
1413 446, 447, 126, 127, 963, 936, 405, 482, 605, 205,
1414 651, 406, 649, 91, -584, 825, -7, 651, 649, 1121,
1415 485, 842, 126, 127, 100, 414, 1402, 935, 988, 899,
1416 1118, 205, 976, 114, 429, 1496, 153, 153, 153, 199,
1417 200, 652, 1480, 417, 1120, 14, 993, 1173, 1174, 1175,
1418 454, 455, 654, 27, 430, 129, 130, 1188, 649, 729,
1419 -102, 487, 15, 16, 488, 1122, 1266, 1268, 21, 492,
1420 489, 1272, 1403, 27, 217, 129, 130, 24, 490, 493,
1421 1060, 1497, 58, -545, 58, 649, -545, 774, 1513, 498,
1422 193, 58, 530, 71, -102, 71, 205, 649, -102, 652,
1423 329, 329, 71, 329, 737, 652, 737, 1375, 514, 515,
1424 654, 507, 1310, 737, 1196, 1197, 654, 1199, 743, 87,
1425 743, 651, 863, 992, 1002, 508, 743, 743, 126, 127,
1426 649, -102, 649, 368, -545, 509, -545, -545, 745, -545,
1427 745, 1148, 1149, 1150, 744, 510, 979, 745, 1015, 1016,
1428 -545, 1017, -545, 744, 1490, 397, 511, 981, 982, 571,
1429 15, 16, 57, 616, 57, -385, 1010, 619, -545, -545,
1430 1510, 57, -545, 343, 779, 126, 127, 620, 1054, 651,
1431 637, 129, 130, 622, -545, 651, 237, 15, 16, 555,
1432 556, 88, 623, -385, -385, 1326, 1327, 624, -385, -123,
1433 1369, 7, 8, 231, 10, 485, 779, 281, 373, 374,
1434 10, 89, 652, 8, 9, 649, 692, 636, 530, 665,
1435 343, -6, 831, 654, 638, 852, 854, 654, 129, 130,
1436 464, 466, 446, 1419, 527, 1316, 528, 668, 1395, 832,
1437 22, 686, 477, 649, 241, 710, 22, 232, 652, 705,
1438 779, 329, 233, 232, 652, 28, 29, 643, 343, 654,
1439 755, 28, 299, 1102, 1103, 654, 129, 130, 833, 1191,
1440 454, 1420, 237, 446, 1424, -100, 756, 15, 16, 233,
1441 757, 993, 758, 765, 843, 151, 774, 33, 766, 1057,
1442 233, 783, 651, 33, 692, 675, 651, 94, 109, 110,
1443 1201, 625, 626, 627, 90, 654, 126, 127, 779, -100,
1444 785, 513, -124, -100, 329, 94, 109, 110, 476, 88,
1445 861, 652, 786, 521, 91, 151, 788, 1160, 651, 845,
1446 859, 1406, 654, 652, 651, 400, 403, 8, 9, 89,
1447 94, 95, 96, 1417, 654, 863, -100, 884, 885, 894,
1448 581, 111, 112, 618, 22, 895, 58, 27, 992, 129,
1449 130, 897, 628, 400, 403, 898, 652, 71, 652, 111,
1450 112, 514, 515, 582, 651, 618, 21, 654, 737, 654,
1451 237, 234, 343, 583, 905, 906, 343, 919, -271, 924,
1452 129, 130, 743, 584, 97, 98, 585, 586, 94, 95,
1453 96, 651, 209, 210, 211, 419, 942, 969, 329, 1162,
1454 -791, 943, 745, 651, 485, 1164, 1165, 655, 744, 1162,
1455 1167, 1146, 1406, 1165, 1471, 88, 944, 90, 950, 960,
1456 964, 971, 212, 1331, 1028, 1332, 57, 94, 109, 110,
1457 967, 1406, 94, 109, 110, 89, 651, 91, 651, 936,
1458 27, 652, 97, 98, 213, 1011, 1203, 965, 1536, 1029,
1459 1217, 1218, 654, 1030, 281, 373, 374, 10, 1493, 94,
1460 95, 96, 1253, 1031, 1012, 1248, 774, 718, 1032, 692,
1461 151, 151, 151, 71, 1033, 1034, 526, 88, 1217, 1218,
1462 654, 111, 112, 113, 1247, 1376, 111, 112, 1406, 1035,
1463 214, 215, 216, 22, 1036, 153, 677, 89, 151, 151,
1464 151, 126, 127, 126, 1297, 58, 27, 1037, 28, 299,
1465 196, 27, 204, 97, 98, 99, 71, 1038, 1252, 1043,
1466 -122, 651, 1040, 1041, 319, 1044, 319, 737, 319, 115,
1467 116, 117, 796, 1045, 1046, 153, 1047, 486, 649, 1059,
1468 33, 743, 57, 1353, 1048, 1353, 1049, 1062, 343, 651,
1469 1063, 1061, 27, 1064, 129, 130, 129, 130, 1070, 1071,
1470 205, 745, 115, 719, 720, 1072, 721, 744, 492, 1116,
1471 1080, 1081, 1139, 319, 844, 319, 521, 1078, 493, 1083,
1472 485, 27, 1253, 118, 119, 57, 1093, 193, 1090, 1253,
1473 722, 1096, 1248, 71, 1145, 1163, 1253, 723, 1168, 1248,
1474 71, 491, 1459, 1172, 1247, 779, 1176, 71, 1181, 1182,
1475 1183, 1247, 1184, 1189, 27, 1202, 118, 119, 1247, 1198,
1476 416, 1193, 1194, 1306, 1307, 1308, 1309, 7, 126, 127,
1477 10, 15, 16, 1312, 1204, 1205, -385, 1206, 1252, 1213,
1478 1209, 901, 400, 403, 1210, 1252, 1216, 204, 1124, 1221,
1479 514, 515, 1252, 918, 1265, 459, 204, 552, 553, 554,
1480 555, 556, 57, 1274, -385, -385, 22, 1275, 1278, 57,
1481 426, 1282, -626, 232, 1304, 1305, 57, 1315, 1311, 796,
1482 1314, 28, 29, 1320, 1343, 1321, 1323, 115, 719, 720,
1483 153, 153, 153, 1322, 1155, 1156, 198, 199, 200, 1330,
1484 1378, 1379, 1339, 14, 1340, 233, 94, 109, 110, 1341,
1485 209, 210, 211, 33, 1349, 722, 1351, 1364, 153, 153,
1486 153, 19, 1367, 1169, 151, 1409, 21, 1410, 362, 363,
1487 364, 1391, 966, 1392, 1414, 24, 1474, 512, 1443, 27,
1488 212, 118, 119, 1253, 1253, 1443, 1248, 1393, 1253, 278,
1489 205, 1248, 8, 9, 71, 71, 278, 1394, 329, 71,
1490 111, 112, 1396, 1398, 456, 1247, 1247, 703, 704, 1416,
1491 1247, 1418, 1439, 1013, 652, 319, 94, 95, 96, 1018,
1492 27, 1253, 366, 367, 1248, 654, 1415, 151, 151, 151,
1493 1253, 1447, 71, 1248, 1457, 1465, 1467, 343, 1473, 1252,
1494 1252, 71, 1482, 1247, 1252, 129, 130, 1504, 1483, 1491,
1495 1492, 1508, 1247, 1515, 1516, 1519, 1443, 1522, 276, 1524,
1496 1525, 1529, 1533, 57, 57, 276, 1537, 278, 57, 1538,
1497 97, 98, 126, 127, 115, 719, 720, 1252, 1253, 1540,
1498 1545, 1248, 1546, 196, 204, 1441, 1252, 1548, 1549, 71,
1499 1, 803, 1441, 670, 651, 634, 5, 1099, 1003, 1222,
1500 1247, 57, 412, 680, 684, 521, 281, 8, 9, 10,
1501 57, 684, 339, 128, 1285, 1286, 1253, 1295, 1296, 1248,
1502 1298, 1494, 1073, 27, 1074, 129, 130, 71, 118, 119,
1503 1489, 413, 628, 393, 1252, 1405, 276, 1544, 1247, 416,
1504 497, 557, 901, 1356, 1092, 22, 459, 204, 941, 468,
1505 416, 1091, 232, 1276, 459, 1151, 1170, 1005, 57, 1299,
1506 28, 299, 887, 1441, 457, 199, 200, 416, 1089, 830,
1507 449, 14, 1252, 370, 319, 684, 578, 1362, 1262, 1514,
1508 558, 559, 1523, 1511, 153, 560, 561, 562, 563, 19,
1509 1486, 1528, 33, 150, 21, 1530, 57, 1138, 1368, 0,
1510 0, 1527, 0, 24, 0, 0, 0, 319, 803, 680,
1511 0, 0, 800, 801, 0, 805, 806, 807, 808, 809,
1512 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
1513 820, 821, 822, 823, 0, 0, 1372, 1373, 0, 684,
1514 0, 684, 684, 0, 0, 0, 0, 153, 153, 153,
1515 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1516 10, 386, 12, 13, 0, 198, 199, 200, 14, 684,
1517 126, 127, 14, 0, 0, 13, 684, 0, 0, 0,
1518 1177, 1187, 1179, 17, 0, 18, 19, 20, 0, 0,
1519 19, 21, -492, 0, 0, 21, 22, 889, 891, 0,
1520 24, 734, 0, 642, 24, 204, 401, 404, 0, 27,
1521 0, 28, 29, 319, 581, 735, 0, 736, 239, 659,
1522 0, 27, 0, 129, 130, 31, 682, 0, 0, 0,
1523 1431, 1432, 1433, 682, 0, 32, 1208, 582, 150, 0,
1524 0, 0, 239, 33, 196, 0, 204, 583, 34, 550,
1525 551, 552, 553, 554, 555, 556, 680, 584, 0, 0,
1526 585, 586, 0, 0, 1227, -492, 0, 0, 8, 9,
1527 1187, 239, 12, 13, 0, 0, 0, 79, 14, 0,
1528 239, 0, 1461, 1462, 0, 0, 204, 103, 0, 0,
1529 0, 0, 0, 17, 0, 18, 0, 682, 132, 0,
1530 0, 21, 0, 0, 141, 141, 0, 141, 459, 79,
1531 24, 416, 1277, 977, 79, 0, 0, 1281, 0, 27,
1532 0, 129, 130, 564, 0, 0, 239, 187, 0, 79,
1533 0, 0, 319, 319, 0, 319, 0, 220, 0, 196,
1534 600, 8, 9, 0, 103, 416, 0, 1512, 0, 0,
1535 684, 0, 0, 0, 0, 243, 103, 0, 565, 239,
1536 0, 682, 0, 682, 682, 0, 0, 1317, 523, 0,
1537 0, 0, 1039, 0, 0, 0, 289, 601, 103, 22,
1538 0, 0, 239, 1345, 0, 0, 989, 990, 9, 10,
1539 0, 682, 27, 0, 129, 130, 0, 0, 682, 0,
1540 0, 132, 0, 0, 0, 0, 132, -277, 79, 680,
1541 684, 0, 141, 0, 0, 395, 141, 0, 0, 141,
1542 141, 141, -277, -277, 684, 22, 684, -277, 684, 0,
1543 0, 0, 0, 79, 0, 0, 0, 0, 27, 0,
1544 28, 29, 0, -277, 1154, 0, 991, 0, 0, 0,
1545 187, 187, 187, 0, 177, -277, -277, 0, -277, 0,
1546 -277, 1088, 1387, 1388, 178, 0, 1401, 0, 0, 0,
1547 0, 684, 33, 239, 0, 0, 0, 179, 1397, 187,
1548 0, 0, 0, 319, 198, 199, 200, 0, 0, -277,
1549 -277, 14, 683, -277, 467, 0, 1111, 0, 0, 690,
1550 401, 404, 103, 0, 0, -277, 0, 0, 684, 19,
1551 0, 0, 0, 141, 21, 0, 0, 0, 0, 7,
1552 8, 9, 10, 24, 0, 13, 684, 0, 0, 0,
1553 1427, 1428, 0, 0, 239, 0, 0, 0, 882, 548,
1554 549, 550, 551, 552, 553, 554, 555, 556, 0, 1437,
1555 1438, 103, 494, 0, 0, 0, 0, 0, 22, 523,
1556 0, 0, 523, 771, 581, 0, 0, 0, 1161, 0,
1557 0, 27, 682, 28, 29, 416, 416, 0, 401, 784,
1558 0, 587, 587, 587, 0, 0, 0, 907, 0, 0,
1559 0, 0, 523, 0, 0, 103, 0, 908, 0, 579,
1560 0, 494, 494, 595, 416, 33, 239, 584, 0, 0,
1561 909, 586, 79, 0, 0, 0, 0, 680, 680, 0,
1562 0, 1190, 0, 0, 0, 0, 0, 824, 132, 826,
1563 827, 0, 682, 239, 7, 8, 9, 10, 0, 0,
1564 319, 0, 0, 0, 0, 0, 682, 0, 682, 0,
1565 682, 874, 132, 0, 0, 0, 0, 0, 103, 0,
1566 0, 187, 103, 0, 878, 0, 0, 0, 0, 0,
1567 0, 0, 141, 22, 0, 141, 0, 0, 0, 581,
1568 141, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1569 0, 0, 0, 682, 0, 684, 0, 684, 0, 684,
1570 0, 0, 907, 0, 0, 0, 0, 680, 0, 187,
1571 0, 187, 908, 187, 187, 187, 680, 680, 239, 187,
1572 33, 680, 584, 0, 187, 909, 586, 187, 0, 0,
1573 682, 0, 0, 0, 239, 0, 1283, 1284, 0, 0,
1574 0, 0, 0, 79, 0, 0, 0, 0, 682, 0,
1575 0, 0, 0, 0, 0, 416, 416, 0, 416, 416,
1576 0, 416, 680, 0, 732, 0, 7, 8, 733, 10,
1577 386, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1578 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
1579 0, 684, 17, 0, 18, 19, 20, 0, 0, 0,
1580 21, -493, 0, 0, 0, 22, 0, 0, 0, 24,
1581 734, 0, 642, 0, 0, 1338, 0, 0, 27, 0,
1582 28, 29, 0, 0, 735, 0, 736, 0, 0, 0,
1583 0, 0, 874, 0, 31, 587, 587, 0, 587, 103,
1584 0, 494, 0, 0, 32, 873, 196, 204, 0, 0,
1585 680, 0, 33, 579, 0, 494, 494, 34, 595, 0,
1586 0, 0, 0, 0, 0, 875, 1377, 0, 0, 877,
1587 0, 0, 0, 0, -493, 0, 0, 416, 416, 0,
1588 0, 0, 0, 187, 0, 0, 0, 0, 680, 7,
1589 126, 127, 10, 0, 0, 13, 0, 0, 1053, 0,
1590 0, 0, 587, 0, 587, 587, 572, 587, 281, 373,
1591 374, 10, 1065, 573, 1066, 0, 1067, 682, 0, 682,
1592 0, 682, 187, 914, 187, 187, 220, 595, 22, 401,
1593 784, 0, 0, 0, 0, 684, 0, 0, 0, 0,
1594 0, 27, 0, 28, 29, 587, 0, 22, 0, 0,
1595 0, 0, 1429, 1430, 574, 0, 0, 31, 0, 1095,
1596 27, 1435, 28, 299, 0, 187, 0, 32, 150, 914,
1597 0, 416, 416, 416, 0, 33, 187, 187, 0, 187,
1598 34, 0, 0, 0, 0, 0, 0, 0, 1454, 0,
1599 0, 0, 0, 0, 575, 0, 1114, 0, 349, 351,
1600 0, 0, 0, 0, 0, 0, 0, 132, 1136, 0,
1601 79, 0, 79, 682, 239, 0, 239, 1000, 79, 79,
1602 0, 0, 0, 416, 416, 0, 0, 103, 0, 0,
1603 0, 0, 587, 103, 0, 7, 8, 9, 10, 0,
1604 494, 494, 494, 0, 0, 0, 0, 0, 0, 0,
1605 0, 0, 494, 239, 0, 0, 0, 0, 8, 9,
1606 0, 386, 12, 13, 0, 0, 688, 0, 14, 0,
1607 0, 0, 0, 0, 22, 0, 0, 989, 990, 9,
1608 10, 0, 0, 17, 0, 18, 19, 27, 416, 28,
1609 29, 21, 0, 176, 0, 0, 0, 0, 0, 0,
1610 24, 0, 103, 177, 0, 587, 0, 587, 680, 27,
1611 0, 129, 130, 178, 0, 0, 22, 0, 587, 0,
1612 0, 33, 873, 873, 873, 494, 179, 494, 0, 27,
1613 0, 28, 29, 0, 103, 0, 0, 991, 494, 239,
1614 103, 0, 875, 875, 875, 177, 0, 0, 0, 1082,
1615 0, 0, 689, 0, 0, 178, 0, 682, 0, 0,
1616 587, 587, 587, 33, 401, 404, 126, 127, 179, 0,
1617 0, 227, 0, 0, 0, 0, 103, 0, 103, 82,
1618 187, 187, 1108, 1223, 0, 1224, 0, 1225, 0, 105,
1619 0, 0, 401, 1264, 0, 0, 0, 0, 0, 125,
1620 133, 525, 873, 0, 0, 0, 142, 142, 0, 142,
1621 581, 82, 0, 0, 0, 0, 82, 27, 0, 129,
1622 130, 239, 1108, 0, 0, 0, 0, 0, 0, 142,
1623 0, 82, 0, 582, 0, 0, 103, 0, 0, 221,
1624 0, 0, 0, 583, 0, 0, 229, 239, 0, 103,
1625 0, 0, 1000, 584, 0, 0, 585, 586, 229, 0,
1626 0, 103, 281, 126, 127, 10, 0, 0, 0, 0,
1627 0, 0, 0, 0, 1166, 0, 0, 648, 0, 1319,
1628 0, 0, 0, 0, 79, 0, 0, 0, 7, 8,
1629 9, 10, 0, 0, 103, 0, 103, 0, 0, 0,
1630 0, 22, 0, 379, 0, 239, 0, 0, 232, 0,
1631 82, 590, 594, 597, 142, 0, 28, 299, 142, 0,
1632 0, 142, 142, 142, 0, 0, 691, 22, 494, 494,
1633 0, 494, 0, 0, 232, 82, 0, 0, 0, 0,
1634 8, 9, 28, 29, 12, 13, 0, 0, 33, 0,
1635 14, 0, 142, 142, 142, 587, 587, 587, 587, 587,
1636 0, 0, 0, 587, 0, 17, 233, 18, 0, 0,
1637 0, 0, 0, 21, 33, 187, 187, 187, 187, 1108,
1638 0, 142, 24, 187, 0, 873, 873, 873, 0, 0,
1639 0, 27, 772, 129, 130, 775, 0, 0, 0, 777,
1640 778, 780, 781, 782, 0, 1108, 1108, 1108, 7, 126,
1641 127, 10, 525, 0, 227, 142, 0, 1136, 0, 0,
1642 7, 8, 9, 10, 0, 799, 227, 0, 0, 0,
1643 829, 0, 0, 0, 0, 0, 187, 0, 0, 0,
1644 0, 141, 0, 79, 0, 0, 0, 22, 0, 0,
1645 0, 0, 0, 229, 142, 0, 0, 828, 0, 22,
1646 27, 0, 28, 29, 0, 581, 0, 0, 0, 0,
1647 587, 587, 27, 587, 28, 29, 31, 856, 0, 0,
1648 0, 401, 1264, 0, 856, 0, 32, 0, 907, 0,
1649 187, 187, 0, 187, 33, 0, 0, 229, 908, 34,
1650 0, 580, 0, 142, 142, 596, 33, 0, 584, 0,
1651 604, 909, 586, 0, 82, 7, 126, 127, 10, 0,
1652 0, 13, 0, 0, 187, 914, 187, 0, 0, 0,
1653 379, 0, 281, 8, 9, 10, 0, 0, 0, 0,
1654 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
1655 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
1656 229, 0, 75, 142, 229, 853, 855, 27, 0, 28,
1657 29, 22, 0, 0, 142, 0, 0, 142, 232, 0,
1658 0, 0, 142, 146, 0, 0, 28, 299, 648, 140,
1659 144, 0, 0, 147, 75, 0, 0, 0, 0, 75,
1660 0, 33, 281, 8, 9, 10, 148, 0, 0, 0,
1661 233, 142, 0, 142, 197, 142, 142, 142, 33, 0,
1662 0, 142, 7, 8, 9, 10, 142, 0, 13, 142,
1663 0, 1108, 912, 0, 590, 594, 0, 597, 0, 0,
1664 0, 22, 0, 0, 731, 82, 691, 0, 232, 0,
1665 0, 0, 691, 0, 0, 0, 28, 299, 0, 0,
1666 0, 22, 0, 0, 0, 0, 0, 581, 0, 0,
1667 0, 0, 0, 0, 27, 594, 28, 29, 0, 0,
1668 485, 0, 0, 229, 229, 229, 229, 0, 33, 0,
1669 1104, 0, 0, 391, 1108, 1108, 1108, 394, 0, 0,
1670 1105, 396, 0, 0, 0, 0, 0, 0, 33, 0,
1671 584, 0, 103, 1106, 586, 0, 0, 187, 75, 0,
1672 6, 1050, 7, 8, 9, 10, 11, 12, 13, 0,
1673 0, 0, 0, 14, 0, 140, 144, 0, 0, 0,
1674 0, 229, 0, 142, 0, 0, 15, 16, 17, 0,
1675 18, 19, 20, 799, 0, 0, 21, 142, 142, 691,
1676 596, 22, 594, 856, 23, 24, 25, 876, 26, 0,
1677 0, 0, 0, 0, 27, 0, 28, 29, 0, 604,
1678 30, 0, 0, 0, 0, 142, 0, 0, 0, 0,
1679 31, 1287, 1288, 9, 10, 648, 0, 1100, 483, 0,
1680 32, 856, 0, 0, 0, 0, 0, 0, 33, 0,
1681 0, 0, 0, 34, 0, 0, 125, 0, 0, 35,
1682 0, 0, 0, 0, 142, 596, 142, 142, 221, 596,
1683 22, 0, 0, 0, 0, 1068, 0, 1069, 0, 0,
1684 0, 856, 0, 27, 0, 28, 29, 731, 1075, 0,
1685 0, 1289, 853, 855, 0, 1141, 0, 0, 0, 177,
1686 0, 1147, 0, 0, 0, 0, 0, 142, 691, 178,
1687 0, 596, 0, 0, 0, 0, 0, 33, 142, 142,
1688 691, 142, 179, 0, 0, 0, 0, 0, 0, 0,
1689 853, 855, 0, 0, 0, 0, 0, 612, 7, 8,
1690 9, 10, 0, 0, 13, 0, 0, 0, 0, 133,
1691 0, 0, 82, 691, 82, 691, 0, 0, 0, 1001,
1692 82, 82, 0, 0, 0, 0, 0, 0, 0, 229,
1693 0, 0, 0, 0, 0, 229, 0, 22, 0, 0,
1694 0, 0, 142, 142, 142, 0, 0, 0, 0, 0,
1695 27, 0, 28, 29, 142, 0, 0, 663, 0, 0,
1696 664, 0, 0, 0, 0, 666, 177, 0, 0, 7,
1697 8, 9, 10, 0, 0, 482, 178, 0, 437, 439,
1698 443, 0, 0, 50, 33, 0, 0, 0, 0, 179,
1699 0, 0, 0, 0, 394, 0, 396, 0, 856, 0,
1700 0, 0, 0, 0, 229, 0, 0, 0, 22, 483,
1701 50, 50, 0, 149, 581, 50, 0, 0, 0, 0,
1702 50, 27, 0, 28, 29, 0, 856, 142, 749, 142,
1703 0, 0, 0, 50, 0, 50, 229, 907, 0, 0,
1704 142, 0, 229, 0, 876, 876, 876, 908, 0, 0,
1705 0, 604, 0, 0, 0, 33, 0, 584, 235, 0,
1706 909, 586, 541, 542, 543, 544, 545, 546, 547, 548,
1707 549, 550, 551, 552, 553, 554, 555, 556, 229, 0,
1708 229, 0, 142, 142, 596, 1068, 1069, 853, 855, 0,
1709 0, 0, 0, 1075, 544, 545, 546, 547, 548, 549,
1710 550, 551, 552, 553, 554, 555, 556, 376, 0, 0,
1711 0, 376, 376, 0, 50, 853, 855, 0, 50, 0,
1712 235, 0, 50, 0, 876, 149, 149, 149, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 229, 50,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
1715 0, 229, 0, 0, 1001, 0, 50, 50, 149, 0,
1716 0, 0, 1141, 229, 0, 0, 235, 0, 0, 126,
1717 127, 0, 0, 199, 200, 0, 0, 0, 0, 14,
1718 0, 0, 0, 0, 0, 50, 82, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 229, 0, 229, 0,
1720 1068, 1069, 21, 1075, 0, 0, 0, 0, 913, 0,
1721 0, 24, 0, 581, 0, 0, 0, 0, 0, 50,
1722 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1723 142, 142, 0, 142, 0, 0, 582, 701, 0, 702,
1724 0, 437, 439, 443, 0, 0, 583, 0, 0, 0,
1725 0, 0, 713, 0, 956, 0, 584, 0, 0, 592,
1726 586, 663, 664, 0, 666, 545, 546, 547, 548, 549,
1727 550, 551, 552, 553, 554, 555, 556, 142, 142, 142,
1728 142, 596, 0, 0, 0, 142, 0, 0, 522, 0,
1729 0, 731, 0, 0, 0, 749, 0, 749, 0, 0,
1730 0, 0, 999, 1006, 749, 376, 0, 876, 876, 876,
1731 0, 0, 0, 235, 0, 525, 0, 0, 50, 0,
1732 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
1733 0, 648, 0, 0, 376, 0, 0, 0, 142, 0,
1734 0, 0, 0, 142, 0, 82, 7, 8, 9, 10,
1735 386, 12, 13, 0, 0, 688, 0, 14, 376, 0,
1736 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1737 0, 0, 17, 0, 18, 19, 0, 0, 50, 0,
1738 21, 50, 0, 0, 0, 22, 50, 0, 0, 24,
1739 0, 581, 142, 142, 0, 142, 0, 0, 27, 0,
1740 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1741 0, 0, 0, 0, 1104, 50, 0, 50, 0, 149,
1742 149, 149, 0, 0, 1105, 50, 142, 596, 142, 0,
1743 50, 77, 33, 50, 584, 0, 0, 1106, 586, 0,
1744 0, 689, 0, 0, 0, 229, 0, 0, 0, 50,
1745 0, 0, 0, 0, 0, 0, 0, 0, 77, 77,
1746 0, 77, 0, 77, 0, 140, 144, 0, 77, 0,
1747 7, 126, 127, 10, 0, 0, 482, 0, 0, 522,
1748 0, 77, 522, 77, 0, 0, 0, 0, 0, 0,
1749 8, 9, 0, 0, 12, 227, 0, 522, 522, 522,
1750 14, 0, 0, 0, 701, 702, 0, 713, 0, 22,
1751 0, 0, 522, 0, 0, 17, 0, 18, 0, 0,
1752 0, 0, 27, 21, 28, 29, 0, 0, 240, 0,
1753 0, 0, 24, 876, 581, 0, 0, 999, 31, 0,
1754 0, 27, 0, 129, 130, 998, 0, 0, 32, 126,
1755 127, 0, 0, 199, 200, 0, 33, 582, 235, 14,
1756 0, 34, 77, 0, 0, 0, 77, 583, 0, 749,
1757 77, 522, 0, 77, 77, 77, 0, 584, 0, 0,
1758 585, 586, 21, 0, 0, 0, 0, 77, 0, 50,
1759 0, 24, 0, 581, 0, 0, 876, 876, 876, 0,
1760 27, 407, 129, 130, 77, 77, 77, 0, 0, 0,
1761 0, 0, 0, 0, 229, 0, 582, 0, 0, 142,
1762 0, 0, 435, 0, 0, 0, 583, 0, 50, 50,
1763 50, 50, 0, 77, 0, 451, 584, 8, 9, 585,
1764 586, 12, 227, 0, 0, 0, 0, 14, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 394, 396, 17, 0, 18, 0, 0, 77, 483, 0,
1767 21, 50, 0, 0, 0, 50, 0, 0, 0, 24,
1768 0, 0, 50, 50, 0, 50, 0, 0, 27, 0,
1769 129, 130, 0, 0, 0, 0, 0, 0, 0, 732,
1770 0, 7, 8, 733, 10, 386, 12, 13, 437, 439,
1771 443, 0, 14, 0, 0, 0, 50, 0, 50, 0,
1772 0, 1294, 0, 50, 50, 50, 1294, 17, 749, 18,
1773 19, 20, 0, 0, 0, 21, -495, 0, 0, 0,
1774 22, 0, 0, 0, 24, 734, 0, 642, 0, 0,
1775 443, 0, 522, 27, 0, 28, 29, 0, 0, 735,
1776 0, 736, 603, 0, 0, 0, 77, 0, 0, 31,
1777 0, 0, 0, 0, 0, 663, 664, 0, 666, 32,
1778 998, 0, 0, 0, 0, 0, 0, 33, 7, 8,
1779 9, 10, 34, 0, 227, 543, 544, 545, 546, 547,
1780 548, 549, 550, 551, 552, 553, 554, 555, 556, -495,
1781 1357, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 77, 22, 0, 77,
1783 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
1784 27, 0, 28, 29, 0, 0, 0, 0, 522, 522,
1785 522, 0, 0, 0, 235, 0, 177, 0, 0, 0,
1786 0, 0, 0, 77, 0, 77, 178, 77, 77, 77,
1787 0, 0, 0, 77, 33, 0, 0, 0, 77, 179,
1788 0, 77, 154, 0, 0, 0, 50, 50, 149, 0,
1789 0, 706, 0, 235, 0, 0, 712, 77, 0, 0,
1790 0, 0, 188, 701, 702, 437, 439, 443, 0, 0,
1791 0, 713, 0, 0, 7, 8, 9, 10, 198, 199,
1792 200, 753, 0, 0, 0, 14, 0, 759, 1135, 0,
1793 0, 0, 0, 437, 439, 443, 0, 0, 0, 767,
1794 768, 0, 769, 19, 0, 0, 0, 0, 21, 0,
1795 0, 0, 0, 22, 0, 0, 0, 24, 50, 581,
1796 1287, 126, 127, 10, 1293, 0, 27, 0, 28, 29,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
1798 0, 0, 907, 0, 0, 0, 0, 0, 0, 0,
1799 50, 0, 908, 0, 154, 154, 154, 0, 0, 22,
1800 33, 0, 584, 0, 0, 909, 586, 603, 0, 0,
1801 0, 0, 27, 0, 28, 29, 0, 0, 701, 702,
1802 1289, 713, 0, 0, 0, 188, 188, 444, 31, 0,
1803 0, 0, 0, 0, 0, 864, 865, 77, 32, 0,
1804 864, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1805 0, 34, 0, 0, 188, 0, 0, 0, 0, 0,
1806 0, 235, 0, 0, 0, 0, 7, 8, 9, 10,
1807 0, 0, 13, 0, 0, 0, 77, 77, 77, 77,
1808 0, 50, 50, 149, 149, 149, 0, 235, 0, 50,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 7, 8, 9, 10, 22, 0, 482, 0, 0,
1811 0, 1135, 1135, 1135, 0, 0, 0, 0, 27, 77,
1812 28, 29, 0, 77, 0, 0, 0, 495, 0, 0,
1813 77, 77, 0, 77, 440, 0, 0, 0, 0, 0,
1814 22, 0, 50, 0, 441, 0, 0, 50, 0, 50,
1815 0, 0, 33, 27, 0, 28, 29, 442, 0, 443,
1816 0, 0, 126, 127, 77, 0, 77, 482, 0, 177,
1817 0, 77, 77, 77, 0, 0, 589, 589, 589, 178,
1818 0, 0, 0, 0, 0, 0, 186, 33, 7, 8,
1819 9, 10, 179, 0, 0, 0, 50, 50, 0, 50,
1820 0, 0, 0, 0, 0, 0, 581, 0, 1020, 0,
1821 1022, 238, 0, 27, 242, 129, 130, 0, 0, 0,
1822 0, 0, 437, 439, 443, 0, 0, 22, 0, 582,
1823 50, 50, 50, 0, 0, 238, 188, 345, 0, 583,
1824 27, 0, 28, 29, 0, 0, 1352, 0, 0, 584,
1825 0, 0, 585, 586, 0, 0, 177, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
1827 0, 0, 0, 0, 33, 0, 0, 0, 0, 179,
1828 0, 0, 1055, 1056, 188, 1058, 188, 0, 444, 444,
1829 444, 0, 0, 0, 188, 0, 0, 0, 0, 188,
1830 0, 0, 188, 603, 0, 0, 0, 0, 0, 186,
1831 186, 186, 0, 1076, 0, 0, 0, 0, 0, 450,
1832 8, 9, 0, 386, 12, 13, 0, 0, 688, 0,
1833 14, 0, 0, 0, 77, 77, 77, 1135, 186, 0,
1834 0, 7, 126, 127, 10, 17, 0, 18, 19, 0,
1835 0, 0, 0, 21, 0, 0, 0, 0, 1110, 0,
1836 0, 242, 24, 0, 581, 0, 0, 0, 0, 0,
1837 0, 27, 0, 129, 130, 238, 1137, 0, 0, 0,
1838 22, 0, 0, 0, 0, 0, 0, 582, 0, 0,
1839 0, 0, 0, 27, 0, 28, 29, 583, 0, 0,
1840 1135, 1135, 1135, 0, 0, 0, 77, 584, 0, 146,
1841 585, 586, 0, 0, 689, 0, 838, 0, 0, 147,
1842 0, 0, 1152, 50, 0, 0, 0, 33, 0, 0,
1843 589, 589, 148, 589, 1157, 0, 0, 0, 77, 0,
1844 589, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 8, 9, 0, 386, 12, 13, 0, 0, 188, 0,
1846 14, 0, 0, 0, 0, 0, 238, 242, 0, 0,
1847 0, 7, 8, 9, 10, 17, 0, 18, 19, 0,
1848 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1849 0, 0, 641, 0, 0, 642, 0, 911, 0, 911,
1850 911, 27, 589, 129, 130, 0, 0, 0, 0, 0,
1851 22, 0, 0, 0, 0, 0, 0, 0, 1207, 0,
1852 186, 0, 0, 27, 0, 28, 29, 0, 0, 77,
1853 77, 77, 77, 77, 0, 0, 0, 77, 0, 440,
1854 911, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1855 0, 188, 188, 0, 188, 0, 1220, 33, 0, 1137,
1856 1137, 1137, 442, 0, 0, 0, 0, 0, 186, 0,
1857 186, 0, 186, 186, 186, 0, 0, 0, 186, 0,
1858 0, 0, 0, 186, 0, 0, 186, 0, 0, 0,
1859 77, 0, 188, 0, 0, 77, 0, 77, 0, 0,
1860 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1861 10, 386, 12, 13, 0, 495, 495, 495, 14, 1302,
1862 0, 0, 0, 1303, 0, 0, 0, 589, 0, 0,
1863 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
1864 0, 21, -494, 0, 77, 77, 22, 77, 0, 0,
1865 24, 734, 0, 642, 0, 0, 1318, 0, 0, 27,
1866 0, 28, 29, 0, 0, 735, 0, 736, 7, 8,
1867 9, 10, 0, 0, 0, 31, 0, 0, 77, 77,
1868 77, 0, 0, 0, 0, 32, 0, 0, 0, 0,
1869 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
1870 589, 0, 589, 0, 0, 0, 0, 22, 0, 0,
1871 0, 0, 0, 589, 0, -494, 0, 589, 589, 589,
1872 27, 0, 28, 29, 0, 1370, 0, 238, 242, 1371,
1873 0, 0, 0, 0, 0, 0, 177, 0, 0, 0,
1874 8, 9, 186, 386, 12, 13, 178, 0, 1470, 0,
1875 14, 1389, 1390, 0, 33, 911, 911, 1109, 0, 179,
1876 0, 0, 0, 0, 0, 17, 0, 18, 19, 0,
1877 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1878 0, 186, 24, 186, 186, 1137, 0, 0, 0, 0,
1879 0, 27, 0, 129, 130, 0, 0, 1109, 0, 0,
1880 7, 8, 9, 10, 198, 199, 200, 0, 101, 0,
1881 0, 14, 0, 0, 0, 0, 0, 0, 120, 101,
1882 0, 0, 0, 0, 186, 101, 101, 188, 101, 19,
1883 0, 0, 0, 0, 21, 186, 186, 0, 186, 22,
1884 0, 0, 0, 24, 0, 581, 0, 0, 1137, 1137,
1885 1137, 0, 27, 0, 28, 29, 8, 9, 219, 189,
1886 12, 190, 0, 242, 0, 0, 14, 0, 907, 0,
1887 0, 77, 0, 0, 0, 0, 186, 0, 908, 0,
1888 0, 17, 0, 18, 19, 0, 33, 0, 584, 21,
1889 0, 949, 586, 0, 0, 0, 0, 0, 24, 0,
1890 0, 0, 0, 838, 838, 0, 838, 27, 0, 129,
1891 130, 0, 0, 0, 0, 0, 0, 369, 0, 120,
1892 0, 0, 101, 0, 0, 0, 101, 101, 0, 0,
1893 0, 0, 0, 101, 0, 101, 101, 101, 0, 0,
1894 101, 101, 101, 0, 0, 0, 0, 0, 0, 0,
1895 911, 911, 1109, 1109, 1109, 0, 0, 0, 911, 539,
1896 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1897 550, 551, 552, 553, 554, 555, 556, 0, 0, 0,
1898 1109, 1109, 1109, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 732, 0, 7,
1900 8, 733, 10, 386, 12, 13, 0, 238, 242, 238,
1901 14, 188, 0, 0, 465, 101, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
1903 0, 0, 0, 21, 101, 0, 0, 0, 22, 186,
1904 186, 1107, 24, 734, 0, 642, 238, 0, 0, 0,
1905 0, 27, 0, 28, 29, 0, 0, 735, 0, 736,
1906 0, 0, 0, 0, 0, 911, 911, 31, 911, 0,
1907 0, 0, 0, 101, 0, 0, 0, 32, 0, 0,
1908 0, 1107, 0, 0, 0, 33, 0, 0, 0, 244,
1909 34, 0, 8, 9, 0, 0, 12, 13, 0, 188,
1910 0, 188, 14, 0, 0, 0, 0, 0, 0, 0,
1911 0, 186, 0, 0, 0, 0, 0, 17, 0, 18,
1912 101, 0, 101, 101, 0, 21, 0, 245, 246, 0,
1913 0, 0, 450, 0, 24, 0, 247, 0, 0, 0,
1914 0, 0, 0, 27, 0, 129, 130, 0, 248, 101,
1915 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1916 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1917 267, 268, 269, 101, 0, 270, 271, 272, 0, 0,
1918 273, 0, 0, 274, 0, 0, 0, 0, 0, 101,
1919 0, 0, 0, 101, 0, 0, 101, 0, 0, 0,
1920 275, 101, 0, 0, 0, 0, 444, 0, 0, 0,
1921 0, 0, 0, 0, 238, 540, 541, 542, 543, 544,
1922 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1923 555, 556, 0, 0, 186, 186, 186, 186, 1107, 0,
1924 1219, 0, 186, 542, 543, 544, 545, 546, 547, 548,
1925 549, 550, 551, 552, 553, 554, 555, 556, 0, 0,
1926 0, 101, 0, 724, 1107, 1107, 1107, 0, 0, 444,
1927 444, 444, 0, 0, 0, 0, 0, 0, 7, 8,
1928 9, 10, 386, 12, 13, 0, 0, 955, 101, 14,
1929 0, 0, 188, 0, 0, 186, 0, 0, 0, 0,
1930 0, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1931 0, 0, 21, 0, 0, 0, 0, 22, 0, 0,
1932 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1933 27, 0, 28, 29, 1383, 0, -449, -449, -449, -449,
1934 -449, -449, -449, 0, 0, -449, 31, -449, 0, 186,
1935 186, 0, 186, 0, 0, 0, 32, 0, -449, 0,
1936 -449, -449, 101, 0, 33, -449, 0, 0, 0, 34,
1937 -449, 0, 0, 101, 101, -449, 101, 101, 0, -449,
1938 0, -449, 0, 186, 0, 186, 0, 0, -449, 0,
1939 -449, -449, -449, -449, -449, 0, -449, -449, -449, -449,
1940 -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1941 -449, -449, -449, -449, -449, -449, -449, -449, -449, 0,
1942 -449, -449, -449, 0, -449, -449, -449, -449, -449, -449,
1943 0, -449, -449, 0, 0, 120, 0, 1384, 0, 0,
1944 0, 0, -449, -449, -449, 0, -449, 219, 0, 0,
1945 161, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1946 8, 9, 0, 14, 12, 13, 724, 0, 0, 0,
1947 14, 0, 0, 0, 0, 0, 15, 16, 17, 0,
1948 18, 19, 20, 0, 0, 17, 21, 18, 0, 0,
1949 1107, 22, 0, 21, 23, 24, 25, 0, 26, 0,
1950 0, 0, 24, 0, 27, 0, 28, 29, 0, 0,
1951 30, 27, 0, 129, 130, 0, 0, 0, 0, 0,
1952 31, 0, 0, 0, 0, 724, 0, 0, 101, 0,
1953 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
1954 0, 0, 0, 34, 0, 0, 0, 0, 0, 35,
1955 0, 0, 0, 1107, 1107, 1107, 0, 0, 0, 0,
1956 0, 101, 101, 101, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 101, 0, 1360, 186, 1230, 1231, 1232,
1958 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
1959 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1960 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
1961 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
1962 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
1963 0, 1244, 299, 675, 0, 1245, 300, 0, 0, 0,
1964 0, 0, 301, 0, 0, 302, 101, 0, 101, 0,
1965 0, 0, 0, 303, 304, 305, 0, 0, 0, 101,
1966 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
1967 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 1361, 310, 1229, 0, 1230,
1969 1231, 1232, 10, 386, 12, 282, 283, 284, 0, 285,
1970 14, 1233, 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1971 1241, 1242, 1243, 15, 16, 17, 286, 18, 19, 20,
1972 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1973 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
1974 298, 27, 0, 1244, 299, 675, 0, 1245, 300, 0,
1975 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
1976 0, 0, 0, 0, 0, 303, 304, 305, 724, 0,
1977 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
1978 309, 517, 1246, 281, 8, 9, 10, 386, 12, 282,
1979 283, 284, 688, 285, 14, 101, 0, 0, 310, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1981 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
1982 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
1983 294, 295, 296, 297, 298, 27, 0, 28, 299, -285,
1984 0, 0, 300, 0, 0, 0, 0, 0, 301, 101,
1985 101, 869, 101, 0, 0, 0, 0, 0, 0, 303,
1986 304, 870, 0, 0, 0, 0, 0, 306, 307, 308,
1987 0, 584, 0, 0, 871, 586, 0, 517, 689, 7,
1988 8, 9, 10, 386, 12, 282, 283, 284, 688, 285,
1989 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 17, 286, 18, 19, 20,
1991 724, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1992 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
1993 298, 27, 0, 28, 29, -285, 0, 0, 300, 0,
1994 0, 0, 724, 0, 301, 0, 0, 1132, 0, 0,
1995 0, 0, 0, 0, 0, 303, 304, 1133, 0, 0,
1996 101, 0, 101, 306, 307, 308, 0, 584, 0, 0,
1997 1134, 586, 0, 687, 689, 281, 8, 9, 10, 386,
1998 12, 282, 283, 284, 688, 285, 14, 0, 310, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
2001 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2002 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2003 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2004 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2005 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2006 307, 308, 0, 0, 0, 0, 309, 0, 0, 0,
2007 689, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, -759, 802, 310, 281, 8, 9, 10, 386,
2009 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
2012 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2013 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2014 299, 1449, 0, -749, 300, 0, 0, 0, 0, 0,
2015 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2016 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2017 307, 308, 0, 0, 0, 678, 309, 790, 791, 792,
2018 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2019 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2020 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2021 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2022 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2023 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2024 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2025 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2026 0, 306, 307, 308, 0, 0, 0, 0, 309, 795,
2027 678, 0, 790, 791, 792, 10, 0, 12, 499, 283,
2028 284, 0, 285, 14, 0, 940, 310, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2030 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2031 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2032 295, 296, 297, 298, 27, 0, 793, 794, 679, 0,
2033 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2034 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2035 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2036 0, 0, 0, 309, 795, 678, 0, 790, 791, 792,
2037 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2038 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2040 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2041 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2042 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2043 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2044 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2045 0, 306, 307, 308, 0, 0, 0, 678, 309, 790,
2046 791, 792, 10, 0, 12, 499, 283, 284, 0, 285,
2047 14, 0, 0, 0, 0, -453, 310, 0, 0, 0,
2048 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2049 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2050 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2051 298, 27, 0, 793, 794, 679, 0, 0, 300, 0,
2052 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2053 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2054 0, 0, 0, 306, 307, 308, 0, 0, 0, 678,
2055 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2056 0, 285, 14, 0, 0, 0, 0, 1263, 310, 0,
2057 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2058 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2059 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2060 296, 297, 298, 27, 0, 28, 299, 679, 0, 0,
2061 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2062 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2063 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2064 0, 0, 309, 0, 0, 517, 0, 281, 8, 9,
2065 10, 1267, 12, 282, 283, 284, 0, 285, 14, 0,
2066 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2068 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2069 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2070 0, 28, 299, -285, 0, 0, 300, 0, 0, 0,
2071 0, 0, 301, 0, 0, 518, 0, 0, 0, 0,
2072 0, 0, 0, 303, 304, 519, 0, 0, 0, 0,
2073 0, 306, 307, 308, 0, 0, 0, 678, 520, 281,
2074 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2075 14, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2076 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2077 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2078 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2079 298, 27, 0, 28, 299, 679, 0, 0, 300, 0,
2080 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2081 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2082 0, 0, 0, 306, 307, 308, 0, 0, 0, 802,
2083 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2084 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2085 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2086 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2087 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2088 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2089 300, -749, 0, 0, 0, 0, 301, 0, 0, 302,
2090 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2091 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2092 0, 517, 309, 7, 8, 9, 10, 0, 12, 282,
2093 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2094 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2095 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2096 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2097 294, 295, 296, 297, 298, 27, 0, 28, 29, -285,
2098 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2099 0, 1421, 0, 0, 0, 0, 0, 0, 0, 303,
2100 304, 1422, 0, 0, 0, 0, 0, 306, 307, 308,
2101 0, 0, 0, 1499, 1423, 281, 8, 9, 10, 0,
2102 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2103 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2104 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2105 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2106 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2107 299, 0, 0, -174, 300, 0, 0, 0, 0, 0,
2108 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2109 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2110 307, 308, 0, 0, 0, 802, 309, 281, 8, 9,
2111 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2112 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2113 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2114 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2115 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2116 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2117 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2118 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2119 0, 306, 307, 308, 0, 0, 0, 888, 309, 281,
2120 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2121 14, 0, 0, 0, -749, 0, 310, 0, 0, 0,
2122 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2123 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2124 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2125 298, 27, 0, 28, 299, 0, 0, 0, 300, 0,
2126 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2127 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2128 0, 0, 0, 306, 307, 308, 0, 0, 0, 890,
2129 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2130 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2131 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2132 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2133 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2134 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2135 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2136 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2137 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2138 0, 1434, 309, 281, 8, 9, 10, 0, 12, 499,
2139 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2140 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2141 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2142 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2143 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2144 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2145 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2146 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2147 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2148 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2150 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2151 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2152 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2153 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2154 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2155 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2156 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2158 841, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2159 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2160 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2161 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2162 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2163 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2164 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2165 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2166 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2167 0, 0, 309, 0, 1246, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365,
2169 310, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2170 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2171 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2172 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2173 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2174 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2175 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2176 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2177 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2178 0, 0, 309, 0, 1246, 0, 0, 1230, 1231, 1232,
2179 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
2180 310, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
2181 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
2182 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2183 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2184 0, 1244, 299, 1476, 0, 1245, 300, 0, 0, 0,
2185 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2186 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2187 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
2188 1246, 0, 0, 1230, 1231, 1232, 10, 386, 12, 282,
2189 283, 284, 0, 285, 14, 1233, 310, 1234, 1235, 1236,
2190 1237, 1238, 1239, 1240, 1241, 1242, 1243, 15, 16, 17,
2191 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2192 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2193 294, 295, 296, 297, 298, 27, 0, 1244, 299, 0,
2194 0, 1245, 300, 0, 0, 0, 0, 0, 301, 0,
2195 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2196 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2197 0, 0, 0, 0, 309, 0, 1246, 281, 8, 9,
2198 10, 386, 12, 282, 283, 284, 688, 285, 14, 0,
2199 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2201 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2202 24, 0, 581, 0, 294, 295, 296, 297, 298, 27,
2203 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2204 0, 0, 301, 0, 0, 869, 0, 0, 0, 0,
2205 0, 0, 0, 303, 304, 870, 0, 0, 0, 0,
2206 0, 306, 307, 308, 0, 584, 0, 0, 871, 586,
2207 0, 0, 689, 7, 8, 9, 10, 386, 12, 282,
2208 283, 284, 688, 285, 14, 0, 310, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2210 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2211 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
2212 294, 295, 296, 297, 298, 27, 0, 28, 29, 0,
2213 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2214 0, 1132, 0, 0, 0, 0, 0, 0, 0, 303,
2215 304, 1133, 0, 0, 0, 0, 0, 306, 307, 308,
2216 0, 584, 0, 0, 1134, 586, 0, 0, 689, 281,
2217 8, 9, 10, 0, 12, 282, 283, 284, 0, 285,
2218 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2220 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2221 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
2222 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 301, 0, 0, 869, 0, 0,
2224 0, 0, 0, 0, 0, 303, 304, 870, 0, 0,
2225 0, 0, 0, 306, 307, 308, 0, 584, 0, 0,
2226 871, 586, 7, 8, 9, 10, 0, 12, 282, 283,
2227 284, 0, 285, 14, 0, 0, 0, 0, 310, 0,
2228 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2229 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2230 291, 22, 292, 293, 0, 24, 0, 581, 0, 294,
2231 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2233 1132, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2234 1133, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2235 584, 0, 0, 1134, 586, 281, 8, 9, 10, 0,
2236 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2237 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2238 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2239 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2240 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2241 299, 0, 0, 1342, 300, 0, 0, 0, 0, 0,
2242 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2243 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2244 307, 308, 0, 0, 0, 0, 309, 281, 8, 9,
2245 10, 386, 12, 282, 283, 284, 0, 285, 14, 0,
2246 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2247 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2248 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2249 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2250 0, 28, 299, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2252 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2253 0, 306, 307, 308, 281, 8, 9, 10, 309, 12,
2254 282, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2255 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2256 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2257 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2258 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2259 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2260 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2261 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2262 308, 281, 8, 9, 10, 309, 12, 499, 283, 284,
2263 0, 285, 14, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 310, 0, 0, 0, 17, 286, 18,
2265 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2266 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2267 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2268 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2269 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2270 0, 0, 0, 0, 0, 306, 307, 308, 281, 8,
2271 9, 10, 309, 12, 499, 283, 284, 0, 285, 14,
2272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2273 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2274 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2275 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2276 27, 0, 28, 299, 532, 0, 0, 0, 0, 0,
2277 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2278 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2279 0, 0, 306, 307, 308, 281, 8, 9, 10, 533,
2280 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2281 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2282 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2283 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2284 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2285 299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2287 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2288 307, 308, 0, 0, 0, 0, 309, 569, 281, 8,
2289 9, 10, 0, 12, 499, 283, 284, 0, 285, 14,
2290 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2292 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2293 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2294 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2295 0, 0, 0, 301, 0, 0, 518, 0, 0, 0,
2296 0, 0, 0, 0, 303, 304, 519, 0, 0, 0,
2297 0, 0, 306, 307, 308, 1094, 8, 9, 10, 520,
2298 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2300 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2301 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2302 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2303 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2304 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2305 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2306 307, 308, 7, 8, 9, 10, 309, 12, 499, 283,
2307 284, 0, 285, 14, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 0, 310, 0, 0, 0, 17, 286,
2309 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2310 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2311 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2312 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2313 1421, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2314 1422, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2315 8, 9, 10, 1423, 12, 499, 283, 284, 0, 285,
2316 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2317 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2318 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2319 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2320 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2321 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2322 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2323 0, 0, 0, 306, 307, 308, 281, 8, 9, 10,
2324 500, 12, 499, 283, 284, 0, 285, 14, 0, 0,
2325 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2326 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2327 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2328 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2329 28, 299, 0, 0, 0, 0, 0, 0, 0, 0,
2330 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2331 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2332 306, 307, 308, 281, 8, 9, 10, 503, 12, 499,
2333 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2334 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2335 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2336 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2337 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2338 0, 0, 0, 0, 0, 0, 0, 0, 301, 0,
2339 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2340 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2341 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2342 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2343 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2344 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2345 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2346 297, 298, 27, 0, 28, 299, 0, 0, 0, 0,
2347 0, 0, 0, 0, 0, 301, 0, 0, 518, 0,
2348 0, 0, 0, 0, 0, 0, 303, 304, 519, 0,
2349 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2350 10, 520, 12, 282, 283, 284, 0, 285, 14, 0,
2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2352 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2353 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2354 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2355 0, 28, 29, 0, 0, 0, 0, 0, 0, 0,
2356 0, 0, 301, 0, 6, 1421, 7, 8, 9, 10,
2357 11, 12, 13, 303, 304, 1422, 0, 14, 0, 0,
2358 0, 306, 307, 308, 0, 0, 0, 0, 1423, 0,
2359 0, 0, 17, 0, 18, 19, 0, 0, 0, 0,
2360 21, 0, 0, 0, 0, 22, 310, 0, 0, 24,
2361 0, 0, 411, 0, 0, 0, 0, 0, 27, 0,
2362 28, 29, 0, 0, 30, -357, 8, 9, -357, -357,
2363 12, 227, 0, 0, 31, 0, 14, 0, 0, 0,
2364 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2365 0, 17, 33, 18, -357, 0, 0, 34, 0, 21,
2366 0, 0, 0, 0, -357, 0, 0, 0, 24, 0,
2367 581, 0, 0, 0, 0, 0, 0, 27, 0, 129,
2368 130, 7, 8, 9, 10, 189, 12, 190, 0, 0,
2369 0, 0, 14, 582, 0, 0, 0, 0, 0, 0,
2370 0, 0, 0, 583, 0, 0, 0, 17, 0, 18,
2371 19, -357, 0, 584, 0, 21, 585, 586, 0, 0,
2372 22, 0, 0, 0, 24, 0, 989, 8, 733, 10,
2373 189, 12, 190, 27, 0, 28, 29, 14, 0, 191,
2374 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2375 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2376 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2377 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2378 28, 29, 0, 0, 0, 0, 991, 7, 8, 9,
2379 10, 189, 12, 190, 31, 0, 0, 0, 14, 0,
2380 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2381 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2382 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2383 24, 0, 7, 8, 9, 10, 386, 12, 13, 27,
2384 0, 28, 29, 14, 0, 1355, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2386 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2387 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2388 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2389 9, 10, 189, 12, 190, 0, 0, 0, 0, 14,
2390 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2391 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2392 0, 0, 21, 34, 0, 0, 0, 22, 0, 0,
2393 0, 24, 0, 7, 8, 9, 10, 198, 199, 200,
2394 27, 0, 28, 29, 14, 0, 0, 0, 0, 0,
2395 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2396 0, 0, 19, 0, 0, 0, 32, 21, 0, 0,
2397 0, 0, 22, 0, 33, 1411, 24, 0, 581, 34,
2398 0, 0, 0, 0, 0, 27, 0, 28, 29, 535,
2399 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2400 546, 177, 548, 549, 550, 551, 552, 553, 554, 555,
2401 556, 178, 0, 0, 0, 0, 0, 19, 0, 33,
2402 0, 0, 0, 0, 1358, 0, 1412, 535, 536, 537,
2403 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2404 548, 549, 550, 551, 552, 553, 554, 555, 556, 535,
2405 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2406 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2407 556, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2408 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2409 554, 555, 556, 535, 536, 537, 538, 539, 540, 541,
2410 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2411 552, 553, 554, 555, 556, 0, 0, 0, 0, 0,
2412 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2413 0, 0, 0, 0, 0, 621, 0, 0, 1466, 535,
2414 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2415 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2416 556, 1484, 535, 536, 537, 538, 539, 540, 541, 542,
2417 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2418 553, 554, 555, 556, 535, 536, 537, 538, 539, 540,
2419 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2420 551, 552, 553, 554, 555, 556
2421 };
2422
2423 static const short yycheck[] = { 4,
2424 156, 79, 4, 426, 673, 670, 54, 24, 4, 125,
2425 4, 193, 329, 385, 232, 335, 448, 83, 336, 337,
2426 385, 4, 285, 286, 385, 58, 530, 146, 147, 653,
2427 469, 36, 14, 4, 36, 830, 41, 31, 32, 41,
2428 36, 123, 36, 223, 132, 41, 228, 41, 660, 353,
2429 737, 56, 739, 36, 317, 4, 201, 202, 41, 746,
2430 34, 4, 1254, 141, 585, 36, 71, 421, 128, 1261,
2431 41, 592, 193, 133, 392, 393, 132, 133, 83, 4,
2432 61, 202, 87, 1408, 89, 56, 91, 36, 11, 83,
2433 1247, 1324, 41, 36, 38, 277, 1409, 11, 41, 11,
2434 82, 106, 107, 53, 34, 1155, 1156, 1410, 9, 187,
2435 79, 36, 45, 48, 60, 63, 41, 335, 456, 1169,
2436 60, 1446, 59, 105, 0, 65, 7, 63, 65, 0,
2437 135, 136, 89, 138, 91, 473, 76, 754, 60, 75,
2438 63, 135, 75, 760, 385, 1, 75, 329, 1, 59,
2439 49, 12, 146, 147, 586, 160, 1, 38, 83, 94,
2440 193, 62, 110, 1426, 135, 111, 160, 111, 201, 202,
2441 524, 12, 146, 147, 148, 110, 287, 288, 1481, 136,
2442 12, 111, 1445, 177, 178, 502, 135, 110, 110, 160,
2443 100, 302, 135, 434, 305, 228, 110, 308, 110, 60,
2444 311, 151, 63, 59, 315, 179, 59, 63, 106, 107,
2445 135, 160, 323, 1526, 59, 196, 1541, 160, 63, 60,
2446 63, 1413, 63, 204, 65, 75, 48, 36, 60, 94,
2447 48, 63, 41, 672, 184, 160, 1286, 98, 326, 1502,
2448 96, 25, 55, 65, 277, 1295, 1296, 229, 1298, 110,
2449 867, 96, 1409, 1486, 1049, 61, 322, 98, 414, 3,
2450 4, 5, 75, 1455, 197, 60, 98, 110, 880, 94,
2451 326, 883, 94, 278, 243, 59, 94, 95, 902, 63,
2452 34, 76, 643, 365, 604, 61, 60, 39, 4, 5,
2453 608, 94, 110, 9, 63, 355, 329, 48, 76, 60,
2454 78, 48, 61, 55, 309, 111, 75, 452, 453, 921,
2455 922, 1503, 96, 57, 58, 460, 109, 322, 48, 379,
2456 674, 440, 441, 379, 696, 330, 61, 472, 322, 633,
2457 75, 696, 453, 338, 339, 111, 110, 81, 55, 55,
2458 388, 57, 58, 94, 585, 339, 491, 94, 95, 110,
2459 871, 592, 111, 335, 48, 71, 574, 390, 75, 976,
2460 60, 27, 28, 110, 94, 81, 32, 25, 339, 27,
2461 28, 988, 767, 768, 769, 692, 111, 48, 75, 95,
2462 385, 338, 1432, 1433, 389, 48, 48, 94, 909, 385,
2463 339, 385, 146, 147, 148, 61, 339, 322, 1193, 65,
2464 94, 59, 906, 25, 1021, 63, 1023, 518, 519, 832,
2465 110, 309, 61, 48, 339, 25, 61, 27, 28, 452,
2466 453, 55, 55, 94, 95, 179, 55, 460, 949, 434,
2467 65, 94, 94, 95, 48, 416, 868, 55, 96, 472,
2468 434, 75, 75, 4, 5, 111, 440, 441, 110, 59,
2469 8, 9, 770, 63, 32, 696, 14, 75, 491, 94,
2470 385, 63, 3, 4, 5, 470, 440, 441, 442, 3,
2471 4, 5, 6, 1085, 1086, 59, 470, 63, 459, 37,
2472 94, 95, 75, 1170, 48, 55, 96, 470, 46, 75,
2473 48, 48, 497, 63, 55, 500, 57, 58, 503, 55,
2474 566, 470, 507, 508, 509, 510, 511, 48, 42, 434,
2475 71, 4, 5, 754, 55, 520, 57, 58, 446, 760,
2476 81, 470, 4, 57, 58, 530, 454, 470, 533, 462,
2477 94, 903, 55, 431, 95, 974, 94, 94, 903, 166,
2478 497, 721, 903, 723, 48, 470, 4, 5, 728, 48,
2479 59, 55, 75, 94, 36, 89, 876, 60, 61, 41,
2480 565, 566, 610, 111, 57, 58, 3, 4, 5, 714,
2481 48, 75, 566, 94, 3, 4, 5, 48, 611, 48,
2482 585, 899, 55, 937, 76, 1106, 55, 592, 582, 583,
2483 94, 585, 55, 4, 5, 94, 95, 779, 592, 57,
2484 58, 649, 500, 651, 652, 503, 75, 55, 48, 507,
2485 873, 95, 49, 1134, 596, 731, 94, 1040, 1041, 652,
2486 57, 58, 520, 94, 641, 94, 867, 1059, 57, 58,
2487 871, 636, 48, 110, 48, 533, 48, 11, 49, 537,
2488 1251, 566, 1253, 55, 692, 650, 57, 58, 48, 654,
2489 60, 61, 4, 5, 94, 672, 110, 9, 876, 692,
2490 585, 110, 903, 75, 110, 563, 111, 592, 909, 48,
2491 81, 569, 4, 5, 14, 94, 48, 1116, 94, 636,
2492 94, 714, 94, 23, 61, 48, 440, 441, 442, 8,
2493 9, 696, 1449, 3, 94, 14, 744, 1015, 1016, 1017,
2494 60, 61, 696, 55, 113, 57, 58, 1130, 949, 1148,
2495 25, 95, 27, 28, 95, 94, 1139, 1140, 37, 71,
2496 63, 1144, 94, 55, 64, 57, 58, 46, 113, 81,
2497 841, 94, 737, 9, 739, 976, 12, 1054, 1495, 94,
2498 745, 746, 60, 737, 59, 739, 779, 988, 63, 754,
2499 755, 756, 746, 758, 737, 760, 739, 63, 869, 870,
2500 754, 94, 1185, 746, 1055, 1056, 760, 1058, 737, 75,
2501 739, 696, 48, 744, 745, 75, 745, 746, 4, 5,
2502 1021, 96, 1023, 123, 60, 75, 62, 63, 737, 65,
2503 739, 971, 972, 973, 737, 75, 739, 746, 755, 756,
2504 76, 758, 78, 746, 1469, 145, 75, 740, 741, 11,
2505 27, 28, 737, 111, 739, 32, 749, 110, 94, 95,
2506 1489, 746, 98, 49, 829, 4, 5, 60, 833, 754,
2507 55, 57, 58, 110, 110, 760, 914, 27, 28, 84,
2508 85, 55, 110, 60, 61, 60, 61, 110, 65, 63,
2509 1273, 3, 4, 5, 6, 81, 861, 3, 4, 5,
2510 6, 75, 867, 4, 5, 1106, 871, 75, 60, 110,
2511 49, 111, 48, 867, 61, 869, 870, 871, 57, 58,
2512 220, 221, 60, 61, 76, 1203, 78, 111, 1311, 65,
2513 42, 113, 232, 1134, 876, 113, 42, 49, 903, 110,
2514 905, 906, 81, 49, 909, 57, 58, 903, 49, 903,
2515 75, 57, 58, 907, 908, 909, 57, 58, 94, 95,
2516 60, 61, 1000, 60, 61, 25, 75, 27, 28, 81,
2517 55, 979, 75, 113, 55, 909, 1253, 89, 113, 837,
2518 81, 110, 867, 89, 949, 59, 871, 3, 4, 5,
2519 1061, 7, 8, 9, 55, 949, 4, 5, 963, 59,
2520 110, 301, 63, 63, 969, 3, 4, 5, 6, 55,
2521 94, 976, 110, 871, 75, 949, 110, 63, 903, 8,
2522 113, 1335, 976, 988, 909, 1104, 1105, 4, 5, 75,
2523 3, 4, 5, 1347, 988, 48, 96, 65, 60, 94,
2524 48, 57, 58, 343, 42, 111, 1011, 55, 979, 57,
2525 58, 61, 352, 1132, 1133, 55, 1021, 1011, 1023, 57,
2526 58, 1132, 1133, 71, 949, 365, 37, 1021, 1011, 1023,
2527 1108, 1000, 49, 81, 65, 65, 49, 65, 110, 61,
2528 57, 58, 1011, 91, 57, 58, 94, 95, 3, 4,
2529 5, 976, 7, 8, 9, 63, 110, 94, 1063, 992,
2530 65, 110, 1011, 988, 81, 998, 999, 1439, 1011, 1002,
2531 1003, 969, 1426, 1006, 1439, 55, 110, 55, 110, 65,
2532 65, 60, 37, 63, 110, 63, 1011, 3, 4, 5,
2533 717, 1445, 3, 4, 5, 75, 1021, 75, 1023, 1116,
2534 55, 1106, 57, 58, 59, 63, 1063, 113, 1531, 110,
2535 1104, 1105, 1106, 110, 3, 4, 5, 6, 1472, 3,
2536 4, 5, 1127, 110, 751, 1127, 1443, 467, 110, 1134,
2537 1104, 1105, 1106, 1127, 76, 76, 1247, 55, 1132, 1133,
2538 1134, 57, 58, 59, 1127, 63, 57, 58, 1502, 76,
2539 105, 106, 107, 42, 76, 909, 1510, 75, 1132, 1133,
2540 1134, 4, 5, 4, 5, 1170, 55, 110, 57, 58,
2541 56, 55, 58, 57, 58, 59, 1170, 110, 1127, 110,
2542 63, 1106, 63, 60, 87, 63, 89, 1170, 91, 3,
2543 4, 5, 532, 110, 113, 949, 111, 1166, 1439, 95,
2544 89, 1170, 1127, 1251, 110, 1253, 110, 89, 49, 1134,
2545 75, 113, 55, 48, 57, 58, 57, 58, 110, 110,
2546 1253, 1170, 3, 4, 5, 113, 7, 1170, 71, 60,
2547 110, 110, 65, 136, 574, 138, 1134, 113, 81, 110,
2548 81, 55, 1247, 57, 58, 1170, 110, 1252, 111, 1254,
2549 31, 111, 1254, 1247, 65, 60, 1261, 38, 60, 1261,
2550 1254, 1443, 1418, 110, 1247, 1270, 110, 1261, 94, 94,
2551 94, 1254, 94, 111, 55, 8, 57, 58, 1261, 113,
2552 166, 110, 110, 1181, 1182, 1183, 1184, 3, 4, 5,
2553 6, 27, 28, 1191, 110, 110, 32, 110, 1247, 111,
2554 110, 641, 1421, 1422, 113, 1254, 110, 193, 34, 110,
2555 1421, 1422, 1261, 653, 110, 201, 202, 81, 82, 83,
2556 84, 85, 1247, 110, 60, 61, 42, 110, 110, 1254,
2557 65, 110, 55, 49, 110, 110, 1261, 48, 63, 679,
2558 113, 57, 58, 110, 1242, 110, 97, 3, 4, 5,
2559 1104, 1105, 1106, 110, 981, 982, 7, 8, 9, 63,
2560 1293, 1294, 63, 14, 61, 81, 3, 4, 5, 61,
2561 7, 8, 9, 89, 9, 31, 61, 16, 1132, 1133,
2562 1134, 32, 110, 1010, 1358, 94, 37, 94, 3, 4,
2563 5, 110, 712, 110, 61, 46, 1444, 300, 1403, 55,
2564 37, 57, 58, 1408, 1409, 1410, 1408, 110, 1413, 1403,
2565 1443, 1413, 4, 5, 1408, 1409, 1410, 110, 1423, 1413,
2566 57, 58, 113, 110, 1357, 1408, 1409, 1421, 1422, 61,
2567 1413, 94, 94, 753, 1439, 338, 3, 4, 5, 759,
2568 55, 1446, 57, 58, 1446, 1439, 1344, 1421, 1422, 1423,
2569 1455, 17, 1446, 1455, 61, 109, 99, 49, 110, 1408,
2570 1409, 1455, 61, 1446, 1413, 57, 58, 11, 110, 110,
2571 110, 61, 1455, 61, 61, 94, 1481, 60, 1403, 65,
2572 110, 61, 110, 1408, 1409, 1410, 110, 1481, 1413, 11,
2573 57, 58, 4, 5, 3, 4, 5, 1446, 1503, 61,
2574 11, 1503, 61, 389, 390, 1403, 1455, 0, 0, 1503,
2575 0, 1409, 1410, 413, 1439, 355, 2, 903, 745, 1116,
2576 1503, 1446, 160, 426, 427, 1423, 3, 4, 5, 6,
2577 1455, 434, 93, 45, 1161, 1162, 1541, 1164, 1165, 1541,
2578 1167, 1474, 862, 55, 864, 57, 58, 1541, 57, 58,
2579 1468, 160, 892, 138, 1503, 1334, 1481, 1541, 1541, 445,
2580 280, 48, 902, 1252, 892, 42, 452, 453, 679, 222,
2581 456, 887, 49, 1148, 460, 974, 1011, 745, 1503, 1168,
2582 57, 58, 617, 1481, 7, 8, 9, 473, 885, 566,
2583 184, 14, 1541, 123, 497, 498, 326, 1254, 1128, 1497,
2584 87, 88, 1510, 1489, 1358, 92, 93, 94, 95, 32,
2585 1458, 1520, 89, 34, 37, 1522, 1541, 958, 1270, -1,
2586 -1, 1519, -1, 46, -1, -1, -1, 530, 1526, 532,
2587 -1, -1, 535, 536, -1, 538, 539, 540, 541, 542,
2588 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2589 553, 554, 555, 556, -1, -1, 1283, 1284, -1, 562,
2590 -1, 564, 565, -1, -1, -1, -1, 1421, 1422, 1423,
2591 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2592 6, 7, 8, 9, -1, 7, 8, 9, 14, 592,
2593 4, 5, 14, -1, -1, 9, 599, -1, -1, -1,
2594 1020, 1041, 1022, 29, -1, 31, 32, 33, -1, -1,
2595 32, 37, 38, -1, -1, 37, 42, 620, 621, -1,
2596 46, 47, -1, 49, 46, 611, 147, 148, -1, 55,
2597 -1, 57, 58, 636, 48, 61, -1, 63, 79, 61,
2598 -1, 55, -1, 57, 58, 71, 427, -1, -1, -1,
2599 1377, 1378, 1379, 434, -1, 81, 1076, 71, 179, -1,
2600 -1, -1, 103, 89, 650, -1, 652, 81, 94, 79,
2601 80, 81, 82, 83, 84, 85, 679, 91, -1, -1,
2602 94, 95, -1, -1, 1124, 111, -1, -1, 4, 5,
2603 1130, 132, 8, 9, -1, -1, -1, 4, 14, -1,
2604 141, -1, 1429, 1430, -1, -1, 692, 14, -1, -1,
2605 -1, -1, -1, 29, -1, 31, -1, 498, 25, -1,
2606 -1, 37, -1, -1, 31, 32, -1, 34, 714, 36,
2607 46, 717, 1152, 736, 41, -1, -1, 1157, -1, 55,
2608 -1, 57, 58, 59, -1, -1, 187, 54, -1, 56,
2609 -1, -1, 755, 756, -1, 758, -1, 64, -1, 745,
2610 3, 4, 5, -1, 71, 751, -1, 1494, -1, -1,
2611 773, -1, -1, -1, -1, 82, 83, -1, 94, 220,
2612 -1, 562, -1, 564, 565, -1, -1, 1207, 309, -1,
2613 -1, -1, 795, -1, -1, -1, 39, 40, 105, 42,
2614 -1, -1, 243, 1243, -1, -1, 3, 4, 5, 6,
2615 -1, 592, 55, -1, 57, 58, -1, -1, 599, -1,
2616 -1, 128, -1, -1, -1, -1, 133, 12, 135, 832,
2617 833, -1, 139, -1, -1, 142, 143, -1, -1, 146,
2618 147, 148, 27, 28, 847, 42, 849, 32, 851, -1,
2619 -1, -1, -1, 160, -1, -1, -1, -1, 55, -1,
2620 57, 58, -1, 48, 61, -1, 63, -1, -1, -1,
2621 177, 178, 179, -1, 71, 60, 61, -1, 63, -1,
2622 65, 884, 1302, 1303, 81, -1, 1326, -1, -1, -1,
2623 -1, 894, 89, 334, -1, -1, -1, 94, 1318, 206,
2624 -1, -1, -1, 906, 7, 8, 9, -1, -1, 94,
2625 95, 14, 427, 98, 221, -1, 919, -1, -1, 434,
2626 441, 442, 229, -1, -1, 110, -1, -1, 931, 32,
2627 -1, -1, -1, 240, 37, -1, -1, -1, -1, 3,
2628 4, 5, 6, 46, -1, 9, 949, -1, -1, -1,
2629 1370, 1371, -1, -1, 395, -1, -1, -1, 61, 77,
2630 78, 79, 80, 81, 82, 83, 84, 85, -1, 1389,
2631 1390, 278, 279, -1, -1, -1, -1, -1, 42, 500,
2632 -1, -1, 503, 498, 48, -1, -1, -1, 991, -1,
2633 -1, 55, 773, 57, 58, 981, 982, -1, 519, 520,
2634 -1, 328, 329, 330, -1, -1, -1, 71, -1, -1,
2635 -1, -1, 533, -1, -1, 322, -1, 81, -1, 326,
2636 -1, 328, 329, 330, 1010, 89, 467, 91, -1, -1,
2637 94, 95, 339, -1, -1, -1, -1, 1040, 1041, -1,
2638 -1, 1044, -1, -1, -1, -1, -1, 562, 355, 564,
2639 565, -1, 833, 494, 3, 4, 5, 6, -1, -1,
2640 1063, -1, -1, -1, -1, -1, 847, -1, 849, -1,
2641 851, 592, 379, -1, -1, -1, -1, -1, 385, -1,
2642 -1, 388, 389, -1, 599, -1, -1, -1, -1, -1,
2643 -1, -1, 399, 42, -1, 402, -1, -1, -1, 48,
2644 407, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2645 -1, -1, -1, 894, -1, 1118, -1, 1120, -1, 1122,
2646 -1, -1, 71, -1, -1, -1, -1, 1130, -1, 436,
2647 -1, 438, 81, 440, 441, 442, 1139, 1140, 579, 446,
2648 89, 1144, 91, -1, 451, 94, 95, 454, -1, -1,
2649 931, -1, -1, -1, 595, -1, 1159, 1160, -1, -1,
2650 -1, -1, -1, 470, -1, -1, -1, -1, 949, -1,
2651 -1, -1, -1, -1, -1, 1161, 1162, -1, 1164, 1165,
2652 -1, 1167, 1185, -1, 1, -1, 3, 4, 5, 6,
2653 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2654 -1, 508, 509, 510, 511, -1, -1, -1, -1, -1,
2655 -1, 1214, 29, -1, 31, 32, 33, -1, -1, -1,
2656 37, 38, -1, -1, -1, 42, -1, -1, -1, 46,
2657 47, -1, 49, -1, -1, 1238, -1, -1, 55, -1,
2658 57, 58, -1, -1, 61, -1, 63, -1, -1, -1,
2659 -1, -1, 773, -1, 71, 582, 583, -1, 585, 566,
2660 -1, 568, -1, -1, 81, 592, 1252, 1253, -1, -1,
2661 1273, -1, 89, 580, -1, 582, 583, 94, 585, -1,
2662 -1, -1, -1, -1, -1, 592, 1289, -1, -1, 596,
2663 -1, -1, -1, -1, 111, -1, -1, 1283, 1284, -1,
2664 -1, -1, -1, 610, -1, -1, -1, -1, 1311, 3,
2665 4, 5, 6, -1, -1, 9, -1, -1, 833, -1,
2666 -1, -1, 649, -1, 651, 652, 1, 654, 3, 4,
2667 5, 6, 847, 8, 849, -1, 851, 1118, -1, 1120,
2668 -1, 1122, 649, 650, 651, 652, 653, 654, 42, 870,
2669 871, -1, -1, -1, -1, 1358, -1, -1, -1, -1,
2670 -1, 55, -1, 57, 58, 692, -1, 42, -1, -1,
2671 -1, -1, 1375, 1376, 49, -1, -1, 71, -1, 894,
2672 55, 1384, 57, 58, -1, 692, -1, 81, 909, 696,
2673 -1, 1377, 1378, 1379, -1, 89, 703, 704, -1, 706,
2674 94, -1, -1, -1, -1, -1, -1, -1, 1411, -1,
2675 -1, -1, -1, -1, 89, -1, 931, -1, 106, 107,
2676 -1, -1, -1, -1, -1, -1, -1, 734, 949, -1,
2677 737, -1, 739, 1214, 875, -1, 877, 744, 745, 746,
2678 -1, -1, -1, 1429, 1430, -1, -1, 754, -1, -1,
2679 -1, -1, 779, 760, -1, 3, 4, 5, 6, -1,
2680 767, 768, 769, -1, -1, -1, -1, -1, -1, -1,
2681 -1, -1, 779, 914, -1, -1, -1, -1, 4, 5,
2682 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2683 -1, -1, -1, -1, 42, -1, -1, 3, 4, 5,
2684 6, -1, -1, 29, -1, 31, 32, 55, 1494, 57,
2685 58, 37, -1, 61, -1, -1, -1, -1, -1, -1,
2686 46, -1, 829, 71, -1, 852, -1, 854, 1531, 55,
2687 -1, 57, 58, 81, -1, -1, 42, -1, 865, -1,
2688 -1, 89, 869, 870, 871, 852, 94, 854, -1, 55,
2689 -1, 57, 58, -1, 861, -1, -1, 63, 865, 1000,
2690 867, -1, 869, 870, 871, 71, -1, -1, -1, 876,
2691 -1, -1, 98, -1, -1, 81, -1, 1358, -1, -1,
2692 907, 908, 909, 89, 1105, 1106, 4, 5, 94, -1,
2693 -1, 9, -1, -1, -1, -1, 903, -1, 905, 4,
2694 907, 908, 909, 1118, -1, 1120, -1, 1122, -1, 14,
2695 -1, -1, 1133, 1134, -1, -1, -1, -1, -1, 24,
2696 25, 309, 949, -1, -1, -1, 31, 32, -1, 34,
2697 48, 36, -1, -1, -1, -1, 41, 55, -1, 57,
2698 58, 1082, 949, -1, -1, -1, -1, -1, -1, 54,
2699 -1, 56, -1, 71, -1, -1, 963, -1, -1, 64,
2700 -1, -1, -1, 81, -1, -1, 71, 1108, -1, 976,
2701 -1, -1, 979, 91, -1, -1, 94, 95, 83, -1,
2702 -1, 988, 3, 4, 5, 6, -1, -1, -1, -1,
2703 -1, -1, -1, -1, 1001, -1, -1, 385, -1, 1214,
2704 -1, -1, -1, -1, 1011, -1, -1, -1, 3, 4,
2705 5, 6, -1, -1, 1021, -1, 1023, -1, -1, -1,
2706 -1, 42, -1, 128, -1, 1166, -1, -1, 49, -1,
2707 135, 328, 329, 330, 139, -1, 57, 58, 143, -1,
2708 -1, 146, 147, 148, -1, -1, 434, 42, 1055, 1056,
2709 -1, 1058, -1, -1, 49, 160, -1, -1, -1, -1,
2710 4, 5, 57, 58, 8, 9, -1, -1, 89, -1,
2711 14, -1, 177, 178, 179, 1102, 1103, 1104, 1105, 1106,
2712 -1, -1, -1, 1110, -1, 29, 81, 31, -1, -1,
2713 -1, -1, -1, 37, 89, 1102, 1103, 1104, 1105, 1106,
2714 -1, 206, 46, 1110, -1, 1132, 1133, 1134, -1, -1,
2715 -1, 55, 500, 57, 58, 503, -1, -1, -1, 507,
2716 508, 509, 510, 511, -1, 1132, 1133, 1134, 3, 4,
2717 5, 6, 520, -1, 9, 240, -1, 1358, -1, -1,
2718 3, 4, 5, 6, -1, 533, 9, -1, -1, -1,
2719 94, -1, -1, -1, -1, -1, 1163, -1, -1, -1,
2720 -1, 1168, -1, 1170, -1, -1, -1, 42, -1, -1,
2721 -1, -1, -1, 278, 279, -1, -1, 565, -1, 42,
2722 55, -1, 57, 58, -1, 48, -1, -1, -1, -1,
2723 1217, 1218, 55, 1220, 57, 58, 71, 585, -1, -1,
2724 -1, 1422, 1423, -1, 592, -1, 81, -1, 71, -1,
2725 1217, 1218, -1, 1220, 89, -1, -1, 322, 81, 94,
2726 -1, 326, -1, 328, 329, 330, 89, -1, 91, -1,
2727 335, 94, 95, -1, 339, 3, 4, 5, 6, -1,
2728 -1, 9, -1, -1, 1251, 1252, 1253, -1, -1, -1,
2729 355, -1, 3, 4, 5, 6, -1, -1, -1, -1,
2730 -1, -1, -1, 1270, -1, -1, -1, -1, -1, -1,
2731 -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
2732 385, -1, 4, 388, 389, 582, 583, 55, -1, 57,
2733 58, 42, -1, -1, 399, -1, -1, 402, 49, -1,
2734 -1, -1, 407, 71, -1, -1, 57, 58, 696, 31,
2735 32, -1, -1, 81, 36, -1, -1, -1, -1, 41,
2736 -1, 89, 3, 4, 5, 6, 94, -1, -1, -1,
2737 81, 436, -1, 438, 56, 440, 441, 442, 89, -1,
2738 -1, 446, 3, 4, 5, 6, 451, -1, 9, 454,
2739 -1, 1358, 649, -1, 651, 652, -1, 654, -1, -1,
2740 -1, 42, -1, -1, 469, 470, 754, -1, 49, -1,
2741 -1, -1, 760, -1, -1, -1, 57, 58, -1, -1,
2742 -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
2743 -1, -1, -1, -1, 55, 692, 57, 58, -1, -1,
2744 81, -1, -1, 508, 509, 510, 511, -1, 89, -1,
2745 71, -1, -1, 135, 1421, 1422, 1423, 139, -1, -1,
2746 81, 143, -1, -1, -1, -1, -1, -1, 89, -1,
2747 91, -1, 1439, 94, 95, -1, -1, 1444, 160, -1,
2748 1, 829, 3, 4, 5, 6, 7, 8, 9, -1,
2749 -1, -1, -1, 14, -1, 177, 178, -1, -1, -1,
2750 -1, 566, -1, 568, -1, -1, 27, 28, 29, -1,
2751 31, 32, 33, 861, -1, -1, 37, 582, 583, 867,
2752 585, 42, 779, 871, 45, 46, 47, 592, 49, -1,
2753 -1, -1, -1, -1, 55, -1, 57, 58, -1, 604,
2754 61, -1, -1, -1, -1, 610, -1, -1, -1, -1,
2755 71, 3, 4, 5, 6, 903, -1, 905, 240, -1,
2756 81, 909, -1, -1, -1, -1, -1, -1, 89, -1,
2757 -1, -1, -1, 94, -1, -1, 641, -1, -1, 100,
2758 -1, -1, -1, -1, 649, 650, 651, 652, 653, 654,
2759 42, -1, -1, -1, -1, 852, -1, 854, -1, -1,
2760 -1, 949, -1, 55, -1, 57, 58, 672, 865, -1,
2761 -1, 63, 869, 870, -1, 963, -1, -1, -1, 71,
2762 -1, 969, -1, -1, -1, -1, -1, 692, 976, 81,
2763 -1, 696, -1, -1, -1, -1, -1, 89, 703, 704,
2764 988, 706, 94, -1, -1, -1, -1, -1, -1, -1,
2765 907, 908, -1, -1, -1, -1, -1, 339, 3, 4,
2766 5, 6, -1, -1, 9, -1, -1, -1, -1, 734,
2767 -1, -1, 737, 1021, 739, 1023, -1, -1, -1, 744,
2768 745, 746, -1, -1, -1, -1, -1, -1, -1, 754,
2769 -1, -1, -1, -1, -1, 760, -1, 42, -1, -1,
2770 -1, -1, 767, 768, 769, -1, -1, -1, -1, -1,
2771 55, -1, 57, 58, 779, -1, -1, 399, -1, -1,
2772 402, -1, -1, -1, -1, 407, 71, -1, -1, 3,
2773 4, 5, 6, -1, -1, 9, 81, -1, 177, 178,
2774 179, -1, -1, 4, 89, -1, -1, -1, -1, 94,
2775 -1, -1, -1, -1, 436, -1, 438, -1, 1106, -1,
2776 -1, -1, -1, -1, 829, -1, -1, -1, 42, 451,
2777 31, 32, -1, 34, 48, 36, -1, -1, -1, -1,
2778 41, 55, -1, 57, 58, -1, 1134, 852, 470, 854,
2779 -1, -1, -1, 54, -1, 56, 861, 71, -1, -1,
2780 865, -1, 867, -1, 869, 870, 871, 81, -1, -1,
2781 -1, 876, -1, -1, -1, 89, -1, 91, 79, -1,
2782 94, 95, 70, 71, 72, 73, 74, 75, 76, 77,
2783 78, 79, 80, 81, 82, 83, 84, 85, 903, -1,
2784 905, -1, 907, 908, 909, 1102, 1103, 1104, 1105, -1,
2785 -1, -1, -1, 1110, 73, 74, 75, 76, 77, 78,
2786 79, 80, 81, 82, 83, 84, 85, 128, -1, -1,
2787 -1, 132, 133, -1, 135, 1132, 1133, -1, 139, -1,
2788 141, -1, 143, -1, 949, 146, 147, 148, -1, -1,
2789 -1, -1, -1, -1, -1, -1, -1, -1, 963, 160,
2790 -1, -1, -1, -1, -1, -1, -1, -1, -1, 974,
2791 -1, 976, -1, -1, 979, -1, 177, 178, 179, -1,
2792 -1, -1, 1270, 988, -1, -1, 187, -1, -1, 4,
2793 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2794 -1, -1, -1, -1, -1, 206, 1011, -1, -1, -1,
2795 -1, -1, -1, -1, -1, -1, 1021, -1, 1023, -1,
2796 1217, 1218, 37, 1220, -1, -1, -1, -1, 650, -1,
2797 -1, 46, -1, 48, -1, -1, -1, -1, -1, 240,
2798 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2799 1055, 1056, -1, 1058, -1, -1, 71, 436, -1, 438,
2800 -1, 440, 441, 442, -1, -1, 81, -1, -1, -1,
2801 -1, -1, 451, -1, 696, -1, 91, -1, -1, 94,
2802 95, 703, 704, -1, 706, 74, 75, 76, 77, 78,
2803 79, 80, 81, 82, 83, 84, 85, 1102, 1103, 1104,
2804 1105, 1106, -1, -1, -1, 1110, -1, -1, 309, -1,
2805 -1, 1116, -1, -1, -1, 737, -1, 739, -1, -1,
2806 -1, -1, 744, 745, 746, 326, -1, 1132, 1133, 1134,
2807 -1, -1, -1, 334, -1, 1423, -1, -1, 339, -1,
2808 -1, -1, -1, 1148, -1, -1, -1, -1, -1, -1,
2809 -1, 1439, -1, -1, 355, -1, -1, -1, 1163, -1,
2810 -1, -1, -1, 1168, -1, 1170, 3, 4, 5, 6,
2811 7, 8, 9, -1, -1, 12, -1, 14, 379, -1,
2812 -1, -1, -1, -1, -1, -1, -1, 388, -1, -1,
2813 -1, -1, 29, -1, 31, 32, -1, -1, 399, -1,
2814 37, 402, -1, -1, -1, 42, 407, -1, -1, 46,
2815 -1, 48, 1217, 1218, -1, 1220, -1, -1, 55, -1,
2816 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2817 -1, -1, -1, -1, 71, 436, -1, 438, -1, 440,
2818 441, 442, -1, -1, 81, 446, 1251, 1252, 1253, -1,
2819 451, 4, 89, 454, 91, -1, -1, 94, 95, -1,
2820 -1, 98, -1, -1, -1, 1270, -1, -1, -1, 470,
2821 -1, -1, -1, -1, -1, -1, -1, -1, 31, 32,
2822 -1, 34, -1, 36, -1, 907, 908, -1, 41, -1,
2823 3, 4, 5, 6, -1, -1, 9, -1, -1, 500,
2824 -1, 54, 503, 56, -1, -1, -1, -1, -1, -1,
2825 4, 5, -1, -1, 8, 9, -1, 518, 519, 520,
2826 14, -1, -1, -1, 703, 704, -1, 706, -1, 42,
2827 -1, -1, 533, -1, -1, 29, -1, 31, -1, -1,
2828 -1, -1, 55, 37, 57, 58, -1, -1, 81, -1,
2829 -1, -1, 46, 1358, 48, -1, -1, 979, 71, -1,
2830 -1, 55, -1, 57, 58, 744, -1, -1, 81, 4,
2831 5, -1, -1, 8, 9, -1, 89, 71, 579, 14,
2832 -1, 94, 135, -1, -1, -1, 139, 81, -1, 1011,
2833 143, 592, -1, 146, 147, 148, -1, 91, -1, -1,
2834 94, 95, 37, -1, -1, -1, -1, 160, -1, 610,
2835 -1, 46, -1, 48, -1, -1, 1421, 1422, 1423, -1,
2836 55, 154, 57, 58, 177, 178, 179, -1, -1, -1,
2837 -1, -1, -1, -1, 1439, -1, 71, -1, -1, 1444,
2838 -1, -1, 175, -1, -1, -1, 81, -1, 649, 650,
2839 651, 652, -1, 206, -1, 188, 91, 4, 5, 94,
2840 95, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2842 1102, 1103, 29, -1, 31, -1, -1, 240, 1110, -1,
2843 37, 692, -1, -1, -1, 696, -1, -1, -1, 46,
2844 -1, -1, 703, 704, -1, 706, -1, -1, 55, -1,
2845 57, 58, -1, -1, -1, -1, -1, -1, -1, 1,
2846 -1, 3, 4, 5, 6, 7, 8, 9, 907, 908,
2847 909, -1, 14, -1, -1, -1, 737, -1, 739, -1,
2848 -1, 1163, -1, 744, 745, 746, 1168, 29, 1170, 31,
2849 32, 33, -1, -1, -1, 37, 38, -1, -1, -1,
2850 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
2851 949, -1, 773, 55, -1, 57, 58, -1, -1, 61,
2852 -1, 63, 335, -1, -1, -1, 339, -1, -1, 71,
2853 -1, -1, -1, -1, -1, 1217, 1218, -1, 1220, 81,
2854 979, -1, -1, -1, -1, -1, -1, 89, 3, 4,
2855 5, 6, 94, -1, 9, 72, 73, 74, 75, 76,
2856 77, 78, 79, 80, 81, 82, 83, 84, 85, 111,
2857 1252, -1, -1, -1, -1, 388, -1, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, 399, 42, -1, 402,
2859 -1, -1, -1, -1, 407, -1, -1, -1, -1, -1,
2860 55, -1, 57, 58, -1, -1, -1, -1, 869, 870,
2861 871, -1, -1, -1, 875, -1, 71, -1, -1, -1,
2862 -1, -1, -1, 436, -1, 438, 81, 440, 441, 442,
2863 -1, -1, -1, 446, 89, -1, -1, -1, 451, 94,
2864 -1, 454, 34, -1, -1, -1, 907, 908, 909, -1,
2865 -1, 444, -1, 914, -1, -1, 449, 470, -1, -1,
2866 -1, -1, 54, 1102, 1103, 1104, 1105, 1106, -1, -1,
2867 -1, 1110, -1, -1, 3, 4, 5, 6, 7, 8,
2868 9, 474, -1, -1, -1, 14, -1, 480, 949, -1,
2869 -1, -1, -1, 1132, 1133, 1134, -1, -1, -1, 492,
2870 493, -1, 495, 32, -1, -1, -1, -1, 37, -1,
2871 -1, -1, -1, 42, -1, -1, -1, 46, 979, 48,
2872 3, 4, 5, 6, 1163, -1, 55, -1, 57, 58,
2873 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1000,
2874 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2875 1011, -1, 81, -1, 146, 147, 148, -1, -1, 42,
2876 89, -1, 91, -1, -1, 94, 95, 580, -1, -1,
2877 -1, -1, 55, -1, 57, 58, -1, -1, 1217, 1218,
2878 63, 1220, -1, -1, -1, 177, 178, 179, 71, -1,
2879 -1, -1, -1, -1, -1, 588, 589, 610, 81, -1,
2880 593, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2881 -1, 94, -1, -1, 206, -1, -1, -1, -1, -1,
2882 -1, 1082, -1, -1, -1, -1, 3, 4, 5, 6,
2883 -1, -1, 9, -1, -1, -1, 649, 650, 651, 652,
2884 -1, 1102, 1103, 1104, 1105, 1106, -1, 1108, -1, 1110,
2885 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2886 -1, 3, 4, 5, 6, 42, -1, 9, -1, -1,
2887 -1, 1132, 1133, 1134, -1, -1, -1, -1, 55, 692,
2888 57, 58, -1, 696, -1, -1, -1, 279, -1, -1,
2889 703, 704, -1, 706, 71, -1, -1, -1, -1, -1,
2890 42, -1, 1163, -1, 81, -1, -1, 1168, -1, 1170,
2891 -1, -1, 89, 55, -1, 57, 58, 94, -1, 1358,
2892 -1, -1, 4, 5, 737, -1, 739, 9, -1, 71,
2893 -1, 744, 745, 746, -1, -1, 328, 329, 330, 81,
2894 -1, -1, -1, -1, -1, -1, 54, 89, 3, 4,
2895 5, 6, 94, -1, -1, -1, 1217, 1218, -1, 1220,
2896 -1, -1, -1, -1, -1, -1, 48, -1, 761, -1,
2897 763, 79, -1, 55, 82, 57, 58, -1, -1, -1,
2898 -1, -1, 1421, 1422, 1423, -1, -1, 42, -1, 71,
2899 1251, 1252, 1253, -1, -1, 103, 388, 105, -1, 81,
2900 55, -1, 57, 58, -1, -1, 61, -1, -1, 91,
2901 -1, -1, 94, 95, -1, -1, 71, -1, -1, -1,
2902 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
2903 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2904 -1, -1, 835, 836, 436, 838, 438, -1, 440, 441,
2905 442, -1, -1, -1, 446, -1, -1, -1, -1, 451,
2906 -1, -1, 454, 876, -1, -1, -1, -1, -1, 177,
2907 178, 179, -1, 866, -1, -1, -1, -1, -1, 187,
2908 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
2909 14, -1, -1, -1, 907, 908, 909, 1358, 206, -1,
2910 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2911 -1, -1, -1, 37, -1, -1, -1, -1, 911, -1,
2912 -1, 229, 46, -1, 48, -1, -1, -1, -1, -1,
2913 -1, 55, -1, 57, 58, 243, 949, -1, -1, -1,
2914 42, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2915 -1, -1, -1, 55, -1, 57, 58, 81, -1, -1,
2916 1421, 1422, 1423, -1, -1, -1, 979, 91, -1, 71,
2917 94, 95, -1, -1, 98, -1, 568, -1, -1, 81,
2918 -1, -1, 975, 1444, -1, -1, -1, 89, -1, -1,
2919 582, 583, 94, 585, 987, -1, -1, -1, 1011, -1,
2920 592, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2921 4, 5, -1, 7, 8, 9, -1, -1, 610, -1,
2922 14, -1, -1, -1, -1, -1, 334, 335, -1, -1,
2923 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2924 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2925 -1, -1, 46, -1, -1, 49, -1, 649, -1, 651,
2926 652, 55, 654, 57, 58, -1, -1, -1, -1, -1,
2927 42, -1, -1, -1, -1, -1, -1, -1, 1071, -1,
2928 388, -1, -1, 55, -1, 57, 58, -1, -1, 1102,
2929 1103, 1104, 1105, 1106, -1, -1, -1, 1110, -1, 71,
2930 692, -1, -1, -1, -1, -1, -1, -1, -1, 81,
2931 -1, 703, 704, -1, 706, -1, 1109, 89, -1, 1132,
2932 1133, 1134, 94, -1, -1, -1, -1, -1, 436, -1,
2933 438, -1, 440, 441, 442, -1, -1, -1, 446, -1,
2934 -1, -1, -1, 451, -1, -1, 454, -1, -1, -1,
2935 1163, -1, 744, -1, -1, 1168, -1, 1170, -1, -1,
2936 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2937 6, 7, 8, 9, -1, 767, 768, 769, 14, 1172,
2938 -1, -1, -1, 1176, -1, -1, -1, 779, -1, -1,
2939 -1, -1, -1, 29, -1, 31, 32, 33, -1, -1,
2940 -1, 37, 38, -1, 1217, 1218, 42, 1220, -1, -1,
2941 46, 47, -1, 49, -1, -1, 1209, -1, -1, 55,
2942 -1, 57, 58, -1, -1, 61, -1, 63, 3, 4,
2943 5, 6, -1, -1, -1, 71, -1, -1, 1251, 1252,
2944 1253, -1, -1, -1, -1, 81, -1, -1, -1, -1,
2945 -1, -1, -1, 89, -1, -1, -1, -1, 94, -1,
2946 852, -1, 854, -1, -1, -1, -1, 42, -1, -1,
2947 -1, -1, -1, 865, -1, 111, -1, 869, 870, 871,
2948 55, -1, 57, 58, -1, 1278, -1, 595, 596, 1282,
2949 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2950 4, 5, 610, 7, 8, 9, 81, -1, 12, -1,
2951 14, 1304, 1305, -1, 89, 907, 908, 909, -1, 94,
2952 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
2953 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2954 -1, 649, 46, 651, 652, 1358, -1, -1, -1, -1,
2955 -1, 55, -1, 57, 58, -1, -1, 949, -1, -1,
2956 3, 4, 5, 6, 7, 8, 9, -1, 14, -1,
2957 -1, 14, -1, -1, -1, -1, -1, -1, 24, 25,
2958 -1, -1, -1, -1, 692, 31, 32, 979, 34, 32,
2959 -1, -1, -1, -1, 37, 703, 704, -1, 706, 42,
2960 -1, -1, -1, 46, -1, 48, -1, -1, 1421, 1422,
2961 1423, -1, 55, -1, 57, 58, 4, 5, 64, 7,
2962 8, 9, -1, 731, -1, -1, 14, -1, 71, -1,
2963 -1, 1444, -1, -1, -1, -1, 744, -1, 81, -1,
2964 -1, 29, -1, 31, 32, -1, 89, -1, 91, 37,
2965 -1, 94, 95, -1, -1, -1, -1, -1, 46, -1,
2966 -1, -1, -1, 1055, 1056, -1, 1058, 55, -1, 57,
2967 58, -1, -1, -1, -1, -1, -1, 123, -1, 125,
2968 -1, -1, 128, -1, -1, -1, 132, 133, -1, -1,
2969 -1, -1, -1, 139, -1, 141, 142, 143, -1, -1,
2970 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
2971 1102, 1103, 1104, 1105, 1106, -1, -1, -1, 1110, 68,
2972 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2973 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
2974 1132, 1133, 1134, -1, -1, -1, -1, -1, -1, -1,
2975 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
2976 4, 5, 6, 7, 8, 9, -1, 875, 876, 877,
2977 14, 1163, -1, -1, 220, 221, -1, -1, -1, -1,
2978 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2979 -1, -1, -1, 37, 240, -1, -1, -1, 42, 907,
2980 908, 909, 46, 47, -1, 49, 914, -1, -1, -1,
2981 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2982 -1, -1, -1, -1, -1, 1217, 1218, 71, 1220, -1,
2983 -1, -1, -1, 279, -1, -1, -1, 81, -1, -1,
2984 -1, 949, -1, -1, -1, 89, -1, -1, -1, 1,
2985 94, -1, 4, 5, -1, -1, 8, 9, -1, 1251,
2986 -1, 1253, 14, -1, -1, -1, -1, -1, -1, -1,
2987 -1, 979, -1, -1, -1, -1, -1, 29, -1, 31,
2988 326, -1, 328, 329, -1, 37, -1, 39, 40, -1,
2989 -1, -1, 1000, -1, 46, -1, 48, -1, -1, -1,
2990 -1, -1, -1, 55, -1, 57, 58, -1, 60, 355,
2991 -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
2992 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2993 82, 83, 84, 379, -1, 87, 88, 89, -1, -1,
2994 92, -1, -1, 95, -1, -1, -1, -1, -1, 395,
2995 -1, -1, -1, 399, -1, -1, 402, -1, -1, -1,
2996 112, 407, -1, -1, -1, -1, 1358, -1, -1, -1,
2997 -1, -1, -1, -1, 1082, 69, 70, 71, 72, 73,
2998 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2999 84, 85, -1, -1, 1102, 1103, 1104, 1105, 1106, -1,
3000 1108, -1, 1110, 71, 72, 73, 74, 75, 76, 77,
3001 78, 79, 80, 81, 82, 83, 84, 85, -1, -1,
3002 -1, 467, -1, 469, 1132, 1133, 1134, -1, -1, 1421,
3003 1422, 1423, -1, -1, -1, -1, -1, -1, 3, 4,
3004 5, 6, 7, 8, 9, -1, -1, 12, 494, 14,
3005 -1, -1, 1444, -1, -1, 1163, -1, -1, -1, -1,
3006 -1, -1, -1, -1, 29, -1, 31, 32, -1, -1,
3007 -1, -1, 37, -1, -1, -1, -1, 42, -1, -1,
3008 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3009 55, -1, 57, 58, 1, -1, 3, 4, 5, 6,
3010 7, 8, 9, -1, -1, 12, 71, 14, -1, 1217,
3011 1218, -1, 1220, -1, -1, -1, 81, -1, 25, -1,
3012 27, 28, 568, -1, 89, 32, -1, -1, -1, 94,
3013 37, -1, -1, 579, 580, 42, 582, 583, -1, 46,
3014 -1, 48, -1, 1251, -1, 1253, -1, -1, 55, -1,
3015 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
3016 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3017 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3018 87, 88, 89, -1, 91, 92, 93, 94, 95, 96,
3019 -1, 98, 99, -1, -1, 641, -1, 104, -1, -1,
3020 -1, -1, 109, 110, 111, -1, 113, 653, -1, -1,
3021 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3022 4, 5, -1, 14, 8, 9, 672, -1, -1, -1,
3023 14, -1, -1, -1, -1, -1, 27, 28, 29, -1,
3024 31, 32, 33, -1, -1, 29, 37, 31, -1, -1,
3025 1358, 42, -1, 37, 45, 46, 47, -1, 49, -1,
3026 -1, -1, 46, -1, 55, -1, 57, 58, -1, -1,
3027 61, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3028 71, -1, -1, -1, -1, 731, -1, -1, 734, -1,
3029 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3030 -1, -1, -1, 94, -1, -1, -1, -1, -1, 100,
3031 -1, -1, -1, 1421, 1422, 1423, -1, -1, -1, -1,
3032 -1, 767, 768, 769, -1, -1, -1, -1, -1, -1,
3033 -1, -1, -1, 779, -1, 1, 1444, 3, 4, 5,
3034 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3035 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3036 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3037 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3038 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3039 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3040 -1, -1, 68, -1, -1, 71, 852, -1, 854, -1,
3041 -1, -1, -1, 79, 80, 81, -1, -1, -1, 865,
3042 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3043 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3044 -1, -1, -1, -1, -1, 111, 112, 1, -1, 3,
3045 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3046 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3047 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3048 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3049 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3050 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3051 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3052 -1, -1, -1, -1, -1, 79, 80, 81, 974, -1,
3053 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3054 94, 1, 96, 3, 4, 5, 6, 7, 8, 9,
3055 10, 11, 12, 13, 14, 1001, -1, -1, 112, -1,
3056 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3057 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3058 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3059 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3060 -1, -1, 62, -1, -1, -1, -1, -1, 68, 1055,
3061 1056, 71, 1058, -1, -1, -1, -1, -1, -1, 79,
3062 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3063 -1, 91, -1, -1, 94, 95, -1, 1, 98, 3,
3064 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3065 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3066 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3067 1116, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3068 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3069 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3070 -1, -1, 1148, -1, 68, -1, -1, 71, -1, -1,
3071 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3072 1166, -1, 1168, 87, 88, 89, -1, 91, -1, -1,
3073 94, 95, -1, 1, 98, 3, 4, 5, 6, 7,
3074 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3076 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3077 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3078 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3079 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3080 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3081 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3082 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3083 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3084 -1, -1, 110, 1, 112, 3, 4, 5, 6, 7,
3085 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3087 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3088 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3089 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3090 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3091 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3092 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3093 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3094 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3095 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3096 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3097 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3098 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3099 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3100 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3101 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3102 -1, 87, 88, 89, -1, -1, -1, -1, 94, 95,
3103 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3104 11, -1, 13, 14, -1, 111, 112, -1, -1, -1,
3105 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3106 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3107 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3108 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3109 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3110 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3111 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3112 -1, -1, -1, 94, 95, 1, -1, 3, 4, 5,
3113 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3114 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3115 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3116 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3117 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3118 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3119 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3120 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3121 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3122 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3123 14, -1, -1, -1, -1, 111, 112, -1, -1, -1,
3124 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3125 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3126 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3127 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3128 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3129 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3130 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3131 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3132 -1, 13, 14, -1, -1, -1, -1, 111, 112, -1,
3133 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3134 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3135 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3136 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3137 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3138 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3139 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3140 -1, -1, 94, -1, -1, 1, -1, 3, 4, 5,
3141 6, 103, 8, 9, 10, 11, -1, 13, 14, -1,
3142 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3143 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3144 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3145 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3146 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3147 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3148 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3149 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3150 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3151 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3152 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3153 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3154 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3155 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3156 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3157 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3158 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3159 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3160 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3161 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3162 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3163 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3164 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3165 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
3166 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3167 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3168 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3169 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3170 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3171 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3172 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3173 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3174 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3175 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3176 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3177 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3178 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3179 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3180 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3181 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3182 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3183 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3184 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3185 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3186 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3187 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3188 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3189 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3190 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3191 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3192 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3193 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3194 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3195 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3196 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3197 14, -1, -1, -1, 110, -1, 112, -1, -1, -1,
3198 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3199 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3200 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3201 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3202 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3203 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3204 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3205 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3206 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3207 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3208 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3209 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3210 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3211 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3212 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3213 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3214 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3215 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3216 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3217 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3218 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3219 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3220 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3221 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3222 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3223 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3224 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3225 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3226 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3227 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3228 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3229 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3230 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3231 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3232 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
3233 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3234 113, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3235 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3236 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3237 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3238 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3239 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3240 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3241 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3242 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3243 -1, -1, 94, -1, 96, -1, -1, -1, -1, -1,
3244 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3245 112, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3246 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3247 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3248 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3249 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3250 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3251 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3252 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3253 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3254 -1, -1, 94, -1, 96, -1, -1, 3, 4, 5,
3255 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3256 112, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3257 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3258 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3259 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3260 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3261 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3262 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3263 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3264 96, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3265 10, 11, -1, 13, 14, 15, 112, 17, 18, 19,
3266 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3267 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3268 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3269 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3270 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3271 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3272 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3273 -1, -1, -1, -1, 94, -1, 96, 3, 4, 5,
3274 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3275 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3276 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3277 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3278 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3279 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3280 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3281 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3282 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3283 -1, -1, 98, 3, 4, 5, 6, 7, 8, 9,
3284 10, 11, 12, 13, 14, -1, 112, -1, -1, -1,
3285 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3286 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3287 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3288 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3289 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3290 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3291 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3292 -1, 91, -1, -1, 94, 95, -1, -1, 98, 3,
3293 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3294 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3295 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3296 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3297 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3298 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3299 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3300 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3301 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3302 94, 95, 3, 4, 5, 6, -1, 8, 9, 10,
3303 11, -1, 13, 14, -1, -1, -1, -1, 112, -1,
3304 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3305 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3306 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3307 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3308 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3309 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3310 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3311 91, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3312 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3313 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3314 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3315 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3316 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3317 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3318 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3319 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3320 88, 89, -1, -1, -1, -1, 94, 3, 4, 5,
3321 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3322 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3323 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3324 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3325 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3326 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3327 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3328 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3329 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3330 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3331 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3332 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3333 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3334 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3335 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3336 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3337 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3338 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3339 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3340 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3341 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3342 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3343 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3344 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3345 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3346 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3347 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3348 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3349 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3350 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3351 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3352 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
3353 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3354 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3355 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3356 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3357 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3358 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3359 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3360 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3361 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3362 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3363 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3364 88, 89, -1, -1, -1, -1, 94, 95, 3, 4,
3365 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3366 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3367 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3368 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3369 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3370 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3371 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3372 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3373 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3374 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3375 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3376 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3377 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3378 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3379 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3380 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3381 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3382 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3383 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3384 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3385 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3386 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3387 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3388 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3389 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3390 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3391 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3392 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3393 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3394 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3395 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3396 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3397 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3398 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3399 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3400 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3401 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3402 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3403 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3404 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3405 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3406 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3407 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3408 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3409 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3410 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3411 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3412 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3413 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3414 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3415 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3416 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3417 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3418 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3419 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3420 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3421 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3422 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3423 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3424 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3425 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3426 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3427 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3428 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3429 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3430 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3431 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3432 -1, -1, 68, -1, 1, 71, 3, 4, 5, 6,
3433 7, 8, 9, 79, 80, 81, -1, 14, -1, -1,
3434 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3435 -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
3436 37, -1, -1, -1, -1, 42, 112, -1, -1, 46,
3437 -1, -1, 49, -1, -1, -1, -1, -1, 55, -1,
3438 57, 58, -1, -1, 61, 3, 4, 5, 6, 7,
3439 8, 9, -1, -1, 71, -1, 14, -1, -1, -1,
3440 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3441 -1, 29, 89, 31, 32, -1, -1, 94, -1, 37,
3442 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3443 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3444 58, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3445 -1, -1, 14, 71, -1, -1, -1, -1, -1, -1,
3446 -1, -1, -1, 81, -1, -1, -1, 29, -1, 31,
3447 32, 89, -1, 91, -1, 37, 94, 95, -1, -1,
3448 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3449 7, 8, 9, 55, -1, 57, 58, 14, -1, 61,
3450 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3451 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3452 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3453 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3454 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3455 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3456 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3457 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3458 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3459 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3460 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3461 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3462 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3463 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3464 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3465 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3466 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3467 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3468 -1, -1, 37, 94, -1, -1, -1, 42, -1, -1,
3469 -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
3470 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
3471 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3472 -1, -1, 32, -1, -1, -1, 81, 37, -1, -1,
3473 -1, -1, 42, -1, 89, 12, 46, -1, 48, 94,
3474 -1, -1, -1, -1, -1, 55, -1, 57, 58, 64,
3475 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3476 75, 71, 77, 78, 79, 80, 81, 82, 83, 84,
3477 85, 81, -1, -1, -1, -1, -1, 32, -1, 89,
3478 -1, -1, -1, -1, 94, -1, 63, 64, 65, 66,
3479 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3480 77, 78, 79, 80, 81, 82, 83, 84, 85, 64,
3481 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3482 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3483 85, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3484 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3485 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3486 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3487 81, 82, 83, 84, 85, -1, -1, -1, -1, -1,
3488 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3489 -1, -1, -1, -1, -1, 60, -1, -1, 109, 64,
3490 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3491 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3492 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3493 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3494 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
3495 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3496 80, 81, 82, 83, 84, 85
3497 };
3498 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3499 #line 3 "/usr/lib/bison.simple"
3500
3501 /* Skeleton output parser for bison,
3502 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3503
3504 This program is free software; you can redistribute it and/or modify
3505 it under the terms of the GNU General Public License as published by
3506 the Free Software Foundation; either version 2, or (at your option)
3507 any later version.
3508
3509 This program is distributed in the hope that it will be useful,
3510 but WITHOUT ANY WARRANTY; without even the implied warranty of
3511 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3512 GNU General Public License for more details.
3513
3514 You should have received a copy of the GNU General Public License
3515 along with this program; if not, write to the Free Software
3516 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3517
3518 /* As a special exception, when this file is copied by Bison into a
3519 Bison output file, you may use that output file without restriction.
3520 This special exception was added by the Free Software Foundation
3521 in version 1.24 of Bison. */
3522
3523 #ifndef alloca
3524 #ifdef __GNUC__
3525 #define alloca __builtin_alloca
3526 #else /* not GNU C. */
3527 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3528 #include <alloca.h>
3529 #else /* not sparc */
3530 #if defined (MSDOS) && !defined (__TURBOC__)
3531 #include <malloc.h>
3532 #else /* not MSDOS, or __TURBOC__ */
3533 #if defined(_AIX)
3534 #include <malloc.h>
3535 #pragma alloca
3536 #else /* not MSDOS, __TURBOC__, or _AIX */
3537 #ifdef __hpux
3538 #ifdef __cplusplus
3539 extern "C" {
3540 void *alloca (unsigned int);
3541 };
3542 #else /* not __cplusplus */
3543 void *alloca ();
3544 #endif /* not __cplusplus */
3545 #endif /* __hpux */
3546 #endif /* not _AIX */
3547 #endif /* not MSDOS, or __TURBOC__ */
3548 #endif /* not sparc. */
3549 #endif /* not GNU C. */
3550 #endif /* alloca not defined. */
3551
3552 /* This is the parser code that is written into each bison parser
3553 when the %semantic_parser declaration is not specified in the grammar.
3554 It was written by Richard Stallman by simplifying the hairy parser
3555 used when %semantic_parser is specified. */
3556
3557 /* Note: there must be only one dollar sign in this file.
3558 It is replaced by the list of actions, each action
3559 as one case of the switch. */
3560
3561 #define yyerrok (yyerrstatus = 0)
3562 #define yyclearin (yychar = YYEMPTY)
3563 #define YYEMPTY -2
3564 #define YYEOF 0
3565 #define YYACCEPT return(0)
3566 #define YYABORT return(1)
3567 #define YYERROR goto yyerrlab1
3568 /* Like YYERROR except do call yyerror.
3569 This remains here temporarily to ease the
3570 transition to the new meaning of YYERROR, for GCC.
3571 Once GCC version 2 has supplanted version 1, this can go. */
3572 #define YYFAIL goto yyerrlab
3573 #define YYRECOVERING() (!!yyerrstatus)
3574 #define YYBACKUP(token, value) \
3575 do \
3576 if (yychar == YYEMPTY && yylen == 1) \
3577 { yychar = (token), yylval = (value); \
3578 yychar1 = YYTRANSLATE (yychar); \
3579 YYPOPSTACK; \
3580 goto yybackup; \
3581 } \
3582 else \
3583 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3584 while (0)
3585
3586 #define YYTERROR 1
3587 #define YYERRCODE 256
3588
3589 #ifndef YYPURE
3590 #define YYLEX yylex()
3591 #endif
3592
3593 #ifdef YYPURE
3594 #ifdef YYLSP_NEEDED
3595 #ifdef YYLEX_PARAM
3596 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3597 #else
3598 #define YYLEX yylex(&yylval, &yylloc)
3599 #endif
3600 #else /* not YYLSP_NEEDED */
3601 #ifdef YYLEX_PARAM
3602 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3603 #else
3604 #define YYLEX yylex(&yylval)
3605 #endif
3606 #endif /* not YYLSP_NEEDED */
3607 #endif
3608
3609 /* If nonreentrant, generate the variables here */
3610
3611 #ifndef YYPURE
3612
3613 int yychar; /* the lookahead symbol */
3614 YYSTYPE yylval; /* the semantic value of the */
3615 /* lookahead symbol */
3616
3617 #ifdef YYLSP_NEEDED
3618 YYLTYPE yylloc; /* location data for the lookahead */
3619 /* symbol */
3620 #endif
3621
3622 int yynerrs; /* number of parse errors so far */
3623 #endif /* not YYPURE */
3624
3625 #if YYDEBUG != 0
3626 int yydebug; /* nonzero means print parse trace */
3627 /* Since this is uninitialized, it does not stop multiple parsers
3628 from coexisting. */
3629 #endif
3630
3631 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3632
3633 #ifndef YYINITDEPTH
3634 #define YYINITDEPTH 200
3635 #endif
3636
3637 /* YYMAXDEPTH is the maximum size the stacks can grow to
3638 (effective only if the built-in stack extension method is used). */
3639
3640 #if YYMAXDEPTH == 0
3641 #undef YYMAXDEPTH
3642 #endif
3643
3644 #ifndef YYMAXDEPTH
3645 #define YYMAXDEPTH 10000
3646 #endif
3647
3648 /* Prevent warning if -Wstrict-prototypes. */
3649 #ifdef __GNUC__
3650 int yyparse (void);
3651 #endif
3652 \f
3653 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3654 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3655 #else /* not GNU C or C++ */
3656 #ifndef __cplusplus
3657
3658 /* This is the most reliable way to avoid incompatibilities
3659 in available built-in functions on various systems. */
3660 static void
3661 __yy_memcpy (to, from, count)
3662 char *to;
3663 char *from;
3664 int count;
3665 {
3666 register char *f = from;
3667 register char *t = to;
3668 register int i = count;
3669
3670 while (i-- > 0)
3671 *t++ = *f++;
3672 }
3673
3674 #else /* __cplusplus */
3675
3676 /* This is the most reliable way to avoid incompatibilities
3677 in available built-in functions on various systems. */
3678 static void
3679 __yy_memcpy (char *to, char *from, int count)
3680 {
3681 register char *f = from;
3682 register char *t = to;
3683 register int i = count;
3684
3685 while (i-- > 0)
3686 *t++ = *f++;
3687 }
3688
3689 #endif
3690 #endif
3691 \f
3692 #line 196 "/usr/lib/bison.simple"
3693
3694 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3695 into yyparse. The argument should have type void *.
3696 It should actually point to an object.
3697 Grammar actions can access the variable by casting it
3698 to the proper pointer type. */
3699
3700 #ifdef YYPARSE_PARAM
3701 #ifdef __cplusplus
3702 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3703 #define YYPARSE_PARAM_DECL
3704 #else /* not __cplusplus */
3705 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3706 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3707 #endif /* not __cplusplus */
3708 #else /* not YYPARSE_PARAM */
3709 #define YYPARSE_PARAM_ARG
3710 #define YYPARSE_PARAM_DECL
3711 #endif /* not YYPARSE_PARAM */
3712
3713 int
3714 yyparse(YYPARSE_PARAM_ARG)
3715 YYPARSE_PARAM_DECL
3716 {
3717 register int yystate;
3718 register int yyn;
3719 register short *yyssp;
3720 register YYSTYPE *yyvsp;
3721 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3722 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3723
3724 short yyssa[YYINITDEPTH]; /* the state stack */
3725 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3726
3727 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3728 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3729
3730 #ifdef YYLSP_NEEDED
3731 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3732 YYLTYPE *yyls = yylsa;
3733 YYLTYPE *yylsp;
3734
3735 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3736 #else
3737 #define YYPOPSTACK (yyvsp--, yyssp--)
3738 #endif
3739
3740 int yystacksize = YYINITDEPTH;
3741
3742 #ifdef YYPURE
3743 int yychar;
3744 YYSTYPE yylval;
3745 int yynerrs;
3746 #ifdef YYLSP_NEEDED
3747 YYLTYPE yylloc;
3748 #endif
3749 #endif
3750
3751 YYSTYPE yyval; /* the variable used to return */
3752 /* semantic values from the action */
3753 /* routines */
3754
3755 int yylen;
3756
3757 #if YYDEBUG != 0
3758 if (yydebug)
3759 fprintf(stderr, "Starting parse\n");
3760 #endif
3761
3762 yystate = 0;
3763 yyerrstatus = 0;
3764 yynerrs = 0;
3765 yychar = YYEMPTY; /* Cause a token to be read. */
3766
3767 /* Initialize stack pointers.
3768 Waste one element of value and location stack
3769 so that they stay on the same level as the state stack.
3770 The wasted elements are never initialized. */
3771
3772 yyssp = yyss - 1;
3773 yyvsp = yyvs;
3774 #ifdef YYLSP_NEEDED
3775 yylsp = yyls;
3776 #endif
3777
3778 /* Push a new state, which is found in yystate . */
3779 /* In all cases, when you get here, the value and location stacks
3780 have just been pushed. so pushing a state here evens the stacks. */
3781 yynewstate:
3782
3783 *++yyssp = yystate;
3784
3785 if (yyssp >= yyss + yystacksize - 1)
3786 {
3787 /* Give user a chance to reallocate the stack */
3788 /* Use copies of these so that the &'s don't force the real ones into memory. */
3789 YYSTYPE *yyvs1 = yyvs;
3790 short *yyss1 = yyss;
3791 #ifdef YYLSP_NEEDED
3792 YYLTYPE *yyls1 = yyls;
3793 #endif
3794
3795 /* Get the current used size of the three stacks, in elements. */
3796 int size = yyssp - yyss + 1;
3797
3798 #ifdef yyoverflow
3799 /* Each stack pointer address is followed by the size of
3800 the data in use in that stack, in bytes. */
3801 #ifdef YYLSP_NEEDED
3802 /* This used to be a conditional around just the two extra args,
3803 but that might be undefined if yyoverflow is a macro. */
3804 yyoverflow("parser stack overflow",
3805 &yyss1, size * sizeof (*yyssp),
3806 &yyvs1, size * sizeof (*yyvsp),
3807 &yyls1, size * sizeof (*yylsp),
3808 &yystacksize);
3809 #else
3810 yyoverflow("parser stack overflow",
3811 &yyss1, size * sizeof (*yyssp),
3812 &yyvs1, size * sizeof (*yyvsp),
3813 &yystacksize);
3814 #endif
3815
3816 yyss = yyss1; yyvs = yyvs1;
3817 #ifdef YYLSP_NEEDED
3818 yyls = yyls1;
3819 #endif
3820 #else /* no yyoverflow */
3821 /* Extend the stack our own way. */
3822 if (yystacksize >= YYMAXDEPTH)
3823 {
3824 yyerror("parser stack overflow");
3825 return 2;
3826 }
3827 yystacksize *= 2;
3828 if (yystacksize > YYMAXDEPTH)
3829 yystacksize = YYMAXDEPTH;
3830 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3831 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3832 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3833 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3834 #ifdef YYLSP_NEEDED
3835 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3836 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3837 #endif
3838 #endif /* no yyoverflow */
3839
3840 yyssp = yyss + size - 1;
3841 yyvsp = yyvs + size - 1;
3842 #ifdef YYLSP_NEEDED
3843 yylsp = yyls + size - 1;
3844 #endif
3845
3846 #if YYDEBUG != 0
3847 if (yydebug)
3848 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3849 #endif
3850
3851 if (yyssp >= yyss + yystacksize - 1)
3852 YYABORT;
3853 }
3854
3855 #if YYDEBUG != 0
3856 if (yydebug)
3857 fprintf(stderr, "Entering state %d\n", yystate);
3858 #endif
3859
3860 goto yybackup;
3861 yybackup:
3862
3863 /* Do appropriate processing given the current state. */
3864 /* Read a lookahead token if we need one and don't already have one. */
3865 /* yyresume: */
3866
3867 /* First try to decide what to do without reference to lookahead token. */
3868
3869 yyn = yypact[yystate];
3870 if (yyn == YYFLAG)
3871 goto yydefault;
3872
3873 /* Not known => get a lookahead token if don't already have one. */
3874
3875 /* yychar is either YYEMPTY or YYEOF
3876 or a valid token in external form. */
3877
3878 if (yychar == YYEMPTY)
3879 {
3880 #if YYDEBUG != 0
3881 if (yydebug)
3882 fprintf(stderr, "Reading a token: ");
3883 #endif
3884 yychar = YYLEX;
3885 }
3886
3887 /* Convert token to internal form (in yychar1) for indexing tables with */
3888
3889 if (yychar <= 0) /* This means end of input. */
3890 {
3891 yychar1 = 0;
3892 yychar = YYEOF; /* Don't call YYLEX any more */
3893
3894 #if YYDEBUG != 0
3895 if (yydebug)
3896 fprintf(stderr, "Now at end of input.\n");
3897 #endif
3898 }
3899 else
3900 {
3901 yychar1 = YYTRANSLATE(yychar);
3902
3903 #if YYDEBUG != 0
3904 if (yydebug)
3905 {
3906 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3907 /* Give the individual parser a way to print the precise meaning
3908 of a token, for further debugging info. */
3909 #ifdef YYPRINT
3910 YYPRINT (stderr, yychar, yylval);
3911 #endif
3912 fprintf (stderr, ")\n");
3913 }
3914 #endif
3915 }
3916
3917 yyn += yychar1;
3918 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3919 goto yydefault;
3920
3921 yyn = yytable[yyn];
3922
3923 /* yyn is what to do for this token type in this state.
3924 Negative => reduce, -yyn is rule number.
3925 Positive => shift, yyn is new state.
3926 New state is final state => don't bother to shift,
3927 just return success.
3928 0, or most negative number => error. */
3929
3930 if (yyn < 0)
3931 {
3932 if (yyn == YYFLAG)
3933 goto yyerrlab;
3934 yyn = -yyn;
3935 goto yyreduce;
3936 }
3937 else if (yyn == 0)
3938 goto yyerrlab;
3939
3940 if (yyn == YYFINAL)
3941 YYACCEPT;
3942
3943 /* Shift the lookahead token. */
3944
3945 #if YYDEBUG != 0
3946 if (yydebug)
3947 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3948 #endif
3949
3950 /* Discard the token being shifted unless it is eof. */
3951 if (yychar != YYEOF)
3952 yychar = YYEMPTY;
3953
3954 *++yyvsp = yylval;
3955 #ifdef YYLSP_NEEDED
3956 *++yylsp = yylloc;
3957 #endif
3958
3959 /* count tokens shifted since error; after three, turn off error status. */
3960 if (yyerrstatus) yyerrstatus--;
3961
3962 yystate = yyn;
3963 goto yynewstate;
3964
3965 /* Do the default action for the current state. */
3966 yydefault:
3967
3968 yyn = yydefact[yystate];
3969 if (yyn == 0)
3970 goto yyerrlab;
3971
3972 /* Do a reduction. yyn is the number of a rule to reduce with. */
3973 yyreduce:
3974 yylen = yyr2[yyn];
3975 if (yylen > 0)
3976 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3977
3978 #if YYDEBUG != 0
3979 if (yydebug)
3980 {
3981 int i;
3982
3983 fprintf (stderr, "Reducing via rule %d (line %d), ",
3984 yyn, yyrline[yyn]);
3985
3986 /* Print the symbols being reduced, and their result. */
3987 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3988 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3989 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3990 }
3991 #endif
3992
3993
3994 switch (yyn) {
3995
3996 case 2:
3997 #line 336 "parse.y"
3998 {
3999 /* In case there were missing closebraces,
4000 get us back to the global binding level. */
4001 while (! global_bindings_p ())
4002 poplevel (0, 0, 0);
4003 finish_file ();
4004 ;
4005 break;}
4006 case 3:
4007 #line 350 "parse.y"
4008 { yyval.ttype = NULL_TREE; ;
4009 break;}
4010 case 4:
4011 #line 352 "parse.y"
4012 { yyval.ttype = NULL_TREE; ;
4013 break;}
4014 case 5:
4015 #line 354 "parse.y"
4016 { yyval.ttype = NULL_TREE; ;
4017 break;}
4018 case 8:
4019 #line 363 "parse.y"
4020 { have_extern_spec = 1;
4021 used_extern_spec = 0;
4022 yyval.ttype = NULL_TREE; ;
4023 break;}
4024 case 9:
4025 #line 368 "parse.y"
4026 { have_extern_spec = 0; ;
4027 break;}
4028 case 10:
4029 #line 373 "parse.y"
4030 { yyval.itype = pedantic;
4031 pedantic = 0; ;
4032 break;}
4033 case 13:
4034 #line 383 "parse.y"
4035 { if (pending_lang_change) do_pending_lang_change(); ;
4036 break;}
4037 case 14:
4038 #line 385 "parse.y"
4039 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4040 pop_everything (); ;
4041 break;}
4042 case 15:
4043 #line 391 "parse.y"
4044 { if (pending_inlines) do_pending_inlines (); ;
4045 break;}
4046 case 16:
4047 #line 393 "parse.y"
4048 { if (pending_inlines) do_pending_inlines (); ;
4049 break;}
4050 case 17:
4051 #line 395 "parse.y"
4052 { if (pending_inlines) do_pending_inlines (); ;
4053 break;}
4054 case 18:
4055 #line 397 "parse.y"
4056 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4057 assemble_asm (yyvsp[-2].ttype); ;
4058 break;}
4059 case 19:
4060 #line 400 "parse.y"
4061 { pop_lang_context (); ;
4062 break;}
4063 case 20:
4064 #line 402 "parse.y"
4065 { if (pending_inlines) do_pending_inlines ();
4066 pop_lang_context (); ;
4067 break;}
4068 case 21:
4069 #line 405 "parse.y"
4070 { if (pending_inlines) do_pending_inlines ();
4071 pop_lang_context (); ;
4072 break;}
4073 case 22:
4074 #line 408 "parse.y"
4075 { push_namespace (yyvsp[-1].ttype); ;
4076 break;}
4077 case 23:
4078 #line 410 "parse.y"
4079 { pop_namespace (); ;
4080 break;}
4081 case 24:
4082 #line 412 "parse.y"
4083 { push_namespace (NULL_TREE); ;
4084 break;}
4085 case 25:
4086 #line 414 "parse.y"
4087 { pop_namespace (); ;
4088 break;}
4089 case 26:
4090 #line 416 "parse.y"
4091 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4092 break;}
4093 case 27:
4094 #line 418 "parse.y"
4095 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4096 break;}
4097 case 28:
4098 #line 420 "parse.y"
4099 {
4100 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
4101 yyvsp[-1].ttype = lastiddecl;
4102 do_using_directive (yyvsp[-1].ttype);
4103 ;
4104 break;}
4105 case 29:
4106 #line 426 "parse.y"
4107 { pedantic = yyvsp[-1].itype; ;
4108 break;}
4109 case 30:
4110 #line 431 "parse.y"
4111 { yyval.ttype = yyvsp[0].ttype; ;
4112 break;}
4113 case 31:
4114 #line 433 "parse.y"
4115 { yyval.ttype = yyvsp[0].ttype; ;
4116 break;}
4117 case 32:
4118 #line 435 "parse.y"
4119 { yyval.ttype = yyvsp[0].ttype; ;
4120 break;}
4121 case 35:
4122 #line 442 "parse.y"
4123 { yyval.ttype = yyvsp[0].ttype; ;
4124 break;}
4125 case 36:
4126 #line 444 "parse.y"
4127 { yyval.ttype = yyvsp[0].ttype; ;
4128 break;}
4129 case 37:
4130 #line 449 "parse.y"
4131 { push_lang_context (yyvsp[0].ttype); ;
4132 break;}
4133 case 38:
4134 #line 451 "parse.y"
4135 { if (current_lang_name != yyvsp[0].ttype)
4136 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4137 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4138 break;}
4139 case 39:
4140 #line 458 "parse.y"
4141 { begin_template_parm_list (); ;
4142 break;}
4143 case 40:
4144 #line 460 "parse.y"
4145 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4146 break;}
4147 case 41:
4148 #line 462 "parse.y"
4149 { begin_specialization();
4150 yyval.ttype = NULL_TREE; ;
4151 break;}
4152 case 42:
4153 #line 468 "parse.y"
4154 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4155 break;}
4156 case 43:
4157 #line 470 "parse.y"
4158 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4159 break;}
4160 case 44:
4161 #line 475 "parse.y"
4162 { yyval.ttype = yyvsp[0].ttype; ;
4163 break;}
4164 case 45:
4165 #line 477 "parse.y"
4166 { yyval.ttype = NULL_TREE; ;
4167 break;}
4168 case 46:
4169 #line 481 "parse.y"
4170 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4171 break;}
4172 case 47:
4173 #line 483 "parse.y"
4174 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4175 break;}
4176 case 48:
4177 #line 488 "parse.y"
4178 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4179 break;}
4180 case 49:
4181 #line 500 "parse.y"
4182 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4183 break;}
4184 case 50:
4185 #line 502 "parse.y"
4186 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4187 break;}
4188 case 51:
4189 #line 504 "parse.y"
4190 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4191 break;}
4192 case 52:
4193 #line 506 "parse.y"
4194 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4195 break;}
4196 case 53:
4197 #line 508 "parse.y"
4198 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4199 break;}
4200 case 54:
4201 #line 510 "parse.y"
4202 {
4203 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4204 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4205 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4206 {
4207 error ("invalid default template argument");
4208 yyvsp[0].ttype = error_mark_node;
4209 }
4210 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4211 ;
4212 break;}
4213 case 55:
4214 #line 525 "parse.y"
4215 {
4216 if (yyvsp[-1].ttype)
4217 end_template_decl ();
4218 else
4219 end_specialization ();
4220 ;
4221 break;}
4222 case 56:
4223 #line 533 "parse.y"
4224 {
4225 if (yyvsp[-1].ttype)
4226 end_template_decl ();
4227 else
4228 end_specialization ();
4229 ;
4230 break;}
4231 case 58:
4232 #line 544 "parse.y"
4233 {;
4234 break;}
4235 case 59:
4236 #line 546 "parse.y"
4237 {
4238 note_list_got_semicolon (yyvsp[-2].ftype.t);
4239 ;
4240 break;}
4241 case 60:
4242 #line 550 "parse.y"
4243 { pedwarn ("empty declaration"); ;
4244 break;}
4245 case 62:
4246 #line 553 "parse.y"
4247 {
4248 tree t, attrs;
4249 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4250 shadow_tag (t);
4251 note_list_got_semicolon (yyvsp[-1].ftype.t);
4252 ;
4253 break;}
4254 case 66:
4255 #line 566 "parse.y"
4256 { yyval.itype = 0; ;
4257 break;}
4258 case 67:
4259 #line 568 "parse.y"
4260 { yyval.itype = 1; ;
4261 break;}
4262 case 73:
4263 #line 584 "parse.y"
4264 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4265 break;}
4266 case 74:
4267 #line 586 "parse.y"
4268 { ;
4269 break;}
4270 case 75:
4271 #line 588 "parse.y"
4272 { ;
4273 break;}
4274 case 76:
4275 #line 593 "parse.y"
4276 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4277 break;}
4278 case 77:
4279 #line 595 "parse.y"
4280 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4281 break;}
4282 case 78:
4283 #line 597 "parse.y"
4284 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4285 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4286 ;
4287 break;}
4288 case 79:
4289 #line 601 "parse.y"
4290 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4291 break;}
4292 case 80:
4293 #line 603 "parse.y"
4294 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4295 break;}
4296 case 81:
4297 #line 605 "parse.y"
4298 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4299 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4300 ;
4301 break;}
4302 case 82:
4303 #line 609 "parse.y"
4304 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4305 break;}
4306 case 83:
4307 #line 611 "parse.y"
4308 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4309 break;}
4310 case 84:
4311 #line 613 "parse.y"
4312 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4313 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4314 ;
4315 break;}
4316 case 85:
4317 #line 617 "parse.y"
4318 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4319 break;}
4320 case 86:
4321 #line 619 "parse.y"
4322 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4323 break;}
4324 case 87:
4325 #line 621 "parse.y"
4326 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4327 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4328 ;
4329 break;}
4330 case 88:
4331 #line 628 "parse.y"
4332 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4333 YYERROR1; ;
4334 break;}
4335 case 89:
4336 #line 631 "parse.y"
4337 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4338 YYERROR1; ;
4339 break;}
4340 case 90:
4341 #line 634 "parse.y"
4342 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4343 YYERROR1; ;
4344 break;}
4345 case 91:
4346 #line 637 "parse.y"
4347 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4348 YYERROR1; ;
4349 break;}
4350 case 92:
4351 #line 640 "parse.y"
4352 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4353 YYERROR1; ;
4354 break;}
4355 case 93:
4356 #line 646 "parse.y"
4357 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4358 break;}
4359 case 94:
4360 #line 648 "parse.y"
4361 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4362 break;}
4363 case 95:
4364 #line 650 "parse.y"
4365 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4366 break;}
4367 case 96:
4368 #line 652 "parse.y"
4369 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4370 break;}
4371 case 97:
4372 #line 659 "parse.y"
4373 { tree specs = strip_attrs (yyvsp[-1].ttype);
4374 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4375 rest_of_mdef:
4376 if (! yyval.ttype)
4377 YYERROR1;
4378 if (yychar == YYEMPTY)
4379 yychar = YYLEX;
4380 reinit_parse_for_method (yychar, yyval.ttype); ;
4381 break;}
4382 case 98:
4383 #line 668 "parse.y"
4384 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4385 break;}
4386 case 99:
4387 #line 670 "parse.y"
4388 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4389 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4390 break;}
4391 case 100:
4392 #line 673 "parse.y"
4393 { tree specs = strip_attrs (yyvsp[-1].ttype);
4394 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4395 break;}
4396 case 101:
4397 #line 676 "parse.y"
4398 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4399 break;}
4400 case 102:
4401 #line 678 "parse.y"
4402 { tree specs = strip_attrs (yyvsp[-1].ttype);
4403 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4404 break;}
4405 case 103:
4406 #line 681 "parse.y"
4407 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4408 break;}
4409 case 104:
4410 #line 686 "parse.y"
4411 {
4412 if (! current_function_parms_stored)
4413 store_parm_decls ();
4414 yyval.ttype = yyvsp[0].ttype;
4415 ;
4416 break;}
4417 case 105:
4418 #line 695 "parse.y"
4419 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4420 break;}
4421 case 106:
4422 #line 697 "parse.y"
4423 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4424 break;}
4425 case 107:
4426 #line 699 "parse.y"
4427 { store_return_init (yyval.ttype, NULL_TREE); ;
4428 break;}
4429 case 108:
4430 #line 704 "parse.y"
4431 {
4432 if (yyvsp[0].itype == 0)
4433 error ("no base initializers given following ':'");
4434 setup_vtbl_ptr ();
4435 /* Always keep the BLOCK node associated with the outermost
4436 pair of curley braces of a function. These are needed
4437 for correct operation of dwarfout.c. */
4438 keep_next_level ();
4439 ;
4440 break;}
4441 case 109:
4442 #line 717 "parse.y"
4443 {
4444 if (! current_function_parms_stored)
4445 store_parm_decls ();
4446
4447 if (DECL_CONSTRUCTOR_P (current_function_decl))
4448 {
4449 /* Make a contour for the initializer list. */
4450 pushlevel (0);
4451 clear_last_expr ();
4452 expand_start_bindings (0);
4453 }
4454 else if (current_class_type == NULL_TREE)
4455 error ("base initializers not allowed for non-member functions");
4456 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4457 error ("only constructors take base initializers");
4458 ;
4459 break;}
4460 case 110:
4461 #line 737 "parse.y"
4462 { yyval.itype = 0; ;
4463 break;}
4464 case 111:
4465 #line 739 "parse.y"
4466 { yyval.itype = 1; ;
4467 break;}
4468 case 114:
4469 #line 746 "parse.y"
4470 {
4471 if (current_class_name)
4472 pedwarn ("anachronistic old style base class initializer");
4473 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4474 ;
4475 break;}
4476 case 115:
4477 #line 752 "parse.y"
4478 {
4479 if (current_class_name)
4480 pedwarn ("anachronistic old style base class initializer");
4481 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4482 ;
4483 break;}
4484 case 116:
4485 #line 758 "parse.y"
4486 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4487 break;}
4488 case 117:
4489 #line 760 "parse.y"
4490 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4491 break;}
4492 case 118:
4493 #line 762 "parse.y"
4494 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4495 break;}
4496 case 119:
4497 #line 764 "parse.y"
4498 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4499 break;}
4500 case 120:
4501 #line 766 "parse.y"
4502 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4503 yyvsp[-1].ttype); ;
4504 break;}
4505 case 121:
4506 #line 769 "parse.y"
4507 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4508 void_type_node); ;
4509 break;}
4510 case 133:
4511 #line 795 "parse.y"
4512 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4513 yyungetc (';', 1); ;
4514 break;}
4515 case 135:
4516 #line 799 "parse.y"
4517 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4518 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4519 break;}
4520 case 137:
4521 #line 803 "parse.y"
4522 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4523 break;}
4524 case 139:
4525 #line 806 "parse.y"
4526 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4527 break;}
4528 case 141:
4529 #line 809 "parse.y"
4530 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4531 yyungetc (';', 1); ;
4532 break;}
4533 case 143:
4534 #line 814 "parse.y"
4535 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4536 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4537 break;}
4538 case 145:
4539 #line 818 "parse.y"
4540 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4541 break;}
4542 case 147:
4543 #line 821 "parse.y"
4544 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4545 break;}
4546 case 149:
4547 #line 826 "parse.y"
4548 { begin_explicit_instantiation(); ;
4549 break;}
4550 case 150:
4551 #line 829 "parse.y"
4552 { end_explicit_instantiation(); ;
4553 break;}
4554 case 151:
4555 #line 837 "parse.y"
4556 {
4557 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4558 if (yyval.ttype != error_mark_node)
4559 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4560 ;
4561 break;}
4562 case 152:
4563 #line 843 "parse.y"
4564 {
4565 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4566 if (yyval.ttype != error_mark_node)
4567 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4568 ;
4569 break;}
4570 case 154:
4571 #line 853 "parse.y"
4572 {
4573 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4574 if (yyval.ttype != error_mark_node)
4575 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4576 ;
4577 break;}
4578 case 156:
4579 #line 863 "parse.y"
4580 {
4581 /* Handle `Class<Class<Type>>' without space in the `>>' */
4582 pedwarn ("`>>' should be `> >' in template class name");
4583 yyungetc ('>', 1);
4584 ;
4585 break;}
4586 case 157:
4587 #line 872 "parse.y"
4588 { yyval.ttype = NULL_TREE; ;
4589 break;}
4590 case 159:
4591 #line 878 "parse.y"
4592 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4593 break;}
4594 case 160:
4595 #line 880 "parse.y"
4596 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4597 break;}
4598 case 161:
4599 #line 885 "parse.y"
4600 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4601 break;}
4602 case 163:
4603 #line 891 "parse.y"
4604 { yyval.code = NEGATE_EXPR; ;
4605 break;}
4606 case 164:
4607 #line 893 "parse.y"
4608 { yyval.code = CONVERT_EXPR; ;
4609 break;}
4610 case 165:
4611 #line 895 "parse.y"
4612 { yyval.code = PREINCREMENT_EXPR; ;
4613 break;}
4614 case 166:
4615 #line 897 "parse.y"
4616 { yyval.code = PREDECREMENT_EXPR; ;
4617 break;}
4618 case 167:
4619 #line 899 "parse.y"
4620 { yyval.code = TRUTH_NOT_EXPR; ;
4621 break;}
4622 case 168:
4623 #line 904 "parse.y"
4624 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4625 break;}
4626 case 170:
4627 #line 910 "parse.y"
4628 { error ("ANSI C++ forbids an empty condition for `%s'",
4629 cond_stmt_keyword);
4630 yyval.ttype = integer_zero_node; ;
4631 break;}
4632 case 171:
4633 #line 914 "parse.y"
4634 { yyval.ttype = yyvsp[-1].ttype; ;
4635 break;}
4636 case 172:
4637 #line 919 "parse.y"
4638 { error ("ANSI C++ forbids an empty condition for `%s'",
4639 cond_stmt_keyword);
4640 yyval.ttype = integer_zero_node; ;
4641 break;}
4642 case 173:
4643 #line 923 "parse.y"
4644 { yyval.ttype = yyvsp[-1].ttype; ;
4645 break;}
4646 case 174:
4647 #line 928 "parse.y"
4648 { yyval.ttype = NULL_TREE; ;
4649 break;}
4650 case 175:
4651 #line 930 "parse.y"
4652 { yyval.ttype = condition_conversion (yyval.ttype); ;
4653 break;}
4654 case 176:
4655 #line 932 "parse.y"
4656 { yyval.ttype = NULL_TREE; ;
4657 break;}
4658 case 177:
4659 #line 937 "parse.y"
4660 { {
4661 tree d;
4662 for (d = getdecls (); d; d = TREE_CHAIN (d))
4663 if (TREE_CODE (d) == TYPE_DECL) {
4664 tree s = TREE_TYPE (d);
4665 if (TREE_CODE (s) == RECORD_TYPE)
4666 cp_error ("definition of class `%T' in condition", s);
4667 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4668 cp_error ("definition of enum `%T' in condition", s);
4669 }
4670 }
4671 current_declspecs = yyvsp[-4].ftype.t;
4672 yyvsp[0].itype = suspend_momentary ();
4673 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
4674 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype,
4675 /*prefix_attributes*/ NULL_TREE);
4676 ;
4677 break;}
4678 case 178:
4679 #line 955 "parse.y"
4680 {
4681 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4682 resume_momentary (yyvsp[-2].itype);
4683 yyval.ttype = yyvsp[-1].ttype;
4684 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4685 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4686 ;
4687 break;}
4688 case 184:
4689 #line 974 "parse.y"
4690 { yyval.ttype = begin_compound_stmt (1); ;
4691 break;}
4692 case 185:
4693 #line 976 "parse.y"
4694 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4695 break;}
4696 case 187:
4697 #line 983 "parse.y"
4698 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4699 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4700 break;}
4701 case 188:
4702 #line 986 "parse.y"
4703 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4704 build_expr_list (NULL_TREE, error_mark_node)); ;
4705 break;}
4706 case 189:
4707 #line 989 "parse.y"
4708 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4709 break;}
4710 case 190:
4711 #line 991 "parse.y"
4712 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4713 break;}
4714 case 191:
4715 #line 996 "parse.y"
4716 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4717 break;}
4718 case 193:
4719 #line 1002 "parse.y"
4720 { yyval.ttype = yyvsp[0].ttype; ;
4721 break;}
4722 case 194:
4723 #line 1005 "parse.y"
4724 { yyval.ttype = yyvsp[0].ttype;
4725 pedantic = yyvsp[-1].itype; ;
4726 break;}
4727 case 195:
4728 #line 1008 "parse.y"
4729 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4730 break;}
4731 case 196:
4732 #line 1010 "parse.y"
4733 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4734 break;}
4735 case 197:
4736 #line 1012 "parse.y"
4737 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4738 break;}
4739 case 198:
4740 #line 1014 "parse.y"
4741 { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4742 if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4743 TREE_NEGATED_INT (yyval.ttype) = 1;
4744 overflow_warning (yyval.ttype);
4745 ;
4746 break;}
4747 case 199:
4748 #line 1021 "parse.y"
4749 { if (pedantic)
4750 pedwarn ("ANSI C++ forbids `&&'");
4751 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4752 break;}
4753 case 200:
4754 #line 1025 "parse.y"
4755 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4756 break;}
4757 case 201:
4758 #line 1027 "parse.y"
4759 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4760 break;}
4761 case 202:
4762 #line 1029 "parse.y"
4763 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4764 break;}
4765 case 203:
4766 #line 1031 "parse.y"
4767 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4768 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4769 break;}
4770 case 204:
4771 #line 1037 "parse.y"
4772 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4773 check_for_new_type ("new", yyvsp[0].ftype); ;
4774 break;}
4775 case 205:
4776 #line 1040 "parse.y"
4777 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4778 check_for_new_type ("new", yyvsp[-1].ftype); ;
4779 break;}
4780 case 206:
4781 #line 1043 "parse.y"
4782 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4783 check_for_new_type ("new", yyvsp[0].ftype); ;
4784 break;}
4785 case 207:
4786 #line 1046 "parse.y"
4787 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4788 check_for_new_type ("new", yyvsp[-1].ftype); ;
4789 break;}
4790 case 208:
4791 #line 1049 "parse.y"
4792 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4793 NULL_TREE, yyvsp[-3].itype);
4794 check_for_new_type ("new", yyvsp[-1].ftype); ;
4795 break;}
4796 case 209:
4797 #line 1053 "parse.y"
4798 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4799 check_for_new_type ("new", yyvsp[-2].ftype); ;
4800 break;}
4801 case 210:
4802 #line 1056 "parse.y"
4803 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4804 check_for_new_type ("new", yyvsp[-1].ftype); ;
4805 break;}
4806 case 211:
4807 #line 1059 "parse.y"
4808 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4809 check_for_new_type ("new", yyvsp[-2].ftype); ;
4810 break;}
4811 case 212:
4812 #line 1063 "parse.y"
4813 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4814 break;}
4815 case 213:
4816 #line 1065 "parse.y"
4817 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4818 if (yychar == YYEMPTY)
4819 yychar = YYLEX; ;
4820 break;}
4821 case 214:
4822 #line 1069 "parse.y"
4823 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4824 if (yychar == YYEMPTY)
4825 yychar = YYLEX; ;
4826 break;}
4827 case 215:
4828 #line 1073 "parse.y"
4829 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4830 break;}
4831 case 216:
4832 #line 1075 "parse.y"
4833 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4834 break;}
4835 case 217:
4836 #line 1080 "parse.y"
4837 { yyval.ttype = yyvsp[-1].ttype; ;
4838 break;}
4839 case 218:
4840 #line 1082 "parse.y"
4841 {
4842 yyval.ttype = yyvsp[-1].ttype;
4843 pedwarn ("old style placement syntax, use () instead");
4844 ;
4845 break;}
4846 case 219:
4847 #line 1090 "parse.y"
4848 { yyval.ttype = yyvsp[-1].ttype; ;
4849 break;}
4850 case 220:
4851 #line 1092 "parse.y"
4852 { yyval.ttype = NULL_TREE; ;
4853 break;}
4854 case 221:
4855 #line 1094 "parse.y"
4856 {
4857 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4858 yyval.ttype = error_mark_node;
4859 ;
4860 break;}
4861 case 222:
4862 #line 1102 "parse.y"
4863 {
4864 if (pedantic)
4865 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4866 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4867 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4868 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4869 else
4870 yyval.ttype = yyvsp[0].ttype;
4871 ;
4872 break;}
4873 case 223:
4874 #line 1116 "parse.y"
4875 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4876 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4877 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4878 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4879 break;}
4880 case 224:
4881 #line 1121 "parse.y"
4882 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4883 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4884 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4885 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4886 break;}
4887 case 226:
4888 #line 1130 "parse.y"
4889 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4890 break;}
4891 case 227:
4892 #line 1132 "parse.y"
4893 {
4894 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4895 nreverse (yyvsp[-2].ttype));
4896 if (pedantic)
4897 pedwarn ("ANSI C++ forbids constructor-expressions");
4898 /* Indicate that this was a GNU C constructor expression. */
4899 TREE_HAS_CONSTRUCTOR (init) = 1;
4900
4901 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4902 ;
4903 break;}
4904 case 229:
4905 #line 1148 "parse.y"
4906 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4907 break;}
4908 case 230:
4909 #line 1150 "parse.y"
4910 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4911 break;}
4912 case 231:
4913 #line 1152 "parse.y"
4914 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4915 break;}
4916 case 232:
4917 #line 1154 "parse.y"
4918 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4919 break;}
4920 case 233:
4921 #line 1156 "parse.y"
4922 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4923 break;}
4924 case 234:
4925 #line 1158 "parse.y"
4926 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4927 break;}
4928 case 235:
4929 #line 1160 "parse.y"
4930 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4931 break;}
4932 case 236:
4933 #line 1162 "parse.y"
4934 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4935 break;}
4936 case 237:
4937 #line 1164 "parse.y"
4938 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4939 break;}
4940 case 238:
4941 #line 1166 "parse.y"
4942 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4943 break;}
4944 case 239:
4945 #line 1168 "parse.y"
4946 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4947 break;}
4948 case 240:
4949 #line 1170 "parse.y"
4950 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4951 break;}
4952 case 241:
4953 #line 1172 "parse.y"
4954 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4955 break;}
4956 case 242:
4957 #line 1174 "parse.y"
4958 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4959 break;}
4960 case 243:
4961 #line 1176 "parse.y"
4962 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4963 break;}
4964 case 244:
4965 #line 1178 "parse.y"
4966 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4967 break;}
4968 case 245:
4969 #line 1180 "parse.y"
4970 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4971 break;}
4972 case 246:
4973 #line 1182 "parse.y"
4974 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4975 break;}
4976 case 247:
4977 #line 1184 "parse.y"
4978 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4979 break;}
4980 case 248:
4981 #line 1186 "parse.y"
4982 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4983 break;}
4984 case 249:
4985 #line 1188 "parse.y"
4986 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
4987 if (yyval.ttype != error_mark_node)
4988 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
4989 break;}
4990 case 250:
4991 #line 1192 "parse.y"
4992 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4993 break;}
4994 case 251:
4995 #line 1194 "parse.y"
4996 { yyval.ttype = build_throw (NULL_TREE); ;
4997 break;}
4998 case 252:
4999 #line 1196 "parse.y"
5000 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5001 break;}
5002 case 253:
5003 #line 1214 "parse.y"
5004 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5005 break;}
5006 case 259:
5007 #line 1223 "parse.y"
5008 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
5009 break;}
5010 case 260:
5011 #line 1227 "parse.y"
5012 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5013 break;}
5014 case 261:
5015 #line 1229 "parse.y"
5016 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5017 break;}
5018 case 262:
5019 #line 1234 "parse.y"
5020 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5021 break;}
5022 case 263:
5023 #line 1236 "parse.y"
5024 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5025 break;}
5026 case 264:
5027 #line 1239 "parse.y"
5028 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5029 break;}
5030 case 269:
5031 #line 1251 "parse.y"
5032 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5033 break;}
5034 case 270:
5035 #line 1253 "parse.y"
5036 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5037 break;}
5038 case 271:
5039 #line 1255 "parse.y"
5040 { yyval.ttype = yyvsp[-1].ttype; ;
5041 break;}
5042 case 272:
5043 #line 1260 "parse.y"
5044 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5045 break;}
5046 case 273:
5047 #line 1262 "parse.y"
5048 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5049 break;}
5050 case 277:
5051 #line 1270 "parse.y"
5052 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5053 break;}
5054 case 278:
5055 #line 1275 "parse.y"
5056 {
5057 if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
5058 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
5059 else if (TREE_CODE (yyval.ttype) != TEMPLATE_ID_EXPR)
5060 yyval.ttype = do_identifier (yyval.ttype, 1);
5061 ;
5062 break;}
5063 case 281:
5064 #line 1284 "parse.y"
5065 {
5066 if (processing_template_decl)
5067 push_obstacks (&permanent_obstack, &permanent_obstack);
5068 yyval.ttype = combine_strings (yyval.ttype);
5069 if (processing_template_decl)
5070 pop_obstacks ();
5071 ;
5072 break;}
5073 case 282:
5074 #line 1292 "parse.y"
5075 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5076 break;}
5077 case 283:
5078 #line 1294 "parse.y"
5079 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5080 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5081 break;}
5082 case 284:
5083 #line 1297 "parse.y"
5084 { yyval.ttype = error_mark_node; ;
5085 break;}
5086 case 285:
5087 #line 1299 "parse.y"
5088 { if (current_function_decl == 0)
5089 {
5090 error ("braced-group within expression allowed only inside a function");
5091 YYERROR;
5092 }
5093 if (pedantic)
5094 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5095 yyval.ttype = begin_stmt_expr ();
5096 ;
5097 break;}
5098 case 286:
5099 #line 1309 "parse.y"
5100 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5101 break;}
5102 case 287:
5103 #line 1311 "parse.y"
5104 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5105 break;}
5106 case 288:
5107 #line 1313 "parse.y"
5108 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5109 break;}
5110 case 289:
5111 #line 1315 "parse.y"
5112 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5113 break;}
5114 case 290:
5115 #line 1317 "parse.y"
5116 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5117 break;}
5118 case 291:
5119 #line 1319 "parse.y"
5120 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5121 break;}
5122 case 292:
5123 #line 1322 "parse.y"
5124 { yyval.ttype = finish_this_expr (); ;
5125 break;}
5126 case 293:
5127 #line 1324 "parse.y"
5128 {
5129 tree type = NULL_TREE;
5130 tree id = yyval.ttype;
5131
5132 /* This is a C cast in C++'s `functional' notation. */
5133 if (yyvsp[-1].ttype == error_mark_node)
5134 {
5135 yyval.ttype = error_mark_node;
5136 break;
5137 }
5138 #if 0
5139 if (yyvsp[-1].ttype == NULL_TREE)
5140 {
5141 error ("cannot cast null list to type `%s'",
5142 IDENTIFIER_POINTER (TYPE_NAME (id)));
5143 yyval.ttype = error_mark_node;
5144 break;
5145 }
5146 #endif
5147 #if 0
5148 /* type is not set! (mrs) */
5149 if (type == error_mark_node)
5150 yyval.ttype = error_mark_node;
5151 else
5152 #endif
5153 {
5154 if (id == ridpointers[(int) RID_CONST])
5155 type = build_type_variant (integer_type_node, 1, 0);
5156 else if (id == ridpointers[(int) RID_VOLATILE])
5157 type = build_type_variant (integer_type_node, 0, 1);
5158 #if 0
5159 /* should not be able to get here (mrs) */
5160 else if (id == ridpointers[(int) RID_FRIEND])
5161 {
5162 error ("cannot cast expression to `friend' type");
5163 yyval.ttype = error_mark_node;
5164 break;
5165 }
5166 #endif
5167 else my_friendly_abort (79);
5168 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5169 }
5170 ;
5171 break;}
5172 case 295:
5173 #line 1369 "parse.y"
5174 { tree type = groktypename (yyvsp[-4].ftype.t);
5175 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5176 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5177 break;}
5178 case 296:
5179 #line 1373 "parse.y"
5180 { tree type = groktypename (yyvsp[-4].ftype.t);
5181 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5182 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5183 break;}
5184 case 297:
5185 #line 1377 "parse.y"
5186 { tree type = groktypename (yyvsp[-4].ftype.t);
5187 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5188 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5189 break;}
5190 case 298:
5191 #line 1381 "parse.y"
5192 { tree type = groktypename (yyvsp[-4].ftype.t);
5193 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5194 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5195 break;}
5196 case 299:
5197 #line 1385 "parse.y"
5198 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5199 break;}
5200 case 300:
5201 #line 1387 "parse.y"
5202 { tree type = groktypename (yyvsp[-1].ftype.t);
5203 check_for_new_type ("typeid", yyvsp[-1].ftype);
5204 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5205 break;}
5206 case 301:
5207 #line 1391 "parse.y"
5208 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5209 break;}
5210 case 302:
5211 #line 1393 "parse.y"
5212 {
5213 got_scope = NULL_TREE;
5214 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5215 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5216 else
5217 yyval.ttype = yyvsp[0].ttype;
5218 ;
5219 break;}
5220 case 303:
5221 #line 1401 "parse.y"
5222 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5223 break;}
5224 case 304:
5225 #line 1403 "parse.y"
5226 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5227 break;}
5228 case 305:
5229 #line 1405 "parse.y"
5230 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5231 break;}
5232 case 306:
5233 #line 1407 "parse.y"
5234 {
5235 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5236 ;
5237 break;}
5238 case 307:
5239 #line 1411 "parse.y"
5240 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5241 break;}
5242 case 308:
5243 #line 1413 "parse.y"
5244 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5245 break;}
5246 case 309:
5247 #line 1415 "parse.y"
5248 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5249 break;}
5250 case 310:
5251 #line 1417 "parse.y"
5252 { if (processing_template_decl)
5253 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5254 else
5255 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5256 break;}
5257 case 311:
5258 #line 1422 "parse.y"
5259 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5260 break;}
5261 case 312:
5262 #line 1424 "parse.y"
5263 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5264 break;}
5265 case 313:
5266 #line 1426 "parse.y"
5267 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5268 break;}
5269 case 314:
5270 #line 1428 "parse.y"
5271 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5272 break;}
5273 case 315:
5274 #line 1431 "parse.y"
5275 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5276 break;}
5277 case 316:
5278 #line 1433 "parse.y"
5279 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5280 break;}
5281 case 317:
5282 #line 1435 "parse.y"
5283 {
5284 yyval.ttype = error_mark_node;
5285 ;
5286 break;}
5287 case 318:
5288 #line 1480 "parse.y"
5289 { yyval.itype = 0; ;
5290 break;}
5291 case 319:
5292 #line 1482 "parse.y"
5293 { got_scope = NULL_TREE; yyval.itype = 1; ;
5294 break;}
5295 case 320:
5296 #line 1487 "parse.y"
5297 { yyval.itype = 0; ;
5298 break;}
5299 case 321:
5300 #line 1489 "parse.y"
5301 { got_scope = NULL_TREE; yyval.itype = 1; ;
5302 break;}
5303 case 322:
5304 #line 1494 "parse.y"
5305 { yyval.ttype = boolean_true_node; ;
5306 break;}
5307 case 323:
5308 #line 1496 "parse.y"
5309 { yyval.ttype = boolean_false_node; ;
5310 break;}
5311 case 325:
5312 #line 1503 "parse.y"
5313 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5314 break;}
5315 case 326:
5316 #line 1508 "parse.y"
5317 {
5318 if (! current_function_parms_stored)
5319 store_parm_decls ();
5320 setup_vtbl_ptr ();
5321 /* Always keep the BLOCK node associated with the outermost
5322 pair of curley braces of a function. These are needed
5323 for correct operation of dwarfout.c. */
5324 keep_next_level ();
5325 ;
5326 break;}
5327 case 327:
5328 #line 1521 "parse.y"
5329 { got_object = TREE_TYPE (yyval.ttype); ;
5330 break;}
5331 case 328:
5332 #line 1523 "parse.y"
5333 {
5334 yyval.ttype = build_x_arrow (yyval.ttype);
5335 got_object = TREE_TYPE (yyval.ttype);
5336 ;
5337 break;}
5338 case 329:
5339 #line 1531 "parse.y"
5340 {
5341 resume_momentary (yyvsp[-1].itype);
5342 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5343 note_got_semicolon (yyvsp[-2].ftype.t);
5344 ;
5345 break;}
5346 case 330:
5347 #line 1537 "parse.y"
5348 {
5349 resume_momentary (yyvsp[-1].itype);
5350 note_list_got_semicolon (yyvsp[-2].ftype.t);
5351 ;
5352 break;}
5353 case 331:
5354 #line 1542 "parse.y"
5355 { resume_momentary (yyvsp[-1].itype); ;
5356 break;}
5357 case 332:
5358 #line 1544 "parse.y"
5359 {
5360 shadow_tag (yyvsp[-1].ftype.t);
5361 note_list_got_semicolon (yyvsp[-1].ftype.t);
5362 ;
5363 break;}
5364 case 333:
5365 #line 1549 "parse.y"
5366 { warning ("empty declaration"); ;
5367 break;}
5368 case 334:
5369 #line 1551 "parse.y"
5370 { pedantic = yyvsp[-1].itype; ;
5371 break;}
5372 case 337:
5373 #line 1565 "parse.y"
5374 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5375 NULL_TREE, NULL_TREE); ;
5376 break;}
5377 case 338:
5378 #line 1568 "parse.y"
5379 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5380 NULL_TREE); ;
5381 break;}
5382 case 339:
5383 #line 1575 "parse.y"
5384 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5385 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5386 break;}
5387 case 340:
5388 #line 1578 "parse.y"
5389 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5390 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5391 break;}
5392 case 341:
5393 #line 1581 "parse.y"
5394 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5395 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5396 break;}
5397 case 342:
5398 #line 1584 "parse.y"
5399 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5400 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5401 break;}
5402 case 343:
5403 #line 1587 "parse.y"
5404 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5405 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5406 break;}
5407 case 346:
5408 #line 1603 "parse.y"
5409 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5410 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5411 break;}
5412 case 347:
5413 #line 1606 "parse.y"
5414 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5415 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5416 break;}
5417 case 348:
5418 #line 1609 "parse.y"
5419 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5420 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5421 break;}
5422 case 349:
5423 #line 1612 "parse.y"
5424 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5425 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5426 break;}
5427 case 350:
5428 #line 1615 "parse.y"
5429 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5430 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5431 break;}
5432 case 351:
5433 #line 1618 "parse.y"
5434 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5435 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5436 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5437 break;}
5438 case 352:
5439 #line 1625 "parse.y"
5440 { if (extra_warnings)
5441 warning ("`%s' is not at beginning of declaration",
5442 IDENTIFIER_POINTER (yyval.ttype));
5443 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5444 break;}
5445 case 353:
5446 #line 1630 "parse.y"
5447 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5448 break;}
5449 case 354:
5450 #line 1632 "parse.y"
5451 { if (extra_warnings)
5452 warning ("`%s' is not at beginning of declaration",
5453 IDENTIFIER_POINTER (yyvsp[0].ttype));
5454 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5455 break;}
5456 case 355:
5457 #line 1637 "parse.y"
5458 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5459 break;}
5460 case 356:
5461 #line 1639 "parse.y"
5462 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5463 break;}
5464 case 357:
5465 #line 1649 "parse.y"
5466 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5467 break;}
5468 case 358:
5469 #line 1651 "parse.y"
5470 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5471 break;}
5472 case 359:
5473 #line 1653 "parse.y"
5474 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5475 TREE_STATIC (yyval.ttype) = 1; ;
5476 break;}
5477 case 360:
5478 #line 1656 "parse.y"
5479 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5480 warning ("`%s' is not at beginning of declaration",
5481 IDENTIFIER_POINTER (yyvsp[0].ttype));
5482 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5483 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5484 break;}
5485 case 361:
5486 #line 1662 "parse.y"
5487 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5488 break;}
5489 case 362:
5490 #line 1664 "parse.y"
5491 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5492 break;}
5493 case 363:
5494 #line 1675 "parse.y"
5495 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5496 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5497 break;}
5498 case 364:
5499 #line 1678 "parse.y"
5500 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5501 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5502 break;}
5503 case 365:
5504 #line 1681 "parse.y"
5505 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5506 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5507 break;}
5508 case 366:
5509 #line 1684 "parse.y"
5510 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5511 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5512 break;}
5513 case 367:
5514 #line 1690 "parse.y"
5515 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5516 break;}
5517 case 368:
5518 #line 1692 "parse.y"
5519 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5520 break;}
5521 case 370:
5522 #line 1702 "parse.y"
5523 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5524 break;}
5525 case 371:
5526 #line 1704 "parse.y"
5527 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5528 break;}
5529 case 372:
5530 #line 1706 "parse.y"
5531 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5532 yyval.ftype.new_type_flag = 0; ;
5533 break;}
5534 case 373:
5535 #line 1709 "parse.y"
5536 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5537 yyval.ftype.new_type_flag = 0; ;
5538 break;}
5539 case 374:
5540 #line 1712 "parse.y"
5541 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5542
5543 yyval.ftype.new_type_flag = 0;
5544 if (IS_AGGR_TYPE (type))
5545 {
5546 sorry ("sigof type specifier");
5547 yyval.ftype.t = type;
5548 }
5549 else
5550 {
5551 error ("`sigof' applied to non-aggregate expression");
5552 yyval.ftype.t = error_mark_node;
5553 }
5554 ;
5555 break;}
5556 case 375:
5557 #line 1727 "parse.y"
5558 { tree type = groktypename (yyvsp[-1].ftype.t);
5559
5560 yyval.ftype.new_type_flag = 0;
5561 if (IS_AGGR_TYPE (type))
5562 {
5563 sorry ("sigof type specifier");
5564 yyval.ftype.t = type;
5565 }
5566 else
5567 {
5568 error("`sigof' applied to non-aggregate type");
5569 yyval.ftype.t = error_mark_node;
5570 }
5571 ;
5572 break;}
5573 case 376:
5574 #line 1747 "parse.y"
5575 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5576 break;}
5577 case 377:
5578 #line 1749 "parse.y"
5579 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5580 break;}
5581 case 385:
5582 #line 1770 "parse.y"
5583 { yyval.ttype = NULL_TREE; ;
5584 break;}
5585 case 386:
5586 #line 1772 "parse.y"
5587 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5588 break;}
5589 case 387:
5590 #line 1777 "parse.y"
5591 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5592 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5593 break;}
5594 case 388:
5595 #line 1781 "parse.y"
5596 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5597 break;}
5598 case 389:
5599 #line 1783 "parse.y"
5600 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5601 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes);
5602 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5603 break;}
5604 case 390:
5605 #line 1796 "parse.y"
5606 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5607 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5608 break;}
5609 case 391:
5610 #line 1801 "parse.y"
5611 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5612 LOOKUP_ONLYCONVERTING);
5613 yyval.itype = yyvsp[-2].itype; ;
5614 break;}
5615 case 392:
5616 #line 1805 "parse.y"
5617 { tree d;
5618 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5619 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5620 break;}
5621 case 393:
5622 #line 1812 "parse.y"
5623 { yyval.itype = yyvsp[0].itype; ;
5624 break;}
5625 case 394:
5626 #line 1816 "parse.y"
5627 { yyval.itype = yyvsp[0].itype; ;
5628 break;}
5629 case 395:
5630 #line 1821 "parse.y"
5631 { /* Set things up as initdcl0_innards expects. */
5632 yyval.ttype = yyvsp[-1].ttype;
5633 yyvsp[-1].ttype = NULL_TREE; ;
5634 break;}
5635 case 396:
5636 #line 1825 "parse.y"
5637 {;
5638 break;}
5639 case 397:
5640 #line 1827 "parse.y"
5641 { tree d;
5642 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5643 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5644 break;}
5645 case 398:
5646 #line 1836 "parse.y"
5647 { yyval.ttype = NULL_TREE; ;
5648 break;}
5649 case 399:
5650 #line 1838 "parse.y"
5651 { yyval.ttype = yyvsp[0].ttype; ;
5652 break;}
5653 case 400:
5654 #line 1843 "parse.y"
5655 { yyval.ttype = yyvsp[0].ttype; ;
5656 break;}
5657 case 401:
5658 #line 1845 "parse.y"
5659 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5660 break;}
5661 case 402:
5662 #line 1850 "parse.y"
5663 { yyval.ttype = yyvsp[-2].ttype; ;
5664 break;}
5665 case 403:
5666 #line 1855 "parse.y"
5667 { yyval.ttype = yyvsp[0].ttype; ;
5668 break;}
5669 case 404:
5670 #line 1857 "parse.y"
5671 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5672 break;}
5673 case 405:
5674 #line 1862 "parse.y"
5675 { yyval.ttype = NULL_TREE; ;
5676 break;}
5677 case 406:
5678 #line 1864 "parse.y"
5679 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5680 break;}
5681 case 407:
5682 #line 1866 "parse.y"
5683 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5684 break;}
5685 case 408:
5686 #line 1868 "parse.y"
5687 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5688 break;}
5689 case 409:
5690 #line 1870 "parse.y"
5691 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5692 break;}
5693 case 414:
5694 #line 1886 "parse.y"
5695 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5696 break;}
5697 case 415:
5698 #line 1888 "parse.y"
5699 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5700 break;}
5701 case 416:
5702 #line 1893 "parse.y"
5703 { yyval.ttype = NULL_TREE; ;
5704 break;}
5705 case 417:
5706 #line 1895 "parse.y"
5707 { yyval.ttype = yyvsp[0].ttype; ;
5708 break;}
5709 case 419:
5710 #line 1903 "parse.y"
5711 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5712 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5713 break;}
5714 case 420:
5715 #line 1906 "parse.y"
5716 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5717 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5718 break;}
5719 case 421:
5720 #line 1909 "parse.y"
5721 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5722 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5723 break;}
5724 case 422:
5725 #line 1912 "parse.y"
5726 { yyval.ttype = NULL_TREE; ;
5727 break;}
5728 case 423:
5729 #line 1919 "parse.y"
5730 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5731 break;}
5732 case 424:
5733 #line 1921 "parse.y"
5734 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5735 break;}
5736 case 425:
5737 #line 1924 "parse.y"
5738 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5739 break;}
5740 case 426:
5741 #line 1926 "parse.y"
5742 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5743 break;}
5744 case 427:
5745 #line 1928 "parse.y"
5746 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5747 break;}
5748 case 428:
5749 #line 1933 "parse.y"
5750 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5751 NULL_TREE, 1);
5752 reinit_parse_for_function (); ;
5753 break;}
5754 case 429:
5755 #line 1939 "parse.y"
5756 {
5757 int nested = (hack_decl_function_context
5758 (current_function_decl) != NULL_TREE);
5759 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5760 process_next_inline (yyvsp[-3].ttype);
5761 ;
5762 break;}
5763 case 430:
5764 #line 1946 "parse.y"
5765 { process_next_inline (yyvsp[-2].ttype); ;
5766 break;}
5767 case 431:
5768 #line 1948 "parse.y"
5769 { process_next_inline (yyvsp[-2].ttype); ;
5770 break;}
5771 case 434:
5772 #line 1960 "parse.y"
5773 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5774 break;}
5775 case 435:
5776 #line 1962 "parse.y"
5777 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5778 break;}
5779 case 437:
5780 #line 1967 "parse.y"
5781 { do_pending_defargs (); ;
5782 break;}
5783 case 438:
5784 #line 1969 "parse.y"
5785 { do_pending_defargs (); ;
5786 break;}
5787 case 439:
5788 #line 1974 "parse.y"
5789 { yyvsp[0].itype = suspend_momentary ();
5790 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5791 break;}
5792 case 440:
5793 #line 1977 "parse.y"
5794 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5795 yyval.ftype.new_type_flag = 1;
5796 resume_momentary ((int) yyvsp[-4].itype);
5797 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5798 break;}
5799 case 441:
5800 #line 1982 "parse.y"
5801 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5802 yyval.ftype.new_type_flag = 1;
5803 check_for_missing_semicolon (yyval.ftype.t); ;
5804 break;}
5805 case 442:
5806 #line 1986 "parse.y"
5807 { yyvsp[0].itype = suspend_momentary ();
5808 yyval.ttype = start_enum (make_anon_name ()); ;
5809 break;}
5810 case 443:
5811 #line 1989 "parse.y"
5812 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5813 resume_momentary ((int) yyvsp[-5].itype);
5814 check_for_missing_semicolon (yyvsp[-3].ttype);
5815 yyval.ftype.new_type_flag = 1; ;
5816 break;}
5817 case 444:
5818 #line 1994 "parse.y"
5819 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5820 yyval.ftype.new_type_flag = 1;
5821 check_for_missing_semicolon (yyval.ftype.t); ;
5822 break;}
5823 case 445:
5824 #line 1998 "parse.y"
5825 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5826 yyval.ftype.new_type_flag = 0; ;
5827 break;}
5828 case 446:
5829 #line 2001 "parse.y"
5830 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5831 yyval.ftype.new_type_flag = 0; ;
5832 break;}
5833 case 447:
5834 #line 2004 "parse.y"
5835 { yyval.ftype.t = yyvsp[0].ttype;
5836 yyval.ftype.new_type_flag = 0; ;
5837 break;}
5838 case 448:
5839 #line 2009 "parse.y"
5840 {
5841 int semi;
5842
5843 yyval.ttype = yyvsp[-4].ttype;
5844 #if 0
5845 /* Need to rework class nesting in the
5846 presence of nested classes, etc. */
5847 shadow_tag (CLASSTYPE_AS_LIST (yyvsp[-4].ttype)); */
5848 #endif
5849 if (yychar == YYEMPTY)
5850 yychar = YYLEX;
5851 semi = yychar == ';';
5852 /* finish_struct nukes this anyway; if
5853 finish_exception does too, then it can go. */
5854 if (semi)
5855 note_got_semicolon (yyvsp[-4].ttype);
5856
5857 if (TREE_CODE (yyvsp[-4].ttype) == ENUMERAL_TYPE)
5858 ;
5859 else
5860 {
5861 yyval.ttype = finish_struct (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5862 if (semi) note_got_semicolon (yyval.ttype);
5863 }
5864
5865 pop_obstacks ();
5866
5867 if (! semi)
5868 check_for_missing_semicolon (yyvsp[-4].ttype);
5869 if (current_scope () == current_function_decl)
5870 do_pending_defargs ();
5871 ;
5872 break;}
5873 case 449:
5874 #line 2042 "parse.y"
5875 {
5876 if (pending_inlines
5877 && current_scope () == current_function_decl)
5878 do_pending_inlines ();
5879 ;
5880 break;}
5881 case 450:
5882 #line 2048 "parse.y"
5883 {
5884 yyval.ftype.t = yyvsp[-3].ttype;
5885 yyval.ftype.new_type_flag = 1;
5886 if (current_class_type == NULL_TREE)
5887 clear_inline_text_obstack ();
5888
5889 /* Undo the begin_tree in left_curly. */
5890 end_tree ();
5891 ;
5892 break;}
5893 case 451:
5894 #line 2058 "parse.y"
5895 {
5896 yyval.ftype.new_type_flag = 0;
5897 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5898 {
5899 cp_error ("%T is not a class type", yyvsp[0].ttype);
5900 yyval.ftype.t = error_mark_node;
5901 }
5902 else
5903 {
5904 yyval.ftype.t = yyvsp[0].ttype;
5905 /* struct B: public A; is not accepted by the WP grammar. */
5906 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5907 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5908 cp_error ("base clause without member specification for `%#T'",
5909 yyval.ftype.t);
5910 }
5911 ;
5912 break;}
5913 case 455:
5914 #line 2085 "parse.y"
5915 { if (pedantic && !in_system_header)
5916 pedwarn ("comma at end of enumerator list"); ;
5917 break;}
5918 case 457:
5919 #line 2092 "parse.y"
5920 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5921 break;}
5922 case 458:
5923 #line 2094 "parse.y"
5924 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5925 break;}
5926 case 459:
5927 #line 2096 "parse.y"
5928 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5929 break;}
5930 case 460:
5931 #line 2098 "parse.y"
5932 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5933 break;}
5934 case 461:
5935 #line 2103 "parse.y"
5936 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5937 break;}
5938 case 462:
5939 #line 2108 "parse.y"
5940 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5941 break;}
5942 case 463:
5943 #line 2113 "parse.y"
5944 {
5945 current_aggr = yyvsp[-2].ttype;
5946 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5947 ;
5948 break;}
5949 case 464:
5950 #line 2118 "parse.y"
5951 {
5952 current_aggr = yyvsp[-3].ttype;
5953 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5954 ;
5955 break;}
5956 case 465:
5957 #line 2123 "parse.y"
5958 {
5959 current_aggr = yyvsp[-2].ttype;
5960 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5961 ;
5962 break;}
5963 case 466:
5964 #line 2128 "parse.y"
5965 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5966 break;}
5967 case 467:
5968 #line 2130 "parse.y"
5969 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5970 break;}
5971 case 468:
5972 #line 2135 "parse.y"
5973 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5974 break;}
5975 case 469:
5976 #line 2140 "parse.y"
5977 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5978 break;}
5979 case 470:
5980 #line 2143 "parse.y"
5981 {
5982 yyval.ttype = yyvsp[-1].ttype;
5983 if (yyvsp[0].ttype)
5984 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5985 ;
5986 break;}
5987 case 471:
5988 #line 2149 "parse.y"
5989 {
5990 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5991 if (TREE_INT_CST_LOW (current_aggr) == union_type
5992 && TREE_CODE (yyval.ttype) != UNION_TYPE)
5993 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
5994 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
5995 && TREE_INT_CST_LOW (current_aggr) != union_type)
5996 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
5997 if (yyvsp[0].ttype)
5998 {
5999 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
6000 {
6001 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
6002 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
6003 {
6004 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6005 if (processing_template_decl)
6006 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6007 }
6008 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6009 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6010 }
6011 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6012 }
6013 ;
6014 break;}
6015 case 472:
6016 #line 2178 "parse.y"
6017 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6018 yyungetc ('{', 1); ;
6019 break;}
6020 case 475:
6021 #line 2189 "parse.y"
6022 { yyval.ttype = NULL_TREE; ;
6023 break;}
6024 case 476:
6025 #line 2191 "parse.y"
6026 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6027 break;}
6028 case 477:
6029 #line 2193 "parse.y"
6030 { yyval.ttype = yyvsp[0].ttype; ;
6031 break;}
6032 case 479:
6033 #line 2199 "parse.y"
6034 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6035 break;}
6036 case 480:
6037 #line 2204 "parse.y"
6038 {
6039 tree type = TREE_TYPE (yyvsp[0].ttype);
6040 if (! is_aggr_type (type, 1))
6041 yyval.ttype = NULL_TREE;
6042 else if (current_aggr == signature_type_node
6043 && (! type) && (! IS_SIGNATURE (type)))
6044 {
6045 error ("class name not allowed as base signature");
6046 yyval.ttype = NULL_TREE;
6047 }
6048 else if (current_aggr == signature_type_node)
6049 {
6050 sorry ("signature inheritance, base type `%s' ignored",
6051 IDENTIFIER_POINTER (yyval.ttype));
6052 yyval.ttype = build_tree_list (access_public_node, type);
6053 }
6054 else if (type && IS_SIGNATURE (type))
6055 {
6056 error ("signature name not allowed as base class");
6057 yyval.ttype = NULL_TREE;
6058 }
6059 else
6060 yyval.ttype = build_tree_list (access_default_node, type);
6061 ;
6062 break;}
6063 case 481:
6064 #line 2229 "parse.y"
6065 {
6066 tree type = TREE_TYPE (yyvsp[0].ttype);
6067 if (current_aggr == signature_type_node)
6068 error ("access and source specifiers not allowed in signature");
6069 if (! IS_AGGR_TYPE (type))
6070 yyval.ttype = NULL_TREE;
6071 else if (current_aggr == signature_type_node
6072 && (! type) && (! IS_SIGNATURE (type)))
6073 {
6074 error ("class name not allowed as base signature");
6075 yyval.ttype = NULL_TREE;
6076 }
6077 else if (current_aggr == signature_type_node)
6078 {
6079 sorry ("signature inheritance, base type `%s' ignored",
6080 IDENTIFIER_POINTER (yyval.ttype));
6081 yyval.ttype = build_tree_list (access_public_node, type);
6082 }
6083 else if (type && IS_SIGNATURE (type))
6084 {
6085 error ("signature name not allowed as base class");
6086 yyval.ttype = NULL_TREE;
6087 }
6088 else
6089 yyval.ttype = build_tree_list (yyval.ttype, type);
6090 ;
6091 break;}
6092 case 482:
6093 #line 2259 "parse.y"
6094 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6095 break;}
6096 case 484:
6097 #line 2262 "parse.y"
6098 {
6099 if (current_aggr == signature_type_node)
6100 {
6101 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6102 {
6103 sorry ("`sigof' as base signature specifier");
6104 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6105 }
6106 else
6107 {
6108 error ("`sigof' applied to non-aggregate expression");
6109 yyval.ttype = error_mark_node;
6110 }
6111 }
6112 else
6113 {
6114 error ("`sigof' in struct or class declaration");
6115 yyval.ttype = error_mark_node;
6116 }
6117 ;
6118 break;}
6119 case 485:
6120 #line 2283 "parse.y"
6121 {
6122 if (current_aggr == signature_type_node)
6123 {
6124 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6125 {
6126 sorry ("`sigof' as base signature specifier");
6127 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6128 }
6129 else
6130 {
6131 error ("`sigof' applied to non-aggregate expression");
6132 yyval.ttype = error_mark_node;
6133 }
6134 }
6135 else
6136 {
6137 error ("`sigof' in struct or class declaration");
6138 yyval.ttype = error_mark_node;
6139 }
6140 ;
6141 break;}
6142 case 487:
6143 #line 2308 "parse.y"
6144 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6145 cp_error ("`%D' access", yyvsp[-1].ttype);
6146 yyval.ttype = access_default_virtual_node; ;
6147 break;}
6148 case 488:
6149 #line 2312 "parse.y"
6150 {
6151 if (yyvsp[-2].ttype != access_default_virtual_node)
6152 error ("multiple access specifiers");
6153 else if (yyvsp[-1].ttype == access_public_node)
6154 yyval.ttype = access_public_virtual_node;
6155 else if (yyvsp[-1].ttype == access_protected_node)
6156 yyval.ttype = access_protected_virtual_node;
6157 else /* $2 == access_private_node */
6158 yyval.ttype = access_private_virtual_node;
6159 ;
6160 break;}
6161 case 489:
6162 #line 2323 "parse.y"
6163 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6164 cp_error ("`%D' access", yyvsp[-1].ttype);
6165 else if (yyval.ttype == access_public_node)
6166 yyval.ttype = access_public_virtual_node;
6167 else if (yyval.ttype == access_protected_node)
6168 yyval.ttype = access_protected_virtual_node;
6169 else if (yyval.ttype == access_private_node)
6170 yyval.ttype = access_private_virtual_node;
6171 else
6172 error ("multiple `virtual' specifiers");
6173 ;
6174 break;}
6175 case 490:
6176 #line 2338 "parse.y"
6177 { tree t = yyvsp[-1].ttype;
6178 push_obstacks_nochange ();
6179 end_temporary_allocation ();
6180
6181 if (t == error_mark_node
6182 || ! IS_AGGR_TYPE (t))
6183 {
6184 t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
6185 pushtag (make_anon_name (), t, 0);
6186 }
6187 if (TYPE_SIZE (t))
6188 duplicate_tag_error (t);
6189 if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
6190 {
6191 t = make_lang_type (TREE_CODE (t));
6192 pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
6193 yyvsp[-1].ttype = t;
6194 }
6195 if (processing_template_decl && TYPE_CONTEXT (t)
6196 && ! current_class_type)
6197 push_template_decl (TYPE_STUB_DECL (t));
6198 pushclass (t, 0);
6199 TYPE_BEING_DEFINED (t) = 1;
6200 if (IS_AGGR_TYPE (t) && CLASSTYPE_USE_TEMPLATE (t))
6201 {
6202 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t)
6203 && TYPE_SIZE (t) == NULL_TREE)
6204 {
6205 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
6206 if (processing_template_decl)
6207 push_template_decl (TYPE_MAIN_DECL (t));
6208 }
6209 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
6210 cp_error ("specialization after instantiation of `%T'", t);
6211 }
6212 /* Reset the interface data, at the earliest possible
6213 moment, as it might have been set via a class foo;
6214 before. */
6215 /* Don't change signatures. */
6216 if (! IS_SIGNATURE (t))
6217 {
6218 extern tree pending_vtables;
6219 int needs_writing;
6220 tree name = TYPE_IDENTIFIER (t);
6221
6222 if (! ANON_AGGRNAME_P (name))
6223 {
6224 CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
6225 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6226 (t, interface_unknown);
6227 }
6228
6229 /* Record how to set the access of this class's
6230 virtual functions. If write_virtuals == 2 or 3, then
6231 inline virtuals are ``extern inline''. */
6232 switch (write_virtuals)
6233 {
6234 case 0:
6235 case 1:
6236 needs_writing = 1;
6237 break;
6238 case 2:
6239 needs_writing = !! value_member (name, pending_vtables);
6240 break;
6241 case 3:
6242 needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
6243 && CLASSTYPE_INTERFACE_KNOWN (t);
6244 break;
6245 default:
6246 needs_writing = 0;
6247 }
6248 CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
6249 }
6250 #if 0
6251 t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
6252 if (t && IDENTIFIER_TEMPLATE (t))
6253 overload_template_name (t, 1);
6254 #endif
6255 reset_specialization();
6256
6257 /* In case this is a local class within a template
6258 function, we save the current tree structure so
6259 that we can get it back later. */
6260 begin_tree ();
6261 ;
6262 break;}
6263 case 491:
6264 #line 2427 "parse.y"
6265 {
6266 yyval.ttype = build_self_reference ();
6267 ;
6268 break;}
6269 case 492:
6270 #line 2434 "parse.y"
6271 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6272 break;}
6273 case 493:
6274 #line 2436 "parse.y"
6275 {
6276 if (current_aggr == signature_type_node)
6277 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6278 else
6279 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6280 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6281 ;
6282 break;}
6283 case 494:
6284 #line 2444 "parse.y"
6285 {
6286 tree visspec = yyvsp[-2].ttype;
6287
6288 if (current_aggr == signature_type_node)
6289 {
6290 error ("access specifier not allowed in signature");
6291 visspec = access_public_node;
6292 }
6293 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6294 ;
6295 break;}
6296 case 495:
6297 #line 2455 "parse.y"
6298 {
6299 if (current_aggr == signature_type_node)
6300 error ("access specifier not allowed in signature");
6301 ;
6302 break;}
6303 case 496:
6304 #line 2465 "parse.y"
6305 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6306 ;
6307 break;}
6308 case 497:
6309 #line 2468 "parse.y"
6310 { /* In pushdecl, we created a reverse list of names
6311 in this binding level. Make sure that the chain
6312 of what we're trying to add isn't the item itself
6313 (which can happen with what pushdecl's doing). */
6314 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6315 {
6316 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6317 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6318 else
6319 yyval.ttype = yyvsp[0].ttype;
6320 }
6321 ;
6322 break;}
6323 case 498:
6324 #line 2484 "parse.y"
6325 { ;
6326 break;}
6327 case 499:
6328 #line 2486 "parse.y"
6329 { error ("missing ';' before right brace");
6330 yyungetc ('}', 0); ;
6331 break;}
6332 case 500:
6333 #line 2491 "parse.y"
6334 { yyval.ttype = finish_method (yyval.ttype); ;
6335 break;}
6336 case 501:
6337 #line 2493 "parse.y"
6338 { yyval.ttype = finish_method (yyval.ttype); ;
6339 break;}
6340 case 502:
6341 #line 2495 "parse.y"
6342 { yyval.ttype = finish_method (yyval.ttype); ;
6343 break;}
6344 case 503:
6345 #line 2497 "parse.y"
6346 { yyval.ttype = finish_method (yyval.ttype); ;
6347 break;}
6348 case 504:
6349 #line 2499 "parse.y"
6350 { yyval.ttype = NULL_TREE; ;
6351 break;}
6352 case 505:
6353 #line 2501 "parse.y"
6354 { yyval.ttype = yyvsp[0].ttype;
6355 pedantic = yyvsp[-1].itype; ;
6356 break;}
6357 case 506:
6358 #line 2504 "parse.y"
6359 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6360 break;}
6361 case 507:
6362 #line 2506 "parse.y"
6363 {
6364 shadow_tag (yyvsp[-1].ftype.t);
6365 note_list_got_semicolon (yyvsp[-1].ftype.t);
6366 yyval.ttype = finish_member_template_decl (yyvsp[-2].ttype, yyvsp[-1].ftype.t);
6367 ;
6368 break;}
6369 case 508:
6370 #line 2518 "parse.y"
6371 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6372 break;}
6373 case 509:
6374 #line 2520 "parse.y"
6375 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6376 break;}
6377 case 510:
6378 #line 2522 "parse.y"
6379 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6380 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6381 break;}
6382 case 511:
6383 #line 2525 "parse.y"
6384 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6385 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6386 break;}
6387 case 512:
6388 #line 2528 "parse.y"
6389 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6390 break;}
6391 case 513:
6392 #line 2530 "parse.y"
6393 { yyval.ttype = NULL_TREE; ;
6394 break;}
6395 case 514:
6396 #line 2541 "parse.y"
6397 { tree specs, attrs;
6398 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6399 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6400 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6401 break;}
6402 case 515:
6403 #line 2546 "parse.y"
6404 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6405 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6406 break;}
6407 case 516:
6408 #line 2549 "parse.y"
6409 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6410 break;}
6411 case 517:
6412 #line 2555 "parse.y"
6413 { yyval.ttype = NULL_TREE; ;
6414 break;}
6415 case 519:
6416 #line 2558 "parse.y"
6417 {
6418 /* In this context, void_type_node encodes
6419 friends. They have been recorded elsewhere. */
6420 if (yyval.ttype == void_type_node)
6421 yyval.ttype = yyvsp[0].ttype;
6422 else
6423 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6424 ;
6425 break;}
6426 case 520:
6427 #line 2570 "parse.y"
6428 { yyval.ttype = NULL_TREE; ;
6429 break;}
6430 case 522:
6431 #line 2573 "parse.y"
6432 {
6433 /* In this context, void_type_node encodes
6434 friends. They have been recorded elsewhere. */
6435 if (yyval.ttype == void_type_node)
6436 yyval.ttype = yyvsp[0].ttype;
6437 else
6438 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6439 ;
6440 break;}
6441 case 527:
6442 #line 2595 "parse.y"
6443 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6444 &prefix_attributes);
6445 yyvsp[-4].ttype = current_declspecs;
6446 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6447 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6448 break;}
6449 case 528:
6450 #line 2601 "parse.y"
6451 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6452 &prefix_attributes);
6453 yyvsp[-4].ttype = current_declspecs;
6454 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6455 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6456 break;}
6457 case 529:
6458 #line 2610 "parse.y"
6459 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6460 &prefix_attributes);
6461 yyvsp[-4].ttype = current_declspecs;
6462 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6463 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6464 break;}
6465 case 530:
6466 #line 2616 "parse.y"
6467 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6468 &prefix_attributes);
6469 yyvsp[-4].ttype = current_declspecs;
6470 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6471 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6472 break;}
6473 case 531:
6474 #line 2622 "parse.y"
6475 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6476 &prefix_attributes);
6477 yyvsp[-4].ttype = current_declspecs;
6478 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6479 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6480 break;}
6481 case 532:
6482 #line 2628 "parse.y"
6483 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6484 &prefix_attributes);
6485 yyvsp[-3].ttype = current_declspecs;
6486 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6487 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6488 break;}
6489 case 533:
6490 #line 2637 "parse.y"
6491 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6492 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6493 break;}
6494 case 534:
6495 #line 2640 "parse.y"
6496 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6497 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6498 break;}
6499 case 535:
6500 #line 2646 "parse.y"
6501 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6502 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6503 break;}
6504 case 536:
6505 #line 2649 "parse.y"
6506 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6507 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6508 break;}
6509 case 537:
6510 #line 2652 "parse.y"
6511 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6512 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6513 break;}
6514 case 539:
6515 #line 2663 "parse.y"
6516 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6517 break;}
6518 case 540:
6519 #line 2668 "parse.y"
6520 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6521 break;}
6522 case 541:
6523 #line 2670 "parse.y"
6524 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6525 break;}
6526 case 542:
6527 #line 2676 "parse.y"
6528 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6529 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6530 break;}
6531 case 543:
6532 #line 2679 "parse.y"
6533 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6534 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6535 break;}
6536 case 544:
6537 #line 2684 "parse.y"
6538 {
6539 if (pedantic)
6540 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6541 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6542 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6543 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6544 ;
6545 break;}
6546 case 545:
6547 #line 2695 "parse.y"
6548 { yyval.ttype = NULL_TREE; ;
6549 break;}
6550 case 546:
6551 #line 2697 "parse.y"
6552 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6553 break;}
6554 case 547:
6555 #line 2702 "parse.y"
6556 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6557 yyval.ftype.new_type_flag = 0; ;
6558 break;}
6559 case 548:
6560 #line 2705 "parse.y"
6561 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6562 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6563 break;}
6564 case 549:
6565 #line 2714 "parse.y"
6566 { yyval.itype = suspend_momentary (); ;
6567 break;}
6568 case 550:
6569 #line 2719 "parse.y"
6570 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6571 break;}
6572 case 551:
6573 #line 2725 "parse.y"
6574 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6575 break;}
6576 case 552:
6577 #line 2727 "parse.y"
6578 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6579 break;}
6580 case 553:
6581 #line 2729 "parse.y"
6582 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6583 break;}
6584 case 554:
6585 #line 2731 "parse.y"
6586 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6587 break;}
6588 case 555:
6589 #line 2738 "parse.y"
6590 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6591 break;}
6592 case 556:
6593 #line 2740 "parse.y"
6594 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6595 break;}
6596 case 557:
6597 #line 2742 "parse.y"
6598 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6599 break;}
6600 case 558:
6601 #line 2744 "parse.y"
6602 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6603 break;}
6604 case 559:
6605 #line 2746 "parse.y"
6606 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6607 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6608 ;
6609 break;}
6610 case 561:
6611 #line 2754 "parse.y"
6612 {
6613 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6614 {
6615 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6616 if (current_class_type
6617 && TYPE_BEING_DEFINED (current_class_type)
6618 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6619 {
6620 /* Remember that this name has been used in the class
6621 definition, as per [class.scope0] */
6622 pushdecl_class_level (yyval.ttype);
6623 }
6624 }
6625 else
6626 yyval.ttype = yyvsp[0].ttype;
6627 ;
6628 break;}
6629 case 562:
6630 #line 2771 "parse.y"
6631 {
6632 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6633 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6634 else
6635 yyval.ttype = yyvsp[0].ttype;
6636 got_scope = NULL_TREE;
6637 ;
6638 break;}
6639 case 565:
6640 #line 2784 "parse.y"
6641 { yyval.ttype = yyvsp[0].ttype; ;
6642 break;}
6643 case 566:
6644 #line 2789 "parse.y"
6645 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6646 break;}
6647 case 567:
6648 #line 2794 "parse.y"
6649 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6650 break;}
6651 case 568:
6652 #line 2796 "parse.y"
6653 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6654 break;}
6655 case 569:
6656 #line 2798 "parse.y"
6657 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6658 break;}
6659 case 570:
6660 #line 2800 "parse.y"
6661 { yyval.ttype = yyvsp[-1].ttype; ;
6662 break;}
6663 case 571:
6664 #line 2802 "parse.y"
6665 { push_nested_class (yyvsp[-1].ttype, 3);
6666 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6667 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6668 break;}
6669 case 573:
6670 #line 2813 "parse.y"
6671 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6672 break;}
6673 case 574:
6674 #line 2815 "parse.y"
6675 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6676 break;}
6677 case 575:
6678 #line 2817 "parse.y"
6679 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6680 break;}
6681 case 576:
6682 #line 2819 "parse.y"
6683 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6684 break;}
6685 case 577:
6686 #line 2821 "parse.y"
6687 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6688 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6689 ;
6690 break;}
6691 case 579:
6692 #line 2829 "parse.y"
6693 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6694 break;}
6695 case 580:
6696 #line 2831 "parse.y"
6697 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6698 break;}
6699 case 581:
6700 #line 2833 "parse.y"
6701 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6702 break;}
6703 case 582:
6704 #line 2835 "parse.y"
6705 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6706 break;}
6707 case 583:
6708 #line 2837 "parse.y"
6709 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6710 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6711 ;
6712 break;}
6713 case 585:
6714 #line 2845 "parse.y"
6715 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6716 break;}
6717 case 586:
6718 #line 2847 "parse.y"
6719 { yyval.ttype = yyvsp[-1].ttype; ;
6720 break;}
6721 case 587:
6722 #line 2849 "parse.y"
6723 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6724 break;}
6725 case 588:
6726 #line 2851 "parse.y"
6727 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6728 break;}
6729 case 589:
6730 #line 2853 "parse.y"
6731 { if (OP0 (yyval.ttype) != current_class_type)
6732 {
6733 push_nested_class (OP0 (yyval.ttype), 3);
6734 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6735 }
6736 ;
6737 break;}
6738 case 590:
6739 #line 2860 "parse.y"
6740 { got_scope = NULL_TREE;
6741 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6742 if (yyvsp[-1].ttype != current_class_type)
6743 {
6744 push_nested_class (yyvsp[-1].ttype, 3);
6745 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6746 }
6747 ;
6748 break;}
6749 case 591:
6750 #line 2872 "parse.y"
6751 { got_scope = NULL_TREE;
6752 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6753 break;}
6754 case 592:
6755 #line 2875 "parse.y"
6756 { got_scope = NULL_TREE;
6757 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6758 break;}
6759 case 593:
6760 #line 2881 "parse.y"
6761 { got_scope = NULL_TREE;
6762 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6763 break;}
6764 case 594:
6765 #line 2884 "parse.y"
6766 { got_scope = NULL_TREE;
6767 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6768 break;}
6769 case 596:
6770 #line 2891 "parse.y"
6771 { yyval.ttype = yyvsp[0].ttype; ;
6772 break;}
6773 case 597:
6774 #line 2896 "parse.y"
6775 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6776 break;}
6777 case 598:
6778 #line 2898 "parse.y"
6779 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6780 break;}
6781 case 599:
6782 #line 2900 "parse.y"
6783 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6784 break;}
6785 case 604:
6786 #line 2912 "parse.y"
6787 { yyval.ttype = yyvsp[0].ttype; ;
6788 break;}
6789 case 605:
6790 #line 2914 "parse.y"
6791 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6792 break;}
6793 case 606:
6794 #line 2921 "parse.y"
6795 {
6796 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6797 {
6798 yyval.ttype = lastiddecl;
6799 /* Remember that this name has been used in the class
6800 definition, as per [class.scope0] */
6801 if (current_class_type
6802 && TYPE_BEING_DEFINED (current_class_type)
6803 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6804 pushdecl_class_level (yyval.ttype);
6805 }
6806 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6807 ;
6808 break;}
6809 case 607:
6810 #line 2935 "parse.y"
6811 {
6812 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6813 yyval.ttype = lastiddecl;
6814 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6815 ;
6816 break;}
6817 case 608:
6818 #line 2941 "parse.y"
6819 {
6820 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6821 yyval.ttype = lastiddecl;
6822 got_scope = yyval.ttype;
6823 ;
6824 break;}
6825 case 609:
6826 #line 2947 "parse.y"
6827 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6828 break;}
6829 case 611:
6830 #line 2963 "parse.y"
6831 { yyval.ttype = yyvsp[0].ttype; ;
6832 break;}
6833 case 612:
6834 #line 2968 "parse.y"
6835 {
6836 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6837 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6838 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6839 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6840 else
6841 {
6842 yyval.ttype = yyvsp[0].ttype;
6843 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6844 yyval.ttype = TREE_TYPE (yyval.ttype);
6845 }
6846 ;
6847 break;}
6848 case 613:
6849 #line 2981 "parse.y"
6850 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6851 break;}
6852 case 614:
6853 #line 2983 "parse.y"
6854 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6855 break;}
6856 case 615:
6857 #line 2985 "parse.y"
6858 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6859 break;}
6860 case 616:
6861 #line 2990 "parse.y"
6862 {
6863 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6864 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6865 ;
6866 break;}
6867 case 617:
6868 #line 2995 "parse.y"
6869 {
6870 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6871 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6872 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6873 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6874 else
6875 {
6876 yyval.ttype = yyvsp[0].ttype;
6877 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6878 yyval.ttype = TREE_TYPE (yyval.ttype);
6879 }
6880 ;
6881 break;}
6882 case 618:
6883 #line 3008 "parse.y"
6884 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6885 break;}
6886 case 619:
6887 #line 3010 "parse.y"
6888 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6889 break;}
6890 case 620:
6891 #line 3015 "parse.y"
6892 {
6893 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6894 yyvsp[-1].ttype = lastiddecl;
6895
6896 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype));
6897
6898 if (yyval.ttype == error_mark_node)
6899 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6900 ;
6901 break;}
6902 case 621:
6903 #line 3025 "parse.y"
6904 {
6905 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6906 yyval.ttype = lastiddecl;
6907 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6908 ;
6909 break;}
6910 case 622:
6911 #line 3031 "parse.y"
6912 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6913 break;}
6914 case 625:
6915 #line 3035 "parse.y"
6916 {
6917 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6918 yyval.ttype = lastiddecl;
6919 got_scope = yyval.ttype;
6920 ;
6921 break;}
6922 case 626:
6923 #line 3044 "parse.y"
6924 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6925 break;}
6926 case 627:
6927 #line 3049 "parse.y"
6928 {
6929 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6930 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6931 else
6932 yyval.ttype = yyvsp[0].ttype;
6933 got_scope = NULL_TREE;
6934 ;
6935 break;}
6936 case 629:
6937 #line 3058 "parse.y"
6938 { yyval.ttype = yyvsp[0].ttype; ;
6939 break;}
6940 case 630:
6941 #line 3063 "parse.y"
6942 { got_scope = NULL_TREE; ;
6943 break;}
6944 case 631:
6945 #line 3065 "parse.y"
6946 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6947 break;}
6948 case 632:
6949 #line 3072 "parse.y"
6950 { got_scope = void_type_node; ;
6951 break;}
6952 case 633:
6953 #line 3078 "parse.y"
6954 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6955 break;}
6956 case 634:
6957 #line 3080 "parse.y"
6958 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6959 break;}
6960 case 635:
6961 #line 3082 "parse.y"
6962 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6963 break;}
6964 case 636:
6965 #line 3084 "parse.y"
6966 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6967 break;}
6968 case 637:
6969 #line 3086 "parse.y"
6970 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6971 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6972 ;
6973 break;}
6974 case 638:
6975 #line 3090 "parse.y"
6976 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6977 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6978 ;
6979 break;}
6980 case 640:
6981 #line 3099 "parse.y"
6982 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6983 break;}
6984 case 641:
6985 #line 3101 "parse.y"
6986 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6987 break;}
6988 case 642:
6989 #line 3107 "parse.y"
6990 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6991 break;}
6992 case 643:
6993 #line 3109 "parse.y"
6994 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6995 break;}
6996 case 644:
6997 #line 3111 "parse.y"
6998 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6999 break;}
7000 case 645:
7001 #line 3113 "parse.y"
7002 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7003 break;}
7004 case 646:
7005 #line 3115 "parse.y"
7006 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7007 break;}
7008 case 647:
7009 #line 3117 "parse.y"
7010 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7011 break;}
7012 case 648:
7013 #line 3119 "parse.y"
7014 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7015 break;}
7016 case 649:
7017 #line 3121 "parse.y"
7018 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7019 break;}
7020 case 650:
7021 #line 3123 "parse.y"
7022 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7023 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7024 ;
7025 break;}
7026 case 651:
7027 #line 3127 "parse.y"
7028 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7029 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7030 ;
7031 break;}
7032 case 653:
7033 #line 3136 "parse.y"
7034 { yyval.ttype = yyvsp[-1].ttype; ;
7035 break;}
7036 case 655:
7037 #line 3140 "parse.y"
7038 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7039 break;}
7040 case 656:
7041 #line 3142 "parse.y"
7042 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7043 break;}
7044 case 657:
7045 #line 3144 "parse.y"
7046 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7047 break;}
7048 case 658:
7049 #line 3146 "parse.y"
7050 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7051 break;}
7052 case 659:
7053 #line 3148 "parse.y"
7054 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7055 break;}
7056 case 660:
7057 #line 3150 "parse.y"
7058 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7059 break;}
7060 case 661:
7061 #line 3152 "parse.y"
7062 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7063 break;}
7064 case 662:
7065 #line 3154 "parse.y"
7066 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7067 break;}
7068 case 663:
7069 #line 3156 "parse.y"
7070 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7071 break;}
7072 case 670:
7073 #line 3179 "parse.y"
7074 { if (pedantic)
7075 pedwarn ("ANSI C++ forbids label declarations"); ;
7076 break;}
7077 case 673:
7078 #line 3190 "parse.y"
7079 { tree link;
7080 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7081 {
7082 tree label = shadow_label (TREE_VALUE (link));
7083 C_DECLARED_LABEL_FLAG (label) = 1;
7084 declare_nonlocal_label (label);
7085 }
7086 ;
7087 break;}
7088 case 674:
7089 #line 3204 "parse.y"
7090 {;
7091 break;}
7092 case 676:
7093 #line 3210 "parse.y"
7094 { yyval.ttype = begin_compound_stmt (0); ;
7095 break;}
7096 case 677:
7097 #line 3212 "parse.y"
7098 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7099 break;}
7100 case 678:
7101 #line 3217 "parse.y"
7102 {
7103 yyval.ttype = begin_if_stmt ();
7104 cond_stmt_keyword = "if";
7105 ;
7106 break;}
7107 case 679:
7108 #line 3222 "parse.y"
7109 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7110 break;}
7111 case 680:
7112 #line 3224 "parse.y"
7113 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7114 break;}
7115 case 682:
7116 #line 3229 "parse.y"
7117 { yyval.ttype = begin_compound_stmt (0); ;
7118 break;}
7119 case 683:
7120 #line 3231 "parse.y"
7121 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7122 break;}
7123 case 684:
7124 #line 3236 "parse.y"
7125 {;
7126 break;}
7127 case 686:
7128 #line 3242 "parse.y"
7129 { finish_stmt (); ;
7130 break;}
7131 case 687:
7132 #line 3244 "parse.y"
7133 { finish_expr_stmt (yyvsp[-1].ttype); ;
7134 break;}
7135 case 688:
7136 #line 3246 "parse.y"
7137 { begin_else_clause (); ;
7138 break;}
7139 case 689:
7140 #line 3248 "parse.y"
7141 {
7142 finish_else_clause (yyvsp[-3].ttype);
7143 finish_if_stmt ();
7144 ;
7145 break;}
7146 case 690:
7147 #line 3253 "parse.y"
7148 { finish_if_stmt (); ;
7149 break;}
7150 case 691:
7151 #line 3255 "parse.y"
7152 {
7153 yyval.ttype = begin_while_stmt ();
7154 cond_stmt_keyword = "while";
7155 ;
7156 break;}
7157 case 692:
7158 #line 3260 "parse.y"
7159 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7160 break;}
7161 case 693:
7162 #line 3262 "parse.y"
7163 { finish_while_stmt (yyvsp[-3].ttype); ;
7164 break;}
7165 case 694:
7166 #line 3264 "parse.y"
7167 { yyval.ttype = begin_do_stmt (); ;
7168 break;}
7169 case 695:
7170 #line 3266 "parse.y"
7171 {
7172 finish_do_body (yyvsp[-2].ttype);
7173 cond_stmt_keyword = "do";
7174 ;
7175 break;}
7176 case 696:
7177 #line 3271 "parse.y"
7178 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7179 break;}
7180 case 697:
7181 #line 3273 "parse.y"
7182 { yyval.ttype = begin_for_stmt (); ;
7183 break;}
7184 case 698:
7185 #line 3275 "parse.y"
7186 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7187 break;}
7188 case 699:
7189 #line 3277 "parse.y"
7190 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7191 break;}
7192 case 700:
7193 #line 3279 "parse.y"
7194 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7195 break;}
7196 case 701:
7197 #line 3281 "parse.y"
7198 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7199 break;}
7200 case 702:
7201 #line 3283 "parse.y"
7202 { begin_switch_stmt (); ;
7203 break;}
7204 case 703:
7205 #line 3285 "parse.y"
7206 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7207 break;}
7208 case 704:
7209 #line 3287 "parse.y"
7210 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7211 break;}
7212 case 705:
7213 #line 3289 "parse.y"
7214 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7215 break;}
7216 case 707:
7217 #line 3292 "parse.y"
7218 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7219 break;}
7220 case 709:
7221 #line 3295 "parse.y"
7222 { finish_case_label (NULL_TREE, NULL_TREE); ;
7223 break;}
7224 case 711:
7225 #line 3298 "parse.y"
7226 { finish_break_stmt (); ;
7227 break;}
7228 case 712:
7229 #line 3300 "parse.y"
7230 { finish_continue_stmt (); ;
7231 break;}
7232 case 713:
7233 #line 3302 "parse.y"
7234 { finish_return_stmt (NULL_TREE); ;
7235 break;}
7236 case 714:
7237 #line 3304 "parse.y"
7238 { finish_return_stmt (yyvsp[-1].ttype); ;
7239 break;}
7240 case 715:
7241 #line 3306 "parse.y"
7242 {
7243 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7244 NULL_TREE);
7245 ;
7246 break;}
7247 case 716:
7248 #line 3312 "parse.y"
7249 {
7250 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7251 NULL_TREE);
7252 ;
7253 break;}
7254 case 717:
7255 #line 3318 "parse.y"
7256 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7257 break;}
7258 case 718:
7259 #line 3322 "parse.y"
7260 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7261 break;}
7262 case 719:
7263 #line 3324 "parse.y"
7264 {
7265 if (pedantic)
7266 pedwarn ("ANSI C++ forbids computed gotos");
7267 finish_goto_stmt (yyvsp[-1].ttype);
7268 ;
7269 break;}
7270 case 720:
7271 #line 3330 "parse.y"
7272 { finish_goto_stmt (yyvsp[-1].ttype); ;
7273 break;}
7274 case 721:
7275 #line 3332 "parse.y"
7276 { finish_stmt (); ;
7277 break;}
7278 case 722:
7279 #line 3334 "parse.y"
7280 { error ("label must be followed by statement");
7281 yyungetc ('}', 0);
7282 finish_stmt (); ;
7283 break;}
7284 case 723:
7285 #line 3338 "parse.y"
7286 { finish_stmt (); ;
7287 break;}
7288 case 725:
7289 #line 3344 "parse.y"
7290 {
7291 if (! current_function_parms_stored)
7292 store_parm_decls ();
7293 expand_start_early_try_stmts ();
7294 ;
7295 break;}
7296 case 726:
7297 #line 3350 "parse.y"
7298 { expand_start_all_catch (); ;
7299 break;}
7300 case 727:
7301 #line 3352 "parse.y"
7302 {
7303 int nested = (hack_decl_function_context
7304 (current_function_decl) != NULL_TREE);
7305 expand_end_all_catch ();
7306 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7307 ;
7308 break;}
7309 case 728:
7310 #line 3362 "parse.y"
7311 { yyval.ttype = begin_try_block (); ;
7312 break;}
7313 case 729:
7314 #line 3364 "parse.y"
7315 { finish_try_block (yyvsp[-1].ttype); ;
7316 break;}
7317 case 730:
7318 #line 3366 "parse.y"
7319 { finish_handler_sequence (yyvsp[-3].ttype); ;
7320 break;}
7321 case 733:
7322 #line 3376 "parse.y"
7323 { yyval.ttype = begin_handler(); ;
7324 break;}
7325 case 734:
7326 #line 3378 "parse.y"
7327 { finish_handler_parms (yyvsp[-1].ttype); ;
7328 break;}
7329 case 735:
7330 #line 3380 "parse.y"
7331 { finish_handler (yyvsp[-3].ttype); ;
7332 break;}
7333 case 738:
7334 #line 3390 "parse.y"
7335 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7336 break;}
7337 case 739:
7338 #line 3406 "parse.y"
7339 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7340 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7341 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7342 break;}
7343 case 740:
7344 #line 3413 "parse.y"
7345 { tree label;
7346 do_label:
7347 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7348 if (label && ! minimal_parse_mode)
7349 expand_label (label);
7350 ;
7351 break;}
7352 case 741:
7353 #line 3420 "parse.y"
7354 { goto do_label; ;
7355 break;}
7356 case 742:
7357 #line 3422 "parse.y"
7358 { goto do_label; ;
7359 break;}
7360 case 743:
7361 #line 3424 "parse.y"
7362 { goto do_label; ;
7363 break;}
7364 case 744:
7365 #line 3429 "parse.y"
7366 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7367 break;}
7368 case 746:
7369 #line 3432 "parse.y"
7370 { if (pedantic)
7371 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7372 ;
7373 break;}
7374 case 747:
7375 #line 3441 "parse.y"
7376 { emit_line_note (input_filename, lineno);
7377 yyval.ttype = NULL_TREE; ;
7378 break;}
7379 case 748:
7380 #line 3444 "parse.y"
7381 { emit_line_note (input_filename, lineno); ;
7382 break;}
7383 case 749:
7384 #line 3449 "parse.y"
7385 { yyval.ttype = NULL_TREE; ;
7386 break;}
7387 case 751:
7388 #line 3452 "parse.y"
7389 { yyval.ttype = NULL_TREE; ;
7390 break;}
7391 case 752:
7392 #line 3459 "parse.y"
7393 { yyval.ttype = NULL_TREE; ;
7394 break;}
7395 case 755:
7396 #line 3466 "parse.y"
7397 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7398 break;}
7399 case 756:
7400 #line 3471 "parse.y"
7401 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7402 break;}
7403 case 757:
7404 #line 3476 "parse.y"
7405 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7406 break;}
7407 case 758:
7408 #line 3478 "parse.y"
7409 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7410 break;}
7411 case 759:
7412 #line 3489 "parse.y"
7413 {
7414 yyval.ttype = empty_parms();
7415 ;
7416 break;}
7417 case 761:
7418 #line 3494 "parse.y"
7419 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
7420 TREE_PARMLIST (yyval.ttype) = 1;
7421 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7422 break;}
7423 case 762:
7424 #line 3503 "parse.y"
7425 {
7426 yyval.ttype = chainon (yyval.ttype, void_list_node);
7427 TREE_PARMLIST (yyval.ttype) = 1;
7428 ;
7429 break;}
7430 case 763:
7431 #line 3508 "parse.y"
7432 {
7433 TREE_PARMLIST (yyval.ttype) = 1;
7434 ;
7435 break;}
7436 case 764:
7437 #line 3513 "parse.y"
7438 {
7439 TREE_PARMLIST (yyval.ttype) = 1;
7440 ;
7441 break;}
7442 case 765:
7443 #line 3517 "parse.y"
7444 {
7445 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7446 TREE_PARMLIST (yyval.ttype) = 1;
7447 ;
7448 break;}
7449 case 766:
7450 #line 3522 "parse.y"
7451 {
7452 yyval.ttype = NULL_TREE;
7453 ;
7454 break;}
7455 case 767:
7456 #line 3526 "parse.y"
7457 {
7458 TREE_PARMLIST (yyval.ttype) = 1;
7459 ;
7460 break;}
7461 case 768:
7462 #line 3530 "parse.y"
7463 {
7464 TREE_PARMLIST (yyval.ttype) = 1;
7465 ;
7466 break;}
7467 case 769:
7468 #line 3534 "parse.y"
7469 {
7470 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7471 TREE_PARMLIST (yyval.ttype) = 1;
7472 ;
7473 break;}
7474 case 770:
7475 #line 3539 "parse.y"
7476 {
7477 /* This helps us recover from really nasty
7478 parse errors, for example, a missing right
7479 parenthesis. */
7480 yyerror ("possibly missing ')'");
7481 yyval.ttype = chainon (yyval.ttype, void_list_node);
7482 TREE_PARMLIST (yyval.ttype) = 1;
7483 yyungetc (':', 0);
7484 yychar = ')';
7485 ;
7486 break;}
7487 case 771:
7488 #line 3550 "parse.y"
7489 {
7490 /* This helps us recover from really nasty
7491 parse errors, for example, a missing right
7492 parenthesis. */
7493 yyerror ("possibly missing ')'");
7494 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
7495 TREE_PARMLIST (yyval.ttype) = 1;
7496 yyungetc (':', 0);
7497 yychar = ')';
7498 ;
7499 break;}
7500 case 772:
7501 #line 3565 "parse.y"
7502 { maybe_snarf_defarg (); ;
7503 break;}
7504 case 773:
7505 #line 3567 "parse.y"
7506 { yyval.ttype = yyvsp[0].ttype; ;
7507 break;}
7508 case 776:
7509 #line 3578 "parse.y"
7510 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7511 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7512 break;}
7513 case 777:
7514 #line 3581 "parse.y"
7515 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7516 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7517 break;}
7518 case 778:
7519 #line 3584 "parse.y"
7520 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7521 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7522 break;}
7523 case 779:
7524 #line 3587 "parse.y"
7525 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7526 break;}
7527 case 780:
7528 #line 3589 "parse.y"
7529 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7530 break;}
7531 case 782:
7532 #line 3595 "parse.y"
7533 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7534 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7535 break;}
7536 case 783:
7537 #line 3605 "parse.y"
7538 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7539 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7540 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7541 break;}
7542 case 784:
7543 #line 3609 "parse.y"
7544 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7545 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7546 break;}
7547 case 785:
7548 #line 3612 "parse.y"
7549 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7550 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7551 break;}
7552 case 786:
7553 #line 3615 "parse.y"
7554 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7555 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7556 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7557 break;}
7558 case 787:
7559 #line 3619 "parse.y"
7560 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7561 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7562 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7563 break;}
7564 case 788:
7565 #line 3623 "parse.y"
7566 { tree specs = strip_attrs (yyvsp[-1].ttype);
7567 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7568 yyval.ftype.new_type_flag = 0; ;
7569 break;}
7570 case 789:
7571 #line 3630 "parse.y"
7572 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7573 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7574 break;}
7575 case 790:
7576 #line 3633 "parse.y"
7577 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7578 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7579 break;}
7580 case 793:
7581 #line 3644 "parse.y"
7582 { see_typename (); ;
7583 break;}
7584 case 794:
7585 #line 3649 "parse.y"
7586 {
7587 error ("type specifier omitted for parameter");
7588 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7589 ;
7590 break;}
7591 case 795:
7592 #line 3654 "parse.y"
7593 {
7594 error ("type specifier omitted for parameter");
7595 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7596 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7597 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7598 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7599 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7600 ;
7601 break;}
7602 case 796:
7603 #line 3666 "parse.y"
7604 { yyval.ttype = NULL_TREE; ;
7605 break;}
7606 case 797:
7607 #line 3668 "parse.y"
7608 { yyval.ttype = yyvsp[-1].ttype; ;
7609 break;}
7610 case 798:
7611 #line 3670 "parse.y"
7612 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7613 break;}
7614 case 799:
7615 #line 3675 "parse.y"
7616 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7617 break;}
7618 case 801:
7619 #line 3681 "parse.y"
7620 {
7621 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7622 yyval.ttype = yyvsp[0].ttype;
7623 ;
7624 break;}
7625 case 802:
7626 #line 3689 "parse.y"
7627 { yyval.ttype = NULL_TREE; ;
7628 break;}
7629 case 803:
7630 #line 3691 "parse.y"
7631 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7632 break;}
7633 case 804:
7634 #line 3693 "parse.y"
7635 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7636 break;}
7637 case 805:
7638 #line 3695 "parse.y"
7639 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7640 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7641 ;
7642 break;}
7643 case 806:
7644 #line 3702 "parse.y"
7645 { got_scope = NULL_TREE; ;
7646 break;}
7647 case 807:
7648 #line 3707 "parse.y"
7649 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7650 break;}
7651 case 808:
7652 #line 3709 "parse.y"
7653 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7654 break;}
7655 case 809:
7656 #line 3711 "parse.y"
7657 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7658 break;}
7659 case 810:
7660 #line 3713 "parse.y"
7661 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7662 break;}
7663 case 811:
7664 #line 3715 "parse.y"
7665 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7666 break;}
7667 case 812:
7668 #line 3717 "parse.y"
7669 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7670 break;}
7671 case 813:
7672 #line 3719 "parse.y"
7673 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7674 break;}
7675 case 814:
7676 #line 3721 "parse.y"
7677 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7678 break;}
7679 case 815:
7680 #line 3723 "parse.y"
7681 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7682 break;}
7683 case 816:
7684 #line 3725 "parse.y"
7685 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7686 break;}
7687 case 817:
7688 #line 3727 "parse.y"
7689 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7690 break;}
7691 case 818:
7692 #line 3729 "parse.y"
7693 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7694 break;}
7695 case 819:
7696 #line 3731 "parse.y"
7697 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7698 break;}
7699 case 820:
7700 #line 3733 "parse.y"
7701 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7702 break;}
7703 case 821:
7704 #line 3735 "parse.y"
7705 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7706 break;}
7707 case 822:
7708 #line 3737 "parse.y"
7709 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7710 break;}
7711 case 823:
7712 #line 3739 "parse.y"
7713 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7714 break;}
7715 case 824:
7716 #line 3741 "parse.y"
7717 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7718 break;}
7719 case 825:
7720 #line 3743 "parse.y"
7721 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7722 break;}
7723 case 826:
7724 #line 3745 "parse.y"
7725 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7726 break;}
7727 case 827:
7728 #line 3747 "parse.y"
7729 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7730 break;}
7731 case 828:
7732 #line 3749 "parse.y"
7733 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7734 break;}
7735 case 829:
7736 #line 3751 "parse.y"
7737 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7738 break;}
7739 case 830:
7740 #line 3753 "parse.y"
7741 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7742 break;}
7743 case 831:
7744 #line 3755 "parse.y"
7745 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7746 break;}
7747 case 832:
7748 #line 3757 "parse.y"
7749 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7750 break;}
7751 case 833:
7752 #line 3759 "parse.y"
7753 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7754 break;}
7755 case 834:
7756 #line 3761 "parse.y"
7757 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7758 break;}
7759 case 835:
7760 #line 3763 "parse.y"
7761 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7762 break;}
7763 case 836:
7764 #line 3765 "parse.y"
7765 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7766 break;}
7767 case 837:
7768 #line 3767 "parse.y"
7769 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7770 break;}
7771 case 838:
7772 #line 3769 "parse.y"
7773 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7774 break;}
7775 case 839:
7776 #line 3771 "parse.y"
7777 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7778 break;}
7779 case 840:
7780 #line 3774 "parse.y"
7781 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7782 break;}
7783 case 841:
7784 #line 3776 "parse.y"
7785 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7786 break;}
7787 }
7788 /* the action file gets copied in in place of this dollarsign */
7789 #line 498 "/usr/lib/bison.simple"
7790 \f
7791 yyvsp -= yylen;
7792 yyssp -= yylen;
7793 #ifdef YYLSP_NEEDED
7794 yylsp -= yylen;
7795 #endif
7796
7797 #if YYDEBUG != 0
7798 if (yydebug)
7799 {
7800 short *ssp1 = yyss - 1;
7801 fprintf (stderr, "state stack now");
7802 while (ssp1 != yyssp)
7803 fprintf (stderr, " %d", *++ssp1);
7804 fprintf (stderr, "\n");
7805 }
7806 #endif
7807
7808 *++yyvsp = yyval;
7809
7810 #ifdef YYLSP_NEEDED
7811 yylsp++;
7812 if (yylen == 0)
7813 {
7814 yylsp->first_line = yylloc.first_line;
7815 yylsp->first_column = yylloc.first_column;
7816 yylsp->last_line = (yylsp-1)->last_line;
7817 yylsp->last_column = (yylsp-1)->last_column;
7818 yylsp->text = 0;
7819 }
7820 else
7821 {
7822 yylsp->last_line = (yylsp+yylen-1)->last_line;
7823 yylsp->last_column = (yylsp+yylen-1)->last_column;
7824 }
7825 #endif
7826
7827 /* Now "shift" the result of the reduction.
7828 Determine what state that goes to,
7829 based on the state we popped back to
7830 and the rule number reduced by. */
7831
7832 yyn = yyr1[yyn];
7833
7834 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7835 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7836 yystate = yytable[yystate];
7837 else
7838 yystate = yydefgoto[yyn - YYNTBASE];
7839
7840 goto yynewstate;
7841
7842 yyerrlab: /* here on detecting error */
7843
7844 if (! yyerrstatus)
7845 /* If not already recovering from an error, report this error. */
7846 {
7847 ++yynerrs;
7848
7849 #ifdef YYERROR_VERBOSE
7850 yyn = yypact[yystate];
7851
7852 if (yyn > YYFLAG && yyn < YYLAST)
7853 {
7854 int size = 0;
7855 char *msg;
7856 int x, count;
7857
7858 count = 0;
7859 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7860 for (x = (yyn < 0 ? -yyn : 0);
7861 x < (sizeof(yytname) / sizeof(char *)); x++)
7862 if (yycheck[x + yyn] == x)
7863 size += strlen(yytname[x]) + 15, count++;
7864 msg = (char *) malloc(size + 15);
7865 if (msg != 0)
7866 {
7867 strcpy(msg, "parse error");
7868
7869 if (count < 5)
7870 {
7871 count = 0;
7872 for (x = (yyn < 0 ? -yyn : 0);
7873 x < (sizeof(yytname) / sizeof(char *)); x++)
7874 if (yycheck[x + yyn] == x)
7875 {
7876 strcat(msg, count == 0 ? ", expecting `" : " or `");
7877 strcat(msg, yytname[x]);
7878 strcat(msg, "'");
7879 count++;
7880 }
7881 }
7882 yyerror(msg);
7883 free(msg);
7884 }
7885 else
7886 yyerror ("parse error; also virtual memory exceeded");
7887 }
7888 else
7889 #endif /* YYERROR_VERBOSE */
7890 yyerror("parse error");
7891 }
7892
7893 goto yyerrlab1;
7894 yyerrlab1: /* here on error raised explicitly by an action */
7895
7896 if (yyerrstatus == 3)
7897 {
7898 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7899
7900 /* return failure if at end of input */
7901 if (yychar == YYEOF)
7902 YYABORT;
7903
7904 #if YYDEBUG != 0
7905 if (yydebug)
7906 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7907 #endif
7908
7909 yychar = YYEMPTY;
7910 }
7911
7912 /* Else will try to reuse lookahead token
7913 after shifting the error token. */
7914
7915 yyerrstatus = 3; /* Each real token shifted decrements this */
7916
7917 goto yyerrhandle;
7918
7919 yyerrdefault: /* current state does not do anything special for the error token. */
7920
7921 #if 0
7922 /* This is wrong; only states that explicitly want error tokens
7923 should shift them. */
7924 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7925 if (yyn) goto yydefault;
7926 #endif
7927
7928 yyerrpop: /* pop the current state because it cannot handle the error token */
7929
7930 if (yyssp == yyss) YYABORT;
7931 yyvsp--;
7932 yystate = *--yyssp;
7933 #ifdef YYLSP_NEEDED
7934 yylsp--;
7935 #endif
7936
7937 #if YYDEBUG != 0
7938 if (yydebug)
7939 {
7940 short *ssp1 = yyss - 1;
7941 fprintf (stderr, "Error: state stack now");
7942 while (ssp1 != yyssp)
7943 fprintf (stderr, " %d", *++ssp1);
7944 fprintf (stderr, "\n");
7945 }
7946 #endif
7947
7948 yyerrhandle:
7949
7950 yyn = yypact[yystate];
7951 if (yyn == YYFLAG)
7952 goto yyerrdefault;
7953
7954 yyn += YYTERROR;
7955 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7956 goto yyerrdefault;
7957
7958 yyn = yytable[yyn];
7959 if (yyn < 0)
7960 {
7961 if (yyn == YYFLAG)
7962 goto yyerrpop;
7963 yyn = -yyn;
7964 goto yyreduce;
7965 }
7966 else if (yyn == 0)
7967 goto yyerrpop;
7968
7969 if (yyn == YYFINAL)
7970 YYACCEPT;
7971
7972 #if YYDEBUG != 0
7973 if (yydebug)
7974 fprintf(stderr, "Shifting error token, ");
7975 #endif
7976
7977 *++yyvsp = yylval;
7978 #ifdef YYLSP_NEEDED
7979 *++yylsp = yylloc;
7980 #endif
7981
7982 yystate = yyn;
7983 goto yynewstate;
7984 }
7985 #line 3779 "parse.y"
7986
7987
7988 #ifdef SPEW_DEBUG
7989 const char *
7990 debug_yytranslate (value)
7991 int value;
7992 {
7993 return yytname[YYTRANSLATE (value)];
7994 }
7995
7996 #endif