Merge from gcc-2.8
[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 extern int current_class_depth;
127 extern tree last_tree;
128
129 /* FSF LOCAL dje prefix attributes */
130 extern tree strip_attrs PROTO((tree));
131 /* END FSF LOCAL */
132
133 /* Like YYERROR but do call yyerror. */
134 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
135
136 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
137 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
138
139 /* Contains the statement keyword (if/while/do) to include in an
140 error message if the user supplies an empty conditional expression. */
141 static char *cond_stmt_keyword;
142
143 static tree empty_parms PROTO((void));
144
145 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
146 int have_extern_spec;
147 int used_extern_spec;
148
149 /* Cons up an empty parameter list. */
150 #ifdef __GNUC__
151 __inline
152 #endif
153 static tree
154 empty_parms ()
155 {
156 tree parms;
157
158 if (strict_prototype
159 || current_class_type != NULL)
160 parms = void_list_node;
161 else
162 parms = NULL_TREE;
163 return parms;
164 }
165
166 #line 101 "parse.y"
167 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
168 #line 289 "parse.y"
169
170 /* List of types and structure classes of the current declaration. */
171 static tree current_declspecs = NULL_TREE;
172 /* List of prefix attributes in effect.
173 Prefix attributes are parsed by the reserved_declspecs and declmods
174 rules. They create a list that contains *both* declspecs and attrs. */
175 /* ??? It is not clear yet that all cases where an attribute can now appear in
176 a declspec list have been updated. */
177 static tree prefix_attributes = NULL_TREE;
178
179 /* When defining an aggregate, this is the most recent one being defined. */
180 static tree current_aggr;
181
182 /* Tell yyparse how to print a token's value, if yydebug is set. */
183
184 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
185 extern void yyprint PROTO((FILE *, int, YYSTYPE));
186 extern tree combine_strings PROTO((tree));
187 #include <stdio.h>
188
189 #ifndef __cplusplus
190 #ifndef __STDC__
191 #define const
192 #endif
193 #endif
194
195
196
197 #define YYFINAL 1531
198 #define YYFLAG -32768
199 #define YYNTBASE 114
200
201 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 377)
202
203 static const char yytranslate[] = { 0,
204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
207 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
208 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
209 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
210 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
213 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
214 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
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, 2, 2, 2, 1, 2, 3, 4, 5,
230 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
231 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
232 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
233 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
234 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
235 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
236 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
237 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
238 106, 107, 108, 109
239 };
240
241 #if YYDEBUG != 0
242 static const short yyprhs[] = { 0,
243 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
244 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
245 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
246 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
247 119, 123, 125, 129, 131, 134, 136, 139, 141, 145,
248 147, 151, 154, 157, 160, 164, 168, 171, 174, 177,
249 180, 183, 185, 187, 189, 190, 192, 195, 196, 198,
250 203, 207, 211, 212, 221, 227, 228, 238, 245, 246,
251 255, 261, 262, 272, 279, 282, 285, 287, 290, 292,
252 299, 304, 311, 316, 319, 321, 324, 327, 329, 332,
253 334, 337, 340, 343, 348, 351, 355, 356, 357, 359,
254 363, 366, 370, 372, 377, 380, 385, 388, 393, 396,
255 398, 400, 402, 404, 406, 408, 410, 412, 414, 416,
256 418, 422, 426, 429, 432, 437, 442, 446, 450, 455,
257 459, 464, 468, 470, 475, 479, 481, 483, 485, 489,
258 491, 493, 495, 497, 499, 501, 503, 505, 507, 509,
259 513, 515, 519, 520, 522, 524, 525, 533, 535, 537,
260 541, 546, 550, 551, 555, 557, 561, 565, 569, 573,
261 575, 577, 579, 582, 585, 588, 591, 594, 597, 600,
262 605, 608, 613, 616, 620, 624, 629, 634, 640, 646,
263 653, 656, 661, 667, 670, 673, 677, 681, 685, 687,
264 691, 694, 698, 703, 705, 708, 714, 716, 720, 724,
265 728, 732, 736, 740, 744, 748, 752, 756, 760, 764,
266 768, 772, 776, 780, 784, 788, 792, 798, 802, 806,
267 808, 811, 815, 817, 819, 821, 823, 825, 826, 832,
268 837, 843, 848, 854, 860, 866, 868, 870, 872, 874,
269 877, 880, 884, 889, 894, 896, 898, 900, 904, 906,
270 908, 910, 912, 916, 920, 924, 925, 930, 935, 938,
271 943, 946, 949, 951, 956, 958, 966, 974, 982, 990,
272 995, 1000, 1003, 1006, 1008, 1013, 1016, 1019, 1025, 1029,
273 1032, 1035, 1041, 1045, 1051, 1055, 1060, 1067, 1070, 1072,
274 1075, 1077, 1080, 1082, 1084, 1086, 1089, 1090, 1093, 1096,
275 1100, 1104, 1108, 1111, 1114, 1117, 1119, 1121, 1123, 1126,
276 1129, 1132, 1135, 1137, 1139, 1141, 1143, 1146, 1149, 1153,
277 1157, 1161, 1166, 1168, 1171, 1174, 1177, 1179, 1181, 1183,
278 1186, 1189, 1192, 1194, 1196, 1199, 1202, 1206, 1208, 1211,
279 1213, 1215, 1217, 1222, 1227, 1232, 1237, 1239, 1241, 1243,
280 1245, 1249, 1251, 1255, 1257, 1261, 1262, 1267, 1268, 1275,
281 1279, 1280, 1287, 1291, 1292, 1299, 1303, 1304, 1311, 1315,
282 1316, 1318, 1320, 1323, 1330, 1332, 1336, 1337, 1339, 1344,
283 1351, 1356, 1358, 1360, 1362, 1364, 1366, 1370, 1371, 1374,
284 1376, 1379, 1383, 1388, 1390, 1392, 1396, 1401, 1408, 1412,
285 1418, 1420, 1425, 1429, 1433, 1434, 1438, 1442, 1446, 1447,
286 1450, 1453, 1454, 1462, 1467, 1468, 1475, 1479, 1482, 1485,
287 1488, 1489, 1490, 1491, 1502, 1504, 1505, 1507, 1508, 1510,
288 1512, 1515, 1518, 1521, 1524, 1527, 1530, 1534, 1539, 1543,
289 1546, 1550, 1551, 1553, 1557, 1560, 1563, 1565, 1567, 1568,
290 1571, 1575, 1577, 1582, 1584, 1588, 1590, 1592, 1597, 1602,
291 1605, 1608, 1612, 1616, 1618, 1619, 1621, 1624, 1629, 1633,
292 1635, 1638, 1641, 1644, 1647, 1650, 1653, 1656, 1658, 1661,
293 1664, 1667, 1672, 1677, 1680, 1682, 1688, 1693, 1695, 1698,
294 1699, 1701, 1705, 1706, 1708, 1712, 1714, 1716, 1718, 1720,
295 1725, 1730, 1735, 1740, 1745, 1749, 1754, 1759, 1764, 1769,
296 1773, 1775, 1779, 1781, 1785, 1788, 1790, 1797, 1798, 1801,
297 1803, 1806, 1807, 1810, 1815, 1820, 1823, 1828, 1832, 1836,
298 1839, 1842, 1846, 1848, 1850, 1853, 1855, 1857, 1860, 1863,
299 1868, 1873, 1877, 1881, 1884, 1886, 1890, 1894, 1897, 1900,
300 1904, 1906, 1910, 1914, 1917, 1920, 1924, 1926, 1931, 1935,
301 1940, 1944, 1946, 1949, 1952, 1955, 1958, 1961, 1963, 1966,
302 1971, 1976, 1979, 1981, 1983, 1985, 1987, 1990, 1993, 1996,
303 1999, 2002, 2004, 2007, 2010, 2012, 2015, 2018, 2021, 2024,
304 2027, 2030, 2033, 2036, 2038, 2041, 2044, 2048, 2050, 2054,
305 2057, 2061, 2064, 2067, 2071, 2073, 2077, 2082, 2086, 2089,
306 2092, 2094, 2098, 2101, 2104, 2106, 2109, 2113, 2115, 2119,
307 2121, 2128, 2133, 2138, 2142, 2148, 2152, 2156, 2160, 2163,
308 2165, 2167, 2170, 2173, 2176, 2177, 2178, 2179, 2181, 2183,
309 2186, 2190, 2192, 2195, 2196, 2202, 2203, 2204, 2211, 2213,
310 2214, 2219, 2221, 2223, 2225, 2228, 2229, 2230, 2237, 2239,
311 2240, 2241, 2249, 2250, 2251, 2259, 2260, 2261, 2262, 2263,
312 2278, 2279, 2280, 2290, 2291, 2297, 2298, 2306, 2307, 2312,
313 2315, 2318, 2321, 2325, 2332, 2341, 2352, 2365, 2370, 2374,
314 2377, 2380, 2382, 2384, 2385, 2386, 2393, 2394, 2395, 2401,
315 2403, 2406, 2407, 2408, 2409, 2418, 2420, 2422, 2426, 2430,
316 2433, 2436, 2439, 2442, 2445, 2447, 2450, 2451, 2453, 2454,
317 2456, 2458, 2459, 2461, 2463, 2467, 2472, 2474, 2478, 2479,
318 2481, 2483, 2485, 2488, 2491, 2494, 2496, 2498, 2501, 2504,
319 2507, 2510, 2511, 2515, 2517, 2519, 2521, 2524, 2527, 2530,
320 2535, 2538, 2541, 2544, 2547, 2550, 2553, 2555, 2558, 2560,
321 2563, 2565, 2567, 2568, 2569, 2571, 2572, 2577, 2580, 2582,
322 2584, 2588, 2589, 2593, 2597, 2601, 2603, 2606, 2609, 2612,
323 2615, 2618, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642,
324 2645, 2648, 2651, 2654, 2657, 2660, 2663, 2666, 2669, 2672,
325 2676, 2679, 2682, 2685, 2688, 2692, 2695, 2698, 2703, 2708,
326 2712
327 };
328
329 static const short yyrhs[] = { -1,
330 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
331 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
332 0, 123, 124, 0, 140, 139, 0, 136, 0, 135,
333 0, 121, 94, 195, 110, 61, 0, 129, 59, 117,
334 111, 0, 129, 118, 140, 119, 139, 0, 129, 118,
335 136, 119, 0, 0, 45, 155, 59, 125, 117, 111,
336 0, 0, 45, 59, 126, 117, 111, 0, 45, 155,
337 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
338 61, 0, 120, 124, 0, 47, 288, 0, 47, 301,
339 288, 0, 47, 301, 186, 0, 186, 0, 288, 0,
340 301, 288, 0, 301, 186, 0, 100, 0, 129, 100,
341 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
342 76, 0, 134, 0, 132, 60, 134, 0, 245, 0,
343 245, 155, 0, 46, 0, 46, 155, 0, 133, 0,
344 133, 65, 201, 0, 368, 0, 368, 65, 181, 0,
345 130, 124, 0, 130, 1, 0, 212, 61, 0, 205,
346 211, 61, 0, 202, 210, 61, 0, 205, 61, 0,
347 158, 61, 0, 202, 61, 0, 1, 61, 0, 1,
348 111, 0, 61, 0, 196, 0, 151, 0, 0, 150,
349 0, 150, 61, 0, 0, 109, 0, 146, 138, 137,
350 313, 0, 146, 138, 338, 0, 146, 138, 1, 0,
351 0, 293, 5, 94, 142, 359, 110, 275, 371, 0,
352 293, 5, 48, 275, 371, 0, 0, 301, 293, 5,
353 94, 143, 359, 110, 275, 371, 0, 301, 293, 5,
354 48, 275, 371, 0, 0, 293, 160, 94, 144, 359,
355 110, 275, 371, 0, 293, 160, 48, 275, 371, 0,
356 0, 301, 293, 160, 94, 145, 359, 110, 275, 371,
357 0, 301, 293, 160, 48, 275, 371, 0, 202, 199,
358 0, 205, 285, 0, 285, 0, 205, 141, 0, 141,
359 0, 5, 94, 359, 110, 275, 371, 0, 5, 48,
360 275, 371, 0, 160, 94, 359, 110, 275, 371, 0,
361 160, 48, 275, 371, 0, 205, 147, 0, 147, 0,
362 202, 199, 0, 205, 285, 0, 285, 0, 205, 141,
363 0, 141, 0, 130, 148, 0, 25, 3, 0, 149,
364 229, 0, 149, 94, 175, 110, 0, 149, 48, 0,
365 63, 152, 153, 0, 0, 0, 154, 0, 153, 60,
366 154, 0, 153, 1, 0, 94, 175, 110, 0, 48,
367 0, 156, 94, 175, 110, 0, 156, 48, 0, 281,
368 94, 175, 110, 0, 281, 48, 0, 295, 94, 175,
369 110, 0, 295, 48, 0, 3, 0, 4, 0, 5,
370 0, 57, 0, 58, 0, 3, 0, 57, 0, 58,
371 0, 106, 0, 105, 0, 107, 0, 49, 208, 61,
372 0, 49, 202, 199, 0, 49, 285, 0, 49, 141,
373 0, 7, 49, 208, 61, 0, 7, 49, 202, 199,
374 0, 7, 49, 285, 0, 7, 49, 141, 0, 57,
375 75, 162, 161, 0, 57, 75, 161, 0, 4, 75,
376 162, 161, 0, 4, 75, 161, 0, 160, 0, 5,
377 75, 162, 161, 0, 5, 75, 161, 0, 76, 0,
378 78, 0, 163, 0, 162, 60, 163, 0, 201, 0,
379 181, 0, 80, 0, 79, 0, 87, 0, 88, 0,
380 112, 0, 174, 0, 181, 0, 48, 0, 94, 165,
381 110, 0, 48, 0, 94, 169, 110, 0, 0, 169,
382 0, 1, 0, 0, 349, 199, 213, 222, 65, 170,
383 230, 0, 165, 0, 111, 0, 310, 306, 111, 0,
384 310, 306, 1, 111, 0, 310, 1, 111, 0, 0,
385 59, 173, 171, 0, 322, 0, 181, 60, 181, 0,
386 181, 60, 1, 0, 174, 60, 181, 0, 174, 60,
387 1, 0, 181, 0, 174, 0, 190, 0, 120, 180,
388 0, 81, 180, 0, 71, 180, 0, 89, 180, 0,
389 164, 180, 0, 68, 155, 0, 13, 176, 0, 13,
390 94, 201, 110, 0, 30, 176, 0, 30, 94, 201,
391 110, 0, 192, 274, 0, 192, 274, 178, 0, 192,
392 177, 274, 0, 192, 177, 274, 178, 0, 192, 94,
393 201, 110, 0, 192, 94, 201, 110, 178, 0, 192,
394 177, 94, 201, 110, 0, 192, 177, 94, 201, 110,
395 178, 0, 193, 180, 0, 193, 95, 113, 180, 0,
396 193, 95, 165, 113, 180, 0, 35, 180, 0, 36,
397 180, 0, 94, 175, 110, 0, 59, 175, 111, 0,
398 94, 175, 110, 0, 48, 0, 94, 208, 110, 0,
399 65, 230, 0, 94, 201, 110, 0, 179, 94, 201,
400 110, 0, 176, 0, 179, 176, 0, 179, 59, 231,
401 243, 111, 0, 180, 0, 181, 84, 181, 0, 181,
402 85, 181, 0, 181, 79, 181, 0, 181, 80, 181,
403 0, 181, 81, 181, 0, 181, 82, 181, 0, 181,
404 83, 181, 0, 181, 77, 181, 0, 181, 78, 181,
405 0, 181, 74, 181, 0, 181, 75, 181, 0, 181,
406 76, 181, 0, 181, 73, 181, 0, 181, 72, 181,
407 0, 181, 71, 181, 0, 181, 69, 181, 0, 181,
408 70, 181, 0, 181, 68, 181, 0, 181, 67, 181,
409 0, 181, 66, 354, 63, 181, 0, 181, 65, 181,
410 0, 181, 64, 181, 0, 62, 0, 62, 181, 0,
411 89, 369, 155, 0, 184, 0, 376, 0, 3, 0,
412 57, 0, 58, 0, 0, 6, 75, 183, 162, 161,
413 0, 6, 75, 183, 161, 0, 376, 75, 183, 162,
414 161, 0, 376, 75, 183, 161, 0, 49, 155, 75,
415 162, 161, 0, 49, 6, 75, 162, 161, 0, 49,
416 376, 75, 162, 161, 0, 182, 0, 4, 0, 5,
417 0, 182, 0, 81, 187, 0, 71, 187, 0, 94,
418 187, 110, 0, 3, 75, 162, 161, 0, 58, 75,
419 162, 161, 0, 287, 0, 182, 0, 188, 0, 94,
420 187, 110, 0, 182, 0, 10, 0, 194, 0, 195,
421 0, 94, 165, 110, 0, 94, 187, 110, 0, 94,
422 1, 110, 0, 0, 94, 191, 314, 110, 0, 190,
423 94, 175, 110, 0, 190, 48, 0, 190, 95, 165,
424 113, 0, 190, 87, 0, 190, 88, 0, 41, 0,
425 9, 94, 175, 110, 0, 291, 0, 51, 75, 201,
426 76, 94, 165, 110, 0, 52, 75, 201, 76, 94,
427 165, 110, 0, 53, 75, 201, 76, 94, 165, 110,
428 0, 54, 75, 201, 76, 94, 165, 110, 0, 50,
429 94, 165, 110, 0, 50, 94, 201, 110, 0, 301,
430 3, 0, 301, 376, 0, 290, 0, 290, 94, 175,
431 110, 0, 290, 48, 0, 197, 185, 0, 197, 185,
432 94, 175, 110, 0, 197, 185, 48, 0, 197, 186,
433 0, 197, 290, 0, 197, 186, 94, 175, 110, 0,
434 197, 186, 48, 0, 197, 290, 94, 175, 110, 0,
435 197, 290, 48, 0, 197, 89, 8, 48, 0, 197,
436 8, 55, 89, 8, 48, 0, 197, 1, 0, 40,
437 0, 301, 40, 0, 39, 0, 301, 193, 0, 43,
438 0, 44, 0, 11, 0, 195, 11, 0, 0, 190,
439 93, 0, 190, 92, 0, 208, 210, 61, 0, 202,
440 210, 61, 0, 205, 211, 61, 0, 202, 61, 0,
441 205, 61, 0, 120, 198, 0, 280, 0, 285, 0,
442 48, 0, 200, 48, 0, 206, 304, 0, 276, 304,
443 0, 208, 304, 0, 206, 0, 276, 0, 206, 0,
444 203, 0, 205, 208, 0, 208, 204, 0, 208, 207,
445 204, 0, 205, 208, 204, 0, 205, 208, 207, 0,
446 205, 208, 207, 204, 0, 7, 0, 204, 209, 0,
447 204, 7, 0, 204, 223, 0, 223, 0, 276, 0,
448 7, 0, 205, 9, 0, 205, 7, 0, 205, 223,
449 0, 223, 0, 208, 0, 276, 208, 0, 208, 207,
450 0, 276, 208, 207, 0, 209, 0, 207, 209, 0,
451 237, 0, 8, 0, 282, 0, 29, 94, 165, 110,
452 0, 29, 94, 201, 110, 0, 31, 94, 165, 110,
453 0, 31, 94, 201, 110, 0, 8, 0, 9, 0,
454 237, 0, 214, 0, 210, 60, 216, 0, 218, 0,
455 211, 60, 216, 0, 220, 0, 212, 60, 216, 0,
456 0, 121, 94, 195, 110, 0, 0, 199, 213, 222,
457 65, 215, 230, 0, 199, 213, 222, 0, 0, 199,
458 213, 222, 65, 217, 230, 0, 199, 213, 222, 0,
459 0, 285, 213, 222, 65, 219, 230, 0, 285, 213,
460 222, 0, 0, 285, 213, 222, 65, 221, 230, 0,
461 285, 213, 222, 0, 0, 223, 0, 224, 0, 223,
462 224, 0, 32, 94, 94, 225, 110, 110, 0, 226,
463 0, 225, 60, 226, 0, 0, 227, 0, 227, 94,
464 3, 110, 0, 227, 94, 3, 60, 175, 110, 0,
465 227, 94, 175, 110, 0, 155, 0, 7, 0, 8,
466 0, 9, 0, 155, 0, 228, 60, 155, 0, 0,
467 65, 230, 0, 181, 0, 59, 111, 0, 59, 231,
468 111, 0, 59, 231, 60, 111, 0, 1, 0, 230,
469 0, 231, 60, 230, 0, 95, 181, 113, 230, 0,
470 231, 60, 21, 181, 63, 230, 0, 155, 63, 230,
471 0, 231, 60, 155, 63, 230, 0, 99, 0, 232,
472 138, 137, 313, 0, 232, 138, 338, 0, 232, 138,
473 1, 0, 0, 234, 233, 139, 0, 104, 181, 109,
474 0, 104, 1, 109, 0, 0, 236, 235, 0, 236,
475 1, 0, 0, 14, 155, 59, 238, 272, 244, 111,
476 0, 14, 155, 59, 111, 0, 0, 14, 59, 239,
477 272, 244, 111, 0, 14, 59, 111, 0, 14, 155,
478 0, 14, 299, 0, 46, 295, 0, 0, 0, 0,
479 252, 258, 240, 260, 111, 222, 241, 236, 242, 234,
480 0, 252, 0, 0, 60, 0, 0, 60, 0, 37,
481 0, 245, 7, 0, 245, 8, 0, 245, 9, 0,
482 245, 37, 0, 245, 155, 0, 245, 157, 0, 245,
483 293, 155, 0, 245, 301, 293, 155, 0, 245, 301,
484 155, 0, 245, 159, 0, 245, 293, 159, 0, 0,
485 246, 0, 247, 249, 253, 0, 248, 253, 0, 245,
486 59, 0, 251, 0, 250, 0, 0, 63, 369, 0,
487 63, 369, 254, 0, 255, 0, 254, 60, 369, 255,
488 0, 256, 0, 257, 369, 256, 0, 295, 0, 281,
489 0, 31, 94, 165, 110, 0, 31, 94, 201, 110,
490 0, 38, 369, 0, 7, 369, 0, 257, 38, 369,
491 0, 257, 7, 369, 0, 59, 0, 0, 259, 0,
492 259, 261, 0, 260, 38, 63, 261, 0, 260, 38,
493 63, 0, 262, 0, 261, 262, 0, 263, 61, 0,
494 263, 111, 0, 148, 63, 0, 148, 96, 0, 148,
495 25, 0, 148, 59, 0, 61, 0, 120, 262, 0,
496 202, 264, 0, 205, 265, 0, 285, 213, 222, 229,
497 0, 141, 213, 222, 229, 0, 63, 181, 0, 1,
498 0, 205, 147, 213, 222, 229, 0, 147, 213, 222,
499 229, 0, 127, 0, 130, 263, 0, 0, 266, 0,
500 264, 60, 267, 0, 0, 269, 0, 265, 60, 271,
501 0, 268, 0, 269, 0, 270, 0, 271, 0, 280,
502 213, 222, 229, 0, 4, 63, 181, 222, 0, 285,
503 213, 222, 229, 0, 141, 213, 222, 229, 0, 3,
504 63, 181, 222, 0, 63, 181, 222, 0, 280, 213,
505 222, 229, 0, 4, 63, 181, 222, 0, 285, 213,
506 222, 229, 0, 3, 63, 181, 222, 0, 63, 181,
507 222, 0, 273, 0, 272, 60, 273, 0, 155, 0,
508 155, 65, 181, 0, 349, 302, 0, 349, 0, 94,
509 201, 110, 95, 165, 113, 0, 0, 275, 9, 0,
510 9, 0, 276, 9, 0, 0, 277, 165, 0, 277,
511 94, 175, 110, 0, 277, 94, 359, 110, 0, 277,
512 48, 0, 277, 94, 1, 110, 0, 81, 276, 280,
513 0, 71, 276, 280, 0, 81, 280, 0, 71, 280,
514 0, 300, 275, 280, 0, 284, 0, 292, 0, 301,
515 292, 0, 281, 0, 283, 0, 301, 283, 0, 293,
516 292, 0, 284, 279, 275, 371, 0, 284, 95, 278,
517 113, 0, 284, 95, 113, 0, 94, 280, 110, 0,
518 293, 292, 0, 292, 0, 81, 276, 285, 0, 71,
519 276, 285, 0, 81, 285, 0, 71, 285, 0, 300,
520 275, 285, 0, 189, 0, 81, 276, 285, 0, 71,
521 276, 285, 0, 81, 286, 0, 71, 286, 0, 300,
522 275, 285, 0, 287, 0, 189, 279, 275, 371, 0,
523 94, 286, 110, 0, 189, 95, 278, 113, 0, 189,
524 95, 113, 0, 289, 0, 293, 188, 0, 293, 186,
525 0, 293, 185, 0, 293, 182, 0, 293, 185, 0,
526 289, 0, 301, 289, 0, 208, 94, 175, 110, 0,
527 208, 94, 187, 110, 0, 208, 200, 0, 4, 0,
528 5, 0, 159, 0, 294, 0, 293, 294, 0, 4,
529 55, 0, 5, 55, 0, 58, 55, 0, 159, 55,
530 0, 296, 0, 301, 296, 0, 297, 155, 0, 298,
531 0, 297, 298, 0, 4, 55, 0, 5, 55, 0,
532 159, 55, 0, 57, 55, 0, 3, 55, 0, 58,
533 55, 0, 301, 292, 0, 283, 0, 301, 283, 0,
534 293, 81, 0, 301, 293, 81, 0, 55, 0, 81,
535 275, 302, 0, 81, 275, 0, 71, 275, 302, 0,
536 71, 275, 0, 300, 275, 0, 300, 275, 302, 0,
537 303, 0, 95, 165, 113, 0, 303, 95, 278, 113,
538 0, 81, 276, 304, 0, 81, 304, 0, 81, 276,
539 0, 81, 0, 71, 276, 304, 0, 71, 304, 0,
540 71, 276, 0, 71, 0, 300, 275, 0, 300, 275,
541 304, 0, 305, 0, 94, 304, 110, 0, 91, 0,
542 305, 94, 359, 110, 275, 371, 0, 305, 48, 275,
543 371, 0, 305, 95, 278, 113, 0, 305, 95, 113,
544 0, 94, 360, 110, 275, 371, 0, 179, 275, 371,
545 0, 200, 275, 371, 0, 95, 278, 113, 0, 95,
546 113, 0, 321, 0, 307, 0, 306, 321, 0, 306,
547 307, 0, 1, 61, 0, 0, 0, 0, 311, 0,
548 312, 0, 311, 312, 0, 34, 228, 61, 0, 314,
549 0, 1, 314, 0, 0, 59, 315, 308, 171, 309,
550 0, 0, 0, 15, 317, 308, 167, 318, 319, 0,
551 314, 0, 0, 308, 320, 322, 309, 0, 314, 0,
552 322, 0, 198, 0, 165, 61, 0, 0, 0, 316,
553 16, 323, 319, 324, 309, 0, 316, 0, 0, 0,
554 17, 325, 308, 167, 326, 172, 309, 0, 0, 0,
555 18, 327, 319, 17, 328, 166, 61, 0, 0, 0,
556 0, 0, 19, 329, 94, 352, 330, 308, 168, 61,
557 331, 354, 110, 332, 172, 309, 0, 0, 0, 20,
558 308, 94, 169, 110, 333, 319, 334, 309, 0, 0,
559 21, 181, 63, 335, 321, 0, 0, 21, 181, 12,
560 181, 63, 336, 321, 0, 0, 22, 63, 337, 321,
561 0, 23, 61, 0, 24, 61, 0, 25, 61, 0,
562 25, 165, 61, 0, 121, 353, 94, 195, 110, 61,
563 0, 121, 353, 94, 195, 63, 355, 110, 61, 0,
564 121, 353, 94, 195, 63, 355, 63, 355, 110, 61,
565 0, 121, 353, 94, 195, 63, 355, 63, 355, 63,
566 358, 110, 61, 0, 26, 81, 165, 61, 0, 26,
567 155, 61, 0, 351, 321, 0, 351, 111, 0, 61,
568 0, 341, 0, 0, 0, 96, 339, 137, 314, 340,
569 344, 0, 0, 0, 96, 342, 314, 343, 344, 0,
570 345, 0, 344, 345, 0, 0, 0, 0, 97, 346,
571 308, 350, 347, 314, 348, 309, 0, 206, 0, 276,
572 0, 94, 12, 110, 0, 94, 368, 110, 0, 3,
573 63, 0, 57, 63, 0, 4, 63, 0, 5, 63,
574 0, 354, 61, 0, 198, 0, 59, 171, 0, 0,
575 9, 0, 0, 165, 0, 1, 0, 0, 356, 0,
576 357, 0, 356, 60, 357, 0, 11, 94, 165, 110,
577 0, 11, 0, 358, 60, 11, 0, 0, 360, 0,
578 201, 0, 364, 0, 365, 12, 0, 364, 12, 0,
579 201, 12, 0, 12, 0, 98, 0, 364, 98, 0,
580 201, 98, 0, 364, 63, 0, 201, 63, 0, 0,
581 65, 362, 363, 0, 103, 0, 230, 0, 366, 0,
582 368, 361, 0, 365, 367, 0, 365, 370, 0, 365,
583 370, 65, 230, 0, 364, 60, 0, 201, 60, 0,
584 203, 199, 0, 206, 199, 0, 208, 199, 0, 203,
585 304, 0, 203, 0, 205, 285, 0, 368, 0, 368,
586 361, 0, 366, 0, 201, 0, 0, 0, 285, 0,
587 0, 62, 94, 373, 110, 0, 62, 48, 0, 201,
588 0, 372, 0, 373, 60, 372, 0, 0, 81, 275,
589 374, 0, 71, 275, 374, 0, 300, 275, 374, 0,
590 42, 0, 375, 81, 0, 375, 82, 0, 375, 83,
591 0, 375, 79, 0, 375, 80, 0, 375, 71, 0,
592 375, 69, 0, 375, 70, 0, 375, 89, 0, 375,
593 60, 0, 375, 74, 0, 375, 75, 0, 375, 76,
594 0, 375, 73, 0, 375, 64, 0, 375, 65, 0,
595 375, 77, 0, 375, 78, 0, 375, 87, 0, 375,
596 88, 0, 375, 68, 0, 375, 67, 0, 375, 112,
597 0, 375, 66, 63, 0, 375, 72, 0, 375, 92,
598 0, 375, 84, 0, 375, 48, 0, 375, 95, 113,
599 0, 375, 40, 0, 375, 39, 0, 375, 40, 95,
600 113, 0, 375, 39, 95, 113, 0, 375, 349, 374,
601 0, 375, 1, 0
602 };
603
604 #endif
605
606 #if YYDEBUG != 0
607 static const short yyrline[] = { 0,
608 310, 312, 326, 329, 330, 334, 336, 339, 344, 348,
609 354, 356, 359, 362, 366, 369, 371, 373, 376, 378,
610 381, 384, 386, 388, 390, 392, 394, 396, 402, 406,
611 409, 411, 415, 417, 418, 420, 424, 427, 433, 436,
612 438, 443, 446, 450, 463, 465, 467, 471, 481, 483,
613 485, 489, 498, 508, 511, 513, 517, 519, 520, 527,
614 528, 529, 532, 535, 539, 541, 542, 545, 547, 550,
615 553, 555, 559, 569, 571, 581, 590, 592, 602, 611,
616 613, 623, 632, 634, 646, 654, 661, 666, 673, 680,
617 683, 685, 687, 693, 703, 705, 708, 711, 713, 716,
618 718, 741, 750, 753, 755, 759, 772, 792, 795, 797,
619 798, 801, 808, 814, 816, 818, 820, 822, 825, 830,
620 832, 833, 834, 835, 838, 840, 841, 844, 846, 847,
621 850, 854, 857, 859, 861, 864, 867, 869, 877, 884,
622 890, 896, 902, 905, 912, 920, 922, 930, 933, 937,
623 940, 943, 946, 948, 950, 952, 956, 959, 962, 967,
624 971, 976, 980, 983, 985, 989, 1009, 1016, 1019, 1021,
625 1022, 1023, 1026, 1037, 1046, 1050, 1054, 1057, 1059, 1063,
626 1066, 1069, 1073, 1076, 1078, 1080, 1082, 1089, 1102, 1104,
627 1106, 1108, 1114, 1117, 1120, 1123, 1126, 1130, 1133, 1136,
628 1140, 1142, 1146, 1150, 1152, 1156, 1159, 1166, 1169, 1171,
629 1179, 1188, 1194, 1201, 1203, 1205, 1218, 1221, 1223, 1225,
630 1227, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243, 1245,
631 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 1265, 1267,
632 1269, 1286, 1289, 1290, 1291, 1292, 1293, 1296, 1299, 1302,
633 1304, 1306, 1310, 1313, 1315, 1319, 1321, 1322, 1325, 1327,
634 1329, 1331, 1335, 1338, 1342, 1344, 1345, 1346, 1350, 1358,
635 1359, 1360, 1368, 1376, 1384, 1386, 1394, 1415, 1422, 1429,
636 1431, 1440, 1445, 1468, 1512, 1513, 1517, 1521, 1525, 1529,
637 1531, 1535, 1537, 1545, 1547, 1552, 1558, 1562, 1567, 1572,
638 1574, 1579, 1594, 1609, 1620, 1632, 1640, 1649, 1693, 1696,
639 1700, 1703, 1707, 1710, 1715, 1717, 1721, 1734, 1737, 1744,
640 1751, 1756, 1758, 1763, 1765, 1772, 1774, 1778, 1782, 1788,
641 1792, 1795, 1798, 1801, 1811, 1813, 1816, 1820, 1823, 1826,
642 1829, 1832, 1838, 1844, 1846, 1851, 1853, 1862, 1865, 1867,
643 1870, 1876, 1878, 1888, 1892, 1895, 1898, 1903, 1906, 1914,
644 1916, 1918, 1920, 1923, 1926, 1941, 1960, 1963, 1965, 1968,
645 1970, 1973, 1975, 1978, 1980, 1983, 1986, 1990, 2009, 2011,
646 2031, 2037, 2038, 2044, 2053, 2055, 2065, 2074, 2076, 2088,
647 2091, 2095, 2098, 2102, 2107, 2110, 2114, 2117, 2119, 2121,
648 2123, 2130, 2132, 2133, 2134, 2138, 2141, 2145, 2148, 2154,
649 2156, 2159, 2162, 2165, 2171, 2174, 2177, 2179, 2181, 2183,
650 2187, 2193, 2201, 2203, 2207, 2209, 2214, 2217, 2220, 2222,
651 2224, 2228, 2232, 2237, 2241, 2244, 2249, 2253, 2256, 2259,
652 2263, 2265, 2300, 2306, 2312, 2324, 2326, 2329, 2331, 2336,
653 2338, 2340, 2342, 2344, 2348, 2353, 2358, 2364, 2369, 2374,
654 2376, 2380, 2385, 2388, 2395, 2423, 2429, 2431, 2434, 2437,
655 2439, 2443, 2445, 2449, 2475, 2504, 2507, 2508, 2529, 2552,
656 2554, 2558, 2584, 2593, 2676, 2683, 2686, 2694, 2705, 2714,
657 2718, 2733, 2736, 2741, 2743, 2745, 2747, 2749, 2751, 2756,
658 2762, 2764, 2767, 2770, 2772, 2783, 2788, 2791, 2793, 2817,
659 2820, 2821, 2832, 2835, 2836, 2847, 2849, 2852, 2854, 2857,
660 2864, 2872, 2879, 2885, 2891, 2899, 2903, 2908, 2912, 2915,
661 2924, 2926, 2930, 2933, 2938, 2942, 2947, 2957, 2960, 2964,
662 2968, 2976, 2981, 2987, 2990, 2992, 2994, 3000, 3003, 3005,
663 3007, 3009, 3013, 3016, 3034, 3044, 3046, 3047, 3051, 3056,
664 3059, 3061, 3063, 3065, 3069, 3075, 3078, 3080, 3082, 3084,
665 3088, 3091, 3094, 3096, 3098, 3100, 3104, 3107, 3110, 3112,
666 3114, 3116, 3123, 3134, 3138, 3143, 3147, 3152, 3154, 3158,
667 3161, 3163, 3167, 3169, 3170, 3173, 3175, 3181, 3196, 3202,
668 3208, 3222, 3224, 3228, 3240, 3246, 3257, 3264, 3270, 3272,
669 3273, 3274, 3282, 3291, 3292, 3296, 3299, 3305, 3311, 3314,
670 3316, 3318, 3320, 3324, 3328, 3332, 3335, 3340, 3343, 3345,
671 3347, 3349, 3351, 3353, 3355, 3357, 3361, 3365, 3369, 3373,
672 3374, 3376, 3378, 3380, 3382, 3384, 3386, 3388, 3390, 3398,
673 3400, 3401, 3402, 3405, 3413, 3418, 3425, 3427, 3432, 3434,
674 3437, 3451, 3454, 3457, 3466, 3478, 3489, 3509, 3519, 3522,
675 3530, 3542, 3545, 3548, 3551, 3567, 3570, 3581, 3582, 3586,
676 3601, 3620, 3632, 3646, 3660, 3673, 3692, 3710, 3729, 3737,
677 3758, 3776, 3789, 3790, 3793, 3793, 3796, 3796, 3799, 3799,
678 3805, 3811, 3814, 3819, 3826, 3835, 3844, 3853, 3861, 3874,
679 3876, 3880, 3882, 3885, 3892, 3895, 3903, 3919, 3930, 3942,
680 3944, 3947, 3957, 3967, 3978, 3980, 3982, 3985, 4002, 4008,
681 4016, 4018, 4020, 4024, 4027, 4028, 4036, 4040, 4044, 4047,
682 4048, 4054, 4057, 4060, 4062, 4066, 4071, 4074, 4084, 4089,
683 4090, 4098, 4104, 4109, 4113, 4118, 4122, 4126, 4130, 4135,
684 4146, 4160, 4164, 4167, 4169, 4173, 4177, 4180, 4183, 4185,
685 4189, 4191, 4198, 4205, 4208, 4211, 4215, 4219, 4225, 4229,
686 4234, 4236, 4239, 4244, 4250, 4260, 4263, 4265, 4269, 4274,
687 4276, 4283, 4286, 4288, 4290, 4296, 4301, 4304, 4306, 4308,
688 4310, 4312, 4314, 4316, 4318, 4320, 4322, 4324, 4326, 4328,
689 4330, 4332, 4334, 4336, 4338, 4340, 4342, 4344, 4346, 4348,
690 4350, 4352, 4354, 4356, 4358, 4360, 4362, 4364, 4366, 4369,
691 4371
692 };
693 #endif
694
695
696 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
697
698 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
699 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
700 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
701 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
702 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
703 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
704 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
705 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
706 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
707 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
708 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
709 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
710 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
711 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
712 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
713 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
714 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
715 "@5","template_parm_list","template_type_parm","template_parm","template_def",
716 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
717 "constructor_declarator","@6","@7","@8","@9","fn.def1","component_constructor_declarator",
718 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
719 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
720 "template_type","self_template_type","template_close_bracket","template_arg_list",
721 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
722 "condition","@10","compstmtend","already_scoped_stmt","@11","nontrivial_exprlist",
723 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
724 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
725 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
726 "primary","@12","new","delete","boolean.literal","string","nodecls","object",
727 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
728 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
729 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
730 "initdcl0","@13","initdcl","@14","notype_initdcl0","@15","nomods_initdcl0","@16",
731 "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
732 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
733 "pending_inlines","defarg_again","pending_defargs","structsp","@17","@18","@19",
734 "@20","@21","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
735 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
736 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
737 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
738 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
739 "component_decl_1","components","notype_components","component_declarator0",
740 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
741 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
742 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
743 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
744 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
745 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
746 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
747 "typename_sub","typename_sub0","typename_sub1","typename_sub2","complex_type_name",
748 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
749 "direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls",
750 "label_decls","label_decl","compstmt_or_error","compstmt","@22","simple_if",
751 "@23","@24","implicitly_scoped_stmt","@25","stmt","simple_stmt","@26","@27",
752 "@28","@29","@30","@31","@32","@33","@34","@35","@36","@37","@38","@39","@40",
753 "function_try_block","@41","@42","try_block","@43","@44","handler_seq","handler",
754 "@45","@46","@47","type_specifier_seq","handler_args","label_colon","for.init.statement",
755 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
756 "asm_clobbers","parmlist","complex_parmlist","defarg","@48","defarg1","parms",
757 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
758 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
759 "operator_name", NULL
760 };
761 #endif
762
763 static const short yyr1[] = { 0,
764 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
765 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
766 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
767 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
768 130, 132, 132, 133, 133, 133, 133, 134, 134, 134,
769 134, 135, 135, 136, 136, 136, 136, 136, 136, 136,
770 136, 136, 137, 137, 138, 138, 138, 139, 139, 140,
771 140, 140, 142, 141, 141, 143, 141, 141, 144, 141,
772 141, 145, 141, 141, 146, 146, 146, 146, 146, 147,
773 147, 147, 147, 148, 148, 148, 148, 148, 148, 148,
774 148, 149, 150, 150, 150, 151, 152, 153, 153, 153,
775 153, 154, 154, 154, 154, 154, 154, 154, 154, 155,
776 155, 155, 155, 155, 156, 156, 156, 157, 157, 157,
777 158, 158, 158, 158, 158, 158, 158, 158, 159, 159,
778 159, 159, 159, 160, 160, 161, 161, 162, 162, 163,
779 163, 164, 164, 164, 164, 164, 165, 165, 166, 166,
780 167, 167, 168, 168, 168, 170, 169, 169, 171, 171,
781 171, 171, 173, 172, 172, 174, 174, 174, 174, 175,
782 175, 176, 176, 176, 176, 176, 176, 176, 176, 176,
783 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
784 176, 176, 176, 176, 176, 177, 177, 178, 178, 178,
785 178, 179, 179, 180, 180, 180, 181, 181, 181, 181,
786 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
787 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
788 181, 182, 182, 182, 182, 182, 182, 183, 184, 184,
789 184, 184, 185, 185, 185, 186, 186, 186, 187, 187,
790 187, 187, 188, 188, 189, 189, 189, 189, 190, 190,
791 190, 190, 190, 190, 190, 191, 190, 190, 190, 190,
792 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
793 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
794 190, 190, 190, 190, 190, 190, 190, 190, 192, 192,
795 193, 193, 194, 194, 195, 195, 196, 197, 197, 198,
796 198, 198, 198, 198, 198, 199, 199, 200, 200, 201,
797 201, 201, 201, 201, 202, 202, 203, 203, 203, 203,
798 203, 203, 204, 204, 204, 204, 204, 205, 205, 205,
799 205, 205, 205, 206, 206, 206, 206, 207, 207, 208,
800 208, 208, 208, 208, 208, 208, 209, 209, 209, 210,
801 210, 211, 211, 212, 212, 213, 213, 215, 214, 214,
802 217, 216, 216, 219, 218, 218, 221, 220, 220, 222,
803 222, 223, 223, 224, 225, 225, 226, 226, 226, 226,
804 226, 227, 227, 227, 227, 228, 228, 229, 229, 230,
805 230, 230, 230, 230, 231, 231, 231, 231, 231, 231,
806 232, 233, 233, 233, 234, 234, 235, 235, 236, 236,
807 236, 238, 237, 237, 239, 237, 237, 237, 237, 237,
808 240, 241, 242, 237, 237, 243, 243, 244, 244, 245,
809 245, 245, 245, 245, 246, 247, 248, 248, 248, 248,
810 248, 249, 250, 250, 250, 251, 252, 252, 253, 253,
811 253, 254, 254, 255, 255, 256, 256, 256, 256, 257,
812 257, 257, 257, 258, 259, 260, 260, 260, 260, 261,
813 261, 262, 262, 262, 262, 262, 262, 262, 262, 263,
814 263, 263, 263, 263, 263, 263, 263, 263, 263, 264,
815 264, 264, 265, 265, 265, 266, 266, 267, 267, 268,
816 268, 269, 269, 269, 269, 270, 270, 271, 271, 271,
817 272, 272, 273, 273, 274, 274, 274, 275, 275, 276,
818 276, 277, 278, 279, 279, 279, 279, 280, 280, 280,
819 280, 280, 280, 281, 281, 282, 282, 282, 283, 284,
820 284, 284, 284, 284, 284, 285, 285, 285, 285, 285,
821 285, 286, 286, 286, 286, 286, 286, 287, 287, 287,
822 287, 287, 287, 288, 288, 289, 289, 290, 290, 291,
823 291, 291, 292, 292, 292, 293, 293, 294, 294, 294,
824 294, 295, 295, 296, 297, 297, 298, 298, 298, 298,
825 298, 298, 299, 299, 299, 300, 300, 301, 302, 302,
826 302, 302, 302, 302, 302, 303, 303, 304, 304, 304,
827 304, 304, 304, 304, 304, 304, 304, 304, 305, 305,
828 305, 305, 305, 305, 305, 305, 305, 305, 305, 306,
829 306, 306, 306, 307, 308, 309, 310, 310, 311, 311,
830 312, 313, 313, 315, 314, 317, 318, 316, 319, 320,
831 319, 321, 321, 322, 322, 323, 324, 322, 322, 325,
832 326, 322, 327, 328, 322, 329, 330, 331, 332, 322,
833 333, 334, 322, 335, 322, 336, 322, 337, 322, 322,
834 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
835 322, 322, 322, 339, 340, 338, 342, 343, 341, 344,
836 344, 346, 347, 348, 345, 349, 349, 350, 350, 351,
837 351, 351, 351, 352, 352, 352, 353, 353, 354, 354,
838 354, 355, 355, 356, 356, 357, 358, 358, 359, 359,
839 359, 360, 360, 360, 360, 360, 360, 360, 360, 360,
840 360, 362, 361, 363, 363, 364, 364, 364, 364, 364,
841 365, 365, 366, 366, 366, 366, 366, 366, 367, 367,
842 368, 368, 369, 370, 370, 371, 371, 371, 372, 373,
843 373, 374, 374, 374, 374, 375, 376, 376, 376, 376,
844 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
845 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
846 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
847 376
848 };
849
850 static const short yyr2[] = { 0,
851 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
852 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
853 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
854 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
855 3, 1, 3, 1, 2, 1, 2, 1, 3, 1,
856 3, 2, 2, 2, 3, 3, 2, 2, 2, 2,
857 2, 1, 1, 1, 0, 1, 2, 0, 1, 4,
858 3, 3, 0, 8, 5, 0, 9, 6, 0, 8,
859 5, 0, 9, 6, 2, 2, 1, 2, 1, 6,
860 4, 6, 4, 2, 1, 2, 2, 1, 2, 1,
861 2, 2, 2, 4, 2, 3, 0, 0, 1, 3,
862 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
863 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
864 3, 3, 2, 2, 4, 4, 3, 3, 4, 3,
865 4, 3, 1, 4, 3, 1, 1, 1, 3, 1,
866 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
867 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
868 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
869 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
870 2, 4, 2, 3, 3, 4, 4, 5, 5, 6,
871 2, 4, 5, 2, 2, 3, 3, 3, 1, 3,
872 2, 3, 4, 1, 2, 5, 1, 3, 3, 3,
873 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
874 3, 3, 3, 3, 3, 3, 5, 3, 3, 1,
875 2, 3, 1, 1, 1, 1, 1, 0, 5, 4,
876 5, 4, 5, 5, 5, 1, 1, 1, 1, 2,
877 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
878 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
879 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
880 4, 2, 2, 1, 4, 2, 2, 5, 3, 2,
881 2, 5, 3, 5, 3, 4, 6, 2, 1, 2,
882 1, 2, 1, 1, 1, 2, 0, 2, 2, 3,
883 3, 3, 2, 2, 2, 1, 1, 1, 2, 2,
884 2, 2, 1, 1, 1, 1, 2, 2, 3, 3,
885 3, 4, 1, 2, 2, 2, 1, 1, 1, 2,
886 2, 2, 1, 1, 2, 2, 3, 1, 2, 1,
887 1, 1, 4, 4, 4, 4, 1, 1, 1, 1,
888 3, 1, 3, 1, 3, 0, 4, 0, 6, 3,
889 0, 6, 3, 0, 6, 3, 0, 6, 3, 0,
890 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
891 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
892 2, 3, 4, 1, 1, 3, 4, 6, 3, 5,
893 1, 4, 3, 3, 0, 3, 3, 3, 0, 2,
894 2, 0, 7, 4, 0, 6, 3, 2, 2, 2,
895 0, 0, 0, 10, 1, 0, 1, 0, 1, 1,
896 2, 2, 2, 2, 2, 2, 3, 4, 3, 2,
897 3, 0, 1, 3, 2, 2, 1, 1, 0, 2,
898 3, 1, 4, 1, 3, 1, 1, 4, 4, 2,
899 2, 3, 3, 1, 0, 1, 2, 4, 3, 1,
900 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,
901 2, 4, 4, 2, 1, 5, 4, 1, 2, 0,
902 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
903 4, 4, 4, 4, 3, 4, 4, 4, 4, 3,
904 1, 3, 1, 3, 2, 1, 6, 0, 2, 1,
905 2, 0, 2, 4, 4, 2, 4, 3, 3, 2,
906 2, 3, 1, 1, 2, 1, 1, 2, 2, 4,
907 4, 3, 3, 2, 1, 3, 3, 2, 2, 3,
908 1, 3, 3, 2, 2, 3, 1, 4, 3, 4,
909 3, 1, 2, 2, 2, 2, 2, 1, 2, 4,
910 4, 2, 1, 1, 1, 1, 2, 2, 2, 2,
911 2, 1, 2, 2, 1, 2, 2, 2, 2, 2,
912 2, 2, 2, 1, 2, 2, 3, 1, 3, 2,
913 3, 2, 2, 3, 1, 3, 4, 3, 2, 2,
914 1, 3, 2, 2, 1, 2, 3, 1, 3, 1,
915 6, 4, 4, 3, 5, 3, 3, 3, 2, 1,
916 1, 2, 2, 2, 0, 0, 0, 1, 1, 2,
917 3, 1, 2, 0, 5, 0, 0, 6, 1, 0,
918 4, 1, 1, 1, 2, 0, 0, 6, 1, 0,
919 0, 7, 0, 0, 7, 0, 0, 0, 0, 14,
920 0, 0, 9, 0, 5, 0, 7, 0, 4, 2,
921 2, 2, 3, 6, 8, 10, 12, 4, 3, 2,
922 2, 1, 1, 0, 0, 6, 0, 0, 5, 1,
923 2, 0, 0, 0, 8, 1, 1, 3, 3, 2,
924 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
925 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
926 1, 1, 2, 2, 2, 1, 1, 2, 2, 2,
927 2, 0, 3, 1, 1, 1, 2, 2, 2, 4,
928 2, 2, 2, 2, 2, 2, 1, 2, 1, 2,
929 1, 1, 0, 0, 1, 0, 4, 2, 1, 1,
930 3, 0, 3, 3, 3, 1, 2, 2, 2, 2,
931 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
932 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
933 2, 2, 2, 2, 3, 2, 2, 4, 4, 3,
934 2
935 };
936
937 static const short yydefact[] = { 3,
938 13, 13, 5, 0, 4, 0, 245, 593, 594, 0,
939 349, 361, 540, 0, 11, 12, 0, 0, 0, 10,
940 450, 796, 0, 0, 0, 0, 618, 246, 247, 62,
941 0, 0, 783, 0, 37, 0, 0, 14, 0, 8,
942 0, 17, 16, 68, 89, 65, 0, 595, 143, 266,
943 243, 267, 571, 0, 336, 0, 335, 354, 0, 374,
944 353, 392, 360, 0, 463, 462, 469, 468, 467, 445,
945 348, 556, 362, 557, 87, 265, 582, 554, 0, 596,
946 538, 0, 0, 244, 60, 61, 0, 598, 0, 599,
947 0, 248, 0, 120, 121, 122, 123, 124, 435, 438,
948 0, 614, 0, 439, 0, 0, 0, 0, 121, 122,
949 123, 124, 24, 0, 0, 0, 0, 0, 0, 0,
950 440, 602, 0, 605, 0, 0, 0, 0, 0, 0,
951 30, 0, 0, 349, 39, 134, 0, 0, 354, 133,
952 0, 600, 0, 0, 569, 0, 0, 0, 568, 0,
953 0, 0, 0, 266, 0, 542, 0, 265, 538, 29,
954 0, 27, 3, 38, 0, 53, 52, 69, 15, 0,
955 0, 408, 66, 58, 601, 542, 0, 538, 59, 0,
956 0, 0, 85, 0, 370, 326, 553, 327, 565, 0,
957 538, 351, 350, 57, 88, 337, 0, 372, 352, 86,
958 343, 367, 368, 338, 356, 358, 347, 369, 0, 54,
959 393, 451, 452, 453, 454, 466, 129, 128, 130, 455,
960 456, 460, 0, 0, 469, 783, 465, 484, 441, 541,
961 355, 0, 0, 390, 594, 0, 616, 143, 586, 587,
962 583, 559, 597, 0, 558, 555, 0, 831, 827, 826,
963 824, 806, 811, 812, 0, 818, 817, 803, 804, 802,
964 821, 810, 807, 808, 809, 813, 814, 800, 801, 797,
965 798, 799, 823, 815, 816, 805, 822, 0, 819, 726,
966 354, 727, 792, 248, 245, 540, 270, 315, 0, 0,
967 0, 0, 311, 309, 283, 313, 314, 0, 0, 0,
968 0, 0, 247, 240, 0, 0, 153, 152, 0, 154,
969 155, 0, 0, 156, 0, 0, 148, 0, 214, 0,
970 217, 151, 269, 182, 0, 0, 271, 272, 0, 150,
971 333, 354, 334, 588, 294, 285, 0, 0, 146, 147,
972 142, 0, 145, 0, 0, 138, 0, 354, 137, 437,
973 0, 432, 615, 613, 0, 157, 158, 0, 0, 0,
974 397, 3, 22, 0, 611, 607, 608, 610, 612, 609,
975 120, 121, 122, 123, 124, 604, 606, 603, 257, 258,
976 0, 256, 33, 34, 0, 585, 584, 32, 31, 41,
977 0, 132, 131, 140, 0, 0, 567, 0, 566, 242,
978 261, 0, 575, 260, 0, 574, 0, 268, 579, 0,
979 0, 13, 0, 0, 9, 9, 102, 72, 107, 714,
980 0, 64, 63, 71, 105, 0, 0, 103, 67, 581,
981 0, 0, 546, 0, 786, 0, 551, 0, 550, 0,
982 0, 0, 0, 538, 390, 0, 56, 542, 538, 564,
983 0, 340, 341, 0, 55, 390, 345, 344, 346, 339,
984 359, 376, 375, 457, 461, 459, 0, 464, 470, 485,
985 357, 0, 389, 391, 538, 73, 0, 0, 0, 538,
986 79, 539, 570, 594, 617, 143, 0, 0, 820, 825,
987 356, 538, 538, 0, 538, 830, 0, 0, 0, 0,
988 189, 0, 0, 191, 204, 205, 0, 0, 0, 0,
989 0, 241, 188, 185, 184, 186, 0, 0, 0, 0,
990 0, 269, 0, 0, 0, 183, 0, 263, 187, 0,
991 0, 215, 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
993 0, 0, 0, 0, 279, 281, 282, 319, 318, 0,
994 0, 0, 0, 0, 193, 536, 0, 201, 316, 308,
995 0, 783, 297, 300, 301, 0, 0, 328, 635, 631,
996 640, 0, 542, 538, 538, 538, 330, 638, 0, 592,
997 332, 0, 0, 331, 296, 0, 292, 310, 312, 589,
998 0, 293, 141, 144, 250, 0, 136, 135, 533, 448,
999 531, 434, 0, 363, 0, 0, 364, 365, 366, 403,
1000 404, 405, 402, 0, 395, 398, 0, 3, 0, 28,
1001 36, 35, 46, 0, 48, 42, 782, 777, 0, 333,
1002 354, 44, 334, 781, 50, 139, 264, 573, 572, 268,
1003 576, 0, 19, 21, 68, 108, 317, 0, 664, 70,
1004 662, 414, 0, 410, 409, 181, 0, 180, 543, 580,
1005 0, 756, 757, 0, 751, 354, 0, 750, 752, 784,
1006 766, 0, 0, 578, 549, 548, 0, 0, 563, 0,
1007 380, 371, 562, 0, 786, 552, 342, 373, 386, 390,
1008 458, 593, 594, 783, 0, 783, 595, 471, 472, 474,
1009 783, 477, 476, 0, 0, 0, 0, 387, 786, 749,
1010 0, 0, 0, 786, 749, 538, 76, 538, 82, 829,
1011 828, 792, 792, 792, 252, 0, 0, 0, 0, 592,
1012 0, 0, 0, 0, 354, 0, 0, 0, 275, 0,
1013 273, 274, 0, 212, 149, 245, 593, 594, 246, 247,
1014 0, 0, 415, 446, 0, 239, 238, 741, 740, 0,
1015 236, 235, 233, 234, 232, 231, 230, 227, 228, 229,
1016 225, 226, 220, 221, 222, 223, 224, 218, 219, 0,
1017 0, 0, 0, 0, 0, 195, 209, 0, 0, 194,
1018 538, 538, 0, 538, 535, 625, 0, 0, 0, 0,
1019 299, 0, 303, 0, 305, 0, 634, 633, 630, 629,
1020 782, 0, 0, 649, 0, 0, 786, 329, 786, 636,
1021 538, 749, 542, 635, 631, 0, 0, 538, 0, 0,
1022 0, 0, 0, 249, 0, 449, 0, 448, 179, 178,
1023 177, 176, 397, 0, 0, 25, 0, 26, 47, 0,
1024 40, 0, 635, 631, 0, 773, 538, 776, 778, 0,
1025 774, 775, 455, 0, 18, 20, 125, 113, 126, 127,
1026 0, 106, 109, 0, 0, 0, 0, 663, 655, 411,
1027 0, 104, 547, 544, 755, 772, 761, 759, 0, 545,
1028 754, 771, 760, 758, 753, 785, 768, 779, 769, 762,
1029 767, 788, 0, 378, 561, 560, 384, 383, 481, 0,
1030 480, 783, 783, 783, 0, 505, 594, 0, 0, 498,
1031 0, 0, 508, 0, 100, 95, 0, 143, 510, 513,
1032 0, 490, 0, 98, 0, 390, 377, 0, 75, 0,
1033 0, 0, 0, 81, 0, 786, 749, 786, 749, 794,
1034 793, 795, 251, 284, 190, 192, 290, 291, 0, 0,
1035 0, 0, 274, 277, 0, 0, 0, 0, 213, 0,
1036 278, 280, 207, 206, 197, 0, 196, 211, 0, 0,
1037 622, 620, 0, 623, 542, 202, 0, 0, 306, 0,
1038 0, 0, 632, 628, 639, 538, 648, 646, 647, 637,
1039 786, 0, 644, 0, 590, 591, 0, 295, 534, 532,
1040 436, 0, 396, 394, 245, 0, 23, 43, 49, 634,
1041 630, 635, 631, 0, 554, 0, 538, 636, 51, 0,
1042 111, 0, 115, 0, 117, 0, 119, 0, 715, 657,
1043 0, 412, 635, 631, 0, 269, 0, 588, 780, 0,
1044 0, 789, 790, 0, 0, 0, 381, 0, 0, 0,
1045 483, 482, 475, 538, 749, 504, 499, 101, 509, 390,
1046 390, 496, 497, 494, 495, 538, 749, 245, 593, 0,
1047 376, 96, 500, 511, 516, 517, 376, 376, 0, 0,
1048 376, 94, 501, 514, 376, 491, 492, 493, 390, 0,
1049 442, 388, 538, 254, 253, 255, 538, 78, 0, 84,
1050 0, 0, 0, 0, 0, 0, 419, 0, 0, 416,
1051 216, 237, 0, 198, 199, 208, 210, 621, 619, 626,
1052 624, 0, 203, 0, 298, 302, 304, 786, 642, 538,
1053 643, 433, 0, 399, 401, 634, 630, 559, 636, 112,
1054 110, 0, 0, 0, 0, 0, 169, 656, 0, 658,
1055 659, 413, 0, 591, 770, 764, 765, 763, 0, 787,
1056 379, 385, 0, 478, 479, 473, 786, 0, 408, 408,
1057 786, 0, 0, 0, 390, 390, 0, 390, 390, 0,
1058 390, 0, 408, 0, 429, 786, 786, 538, 538, 0,
1059 0, 0, 0, 417, 0, 0, 0, 200, 627, 307,
1060 645, 786, 0, 114, 116, 118, 722, 716, 720, 406,
1061 0, 665, 0, 245, 593, 594, 666, 680, 683, 686,
1062 655, 0, 0, 0, 0, 0, 0, 246, 712, 717,
1063 0, 737, 0, 674, 0, 0, 354, 0, 651, 672,
1064 679, 650, 673, 713, 0, 660, 274, 791, 382, 91,
1065 538, 503, 507, 93, 538, 390, 390, 525, 408, 245,
1066 593, 0, 512, 518, 519, 376, 376, 408, 408, 0,
1067 408, 515, 502, 0, 74, 80, 786, 786, 286, 287,
1068 288, 289, 0, 420, 537, 641, 400, 655, 721, 0,
1069 661, 654, 172, 730, 732, 733, 655, 655, 655, 0,
1070 0, 0, 698, 700, 701, 702, 0, 0, 0, 731,
1071 0, 325, 738, 0, 675, 323, 376, 0, 324, 0,
1072 376, 0, 0, 0, 170, 653, 652, 676, 711, 710,
1073 786, 786, 524, 521, 523, 0, 0, 390, 390, 390,
1074 520, 522, 506, 431, 0, 430, 425, 77, 83, 418,
1075 0, 407, 0, 0, 670, 669, 0, 0, 0, 0,
1076 694, 0, 703, 0, 709, 718, 0, 321, 322, 0,
1077 0, 0, 320, 171, 655, 90, 92, 390, 390, 530,
1078 408, 408, 0, 0, 444, 0, 723, 161, 0, 667,
1079 681, 0, 684, 657, 735, 687, 0, 168, 0, 354,
1080 0, 0, 0, 699, 708, 0, 0, 677, 529, 527,
1081 526, 528, 428, 427, 421, 65, 68, 0, 0, 0,
1082 0, 655, 0, 656, 0, 736, 655, 734, 691, 376,
1083 696, 695, 719, 742, 0, 656, 0, 426, 728, 729,
1084 724, 162, 668, 173, 656, 175, 671, 159, 0, 0,
1085 0, 655, 390, 0, 0, 0, 743, 744, 704, 678,
1086 424, 0, 423, 656, 657, 682, 0, 685, 165, 0,
1087 164, 692, 0, 697, 0, 742, 0, 0, 422, 725,
1088 174, 160, 688, 656, 166, 0, 0, 705, 745, 0,
1089 693, 0, 746, 0, 0, 0, 167, 747, 0, 706,
1090 689, 0, 0, 0, 748, 707, 656, 690, 0, 0,
1091 0
1092 };
1093
1094 static const short yydefgoto[] = { 1529,
1095 412, 2, 413, 165, 654, 315, 233, 3, 4, 38,
1096 628, 362, 933, 381, 40, 934, 391, 634, 635, 636,
1097 42, 43, 421, 171, 169, 44, 935, 720, 957, 725,
1098 959, 46, 936, 937, 172, 173, 422, 656, 882, 883,
1099 609, 884, 221, 47, 48, 49, 341, 316, 317, 318,
1100 1253, 1470, 1410, 1490, 1419, 1512, 1168, 1465, 1485, 356,
1101 837, 319, 564, 800, 320, 321, 357, 323, 345, 51,
1102 240, 383, 401, 52, 53, 324, 524, 325, 326, 327,
1103 328, 423, 329, 1254, 462, 585, 330, 1255, 55, 204,
1104 639, 331, 205, 502, 206, 184, 197, 59, 445, 185,
1105 1065, 463, 1183, 198, 1066, 60, 948, 473, 61, 62,
1106 624, 625, 626, 1231, 428, 763, 764, 1436, 1437, 1405,
1107 1366, 1294, 63, 613, 351, 470, 1205, 1367, 978, 847,
1108 64, 65, 66, 67, 225, 68, 69, 70, 227, 708,
1109 709, 710, 711, 229, 715, 716, 941, 942, 943, 1093,
1110 1103, 1094, 1283, 1095, 1096, 1284, 1285, 610, 611, 565,
1111 827, 333, 431, 432, 178, 186, 72, 73, 74, 187,
1112 188, 157, 76, 131, 334, 335, 336, 78, 337, 80,
1113 713, 122, 123, 124, 104, 81, 338, 805, 806, 822,
1114 588, 1258, 1259, 1375, 1232, 1169, 1170, 1171, 660, 1260,
1115 889, 1261, 1317, 1442, 1377, 1412, 1262, 1263, 1395, 1456,
1116 1318, 1443, 1319, 1445, 1320, 1447, 1510, 1524, 1472, 1504,
1117 1423, 1474, 1382, 424, 657, 1165, 1264, 1331, 1426, 1228,
1118 1229, 1308, 1440, 1484, 1421, 1407, 1265, 1416, 1334, 770,
1119 1476, 1477, 1478, 1519, 677, 678, 911, 1061, 1178, 679,
1120 680, 681, 907, 682, 150, 909, 684, 1063, 1064, 496,
1121 83, 84
1122 };
1123
1124 static const short yypact[] = { 115,
1125 150,-32768,-32768, 5678,-32768, 106, 44, 53, 174, 89,
1126 199,-32768,-32768, 1304,-32768,-32768, 129, 180, 190,-32768,
1127 -32768,-32768, 1099, 807, 855, 3485,-32768, 186, 474,-32768,
1128 1489, 1489,-32768, 4751,-32768, 5678, 203,-32768, 249, 465,
1129 10095,-32768,-32768, 260,-32768, 333, 327, 342,-32768,-32768,
1130 -32768,-32768, 268, 1815,-32768, 10288,-32768, 1834, 274,-32768,
1131 406,-32768,-32768, 1655,-32768,-32768, 410,-32768,-32768, 382,
1132 5305,-32768,-32768,-32768, 1207,-32768,-32768,-32768, 1129,-32768,
1133 -32768, 370, 7424, 446,-32768,-32768, 9063,-32768, 8611,-32768,
1134 8611,-32768, 10500,-32768, 53, 174, 186, 484, 439, 494,
1135 342,-32768, 370,-32768, 370, 9063, 9063, 472,-32768,-32768,
1136 -32768,-32768,-32768, 88, 513, 535, 554, 588, 522, 546,
1137 -32768,-32768, 1016,-32768, 1186, 53, 174, 576, 186, 484,
1138 -32768, 1300, 376,-32768, 539,-32768, 4762, 4510, 768,-32768,
1139 8611,-32768, 9063, 2096,-32768, 1432, 814, 2096,-32768, 1297,
1140 2644, 2644, 4751, 544, 596, 614, 602, 641,-32768,-32768,
1141 744,-32768, 653,-32768, 2623, 106,-32768,-32768,-32768, 791,
1142 112, 292, 708,-32768,-32768, 688, 36,-32768,-32768, 2737,
1143 2737, 4824, 1207, 564,-32768,-32768, 341,-32768,-32768, 1644,
1144 -32768,-32768,-32768,-32768,-32768, 1834, 718,-32768, 406, 1207,
1145 -32768,-32768,-32768, 2048, 1834,-32768, 406,-32768, 4762,-32768,
1146 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1147 -32768, 342, 1322, 1322, 410,-32768,-32768,-32768,-32768,-32768,
1148 843, 370, 705, 406, 463, 1059,-32768, 159,-32768,-32768,
1149 -32768,-32768,-32768, 2835,-32768,-32768, 338,-32768, 730, 746,
1150 -32768,-32768,-32768,-32768, 740,-32768,-32768,-32768,-32768,-32768,
1151 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1152 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 714,-32768,-32768,
1153 843, 5305, 490,-32768,-32768, 750,-32768,-32768, 9678, 9765,
1154 9852, 9852,-32768,-32768,-32768,-32768,-32768, 756, 780, 792,
1155 799, 806, 484, 9150, 1297, 9852,-32768,-32768, 9852,-32768,
1156 -32768, 9852, 6988,-32768, 9852, 632,-32768, 9852,-32768, 9237,
1157 -32768, 10551,-32768, 1032, 2854, 9324,-32768, 877, 644,-32768,
1158 782, 2401, 5056,-32768, 173,-32768, 1931, 2142,-32768,-32768,
1159 -32768, 632,-32768, 632, 8611,-32768, 4762, 1997,-32768,-32768,
1160 1297, 774,-32768,-32768, 786, 863, 10700, 825, 831, 834,
1161 1942, 653,-32768, 576,-32768,-32768,-32768,-32768,-32768,-32768,
1162 513, 535, 554, 588, 522,-32768,-32768,-32768, 53, 174,
1163 871,-32768,-32768,-32768, 376,-32768,-32768,-32768,-32768,-32768,
1164 5364,-32768,-32768,-32768, 632, 632,-32768, 473,-32768,-32768,
1165 -32768, 2096,-32768,-32768, 2096,-32768, 841,-32768,-32768, 2835,
1166 69, 845, 846, 10500,-32768,-32768,-32768,-32768,-32768,-32768,
1167 119,-32768,-32768,-32768,-32768, 7080, 9150,-32768,-32768,-32768,
1168 9150, 847,-32768, 6316, 98, 3264,-32768, 3264,-32768, 4260,
1169 4260, 4824, 849,-32768, 406, 4762,-32768, 848,-32768,-32768,
1170 4649, 2048, 1834, 4762,-32768, 406,-32768,-32768, 406, 2048,
1171 -32768, 874,-32768,-32768, 342,-32768, 1322,-32768, 1673,-32768,
1172 843, 744, 900, 406,-32768,-32768, 892, 894, 895,-32768,
1173 -32768,-32768,-32768, 489,-32768, 237, 858, 861,-32768,-32768,
1174 843,-32768,-32768, 667,-32768,-32768, 8611, 9150, 750, 6988,
1175 -32768, 271, 6988,-32768,-32768,-32768, 9063, 5611, 5611, 5611,
1176 5611, 10768,-32768,-32768,-32768,-32768, 866, 9939, 9939, 6988,
1177 867, 544, 869, 921, 875,-32768, 9063,-32768,-32768, 6797,
1178 6988,-32768, 9150, 9150, 5550, 9150, 9150, 9150, 9150, 9150,
1179 9150, 9150, 9150, 9150, 9150, 9150, 9150, 9150, 9150, 9150,
1180 9150, 9150, 9150, 9150,-32768,-32768,-32768,-32768,-32768, 9150,
1181 9150, 9150, 9063, 5016, 493, 1042, 7788,-32768,-32768,-32768,
1182 931, 976, 358, 372, 392, 2061, 814,-32768, 1648, 1648,
1183 -32768, 3217, 876, 893, 944,-32768,-32768, 363, 8419, 361,
1184 -32768, 686, 370,-32768,-32768, 9150,-32768,-32768,-32768,-32768,
1185 86,-32768,-32768,-32768,-32768, 632,-32768,-32768, 934, 946,
1186 -32768,-32768, 1297,-32768, 7517, 7609,-32768,-32768,-32768,-32768,
1187 -32768,-32768,-32768, 134,-32768, 909, 883, 653, 948,-32768,
1188 -32768,-32768, 1050, 176, 950,-32768,-32768, 726, 10556, 726,
1189 4026, 1655, 3637,-32768, 951,-32768,-32768,-32768,-32768, 908,
1190 -32768, 962,-32768,-32768, 260, 478, 965, 921,-32768,-32768,
1191 -32768,-32768, 6518, 10768,-32768, 863, 915, 10700,-32768,-32768,
1192 919,-32768,-32768, 922, 263, 5440, 923,-32768, 170, 10349,
1193 971, 972, 431,-32768,-32768,-32768, 3264, 3264,-32768, 4649,
1194 977,-32768,-32768, 936, 98,-32768, 2048,-32768, 991, 406,
1195 -32768, 535, 554,-32768, 963,-32768, 546, 998,-32768,-32768,
1196 365,-32768,-32768, 1334, 2508, 54, 80,-32768, 98, 1779,
1197 9063, 9063, 9063, 98, 1779,-32768,-32768,-32768,-32768,-32768,
1198 -32768, 1530, 1530, 1530,-32768, 632, 959, 960, 9417, 944,
1199 969, 975, 981, 1010, 4541, 1014, 1017, 1018,-32768, 985,
1200 -32768,-32768, 986,-32768,-32768, 1035, 695, 697, 61, 335,
1201 9150, 1047,-32768, 1052, 1004, 10768, 10768,-32768,-32768, 1065,
1202 4859, 3372, 4889, 5136, 4165, 3092, 2981, 1994, 1994, 1994,
1203 1514, 1514, 1283, 1283, 822, 822, 822,-32768,-32768, 1005,
1204 1009, 1019, 1028, 1030, 5611, 493,-32768, 7080, 9150,-32768,
1205 -32768,-32768, 9150,-32768,-32768, 1034, 9852, 1033, 1054, 1097,
1206 -32768, 9150,-32768, 9150,-32768, 9150, 2121,-32768, 2121,-32768,
1207 82, 1037, 1043,-32768, 1046, 5611, 98,-32768, 98, 3667,
1208 -32768, 1779, 1048, 8698, 8698, 6110, 1057, 9237, 1066, 1826,
1209 2142, 699, 1072,-32768, 9150, 1297, 1049, 946,-32768, 10768,
1210 -32768, 10768, 1942, 1074, 9504,-32768, 1051,-32768,-32768, 5364,
1211 -32768, 5611, 3067, 3067, 10156,-32768,-32768,-32768,-32768, 1644,
1212 -32768,-32768, 766, 9150,-32768,-32768, 513,-32768, 588, 522,
1213 9150, 1104,-32768, 440, 526, 538, 921,-32768,-32768,-32768,
1214 140,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8515,-32768,
1215 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 972, 1120,-32768,
1216 -32768,-32768, 5611,-32768,-32768,-32768,-32768, 1123,-32768, 9063,
1217 -32768,-32768,-32768,-32768, 1713,-32768, 619, 888, 1117,-32768,
1218 9150, 10227,-32768, 4267, 594, 594, 113, 552, 2934, 10394,
1219 3809,-32768, 149, 594, 1135, 406,-32768, 7080,-32768, 1092,
1220 632, 632, 632,-32768, 1094, 98, 1779, 98, 1779,-32768,
1221 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1113, 1115,
1222 1125, 1126, 908,-32768, 10632, 7080, 6613, 1100,-32768, 9150,
1223 -32768,-32768,-32768,-32768, 272, 1112,-32768,-32768, 1121, 38,
1224 943, 943, 1101, 943,-32768,-32768, 9852, 1213,-32768, 1136,
1225 1138, 1139,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1226 98, 1140,-32768, 1114,-32768,-32768, 1859,-32768, 10768,-32768,
1227 -32768, 1122,-32768,-32768, 153, 1141,-32768,-32768,-32768, 3247,
1228 3247, 3416, 3416, 10156,-32768, 1644,-32768, 3929, 10551, 1143,
1229 -32768, 478,-32768, 9150,-32768, 9150,-32768, 9150,-32768, 78,
1230 6705,-32768, 8791, 8791, 6220, 177, 1145, 282,-32768, 7080,
1231 6892,-32768,-32768, 166, 7080, 7080,-32768, 1153, 1155, 1673,
1232 -32768,-32768,-32768,-32768, 1779, 10768,-32768,-32768,-32768, 406,
1233 406,-32768,-32768,-32768,-32768,-32768, 1779, 427, 698, 9150,
1234 874,-32768, 1165,-32768,-32768,-32768, 492, 548, 1129, 814,
1235 899, 594, 1185,-32768, 980,-32768,-32768,-32768, 406, 7857,
1236 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1159,-32768,
1237 1160, 9150, 9150, 9150, 9150, 7080,-32768, 9150, 1208,-32768,
1238 -32768, 10768, 9150,-32768, 272,-32768,-32768,-32768,-32768,-32768,
1239 -32768, 1162,-32768, 1228,-32768,-32768,-32768, 98,-32768,-32768,
1240 -32768,-32768, 9150,-32768,-32768, 3247, 3247,-32768, 3929,-32768,
1241 -32768, 1169, 1171, 1176, 1194, 1297,-32768,-32768, 6000, 1259,
1242 -32768,-32768, 1184, 1250,-32768,-32768,-32768,-32768, 5611,-32768,
1243 -32768,-32768, 7080,-32768,-32768,-32768, 98, 1202, 1230, 1230,
1244 98, 1204, 9150, 9150, 10610, 406, 3045, 406, 406, 732,
1245 406, 4404, 1230, 7928,-32768, 98, 98,-32768,-32768, 1210,
1246 1211, 1218, 1219,-32768, 10723, 7080, 1183,-32768,-32768,-32768,
1247 -32768, 98, 1223,-32768,-32768,-32768,-32768, 1194,-32768,-32768,
1248 854,-32768, 189, 1260, 733, 761,-32768,-32768,-32768,-32768,
1249 -32768, 9150, 1271, 1275, 1279, 8884, 684, 606,-32768,-32768,
1250 8976, 1332, 1285,-32768, 4742, 10455, 3697, 5887,-32768,-32768,
1251 1331,-32768,-32768,-32768, 8023,-32768, 306,-32768,-32768,-32768,
1252 -32768,-32768,-32768,-32768,-32768, 10610, 10610,-32768, 1230, 659,
1253 856, 9150,-32768,-32768,-32768, 874, 874, 1230, 1230, 489,
1254 1230,-32768,-32768, 5749,-32768,-32768, 98, 98,-32768,-32768,
1255 -32768,-32768, 7080,-32768,-32768,-32768,-32768,-32768,-32768, 1297,
1256 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 921, 1256,
1257 1262, 10588,-32768,-32768,-32768,-32768, 1312, 9150, 1316,-32768,
1258 921,-32768,-32768, 1288,-32768,-32768, 874, 857,-32768, 860,
1259 874, 9591, 878, 201,-32768,-32768,-32768,-32768,-32768,-32768,
1260 98, 98,-32768,-32768,-32768, 9150, 9150, 10610, 406, 406,
1261 -32768,-32768,-32768,-32768, 7701,-32768,-32768,-32768,-32768,-32768,
1262 1301,-32768, 557, 557,-32768,-32768, 1377, 6426, 9063, 9150,
1263 -32768, 8133,-32768, 1335,-32768,-32768, 744,-32768,-32768, 10026,
1264 10026, 7172,-32768,-32768, 921,-32768,-32768, 10610, 10610,-32768,
1265 1230, 1230, 1290, 10654, 1298, 4177,-32768,-32768, 9063,-32768,
1266 -32768, 8325,-32768, 78,-32768,-32768, 1339,-32768, 1291, 233,
1267 4762, 10746, 8133,-32768,-32768, 1194, 60,-32768,-32768,-32768,
1268 -32768,-32768,-32768,-32768,-32768, 333, 260, 1305, 1307, 921,
1269 1308, 921, 8229,-32768, 589,-32768,-32768,-32768,-32768, 874,
1270 -32768,-32768, 1194, 1412, 1365,-32768, 132,-32768,-32768,-32768,
1271 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 9150, 1366,
1272 7264, 921, 406, 8133, 1336, 58, 1373,-32768,-32768,-32768,
1273 -32768, 119,-32768,-32768, 78,-32768, 1324,-32768,-32768, 1380,
1274 -32768,-32768, 1382,-32768, 9150, 1412, 1384, 1412,-32768,-32768,
1275 -32768,-32768,-32768,-32768,-32768, 1340, 121,-32768,-32768, 7356,
1276 -32768, 7080,-32768, 1441, 1392, 1344,-32768,-32768, 167,-32768,
1277 -32768, 1445, 1400, 8229,-32768,-32768,-32768,-32768, 1462, 1463,
1278 -32768
1279 };
1280
1281 static const short yypgoto[] = {-32768,
1282 1466,-32768, -329,-32768, 1053, 32, -1, 1469,-32768, 679,
1283 -32768,-32768, 314, 1108,-32768, 637,-32768,-32768,-32768, 608,
1284 -32768, 1311, -648, 42, -645, 1314, 73,-32768,-32768,-32768,
1285 -32768,-32768, 540, 549,-32768,-32768,-32768,-32768,-32768, 444,
1286 33,-32768,-32768,-32768, 5142, 56, 198, -65, 961,-32768,
1287 1278,-32768, 117,-32768, -1316,-32768, -1333, -23,-32768, 1111,
1288 1325, -269,-32768, -767, 2378, -72, 1083, 3472, 1227,-32768,
1289 -74, -90, 929, -64, 162,-32768,-32768,-32768, -313,-32768,
1290 -155,-32768,-32768, -1190, -49, -328, 4271, 70, 1329, -142,
1291 8, 118, -183, -4, -100, -949, 246,-32768, -57,-32768,
1292 -32768, 184,-32768,-32768,-32768,-32768,-32768, 378, 208, -30,
1293 -32768, 650,-32768,-32768, -987, -381, 844,-32768,-32768,-32768,
1294 -32768,-32768, 1,-32768,-32768,-32768,-32768,-32768,-32768, 664,
1295 -363,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1289,-32768,
1296 445, 591,-32768,-32768,-32768,-32768, 409, -879, 592,-32768,
1297 -32768,-32768,-32768,-32768, 582,-32768, 323, 916, 682, 973,
1298 1860, 34, 37, -425, 1346, 4299, -458,-32768, 13,-32768,
1299 4544, -150, 298, -78, 3985, 1214,-32768, 4046, 1888, 299,
1300 -16, -106,-32768, 1413,-32768, 3613, 2750, -146,-32768, 2540,
1301 -32768,-32768, 284, -848, -1120,-32768,-32768, 379, 66, -259,
1302 -32768,-32768,-32768,-32768, -1285,-32768, -1201, -1312,-32768,-32768,
1303 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1304 -32768,-32768,-32768, 83,-32768,-32768,-32768,-32768,-32768, 124,
1305 -1159,-32768,-32768,-32768, -66,-32768,-32768,-32768,-32768, -1306,
1306 55,-32768, 57,-32768, -574, -543, 649,-32768,-32768,-32768,
1307 -32768, -384,-32768, -375, -196,-32768, 1284, 380,-32768, -270,
1308 -32768, -222
1309 };
1310
1311
1312 #define YYLAST 10853
1313
1314
1315 static const short yytable[] = { 58,
1316 403, 406, 37, 590, 183, 411, 644, 121, 887, 876,
1317 712, 56, 453, 479, 241, 645, 283, 234, 378, 501,
1318 504, 139, 694, 342, 599, 344, 102, 642, 987, 469,
1319 211, 58, 627, 138, 37, 36, 58, 71, 823, 37,
1320 1050, 387, 388, 56, 665, 823, 100, 471, 56, 384,
1321 532, 196, 1077, 452, 389, 114, 1347, 386, 208, 71,
1322 1332, 1106, 460, 1350, 144, 148, 231, 36, 1309, 71,
1323 569, 1417, 36, 54, 71, 395, 45, 396, 281, 569,
1324 1446, 241, 332, 433, 332, 578, 332, 392, 348, 177,
1325 569, 945, 1441, 895, 245, 137, 220, 491, 136, 1444,
1326 138, 332, 332, 458, 461, 54, 482, 88, 45, 1428,
1327 54, 1166, 418, 45, -1, 602, 282, 353, 87, 658,
1328 1496, 57, 1454, -123, 293, 241, 71, 89, 195, 434,
1329 1466, 739, 1481, 196, 238, 141, 332, 1082, 332, 208,
1330 27, 896, 456, 57, 897, 950, 363, 1137, 491, -2,
1331 955, 1501, 364, 57, 1491, 376, 1463, 825, 57, 683,
1332 58, 661, 347, 92, 946, 346, 85, 1497, 211, 1455,
1333 -317, 1083, 56, 740, 419, 1084, 211, 659, 652, 898,
1334 1424, 901, 400, 1514, 402, 405, 1492, 1415, 1167, 947,
1335 -317, 754, 177, 853, 419, 156, 208, 885, 71, 1051,
1336 280, 1272, 1273, 1516, 208, 208, 480, 420, 1085, 1107,
1337 57, 1466, 1153, 436, 438, 1293, 86, 1134, 505, 506,
1338 595, 1452, 106, 177, -266, 1179, 1522, 420, 90, 902,
1339 1515, 208, 903, 514, 54, 860, 515, 45, 574, 516,
1340 202, 203, 526, 854, 245, 529, 14, 93, 91, 1312,
1341 1052, 861, 481, 568, 573, 464, 466, 1012, 566, 1108,
1342 141, 1312, 1154, 199, 753, 207, 596, 904, 478, 21,
1343 -266, -266, 1494, 107, 895, 1180, 1523, 231, 24, 606,
1344 578, 208, 57, 108, 728, 384, -259, 599, 343, 403,
1345 406, 1355, 823, 1309, 631, 644, 161, 607, 857, 1313,
1346 1361, 1362, 486, 1363, 908, 1338, 632, 1343, 332, 162,
1347 697, 1394, 156, 156, 156, -542, 717, 39, 578, 797,
1348 281, 823, 896, 1467, 1106, 897, 739, -782, 231, -582,
1349 729, 158, 208, 209, 210, 1480, 798, 513, 394, 425,
1350 332, 8, 484, 156, 1486, 199, 207, 590, 208, 39,
1351 245, 458, 461, -268, 39, 823, 426, 170, 282, 458,
1352 898, -542, 176, 1500, 739, 799, 1133, 1218, 168, -538,
1353 461, 923, -538, 8, 9, -582, -582, 243, 285, 379,
1354 380, 10, 1119, 1511, 1121, 427, 641, 174, -542, 142,
1355 461, -582, 1321, 623, 129, 130, 175, -124, 888, -268,
1356 -268, 243, 924, 207, 700, 811, 1528, 1014, 828, 139,
1357 831, 459, 207, 1431, 1432, -262, 988, 22, 485, 813,
1358 -538, 138, -538, -538, 643, -538, 129, 130, 211, 676,
1359 243, 736, 28, 303, -542, 448, -538, 19, -538, 815,
1360 228, 474, 280, 211, 243, 514, 515, 71, 158, 158,
1361 158, 812, 208, 208, -538, -538, 832, 833, -538, 1371,
1362 208, 960, 961, 962, 33, 814, 712, 643, 1373, 1374,
1363 -538, 208, 226, 687, 688, 644, 126, 127, 912, 158,
1364 877, 702, 703, 137, 645, 816, 136, 1043, 243, 1193,
1365 823, 208, 332, 126, 127, 332, 642, 566, 332, 701,
1366 1188, 87, 332, 745, 745, 745, 745, 919, 640, 921,
1367 475, 823, 1192, 528, 925, 332, -326, 90, 15, 16,
1368 284, 243, 332, 163, 913, 878, 332, 599, 142, 129,
1369 130, 57, 27, 1044, 879, 880, 726, 91, 142, 603,
1370 797, 604, 605, 90, 27, 243, 129, 130, 143, 350,
1371 -326, 640, 352, 485, -326, 207, 476, 798, 332, 281,
1372 492, 491, 762, 91, 164, 361, 1112, 365, 532, 1142,
1373 493, 881, -327, 1045, 15, 16, 369, 641, 285, 379,
1374 380, 10, 727, 885, 676, 1047, 799, -326, 866, 366,
1375 871, 872, 646, 647, 1127, 1130, 458, 282, 1471, 1086,
1376 370, 156, 156, 156, 1408, 245, -327, 378, 367, 89,
1377 -327, 712, 817, 819, 390, 643, 121, 22, 602, 1046,
1378 15, 16, 643, 446, 447, -376, 872, 1049, 91, 692,
1379 27, 1048, 28, 303, 196, 243, 1468, 698, 231, 886,
1380 41, 208, 368, -327, 570, 1087, 285, 379, 380, 10,
1381 1409, 571, 474, -259, -376, 951, 952, 953, -376, 459,
1382 207, 740, 141, 474, 33, 859, 1074, 459, 1330, 1130,
1383 126, 127, 41, 90, 873, 641, 208, 41, 1175, 1177,
1384 141, 280, 1469, 1181, 1182, 22, 94, 109, 110, 8,
1385 9, 527, 236, 91, 735, 762, 243, 208, 27, 640,
1386 28, 303, 8, 9, -376, 408, 640, 339, 176, 340,
1387 58, 409, 1075, 643, 160, 641, 332, 332, 332, 167,
1388 641, 1356, 940, 129, 130, 1070, 1071, 1072, 7, 8,
1389 9, 10, 572, 87, 996, 126, 1290, 158, 158, 158,
1390 111, 112, 129, 130, 1214, 208, 932, 237, 71, 88,
1391 -577, 90, 88, 643, 288, 129, 130, -121, 643, -122,
1392 1194, 514, 515, -7, 1328, 243, 237, 22, 429, 89,
1393 938, 91, 89, 578, 201, 202, 203, 454, 455, 485,
1394 27, 14, 28, 29, 939, 126, 127, 88, 129, 130,
1395 745, 1458, 243, 417, 990, 1315, 863, 640, 472, 19,
1396 430, 1269, 489, 844, 21, 241, 864, 89, 1482, 115,
1397 116, 117, 485, 24, 33, 90, 581, 126, 127, 865,
1398 583, 745, 691, 1316, 487, -45, 490, 641, 393, 578,
1399 -45, 676, 57, 699, 1304, 91, 27, 640, 129, 130,
1400 488, -45, 640, 498, 1138, 1139, 199, 1141, 207, 507,
1401 202, 203, 579, 245, 508, 641, 14, 745, 126, 127,
1402 641, 27, 580, 118, 119, 643, 509, 817, 819, 643,
1403 129, 130, 581, 510, 243, 582, 583, 1080, 1081, 21,
1404 511, 403, 406, 207, 612, 623, 1109, 569, 24, 1092,
1405 243, 126, 127, 643, 676, 614, 1030, 1031, 643, 128,
1406 15, 16, 403, 406, 459, 553, 554, 474, 745, 27,
1407 88, 129, 130, 1310, 1311, 332, 446, 1388, 1357, 454,
1408 1389, 1370, 615, -99, 1143, 15, 16, 58, 740, 58,
1409 89, 630, 643, 963, 617, 196, 58, 446, 1393, 940,
1410 618, 940, 27, 619, 129, 130, 126, 127, 940, 640,
1411 650, 482, 641, 640, 641, -6, 653, -99, 689, 670,
1412 693, -99, 155, 932, 718, 71, 721, 71, 722, 723,
1413 730, 241, 932, 731, 71, 749, 751, 640, 752, 659,
1414 514, 515, 640, 810, 754, 809, 826, 938, 824, 938,
1415 643, 828, 643, 856, -99, 938, 938, 27, 845, 129,
1416 130, 939, 855, 939, -97, 846, 15, 16, 858, 1129,
1417 939, 1091, 1101, 801, 862, 874, 640, -262, 371, 372,
1418 373, 644, 875, 802, 892, 886, 156, 419, 893, 641,
1419 1439, 894, 900, 1196, 241, -781, 910, 803, -97, 1198,
1420 1199, 914, -97, 1196, 1201, 126, 127, 1199, 915, 57,
1421 676, 57, 371, 372, 373, 917, 920, 922, 57, 1376,
1422 156, 94, 109, 110, 477, 1156, 1157, 643, 964, 965,
1423 641, 1386, 374, 375, 640, -97, 640, 918, 966, 555,
1424 404, 407, 641, 1129, 967, 969, 1156, 1157, 643, 970,
1425 968, 740, 971, 972, 973, 974, 27, -120, 129, 130,
1426 22, 94, 109, 110, 27, 58, 374, 375, 643, 976,
1427 155, 977, 801, 979, 981, 111, 112, 940, 556, 557,
1428 643, 982, 802, 558, 559, 560, 561, 980, 995, 983,
1429 1517, 7, 8, 235, 10, 1376, 803, 984, 243, 985,
1430 243, 932, 998, 71, 999, 997, 1005, 199, 1114, 1115,
1431 1116, 640, 1006, 474, 238, 111, 112, 113, 1007, 1021,
1432 1013, 1027, 158, 1042, 1257, 938, 1015, 1252, 243, 322,
1433 22, 322, 640, 322, 745, 1016, 1256, 236, 526, 939,
1434 1461, 1018, 1376, 1024, 1060, 28, 29, 1067, 115, 116,
1435 117, 135, 640, 156, 156, 156, 158, 1110, 1230, 58,
1436 1251, 1113, 71, 1117, 640, 1337, 1122, 1337, 1123, 237,
1437 1131, 940, 1376, 1140, 156, 156, 156, 33, 1124, 1125,
1438 1144, 1135, 661, 322, 1197, 322, 1151, 57, 1359, 1360,
1439 1136, 1427, 1152, 15, 16, 932, 491, 71, -376, 403,
1440 406, 523, 118, 119, 1202, 1145, 1257, 1146, 1147, 1150,
1441 1155, 196, 1160, 1257, 1174, 486, 1252, 208, 1256, 938,
1442 1257, -268, 1184, 1252, 1185, 1256, -376, -376, 1208, 1209,
1443 1216, -376, 1256, 939, 1219, 1220, -268, -268, 1224, 1329,
1444 1225, -268, 1251, 456, 71, 1226, 57, 474, 474, 1251,
1445 1227, 71, 1166, 1267, 426, 1305, 1251, -268, 71, 94,
1446 109, 110, 285, 379, 380, 10, 94, 95, 96, -268,
1447 -268, 1271, -268, 1275, -268, 243, 474, 514, 515, 1299,
1448 1300, 57, 1314, 1111, 94, 95, 96, 1301, 1302, 158,
1449 158, 158, 1307, 1323, 243, 1324, 115, 702, 703, 1325,
1450 1333, 22, 1372, -268, -268, 1335, 1348, -268, 236, 1378,
1451 158, 158, 158, 111, 112, 1379, 28, 303, 27, -268,
1452 97, 98, 99, 550, 551, 552, 553, 554, 57, 404,
1453 407, 1450, 1383, 1257, 1420, 57, 1385, 1257, 97, 98,
1454 1252, 1387, 57, 355, 359, 1256, 512, 332, 33, 1256,
1455 118, 119, 1473, 1413, 1406, 1425, 1435, 243, 1433, 1448,
1456 1449, 641, 474, 474, 1420, 474, 474, 1257, 474, 1251,
1457 1252, 71, 282, 1251, 1459, 71, 1460, 1462, 1257, 1256,
1458 208, 1252, 1475, 687, 688, 1479, 1488, 322, 523, 1495,
1459 1256, 523, 1498, 1502, 7, 126, 127, 10, 1257, 643,
1460 1503, 1252, 282, 1251, 1508, 71, 1505, 404, 750, 1513,
1461 1256, 1518, 1520, 1521, 1251, 1525, 71, 1189, 1190, 523,
1462 1526, 1530, 1531, 199, 207, 1, 1420, 1028, 655, 1257,
1463 5, 629, 1252, 22, 1251, 415, 71, 1457, 416, 1102,
1464 236, 1256, 1078, 474, 474, 1161, 1203, 755, 28, 29,
1465 1411, 7, 126, 127, 10, 57, 280, 13, 243, 57,
1466 1527, 1340, 1023, 156, 282, 1251, 891, 71, 664, 668,
1467 497, 1022, 237, 468, 1186, 1073, 668, 839, 1204, 1257,
1468 33, 1104, 1252, 640, 1292, 1079, 280, 1020, 848, 57,
1469 22, 1256, 449, 126, 127, 377, 796, 666, 482, 1483,
1470 57, 1346, 575, 27, 666, 28, 29, 1499, 1266, 1453,
1471 1507, 156, 156, 156, 1509, 1251, 1059, 71, 1268, 31,
1472 57, 0, 0, 0, 0, 474, 474, 474, 0, 32,
1473 0, 0, 1278, 1279, 0, 1288, 1289, 33, 1291, 322,
1474 668, 0, 34, 0, 27, 0, 129, 130, 280, 0,
1475 521, 57, 548, 549, 550, 551, 552, 553, 554, 0,
1476 492, 0, 0, 0, 0, 474, 474, 0, 666, 322,
1477 493, 0, 664, 0, 0, 766, 767, 0, 771, 772,
1478 773, 774, 775, 776, 777, 778, 779, 780, 781, 782,
1479 783, 784, 785, 786, 787, 788, 789, 0, 0, 158,
1480 0, 57, 668, 0, 668, 668, 7, 8, 9, 10,
1481 0, 126, 127, 1353, 1354, 0, 13, 94, 95, 96,
1482 0, 212, 213, 214, 0, 0, 0, 839, 0, 0,
1483 666, 668, 666, 666, 0, 115, 702, 703, 668, 704,
1484 474, 0, 0, 0, 0, 22, 0, 158, 158, 158,
1485 0, 215, 236, 0, 0, 578, 0, 850, 852, 666,
1486 28, 29, 27, 705, 129, 130, 666, 0, 669, 27,
1487 706, 97, 98, 216, 0, 115, 702, 703, 579, 638,
1488 0, 0, 0, 0, 237, 0, 0, 27, 580, 118,
1489 119, 0, 33, 0, 0, 1400, 1401, 1402, 581, 0,
1490 0, 582, 583, 705, 0, 664, 0, 0, 0, 0,
1491 0, 667, 0, 0, 0, 0, 0, 0, 674, 217,
1492 218, 219, 638, 404, 750, 0, 0, 27, 0, 118,
1493 119, 0, 0, 0, 0, 1429, 1430, 521, 0, 0,
1494 521, 0, 8, 9, 742, 134, 12, 13, 0, 0,
1495 672, 0, 14, 155, 0, 0, 0, 521, 0, 0,
1496 0, 0, 0, 322, 322, 322, 0, 17, 521, 18,
1497 19, 0, 769, 0, 0, 21, 0, 7, 8, 9,
1498 10, 668, 737, 0, 24, 0, 0, 1057, 285, 8,
1499 9, 10, 0, 27, 0, 129, 130, 0, 791, 0,
1500 201, 202, 203, 975, 808, 0, 0, 14, 0, 666,
1501 1493, 0, 0, 0, 0, 0, 22, 0, 0, 0,
1502 0, 285, 8, 9, 10, 19, 0, 22, 0, 27,
1503 21, 28, 29, 0, 236, 179, 673, 0, 0, 24,
1504 664, 668, 28, 303, 790, 180, 792, 793, 0, 0,
1505 0, 79, 0, 0, 668, 181, 668, 0, 668, 0,
1506 22, 103, 0, 33, 0, 0, 237, 236, 182, 666,
1507 638, 0, 132, 79, 33, 28, 303, 638, 146, 146,
1508 843, 146, 666, 79, 666, 0, 666, 1019, 79, 0,
1509 0, 0, 0, 285, 8, 9, 10, 668, 0, 485,
1510 244, 190, 0, 79, 94, 109, 110, 33, 620, 621,
1511 622, 223, 0, 0, 0, 0, 1039, 0, 103, 0,
1512 0, 404, 407, 668, 0, 666, 0, 0, 0, 247,
1513 103, 0, 22, 0, 0, 0, 0, 0, 916, 236,
1514 79, 668, 404, 1173, 0, 0, 0, 28, 303, 0,
1515 0, 666, 103, 0, 0, 0, 0, 0, 111, 112,
1516 0, 0, 949, 201, 202, 203, 0, 954, 638, 666,
1517 14, 0, 0, 1076, 0, 132, 0, 0, 410, 33,
1518 132, 0, 0, 0, 190, 103, 0, 0, 19, 0,
1519 664, 146, 0, 21, 398, 146, 0, 435, 146, 146,
1520 146, 0, 24, 0, 0, 0, 0, 0, 638, 0,
1521 451, 0, 79, 638, 457, 202, 203, 608, 664, 664,
1522 0, 14, 1132, 285, 126, 127, 10, 190, 190, 190,
1523 546, 547, 548, 549, 550, 551, 552, 553, 554, 19,
1524 993, 0, 0, 0, 21, 0, 0, 0, 0, 0,
1525 0, 0, 0, 24, 0, 0, 190, 0, 7, 126,
1526 127, 10, 22, 0, 230, 0, 0, 0, 0, 236,
1527 1008, 467, 1009, 521, 0, 0, 0, 28, 303, 103,
1528 0, 0, 0, 989, 126, 127, 668, 0, 668, 230,
1529 668, 146, 0, 664, 0, 0, 1000, 22, 1001, 0,
1530 1002, 0, 664, 664, 597, 8, 9, 664, 664, 33,
1531 27, 0, 28, 29, 666, 0, 666, 0, 666, 0,
1532 638, 0, 0, 0, 638, 0, 31, 0, 578, 103,
1533 494, 0, 1195, 0, 0, 27, 32, 129, 130, 1026,
1534 293, 598, 0, 22, 33, 0, 0, 0, 638, 34,
1535 0, 579, 0, 638, 0, 0, 27, 1068, 129, 130,
1536 0, 580, 0, 0, 0, 1040, 0, 0, 664, 0,
1537 1215, 581, 103, 0, 582, 583, 576, 0, 494, 494,
1538 592, 0, 0, 0, 0, 0, 0, 638, 0, 0,
1539 0, 0, 0, 0, 190, 668, 0, 0, 0, 1118,
1540 0, 1120, 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 132, 0, 0, 0, 0, 0, 0, 0, 0,
1542 0, 0, 0, 666, 0, 664, 0, 0, 0, 0,
1543 1057, 0, 132, 0, 0, 1276, 1277, 0, 103, 0,
1544 0, 0, 0, 0, 0, 638, 0, 638, 0, 146,
1545 0, 0, 146, 0, 1149, 0, 0, 146, 664, 0,
1546 0, 79, 0, 690, 0, 0, 0, 0, 695, 0,
1547 0, 0, 0, 0, 0, 0, 0, 0, 0, 404,
1548 1173, 0, 0, 190, 1322, 190, 0, 190, 190, 190,
1549 0, 0, 521, 190, 719, 0, 0, 0, 190, 724,
1550 0, 190, 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 732, 733, 0, 734, 0, 0, 0, 0, 0,
1552 0, 0, 638, 0, 1358, 0, 0, 0, 1162, 0,
1553 1163, 0, 1164, 0, 0, 0, 0, 0, 0, 0,
1554 0, 0, 0, 638, 0, 664, 0, 0, 0, 0,
1555 0, 0, 0, 0, 0, 103, 103, 103, 103, 1210,
1556 1211, 1212, 1213, 638, 126, 127, 0, 0, 202, 203,
1557 1217, 0, 0, 0, 14, 638, 0, 0, 0, 0,
1558 0, 0, 0, 0, 668, 0, 0, 0, 0, 0,
1559 0, 1221, 0, 0, 0, 0, 0, 21, 1398, 1399,
1560 0, 0, 0, 0, 829, 830, 24, 1404, 578, 829,
1561 0, 103, 666, 494, 0, 27, 0, 129, 130, 0,
1562 0, 0, 1422, 0, 576, 0, 494, 494, 0, 592,
1563 1270, 579, 0, 0, 1274, 0, 840, 1223, 0, 0,
1564 842, 580, 0, 0, 0, 0, 0, 0, 0, 1295,
1565 1296, 581, 0, 0, 589, 583, 0, 0, 0, 0,
1566 0, 0, 0, 0, 0, 1306, 0, 0, 926, 0,
1567 7, 8, 927, 10, 134, 12, 13, 0, 0, 0,
1568 0, 14, 0, 1327, 0, 190, 870, 190, 190, 223,
1569 592, 0, 0, 0, 0, 0, 17, 0, 18, 19,
1570 20, 0, 0, 0, 21, -486, 0, 0, 0, 22,
1571 0, 0, 0, 24, 928, 0, 929, 0, 0, 0,
1572 0, 0, 27, 190, 28, 29, 0, 870, 930, 0,
1573 931, 0, 0, 0, 190, 190, 0, 190, 31, 0,
1574 1368, 1369, 0, 0, 0, 956, 0, 958, 32, 0,
1575 0, 0, 0, 0, 664, 0, 33, 0, 0, 0,
1576 0, 34, 79, 0, 0, 1384, 0, 103, 0, 0,
1577 0, 0, 103, 0, 0, 0, 0, 0, -486, 494,
1578 494, 494, 0, 6, 0, 7, 8, 9, 10, 11,
1579 12, 13, 494, 0, 1396, 1397, 14, 0, 0, 0,
1580 0, 0, 0, 0, 0, 0, 7, 126, 127, 10,
1581 0, 17, 13, 18, 19, 769, 1418, 0, 0, 21,
1582 991, 992, 0, 994, 22, 0, 0, 0, 24, 521,
1583 0, 414, 0, 0, 0, 0, 0, 27, 0, 28,
1584 29, 0, 103, 30, 0, 22, 1418, 0, 0, 0,
1585 1011, 0, 0, 31, 0, 0, 0, 0, 27, 0,
1586 28, 29, 0, 32, 494, 0, 494, 0, 584, 584,
1587 584, 33, 0, 103, 151, 0, 34, 494, 0, 103,
1588 0, 840, 840, 840, 152, 0, 1038, 0, 1017, 0,
1589 0, 0, 33, 0, 638, 0, 0, 153, 0, 7,
1590 8, 9, 10, 0, 0, 13, 1487, 103, 1418, 103,
1591 190, 190, 1036, 82, 0, 0, 0, 0, 0, 0,
1592 0, 0, 0, 105, 0, 0, 0, 0, 0, 0,
1593 0, 0, 1506, 125, 133, 82, 0, 0, 22, 0,
1594 147, 147, 0, 147, 0, 82, 1036, 769, 0, 0,
1595 82, 27, 0, 28, 29, 0, 0, 0, 0, 0,
1596 103, 0, 0, 147, 0, 82, 0, 180, 0, 0,
1597 0, 0, 0, 224, 0, 132, 0, 181, 0, 79,
1598 232, 79, 0, 0, 0, 33, 1099, 79, 79, 0,
1599 182, 0, 232, 0, 0, 0, 0, 7, 126, 127,
1600 10, 0, 82, 482, 103, 0, 103, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 8, 9, 0,
1602 0, 12, 13, 0, 0, 1148, 0, 14, 0, 0,
1603 587, 591, 594, 0, 0, 0, 22, 385, 494, 494,
1604 0, 494, 17, 0, 18, 0, 147, 232, 0, 27,
1605 21, 28, 29, 147, 0, 0, 1159, 147, 0, 24,
1606 147, 147, 147, 0, 0, 31, 0, 0, 27, 0,
1607 129, 130, 562, 0, 82, 32, 0, 190, 190, 190,
1608 190, 1036, 0, 33, 0, 190, 0, 0, 34, 147,
1609 147, 147, 0, 1187, 0, 0, 1088, 1089, 9, 10,
1610 1036, 1036, 1036, 0, 0, 1191, 0, 563, 0, 0,
1611 0, 0, 0, 0, 0, 0, 584, 584, 147, 584,
1612 0, 0, 103, 0, 0, 0, 838, 0, 0, 0,
1613 0, 0, 1206, 0, 103, 22, 1207, 0, 0, 0,
1614 0, 0, 0, 0, 0, 0, 0, 1200, 27, 0,
1615 28, 29, 0, 147, 0, 0, 1090, 79, 0, 0,
1616 0, 0, 0, 0, 180, 0, 0, 0, 0, 1222,
1617 0, 0, 0, 0, 181, 584, 0, 584, 584, 0,
1618 584, 0, 33, 0, 0, 0, 0, 182, 0, 0,
1619 0, 232, 147, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 190, 190, 0, 190, 1280, 1281, 9,
1621 10, 0, 0, 584, 543, 544, 545, 546, 547, 548,
1622 549, 550, 551, 552, 553, 554, 103, 1297, 1298, 7,
1623 8, 9, 10, 0, 232, 13, 0, 0, 577, 0,
1624 147, 147, 593, 0, 190, 0, 22, 601, 0, 146,
1625 0, 79, 0, 0, 0, 0, 147, 0, 0, 27,
1626 0, 28, 29, 0, 0, 0, 0, 1282, 22, 0,
1627 0, 0, 0, 385, 578, 180, 0, 0, 818, 820,
1628 0, 27, 584, 28, 29, 181, 0, 0, 0, 0,
1629 1351, 0, 0, 33, 1352, 0, 0, 863, 182, 0,
1630 232, 0, 190, 870, 190, 0, 0, 864, 0, 0,
1631 0, 147, 0, 0, 147, 33, 0, 581, 0, 147,
1632 865, 583, 0, 82, 542, 543, 544, 545, 546, 547,
1633 548, 549, 550, 551, 552, 553, 554, 868, 0, 587,
1634 591, 0, 594, 0, 0, 147, 0, 147, 0, 147,
1635 147, 147, 0, 0, 584, 147, 584, 0, 0, 0,
1636 147, 0, 0, 147, 0, 0, 0, 584, 0, 0,
1637 0, 838, 838, 838, 0, 591, 0, 0, 714, 0,
1638 8, 9, 0, 134, 12, 13, 0, 0, 672, 1036,
1639 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640 584, 584, 584, 0, 0, 17, 0, 18, 19, 7,
1641 8, 9, 10, 21, 0, 230, 0, 232, 232, 232,
1642 232, 0, 24, 0, 578, 0, 7, 8, 9, 10,
1643 0, 27, 230, 129, 130, 0, 838, 1036, 1036, 1036,
1644 0, 0, 0, 0, 591, 0, 0, 579, 22, 0,
1645 0, 0, 0, 103, 578, 0, 0, 580, 0, 0,
1646 0, 27, 0, 28, 29, 22, 0, 581, 190, 0,
1647 582, 583, 0, 232, 673, 147, 0, 863, 27, 0,
1648 28, 29, 0, 0, 0, 0, 0, 864, 147, 147,
1649 0, 593, 0, 0, 180, 33, 0, 581, 841, 0,
1650 865, 583, 0, 0, 181, 0, 0, 0, 0, 0,
1651 601, 0, 33, 0, 0, 0, 1003, 182, 1004, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 1010,
1653 0, 0, 0, 818, 820, 0, 0, 0, 0, 0,
1654 0, 0, 125, 0, 0, 0, 0, 147, 593, 147,
1655 147, 224, 593, 0, 0, 0, 0, 0, 0, 0,
1656 0, 0, 818, 820, 0, 714, 0, 584, 584, 584,
1657 584, 584, 0, 0, 0, 584, 0, 0, 7, 8,
1658 9, 10, 0, 0, 13, 147, 0, 0, 0, 593,
1659 838, 838, 838, 0, 0, 0, 147, 147, 0, 147,
1660 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
1661 548, 549, 550, 551, 552, 553, 554, 22, 0, 0,
1662 0, 0, 0, 578, 82, 0, 0, 0, 0, 232,
1663 27, 0, 28, 29, 232, 50, 0, 0, 0, 0,
1664 0, 147, 147, 147, 0, 0, 1032, 7, 8, 9,
1665 10, 134, 12, 13, 147, 0, 1033, 50, 14, 0,
1666 0, 0, 50, 50, 33, 154, 581, 50, 0, 1034,
1667 583, 0, 50, 17, 0, 18, 19, 0, 0, 0,
1668 0, 21, 0, 0, 0, 50, 22, 50, 0, 0,
1669 24, 0, 0, 584, 584, 0, 584, 0, 0, 27,
1670 0, 28, 29, 0, 232, 0, 0, 0, 0, 0,
1671 239, 0, 0, 0, 0, 31, 0, 0, 0, 135,
1672 0, 0, 0, 0, 50, 32, 147, 0, 147, 1003,
1673 1004, 818, 820, 33, 0, 232, 0, 1010, 34, 147,
1674 0, 232, 0, 841, 841, 841, 0, 0, 0, 0,
1675 601, 0, 818, 820, 0, 0, 0, 0, 0, 382,
1676 0, 0, 0, 382, 382, 0, 0, 0, 50, 232,
1677 0, 232, 147, 147, 593, 50, 0, 239, 0, 50,
1678 0, 0, 154, 154, 154, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 50, 0, 0, -348,
1680 8, 9, -348, -348, 12, 230, 159, 0, 841, 0,
1681 14, 50, 50, 154, 0, 0, 0, 0, 0, 0,
1682 0, 239, 232, 0, 0, 17, 191, 18, -348, 0,
1683 126, 127, 0, 21, 714, 482, 0, 133, -348, 0,
1684 50, 82, 24, 82, 578, 0, 0, 0, 1100, 82,
1685 82, 27, 0, 129, 130, 1003, 1004, 0, 1010, 7,
1686 8, 9, 10, 201, 202, 203, 232, 579, 232, 0,
1687 14, 0, 0, 0, 578, 50, 0, 580, 0, 0,
1688 0, 27, 0, 129, 130, -348, 0, 581, 19, 0,
1689 582, 583, 0, 21, 0, 0, 0, 579, 22, 0,
1690 147, 147, 24, 147, 578, 0, 0, 580, 0, 191,
1691 0, 27, 0, 28, 29, 0, 0, 581, 0, 0,
1692 582, 583, 0, 159, 159, 159, 0, 180, 0, 0,
1693 0, 0, 0, 0, 0, 0, 0, 181, 0, 147,
1694 147, 147, 147, 593, 522, 33, 0, 147, 0, 0,
1695 1342, 714, 191, 191, 444, 0, 0, 0, 0, 0,
1696 382, 0, 841, 841, 841, 0, 0, 0, 239, 926,
1697 0, 7, 8, 927, 10, 134, 12, 13, 50, 714,
1698 0, 191, 14, 0, 232, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 382, 232, 17, 0, 18,
1700 19, 20, 0, 0, 0, 21, -487, 0, 0, 0,
1701 22, 0, 0, 0, 24, 928, 382, 929, 0, 82,
1702 0, 0, 0, 27, 0, 28, 29, 0, 0, 930,
1703 0, 931, 0, 50, 0, 0, 50, 0, 0, 31,
1704 0, 50, 0, 0, 0, 50, 0, 0, 0, 32,
1705 0, 0, 0, 0, 0, 495, 0, 33, 0, 0,
1706 0, 0, 34, 0, 0, 147, 147, 50, 147, 50,
1707 0, 154, 154, 154, 0, 0, 0, 50, 0, -487,
1708 0, 0, 50, 0, 0, 50, 0, 0, 232, 0,
1709 0, 7, 8, 9, 10, 0, 0, 482, 0, 0,
1710 0, 0, 0, 586, 586, 586, 147, 0, 0, 0,
1711 0, 147, 0, 82, 0, 0, 0, 0, 0, 191,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 22, 522, 0, 0, 522, 0, 578, 0, 0, 0,
1714 0, 0, 0, 27, 0, 28, 29, 0, 77, 522,
1715 522, 522, 0, 0, 0, 0, 0, 0, 0, 863,
1716 0, 0, 522, 0, 147, 593, 147, 0, 0, 864,
1717 77, 0, 0, 0, 0, 77, 77, 33, 77, 581,
1718 77, 0, 865, 583, 0, 77, 0, 0, 7, 8,
1719 9, 10, 201, 202, 203, 0, 0, 0, 77, 14,
1720 77, 0, 0, 0, 0, 0, 0, 239, 191, 0,
1721 191, 0, 444, 444, 444, 0, 0, 19, 191, 0,
1722 522, 0, 21, 191, 0, 0, 191, 22, 0, 0,
1723 0, 24, 0, 578, 0, 0, 0, 77, 0, 0,
1724 27, 0, 28, 29, 0, 0, 0, 0, 0, 0,
1725 0, 841, 0, 0, 0, 0, 863, 0, 0, 189,
1726 0, 0, 0, 0, 0, 0, 864, 0, 0, 50,
1727 50, 50, 50, 0, 33, 0, 581, 0, 0, 865,
1728 583, 77, 0, 0, 242, 0, 0, 246, 77, 0,
1729 0, 0, 77, 0, 0, 77, 77, 77, 0, 841,
1730 841, 841, 0, 0, 0, 0, 0, 50, 242, 77,
1731 354, 50, 0, 0, 0, 232, 0, 0, 50, 50,
1732 0, 50, 0, 0, 77, 77, 77, 0, 0, 0,
1733 147, 0, 0, 0, 0, 0, 0, 0, 804, 0,
1734 8, 9, 189, 134, 12, 13, 50, 0, 1438, 0,
1735 14, 586, 586, 77, 586, 0, 0, 0, 0, 0,
1736 0, 586, 0, 0, 0, 17, 0, 18, 19, 0,
1737 522, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1738 0, 0, 24, 0, 0, 189, 189, 189, 77, 0,
1739 0, 27, 0, 129, 130, 450, 541, 542, 543, 544,
1740 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1741 867, 0, 867, 867, 189, 586, 0, 0, 0, 0,
1742 0, 0, 7, 8, 9, 10, 0, 926, 13, 7,
1743 8, 927, 10, 134, 12, 13, 0, 246, 0, 0,
1744 14, 0, 0, 0, 0, 0, 0, 0, 867, 0,
1745 0, 0, 242, 0, 0, 17, 0, 18, 19, 191,
1746 191, 22, 191, 21, 0, 522, 522, 522, 22, 0,
1747 0, 239, 24, 928, 27, 929, 28, 29, 0, 0,
1748 0, 27, 600, 28, 29, 0, 0, 0, 0, 931,
1749 440, 77, 0, 0, 50, 50, 154, 31, 0, 0,
1750 441, 239, 0, 0, 495, 495, 495, 32, 33, 0,
1751 0, 0, 0, 442, 0, 33, 0, 586, 0, 0,
1752 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 1056, 0, 0, 0, 0, 0, 358, 360, 0, 0,
1754 0, 0, 242, 246, 0, 0, 77, 0, 0, 77,
1755 0, 0, 189, 0, 77, 0, 0, 0, 77, 0,
1756 0, 0, 0, 50, 0, 50, 1280, 126, 127, 10,
1757 50, 50, 50, 0, 0, 0, 0, 0, 0, 0,
1758 77, 0, 77, 0, 77, 77, 77, 0, 0, 586,
1759 77, 586, 0, 0, 0, 77, 0, 0, 77, 0,
1760 0, 0, 586, 0, 0, 22, 586, 586, 586, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
1762 28, 29, 0, 0, 0, 0, 1282, 0, 0, 0,
1763 0, 0, 0, 0, 31, 867, 867, 1037, 437, 439,
1764 443, 189, 0, 189, 32, 189, 189, 189, 239, 0,
1765 0, 189, 33, 0, 0, 0, 189, 34, 0, 189,
1766 0, 50, 50, 154, 154, 154, 0, 239, 0, 50,
1767 0, 1037, 0, 8, 9, 0, 192, 12, 193, 0,
1768 0, 0, 0, 14, 1056, 1056, 1056, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
1770 18, 19, 0, 0, 126, 127, 21, 75, 202, 203,
1771 0, 191, 0, 0, 14, 24, 0, 0, 0, 0,
1772 0, 600, 0, 0, 27, 0, 129, 130, 0, 140,
1773 239, 0, 0, 0, 145, 149, 0, 21, 0, 75,
1774 0, 50, 0, 525, 75, 0, 24, 0, 578, 0,
1775 0, 0, 0, 0, 0, 27, 0, 129, 130, 200,
1776 0, 0, 0, 804, 804, 0, 804, 0, 0, 0,
1777 0, 579, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 580, 77, 77, 77, 77, 0, 50, 50, 0,
1779 50, 581, 0, 0, 582, 583, 349, 242, 246, 0,
1780 0, 0, 867, 867, 1037, 1037, 1037, 0, 0, 0,
1781 867, 7, 8, 9, 10, 0, 0, 482, 0, 0,
1782 77, 637, 0, 0, 77, 1037, 1037, 1037, 50, 0,
1783 0, 77, 77, 50, 77, 50, 0, 0, 0, 0,
1784 0, 0, 0, 189, 0, 189, 189, 397, 0, 0,
1785 22, 399, 0, 0, 0, 0, 0, 0, 0, 77,
1786 0, 0, 0, 27, 675, 28, 29, 0, 75, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 180,
1788 0, 189, 0, 145, 149, 0, 50, 50, 50, 181,
1789 0, 0, 189, 189, 685, 189, 686, 33, 437, 439,
1790 443, 0, 182, 0, 7, 8, 9, 10, 0, 696,
1791 0, 0, 0, 7, 126, 127, 10, 0, 0, 246,
1792 0, 0, 0, 0, 7, 8, 9, 10, 867, 867,
1793 738, 867, 0, 741, 0, 0, 0, 743, 744, 746,
1794 747, 748, 0, 22, 0, 0, 0, 483, 0, 0,
1795 525, 0, 22, 0, 0, 0, 27, 0, 28, 29,
1796 0, 765, 1336, 22, 0, 27, 0, 28, 29, 191,
1797 0, 0, 180, 1056, 0, 0, 27, 0, 28, 29,
1798 0, 151, 181, 0, 0, 600, 7, 8, 9, 10,
1799 33, 152, 180, 794, 0, 182, 0, 0, 0, 33,
1800 0, 0, 181, 0, 153, 0, 0, 77, 77, 77,
1801 33, 0, 821, 0, 0, 182, 0, 0, 0, 821,
1802 0, 1056, 1056, 1056, 0, 22, 0, 191, 0, 191,
1803 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
1804 28, 29, 0, 1058, 0, 242, 246, 242, 0, 0,
1805 0, 0, 50, 0, 440, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 441, 0, 0, 0, 189, 189,
1807 1035, 0, 33, 0, 0, 242, 77, 442, 77, 0,
1808 0, 0, 0, 77, 77, 77, 537, 538, 539, 540,
1809 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1810 551, 552, 553, 554, 1035, 648, 0, 0, 649, 0,
1811 637, 0, 0, 651, 444, 0, 0, 140, 539, 540,
1812 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1813 551, 552, 553, 554, 0, 0, 0, 0, 0, 397,
1814 0, 399, 0, 0, 189, 685, 686, 0, 696, 0,
1815 675, 0, 0, 0, 483, 675, 0, 0, 0, 0,
1816 0, 0, 444, 444, 444, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 77, 77, 77, 77, 77, 8,
1818 9, 0, 77, 12, 13, 0, 0, 0, 0, 14,
1819 0, 0, 0, 191, 0, 0, 0, 1058, 1058, 1058,
1820 0, 0, 0, 0, 17, 0, 18, 0, 0, 0,
1821 0, 0, 21, 0, 0, 0, 0, 0, 0, 8,
1822 9, 24, 242, 12, 230, 986, 0, 0, 0, 14,
1823 27, 0, 129, 130, 0, 189, 189, 189, 189, 1035,
1824 0, 1158, 0, 189, 17, 0, 18, 0, 0, 0,
1825 0, 0, 21, 0, 77, 0, 765, 0, 1035, 1035,
1826 1035, 24, 675, 578, 0, 0, 821, 0, 0, 795,
1827 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 579, 0, 0, 0,
1829 637, 0, 1029, 0, 0, 821, 580, 0, 0, 0,
1830 77, 77, 0, 77, 450, 0, 581, 0, 0, 582,
1831 583, 0, 0, 0, 0, 101, 0, 0, 0, 0,
1832 0, 437, 439, 443, 0, 120, 101, 0, 0, 821,
1833 0, 0, 101, 101, 0, 101, 0, 0, 0, 0,
1834 0, 77, 869, 1062, 0, 0, 77, 0, 77, 0,
1835 1069, 0, 0, 0, 0, 0, 0, 443, 0, 0,
1836 0, 189, 189, 0, 189, 222, 540, 541, 542, 543,
1837 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1838 554, 0, 0, 906, 0, 0, 0, 675, 0, 675,
1839 648, 649, 0, 651, 0, 0, 0, 1097, 0, 77,
1840 77, 77, 189, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 944, 0,
1842 0, 0, 0, 0, 120, 0, 120, 0, 0, 101,
1843 0, 0, 0, 101, 101, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 101, 0, 101, 101, 101,
1845 0, 0, 101, 101, 101, 0, 0, 0, 0, 0,
1846 189, 0, 189, 0, 821, 0, 0, 0, 8, 9,
1847 0, 0, 12, 230, 0, 0, 0, 0, 14, 0,
1848 0, 0, 0, 0, 0, 821, 1058, 0, 685, 686,
1849 437, 439, 443, 17, 0, 18, 696, 0, 0, 0,
1850 0, 21, 0, 0, 0, 675, 0, 0, 0, 0,
1851 24, 437, 439, 443, 0, 0, 0, 675, 0, 27,
1852 0, 129, 130, 0, 465, 101, 0, 8, 9, 0,
1853 134, 12, 13, 0, 1058, 1058, 1058, 14, 0, 0,
1854 0, 0, 0, 0, 0, 101, 0, 1035, 0, 0,
1855 0, 0, 17, 0, 18, 19, 0, 0, 0, 0,
1856 21, 0, 0, 0, 0, 77, 145, 149, 0, 633,
1857 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
1858 129, 130, 0, 0, 101, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 1035, 1035, 1035, 0, 0,
1860 0, 0, 7, 8, 9, 10, 201, 202, 203, 1062,
1861 0, 0, 0, 14, 685, 686, 0, 696, 0, 0,
1862 0, 0, 0, 0, 0, 0, 189, 0, 0, 0,
1863 101, 19, 101, 101, 0, 944, 21, 944, 0, 0,
1864 0, 22, 1098, 1105, 944, 24, 0, 578, 0, 0,
1865 0, 0, 0, 0, 27, 1286, 28, 29, 0, 0,
1866 0, 0, 0, 0, 0, 101, 0, 0, 0, 0,
1867 863, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 864, 0, 0, 0, 0, 0, 101, 0, 33, 0,
1869 581, 0, 0, 899, 583, 0, 0, 0, 0, 101,
1870 0, 0, 0, 101, 0, 0, 101, 0, 0, 0,
1871 768, 101, 285, 8, 9, 10, 0, 12, 499, 287,
1872 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 397, 399, 0, 0, 0, 17, 290,
1874 18, 483, 20, 0, 291, 292, 21, 0, 293, 294,
1875 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
1876 299, 300, 301, 302, 27, 0, 28, 303, 101, 0,
1877 707, 304, -739, 0, 8, 9, 0, 305, 12, 13,
1878 306, 0, 0, 0, 14, 0, 0, 0, 307, 308,
1879 309, 0, 0, 0, 0, 101, 310, 311, 312, 17,
1880 443, 18, 0, 313, 0, 0, 0, 21, 0, 0,
1881 0, 0, 0, 944, 0, 0, 24, 0, 0, 0,
1882 0, 314, 525, 0, 0, 27, 0, 129, 130, 0,
1883 0, 0, 0, 0, 0, 0, 637, 0, 6, 0,
1884 7, 8, 9, 10, 11, 12, 13, 0, 437, 439,
1885 443, 14, 0, 0, 0, 0, 0, 0, 0, 648,
1886 649, 0, 651, 0, 15, 16, 17, 101, 18, 19,
1887 20, 0, 0, 0, 21, 0, 0, 101, 101, 22,
1888 101, 101, 23, 24, 25, 0, 26, 0, 0, 0,
1889 0, 0, 27, 0, 28, 29, 0, 0, 30, 0,
1890 1287, 0, 0, 0, 0, 1287, 0, 944, 31, 1364,
1891 0, -443, -443, -443, -443, -443, -443, -443, 32, 0,
1892 -443, 0, -443, 0, 0, 0, 33, 0, 0, 0,
1893 0, 34, 0, -443, 120, -443, -443, 35, 0, 0,
1894 -443, 0, 0, 222, 0, -443, 0, 0, 0, 0,
1895 -443, 0, 0, 0, -443, 0, -443, 707, 0, 1341,
1896 0, 0, 0, -443, 0, -443, -443, -443, -443, -443,
1897 0, -443, -443, -443, -443, -443, -443, -443, -443, -443,
1898 -443, -443, -443, -443, -443, -443, -443, -443, -443, -443,
1899 -443, -443, -443, -443, 0, -443, -443, -443, 0, -443,
1900 -443, -443, -443, -443, -443, 0, -443, -443, 0, 0,
1901 0, 0, 1365, 0, 0, 707, 0, -443, -443, -443,
1902 0, -443, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 101, 101, 101, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 101, 1344, 0, 1234,
1905 1235, 1236, 10, 134, 12, 286, 287, 288, 0, 289,
1906 14, 1237, 0, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
1907 1245, 1246, 1247, 15, 16, 17, 290, 18, 19, 20,
1908 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
1909 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
1910 302, 27, 0, 1248, 303, 659, 0, 1249, 304, 0,
1911 0, 0, 0, 0, 305, 0, 0, 306, 101, 0,
1912 101, 0, 0, 0, 0, 307, 308, 309, 0, 0,
1913 0, 101, 0, 310, 311, 312, 0, 0, 0, 0,
1914 313, 0, 1250, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 1345, 314, 0,
1916 1233, 0, 1234, 1235, 1236, 10, 134, 12, 286, 287,
1917 288, 0, 289, 14, 1237, 0, 1238, 1239, 1240, 1241,
1918 1242, 1243, 1244, 1245, 1246, 1247, 15, 16, 17, 290,
1919 18, 19, 20, 0, 291, 292, 21, 0, 293, 294,
1920 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
1921 299, 300, 301, 302, 27, 0, 1248, 303, 659, 0,
1922 1249, 304, 0, 0, 0, 0, 707, 305, 0, 101,
1923 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
1924 309, 0, 0, 0, 0, 0, 310, 311, 312, 0,
1925 0, 0, 0, 313, 0, 1250, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 517, 314, 285, 8, 9, 10, 134, 12, 286, 287,
1928 288, 672, 289, 14, 0, 0, 0, 0, 0, 0,
1929 0, 0, 101, 101, 0, 101, 0, 0, 17, 290,
1930 18, 19, 20, 0, 291, 292, 21, 0, 293, 294,
1931 295, 22, 296, 297, 0, 24, 0, 578, 0, 298,
1932 299, 300, 301, 302, 27, 0, 28, 303, -276, 0,
1933 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
1934 834, 0, 0, 707, 0, 0, 0, 0, 307, 308,
1935 835, 0, 0, 0, 0, 0, 310, 311, 312, 0,
1936 581, 0, 0, 836, 583, 0, 0, 673, 0, 0,
1937 0, 707, 0, 0, 0, 0, 0, 0, 0, 0,
1938 517, 314, 7, 8, 9, 10, 134, 12, 286, 287,
1939 288, 672, 289, 14, 0, 0, 0, 0, 0, 0,
1940 0, 101, 0, 0, 0, 0, 0, 0, 17, 290,
1941 18, 19, 20, 0, 291, 292, 21, 0, 293, 294,
1942 295, 22, 296, 297, 0, 24, 0, 578, 0, 298,
1943 299, 300, 301, 302, 27, 0, 28, 29, -276, 0,
1944 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
1945 1053, 0, 0, 0, 0, 0, 0, 0, 307, 308,
1946 1054, 0, 0, 0, 0, 0, 310, 311, 312, 0,
1947 581, 0, 0, 1055, 583, 0, 671, 673, 285, 8,
1948 9, 10, 134, 12, 286, 287, 288, 672, 289, 14,
1949 0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
1950 0, 101, 0, 101, 17, 290, 18, 19, 20, 0,
1951 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
1952 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
1953 27, 0, 28, 303, 0, 0, 0, 304, 0, 0,
1954 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
1955 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
1956 0, 0, 310, 311, 312, 0, 0, 0, 0, 313,
1957 0, 0, 0, 673, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, -749, 768, 314, 285, 8,
1959 9, 10, 134, 12, 286, 287, 288, 0, 289, 14,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 17, 290, 18, 19, 20, 0,
1962 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
1963 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
1964 27, 0, 28, 303, 1414, 0, -739, 304, 0, 0,
1965 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
1966 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
1967 0, 0, 310, 311, 312, 0, 0, 0, 662, 313,
1968 756, 757, 758, 10, 0, 12, 499, 287, 288, 0,
1969 289, 14, 0, 0, 0, 0, 0, 314, 0, 0,
1970 0, 0, 0, 0, 0, 0, 17, 290, 18, 0,
1971 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
1972 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
1973 301, 302, 27, 0, 759, 760, 663, 0, 0, 304,
1974 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
1975 0, 0, 0, 0, 0, 0, 307, 308, 309, 0,
1976 0, 0, 0, 0, 310, 311, 312, 0, 0, 0,
1977 0, 313, 761, 662, 0, 756, 757, 758, 10, 0,
1978 12, 499, 287, 288, 0, 289, 14, 0, 890, 314,
1979 0, 0, 0, 1128, 0, 0, 0, 0, 0, 0,
1980 0, 17, 290, 18, 0, 20, 0, 291, 292, 21,
1981 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
1982 0, 0, 298, 299, 300, 301, 302, 27, 0, 759,
1983 760, 663, 0, 0, 304, 0, 0, 0, 0, 0,
1984 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
1985 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
1986 311, 312, 0, 0, 0, 662, 313, 756, 757, 758,
1987 10, 0, 12, 499, 287, 288, 0, 289, 14, 0,
1988 0, 0, 0, -447, 314, 1128, 0, 0, 0, 0,
1989 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
1990 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
1991 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
1992 0, 759, 760, 663, 0, 0, 304, 0, 0, 0,
1993 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
1994 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
1995 0, 310, 311, 312, 0, 0, 0, 662, 313, 756,
1996 757, 758, 10, 0, 12, 499, 287, 288, 0, 289,
1997 14, 0, 0, 0, 0, 1172, 314, 0, 0, 0,
1998 0, 0, 0, 0, 0, 17, 290, 18, 0, 20,
1999 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2000 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2001 302, 27, 0, 759, 760, 663, 0, 0, 304, 0,
2002 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2003 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2004 0, 0, 0, 310, 311, 312, 0, 0, 0, 0,
2005 313, 761, 662, 0, 285, 8, 9, 10, 0, 12,
2006 499, 287, 288, 0, 289, 14, 0, 0, 314, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2009 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2010 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2011 663, 0, 0, 304, 0, 0, 0, 0, 0, 305,
2012 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2013 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2014 312, 0, 0, 0, 0, 313, 0, 0, 517, 0,
2015 285, 8, 9, 10, 1176, 12, 286, 287, 288, 0,
2016 289, 14, 0, 314, 0, 0, 0, 0, 0, 0,
2017 0, 0, 0, 0, 0, 0, 17, 290, 18, 0,
2018 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2019 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2020 301, 302, 27, 0, 28, 303, -276, 0, 0, 304,
2021 0, 0, 0, 0, 0, 305, 0, 0, 518, 0,
2022 0, 0, 0, 0, 0, 0, 307, 308, 519, 0,
2023 0, 0, 0, 0, 310, 311, 312, 0, 0, 0,
2024 662, 520, 285, 8, 9, 10, 0, 12, 499, 287,
2025 288, 0, 289, 14, 0, 0, 0, 0, 0, 314,
2026 0, 0, 0, 0, 0, 0, 0, 0, 17, 290,
2027 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
2028 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
2029 299, 300, 301, 302, 27, 0, 28, 303, 663, 0,
2030 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
2031 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
2032 309, 0, 0, 0, 0, 0, 310, 311, 312, 0,
2033 0, 0, 517, 313, 7, 8, 9, 10, 0, 12,
2034 286, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2035 0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
2036 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2037 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2038 0, 298, 299, 300, 301, 302, 27, 0, 28, 29,
2039 -276, 0, 0, 304, 0, 0, 0, 0, 0, 305,
2040 0, 0, 1390, 0, 0, 0, 0, 0, 0, 0,
2041 307, 308, 1391, 0, 0, 0, 0, 0, 310, 311,
2042 312, 0, 0, 0, 1489, 1392, 285, 8, 9, 10,
2043 0, 12, 286, 287, 288, 0, 289, 14, 0, 0,
2044 0, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2045 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2046 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2047 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2048 28, 303, 0, 0, -163, 304, 0, 0, 0, 0,
2049 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2050 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2051 310, 311, 312, 0, 0, 0, 768, 313, 285, 8,
2052 9, 10, 0, 12, 499, 287, 288, 0, 289, 14,
2053 0, 0, 0, 0, 0, 314, 0, 0, 0, 0,
2054 0, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2055 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2056 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2057 27, 0, 28, 303, 0, 0, 0, 304, 0, 0,
2058 0, 0, 0, 305, 248, 0, 306, 8, 9, 0,
2059 0, 12, 13, 0, 307, 308, 309, 14, 0, 0,
2060 0, 0, 310, 311, 312, 0, 0, 0, 0, 313,
2061 0, 0, 17, 0, 18, 0, 0, 0, 0, 0,
2062 21, 0, 249, 250, 0, -739, 0, 314, 0, 24,
2063 0, 251, 0, 0, 0, 0, 0, 0, 27, 0,
2064 129, 130, 0, 252, 0, 0, 0, 253, 254, 255,
2065 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2066 266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
2067 274, 275, 276, 0, 0, 277, 0, 849, 278, 285,
2068 8, 9, 10, 0, 12, 499, 287, 288, 0, 289,
2069 14, 0, 0, 0, 0, 279, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 17, 290, 18, 0, 20,
2071 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2072 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2073 302, 27, 0, 28, 303, 0, 0, 0, 304, 0,
2074 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2075 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2076 0, 0, 0, 310, 311, 312, 0, 0, 0, 851,
2077 313, 285, 8, 9, 10, 0, 12, 499, 287, 288,
2078 0, 289, 14, 0, 0, 0, 0, 0, 314, 0,
2079 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2080 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2081 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2082 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2083 304, 0, 0, 0, 0, 0, 305, 0, 0, 306,
2084 0, 0, 0, 0, 0, 0, 0, 307, 308, 309,
2085 0, 0, 0, 0, 0, 310, 311, 312, 0, 0,
2086 0, 1403, 313, 285, 8, 9, 10, 0, 12, 499,
2087 287, 288, 0, 289, 14, 0, 0, 0, 0, 0,
2088 314, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2089 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2090 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2091 298, 299, 300, 301, 302, 27, 0, 28, 303, 0,
2092 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2093 0, 306, 0, 0, 0, 0, 0, 0, 0, 307,
2094 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2095 285, 8, 9, 10, 313, 12, 499, 287, 288, 0,
2096 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 314, 0, 0, 0, 17, 290, 18, 0,
2098 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2099 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2100 301, 302, 27, 0, 28, 303, 0, 0, 0, 304,
2101 0, 0, 0, 0, 0, 305, 0, 926, 306, 7,
2102 8, 927, 10, 134, 12, 13, 307, 308, 309, 0,
2103 14, 0, 0, 0, 310, 311, 312, 0, 0, 0,
2104 0, 313, 0, 0, 0, 17, 0, 18, 19, 20,
2105 0, 0, 0, 21, -489, 0, 0, 0, 22, 314,
2106 807, 0, 24, 928, 0, 929, 0, 0, 0, 0,
2107 0, 27, 0, 28, 29, 0, 0, 930, 0, 931,
2108 0, 0, 0, 0, 0, 0, 0, 31, 926, 0,
2109 7, 8, 927, 10, 134, 12, 13, 32, 0, 0,
2110 0, 14, 0, 0, 0, 33, 0, 0, 0, 0,
2111 34, 0, 0, 0, 0, 0, 17, 0, 18, 19,
2112 20, 0, 0, 0, 21, -488, 0, -489, 0, 22,
2113 0, 0, 0, 24, 928, 0, 929, 0, 0, 0,
2114 0, 0, 27, 0, 28, 29, 0, 0, 930, 0,
2115 931, 0, 0, 0, 0, 0, 0, 0, 31, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
2117 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
2118 0, 34, 0, 0, 0, 1234, 1235, 1236, 10, 134,
2119 12, 286, 287, 288, 0, 289, 14, 1237, -488, 1238,
2120 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 15,
2121 16, 17, 290, 18, 19, 20, 0, 291, 292, 21,
2122 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2123 0, 0, 298, 299, 300, 301, 302, 27, 0, 1248,
2124 303, 659, 0, 1249, 304, 0, 0, 0, 0, 0,
2125 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2126 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2127 311, 312, 0, 0, 0, 0, 313, 0, 1250, 0,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 0, 1349, 314, 1234, 1235, 1236, 10, 134,
2130 12, 286, 287, 288, 0, 289, 14, 1237, 0, 1238,
2131 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 15,
2132 16, 17, 290, 18, 19, 20, 0, 291, 292, 21,
2133 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2134 0, 0, 298, 299, 300, 301, 302, 27, 0, 1248,
2135 303, 659, 0, 1249, 304, 0, 0, 0, 0, 0,
2136 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2137 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2138 311, 312, 0, 0, 0, 0, 313, 0, 1250, 0,
2139 0, 1234, 1235, 1236, 10, 134, 12, 286, 287, 288,
2140 0, 289, 14, 1237, 314, 1238, 1239, 1240, 1241, 1242,
2141 1243, 1244, 1245, 1246, 1247, 15, 16, 17, 290, 18,
2142 19, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2143 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2144 300, 301, 302, 27, 0, 1248, 303, 1464, 0, 1249,
2145 304, 0, 0, 0, 0, 0, 305, 0, 0, 306,
2146 0, 0, 0, 0, 0, 0, 0, 307, 308, 309,
2147 0, 0, 0, 0, 0, 310, 311, 312, 0, 0,
2148 0, 0, 313, 0, 1250, 0, 0, 1234, 1235, 1236,
2149 10, 134, 12, 286, 287, 288, 0, 289, 14, 1237,
2150 314, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
2151 1247, 15, 16, 17, 290, 18, 19, 20, 0, 291,
2152 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2153 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2154 0, 1248, 303, 0, 0, 1249, 304, 0, 0, 0,
2155 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
2156 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
2157 0, 310, 311, 312, 0, 0, 0, 0, 313, 0,
2158 1250, 285, 8, 9, 10, 134, 12, 286, 287, 288,
2159 672, 289, 14, 0, 0, 0, 314, 0, 0, 0,
2160 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2161 19, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2162 22, 296, 297, 0, 24, 0, 578, 0, 298, 299,
2163 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2164 304, 0, 0, 0, 0, 0, 305, 0, 0, 834,
2165 0, 0, 0, 0, 0, 0, 0, 307, 308, 835,
2166 0, 0, 0, 0, 0, 310, 311, 312, 0, 581,
2167 0, 0, 836, 583, 0, 0, 673, 7, 8, 9,
2168 10, 134, 12, 286, 287, 288, 672, 289, 14, 0,
2169 314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 17, 290, 18, 19, 20, 0, 291,
2171 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2172 24, 0, 578, 0, 298, 299, 300, 301, 302, 27,
2173 0, 28, 29, 0, 0, 0, 304, 0, 0, 0,
2174 0, 0, 305, 0, 0, 1053, 0, 0, 0, 0,
2175 0, 0, 0, 307, 308, 1054, 0, 0, 0, 0,
2176 0, 310, 311, 312, 0, 581, 0, 0, 1055, 583,
2177 0, 0, 673, 285, 8, 9, 10, 0, 12, 286,
2178 287, 288, 0, 289, 14, 0, 314, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2180 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2181 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2182 298, 299, 300, 301, 302, 27, 0, 28, 303, 0,
2183 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2184 0, 306, 0, 0, 0, 0, 339, 0, 340, 307,
2185 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2186 285, 8, 9, 10, 313, 12, 286, 287, 288, 0,
2187 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 314, 0, 0, 0, 17, 290, 18, 0,
2189 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2190 296, 297, 0, 24, 0, 578, 0, 298, 299, 300,
2191 301, 302, 27, 0, 28, 303, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 305, 0, 0, 834, 0,
2193 0, 0, 0, 0, 0, 0, 307, 308, 835, 0,
2194 0, 0, 0, 0, 310, 311, 312, 0, 581, 0,
2195 0, 836, 583, 7, 8, 9, 10, 0, 12, 286,
2196 287, 288, 0, 289, 14, 0, 0, 0, 0, 314,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2198 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2199 294, 295, 22, 296, 297, 0, 24, 0, 578, 0,
2200 298, 299, 300, 301, 302, 27, 0, 28, 29, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 305, 0,
2202 0, 1053, 0, 0, 0, 0, 0, 0, 0, 307,
2203 308, 1054, 0, 0, 0, 0, 0, 310, 311, 312,
2204 0, 581, 0, 0, 1055, 583, 285, 8, 9, 10,
2205 0, 12, 499, 287, 288, 0, 289, 14, 0, 0,
2206 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2208 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2209 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2210 28, 303, 0, 0, 1326, 304, 0, 0, 0, 0,
2211 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2212 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2213 310, 311, 312, 0, 0, 0, 0, 313, 285, 8,
2214 9, 10, 134, 12, 286, 287, 288, 0, 289, 14,
2215 0, 0, 0, 0, 0, 314, 0, 0, 0, 0,
2216 0, 0, 0, 0, 17, 290, 18, 19, 20, 0,
2217 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2218 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2219 27, 0, 28, 303, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
2221 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
2222 0, 0, 310, 311, 312, 285, 8, 9, 10, 313,
2223 12, 286, 287, 288, 0, 289, 14, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 314, 0, 0,
2225 0, 17, 290, 18, 0, 20, 0, 291, 292, 21,
2226 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2227 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
2228 303, 0, 0, 0, 304, 0, 0, 0, 0, 0,
2229 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2230 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2231 311, 312, 285, 8, 9, 10, 313, 12, 499, 287,
2232 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 314, 0, 0, 0, 17, 290,
2234 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
2235 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
2236 299, 300, 301, 302, 27, 0, 28, 303, 0, 0,
2237 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
2238 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
2239 309, 0, 0, 0, 0, 0, 310, 311, 312, 285,
2240 8, 9, 10, 313, 12, 499, 287, 288, 0, 289,
2241 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 314, 0, 0, 0, 17, 290, 18, 0, 20,
2243 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2244 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2245 302, 27, 0, 28, 303, 530, 0, 0, 0, 0,
2246 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2247 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2248 0, 0, 0, 310, 311, 312, 285, 8, 9, 10,
2249 531, 12, 499, 287, 288, 0, 289, 14, 0, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
2251 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2252 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2253 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2254 28, 303, 0, 0, 0, 0, 0, 0, 0, 0,
2255 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2256 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2257 310, 311, 312, 0, 0, 0, 0, 313, 567, 285,
2258 8, 9, 10, 0, 12, 499, 287, 288, 0, 289,
2259 14, 0, 0, 0, 0, 314, 0, 0, 0, 0,
2260 0, 0, 0, 0, 0, 17, 290, 18, 0, 20,
2261 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2262 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2263 302, 27, 0, 28, 303, 0, 0, 0, 304, 0,
2264 0, 0, 0, 0, 305, 0, 0, 518, 0, 0,
2265 0, 0, 0, 0, 0, 307, 308, 519, 0, 0,
2266 0, 0, 0, 310, 311, 312, 1025, 8, 9, 10,
2267 520, 12, 499, 287, 288, 0, 289, 14, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
2269 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2270 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2271 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2272 28, 303, 0, 0, 0, 304, 0, 0, 0, 0,
2273 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2274 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2275 310, 311, 312, 7, 8, 9, 10, 313, 12, 499,
2276 287, 288, 0, 289, 14, 0, 0, 0, 0, 0,
2277 0, 0, 0, 0, 0, 314, 0, 0, 0, 17,
2278 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2279 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2280 298, 299, 300, 301, 302, 27, 0, 28, 29, 0,
2281 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2282 0, 1390, 0, 0, 0, 0, 0, 0, 0, 307,
2283 308, 1391, 0, 0, 0, 0, 0, 310, 311, 312,
2284 285, 8, 9, 10, 1392, 12, 499, 287, 288, 0,
2285 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 314, 0, 0, 0, 17, 290, 18, 0,
2287 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2288 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2289 301, 302, 27, 0, 28, 303, 0, 0, 0, 0,
2290 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
2291 0, 0, 0, 0, 0, 0, 307, 308, 309, 0,
2292 0, 0, 0, 0, 310, 311, 312, 285, 8, 9,
2293 10, 500, 12, 499, 287, 288, 0, 289, 14, 0,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 314,
2295 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2296 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2297 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2298 0, 28, 303, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
2300 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
2301 0, 310, 311, 312, 285, 8, 9, 10, 503, 12,
2302 499, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2303 0, 0, 0, 0, 0, 0, 314, 0, 0, 0,
2304 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2305 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2306 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2307 0, 0, 0, 0, 0, 0, 0, 0, 0, 305,
2308 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2309 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2310 312, 285, 8, 9, 10, 313, 12, 499, 287, 288,
2311 0, 289, 14, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 314, 0, 0, 0, 17, 290, 18,
2313 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2314 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2315 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2316 0, 0, 0, 0, 0, 0, 305, 0, 0, 518,
2317 0, 0, 0, 0, 0, 0, 0, 307, 308, 519,
2318 0, 0, 0, 0, 0, 310, 311, 312, 7, 8,
2319 9, 10, 520, 12, 286, 287, 288, 0, 289, 14,
2320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 314, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2322 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2323 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2324 27, 0, 28, 29, 0, 0, 0, 0, 0, 0,
2325 0, 0, 0, 305, 0, 166, 1390, 7, 8, 9,
2326 10, 11, 12, 13, 307, 308, 1391, 0, 14, 0,
2327 0, 0, 310, 311, 312, 0, 0, 0, 0, 1392,
2328 0, 15, 16, 17, 0, 18, 19, 20, 0, 0,
2329 0, 21, 0, 0, 0, 0, 22, 314, 0, 23,
2330 24, 25, 0, 26, 0, 0, 0, 0, 0, 27,
2331 0, 28, 29, 0, 0, 30, 0, 0, 7, 8,
2332 9, 10, 134, 12, 13, 31, 0, 672, 0, 14,
2333 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2334 0, 0, 0, 33, 17, 0, 18, 19, 34, 0,
2335 0, 0, 21, 0, 35, 0, 0, 22, 0, 0,
2336 0, 24, 0, 578, 0, 0, 0, 0, 0, 0,
2337 27, 0, 28, 29, 0, 0, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 0, 1032, 926, 0, 7,
2339 8, 927, 10, 134, 12, 13, 1033, 0, 0, 0,
2340 14, 0, 0, 0, 33, 0, 581, 0, 0, 1034,
2341 583, 0, 0, 673, 0, 17, 0, 18, 19, 20,
2342 0, 0, 0, 21, 0, 0, 0, 0, 22, 0,
2343 0, 0, 24, 928, 0, 929, 0, 0, 0, 0,
2344 0, 27, 0, 28, 29, 0, 0, 930, 0, 931,
2345 7, 8, 9, 10, 192, 12, 193, 31, 0, 0,
2346 0, 14, 0, 0, 0, 0, 0, 32, 0, 0,
2347 0, 0, 0, 0, 0, 33, 17, 0, 18, 19,
2348 34, 0, 0, 0, 21, 0, 0, 0, 0, 22,
2349 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
2350 0, 0, 27, 0, 28, 29, 0, 0, 194, 0,
2351 0, 7, 8, 9, 10, 134, 12, 13, 31, 0,
2352 905, 0, 14, 0, 0, 0, 0, 0, 32, 0,
2353 0, 0, 0, 0, 0, 0, 33, 17, 0, 18,
2354 19, 34, 0, 0, 0, 21, 0, 0, 0, 0,
2355 22, 0, 0, 0, 24, 0, 1088, 8, 927, 10,
2356 192, 12, 193, 27, 0, 28, 29, 14, 0, 0,
2357 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2358 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2359 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2360 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2361 28, 29, 0, 0, 0, 0, 1090, 7, 8, 9,
2362 10, 192, 12, 193, 31, 0, 0, 0, 14, 0,
2363 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2364 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2365 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2366 24, 0, 7, 8, 9, 10, 134, 12, 13, 27,
2367 0, 28, 29, 14, 0, 1339, 0, 0, 0, 0,
2368 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2369 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2370 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2371 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2372 9, 10, 192, 12, 193, 0, 0, 0, 0, 14,
2373 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2374 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2375 0, 0, 21, 34, 0, 0, 0, 22, 0, 1380,
2376 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
2377 27, 0, 28, 29, 533, 534, 535, 536, 537, 538,
2378 539, 540, 541, 542, 543, 544, 31, 546, 547, 548,
2379 549, 550, 551, 552, 553, 554, 32, 0, 0, 0,
2380 0, 19, 0, 0, 33, 0, 0, 0, 0, 34,
2381 1381, 533, 534, 535, 536, 537, 538, 539, 540, 541,
2382 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2383 552, 553, 554, 533, 534, 535, 536, 537, 538, 539,
2384 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2385 550, 551, 552, 553, 554, 533, 534, 535, 536, 537,
2386 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2387 548, 549, 550, 551, 552, 553, 554, 533, 534, 535,
2388 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2389 546, 547, 548, 549, 550, 551, 552, 553, 554, 0,
2390 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0,
2391 0, 0, 0, 0, 0, 0, 0, 0, 0, 616,
2392 0, 0, 1434, 533, 534, 535, 536, 537, 538, 539,
2393 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2394 550, 551, 552, 553, 554, 1303, 533, 534, 535, 536,
2395 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2396 547, 548, 549, 550, 551, 552, 553, 554, 1451, 533,
2397 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2398 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2399 554, 533, 534, 535, 536, 537, 538, 539, 540, 541,
2400 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2401 552, 553, 554
2402 };
2403
2404 static const short yycheck[] = { 4,
2405 151, 152, 4, 332, 54, 161, 391, 24, 657, 655,
2406 469, 4, 196, 236, 79, 391, 83, 75, 125, 289,
2407 290, 26, 448, 89, 338, 91, 14, 391, 796, 226,
2408 61, 36, 362, 26, 36, 4, 41, 4, 582, 41,
2409 889, 132, 133, 36, 426, 589, 14, 231, 41, 128,
2410 320, 56, 932, 196, 133, 23, 1258, 132, 58, 26,
2411 1251, 941, 205, 1265, 31, 32, 71, 36, 1228, 36,
2412 11, 1378, 41, 4, 41, 141, 4, 143, 83, 11,
2413 1414, 146, 87, 48, 89, 48, 91, 137, 93, 53,
2414 11, 38, 1409, 12, 82, 26, 64, 281, 26, 1412,
2415 93, 106, 107, 204, 205, 36, 9, 55, 36, 1395,
2416 41, 34, 1, 41, 0, 338, 83, 105, 75, 1,
2417 63, 4, 63, 63, 39, 190, 93, 75, 56, 94,
2418 1443, 94, 1, 138, 79, 75, 141, 25, 143, 139,
2419 55, 60, 200, 26, 63, 720, 59, 110, 332, 0,
2420 725, 1485, 65, 36, 1471, 123, 1442, 583, 41, 62,
2421 165, 421, 93, 75, 111, 93, 61, 110, 199, 110,
2422 59, 59, 165, 502, 63, 63, 207, 59, 110, 98,
2423 1382, 12, 150, 63, 151, 152, 1472, 1378, 111, 110,
2424 59, 110, 156, 60, 63, 34, 196, 656, 165, 60,
2425 83, 1189, 1190, 1510, 204, 205, 48, 96, 96, 61,
2426 93, 1524, 60, 180, 181, 1203, 111, 985, 291, 292,
2427 48, 1423, 94, 187, 48, 60, 60, 96, 55, 60,
2428 110, 231, 63, 306, 165, 60, 309, 165, 329, 312,
2429 8, 9, 315, 110, 232, 318, 14, 49, 75, 61,
2430 111, 76, 94, 326, 329, 223, 224, 832, 325, 111,
2431 75, 61, 110, 56, 524, 58, 94, 98, 236, 37,
2432 94, 95, 1474, 94, 12, 110, 110, 282, 46, 345,
2433 48, 281, 165, 94, 48, 364, 110, 601, 91, 440,
2434 441, 1279, 836, 1453, 385, 680, 94, 347, 628, 111,
2435 1288, 1289, 247, 1291, 680, 1255, 385, 1257, 313, 61,
2436 453, 111, 151, 152, 153, 48, 472, 4, 48, 48,
2437 325, 865, 60, 1444, 1204, 63, 94, 65, 333, 48,
2438 94, 34, 332, 60, 61, 1456, 65, 305, 141, 48,
2439 345, 4, 5, 182, 1465, 138, 139, 676, 348, 36,
2440 338, 452, 453, 48, 41, 899, 65, 25, 325, 460,
2441 98, 94, 95, 1484, 94, 94, 95, 1135, 109, 9,
2442 471, 7, 12, 4, 5, 94, 95, 79, 3, 4,
2443 5, 6, 957, 1504, 959, 94, 391, 61, 48, 55,
2444 491, 110, 1241, 361, 57, 58, 55, 63, 658, 94,
2445 95, 103, 38, 196, 462, 48, 1527, 833, 48, 414,
2446 48, 204, 205, 1401, 1402, 110, 798, 42, 81, 48,
2447 60, 414, 62, 63, 391, 65, 57, 58, 459, 434,
2448 132, 497, 57, 58, 94, 95, 76, 32, 78, 48,
2449 59, 234, 325, 474, 146, 518, 519, 414, 151, 152,
2450 153, 94, 452, 453, 94, 95, 94, 95, 98, 1308,
2451 460, 732, 733, 734, 89, 94, 925, 434, 1317, 1318,
2452 110, 471, 63, 440, 441, 860, 4, 5, 48, 182,
2453 3, 4, 5, 414, 860, 94, 414, 48, 190, 63,
2454 1034, 491, 497, 4, 5, 500, 860, 564, 503, 467,
2455 1075, 75, 507, 508, 509, 510, 511, 704, 391, 706,
2456 48, 1055, 1087, 316, 711, 520, 25, 55, 27, 28,
2457 75, 223, 527, 59, 94, 48, 531, 841, 55, 57,
2458 58, 414, 55, 94, 57, 58, 48, 75, 55, 342,
2459 48, 344, 345, 55, 55, 247, 57, 58, 75, 111,
2460 59, 434, 59, 81, 63, 348, 94, 65, 563, 564,
2461 71, 745, 530, 75, 100, 94, 948, 55, 838, 995,
2462 81, 94, 25, 48, 27, 28, 55, 582, 3, 4,
2463 5, 6, 94, 1042, 589, 48, 94, 96, 638, 55,
2464 640, 641, 395, 396, 976, 977, 697, 564, 1447, 48,
2465 55, 440, 441, 442, 48, 593, 59, 714, 55, 75,
2466 63, 1070, 579, 580, 76, 582, 633, 42, 841, 94,
2467 27, 28, 589, 60, 61, 32, 676, 887, 75, 446,
2468 55, 94, 57, 58, 639, 337, 48, 454, 643, 656,
2469 4, 641, 55, 96, 1, 94, 3, 4, 5, 6,
2470 94, 8, 445, 110, 61, 721, 722, 723, 65, 452,
2471 453, 990, 75, 456, 89, 633, 48, 460, 63, 1051,
2472 4, 5, 36, 55, 642, 680, 676, 41, 1060, 1061,
2473 75, 564, 94, 1065, 1066, 42, 3, 4, 5, 4,
2474 5, 60, 49, 75, 497, 663, 398, 697, 55, 582,
2475 57, 58, 4, 5, 111, 110, 589, 76, 95, 78,
2476 715, 110, 94, 680, 36, 720, 721, 722, 723, 41,
2477 725, 63, 715, 57, 58, 922, 923, 924, 3, 4,
2478 5, 6, 89, 75, 807, 4, 5, 440, 441, 442,
2479 57, 58, 57, 58, 1126, 745, 715, 81, 715, 55,
2480 110, 55, 55, 720, 11, 57, 58, 63, 725, 63,
2481 63, 834, 835, 111, 81, 467, 81, 42, 61, 75,
2482 715, 75, 75, 48, 7, 8, 9, 60, 61, 81,
2483 55, 14, 57, 58, 715, 4, 5, 55, 57, 58,
2484 795, 1437, 494, 3, 799, 63, 71, 680, 94, 32,
2485 113, 1183, 63, 606, 37, 870, 81, 75, 1457, 3,
2486 4, 5, 81, 46, 89, 55, 91, 4, 5, 94,
2487 95, 826, 445, 63, 95, 60, 113, 832, 61, 48,
2488 65, 836, 715, 456, 1216, 75, 55, 720, 57, 58,
2489 95, 76, 725, 94, 991, 992, 639, 994, 641, 94,
2490 8, 9, 71, 841, 75, 860, 14, 862, 4, 5,
2491 865, 55, 81, 57, 58, 832, 75, 834, 835, 836,
2492 57, 58, 91, 75, 576, 94, 95, 935, 936, 37,
2493 75, 1032, 1033, 676, 111, 853, 944, 11, 46, 939,
2494 592, 4, 5, 860, 899, 110, 863, 864, 865, 45,
2495 27, 28, 1053, 1054, 697, 84, 85, 700, 913, 55,
2496 55, 57, 58, 60, 61, 920, 60, 61, 63, 60,
2497 61, 1303, 60, 25, 997, 27, 28, 932, 1257, 934,
2498 75, 61, 899, 736, 110, 940, 941, 60, 61, 932,
2499 110, 934, 55, 110, 57, 58, 4, 5, 941, 832,
2500 110, 9, 957, 836, 959, 111, 111, 59, 110, 113,
2501 113, 63, 34, 932, 65, 932, 75, 934, 75, 75,
2502 113, 1036, 941, 113, 941, 110, 110, 860, 110, 59,
2503 1053, 1054, 865, 8, 110, 55, 94, 932, 113, 934,
2504 957, 48, 959, 111, 96, 940, 941, 55, 65, 57,
2505 58, 932, 94, 934, 25, 60, 27, 28, 61, 977,
2506 941, 939, 940, 71, 65, 65, 899, 110, 3, 4,
2507 5, 1406, 61, 81, 110, 1042, 865, 63, 110, 1034,
2508 1406, 110, 110, 1091, 1099, 65, 65, 95, 59, 1097,
2509 1098, 65, 63, 1101, 1102, 4, 5, 1105, 113, 932,
2510 1055, 934, 3, 4, 5, 65, 94, 60, 941, 1319,
2511 899, 3, 4, 5, 6, 1032, 1033, 1034, 110, 110,
2512 1075, 1331, 57, 58, 957, 96, 959, 700, 110, 48,
2513 152, 153, 1087, 1051, 110, 76, 1053, 1054, 1055, 76,
2514 110, 1420, 76, 76, 110, 110, 55, 63, 57, 58,
2515 42, 3, 4, 5, 55, 1110, 57, 58, 1075, 63,
2516 182, 60, 71, 110, 110, 57, 58, 1110, 87, 88,
2517 1087, 113, 81, 92, 93, 94, 95, 63, 95, 111,
2518 1512, 3, 4, 5, 6, 1395, 95, 110, 840, 110,
2519 842, 1110, 89, 1110, 48, 113, 110, 940, 951, 952,
2520 953, 1034, 110, 946, 1099, 57, 58, 59, 113, 111,
2521 113, 111, 865, 60, 1169, 1110, 110, 1169, 870, 87,
2522 42, 89, 1055, 91, 1179, 110, 1169, 49, 1251, 1110,
2523 1440, 110, 1442, 110, 65, 57, 58, 65, 3, 4,
2524 5, 75, 1075, 1032, 1033, 1034, 899, 63, 1166, 1204,
2525 1169, 110, 1169, 110, 1087, 1255, 94, 1257, 94, 81,
2526 111, 1204, 1472, 113, 1053, 1054, 1055, 89, 94, 94,
2527 8, 110, 1482, 141, 60, 143, 113, 1110, 1286, 1287,
2528 110, 1387, 111, 27, 28, 1204, 1420, 1204, 32, 1390,
2529 1391, 313, 57, 58, 60, 110, 1251, 110, 110, 110,
2530 110, 1256, 110, 1258, 110, 1200, 1258, 1257, 1251, 1204,
2531 1265, 12, 110, 1265, 110, 1258, 60, 61, 110, 110,
2532 63, 65, 1265, 1204, 113, 48, 27, 28, 110, 1247,
2533 110, 32, 1251, 1341, 1251, 110, 1169, 1080, 1081, 1258,
2534 97, 1258, 34, 110, 65, 113, 1265, 48, 1265, 3,
2535 4, 5, 3, 4, 5, 6, 3, 4, 5, 60,
2536 61, 110, 63, 110, 65, 1017, 1109, 1390, 1391, 110,
2537 110, 1204, 63, 946, 3, 4, 5, 110, 110, 1032,
2538 1033, 1034, 110, 63, 1036, 61, 3, 4, 5, 61,
2539 9, 42, 1310, 94, 95, 61, 16, 98, 49, 94,
2540 1053, 1054, 1055, 57, 58, 94, 57, 58, 55, 110,
2541 57, 58, 59, 81, 82, 83, 84, 85, 1251, 441,
2542 442, 1421, 61, 1378, 1379, 1258, 61, 1382, 57, 58,
2543 1382, 94, 1265, 106, 107, 1378, 304, 1392, 89, 1382,
2544 57, 58, 1450, 17, 94, 61, 99, 1099, 109, 61,
2545 110, 1406, 1195, 1196, 1409, 1198, 1199, 1412, 1201, 1378,
2546 1412, 1378, 1379, 1382, 110, 1382, 110, 110, 1423, 1412,
2547 1420, 1423, 11, 1390, 1391, 61, 61, 345, 500, 94,
2548 1423, 503, 60, 110, 3, 4, 5, 6, 1443, 1406,
2549 61, 1443, 1409, 1412, 61, 1412, 65, 519, 520, 110,
2550 1443, 11, 61, 110, 1423, 11, 1423, 1080, 1081, 531,
2551 61, 0, 0, 1256, 1257, 0, 1471, 860, 416, 1474,
2552 2, 364, 1474, 42, 1443, 165, 1443, 1436, 165, 940,
2553 49, 1474, 934, 1276, 1277, 1042, 1109, 527, 57, 58,
2554 1374, 3, 4, 5, 6, 1378, 1379, 9, 1200, 1382,
2555 1524, 1256, 853, 1342, 1471, 1474, 663, 1474, 426, 427,
2556 284, 848, 81, 225, 1070, 925, 434, 589, 1110, 1524,
2557 89, 940, 1524, 1406, 1202, 934, 1409, 846, 613, 1412,
2558 42, 1524, 187, 4, 5, 123, 564, 427, 9, 1457,
2559 1423, 1258, 329, 55, 434, 57, 58, 1482, 1170, 1426,
2560 1496, 1390, 1391, 1392, 1498, 1524, 908, 1524, 1179, 71,
2561 1443, -1, -1, -1, -1, 1358, 1359, 1360, -1, 81,
2562 -1, -1, 1195, 1196, -1, 1198, 1199, 89, 1201, 497,
2563 498, -1, 94, -1, 55, -1, 57, 58, 1471, -1,
2564 313, 1474, 79, 80, 81, 82, 83, 84, 85, -1,
2565 71, -1, -1, -1, -1, 1398, 1399, -1, 498, 527,
2566 81, -1, 530, -1, -1, 533, 534, -1, 536, 537,
2567 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2568 548, 549, 550, 551, 552, 553, 554, -1, -1, 1342,
2569 -1, 1524, 560, -1, 562, 563, 3, 4, 5, 6,
2570 -1, 4, 5, 1276, 1277, -1, 9, 3, 4, 5,
2571 -1, 7, 8, 9, -1, -1, -1, 739, -1, -1,
2572 560, 589, 562, 563, -1, 3, 4, 5, 596, 7,
2573 1473, -1, -1, -1, -1, 42, -1, 1390, 1391, 1392,
2574 -1, 37, 49, -1, -1, 48, -1, 615, 616, 589,
2575 57, 58, 55, 31, 57, 58, 596, -1, 431, 55,
2576 38, 57, 58, 59, -1, 3, 4, 5, 71, 391,
2577 -1, -1, -1, -1, 81, -1, -1, 55, 81, 57,
2578 58, -1, 89, -1, -1, 1358, 1359, 1360, 91, -1,
2579 -1, 94, 95, 31, -1, 663, -1, -1, -1, -1,
2580 -1, 427, -1, -1, -1, -1, -1, -1, 434, 105,
2581 106, 107, 434, 835, 836, -1, -1, 55, -1, 57,
2582 58, -1, -1, -1, -1, 1398, 1399, 500, -1, -1,
2583 503, -1, 4, 5, 507, 7, 8, 9, -1, -1,
2584 12, -1, 14, 865, -1, -1, -1, 520, -1, -1,
2585 -1, -1, -1, 721, 722, 723, -1, 29, 531, 31,
2586 32, -1, 535, -1, -1, 37, -1, 3, 4, 5,
2587 6, 739, 498, -1, 46, -1, -1, 899, 3, 4,
2588 5, 6, -1, 55, -1, 57, 58, -1, 561, -1,
2589 7, 8, 9, 761, 567, -1, -1, 14, -1, 739,
2590 1473, -1, -1, -1, -1, -1, 42, -1, -1, -1,
2591 -1, 3, 4, 5, 6, 32, -1, 42, -1, 55,
2592 37, 57, 58, -1, 49, 61, 98, -1, -1, 46,
2593 798, 799, 57, 58, 560, 71, 562, 563, -1, -1,
2594 -1, 4, -1, -1, 812, 81, 814, -1, 816, -1,
2595 42, 14, -1, 89, -1, -1, 81, 49, 94, 799,
2596 582, -1, 25, 26, 89, 57, 58, 589, 31, 32,
2597 596, 34, 812, 36, 814, -1, 816, 845, 41, -1,
2598 -1, -1, -1, 3, 4, 5, 6, 855, -1, 81,
2599 81, 54, -1, 56, 3, 4, 5, 89, 7, 8,
2600 9, 64, -1, -1, -1, -1, 874, -1, 71, -1,
2601 -1, 1033, 1034, 881, -1, 855, -1, -1, -1, 82,
2602 83, -1, 42, -1, -1, -1, -1, -1, 695, 49,
2603 93, 899, 1054, 1055, -1, -1, -1, 57, 58, -1,
2604 -1, 881, 105, -1, -1, -1, -1, -1, 57, 58,
2605 -1, -1, 719, 7, 8, 9, -1, 724, 680, 899,
2606 14, -1, -1, 931, -1, 128, -1, -1, 159, 89,
2607 133, -1, -1, -1, 137, 138, -1, -1, 32, -1,
2608 948, 144, -1, 37, 147, 148, -1, 178, 151, 152,
2609 153, -1, 46, -1, -1, -1, -1, -1, 720, -1,
2610 191, -1, 165, 725, 7, 8, 9, 61, 976, 977,
2611 -1, 14, 980, 3, 4, 5, 6, 180, 181, 182,
2612 77, 78, 79, 80, 81, 82, 83, 84, 85, 32,
2613 803, -1, -1, -1, 37, -1, -1, -1, -1, -1,
2614 -1, -1, -1, 46, -1, -1, 209, -1, 3, 4,
2615 5, 6, 42, -1, 9, -1, -1, -1, -1, 49,
2616 827, 224, 829, 836, -1, -1, -1, 57, 58, 232,
2617 -1, -1, -1, 799, 4, 5, 1044, -1, 1046, 9,
2618 1048, 244, -1, 1051, -1, -1, 812, 42, 814, -1,
2619 816, -1, 1060, 1061, 3, 4, 5, 1065, 1066, 89,
2620 55, -1, 57, 58, 1044, -1, 1046, -1, 1048, -1,
2621 832, -1, -1, -1, 836, -1, 71, -1, 48, 282,
2622 283, -1, 1090, -1, -1, 55, 81, 57, 58, 855,
2623 39, 40, -1, 42, 89, -1, -1, -1, 860, 94,
2624 -1, 71, -1, 865, -1, -1, 55, 920, 57, 58,
2625 -1, 81, -1, -1, -1, 881, -1, -1, 1126, -1,
2626 1128, 91, 325, -1, 94, 95, 329, -1, 331, 332,
2627 333, -1, -1, -1, -1, -1, -1, 899, -1, -1,
2628 -1, -1, -1, -1, 347, 1153, -1, -1, -1, 956,
2629 -1, 958, -1, -1, -1, -1, -1, -1, -1, -1,
2630 -1, 364, -1, -1, -1, -1, -1, -1, -1, -1,
2631 -1, -1, -1, 1153, -1, 1183, -1, -1, -1, -1,
2632 1342, -1, 385, -1, -1, 1193, 1194, -1, 391, -1,
2633 -1, -1, -1, -1, -1, 957, -1, 959, -1, 402,
2634 -1, -1, 405, -1, 1011, -1, -1, 410, 1216, -1,
2635 -1, 414, -1, 444, -1, -1, -1, -1, 449, -1,
2636 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1391,
2637 1392, -1, -1, 436, 1242, 438, -1, 440, 441, 442,
2638 -1, -1, 1055, 446, 475, -1, -1, -1, 451, 480,
2639 -1, 454, -1, -1, -1, -1, -1, -1, -1, -1,
2640 -1, 492, 493, -1, 495, -1, -1, -1, -1, -1,
2641 -1, -1, 1034, -1, 1282, -1, -1, -1, 1044, -1,
2642 1046, -1, 1048, -1, -1, -1, -1, -1, -1, -1,
2643 -1, -1, -1, 1055, -1, 1303, -1, -1, -1, -1,
2644 -1, -1, -1, -1, -1, 508, 509, 510, 511, 1122,
2645 1123, 1124, 1125, 1075, 4, 5, -1, -1, 8, 9,
2646 1133, -1, -1, -1, 14, 1087, -1, -1, -1, -1,
2647 -1, -1, -1, -1, 1342, -1, -1, -1, -1, -1,
2648 -1, 1148, -1, -1, -1, -1, -1, 37, 1356, 1357,
2649 -1, -1, -1, -1, 585, 586, 46, 1365, 48, 590,
2650 -1, 564, 1342, 566, -1, 55, -1, 57, 58, -1,
2651 -1, -1, 1380, -1, 577, -1, 579, 580, -1, 582,
2652 1187, 71, -1, -1, 1191, -1, 589, 1153, -1, -1,
2653 593, 81, -1, -1, -1, -1, -1, -1, -1, 1206,
2654 1207, 91, -1, -1, 94, 95, -1, -1, -1, -1,
2655 -1, -1, -1, -1, -1, 1222, -1, -1, 1, -1,
2656 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
2657 -1, 14, -1, 1246, -1, 638, 639, 640, 641, 642,
2658 643, -1, -1, -1, -1, -1, 29, -1, 31, 32,
2659 33, -1, -1, -1, 37, 38, -1, -1, -1, 42,
2660 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
2661 -1, -1, 55, 676, 57, 58, -1, 680, 61, -1,
2662 63, -1, -1, -1, 687, 688, -1, 690, 71, -1,
2663 1297, 1298, -1, -1, -1, 726, -1, 728, 81, -1,
2664 -1, -1, -1, -1, 1512, -1, 89, -1, -1, -1,
2665 -1, 94, 715, -1, -1, 1328, -1, 720, -1, -1,
2666 -1, -1, 725, -1, -1, -1, -1, -1, 111, 732,
2667 733, 734, -1, 1, -1, 3, 4, 5, 6, 7,
2668 8, 9, 745, -1, 1351, 1352, 14, -1, -1, -1,
2669 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2670 -1, 29, 9, 31, 32, 1378, 1379, -1, -1, 37,
2671 801, 802, -1, 804, 42, -1, -1, -1, 46, 1392,
2672 -1, 49, -1, -1, -1, -1, -1, 55, -1, 57,
2673 58, -1, 795, 61, -1, 42, 1409, -1, -1, -1,
2674 831, -1, -1, 71, -1, -1, -1, -1, 55, -1,
2675 57, 58, -1, 81, 817, -1, 819, -1, 331, 332,
2676 333, 89, -1, 826, 71, -1, 94, 830, -1, 832,
2677 -1, 834, 835, 836, 81, -1, 867, -1, 841, -1,
2678 -1, -1, 89, -1, 1406, -1, -1, 94, -1, 3,
2679 4, 5, 6, -1, -1, 9, 1469, 860, 1471, 862,
2680 863, 864, 865, 4, -1, -1, -1, -1, -1, -1,
2681 -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
2682 -1, -1, 1495, 24, 25, 26, -1, -1, 42, -1,
2683 31, 32, -1, 34, -1, 36, 899, 1510, -1, -1,
2684 41, 55, -1, 57, 58, -1, -1, -1, -1, -1,
2685 913, -1, -1, 54, -1, 56, -1, 71, -1, -1,
2686 -1, -1, -1, 64, -1, 928, -1, 81, -1, 932,
2687 71, 934, -1, -1, -1, 89, 939, 940, 941, -1,
2688 94, -1, 83, -1, -1, -1, -1, 3, 4, 5,
2689 6, -1, 93, 9, 957, -1, 959, -1, -1, -1,
2690 -1, -1, -1, -1, -1, -1, -1, 4, 5, -1,
2691 -1, 8, 9, -1, -1, 1006, -1, 14, -1, -1,
2692 331, 332, 333, -1, -1, -1, 42, 128, 991, 992,
2693 -1, 994, 29, -1, 31, -1, 137, 138, -1, 55,
2694 37, 57, 58, 144, -1, -1, 1037, 148, -1, 46,
2695 151, 152, 153, -1, -1, 71, -1, -1, 55, -1,
2696 57, 58, 59, -1, 165, 81, -1, 1030, 1031, 1032,
2697 1033, 1034, -1, 89, -1, 1038, -1, -1, 94, 180,
2698 181, 182, -1, 1074, -1, -1, 3, 4, 5, 6,
2699 1053, 1054, 1055, -1, -1, 1086, -1, 94, -1, -1,
2700 -1, -1, -1, -1, -1, -1, 579, 580, 209, 582,
2701 -1, -1, 1075, -1, -1, -1, 589, -1, -1, -1,
2702 -1, -1, 1113, -1, 1087, 42, 1117, -1, -1, -1,
2703 -1, -1, -1, -1, -1, -1, -1, 1100, 55, -1,
2704 57, 58, -1, 244, -1, -1, 63, 1110, -1, -1,
2705 -1, -1, -1, -1, 71, -1, -1, -1, -1, 1150,
2706 -1, -1, -1, -1, 81, 638, -1, 640, 641, -1,
2707 643, -1, 89, -1, -1, -1, -1, 94, -1, -1,
2708 -1, 282, 283, -1, -1, -1, -1, -1, -1, -1,
2709 -1, -1, -1, 1156, 1157, -1, 1159, 3, 4, 5,
2710 6, -1, -1, 676, 74, 75, 76, 77, 78, 79,
2711 80, 81, 82, 83, 84, 85, 1179, 1208, 1209, 3,
2712 4, 5, 6, -1, 325, 9, -1, -1, 329, -1,
2713 331, 332, 333, -1, 1197, -1, 42, 338, -1, 1202,
2714 -1, 1204, -1, -1, -1, -1, 347, -1, -1, 55,
2715 -1, 57, 58, -1, -1, -1, -1, 63, 42, -1,
2716 -1, -1, -1, 364, 48, 71, -1, -1, 579, 580,
2717 -1, 55, 745, 57, 58, 81, -1, -1, -1, -1,
2718 1271, -1, -1, 89, 1275, -1, -1, 71, 94, -1,
2719 391, -1, 1255, 1256, 1257, -1, -1, 81, -1, -1,
2720 -1, 402, -1, -1, 405, 89, -1, 91, -1, 410,
2721 94, 95, -1, 414, 73, 74, 75, 76, 77, 78,
2722 79, 80, 81, 82, 83, 84, 85, 638, -1, 640,
2723 641, -1, 643, -1, -1, 436, -1, 438, -1, 440,
2724 441, 442, -1, -1, 817, 446, 819, -1, -1, -1,
2725 451, -1, -1, 454, -1, -1, -1, 830, -1, -1,
2726 -1, 834, 835, 836, -1, 676, -1, -1, 469, -1,
2727 4, 5, -1, 7, 8, 9, -1, -1, 12, 1342,
2728 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2729 863, 864, 865, -1, -1, 29, -1, 31, 32, 3,
2730 4, 5, 6, 37, -1, 9, -1, 508, 509, 510,
2731 511, -1, 46, -1, 48, -1, 3, 4, 5, 6,
2732 -1, 55, 9, 57, 58, -1, 899, 1390, 1391, 1392,
2733 -1, -1, -1, -1, 745, -1, -1, 71, 42, -1,
2734 -1, -1, -1, 1406, 48, -1, -1, 81, -1, -1,
2735 -1, 55, -1, 57, 58, 42, -1, 91, 1421, -1,
2736 94, 95, -1, 564, 98, 566, -1, 71, 55, -1,
2737 57, 58, -1, -1, -1, -1, -1, 81, 579, 580,
2738 -1, 582, -1, -1, 71, 89, -1, 91, 589, -1,
2739 94, 95, -1, -1, 81, -1, -1, -1, -1, -1,
2740 601, -1, 89, -1, -1, -1, 817, 94, 819, -1,
2741 -1, -1, -1, -1, -1, -1, -1, -1, -1, 830,
2742 -1, -1, -1, 834, 835, -1, -1, -1, -1, -1,
2743 -1, -1, 633, -1, -1, -1, -1, 638, 639, 640,
2744 641, 642, 643, -1, -1, -1, -1, -1, -1, -1,
2745 -1, -1, 863, 864, -1, 656, -1, 1030, 1031, 1032,
2746 1033, 1034, -1, -1, -1, 1038, -1, -1, 3, 4,
2747 5, 6, -1, -1, 9, 676, -1, -1, -1, 680,
2748 1053, 1054, 1055, -1, -1, -1, 687, 688, -1, 690,
2749 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2750 79, 80, 81, 82, 83, 84, 85, 42, -1, -1,
2751 -1, -1, -1, 48, 715, -1, -1, -1, -1, 720,
2752 55, -1, 57, 58, 725, 4, -1, -1, -1, -1,
2753 -1, 732, 733, 734, -1, -1, 71, 3, 4, 5,
2754 6, 7, 8, 9, 745, -1, 81, 26, 14, -1,
2755 -1, -1, 31, 32, 89, 34, 91, 36, -1, 94,
2756 95, -1, 41, 29, -1, 31, 32, -1, -1, -1,
2757 -1, 37, -1, -1, -1, 54, 42, 56, -1, -1,
2758 46, -1, -1, 1156, 1157, -1, 1159, -1, -1, 55,
2759 -1, 57, 58, -1, 795, -1, -1, -1, -1, -1,
2760 79, -1, -1, -1, -1, 71, -1, -1, -1, 75,
2761 -1, -1, -1, -1, 93, 81, 817, -1, 819, 1030,
2762 1031, 1032, 1033, 89, -1, 826, -1, 1038, 94, 830,
2763 -1, 832, -1, 834, 835, 836, -1, -1, -1, -1,
2764 841, -1, 1053, 1054, -1, -1, -1, -1, -1, 128,
2765 -1, -1, -1, 132, 133, -1, -1, -1, 137, 860,
2766 -1, 862, 863, 864, 865, 144, -1, 146, -1, 148,
2767 -1, -1, 151, 152, 153, -1, -1, -1, -1, -1,
2768 -1, -1, -1, -1, -1, -1, 165, -1, -1, 3,
2769 4, 5, 6, 7, 8, 9, 34, -1, 899, -1,
2770 14, 180, 181, 182, -1, -1, -1, -1, -1, -1,
2771 -1, 190, 913, -1, -1, 29, 54, 31, 32, -1,
2772 4, 5, -1, 37, 925, 9, -1, 928, 42, -1,
2773 209, 932, 46, 934, 48, -1, -1, -1, 939, 940,
2774 941, 55, -1, 57, 58, 1156, 1157, -1, 1159, 3,
2775 4, 5, 6, 7, 8, 9, 957, 71, 959, -1,
2776 14, -1, -1, -1, 48, 244, -1, 81, -1, -1,
2777 -1, 55, -1, 57, 58, 89, -1, 91, 32, -1,
2778 94, 95, -1, 37, -1, -1, -1, 71, 42, -1,
2779 991, 992, 46, 994, 48, -1, -1, 81, -1, 137,
2780 -1, 55, -1, 57, 58, -1, -1, 91, -1, -1,
2781 94, 95, -1, 151, 152, 153, -1, 71, -1, -1,
2782 -1, -1, -1, -1, -1, -1, -1, 81, -1, 1030,
2783 1031, 1032, 1033, 1034, 313, 89, -1, 1038, -1, -1,
2784 94, 1042, 180, 181, 182, -1, -1, -1, -1, -1,
2785 329, -1, 1053, 1054, 1055, -1, -1, -1, 337, 1,
2786 -1, 3, 4, 5, 6, 7, 8, 9, 347, 1070,
2787 -1, 209, 14, -1, 1075, -1, -1, -1, -1, -1,
2788 -1, -1, -1, -1, -1, 364, 1087, 29, -1, 31,
2789 32, 33, -1, -1, -1, 37, 38, -1, -1, -1,
2790 42, -1, -1, -1, 46, 47, 385, 49, -1, 1110,
2791 -1, -1, -1, 55, -1, 57, 58, -1, -1, 61,
2792 -1, 63, -1, 402, -1, -1, 405, -1, -1, 71,
2793 -1, 410, -1, -1, -1, 414, -1, -1, -1, 81,
2794 -1, -1, -1, -1, -1, 283, -1, 89, -1, -1,
2795 -1, -1, 94, -1, -1, 1156, 1157, 436, 1159, 438,
2796 -1, 440, 441, 442, -1, -1, -1, 446, -1, 111,
2797 -1, -1, 451, -1, -1, 454, -1, -1, 1179, -1,
2798 -1, 3, 4, 5, 6, -1, -1, 9, -1, -1,
2799 -1, -1, -1, 331, 332, 333, 1197, -1, -1, -1,
2800 -1, 1202, -1, 1204, -1, -1, -1, -1, -1, 347,
2801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2802 42, 500, -1, -1, 503, -1, 48, -1, -1, -1,
2803 -1, -1, -1, 55, -1, 57, 58, -1, 4, 518,
2804 519, 520, -1, -1, -1, -1, -1, -1, -1, 71,
2805 -1, -1, 531, -1, 1255, 1256, 1257, -1, -1, 81,
2806 26, -1, -1, -1, -1, 31, 32, 89, 34, 91,
2807 36, -1, 94, 95, -1, 41, -1, -1, 3, 4,
2808 5, 6, 7, 8, 9, -1, -1, -1, 54, 14,
2809 56, -1, -1, -1, -1, -1, -1, 576, 436, -1,
2810 438, -1, 440, 441, 442, -1, -1, 32, 446, -1,
2811 589, -1, 37, 451, -1, -1, 454, 42, -1, -1,
2812 -1, 46, -1, 48, -1, -1, -1, 93, -1, -1,
2813 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2814 -1, 1342, -1, -1, -1, -1, 71, -1, -1, 54,
2815 -1, -1, -1, -1, -1, -1, 81, -1, -1, 638,
2816 639, 640, 641, -1, 89, -1, 91, -1, -1, 94,
2817 95, 137, -1, -1, 79, -1, -1, 82, 144, -1,
2818 -1, -1, 148, -1, -1, 151, 152, 153, -1, 1390,
2819 1391, 1392, -1, -1, -1, -1, -1, 676, 103, 165,
2820 105, 680, -1, -1, -1, 1406, -1, -1, 687, 688,
2821 -1, 690, -1, -1, 180, 181, 182, -1, -1, -1,
2822 1421, -1, -1, -1, -1, -1, -1, -1, 566, -1,
2823 4, 5, 137, 7, 8, 9, 715, -1, 12, -1,
2824 14, 579, 580, 209, 582, -1, -1, -1, -1, -1,
2825 -1, 589, -1, -1, -1, 29, -1, 31, 32, -1,
2826 739, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2827 -1, -1, 46, -1, -1, 180, 181, 182, 244, -1,
2828 -1, 55, -1, 57, 58, 190, 72, 73, 74, 75,
2829 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2830 638, -1, 640, 641, 209, 643, -1, -1, -1, -1,
2831 -1, -1, 3, 4, 5, 6, -1, 1, 9, 3,
2832 4, 5, 6, 7, 8, 9, -1, 232, -1, -1,
2833 14, -1, -1, -1, -1, -1, -1, -1, 676, -1,
2834 -1, -1, 247, -1, -1, 29, -1, 31, 32, 687,
2835 688, 42, 690, 37, -1, 834, 835, 836, 42, -1,
2836 -1, 840, 46, 47, 55, 49, 57, 58, -1, -1,
2837 -1, 55, 338, 57, 58, -1, -1, -1, -1, 63,
2838 71, 347, -1, -1, 863, 864, 865, 71, -1, -1,
2839 81, 870, -1, -1, 732, 733, 734, 81, 89, -1,
2840 -1, -1, -1, 94, -1, 89, -1, 745, -1, -1,
2841 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2842 899, -1, -1, -1, -1, -1, 106, 107, -1, -1,
2843 -1, -1, 337, 338, -1, -1, 402, -1, -1, 405,
2844 -1, -1, 347, -1, 410, -1, -1, -1, 414, -1,
2845 -1, -1, -1, 932, -1, 934, 3, 4, 5, 6,
2846 939, 940, 941, -1, -1, -1, -1, -1, -1, -1,
2847 436, -1, 438, -1, 440, 441, 442, -1, -1, 817,
2848 446, 819, -1, -1, -1, 451, -1, -1, 454, -1,
2849 -1, -1, 830, -1, -1, 42, 834, 835, 836, -1,
2850 -1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
2851 57, 58, -1, -1, -1, -1, 63, -1, -1, -1,
2852 -1, -1, -1, -1, 71, 863, 864, 865, 180, 181,
2853 182, 436, -1, 438, 81, 440, 441, 442, 1017, -1,
2854 -1, 446, 89, -1, -1, -1, 451, 94, -1, 454,
2855 -1, 1030, 1031, 1032, 1033, 1034, -1, 1036, -1, 1038,
2856 -1, 899, -1, 4, 5, -1, 7, 8, 9, -1,
2857 -1, -1, -1, 14, 1053, 1054, 1055, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
2859 31, 32, -1, -1, 4, 5, 37, 4, 8, 9,
2860 -1, 939, -1, -1, 14, 46, -1, -1, -1, -1,
2861 -1, 577, -1, -1, 55, -1, 57, 58, -1, 26,
2862 1099, -1, -1, -1, 31, 32, -1, 37, -1, 36,
2863 -1, 1110, -1, 313, 41, -1, 46, -1, 48, -1,
2864 -1, -1, -1, -1, -1, 55, -1, 57, 58, 56,
2865 -1, -1, -1, 991, 992, -1, 994, -1, -1, -1,
2866 -1, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2867 -1, 81, 638, 639, 640, 641, -1, 1156, 1157, -1,
2868 1159, 91, -1, -1, 94, 95, 93, 592, 593, -1,
2869 -1, -1, 1030, 1031, 1032, 1033, 1034, -1, -1, -1,
2870 1038, 3, 4, 5, 6, -1, -1, 9, -1, -1,
2871 676, 391, -1, -1, 680, 1053, 1054, 1055, 1197, -1,
2872 -1, 687, 688, 1202, 690, 1204, -1, -1, -1, -1,
2873 -1, -1, -1, 638, -1, 640, 641, 144, -1, -1,
2874 42, 148, -1, -1, -1, -1, -1, -1, -1, 715,
2875 -1, -1, -1, 55, 434, 57, 58, -1, 165, -1,
2876 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2877 -1, 676, -1, 180, 181, -1, 1255, 1256, 1257, 81,
2878 -1, -1, 687, 688, 436, 690, 438, 89, 440, 441,
2879 442, -1, 94, -1, 3, 4, 5, 6, -1, 451,
2880 -1, -1, -1, 3, 4, 5, 6, -1, -1, 714,
2881 -1, -1, -1, -1, 3, 4, 5, 6, 1156, 1157,
2882 500, 1159, -1, 503, -1, -1, -1, 507, 508, 509,
2883 510, 511, -1, 42, -1, -1, -1, 244, -1, -1,
2884 520, -1, 42, -1, -1, -1, 55, -1, 57, 58,
2885 -1, 531, 61, 42, -1, 55, -1, 57, 58, 1197,
2886 -1, -1, 71, 1342, -1, -1, 55, -1, 57, 58,
2887 -1, 71, 81, -1, -1, 841, 3, 4, 5, 6,
2888 89, 81, 71, 563, -1, 94, -1, -1, -1, 89,
2889 -1, -1, 81, -1, 94, -1, -1, 863, 864, 865,
2890 89, -1, 582, -1, -1, 94, -1, -1, -1, 589,
2891 -1, 1390, 1391, 1392, -1, 42, -1, 1255, -1, 1257,
2892 -1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
2893 57, 58, -1, 899, -1, 840, 841, 842, -1, -1,
2894 -1, -1, 1421, -1, 71, -1, -1, -1, -1, -1,
2895 -1, -1, -1, -1, 81, -1, -1, -1, 863, 864,
2896 865, -1, 89, -1, -1, 870, 932, 94, 934, -1,
2897 -1, -1, -1, 939, 940, 941, 68, 69, 70, 71,
2898 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2899 82, 83, 84, 85, 899, 402, -1, -1, 405, -1,
2900 680, -1, -1, 410, 1342, -1, -1, 414, 70, 71,
2901 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2902 82, 83, 84, 85, -1, -1, -1, -1, -1, 436,
2903 -1, 438, -1, -1, 939, 687, 688, -1, 690, -1,
2904 720, -1, -1, -1, 451, 725, -1, -1, -1, -1,
2905 -1, -1, 1390, 1391, 1392, -1, -1, -1, -1, -1,
2906 -1, -1, -1, -1, 1030, 1031, 1032, 1033, 1034, 4,
2907 5, -1, 1038, 8, 9, -1, -1, -1, -1, 14,
2908 -1, -1, -1, 1421, -1, -1, -1, 1053, 1054, 1055,
2909 -1, -1, -1, -1, 29, -1, 31, -1, -1, -1,
2910 -1, -1, 37, -1, -1, -1, -1, -1, -1, 4,
2911 5, 46, 1017, 8, 9, 795, -1, -1, -1, 14,
2912 55, -1, 57, 58, -1, 1030, 1031, 1032, 1033, 1034,
2913 -1, 1036, -1, 1038, 29, -1, 31, -1, -1, -1,
2914 -1, -1, 37, -1, 1110, -1, 826, -1, 1053, 1054,
2915 1055, 46, 832, 48, -1, -1, 836, -1, -1, 94,
2916 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2917 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2918 860, -1, 862, -1, -1, 865, 81, -1, -1, -1,
2919 1156, 1157, -1, 1159, 1099, -1, 91, -1, -1, 94,
2920 95, -1, -1, -1, -1, 14, -1, -1, -1, -1,
2921 -1, 863, 864, 865, -1, 24, 25, -1, -1, 899,
2922 -1, -1, 31, 32, -1, 34, -1, -1, -1, -1,
2923 -1, 1197, 639, 913, -1, -1, 1202, -1, 1204, -1,
2924 920, -1, -1, -1, -1, -1, -1, 899, -1, -1,
2925 -1, 1156, 1157, -1, 1159, 64, 71, 72, 73, 74,
2926 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2927 85, -1, -1, 680, -1, -1, -1, 957, -1, 959,
2928 687, 688, -1, 690, -1, -1, -1, 939, -1, 1255,
2929 1256, 1257, 1197, -1, -1, -1, -1, -1, -1, -1,
2930 -1, -1, -1, -1, -1, -1, -1, -1, 715, -1,
2931 -1, -1, -1, -1, 123, -1, 125, -1, -1, 128,
2932 -1, -1, -1, 132, 133, -1, -1, -1, -1, -1,
2933 -1, -1, -1, -1, -1, 144, -1, 146, 147, 148,
2934 -1, -1, 151, 152, 153, -1, -1, -1, -1, -1,
2935 1255, -1, 1257, -1, 1034, -1, -1, -1, 4, 5,
2936 -1, -1, 8, 9, -1, -1, -1, -1, 14, -1,
2937 -1, -1, -1, -1, -1, 1055, 1342, -1, 1030, 1031,
2938 1032, 1033, 1034, 29, -1, 31, 1038, -1, -1, -1,
2939 -1, 37, -1, -1, -1, 1075, -1, -1, -1, -1,
2940 46, 1053, 1054, 1055, -1, -1, -1, 1087, -1, 55,
2941 -1, 57, 58, -1, 223, 224, -1, 4, 5, -1,
2942 7, 8, 9, -1, 1390, 1391, 1392, 14, -1, -1,
2943 -1, -1, -1, -1, -1, 244, -1, 1342, -1, -1,
2944 -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
2945 37, -1, -1, -1, -1, 1421, 863, 864, -1, 46,
2946 -1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
2947 57, 58, -1, -1, 283, -1, -1, -1, -1, -1,
2948 -1, -1, -1, -1, -1, 1390, 1391, 1392, -1, -1,
2949 -1, -1, 3, 4, 5, 6, 7, 8, 9, 1179,
2950 -1, -1, -1, 14, 1156, 1157, -1, 1159, -1, -1,
2951 -1, -1, -1, -1, -1, -1, 1421, -1, -1, -1,
2952 329, 32, 331, 332, -1, 932, 37, 934, -1, -1,
2953 -1, 42, 939, 940, 941, 46, -1, 48, -1, -1,
2954 -1, -1, -1, -1, 55, 1197, 57, 58, -1, -1,
2955 -1, -1, -1, -1, -1, 364, -1, -1, -1, -1,
2956 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2957 81, -1, -1, -1, -1, -1, 385, -1, 89, -1,
2958 91, -1, -1, 94, 95, -1, -1, -1, -1, 398,
2959 -1, -1, -1, 402, -1, -1, 405, -1, -1, -1,
2960 1, 410, 3, 4, 5, 6, -1, 8, 9, 10,
2961 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
2962 -1, -1, -1, 1030, 1031, -1, -1, -1, 29, 30,
2963 31, 1038, 33, -1, 35, 36, 37, -1, 39, 40,
2964 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
2965 51, 52, 53, 54, 55, -1, 57, 58, 467, -1,
2966 469, 62, 63, -1, 4, 5, -1, 68, 8, 9,
2967 71, -1, -1, -1, 14, -1, -1, -1, 79, 80,
2968 81, -1, -1, -1, -1, 494, 87, 88, 89, 29,
2969 1342, 31, -1, 94, -1, -1, -1, 37, -1, -1,
2970 -1, -1, -1, 1110, -1, -1, 46, -1, -1, -1,
2971 -1, 112, 1392, -1, -1, 55, -1, 57, 58, -1,
2972 -1, -1, -1, -1, -1, -1, 1406, -1, 1, -1,
2973 3, 4, 5, 6, 7, 8, 9, -1, 1390, 1391,
2974 1392, 14, -1, -1, -1, -1, -1, -1, -1, 1156,
2975 1157, -1, 1159, -1, 27, 28, 29, 566, 31, 32,
2976 33, -1, -1, -1, 37, -1, -1, 576, 577, 42,
2977 579, 580, 45, 46, 47, -1, 49, -1, -1, -1,
2978 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
2979 1197, -1, -1, -1, -1, 1202, -1, 1204, 71, 1,
2980 -1, 3, 4, 5, 6, 7, 8, 9, 81, -1,
2981 12, -1, 14, -1, -1, -1, 89, -1, -1, -1,
2982 -1, 94, -1, 25, 633, 27, 28, 100, -1, -1,
2983 32, -1, -1, 642, -1, 37, -1, -1, -1, -1,
2984 42, -1, -1, -1, 46, -1, 48, 656, -1, 1256,
2985 -1, -1, -1, 55, -1, 57, 58, 59, 60, 61,
2986 -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2987 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2988 82, 83, 84, 85, -1, 87, 88, 89, -1, 91,
2989 92, 93, 94, 95, 96, -1, 98, 99, -1, -1,
2990 -1, -1, 104, -1, -1, 714, -1, 109, 110, 111,
2991 -1, 113, -1, -1, -1, -1, -1, -1, -1, -1,
2992 -1, -1, -1, 732, 733, 734, -1, -1, -1, -1,
2993 -1, -1, -1, -1, -1, -1, 745, 1, -1, 3,
2994 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
2995 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
2996 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2997 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
2998 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
2999 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3000 -1, -1, -1, -1, 68, -1, -1, 71, 817, -1,
3001 819, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3002 -1, 830, -1, 87, 88, 89, -1, -1, -1, -1,
3003 94, -1, 96, -1, -1, -1, -1, -1, -1, -1,
3004 -1, -1, -1, -1, -1, -1, -1, 111, 112, -1,
3005 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3006 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3007 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3008 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
3009 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3010 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3011 61, 62, -1, -1, -1, -1, 925, 68, -1, 928,
3012 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3013 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3014 -1, -1, -1, 94, -1, 96, -1, -1, -1, -1,
3015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3016 1, 112, 3, 4, 5, 6, 7, 8, 9, 10,
3017 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
3018 -1, -1, 991, 992, -1, 994, -1, -1, 29, 30,
3019 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
3020 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3021 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3022 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3023 71, -1, -1, 1042, -1, -1, -1, -1, 79, 80,
3024 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3025 91, -1, -1, 94, 95, -1, -1, 98, -1, -1,
3026 -1, 1070, -1, -1, -1, -1, -1, -1, -1, -1,
3027 1, 112, 3, 4, 5, 6, 7, 8, 9, 10,
3028 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
3029 -1, 1100, -1, -1, -1, -1, -1, -1, 29, 30,
3030 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
3031 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3032 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3033 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3034 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3035 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3036 91, -1, -1, 94, 95, -1, 1, 98, 3, 4,
3037 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3038 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, 1200, -1, 1202, 29, 30, 31, 32, 33, -1,
3040 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3041 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3042 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3043 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3044 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3045 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3046 -1, -1, -1, 98, -1, -1, -1, -1, -1, -1,
3047 -1, -1, -1, -1, -1, 110, 1, 112, 3, 4,
3048 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3050 -1, -1, -1, -1, 29, 30, 31, 32, 33, -1,
3051 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3052 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3053 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3054 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3055 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3056 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3057 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3058 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3059 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3060 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3061 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3062 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3063 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3064 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3065 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3066 -1, 94, 95, 1, -1, 3, 4, 5, 6, -1,
3067 8, 9, 10, 11, -1, 13, 14, -1, 111, 112,
3068 -1, -1, -1, 21, -1, -1, -1, -1, -1, -1,
3069 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3070 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3071 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3072 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
3073 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3074 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3075 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3076 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3077 -1, -1, -1, 111, 112, 21, -1, -1, -1, -1,
3078 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3079 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3080 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3081 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3082 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3083 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3084 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3085 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3086 14, -1, -1, -1, -1, 111, 112, -1, -1, -1,
3087 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3088 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3089 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3090 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3091 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3092 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3093 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3094 94, 95, 1, -1, 3, 4, 5, 6, -1, 8,
3095 9, 10, 11, -1, 13, 14, -1, -1, 112, -1,
3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3097 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3098 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3099 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3100 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3101 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3102 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3103 89, -1, -1, -1, -1, 94, -1, -1, 1, -1,
3104 3, 4, 5, 6, 103, 8, 9, 10, 11, -1,
3105 13, 14, -1, 112, -1, -1, -1, -1, -1, -1,
3106 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3107 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3108 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3109 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3110 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3111 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3112 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3113 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3114 11, -1, 13, 14, -1, -1, -1, -1, -1, 112,
3115 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3116 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3117 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3118 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3119 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3120 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3121 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3122 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3123 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3124 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3125 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3126 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3127 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3128 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3129 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3130 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3131 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3132 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3133 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3134 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3135 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3136 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3137 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3138 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3139 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3140 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3141 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3142 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3143 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3144 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3145 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3146 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3147 -1, -1, -1, 68, 1, -1, 71, 4, 5, -1,
3148 -1, 8, 9, -1, 79, 80, 81, 14, -1, -1,
3149 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3150 -1, -1, 29, -1, 31, -1, -1, -1, -1, -1,
3151 37, -1, 39, 40, -1, 110, -1, 112, -1, 46,
3152 -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
3153 57, 58, -1, 60, -1, -1, -1, 64, 65, 66,
3154 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3155 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
3156 87, 88, 89, -1, -1, 92, -1, 1, 95, 3,
3157 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3158 14, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3159 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3160 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3161 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3162 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3163 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3164 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3165 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3166 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3167 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3168 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3169 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3170 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3171 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3172 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3173 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3174 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3175 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3176 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3177 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3178 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3179 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3180 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3181 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3182 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3183 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3184 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3185 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3186 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3187 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3188 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3189 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3190 -1, -1, -1, -1, -1, 68, -1, 1, 71, 3,
3191 4, 5, 6, 7, 8, 9, 79, 80, 81, -1,
3192 14, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3193 -1, 94, -1, -1, -1, 29, -1, 31, 32, 33,
3194 -1, -1, -1, 37, 38, -1, -1, -1, 42, 112,
3195 113, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3196 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3197 -1, -1, -1, -1, -1, -1, -1, 71, 1, -1,
3198 3, 4, 5, 6, 7, 8, 9, 81, -1, -1,
3199 -1, 14, -1, -1, -1, 89, -1, -1, -1, -1,
3200 94, -1, -1, -1, -1, -1, 29, -1, 31, 32,
3201 33, -1, -1, -1, 37, 38, -1, 111, -1, 42,
3202 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
3203 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
3204 63, -1, -1, -1, -1, -1, -1, -1, 71, -1,
3205 -1, -1, -1, -1, -1, -1, -1, -1, 81, -1,
3206 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
3207 -1, 94, -1, -1, -1, 3, 4, 5, 6, 7,
3208 8, 9, 10, 11, -1, 13, 14, 15, 111, 17,
3209 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3210 28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3211 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3212 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3213 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3214 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3215 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3216 88, 89, -1, -1, -1, -1, 94, -1, 96, -1,
3217 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3218 -1, -1, -1, 111, 112, 3, 4, 5, 6, 7,
3219 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3220 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3221 28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3222 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3223 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3224 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3225 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3226 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3227 88, 89, -1, -1, -1, -1, 94, -1, 96, -1,
3228 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3229 -1, 13, 14, 15, 112, 17, 18, 19, 20, 21,
3230 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3231 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3232 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3233 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3234 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3235 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3236 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3237 -1, -1, 94, -1, 96, -1, -1, 3, 4, 5,
3238 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3239 112, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3240 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3241 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3242 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3243 -1, 57, 58, -1, -1, 61, 62, -1, -1, -1,
3244 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3245 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3246 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3247 96, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3248 12, 13, 14, -1, -1, -1, 112, -1, -1, -1,
3249 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3250 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3251 42, 43, 44, -1, 46, -1, 48, -1, 50, 51,
3252 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3253 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3254 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3255 -1, -1, -1, -1, -1, 87, 88, 89, -1, 91,
3256 -1, -1, 94, 95, -1, -1, 98, 3, 4, 5,
3257 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3258 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3259 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3260 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3261 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3262 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3263 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3264 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3265 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3266 -1, -1, 98, 3, 4, 5, 6, -1, 8, 9,
3267 10, 11, -1, 13, 14, -1, 112, -1, -1, -1,
3268 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3269 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3270 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3271 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3272 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3273 -1, 71, -1, -1, -1, -1, 76, -1, 78, 79,
3274 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3275 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3276 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3277 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3278 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3279 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3280 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3281 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3282 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3283 -1, -1, -1, -1, 87, 88, 89, -1, 91, -1,
3284 -1, 94, 95, 3, 4, 5, 6, -1, 8, 9,
3285 10, 11, -1, 13, 14, -1, -1, -1, -1, 112,
3286 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3287 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3288 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3289 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3290 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3291 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3292 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3293 -1, 91, -1, -1, 94, 95, 3, 4, 5, 6,
3294 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3295 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3296 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3297 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3298 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3299 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3300 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3301 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3302 87, 88, 89, -1, -1, -1, -1, 94, 3, 4,
3303 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3304 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3305 -1, -1, -1, -1, 29, 30, 31, 32, 33, -1,
3306 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3307 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3308 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3309 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3310 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3311 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3312 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3313 -1, -1, -1, -1, -1, -1, -1, 112, -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, -1, 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, 3, 4, 5, 6, 94, 8, 9, 10,
3321 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3322 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3323 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3324 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3325 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3326 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3327 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3328 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3329 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3330 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3331 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3332 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3333 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3334 54, 55, -1, 57, 58, 59, -1, -1, -1, -1,
3335 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3336 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3337 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3338 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3339 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3340 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3341 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3342 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3343 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3344 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3345 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3346 87, 88, 89, -1, -1, -1, -1, 94, 95, 3,
3347 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3348 14, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3349 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3350 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3351 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3352 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3353 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3354 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3355 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3356 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3357 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3358 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3359 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3360 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3361 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3362 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3363 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3364 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3365 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3366 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3367 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3368 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3369 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3370 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3371 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3372 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3373 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3374 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3375 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3376 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3377 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3378 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3379 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3380 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3381 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3382 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3383 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3384 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3385 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3386 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3387 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3388 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3389 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3390 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3391 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3392 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3393 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3394 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3395 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3396 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3397 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3398 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3399 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3400 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3401 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3402 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3403 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3404 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3405 -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3406 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3407 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3408 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3410 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3411 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3412 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3413 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3414 -1, -1, -1, 68, -1, 1, 71, 3, 4, 5,
3415 6, 7, 8, 9, 79, 80, 81, -1, 14, -1,
3416 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3417 -1, 27, 28, 29, -1, 31, 32, 33, -1, -1,
3418 -1, 37, -1, -1, -1, -1, 42, 112, -1, 45,
3419 46, 47, -1, 49, -1, -1, -1, -1, -1, 55,
3420 -1, 57, 58, -1, -1, 61, -1, -1, 3, 4,
3421 5, 6, 7, 8, 9, 71, -1, 12, -1, 14,
3422 -1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
3423 -1, -1, -1, 89, 29, -1, 31, 32, 94, -1,
3424 -1, -1, 37, -1, 100, -1, -1, 42, -1, -1,
3425 -1, 46, -1, 48, -1, -1, -1, -1, -1, -1,
3426 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3427 -1, -1, -1, -1, -1, -1, 71, 1, -1, 3,
3428 4, 5, 6, 7, 8, 9, 81, -1, -1, -1,
3429 14, -1, -1, -1, 89, -1, 91, -1, -1, 94,
3430 95, -1, -1, 98, -1, 29, -1, 31, 32, 33,
3431 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3432 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3433 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3434 3, 4, 5, 6, 7, 8, 9, 71, -1, -1,
3435 -1, 14, -1, -1, -1, -1, -1, 81, -1, -1,
3436 -1, -1, -1, -1, -1, 89, 29, -1, 31, 32,
3437 94, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3438 -1, -1, -1, 46, -1, -1, -1, -1, -1, -1,
3439 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
3440 -1, 3, 4, 5, 6, 7, 8, 9, 71, -1,
3441 12, -1, 14, -1, -1, -1, -1, -1, 81, -1,
3442 -1, -1, -1, -1, -1, -1, 89, 29, -1, 31,
3443 32, 94, -1, -1, -1, 37, -1, -1, -1, -1,
3444 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3445 7, 8, 9, 55, -1, 57, 58, 14, -1, -1,
3446 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3447 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3448 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3449 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3450 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3451 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3452 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3453 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3454 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3455 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3456 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3457 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3458 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3459 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3460 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3461 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3462 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3463 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3464 -1, -1, 37, 94, -1, -1, -1, 42, -1, 12,
3465 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3466 55, -1, 57, 58, 64, 65, 66, 67, 68, 69,
3467 70, 71, 72, 73, 74, 75, 71, 77, 78, 79,
3468 80, 81, 82, 83, 84, 85, 81, -1, -1, -1,
3469 -1, 32, -1, -1, 89, -1, -1, -1, -1, 94,
3470 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3471 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3472 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3473 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3474 81, 82, 83, 84, 85, 64, 65, 66, 67, 68,
3475 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3476 79, 80, 81, 82, 83, 84, 85, 64, 65, 66,
3477 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3478 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3479 -1, -1, -1, -1, 113, -1, -1, -1, -1, -1,
3480 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
3481 -1, -1, 109, 64, 65, 66, 67, 68, 69, 70,
3482 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3483 81, 82, 83, 84, 85, 63, 64, 65, 66, 67,
3484 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3485 78, 79, 80, 81, 82, 83, 84, 85, 63, 64,
3486 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3487 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3488 85, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3489 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3490 83, 84, 85
3491 };
3492 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3493 #line 3 "/usr/share/bison.simple"
3494
3495 /* Skeleton output parser for bison,
3496 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3497
3498 This program is free software; you can redistribute it and/or modify
3499 it under the terms of the GNU General Public License as published by
3500 the Free Software Foundation; either version 2, or (at your option)
3501 any later version.
3502
3503 This program is distributed in the hope that it will be useful,
3504 but WITHOUT ANY WARRANTY; without even the implied warranty of
3505 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3506 GNU General Public License for more details.
3507
3508 You should have received a copy of the GNU General Public License
3509 along with this program; if not, write to the Free Software
3510 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3511
3512 /* As a special exception, when this file is copied by Bison into a
3513 Bison output file, you may use that output file without restriction.
3514 This special exception was added by the Free Software Foundation
3515 in version 1.24 of Bison. */
3516
3517 #ifndef alloca
3518 #ifdef __GNUC__
3519 #define alloca __builtin_alloca
3520 #else /* not GNU C. */
3521 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3522 #include <alloca.h>
3523 #else /* not sparc */
3524 #if defined (MSDOS) && !defined (__TURBOC__)
3525 #include <malloc.h>
3526 #else /* not MSDOS, or __TURBOC__ */
3527 #if defined(_AIX)
3528 #include <malloc.h>
3529 #pragma alloca
3530 #else /* not MSDOS, __TURBOC__, or _AIX */
3531 #ifdef __hpux
3532 #ifdef __cplusplus
3533 extern "C" {
3534 void *alloca (unsigned int);
3535 };
3536 #else /* not __cplusplus */
3537 void *alloca ();
3538 #endif /* not __cplusplus */
3539 #endif /* __hpux */
3540 #endif /* not _AIX */
3541 #endif /* not MSDOS, or __TURBOC__ */
3542 #endif /* not sparc. */
3543 #endif /* not GNU C. */
3544 #endif /* alloca not defined. */
3545
3546 /* This is the parser code that is written into each bison parser
3547 when the %semantic_parser declaration is not specified in the grammar.
3548 It was written by Richard Stallman by simplifying the hairy parser
3549 used when %semantic_parser is specified. */
3550
3551 /* Note: there must be only one dollar sign in this file.
3552 It is replaced by the list of actions, each action
3553 as one case of the switch. */
3554
3555 #define yyerrok (yyerrstatus = 0)
3556 #define yyclearin (yychar = YYEMPTY)
3557 #define YYEMPTY -2
3558 #define YYEOF 0
3559 #define YYACCEPT return(0)
3560 #define YYABORT return(1)
3561 #define YYERROR goto yyerrlab1
3562 /* Like YYERROR except do call yyerror.
3563 This remains here temporarily to ease the
3564 transition to the new meaning of YYERROR, for GCC.
3565 Once GCC version 2 has supplanted version 1, this can go. */
3566 #define YYFAIL goto yyerrlab
3567 #define YYRECOVERING() (!!yyerrstatus)
3568 #define YYBACKUP(token, value) \
3569 do \
3570 if (yychar == YYEMPTY && yylen == 1) \
3571 { yychar = (token), yylval = (value); \
3572 yychar1 = YYTRANSLATE (yychar); \
3573 YYPOPSTACK; \
3574 goto yybackup; \
3575 } \
3576 else \
3577 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3578 while (0)
3579
3580 #define YYTERROR 1
3581 #define YYERRCODE 256
3582
3583 #ifndef YYPURE
3584 #define YYLEX yylex()
3585 #endif
3586
3587 #ifdef YYPURE
3588 #ifdef YYLSP_NEEDED
3589 #ifdef YYLEX_PARAM
3590 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3591 #else
3592 #define YYLEX yylex(&yylval, &yylloc)
3593 #endif
3594 #else /* not YYLSP_NEEDED */
3595 #ifdef YYLEX_PARAM
3596 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3597 #else
3598 #define YYLEX yylex(&yylval)
3599 #endif
3600 #endif /* not YYLSP_NEEDED */
3601 #endif
3602
3603 /* If nonreentrant, generate the variables here */
3604
3605 #ifndef YYPURE
3606
3607 int yychar; /* the lookahead symbol */
3608 YYSTYPE yylval; /* the semantic value of the */
3609 /* lookahead symbol */
3610
3611 #ifdef YYLSP_NEEDED
3612 YYLTYPE yylloc; /* location data for the lookahead */
3613 /* symbol */
3614 #endif
3615
3616 int yynerrs; /* number of parse errors so far */
3617 #endif /* not YYPURE */
3618
3619 #if YYDEBUG != 0
3620 int yydebug; /* nonzero means print parse trace */
3621 /* Since this is uninitialized, it does not stop multiple parsers
3622 from coexisting. */
3623 #endif
3624
3625 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3626
3627 #ifndef YYINITDEPTH
3628 #define YYINITDEPTH 200
3629 #endif
3630
3631 /* YYMAXDEPTH is the maximum size the stacks can grow to
3632 (effective only if the built-in stack extension method is used). */
3633
3634 #if YYMAXDEPTH == 0
3635 #undef YYMAXDEPTH
3636 #endif
3637
3638 #ifndef YYMAXDEPTH
3639 #define YYMAXDEPTH 10000
3640 #endif
3641
3642 /* Prevent warning if -Wstrict-prototypes. */
3643 #ifdef __GNUC__
3644 int yyparse (void);
3645 #endif
3646 \f
3647 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3648 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3649 #else /* not GNU C or C++ */
3650 #ifndef __cplusplus
3651
3652 /* This is the most reliable way to avoid incompatibilities
3653 in available built-in functions on various systems. */
3654 static void
3655 __yy_memcpy (to, from, count)
3656 char *to;
3657 char *from;
3658 int count;
3659 {
3660 register char *f = from;
3661 register char *t = to;
3662 register int i = count;
3663
3664 while (i-- > 0)
3665 *t++ = *f++;
3666 }
3667
3668 #else /* __cplusplus */
3669
3670 /* This is the most reliable way to avoid incompatibilities
3671 in available built-in functions on various systems. */
3672 static void
3673 __yy_memcpy (char *to, char *from, int count)
3674 {
3675 register char *f = from;
3676 register char *t = to;
3677 register int i = count;
3678
3679 while (i-- > 0)
3680 *t++ = *f++;
3681 }
3682
3683 #endif
3684 #endif
3685 \f
3686 #line 196 "/usr/share/bison.simple"
3687
3688 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3689 into yyparse. The argument should have type void *.
3690 It should actually point to an object.
3691 Grammar actions can access the variable by casting it
3692 to the proper pointer type. */
3693
3694 #ifdef YYPARSE_PARAM
3695 #ifdef __cplusplus
3696 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3697 #define YYPARSE_PARAM_DECL
3698 #else /* not __cplusplus */
3699 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3700 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3701 #endif /* not __cplusplus */
3702 #else /* not YYPARSE_PARAM */
3703 #define YYPARSE_PARAM_ARG
3704 #define YYPARSE_PARAM_DECL
3705 #endif /* not YYPARSE_PARAM */
3706
3707 int
3708 yyparse(YYPARSE_PARAM_ARG)
3709 YYPARSE_PARAM_DECL
3710 {
3711 register int yystate;
3712 register int yyn;
3713 register short *yyssp;
3714 register YYSTYPE *yyvsp;
3715 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3716 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3717
3718 short yyssa[YYINITDEPTH]; /* the state stack */
3719 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3720
3721 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3722 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3723
3724 #ifdef YYLSP_NEEDED
3725 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3726 YYLTYPE *yyls = yylsa;
3727 YYLTYPE *yylsp;
3728
3729 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3730 #else
3731 #define YYPOPSTACK (yyvsp--, yyssp--)
3732 #endif
3733
3734 int yystacksize = YYINITDEPTH;
3735
3736 #ifdef YYPURE
3737 int yychar;
3738 YYSTYPE yylval;
3739 int yynerrs;
3740 #ifdef YYLSP_NEEDED
3741 YYLTYPE yylloc;
3742 #endif
3743 #endif
3744
3745 YYSTYPE yyval; /* the variable used to return */
3746 /* semantic values from the action */
3747 /* routines */
3748
3749 int yylen;
3750
3751 #if YYDEBUG != 0
3752 if (yydebug)
3753 fprintf(stderr, "Starting parse\n");
3754 #endif
3755
3756 yystate = 0;
3757 yyerrstatus = 0;
3758 yynerrs = 0;
3759 yychar = YYEMPTY; /* Cause a token to be read. */
3760
3761 /* Initialize stack pointers.
3762 Waste one element of value and location stack
3763 so that they stay on the same level as the state stack.
3764 The wasted elements are never initialized. */
3765
3766 yyssp = yyss - 1;
3767 yyvsp = yyvs;
3768 #ifdef YYLSP_NEEDED
3769 yylsp = yyls;
3770 #endif
3771
3772 /* Push a new state, which is found in yystate . */
3773 /* In all cases, when you get here, the value and location stacks
3774 have just been pushed. so pushing a state here evens the stacks. */
3775 yynewstate:
3776
3777 *++yyssp = yystate;
3778
3779 if (yyssp >= yyss + yystacksize - 1)
3780 {
3781 /* Give user a chance to reallocate the stack */
3782 /* Use copies of these so that the &'s don't force the real ones into memory. */
3783 YYSTYPE *yyvs1 = yyvs;
3784 short *yyss1 = yyss;
3785 #ifdef YYLSP_NEEDED
3786 YYLTYPE *yyls1 = yyls;
3787 #endif
3788
3789 /* Get the current used size of the three stacks, in elements. */
3790 int size = yyssp - yyss + 1;
3791
3792 #ifdef yyoverflow
3793 /* Each stack pointer address is followed by the size of
3794 the data in use in that stack, in bytes. */
3795 #ifdef YYLSP_NEEDED
3796 /* This used to be a conditional around just the two extra args,
3797 but that might be undefined if yyoverflow is a macro. */
3798 yyoverflow("parser stack overflow",
3799 &yyss1, size * sizeof (*yyssp),
3800 &yyvs1, size * sizeof (*yyvsp),
3801 &yyls1, size * sizeof (*yylsp),
3802 &yystacksize);
3803 #else
3804 yyoverflow("parser stack overflow",
3805 &yyss1, size * sizeof (*yyssp),
3806 &yyvs1, size * sizeof (*yyvsp),
3807 &yystacksize);
3808 #endif
3809
3810 yyss = yyss1; yyvs = yyvs1;
3811 #ifdef YYLSP_NEEDED
3812 yyls = yyls1;
3813 #endif
3814 #else /* no yyoverflow */
3815 /* Extend the stack our own way. */
3816 if (yystacksize >= YYMAXDEPTH)
3817 {
3818 yyerror("parser stack overflow");
3819 return 2;
3820 }
3821 yystacksize *= 2;
3822 if (yystacksize > YYMAXDEPTH)
3823 yystacksize = YYMAXDEPTH;
3824 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3825 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3826 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3827 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3828 #ifdef YYLSP_NEEDED
3829 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3830 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3831 #endif
3832 #endif /* no yyoverflow */
3833
3834 yyssp = yyss + size - 1;
3835 yyvsp = yyvs + size - 1;
3836 #ifdef YYLSP_NEEDED
3837 yylsp = yyls + size - 1;
3838 #endif
3839
3840 #if YYDEBUG != 0
3841 if (yydebug)
3842 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3843 #endif
3844
3845 if (yyssp >= yyss + yystacksize - 1)
3846 YYABORT;
3847 }
3848
3849 #if YYDEBUG != 0
3850 if (yydebug)
3851 fprintf(stderr, "Entering state %d\n", yystate);
3852 #endif
3853
3854 goto yybackup;
3855 yybackup:
3856
3857 /* Do appropriate processing given the current state. */
3858 /* Read a lookahead token if we need one and don't already have one. */
3859 /* yyresume: */
3860
3861 /* First try to decide what to do without reference to lookahead token. */
3862
3863 yyn = yypact[yystate];
3864 if (yyn == YYFLAG)
3865 goto yydefault;
3866
3867 /* Not known => get a lookahead token if don't already have one. */
3868
3869 /* yychar is either YYEMPTY or YYEOF
3870 or a valid token in external form. */
3871
3872 if (yychar == YYEMPTY)
3873 {
3874 #if YYDEBUG != 0
3875 if (yydebug)
3876 fprintf(stderr, "Reading a token: ");
3877 #endif
3878 yychar = YYLEX;
3879 }
3880
3881 /* Convert token to internal form (in yychar1) for indexing tables with */
3882
3883 if (yychar <= 0) /* This means end of input. */
3884 {
3885 yychar1 = 0;
3886 yychar = YYEOF; /* Don't call YYLEX any more */
3887
3888 #if YYDEBUG != 0
3889 if (yydebug)
3890 fprintf(stderr, "Now at end of input.\n");
3891 #endif
3892 }
3893 else
3894 {
3895 yychar1 = YYTRANSLATE(yychar);
3896
3897 #if YYDEBUG != 0
3898 if (yydebug)
3899 {
3900 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3901 /* Give the individual parser a way to print the precise meaning
3902 of a token, for further debugging info. */
3903 #ifdef YYPRINT
3904 YYPRINT (stderr, yychar, yylval);
3905 #endif
3906 fprintf (stderr, ")\n");
3907 }
3908 #endif
3909 }
3910
3911 yyn += yychar1;
3912 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3913 goto yydefault;
3914
3915 yyn = yytable[yyn];
3916
3917 /* yyn is what to do for this token type in this state.
3918 Negative => reduce, -yyn is rule number.
3919 Positive => shift, yyn is new state.
3920 New state is final state => don't bother to shift,
3921 just return success.
3922 0, or most negative number => error. */
3923
3924 if (yyn < 0)
3925 {
3926 if (yyn == YYFLAG)
3927 goto yyerrlab;
3928 yyn = -yyn;
3929 goto yyreduce;
3930 }
3931 else if (yyn == 0)
3932 goto yyerrlab;
3933
3934 if (yyn == YYFINAL)
3935 YYACCEPT;
3936
3937 /* Shift the lookahead token. */
3938
3939 #if YYDEBUG != 0
3940 if (yydebug)
3941 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3942 #endif
3943
3944 /* Discard the token being shifted unless it is eof. */
3945 if (yychar != YYEOF)
3946 yychar = YYEMPTY;
3947
3948 *++yyvsp = yylval;
3949 #ifdef YYLSP_NEEDED
3950 *++yylsp = yylloc;
3951 #endif
3952
3953 /* count tokens shifted since error; after three, turn off error status. */
3954 if (yyerrstatus) yyerrstatus--;
3955
3956 yystate = yyn;
3957 goto yynewstate;
3958
3959 /* Do the default action for the current state. */
3960 yydefault:
3961
3962 yyn = yydefact[yystate];
3963 if (yyn == 0)
3964 goto yyerrlab;
3965
3966 /* Do a reduction. yyn is the number of a rule to reduce with. */
3967 yyreduce:
3968 yylen = yyr2[yyn];
3969 if (yylen > 0)
3970 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3971
3972 #if YYDEBUG != 0
3973 if (yydebug)
3974 {
3975 int i;
3976
3977 fprintf (stderr, "Reducing via rule %d (line %d), ",
3978 yyn, yyrline[yyn]);
3979
3980 /* Print the symbols being reduced, and their result. */
3981 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3982 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3983 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3984 }
3985 #endif
3986
3987
3988 switch (yyn) {
3989
3990 case 2:
3991 #line 313 "parse.y"
3992 {
3993 /* In case there were missing closebraces,
3994 get us back to the global binding level. */
3995 while (! global_bindings_p ())
3996 poplevel (0, 0, 0);
3997 finish_file ();
3998 ;
3999 break;}
4000 case 3:
4001 #line 327 "parse.y"
4002 { yyval.ttype = NULL_TREE; ;
4003 break;}
4004 case 4:
4005 #line 329 "parse.y"
4006 { yyval.ttype = NULL_TREE; ;
4007 break;}
4008 case 5:
4009 #line 331 "parse.y"
4010 { yyval.ttype = NULL_TREE; ;
4011 break;}
4012 case 8:
4013 #line 340 "parse.y"
4014 { have_extern_spec = 1;
4015 used_extern_spec = 0;
4016 yyval.ttype = NULL_TREE; ;
4017 break;}
4018 case 9:
4019 #line 345 "parse.y"
4020 { have_extern_spec = 0; ;
4021 break;}
4022 case 10:
4023 #line 350 "parse.y"
4024 { yyval.itype = pedantic;
4025 pedantic = 0; ;
4026 break;}
4027 case 13:
4028 #line 360 "parse.y"
4029 { if (pending_lang_change) do_pending_lang_change(); ;
4030 break;}
4031 case 14:
4032 #line 362 "parse.y"
4033 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4034 pop_everything (); ;
4035 break;}
4036 case 15:
4037 #line 368 "parse.y"
4038 { if (pending_inlines) do_pending_inlines (); ;
4039 break;}
4040 case 16:
4041 #line 370 "parse.y"
4042 { if (pending_inlines) do_pending_inlines (); ;
4043 break;}
4044 case 17:
4045 #line 372 "parse.y"
4046 { if (pending_inlines) do_pending_inlines (); ;
4047 break;}
4048 case 18:
4049 #line 374 "parse.y"
4050 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4051 assemble_asm (yyvsp[-2].ttype); ;
4052 break;}
4053 case 19:
4054 #line 377 "parse.y"
4055 { pop_lang_context (); ;
4056 break;}
4057 case 20:
4058 #line 379 "parse.y"
4059 { if (pending_inlines) do_pending_inlines ();
4060 pop_lang_context (); ;
4061 break;}
4062 case 21:
4063 #line 382 "parse.y"
4064 { if (pending_inlines) do_pending_inlines ();
4065 pop_lang_context (); ;
4066 break;}
4067 case 22:
4068 #line 385 "parse.y"
4069 { push_namespace (yyvsp[-1].ttype); ;
4070 break;}
4071 case 23:
4072 #line 387 "parse.y"
4073 { pop_namespace (); ;
4074 break;}
4075 case 24:
4076 #line 389 "parse.y"
4077 { push_namespace (NULL_TREE); ;
4078 break;}
4079 case 25:
4080 #line 391 "parse.y"
4081 { pop_namespace (); ;
4082 break;}
4083 case 26:
4084 #line 393 "parse.y"
4085 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4086 break;}
4087 case 27:
4088 #line 395 "parse.y"
4089 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4090 break;}
4091 case 28:
4092 #line 397 "parse.y"
4093 {
4094 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
4095 yyvsp[-1].ttype = lastiddecl;
4096 do_using_directive (yyvsp[-1].ttype);
4097 ;
4098 break;}
4099 case 29:
4100 #line 403 "parse.y"
4101 { pedantic = yyvsp[-1].itype; ;
4102 break;}
4103 case 30:
4104 #line 408 "parse.y"
4105 { yyval.ttype = yyvsp[0].ttype; ;
4106 break;}
4107 case 31:
4108 #line 410 "parse.y"
4109 { yyval.ttype = yyvsp[0].ttype; ;
4110 break;}
4111 case 32:
4112 #line 412 "parse.y"
4113 { yyval.ttype = yyvsp[0].ttype; ;
4114 break;}
4115 case 35:
4116 #line 419 "parse.y"
4117 { yyval.ttype = yyvsp[0].ttype; ;
4118 break;}
4119 case 36:
4120 #line 421 "parse.y"
4121 { yyval.ttype = yyvsp[0].ttype; ;
4122 break;}
4123 case 37:
4124 #line 426 "parse.y"
4125 { push_lang_context (yyvsp[0].ttype); ;
4126 break;}
4127 case 38:
4128 #line 428 "parse.y"
4129 { if (current_lang_name != yyvsp[0].ttype)
4130 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4131 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4132 break;}
4133 case 39:
4134 #line 435 "parse.y"
4135 { begin_template_parm_list (); ;
4136 break;}
4137 case 40:
4138 #line 437 "parse.y"
4139 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4140 break;}
4141 case 41:
4142 #line 439 "parse.y"
4143 { begin_specialization();
4144 yyval.ttype = NULL_TREE; ;
4145 break;}
4146 case 42:
4147 #line 445 "parse.y"
4148 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4149 break;}
4150 case 43:
4151 #line 447 "parse.y"
4152 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4153 break;}
4154 case 44:
4155 #line 452 "parse.y"
4156 {
4157 yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
4158 ttpa:
4159 if (TREE_PURPOSE (yyval.ttype) == signature_type_node)
4160 sorry ("signature as template type parameter");
4161 else if (TREE_PURPOSE (yyval.ttype) != class_type_node)
4162 {
4163 pedwarn ("template type parameters must use the keyword `class'");
4164 TREE_PURPOSE (yyval.ttype) = class_type_node;
4165 }
4166 ;
4167 break;}
4168 case 45:
4169 #line 464 "parse.y"
4170 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); goto ttpa; ;
4171 break;}
4172 case 46:
4173 #line 466 "parse.y"
4174 { yyval.ttype = build_tree_list (class_type_node, NULL_TREE); ;
4175 break;}
4176 case 47:
4177 #line 468 "parse.y"
4178 { yyval.ttype = build_tree_list (class_type_node, yyvsp[0].ttype); ;
4179 break;}
4180 case 48:
4181 #line 480 "parse.y"
4182 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4183 break;}
4184 case 49:
4185 #line 482 "parse.y"
4186 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4187 break;}
4188 case 50:
4189 #line 484 "parse.y"
4190 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4191 break;}
4192 case 51:
4193 #line 486 "parse.y"
4194 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4195 break;}
4196 case 52:
4197 #line 492 "parse.y"
4198 {
4199 if (yyvsp[-1].ttype)
4200 end_template_decl ();
4201 else
4202 end_specialization ();
4203 ;
4204 break;}
4205 case 53:
4206 #line 500 "parse.y"
4207 {
4208 if (yyvsp[-1].ttype)
4209 end_template_decl ();
4210 else
4211 end_specialization ();
4212 ;
4213 break;}
4214 case 54:
4215 #line 510 "parse.y"
4216 {;
4217 break;}
4218 case 55:
4219 #line 512 "parse.y"
4220 {;
4221 break;}
4222 case 56:
4223 #line 514 "parse.y"
4224 {
4225 note_list_got_semicolon (yyvsp[-2].ftype.t);
4226 ;
4227 break;}
4228 case 57:
4229 #line 518 "parse.y"
4230 { pedwarn ("empty declaration"); ;
4231 break;}
4232 case 59:
4233 #line 521 "parse.y"
4234 {
4235 tree t, attrs;
4236 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4237 shadow_tag (t);
4238 note_list_got_semicolon (yyvsp[-1].ftype.t);
4239 ;
4240 break;}
4241 case 63:
4242 #line 534 "parse.y"
4243 { yyval.itype = 0; ;
4244 break;}
4245 case 64:
4246 #line 536 "parse.y"
4247 { yyval.itype = 1; ;
4248 break;}
4249 case 70:
4250 #line 552 "parse.y"
4251 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4252 break;}
4253 case 71:
4254 #line 554 "parse.y"
4255 { ;
4256 break;}
4257 case 72:
4258 #line 556 "parse.y"
4259 { ;
4260 break;}
4261 case 73:
4262 #line 561 "parse.y"
4263 {
4264 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4265 if (yyvsp[-2].ttype != current_class_type)
4266 {
4267 push_nested_class (yyvsp[-2].ttype, 3);
4268 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4269 }
4270 ;
4271 break;}
4272 case 74:
4273 #line 570 "parse.y"
4274 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4275 break;}
4276 case 75:
4277 #line 572 "parse.y"
4278 {
4279 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4280 if (yyvsp[-4].ttype != current_class_type)
4281 {
4282 push_nested_class (yyvsp[-4].ttype, 3);
4283 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4284 }
4285 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4286 ;
4287 break;}
4288 case 76:
4289 #line 582 "parse.y"
4290 {
4291 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4292 if (yyvsp[-2].ttype != current_class_type)
4293 {
4294 push_nested_class (yyvsp[-2].ttype, 3);
4295 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4296 }
4297 ;
4298 break;}
4299 case 77:
4300 #line 591 "parse.y"
4301 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4302 break;}
4303 case 78:
4304 #line 593 "parse.y"
4305 {
4306 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4307 if (yyvsp[-4].ttype != current_class_type)
4308 {
4309 push_nested_class (yyvsp[-4].ttype, 3);
4310 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4311 }
4312 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4313 ;
4314 break;}
4315 case 79:
4316 #line 603 "parse.y"
4317 {
4318 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4319 if (yyvsp[-2].ttype != current_class_type)
4320 {
4321 push_nested_class (yyvsp[-2].ttype, 3);
4322 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4323 }
4324 ;
4325 break;}
4326 case 80:
4327 #line 612 "parse.y"
4328 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4329 break;}
4330 case 81:
4331 #line 614 "parse.y"
4332 {
4333 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4334 if (yyvsp[-4].ttype != current_class_type)
4335 {
4336 push_nested_class (yyvsp[-4].ttype, 3);
4337 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4338 }
4339 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4340 ;
4341 break;}
4342 case 82:
4343 #line 624 "parse.y"
4344 {
4345 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4346 if (yyvsp[-2].ttype != current_class_type)
4347 {
4348 push_nested_class (yyvsp[-2].ttype, 3);
4349 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4350 }
4351 ;
4352 break;}
4353 case 83:
4354 #line 633 "parse.y"
4355 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4356 break;}
4357 case 84:
4358 #line 635 "parse.y"
4359 {
4360 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4361 if (yyvsp[-4].ttype != current_class_type)
4362 {
4363 push_nested_class (yyvsp[-4].ttype, 3);
4364 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4365 }
4366 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4367 ;
4368 break;}
4369 case 85:
4370 #line 648 "parse.y"
4371 { tree specs, attrs;
4372 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4373 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4374 YYERROR1;
4375 reinit_parse_for_function ();
4376 yyval.ttype = NULL_TREE; ;
4377 break;}
4378 case 86:
4379 #line 655 "parse.y"
4380 { tree specs, attrs;
4381 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4382 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4383 YYERROR1;
4384 reinit_parse_for_function ();
4385 yyval.ttype = NULL_TREE; ;
4386 break;}
4387 case 87:
4388 #line 662 "parse.y"
4389 { if (! start_function (NULL_TREE, yyval.ttype, NULL_TREE, 0))
4390 YYERROR1;
4391 reinit_parse_for_function ();
4392 yyval.ttype = NULL_TREE; ;
4393 break;}
4394 case 88:
4395 #line 667 "parse.y"
4396 { tree specs, attrs;
4397 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4398 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4399 YYERROR1;
4400 reinit_parse_for_function ();
4401 yyval.ttype = NULL_TREE; ;
4402 break;}
4403 case 89:
4404 #line 674 "parse.y"
4405 { if (! start_function (NULL_TREE, yyval.ttype, NULL_TREE, 0))
4406 YYERROR1;
4407 reinit_parse_for_function ();
4408 yyval.ttype = NULL_TREE; ;
4409 break;}
4410 case 90:
4411 #line 682 "parse.y"
4412 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4413 break;}
4414 case 91:
4415 #line 684 "parse.y"
4416 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4417 break;}
4418 case 92:
4419 #line 686 "parse.y"
4420 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4421 break;}
4422 case 93:
4423 #line 688 "parse.y"
4424 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4425 break;}
4426 case 94:
4427 #line 695 "parse.y"
4428 { tree specs = strip_attrs (yyvsp[-1].ttype);
4429 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4430 rest_of_mdef:
4431 if (! yyval.ttype)
4432 YYERROR1;
4433 if (yychar == YYEMPTY)
4434 yychar = YYLEX;
4435 reinit_parse_for_method (yychar, yyval.ttype); ;
4436 break;}
4437 case 95:
4438 #line 704 "parse.y"
4439 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4440 break;}
4441 case 96:
4442 #line 706 "parse.y"
4443 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4444 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4445 break;}
4446 case 97:
4447 #line 709 "parse.y"
4448 { tree specs = strip_attrs (yyvsp[-1].ttype);
4449 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4450 break;}
4451 case 98:
4452 #line 712 "parse.y"
4453 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4454 break;}
4455 case 99:
4456 #line 714 "parse.y"
4457 { tree specs = strip_attrs (yyvsp[-1].ttype);
4458 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4459 break;}
4460 case 100:
4461 #line 717 "parse.y"
4462 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4463 break;}
4464 case 101:
4465 #line 719 "parse.y"
4466 {
4467 if (yyvsp[-1].ttype)
4468 end_template_decl ();
4469 else
4470 end_specialization ();
4471
4472 if (yyvsp[0].ttype && DECL_TEMPLATE_INFO (yyvsp[0].ttype)
4473 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp[0].ttype))
4474 {
4475 yyval.ttype = DECL_TI_TEMPLATE (yyvsp[0].ttype);
4476 check_member_template (yyval.ttype);
4477 }
4478 else if (yyvsp[0].ttype)
4479 yyval.ttype = yyvsp[0].ttype;
4480 else
4481 {
4482 cp_error("invalid member template declaration");
4483 yyval.ttype = NULL_TREE;
4484 }
4485 ;
4486 break;}
4487 case 102:
4488 #line 743 "parse.y"
4489 {
4490 if (! current_function_parms_stored)
4491 store_parm_decls ();
4492 yyval.ttype = yyvsp[0].ttype;
4493 ;
4494 break;}
4495 case 103:
4496 #line 752 "parse.y"
4497 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4498 break;}
4499 case 104:
4500 #line 754 "parse.y"
4501 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4502 break;}
4503 case 105:
4504 #line 756 "parse.y"
4505 { store_return_init (yyval.ttype, NULL_TREE); ;
4506 break;}
4507 case 106:
4508 #line 761 "parse.y"
4509 {
4510 if (yyvsp[0].itype == 0)
4511 error ("no base initializers given following ':'");
4512 setup_vtbl_ptr ();
4513 /* Always keep the BLOCK node associated with the outermost
4514 pair of curley braces of a function. These are needed
4515 for correct operation of dwarfout.c. */
4516 keep_next_level ();
4517 ;
4518 break;}
4519 case 107:
4520 #line 774 "parse.y"
4521 {
4522 if (! current_function_parms_stored)
4523 store_parm_decls ();
4524
4525 if (DECL_CONSTRUCTOR_P (current_function_decl))
4526 {
4527 /* Make a contour for the initializer list. */
4528 pushlevel (0);
4529 clear_last_expr ();
4530 expand_start_bindings (0);
4531 }
4532 else if (current_class_type == NULL_TREE)
4533 error ("base initializers not allowed for non-member functions");
4534 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4535 error ("only constructors take base initializers");
4536 ;
4537 break;}
4538 case 108:
4539 #line 794 "parse.y"
4540 { yyval.itype = 0; ;
4541 break;}
4542 case 109:
4543 #line 796 "parse.y"
4544 { yyval.itype = 1; ;
4545 break;}
4546 case 112:
4547 #line 803 "parse.y"
4548 {
4549 if (current_class_name)
4550 pedwarn ("anachronistic old style base class initializer");
4551 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4552 ;
4553 break;}
4554 case 113:
4555 #line 809 "parse.y"
4556 {
4557 if (current_class_name)
4558 pedwarn ("anachronistic old style base class initializer");
4559 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4560 ;
4561 break;}
4562 case 114:
4563 #line 815 "parse.y"
4564 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4565 break;}
4566 case 115:
4567 #line 817 "parse.y"
4568 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4569 break;}
4570 case 116:
4571 #line 819 "parse.y"
4572 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4573 break;}
4574 case 117:
4575 #line 821 "parse.y"
4576 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4577 break;}
4578 case 118:
4579 #line 823 "parse.y"
4580 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4581 yyvsp[-1].ttype); ;
4582 break;}
4583 case 119:
4584 #line 826 "parse.y"
4585 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4586 void_type_node); ;
4587 break;}
4588 case 131:
4589 #line 852 "parse.y"
4590 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4591 yyungetc (';', 1); ;
4592 break;}
4593 case 132:
4594 #line 855 "parse.y"
4595 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4596 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4597 break;}
4598 case 133:
4599 #line 858 "parse.y"
4600 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4601 break;}
4602 case 134:
4603 #line 860 "parse.y"
4604 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4605 break;}
4606 case 135:
4607 #line 862 "parse.y"
4608 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-3].ttype);
4609 yyungetc (';', 1); ;
4610 break;}
4611 case 136:
4612 #line 865 "parse.y"
4613 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4614 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4615 break;}
4616 case 137:
4617 #line 868 "parse.y"
4618 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
4619 break;}
4620 case 138:
4621 #line 870 "parse.y"
4622 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
4623 break;}
4624 case 139:
4625 #line 879 "parse.y"
4626 {
4627 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4628 if (yyval.ttype != error_mark_node)
4629 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4630 ;
4631 break;}
4632 case 140:
4633 #line 885 "parse.y"
4634 {
4635 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4636 if (yyval.ttype != error_mark_node)
4637 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4638 ;
4639 break;}
4640 case 141:
4641 #line 891 "parse.y"
4642 {
4643 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4644 if (yyval.ttype != error_mark_node)
4645 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4646 ;
4647 break;}
4648 case 142:
4649 #line 897 "parse.y"
4650 {
4651 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4652 if (yyval.ttype != error_mark_node)
4653 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4654 ;
4655 break;}
4656 case 144:
4657 #line 907 "parse.y"
4658 {
4659 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4660 if (yyval.ttype != error_mark_node)
4661 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4662 ;
4663 break;}
4664 case 145:
4665 #line 913 "parse.y"
4666 {
4667 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4668 if (yyval.ttype != error_mark_node)
4669 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4670 ;
4671 break;}
4672 case 147:
4673 #line 923 "parse.y"
4674 {
4675 /* Handle `Class<Class<Type>>' without space in the `>>' */
4676 pedwarn ("`>>' should be `> >' in template class name");
4677 yyungetc ('>', 1);
4678 ;
4679 break;}
4680 case 148:
4681 #line 932 "parse.y"
4682 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4683 break;}
4684 case 149:
4685 #line 934 "parse.y"
4686 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4687 break;}
4688 case 150:
4689 #line 939 "parse.y"
4690 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4691 break;}
4692 case 152:
4693 #line 945 "parse.y"
4694 { yyval.code = NEGATE_EXPR; ;
4695 break;}
4696 case 153:
4697 #line 947 "parse.y"
4698 { yyval.code = CONVERT_EXPR; ;
4699 break;}
4700 case 154:
4701 #line 949 "parse.y"
4702 { yyval.code = PREINCREMENT_EXPR; ;
4703 break;}
4704 case 155:
4705 #line 951 "parse.y"
4706 { yyval.code = PREDECREMENT_EXPR; ;
4707 break;}
4708 case 156:
4709 #line 953 "parse.y"
4710 { yyval.code = TRUTH_NOT_EXPR; ;
4711 break;}
4712 case 157:
4713 #line 958 "parse.y"
4714 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4715 break;}
4716 case 159:
4717 #line 964 "parse.y"
4718 { error ("ANSI C++ forbids an empty condition for `%s'",
4719 cond_stmt_keyword);
4720 yyval.ttype = integer_zero_node; ;
4721 break;}
4722 case 160:
4723 #line 968 "parse.y"
4724 { yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
4725 break;}
4726 case 161:
4727 #line 973 "parse.y"
4728 { error ("ANSI C++ forbids an empty condition for `%s'",
4729 cond_stmt_keyword);
4730 yyval.ttype = integer_zero_node; ;
4731 break;}
4732 case 162:
4733 #line 977 "parse.y"
4734 { yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
4735 break;}
4736 case 163:
4737 #line 982 "parse.y"
4738 { yyval.ttype = NULL_TREE; ;
4739 break;}
4740 case 164:
4741 #line 984 "parse.y"
4742 { yyval.ttype = condition_conversion (yyval.ttype); ;
4743 break;}
4744 case 165:
4745 #line 986 "parse.y"
4746 { yyval.ttype = NULL_TREE; ;
4747 break;}
4748 case 166:
4749 #line 991 "parse.y"
4750 { {
4751 tree d;
4752 for (d = getdecls (); d; d = TREE_CHAIN (d))
4753 if (TREE_CODE (d) == TYPE_DECL) {
4754 tree s = TREE_TYPE (d);
4755 if (TREE_CODE (s) == RECORD_TYPE)
4756 cp_error ("definition of class `%T' in condition", s);
4757 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4758 cp_error ("definition of enum `%T' in condition", s);
4759 }
4760 }
4761 current_declspecs = yyvsp[-4].ftype.t;
4762 yyvsp[0].itype = suspend_momentary ();
4763 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
4764 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype,
4765 /*prefix_attributes*/ NULL_TREE);
4766 ;
4767 break;}
4768 case 167:
4769 #line 1009 "parse.y"
4770 {
4771 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4772 resume_momentary (yyvsp[-2].itype);
4773 yyval.ttype = yyvsp[-1].ttype;
4774 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4775 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4776 ;
4777 break;}
4778 case 173:
4779 #line 1028 "parse.y"
4780 {
4781 if (processing_template_decl)
4782 {
4783 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
4784 COMPOUND_STMT_NO_SCOPE (yyval.ttype) = 1;
4785 add_tree (yyval.ttype);
4786 }
4787 ;
4788 break;}
4789 case 174:
4790 #line 1037 "parse.y"
4791 {
4792 if (processing_template_decl)
4793 {
4794 TREE_OPERAND (yyvsp[-1].ttype, 0) = TREE_CHAIN (yyvsp[-1].ttype);
4795 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
4796 last_tree = yyvsp[-1].ttype;
4797 }
4798 finish_stmt ();
4799 ;
4800 break;}
4801 case 176:
4802 #line 1052 "parse.y"
4803 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4804 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4805 break;}
4806 case 177:
4807 #line 1055 "parse.y"
4808 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4809 build_expr_list (NULL_TREE, error_mark_node)); ;
4810 break;}
4811 case 178:
4812 #line 1058 "parse.y"
4813 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4814 break;}
4815 case 179:
4816 #line 1060 "parse.y"
4817 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4818 break;}
4819 case 180:
4820 #line 1065 "parse.y"
4821 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4822 break;}
4823 case 182:
4824 #line 1071 "parse.y"
4825 { yyval.ttype = yyvsp[0].ttype; ;
4826 break;}
4827 case 183:
4828 #line 1074 "parse.y"
4829 { yyval.ttype = yyvsp[0].ttype;
4830 pedantic = yyvsp[-1].itype; ;
4831 break;}
4832 case 184:
4833 #line 1077 "parse.y"
4834 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4835 break;}
4836 case 185:
4837 #line 1079 "parse.y"
4838 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4839 break;}
4840 case 186:
4841 #line 1081 "parse.y"
4842 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4843 break;}
4844 case 187:
4845 #line 1083 "parse.y"
4846 { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4847 if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4848 TREE_NEGATED_INT (yyval.ttype) = 1;
4849 overflow_warning (yyval.ttype);
4850 ;
4851 break;}
4852 case 188:
4853 #line 1090 "parse.y"
4854 { tree label = lookup_label (yyvsp[0].ttype);
4855 if (pedantic)
4856 pedwarn ("ANSI C++ forbids `&&'");
4857 if (label == NULL_TREE)
4858 yyval.ttype = null_pointer_node;
4859 else
4860 {
4861 TREE_USED (label) = 1;
4862 yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
4863 TREE_CONSTANT (yyval.ttype) = 1;
4864 }
4865 ;
4866 break;}
4867 case 189:
4868 #line 1103 "parse.y"
4869 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4870 break;}
4871 case 190:
4872 #line 1105 "parse.y"
4873 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4874 break;}
4875 case 191:
4876 #line 1107 "parse.y"
4877 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4878 break;}
4879 case 192:
4880 #line 1109 "parse.y"
4881 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4882 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4883 break;}
4884 case 193:
4885 #line 1115 "parse.y"
4886 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4887 check_for_new_type ("new", yyvsp[0].ftype); ;
4888 break;}
4889 case 194:
4890 #line 1118 "parse.y"
4891 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4892 check_for_new_type ("new", yyvsp[-1].ftype); ;
4893 break;}
4894 case 195:
4895 #line 1121 "parse.y"
4896 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4897 check_for_new_type ("new", yyvsp[0].ftype); ;
4898 break;}
4899 case 196:
4900 #line 1124 "parse.y"
4901 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4902 check_for_new_type ("new", yyvsp[-1].ftype); ;
4903 break;}
4904 case 197:
4905 #line 1127 "parse.y"
4906 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4907 NULL_TREE, yyvsp[-3].itype);
4908 check_for_new_type ("new", yyvsp[-1].ftype); ;
4909 break;}
4910 case 198:
4911 #line 1131 "parse.y"
4912 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4913 check_for_new_type ("new", yyvsp[-2].ftype); ;
4914 break;}
4915 case 199:
4916 #line 1134 "parse.y"
4917 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4918 check_for_new_type ("new", yyvsp[-1].ftype); ;
4919 break;}
4920 case 200:
4921 #line 1137 "parse.y"
4922 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4923 check_for_new_type ("new", yyvsp[-2].ftype); ;
4924 break;}
4925 case 201:
4926 #line 1141 "parse.y"
4927 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4928 break;}
4929 case 202:
4930 #line 1143 "parse.y"
4931 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4932 if (yychar == YYEMPTY)
4933 yychar = YYLEX; ;
4934 break;}
4935 case 203:
4936 #line 1147 "parse.y"
4937 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4938 if (yychar == YYEMPTY)
4939 yychar = YYLEX; ;
4940 break;}
4941 case 204:
4942 #line 1151 "parse.y"
4943 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4944 break;}
4945 case 205:
4946 #line 1153 "parse.y"
4947 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4948 break;}
4949 case 206:
4950 #line 1158 "parse.y"
4951 { yyval.ttype = yyvsp[-1].ttype; ;
4952 break;}
4953 case 207:
4954 #line 1160 "parse.y"
4955 {
4956 yyval.ttype = yyvsp[-1].ttype;
4957 pedwarn ("old style placement syntax, use () instead");
4958 ;
4959 break;}
4960 case 208:
4961 #line 1168 "parse.y"
4962 { yyval.ttype = yyvsp[-1].ttype; ;
4963 break;}
4964 case 209:
4965 #line 1170 "parse.y"
4966 { yyval.ttype = NULL_TREE; ;
4967 break;}
4968 case 210:
4969 #line 1172 "parse.y"
4970 {
4971 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4972 yyval.ttype = error_mark_node;
4973 ;
4974 break;}
4975 case 211:
4976 #line 1180 "parse.y"
4977 {
4978 if (pedantic)
4979 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4980 yyval.ttype = yyvsp[0].ttype;
4981 ;
4982 break;}
4983 case 212:
4984 #line 1190 "parse.y"
4985 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4986 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4987 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4988 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4989 break;}
4990 case 213:
4991 #line 1195 "parse.y"
4992 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4993 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4994 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4995 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4996 break;}
4997 case 215:
4998 #line 1204 "parse.y"
4999 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5000 break;}
5001 case 216:
5002 #line 1206 "parse.y"
5003 {
5004 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5005 nreverse (yyvsp[-2].ttype));
5006 if (pedantic)
5007 pedwarn ("ANSI C++ forbids constructor-expressions");
5008 /* Indicate that this was a GNU C constructor expression. */
5009 TREE_HAS_CONSTRUCTOR (init) = 1;
5010
5011 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5012 ;
5013 break;}
5014 case 218:
5015 #line 1222 "parse.y"
5016 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5017 break;}
5018 case 219:
5019 #line 1224 "parse.y"
5020 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5021 break;}
5022 case 220:
5023 #line 1226 "parse.y"
5024 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5025 break;}
5026 case 221:
5027 #line 1228 "parse.y"
5028 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5029 break;}
5030 case 222:
5031 #line 1230 "parse.y"
5032 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5033 break;}
5034 case 223:
5035 #line 1232 "parse.y"
5036 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5037 break;}
5038 case 224:
5039 #line 1234 "parse.y"
5040 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5041 break;}
5042 case 225:
5043 #line 1236 "parse.y"
5044 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5045 break;}
5046 case 226:
5047 #line 1238 "parse.y"
5048 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5049 break;}
5050 case 227:
5051 #line 1240 "parse.y"
5052 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5053 break;}
5054 case 228:
5055 #line 1242 "parse.y"
5056 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5057 break;}
5058 case 229:
5059 #line 1244 "parse.y"
5060 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5061 break;}
5062 case 230:
5063 #line 1246 "parse.y"
5064 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5065 break;}
5066 case 231:
5067 #line 1248 "parse.y"
5068 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5069 break;}
5070 case 232:
5071 #line 1250 "parse.y"
5072 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5073 break;}
5074 case 233:
5075 #line 1252 "parse.y"
5076 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5077 break;}
5078 case 234:
5079 #line 1254 "parse.y"
5080 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5081 break;}
5082 case 235:
5083 #line 1256 "parse.y"
5084 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5085 break;}
5086 case 236:
5087 #line 1258 "parse.y"
5088 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5089 break;}
5090 case 237:
5091 #line 1260 "parse.y"
5092 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5093 break;}
5094 case 238:
5095 #line 1262 "parse.y"
5096 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5097 if (yyval.ttype != error_mark_node)
5098 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5099 break;}
5100 case 239:
5101 #line 1266 "parse.y"
5102 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5103 break;}
5104 case 240:
5105 #line 1268 "parse.y"
5106 { yyval.ttype = build_throw (NULL_TREE); ;
5107 break;}
5108 case 241:
5109 #line 1270 "parse.y"
5110 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5111 break;}
5112 case 242:
5113 #line 1288 "parse.y"
5114 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5115 break;}
5116 case 248:
5117 #line 1297 "parse.y"
5118 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
5119 break;}
5120 case 249:
5121 #line 1301 "parse.y"
5122 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5123 break;}
5124 case 250:
5125 #line 1303 "parse.y"
5126 { yyval.ttype = lookup_template_function (yyvsp[-1].ttype, NULL_TREE); ;
5127 break;}
5128 case 251:
5129 #line 1305 "parse.y"
5130 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5131 break;}
5132 case 252:
5133 #line 1307 "parse.y"
5134 { yyval.ttype = lookup_template_function (yyvsp[-1].ttype, NULL_TREE); ;
5135 break;}
5136 case 253:
5137 #line 1312 "parse.y"
5138 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5139 break;}
5140 case 254:
5141 #line 1314 "parse.y"
5142 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5143 break;}
5144 case 255:
5145 #line 1316 "parse.y"
5146 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5147 break;}
5148 case 260:
5149 #line 1328 "parse.y"
5150 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5151 break;}
5152 case 261:
5153 #line 1330 "parse.y"
5154 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5155 break;}
5156 case 262:
5157 #line 1332 "parse.y"
5158 { yyval.ttype = yyvsp[-1].ttype; ;
5159 break;}
5160 case 263:
5161 #line 1337 "parse.y"
5162 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5163 break;}
5164 case 264:
5165 #line 1339 "parse.y"
5166 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5167 break;}
5168 case 268:
5169 #line 1347 "parse.y"
5170 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5171 break;}
5172 case 269:
5173 #line 1352 "parse.y"
5174 {
5175 if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
5176 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
5177 else if (TREE_CODE (yyval.ttype) != TEMPLATE_ID_EXPR)
5178 yyval.ttype = do_identifier (yyval.ttype, 1);
5179 ;
5180 break;}
5181 case 272:
5182 #line 1361 "parse.y"
5183 {
5184 if (processing_template_decl)
5185 push_obstacks (&permanent_obstack, &permanent_obstack);
5186 yyval.ttype = combine_strings (yyval.ttype);
5187 if (processing_template_decl)
5188 pop_obstacks ();
5189 ;
5190 break;}
5191 case 273:
5192 #line 1369 "parse.y"
5193 { char class;
5194 yyval.ttype = yyvsp[-1].ttype;
5195 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
5196 if (class == 'e' || class == '1'
5197 || class == '2' || class == '<')
5198 /* This inhibits warnings in truthvalue_conversion. */
5199 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
5200 break;}
5201 case 274:
5202 #line 1377 "parse.y"
5203 { char class;
5204 yyval.ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5205 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
5206 if (class == 'e' || class == '1'
5207 || class == '2' || class == '<')
5208 /* This inhibits warnings in truthvalue_conversion. */
5209 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
5210 break;}
5211 case 275:
5212 #line 1385 "parse.y"
5213 { yyval.ttype = error_mark_node; ;
5214 break;}
5215 case 276:
5216 #line 1387 "parse.y"
5217 { if (current_function_decl == 0)
5218 {
5219 error ("braced-group within expression allowed only inside a function");
5220 YYERROR;
5221 }
5222 keep_next_level ();
5223 yyval.ttype = expand_start_stmt_expr (); ;
5224 break;}
5225 case 277:
5226 #line 1395 "parse.y"
5227 { tree rtl_exp;
5228 if (pedantic)
5229 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5230 rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
5231 /* The statements have side effects, so the group does. */
5232 TREE_SIDE_EFFECTS (rtl_exp) = 1;
5233
5234 if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
5235 {
5236 /* Make a BIND_EXPR for the BLOCK already made. */
5237 yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
5238 NULL_TREE, rtl_exp, yyvsp[-1].ttype);
5239 /* Remove the block from the tree at this point.
5240 It gets put back at the proper place
5241 when the BIND_EXPR is expanded. */
5242 delete_block (yyvsp[-1].ttype);
5243 }
5244 else
5245 yyval.ttype = yyvsp[-1].ttype;
5246 ;
5247 break;}
5248 case 278:
5249 #line 1416 "parse.y"
5250 {
5251 yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_ref);
5252 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5253 && TREE_TYPE (yyval.ttype) != void_type_node)
5254 yyval.ttype = require_complete_type (yyval.ttype);
5255 ;
5256 break;}
5257 case 279:
5258 #line 1423 "parse.y"
5259 {
5260 yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_ref);
5261 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5262 && TREE_TYPE (yyval.ttype) != void_type_node)
5263 yyval.ttype = require_complete_type (yyval.ttype);
5264 ;
5265 break;}
5266 case 280:
5267 #line 1430 "parse.y"
5268 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5269 break;}
5270 case 281:
5271 #line 1432 "parse.y"
5272 { /* If we get an OFFSET_REF, turn it into what it really
5273 means (e.g., a COMPONENT_REF). This way if we've got,
5274 say, a reference to a static member that's being operated
5275 on, we don't end up trying to find a member operator for
5276 the class it's in. */
5277 if (TREE_CODE (yyval.ttype) == OFFSET_REF)
5278 yyval.ttype = resolve_offset_ref (yyval.ttype);
5279 yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
5280 break;}
5281 case 282:
5282 #line 1441 "parse.y"
5283 { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
5284 yyval.ttype = resolve_offset_ref (yyval.ttype);
5285 yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
5286 break;}
5287 case 283:
5288 #line 1446 "parse.y"
5289 { if (current_class_ptr)
5290 {
5291 #ifdef WARNING_ABOUT_CCD
5292 TREE_USED (current_class_ptr) = 1;
5293 #endif
5294 yyval.ttype = current_class_ptr;
5295 }
5296 else if (current_function_decl
5297 && DECL_STATIC_FUNCTION_P (current_function_decl))
5298 {
5299 error ("`this' is unavailable for static member functions");
5300 yyval.ttype = error_mark_node;
5301 }
5302 else
5303 {
5304 if (current_function_decl)
5305 error ("invalid use of `this' in non-member function");
5306 else
5307 error ("invalid use of `this' at top level");
5308 yyval.ttype = error_mark_node;
5309 }
5310 ;
5311 break;}
5312 case 284:
5313 #line 1469 "parse.y"
5314 {
5315 tree type;
5316 tree id = yyval.ttype;
5317
5318 /* This is a C cast in C++'s `functional' notation. */
5319 if (yyvsp[-1].ttype == error_mark_node)
5320 {
5321 yyval.ttype = error_mark_node;
5322 break;
5323 }
5324 #if 0
5325 if (yyvsp[-1].ttype == NULL_TREE)
5326 {
5327 error ("cannot cast null list to type `%s'",
5328 IDENTIFIER_POINTER (TYPE_NAME (id)));
5329 yyval.ttype = error_mark_node;
5330 break;
5331 }
5332 #endif
5333 #if 0
5334 /* type is not set! (mrs) */
5335 if (type == error_mark_node)
5336 yyval.ttype = error_mark_node;
5337 else
5338 #endif
5339 {
5340 if (id == ridpointers[(int) RID_CONST])
5341 type = build_type_variant (integer_type_node, 1, 0);
5342 else if (id == ridpointers[(int) RID_VOLATILE])
5343 type = build_type_variant (integer_type_node, 0, 1);
5344 #if 0
5345 /* should not be able to get here (mrs) */
5346 else if (id == ridpointers[(int) RID_FRIEND])
5347 {
5348 error ("cannot cast expression to `friend' type");
5349 yyval.ttype = error_mark_node;
5350 break;
5351 }
5352 #endif
5353 else my_friendly_abort (79);
5354 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5355 }
5356 ;
5357 break;}
5358 case 286:
5359 #line 1514 "parse.y"
5360 { tree type = groktypename (yyvsp[-4].ftype.t);
5361 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5362 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5363 break;}
5364 case 287:
5365 #line 1518 "parse.y"
5366 { tree type = groktypename (yyvsp[-4].ftype.t);
5367 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5368 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5369 break;}
5370 case 288:
5371 #line 1522 "parse.y"
5372 { tree type = groktypename (yyvsp[-4].ftype.t);
5373 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5374 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5375 break;}
5376 case 289:
5377 #line 1526 "parse.y"
5378 { tree type = groktypename (yyvsp[-4].ftype.t);
5379 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5380 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5381 break;}
5382 case 290:
5383 #line 1530 "parse.y"
5384 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5385 break;}
5386 case 291:
5387 #line 1532 "parse.y"
5388 { tree type = groktypename (yyvsp[-1].ftype.t);
5389 check_for_new_type ("typeid", yyvsp[-1].ftype);
5390 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5391 break;}
5392 case 292:
5393 #line 1536 "parse.y"
5394 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5395 break;}
5396 case 293:
5397 #line 1538 "parse.y"
5398 {
5399 got_scope = NULL_TREE;
5400 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5401 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5402 else
5403 yyval.ttype = yyvsp[0].ttype;
5404 ;
5405 break;}
5406 case 294:
5407 #line 1546 "parse.y"
5408 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5409 break;}
5410 case 295:
5411 #line 1548 "parse.y"
5412 { if (processing_template_decl)
5413 yyval.ttype = build_min_nt (CALL_EXPR, copy_to_permanent (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE);
5414 else
5415 yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
5416 break;}
5417 case 296:
5418 #line 1553 "parse.y"
5419 { if (processing_template_decl)
5420 yyval.ttype = build_min_nt (CALL_EXPR, copy_to_permanent (yyvsp[-1].ttype),
5421 NULL_TREE, NULL_TREE);
5422 else
5423 yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
5424 break;}
5425 case 297:
5426 #line 1559 "parse.y"
5427 {
5428 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5429 ;
5430 break;}
5431 case 298:
5432 #line 1563 "parse.y"
5433 {
5434 yyval.ttype = build_method_call (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype,
5435 NULL_TREE, LOOKUP_NORMAL);
5436 ;
5437 break;}
5438 case 299:
5439 #line 1568 "parse.y"
5440 {
5441 yyval.ttype = build_method_call (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE,
5442 NULL_TREE, LOOKUP_NORMAL);
5443 ;
5444 break;}
5445 case 300:
5446 #line 1573 "parse.y"
5447 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5448 break;}
5449 case 301:
5450 #line 1575 "parse.y"
5451 { if (processing_template_decl)
5452 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5453 else
5454 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5455 break;}
5456 case 302:
5457 #line 1580 "parse.y"
5458 {
5459 #if 0
5460 /* This is a future direction of this code, but because
5461 build_x_function_call cannot always undo what is done
5462 in build_component_ref entirely yet, we cannot do this. */
5463 yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, current_class_ref);
5464 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5465 && TREE_TYPE (yyval.ttype) != void_type_node)
5466 yyval.ttype = require_complete_type (yyval.ttype);
5467 #else
5468 yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
5469 LOOKUP_NORMAL);
5470 #endif
5471 ;
5472 break;}
5473 case 303:
5474 #line 1595 "parse.y"
5475 {
5476 #if 0
5477 /* This is a future direction of this code, but because
5478 build_x_function_call cannot always undo what is done
5479 in build_component_ref entirely yet, we cannot do this. */
5480 yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, current_class_ref);
5481 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5482 && TREE_TYPE (yyval.ttype) != void_type_node)
5483 yyval.ttype = require_complete_type (yyval.ttype);
5484 #else
5485 yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
5486 LOOKUP_NORMAL);
5487 #endif
5488 ;
5489 break;}
5490 case 304:
5491 #line 1610 "parse.y"
5492 {
5493 if (IS_SIGNATURE (OP0 (yyvsp[-3].ttype)))
5494 {
5495 warning ("signature name in scope resolution ignored");
5496 yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE,
5497 LOOKUP_NORMAL);
5498 }
5499 else
5500 yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
5501 ;
5502 break;}
5503 case 305:
5504 #line 1621 "parse.y"
5505 {
5506 if (IS_SIGNATURE (OP0 (yyvsp[-1].ttype)))
5507 {
5508 warning ("signature name in scope resolution ignored");
5509 yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-1].ttype), NULL_TREE, NULL_TREE,
5510 LOOKUP_NORMAL);
5511 }
5512 else
5513 yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
5514 ;
5515 break;}
5516 case 306:
5517 #line 1633 "parse.y"
5518 {
5519 if (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)
5520 && (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype))
5521 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)))))
5522 cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
5523 yyval.ttype = cp_convert (void_type_node, yyvsp[-3].ttype);
5524 ;
5525 break;}
5526 case 307:
5527 #line 1641 "parse.y"
5528 {
5529 if (yyvsp[-4].ttype != yyvsp[-1].ttype)
5530 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
5531 if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
5532 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
5533 cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
5534 yyval.ttype = cp_convert (void_type_node, yyvsp[-5].ttype);
5535 ;
5536 break;}
5537 case 308:
5538 #line 1650 "parse.y"
5539 {
5540 yyval.ttype = error_mark_node;
5541 ;
5542 break;}
5543 case 309:
5544 #line 1695 "parse.y"
5545 { yyval.itype = 0; ;
5546 break;}
5547 case 310:
5548 #line 1697 "parse.y"
5549 { got_scope = NULL_TREE; yyval.itype = 1; ;
5550 break;}
5551 case 311:
5552 #line 1702 "parse.y"
5553 { yyval.itype = 0; ;
5554 break;}
5555 case 312:
5556 #line 1704 "parse.y"
5557 { got_scope = NULL_TREE; yyval.itype = 1; ;
5558 break;}
5559 case 313:
5560 #line 1709 "parse.y"
5561 { yyval.ttype = boolean_true_node; ;
5562 break;}
5563 case 314:
5564 #line 1711 "parse.y"
5565 { yyval.ttype = boolean_false_node; ;
5566 break;}
5567 case 316:
5568 #line 1718 "parse.y"
5569 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5570 break;}
5571 case 317:
5572 #line 1723 "parse.y"
5573 {
5574 if (! current_function_parms_stored)
5575 store_parm_decls ();
5576 setup_vtbl_ptr ();
5577 /* Always keep the BLOCK node associated with the outermost
5578 pair of curley braces of a function. These are needed
5579 for correct operation of dwarfout.c. */
5580 keep_next_level ();
5581 ;
5582 break;}
5583 case 318:
5584 #line 1736 "parse.y"
5585 { got_object = TREE_TYPE (yyval.ttype); ;
5586 break;}
5587 case 319:
5588 #line 1738 "parse.y"
5589 {
5590 yyval.ttype = build_x_arrow (yyval.ttype);
5591 got_object = TREE_TYPE (yyval.ttype);
5592 ;
5593 break;}
5594 case 320:
5595 #line 1746 "parse.y"
5596 {
5597 resume_momentary (yyvsp[-1].itype);
5598 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5599 note_got_semicolon (yyvsp[-2].ftype.t);
5600 ;
5601 break;}
5602 case 321:
5603 #line 1752 "parse.y"
5604 {
5605 resume_momentary (yyvsp[-1].itype);
5606 note_list_got_semicolon (yyvsp[-2].ftype.t);
5607 ;
5608 break;}
5609 case 322:
5610 #line 1757 "parse.y"
5611 { resume_momentary (yyvsp[-1].itype); ;
5612 break;}
5613 case 323:
5614 #line 1759 "parse.y"
5615 {
5616 shadow_tag (yyvsp[-1].ftype.t);
5617 note_list_got_semicolon (yyvsp[-1].ftype.t);
5618 ;
5619 break;}
5620 case 324:
5621 #line 1764 "parse.y"
5622 { warning ("empty declaration"); ;
5623 break;}
5624 case 325:
5625 #line 1766 "parse.y"
5626 { pedantic = yyvsp[-1].itype; ;
5627 break;}
5628 case 328:
5629 #line 1780 "parse.y"
5630 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5631 NULL_TREE, NULL_TREE); ;
5632 break;}
5633 case 329:
5634 #line 1783 "parse.y"
5635 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5636 NULL_TREE); ;
5637 break;}
5638 case 330:
5639 #line 1790 "parse.y"
5640 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5641 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5642 break;}
5643 case 331:
5644 #line 1793 "parse.y"
5645 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5646 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5647 break;}
5648 case 332:
5649 #line 1796 "parse.y"
5650 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5651 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5652 break;}
5653 case 333:
5654 #line 1799 "parse.y"
5655 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5656 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5657 break;}
5658 case 334:
5659 #line 1802 "parse.y"
5660 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5661 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5662 break;}
5663 case 337:
5664 #line 1818 "parse.y"
5665 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5666 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5667 break;}
5668 case 338:
5669 #line 1821 "parse.y"
5670 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5671 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5672 break;}
5673 case 339:
5674 #line 1824 "parse.y"
5675 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5676 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5677 break;}
5678 case 340:
5679 #line 1827 "parse.y"
5680 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5681 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5682 break;}
5683 case 341:
5684 #line 1830 "parse.y"
5685 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5686 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5687 break;}
5688 case 342:
5689 #line 1833 "parse.y"
5690 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5691 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5692 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5693 break;}
5694 case 343:
5695 #line 1840 "parse.y"
5696 { if (extra_warnings)
5697 warning ("`%s' is not at beginning of declaration",
5698 IDENTIFIER_POINTER (yyval.ttype));
5699 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5700 break;}
5701 case 344:
5702 #line 1845 "parse.y"
5703 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5704 break;}
5705 case 345:
5706 #line 1847 "parse.y"
5707 { if (extra_warnings)
5708 warning ("`%s' is not at beginning of declaration",
5709 IDENTIFIER_POINTER (yyvsp[0].ttype));
5710 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5711 break;}
5712 case 346:
5713 #line 1852 "parse.y"
5714 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5715 break;}
5716 case 347:
5717 #line 1854 "parse.y"
5718 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5719 break;}
5720 case 348:
5721 #line 1864 "parse.y"
5722 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5723 break;}
5724 case 349:
5725 #line 1866 "parse.y"
5726 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5727 break;}
5728 case 350:
5729 #line 1868 "parse.y"
5730 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5731 TREE_STATIC (yyval.ttype) = 1; ;
5732 break;}
5733 case 351:
5734 #line 1871 "parse.y"
5735 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5736 warning ("`%s' is not at beginning of declaration",
5737 IDENTIFIER_POINTER (yyvsp[0].ttype));
5738 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5739 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5740 break;}
5741 case 352:
5742 #line 1877 "parse.y"
5743 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5744 break;}
5745 case 353:
5746 #line 1879 "parse.y"
5747 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5748 break;}
5749 case 354:
5750 #line 1890 "parse.y"
5751 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5752 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5753 break;}
5754 case 355:
5755 #line 1893 "parse.y"
5756 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5757 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5758 break;}
5759 case 356:
5760 #line 1896 "parse.y"
5761 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5762 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5763 break;}
5764 case 357:
5765 #line 1899 "parse.y"
5766 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5767 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5768 break;}
5769 case 358:
5770 #line 1905 "parse.y"
5771 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5772 break;}
5773 case 359:
5774 #line 1907 "parse.y"
5775 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5776 break;}
5777 case 361:
5778 #line 1917 "parse.y"
5779 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5780 break;}
5781 case 362:
5782 #line 1919 "parse.y"
5783 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5784 break;}
5785 case 363:
5786 #line 1921 "parse.y"
5787 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5788 yyval.ftype.new_type_flag = 0; ;
5789 break;}
5790 case 364:
5791 #line 1924 "parse.y"
5792 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5793 yyval.ftype.new_type_flag = 0; ;
5794 break;}
5795 case 365:
5796 #line 1927 "parse.y"
5797 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5798
5799 yyval.ftype.new_type_flag = 0;
5800 if (IS_AGGR_TYPE (type))
5801 {
5802 sorry ("sigof type specifier");
5803 yyval.ftype.t = type;
5804 }
5805 else
5806 {
5807 error ("`sigof' applied to non-aggregate expression");
5808 yyval.ftype.t = error_mark_node;
5809 }
5810 ;
5811 break;}
5812 case 366:
5813 #line 1942 "parse.y"
5814 { tree type = groktypename (yyvsp[-1].ftype.t);
5815
5816 yyval.ftype.new_type_flag = 0;
5817 if (IS_AGGR_TYPE (type))
5818 {
5819 sorry ("sigof type specifier");
5820 yyval.ftype.t = type;
5821 }
5822 else
5823 {
5824 error("`sigof' applied to non-aggregate type");
5825 yyval.ftype.t = error_mark_node;
5826 }
5827 ;
5828 break;}
5829 case 367:
5830 #line 1962 "parse.y"
5831 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5832 break;}
5833 case 368:
5834 #line 1964 "parse.y"
5835 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5836 break;}
5837 case 376:
5838 #line 1985 "parse.y"
5839 { yyval.ttype = NULL_TREE; ;
5840 break;}
5841 case 377:
5842 #line 1987 "parse.y"
5843 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5844 break;}
5845 case 378:
5846 #line 1992 "parse.y"
5847 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
5848 &prefix_attributes);
5849 if (current_declspecs
5850 && TREE_CODE (current_declspecs) != TREE_LIST)
5851 current_declspecs = get_decl_list (current_declspecs);
5852 if (have_extern_spec && !used_extern_spec)
5853 {
5854 current_declspecs = decl_tree_cons
5855 (NULL_TREE, get_identifier ("extern"),
5856 current_declspecs);
5857 used_extern_spec = 1;
5858 }
5859 yyvsp[0].itype = suspend_momentary ();
5860 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5861 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5862 break;}
5863 case 379:
5864 #line 2009 "parse.y"
5865 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5866 yyval.itype = yyvsp[-2].itype; ;
5867 break;}
5868 case 380:
5869 #line 2012 "parse.y"
5870 { tree d;
5871 split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
5872 &prefix_attributes);
5873 if (current_declspecs
5874 && TREE_CODE (current_declspecs) != TREE_LIST)
5875 current_declspecs = get_decl_list (current_declspecs);
5876 if (have_extern_spec && !used_extern_spec)
5877 {
5878 current_declspecs = decl_tree_cons
5879 (NULL_TREE, get_identifier ("extern"),
5880 current_declspecs);
5881 used_extern_spec = 1;
5882 }
5883 yyval.itype = suspend_momentary ();
5884 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5885 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5886 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5887 break;}
5888 case 381:
5889 #line 2033 "parse.y"
5890 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5891 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5892 break;}
5893 case 382:
5894 #line 2037 "parse.y"
5895 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5896 break;}
5897 case 383:
5898 #line 2039 "parse.y"
5899 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5900 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes);
5901 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5902 break;}
5903 case 384:
5904 #line 2046 "parse.y"
5905 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
5906 &prefix_attributes);
5907 yyvsp[0].itype = suspend_momentary ();
5908 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5909 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5910 break;}
5911 case 385:
5912 #line 2053 "parse.y"
5913 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5914 yyval.itype = yyvsp[-2].itype; ;
5915 break;}
5916 case 386:
5917 #line 2056 "parse.y"
5918 { tree d;
5919 split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
5920 &prefix_attributes);
5921 yyval.itype = suspend_momentary ();
5922 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5923 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5924 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5925 break;}
5926 case 387:
5927 #line 2067 "parse.y"
5928 { current_declspecs = NULL_TREE;
5929 prefix_attributes = NULL_TREE;
5930 yyvsp[0].itype = suspend_momentary ();
5931 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5932 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5933 break;}
5934 case 388:
5935 #line 2074 "parse.y"
5936 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5937 yyval.itype = yyvsp[-2].itype; ;
5938 break;}
5939 case 389:
5940 #line 2077 "parse.y"
5941 { tree d;
5942 current_declspecs = NULL_TREE;
5943 prefix_attributes = NULL_TREE;
5944 yyval.itype = suspend_momentary ();
5945 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5946 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5947 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5948 break;}
5949 case 390:
5950 #line 2090 "parse.y"
5951 { yyval.ttype = NULL_TREE; ;
5952 break;}
5953 case 391:
5954 #line 2092 "parse.y"
5955 { yyval.ttype = yyvsp[0].ttype; ;
5956 break;}
5957 case 392:
5958 #line 2097 "parse.y"
5959 { yyval.ttype = yyvsp[0].ttype; ;
5960 break;}
5961 case 393:
5962 #line 2099 "parse.y"
5963 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5964 break;}
5965 case 394:
5966 #line 2104 "parse.y"
5967 { yyval.ttype = yyvsp[-2].ttype; ;
5968 break;}
5969 case 395:
5970 #line 2109 "parse.y"
5971 { yyval.ttype = yyvsp[0].ttype; ;
5972 break;}
5973 case 396:
5974 #line 2111 "parse.y"
5975 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5976 break;}
5977 case 397:
5978 #line 2116 "parse.y"
5979 { yyval.ttype = NULL_TREE; ;
5980 break;}
5981 case 398:
5982 #line 2118 "parse.y"
5983 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5984 break;}
5985 case 399:
5986 #line 2120 "parse.y"
5987 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5988 break;}
5989 case 400:
5990 #line 2122 "parse.y"
5991 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5992 break;}
5993 case 401:
5994 #line 2124 "parse.y"
5995 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5996 break;}
5997 case 406:
5998 #line 2140 "parse.y"
5999 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
6000 break;}
6001 case 407:
6002 #line 2142 "parse.y"
6003 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6004 break;}
6005 case 408:
6006 #line 2147 "parse.y"
6007 { yyval.ttype = NULL_TREE; ;
6008 break;}
6009 case 409:
6010 #line 2149 "parse.y"
6011 { yyval.ttype = yyvsp[0].ttype; ;
6012 break;}
6013 case 411:
6014 #line 2157 "parse.y"
6015 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
6016 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6017 break;}
6018 case 412:
6019 #line 2160 "parse.y"
6020 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
6021 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6022 break;}
6023 case 413:
6024 #line 2163 "parse.y"
6025 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
6026 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6027 break;}
6028 case 414:
6029 #line 2166 "parse.y"
6030 { yyval.ttype = NULL_TREE; ;
6031 break;}
6032 case 415:
6033 #line 2173 "parse.y"
6034 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6035 break;}
6036 case 416:
6037 #line 2175 "parse.y"
6038 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6039 break;}
6040 case 417:
6041 #line 2178 "parse.y"
6042 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6043 break;}
6044 case 418:
6045 #line 2180 "parse.y"
6046 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6047 break;}
6048 case 419:
6049 #line 2182 "parse.y"
6050 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
6051 break;}
6052 case 420:
6053 #line 2184 "parse.y"
6054 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6055 break;}
6056 case 421:
6057 #line 2189 "parse.y"
6058 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
6059 NULL_TREE, 1);
6060 reinit_parse_for_function (); ;
6061 break;}
6062 case 422:
6063 #line 2195 "parse.y"
6064 {
6065 int nested = (hack_decl_function_context
6066 (current_function_decl) != NULL_TREE);
6067 finish_function (lineno, (int)yyvsp[-1].itype, nested);
6068 process_next_inline (yyvsp[-3].ttype);
6069 ;
6070 break;}
6071 case 423:
6072 #line 2202 "parse.y"
6073 { process_next_inline (yyvsp[-2].ttype); ;
6074 break;}
6075 case 424:
6076 #line 2204 "parse.y"
6077 { process_next_inline (yyvsp[-2].ttype); ;
6078 break;}
6079 case 427:
6080 #line 2216 "parse.y"
6081 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6082 break;}
6083 case 428:
6084 #line 2218 "parse.y"
6085 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6086 break;}
6087 case 430:
6088 #line 2223 "parse.y"
6089 { do_pending_defargs (); ;
6090 break;}
6091 case 431:
6092 #line 2225 "parse.y"
6093 { do_pending_defargs (); ;
6094 break;}
6095 case 432:
6096 #line 2230 "parse.y"
6097 { yyvsp[0].itype = suspend_momentary ();
6098 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
6099 break;}
6100 case 433:
6101 #line 2233 "parse.y"
6102 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
6103 yyval.ftype.new_type_flag = 1;
6104 resume_momentary ((int) yyvsp[-4].itype);
6105 check_for_missing_semicolon (yyvsp[-3].ttype); ;
6106 break;}
6107 case 434:
6108 #line 2238 "parse.y"
6109 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
6110 yyval.ftype.new_type_flag = 1;
6111 check_for_missing_semicolon (yyval.ftype.t); ;
6112 break;}
6113 case 435:
6114 #line 2242 "parse.y"
6115 { yyvsp[0].itype = suspend_momentary ();
6116 yyval.ttype = start_enum (make_anon_name ()); ;
6117 break;}
6118 case 436:
6119 #line 2245 "parse.y"
6120 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
6121 resume_momentary ((int) yyvsp[-5].itype);
6122 check_for_missing_semicolon (yyvsp[-3].ttype);
6123 yyval.ftype.new_type_flag = 1; ;
6124 break;}
6125 case 437:
6126 #line 2250 "parse.y"
6127 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
6128 yyval.ftype.new_type_flag = 1;
6129 check_for_missing_semicolon (yyval.ftype.t); ;
6130 break;}
6131 case 438:
6132 #line 2254 "parse.y"
6133 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
6134 yyval.ftype.new_type_flag = 0; ;
6135 break;}
6136 case 439:
6137 #line 2257 "parse.y"
6138 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
6139 yyval.ftype.new_type_flag = 0; ;
6140 break;}
6141 case 440:
6142 #line 2260 "parse.y"
6143 { yyval.ftype.t = yyvsp[0].ttype;
6144 yyval.ftype.new_type_flag = 0; ;
6145 break;}
6146 case 441:
6147 #line 2264 "parse.y"
6148 { reset_specialization(); ;
6149 break;}
6150 case 442:
6151 #line 2266 "parse.y"
6152 {
6153 int semi;
6154 tree id;
6155
6156 yyval.ttype = yyvsp[-5].ttype;
6157 #if 0
6158 /* Need to rework class nesting in the
6159 presence of nested classes, etc. */
6160 shadow_tag (CLASSTYPE_AS_LIST (yyvsp[-5].ttype)); */
6161 #endif
6162 if (yychar == YYEMPTY)
6163 yychar = YYLEX;
6164 semi = yychar == ';';
6165 /* finish_struct nukes this anyway; if
6166 finish_exception does too, then it can go. */
6167 if (semi)
6168 note_got_semicolon (yyvsp[-5].ttype);
6169
6170 if (TREE_CODE (yyvsp[-5].ttype) == ENUMERAL_TYPE)
6171 ;
6172 else
6173 {
6174 yyval.ttype = finish_struct (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
6175 if (semi) note_got_semicolon (yyval.ttype);
6176 }
6177
6178 pop_obstacks ();
6179
6180 if (! semi)
6181 check_for_missing_semicolon (yyvsp[-5].ttype);
6182 if (current_scope () == current_function_decl)
6183 do_pending_defargs ();
6184 ;
6185 break;}
6186 case 443:
6187 #line 2300 "parse.y"
6188 {
6189 if (pending_inlines
6190 && current_scope () == current_function_decl)
6191 do_pending_inlines ();
6192 ;
6193 break;}
6194 case 444:
6195 #line 2306 "parse.y"
6196 {
6197 yyval.ftype.t = yyvsp[-3].ttype;
6198 yyval.ftype.new_type_flag = 1;
6199 if (current_class_type == NULL_TREE)
6200 clear_inline_text_obstack ();
6201 ;
6202 break;}
6203 case 445:
6204 #line 2313 "parse.y"
6205 {
6206 yyval.ftype.t = yyvsp[0].ttype;
6207 yyval.ftype.new_type_flag = 0;
6208 /* struct B: public A; is not accepted by the WP grammar. */
6209 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6210 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6211 cp_error ("base clause without member specification for `%#T'",
6212 yyval.ftype.t);
6213 ;
6214 break;}
6215 case 449:
6216 #line 2332 "parse.y"
6217 { if (pedantic && !in_system_header)
6218 pedwarn ("comma at end of enumerator list"); ;
6219 break;}
6220 case 451:
6221 #line 2339 "parse.y"
6222 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6223 break;}
6224 case 452:
6225 #line 2341 "parse.y"
6226 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6227 break;}
6228 case 453:
6229 #line 2343 "parse.y"
6230 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6231 break;}
6232 case 454:
6233 #line 2345 "parse.y"
6234 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6235 break;}
6236 case 455:
6237 #line 2350 "parse.y"
6238 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6239 break;}
6240 case 456:
6241 #line 2355 "parse.y"
6242 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6243 break;}
6244 case 457:
6245 #line 2360 "parse.y"
6246 {
6247 current_aggr = yyvsp[-2].ttype;
6248 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6249 ;
6250 break;}
6251 case 458:
6252 #line 2365 "parse.y"
6253 {
6254 current_aggr = yyvsp[-3].ttype;
6255 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6256 ;
6257 break;}
6258 case 459:
6259 #line 2370 "parse.y"
6260 {
6261 current_aggr = yyvsp[-2].ttype;
6262 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6263 ;
6264 break;}
6265 case 460:
6266 #line 2375 "parse.y"
6267 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6268 break;}
6269 case 461:
6270 #line 2377 "parse.y"
6271 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6272 break;}
6273 case 462:
6274 #line 2382 "parse.y"
6275 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
6276 break;}
6277 case 463:
6278 #line 2387 "parse.y"
6279 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
6280 break;}
6281 case 464:
6282 #line 2390 "parse.y"
6283 {
6284 yyval.ttype = yyvsp[-1].ttype;
6285 if (yyvsp[0].ttype)
6286 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6287 ;
6288 break;}
6289 case 465:
6290 #line 2396 "parse.y"
6291 {
6292 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6293 if (TREE_INT_CST_LOW (current_aggr) == union_type
6294 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6295 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6296 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6297 && TREE_INT_CST_LOW (current_aggr) != union_type)
6298 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6299 if (yyvsp[0].ttype)
6300 {
6301 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
6302 {
6303 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
6304 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
6305 {
6306 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6307 if (processing_template_decl)
6308 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6309 }
6310 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6311 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6312 }
6313 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6314 }
6315 ;
6316 break;}
6317 case 466:
6318 #line 2425 "parse.y"
6319 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6320 yyungetc ('{', 1); ;
6321 break;}
6322 case 469:
6323 #line 2436 "parse.y"
6324 { yyval.ttype = NULL_TREE; ;
6325 break;}
6326 case 470:
6327 #line 2438 "parse.y"
6328 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6329 break;}
6330 case 471:
6331 #line 2440 "parse.y"
6332 { yyval.ttype = yyvsp[0].ttype; ;
6333 break;}
6334 case 473:
6335 #line 2446 "parse.y"
6336 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6337 break;}
6338 case 474:
6339 #line 2451 "parse.y"
6340 {
6341 tree type = TREE_TYPE (yyvsp[0].ttype);
6342 if (! is_aggr_type (type, 1))
6343 yyval.ttype = NULL_TREE;
6344 else if (current_aggr == signature_type_node
6345 && (! type) && (! IS_SIGNATURE (type)))
6346 {
6347 error ("class name not allowed as base signature");
6348 yyval.ttype = NULL_TREE;
6349 }
6350 else if (current_aggr == signature_type_node)
6351 {
6352 sorry ("signature inheritance, base type `%s' ignored",
6353 IDENTIFIER_POINTER (yyval.ttype));
6354 yyval.ttype = build_tree_list (access_public_node, type);
6355 }
6356 else if (type && IS_SIGNATURE (type))
6357 {
6358 error ("signature name not allowed as base class");
6359 yyval.ttype = NULL_TREE;
6360 }
6361 else
6362 yyval.ttype = build_tree_list (access_default_node, type);
6363 ;
6364 break;}
6365 case 475:
6366 #line 2476 "parse.y"
6367 {
6368 tree type = TREE_TYPE (yyvsp[0].ttype);
6369 if (current_aggr == signature_type_node)
6370 error ("access and source specifiers not allowed in signature");
6371 if (! IS_AGGR_TYPE (type))
6372 yyval.ttype = NULL_TREE;
6373 else if (current_aggr == signature_type_node
6374 && (! type) && (! IS_SIGNATURE (type)))
6375 {
6376 error ("class name not allowed as base signature");
6377 yyval.ttype = NULL_TREE;
6378 }
6379 else if (current_aggr == signature_type_node)
6380 {
6381 sorry ("signature inheritance, base type `%s' ignored",
6382 IDENTIFIER_POINTER (yyval.ttype));
6383 yyval.ttype = build_tree_list (access_public_node, type);
6384 }
6385 else if (type && IS_SIGNATURE (type))
6386 {
6387 error ("signature name not allowed as base class");
6388 yyval.ttype = NULL_TREE;
6389 }
6390 else
6391 yyval.ttype = build_tree_list (yyval.ttype, type);
6392 ;
6393 break;}
6394 case 476:
6395 #line 2506 "parse.y"
6396 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6397 break;}
6398 case 478:
6399 #line 2509 "parse.y"
6400 {
6401 if (current_aggr == signature_type_node)
6402 {
6403 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6404 {
6405 sorry ("`sigof' as base signature specifier");
6406 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6407 }
6408 else
6409 {
6410 error ("`sigof' applied to non-aggregate expression");
6411 yyval.ttype = error_mark_node;
6412 }
6413 }
6414 else
6415 {
6416 error ("`sigof' in struct or class declaration");
6417 yyval.ttype = error_mark_node;
6418 }
6419 ;
6420 break;}
6421 case 479:
6422 #line 2530 "parse.y"
6423 {
6424 if (current_aggr == signature_type_node)
6425 {
6426 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6427 {
6428 sorry ("`sigof' as base signature specifier");
6429 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6430 }
6431 else
6432 {
6433 error ("`sigof' applied to non-aggregate expression");
6434 yyval.ttype = error_mark_node;
6435 }
6436 }
6437 else
6438 {
6439 error ("`sigof' in struct or class declaration");
6440 yyval.ttype = error_mark_node;
6441 }
6442 ;
6443 break;}
6444 case 481:
6445 #line 2555 "parse.y"
6446 { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
6447 sorry ("non-virtual access");
6448 yyval.ttype = access_default_virtual_node; ;
6449 break;}
6450 case 482:
6451 #line 2559 "parse.y"
6452 { int err = 0;
6453 if (yyvsp[-1].ttype == access_protected_node)
6454 {
6455 warning ("`protected' access not implemented");
6456 yyvsp[-1].ttype = access_public_node;
6457 err++;
6458 }
6459 else if (yyvsp[-1].ttype == access_public_node)
6460 {
6461 if (yyvsp[-2].ttype == access_private_node)
6462 {
6463 mixed:
6464 error ("base class cannot be public and private");
6465 }
6466 else if (yyvsp[-2].ttype == access_default_virtual_node)
6467 yyval.ttype = access_public_virtual_node;
6468 }
6469 else /* $2 == access_private_node */
6470 {
6471 if (yyvsp[-2].ttype == access_public_node)
6472 goto mixed;
6473 else if (yyvsp[-2].ttype == access_default_virtual_node)
6474 yyval.ttype = access_private_virtual_node;
6475 }
6476 ;
6477 break;}
6478 case 483:
6479 #line 2585 "parse.y"
6480 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6481 sorry ("non-virtual access");
6482 if (yyval.ttype == access_public_node)
6483 yyval.ttype = access_public_virtual_node;
6484 else if (yyval.ttype == access_private_node)
6485 yyval.ttype = access_private_virtual_node; ;
6486 break;}
6487 case 484:
6488 #line 2595 "parse.y"
6489 { tree t = yyvsp[-1].ttype;
6490 push_obstacks_nochange ();
6491 end_temporary_allocation ();
6492
6493 if (t == error_mark_node
6494 || ! IS_AGGR_TYPE (t))
6495 {
6496 t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
6497 pushtag (make_anon_name (), t, 0);
6498 }
6499 if (TYPE_SIZE (t))
6500 duplicate_tag_error (t);
6501 if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
6502 {
6503 t = make_lang_type (TREE_CODE (t));
6504 pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
6505 yyvsp[-1].ttype = t;
6506 }
6507 if (processing_template_decl && TYPE_CONTEXT (t)
6508 && ! current_class_type)
6509 push_template_decl (TYPE_STUB_DECL (t));
6510 pushclass (t, 0);
6511 TYPE_BEING_DEFINED (t) = 1;
6512 if (IS_AGGR_TYPE (t) && CLASSTYPE_USE_TEMPLATE (t))
6513 {
6514 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t)
6515 && TYPE_SIZE (t) == NULL_TREE)
6516 {
6517 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
6518 if (processing_template_decl)
6519 push_template_decl (TYPE_MAIN_DECL (t));
6520 }
6521 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
6522 cp_error ("specialization after instantiation of `%T'", t);
6523 }
6524 /* Reset the interface data, at the earliest possible
6525 moment, as it might have been set via a class foo;
6526 before. */
6527 /* Don't change signatures. */
6528 if (! IS_SIGNATURE (t))
6529 {
6530 extern tree pending_vtables;
6531 int needs_writing;
6532 tree name = TYPE_IDENTIFIER (t);
6533
6534 if (! ANON_AGGRNAME_P (name))
6535 {
6536 CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
6537 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6538 (t, interface_unknown);
6539 }
6540
6541 /* Record how to set the access of this class's
6542 virtual functions. If write_virtuals == 2 or 3, then
6543 inline virtuals are ``extern inline''. */
6544 switch (write_virtuals)
6545 {
6546 case 0:
6547 case 1:
6548 needs_writing = 1;
6549 break;
6550 case 2:
6551 needs_writing = !! value_member (name, pending_vtables);
6552 break;
6553 case 3:
6554 needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
6555 && CLASSTYPE_INTERFACE_KNOWN (t);
6556 break;
6557 default:
6558 needs_writing = 0;
6559 }
6560 CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
6561 }
6562 #if 0
6563 t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
6564 if (t && IDENTIFIER_TEMPLATE (t))
6565 overload_template_name (t, 1);
6566 #endif
6567 ;
6568 break;}
6569 case 485:
6570 #line 2678 "parse.y"
6571 {
6572 yyval.ttype = build_self_reference ();
6573 ;
6574 break;}
6575 case 486:
6576 #line 2685 "parse.y"
6577 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6578 break;}
6579 case 487:
6580 #line 2687 "parse.y"
6581 {
6582 if (current_aggr == signature_type_node)
6583 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6584 else
6585 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6586 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6587 ;
6588 break;}
6589 case 488:
6590 #line 2695 "parse.y"
6591 {
6592 tree visspec = yyvsp[-2].ttype;
6593
6594 if (current_aggr == signature_type_node)
6595 {
6596 error ("access specifier not allowed in signature");
6597 visspec = access_public_node;
6598 }
6599 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6600 ;
6601 break;}
6602 case 489:
6603 #line 2706 "parse.y"
6604 {
6605 if (current_aggr == signature_type_node)
6606 error ("access specifier not allowed in signature");
6607 ;
6608 break;}
6609 case 490:
6610 #line 2716 "parse.y"
6611 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6612 ;
6613 break;}
6614 case 491:
6615 #line 2719 "parse.y"
6616 { /* In pushdecl, we created a reverse list of names
6617 in this binding level. Make sure that the chain
6618 of what we're trying to add isn't the item itself
6619 (which can happen with what pushdecl's doing). */
6620 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6621 {
6622 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6623 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6624 else
6625 yyval.ttype = yyvsp[0].ttype;
6626 }
6627 ;
6628 break;}
6629 case 492:
6630 #line 2735 "parse.y"
6631 { ;
6632 break;}
6633 case 493:
6634 #line 2737 "parse.y"
6635 { error ("missing ';' before right brace");
6636 yyungetc ('}', 0); ;
6637 break;}
6638 case 494:
6639 #line 2742 "parse.y"
6640 { yyval.ttype = finish_method (yyval.ttype); ;
6641 break;}
6642 case 495:
6643 #line 2744 "parse.y"
6644 { yyval.ttype = finish_method (yyval.ttype); ;
6645 break;}
6646 case 496:
6647 #line 2746 "parse.y"
6648 { yyval.ttype = finish_method (yyval.ttype); ;
6649 break;}
6650 case 497:
6651 #line 2748 "parse.y"
6652 { yyval.ttype = finish_method (yyval.ttype); ;
6653 break;}
6654 case 498:
6655 #line 2750 "parse.y"
6656 { yyval.ttype = NULL_TREE; ;
6657 break;}
6658 case 499:
6659 #line 2752 "parse.y"
6660 { yyval.ttype = yyvsp[0].ttype;
6661 pedantic = yyvsp[-1].itype; ;
6662 break;}
6663 case 500:
6664 #line 2761 "parse.y"
6665 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6666 break;}
6667 case 501:
6668 #line 2763 "parse.y"
6669 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6670 break;}
6671 case 502:
6672 #line 2765 "parse.y"
6673 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6674 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6675 break;}
6676 case 503:
6677 #line 2768 "parse.y"
6678 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6679 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6680 break;}
6681 case 504:
6682 #line 2771 "parse.y"
6683 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6684 break;}
6685 case 505:
6686 #line 2773 "parse.y"
6687 { yyval.ttype = NULL_TREE; ;
6688 break;}
6689 case 506:
6690 #line 2784 "parse.y"
6691 { tree specs, attrs;
6692 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6693 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6694 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6695 break;}
6696 case 507:
6697 #line 2789 "parse.y"
6698 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6699 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6700 break;}
6701 case 508:
6702 #line 2792 "parse.y"
6703 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6704 break;}
6705 case 509:
6706 #line 2794 "parse.y"
6707 {
6708 if (yyvsp[-1].ttype)
6709 end_template_decl ();
6710 else
6711 end_specialization ();
6712
6713 if (yyvsp[0].ttype && DECL_TEMPLATE_INFO (yyvsp[0].ttype)
6714 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp[0].ttype))
6715 {
6716 yyval.ttype = DECL_TI_TEMPLATE (yyvsp[0].ttype);
6717 check_member_template (yyval.ttype);
6718 }
6719 else if (yyvsp[0].ttype)
6720 yyval.ttype = yyvsp[0].ttype;
6721 else
6722 {
6723 cp_error("invalid member template declaration");
6724 yyval.ttype = NULL_TREE;
6725 }
6726 ;
6727 break;}
6728 case 510:
6729 #line 2819 "parse.y"
6730 { yyval.ttype = NULL_TREE; ;
6731 break;}
6732 case 512:
6733 #line 2822 "parse.y"
6734 {
6735 /* In this context, void_type_node encodes
6736 friends. They have been recorded elsewhere. */
6737 if (yyval.ttype == void_type_node)
6738 yyval.ttype = yyvsp[0].ttype;
6739 else
6740 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6741 ;
6742 break;}
6743 case 513:
6744 #line 2834 "parse.y"
6745 { yyval.ttype = NULL_TREE; ;
6746 break;}
6747 case 515:
6748 #line 2837 "parse.y"
6749 {
6750 /* In this context, void_type_node encodes
6751 friends. They have been recorded elsewhere. */
6752 if (yyval.ttype == void_type_node)
6753 yyval.ttype = yyvsp[0].ttype;
6754 else
6755 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6756 ;
6757 break;}
6758 case 520:
6759 #line 2859 "parse.y"
6760 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6761 &prefix_attributes);
6762 yyvsp[-4].ttype = current_declspecs;
6763 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6764 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6765 break;}
6766 case 521:
6767 #line 2865 "parse.y"
6768 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6769 &prefix_attributes);
6770 yyvsp[-4].ttype = current_declspecs;
6771 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6772 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6773 break;}
6774 case 522:
6775 #line 2874 "parse.y"
6776 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6777 &prefix_attributes);
6778 yyvsp[-4].ttype = current_declspecs;
6779 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6780 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6781 break;}
6782 case 523:
6783 #line 2880 "parse.y"
6784 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6785 &prefix_attributes);
6786 yyvsp[-4].ttype = current_declspecs;
6787 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6788 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6789 break;}
6790 case 524:
6791 #line 2886 "parse.y"
6792 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6793 &prefix_attributes);
6794 yyvsp[-4].ttype = current_declspecs;
6795 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6796 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6797 break;}
6798 case 525:
6799 #line 2892 "parse.y"
6800 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6801 &prefix_attributes);
6802 yyvsp[-3].ttype = current_declspecs;
6803 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6804 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6805 break;}
6806 case 526:
6807 #line 2901 "parse.y"
6808 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6809 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6810 break;}
6811 case 527:
6812 #line 2904 "parse.y"
6813 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6814 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6815 break;}
6816 case 528:
6817 #line 2910 "parse.y"
6818 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6819 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6820 break;}
6821 case 529:
6822 #line 2913 "parse.y"
6823 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6824 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6825 break;}
6826 case 530:
6827 #line 2916 "parse.y"
6828 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6829 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6830 break;}
6831 case 532:
6832 #line 2927 "parse.y"
6833 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6834 break;}
6835 case 533:
6836 #line 2932 "parse.y"
6837 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6838 break;}
6839 case 534:
6840 #line 2934 "parse.y"
6841 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6842 break;}
6843 case 535:
6844 #line 2940 "parse.y"
6845 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6846 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6847 break;}
6848 case 536:
6849 #line 2943 "parse.y"
6850 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6851 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6852 break;}
6853 case 537:
6854 #line 2948 "parse.y"
6855 {
6856 if (pedantic)
6857 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6858 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6859 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6860 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6861 ;
6862 break;}
6863 case 538:
6864 #line 2959 "parse.y"
6865 { yyval.ttype = NULL_TREE; ;
6866 break;}
6867 case 539:
6868 #line 2961 "parse.y"
6869 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6870 break;}
6871 case 540:
6872 #line 2966 "parse.y"
6873 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6874 yyval.ftype.new_type_flag = 0; ;
6875 break;}
6876 case 541:
6877 #line 2969 "parse.y"
6878 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6879 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6880 break;}
6881 case 542:
6882 #line 2978 "parse.y"
6883 { yyval.itype = suspend_momentary (); ;
6884 break;}
6885 case 543:
6886 #line 2983 "parse.y"
6887 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6888 break;}
6889 case 544:
6890 #line 2989 "parse.y"
6891 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6892 break;}
6893 case 545:
6894 #line 2991 "parse.y"
6895 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6896 break;}
6897 case 546:
6898 #line 2993 "parse.y"
6899 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6900 break;}
6901 case 547:
6902 #line 2995 "parse.y"
6903 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6904 break;}
6905 case 548:
6906 #line 3002 "parse.y"
6907 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6908 break;}
6909 case 549:
6910 #line 3004 "parse.y"
6911 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6912 break;}
6913 case 550:
6914 #line 3006 "parse.y"
6915 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6916 break;}
6917 case 551:
6918 #line 3008 "parse.y"
6919 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6920 break;}
6921 case 552:
6922 #line 3010 "parse.y"
6923 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6924 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6925 ;
6926 break;}
6927 case 554:
6928 #line 3018 "parse.y"
6929 {
6930 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6931 {
6932 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6933 if (current_class_type
6934 && TYPE_BEING_DEFINED (current_class_type)
6935 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6936 {
6937 /* Remember that this name has been used in the class
6938 definition, as per [class.scope0] */
6939 pushdecl_class_level (yyval.ttype);
6940 }
6941 }
6942 else
6943 yyval.ttype = yyvsp[0].ttype;
6944 ;
6945 break;}
6946 case 555:
6947 #line 3035 "parse.y"
6948 {
6949 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6950 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6951 else
6952 yyval.ttype = yyvsp[0].ttype;
6953 got_scope = NULL_TREE;
6954 ;
6955 break;}
6956 case 558:
6957 #line 3048 "parse.y"
6958 { yyval.ttype = yyvsp[0].ttype; ;
6959 break;}
6960 case 559:
6961 #line 3053 "parse.y"
6962 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6963 break;}
6964 case 560:
6965 #line 3058 "parse.y"
6966 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6967 break;}
6968 case 561:
6969 #line 3060 "parse.y"
6970 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6971 break;}
6972 case 562:
6973 #line 3062 "parse.y"
6974 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6975 break;}
6976 case 563:
6977 #line 3064 "parse.y"
6978 { yyval.ttype = yyvsp[-1].ttype; ;
6979 break;}
6980 case 564:
6981 #line 3066 "parse.y"
6982 { push_nested_class (yyvsp[-1].ttype, 3);
6983 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6984 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6985 break;}
6986 case 566:
6987 #line 3077 "parse.y"
6988 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6989 break;}
6990 case 567:
6991 #line 3079 "parse.y"
6992 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6993 break;}
6994 case 568:
6995 #line 3081 "parse.y"
6996 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6997 break;}
6998 case 569:
6999 #line 3083 "parse.y"
7000 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7001 break;}
7002 case 570:
7003 #line 3085 "parse.y"
7004 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7005 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7006 ;
7007 break;}
7008 case 572:
7009 #line 3093 "parse.y"
7010 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7011 break;}
7012 case 573:
7013 #line 3095 "parse.y"
7014 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7015 break;}
7016 case 574:
7017 #line 3097 "parse.y"
7018 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7019 break;}
7020 case 575:
7021 #line 3099 "parse.y"
7022 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7023 break;}
7024 case 576:
7025 #line 3101 "parse.y"
7026 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7027 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7028 ;
7029 break;}
7030 case 578:
7031 #line 3109 "parse.y"
7032 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7033 break;}
7034 case 579:
7035 #line 3111 "parse.y"
7036 { yyval.ttype = yyvsp[-1].ttype; ;
7037 break;}
7038 case 580:
7039 #line 3113 "parse.y"
7040 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7041 break;}
7042 case 581:
7043 #line 3115 "parse.y"
7044 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7045 break;}
7046 case 582:
7047 #line 3117 "parse.y"
7048 { if (OP0 (yyval.ttype) != current_class_type)
7049 {
7050 push_nested_class (OP0 (yyval.ttype), 3);
7051 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
7052 }
7053 ;
7054 break;}
7055 case 583:
7056 #line 3124 "parse.y"
7057 { got_scope = NULL_TREE;
7058 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
7059 if (yyvsp[-1].ttype != current_class_type)
7060 {
7061 push_nested_class (yyvsp[-1].ttype, 3);
7062 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
7063 }
7064 ;
7065 break;}
7066 case 584:
7067 #line 3136 "parse.y"
7068 { got_scope = NULL_TREE;
7069 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7070 break;}
7071 case 585:
7072 #line 3139 "parse.y"
7073 { got_scope = NULL_TREE;
7074 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7075 break;}
7076 case 586:
7077 #line 3145 "parse.y"
7078 { got_scope = NULL_TREE;
7079 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7080 break;}
7081 case 587:
7082 #line 3148 "parse.y"
7083 { got_scope = NULL_TREE;
7084 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7085 break;}
7086 case 589:
7087 #line 3155 "parse.y"
7088 { yyval.ttype = yyvsp[0].ttype; ;
7089 break;}
7090 case 590:
7091 #line 3160 "parse.y"
7092 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7093 break;}
7094 case 591:
7095 #line 3162 "parse.y"
7096 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7097 break;}
7098 case 592:
7099 #line 3164 "parse.y"
7100 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7101 break;}
7102 case 597:
7103 #line 3176 "parse.y"
7104 { yyval.ttype = yyvsp[0].ttype; ;
7105 break;}
7106 case 598:
7107 #line 3183 "parse.y"
7108 {
7109 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7110 {
7111 yyval.ttype = lastiddecl;
7112 /* Remember that this name has been used in the class
7113 definition, as per [class.scope0] */
7114 if (current_class_type
7115 && TYPE_BEING_DEFINED (current_class_type)
7116 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
7117 pushdecl_class_level (yyval.ttype);
7118 }
7119 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7120 ;
7121 break;}
7122 case 599:
7123 #line 3197 "parse.y"
7124 {
7125 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7126 yyval.ttype = lastiddecl;
7127 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7128 ;
7129 break;}
7130 case 600:
7131 #line 3203 "parse.y"
7132 {
7133 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7134 yyval.ttype = lastiddecl;
7135 got_scope = yyval.ttype;
7136 ;
7137 break;}
7138 case 601:
7139 #line 3209 "parse.y"
7140 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
7141 break;}
7142 case 603:
7143 #line 3225 "parse.y"
7144 { yyval.ttype = yyvsp[0].ttype; ;
7145 break;}
7146 case 604:
7147 #line 3230 "parse.y"
7148 {
7149 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7150 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7151 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7152 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7153 else
7154 yyval.ttype = yyvsp[0].ttype;
7155 ;
7156 break;}
7157 case 605:
7158 #line 3242 "parse.y"
7159 {
7160 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7161 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7162 ;
7163 break;}
7164 case 606:
7165 #line 3247 "parse.y"
7166 {
7167 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7168 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7169 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7170 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7171 else
7172 yyval.ttype = yyvsp[0].ttype;
7173 ;
7174 break;}
7175 case 607:
7176 #line 3259 "parse.y"
7177 {
7178 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7179 yyval.ttype = lastiddecl;
7180 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7181 ;
7182 break;}
7183 case 608:
7184 #line 3265 "parse.y"
7185 {
7186 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7187 yyval.ttype = lastiddecl;
7188 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7189 ;
7190 break;}
7191 case 609:
7192 #line 3271 "parse.y"
7193 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7194 break;}
7195 case 612:
7196 #line 3275 "parse.y"
7197 {
7198 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7199 yyval.ttype = lastiddecl;
7200 got_scope = yyval.ttype;
7201 ;
7202 break;}
7203 case 613:
7204 #line 3284 "parse.y"
7205 {
7206 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7207 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7208 else
7209 yyval.ttype = yyvsp[0].ttype;
7210 got_scope = NULL_TREE;
7211 ;
7212 break;}
7213 case 615:
7214 #line 3293 "parse.y"
7215 { yyval.ttype = yyvsp[0].ttype; ;
7216 break;}
7217 case 616:
7218 #line 3298 "parse.y"
7219 { got_scope = NULL_TREE; ;
7220 break;}
7221 case 617:
7222 #line 3300 "parse.y"
7223 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7224 break;}
7225 case 618:
7226 #line 3307 "parse.y"
7227 { got_scope = void_type_node; ;
7228 break;}
7229 case 619:
7230 #line 3313 "parse.y"
7231 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7232 break;}
7233 case 620:
7234 #line 3315 "parse.y"
7235 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7236 break;}
7237 case 621:
7238 #line 3317 "parse.y"
7239 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7240 break;}
7241 case 622:
7242 #line 3319 "parse.y"
7243 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7244 break;}
7245 case 623:
7246 #line 3321 "parse.y"
7247 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7248 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7249 ;
7250 break;}
7251 case 624:
7252 #line 3325 "parse.y"
7253 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7254 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7255 ;
7256 break;}
7257 case 626:
7258 #line 3334 "parse.y"
7259 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7260 break;}
7261 case 627:
7262 #line 3336 "parse.y"
7263 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7264 break;}
7265 case 628:
7266 #line 3342 "parse.y"
7267 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7268 break;}
7269 case 629:
7270 #line 3344 "parse.y"
7271 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7272 break;}
7273 case 630:
7274 #line 3346 "parse.y"
7275 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7276 break;}
7277 case 631:
7278 #line 3348 "parse.y"
7279 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7280 break;}
7281 case 632:
7282 #line 3350 "parse.y"
7283 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7284 break;}
7285 case 633:
7286 #line 3352 "parse.y"
7287 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7288 break;}
7289 case 634:
7290 #line 3354 "parse.y"
7291 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7292 break;}
7293 case 635:
7294 #line 3356 "parse.y"
7295 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7296 break;}
7297 case 636:
7298 #line 3358 "parse.y"
7299 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7300 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7301 ;
7302 break;}
7303 case 637:
7304 #line 3362 "parse.y"
7305 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7306 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7307 ;
7308 break;}
7309 case 639:
7310 #line 3371 "parse.y"
7311 { yyval.ttype = yyvsp[-1].ttype; ;
7312 break;}
7313 case 641:
7314 #line 3375 "parse.y"
7315 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7316 break;}
7317 case 642:
7318 #line 3377 "parse.y"
7319 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7320 break;}
7321 case 643:
7322 #line 3379 "parse.y"
7323 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7324 break;}
7325 case 644:
7326 #line 3381 "parse.y"
7327 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7328 break;}
7329 case 645:
7330 #line 3383 "parse.y"
7331 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7332 break;}
7333 case 646:
7334 #line 3385 "parse.y"
7335 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7336 break;}
7337 case 647:
7338 #line 3387 "parse.y"
7339 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7340 break;}
7341 case 648:
7342 #line 3389 "parse.y"
7343 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7344 break;}
7345 case 649:
7346 #line 3391 "parse.y"
7347 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7348 break;}
7349 case 655:
7350 #line 3415 "parse.y"
7351 { do_pushlevel (); ;
7352 break;}
7353 case 656:
7354 #line 3420 "parse.y"
7355 { yyval.ttype = do_poplevel (); ;
7356 break;}
7357 case 658:
7358 #line 3428 "parse.y"
7359 { if (pedantic)
7360 pedwarn ("ANSI C++ forbids label declarations"); ;
7361 break;}
7362 case 661:
7363 #line 3439 "parse.y"
7364 { tree link;
7365 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7366 {
7367 tree label = shadow_label (TREE_VALUE (link));
7368 C_DECLARED_LABEL_FLAG (label) = 1;
7369 declare_nonlocal_label (label);
7370 }
7371 ;
7372 break;}
7373 case 662:
7374 #line 3453 "parse.y"
7375 {;
7376 break;}
7377 case 664:
7378 #line 3459 "parse.y"
7379 {
7380 if (processing_template_decl)
7381 {
7382 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
7383 add_tree (yyval.ttype);
7384 }
7385 ;
7386 break;}
7387 case 665:
7388 #line 3467 "parse.y"
7389 {
7390 if (processing_template_decl)
7391 {
7392 TREE_OPERAND (yyvsp[-3].ttype, 0) = TREE_CHAIN (yyvsp[-3].ttype);
7393 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7394 last_tree = yyvsp[-3].ttype;
7395 }
7396 yyval.ttype = yyvsp[0].ttype;
7397 ;
7398 break;}
7399 case 666:
7400 #line 3480 "parse.y"
7401 {
7402 if (processing_template_decl)
7403 {
7404 yyval.ttype = build_min_nt (IF_STMT, NULL_TREE, NULL_TREE,
7405 NULL_TREE);
7406 add_tree (yyval.ttype);
7407 }
7408 cond_stmt_keyword = "if";
7409 ;
7410 break;}
7411 case 667:
7412 #line 3490 "parse.y"
7413 {
7414 if (processing_template_decl)
7415 {
7416 if (last_tree != yyvsp[-2].ttype)
7417 {
7418 TREE_OPERAND (yyvsp[-2].ttype, 0) = last_tree;
7419 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7420 last_tree = yyvsp[-2].ttype;
7421 }
7422 else
7423 TREE_OPERAND (yyvsp[-2].ttype, 0) = yyvsp[0].ttype;
7424 }
7425 else
7426 {
7427 emit_line_note (input_filename, lineno);
7428 expand_start_cond (yyvsp[0].ttype, 0);
7429 }
7430 ;
7431 break;}
7432 case 668:
7433 #line 3509 "parse.y"
7434 {
7435 if (processing_template_decl)
7436 {
7437 TREE_OPERAND (yyvsp[-4].ttype, 1) = TREE_CHAIN (yyvsp[-4].ttype);
7438 TREE_CHAIN (yyvsp[-4].ttype) = NULL_TREE;
7439 yyval.ttype = last_tree = yyvsp[-4].ttype;
7440 }
7441 ;
7442 break;}
7443 case 669:
7444 #line 3521 "parse.y"
7445 { finish_stmt (); ;
7446 break;}
7447 case 670:
7448 #line 3523 "parse.y"
7449 {
7450 if (processing_template_decl)
7451 {
7452 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
7453 add_tree (yyval.ttype);
7454 }
7455 ;
7456 break;}
7457 case 671:
7458 #line 3531 "parse.y"
7459 {
7460 if (processing_template_decl)
7461 {
7462 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7463 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7464 last_tree = yyvsp[-2].ttype;
7465 }
7466 yyval.ttype = yyvsp[0].ttype;
7467 ;
7468 break;}
7469 case 672:
7470 #line 3544 "parse.y"
7471 { finish_stmt (); ;
7472 break;}
7473 case 674:
7474 #line 3550 "parse.y"
7475 { finish_stmt (); ;
7476 break;}
7477 case 675:
7478 #line 3552 "parse.y"
7479 {
7480 tree expr = yyvsp[-1].ttype;
7481 if (! processing_template_decl)
7482 {
7483 emit_line_note (input_filename, lineno);
7484 /* Do default conversion if safe and possibly important,
7485 in case within ({...}). */
7486 if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
7487 && lvalue_p (expr))
7488 || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
7489 expr = default_conversion (expr);
7490 }
7491 cplus_expand_expr_stmt (expr);
7492 clear_momentary ();
7493 finish_stmt (); ;
7494 break;}
7495 case 676:
7496 #line 3568 "parse.y"
7497 { if (! processing_template_decl) expand_start_else (); ;
7498 break;}
7499 case 677:
7500 #line 3570 "parse.y"
7501 {
7502 if (processing_template_decl)
7503 {
7504 TREE_OPERAND (yyvsp[-3].ttype, 2) = TREE_CHAIN (yyvsp[-3].ttype);
7505 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7506 last_tree = yyvsp[-3].ttype;
7507 }
7508 else
7509 expand_end_cond ();
7510 ;
7511 break;}
7512 case 678:
7513 #line 3581 "parse.y"
7514 { finish_stmt (); ;
7515 break;}
7516 case 679:
7517 #line 3583 "parse.y"
7518 { if (! processing_template_decl) expand_end_cond ();
7519 do_poplevel ();
7520 finish_stmt (); ;
7521 break;}
7522 case 680:
7523 #line 3587 "parse.y"
7524 {
7525 if (processing_template_decl)
7526 {
7527 yyval.ttype = build_min_nt (WHILE_STMT, NULL_TREE, NULL_TREE);
7528 add_tree (yyval.ttype);
7529 }
7530 else
7531 {
7532 emit_nop ();
7533 emit_line_note (input_filename, lineno);
7534 expand_start_loop (1);
7535 }
7536 cond_stmt_keyword = "while";
7537 ;
7538 break;}
7539 case 681:
7540 #line 3602 "parse.y"
7541 {
7542 if (processing_template_decl)
7543 {
7544 if (last_tree != yyvsp[-2].ttype)
7545 {
7546 TREE_OPERAND (yyvsp[-2].ttype, 0) = last_tree;
7547 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7548 last_tree = yyvsp[-2].ttype;
7549 }
7550 else
7551 TREE_OPERAND (yyvsp[-2].ttype, 0) = yyvsp[0].ttype;
7552 }
7553 else
7554 {
7555 emit_line_note (input_filename, lineno);
7556 expand_exit_loop_if_false (0, yyvsp[0].ttype);
7557 }
7558 ;
7559 break;}
7560 case 682:
7561 #line 3621 "parse.y"
7562 {
7563 if (processing_template_decl)
7564 {
7565 TREE_OPERAND (yyvsp[-5].ttype, 1) = TREE_CHAIN (yyvsp[-5].ttype);
7566 TREE_CHAIN (yyvsp[-5].ttype) = NULL_TREE;
7567 last_tree = yyvsp[-5].ttype;
7568 }
7569 else
7570 expand_end_loop ();
7571 finish_stmt ();
7572 ;
7573 break;}
7574 case 683:
7575 #line 3633 "parse.y"
7576 {
7577 if (processing_template_decl)
7578 {
7579 yyval.ttype = build_min_nt (DO_STMT, NULL_TREE, NULL_TREE);
7580 add_tree (yyval.ttype);
7581 }
7582 else
7583 {
7584 emit_nop ();
7585 emit_line_note (input_filename, lineno);
7586 expand_start_loop_continue_elsewhere (1);
7587 }
7588 ;
7589 break;}
7590 case 684:
7591 #line 3647 "parse.y"
7592 {
7593 if (processing_template_decl)
7594 {
7595 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7596 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7597 last_tree = yyvsp[-2].ttype;
7598 }
7599 else
7600 {
7601 expand_loop_continue_here ();
7602 cond_stmt_keyword = "do";
7603 }
7604 ;
7605 break;}
7606 case 685:
7607 #line 3661 "parse.y"
7608 {
7609 if (processing_template_decl)
7610 TREE_OPERAND (yyvsp[-5].ttype, 1) = yyvsp[-1].ttype;
7611 else
7612 {
7613 emit_line_note (input_filename, lineno);
7614 expand_exit_loop_if_false (0, yyvsp[-1].ttype);
7615 expand_end_loop ();
7616 }
7617 clear_momentary ();
7618 finish_stmt ();
7619 ;
7620 break;}
7621 case 686:
7622 #line 3674 "parse.y"
7623 { if (processing_template_decl)
7624 {
7625 yyval.ttype = build_min_nt (FOR_STMT, NULL_TREE, NULL_TREE,
7626 NULL_TREE, NULL_TREE);
7627 add_tree (yyval.ttype);
7628 }
7629 else
7630 emit_line_note (input_filename, lineno);
7631 if (flag_new_for_scope > 0)
7632 {
7633 /* Conditionalize .pushlevel */
7634 pushlevel (0);
7635 note_level_for_for ();
7636 clear_last_expr ();
7637 push_momentary ();
7638 expand_start_bindings (0);
7639 }
7640 ;
7641 break;}
7642 case 687:
7643 #line 3693 "parse.y"
7644 {
7645 if (processing_template_decl)
7646 {
7647 if (last_tree != yyvsp[-2].ttype)
7648 {
7649 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7650 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7651 last_tree = yyvsp[-2].ttype;
7652 }
7653 }
7654 else
7655 {
7656 emit_nop ();
7657 emit_line_note (input_filename, lineno);
7658 expand_start_loop_continue_elsewhere (1);
7659 }
7660 ;
7661 break;}
7662 case 688:
7663 #line 3711 "parse.y"
7664 {
7665 if (processing_template_decl)
7666 {
7667 if (last_tree != yyvsp[-6].ttype)
7668 {
7669 TREE_OPERAND (yyvsp[-6].ttype, 1) = last_tree;
7670 TREE_CHAIN (yyvsp[-6].ttype) = NULL_TREE;
7671 last_tree = yyvsp[-6].ttype;
7672 }
7673 else
7674 TREE_OPERAND (yyvsp[-6].ttype, 1) = yyvsp[-1].ttype;
7675 }
7676 else
7677 {
7678 emit_line_note (input_filename, lineno);
7679 if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype);
7680 }
7681 ;
7682 break;}
7683 case 689:
7684 #line 3732 "parse.y"
7685 {
7686 if (processing_template_decl)
7687 TREE_OPERAND (yyvsp[-9].ttype, 2) = yyvsp[-1].ttype;
7688 push_momentary ();
7689 ;
7690 break;}
7691 case 690:
7692 #line 3738 "parse.y"
7693 {
7694 if (processing_template_decl)
7695 {
7696 TREE_OPERAND (yyvsp[-12].ttype, 3) = TREE_CHAIN (yyvsp[-12].ttype);
7697 TREE_CHAIN (yyvsp[-12].ttype) = NULL_TREE;
7698 last_tree = yyvsp[-12].ttype;
7699 }
7700 else
7701 {
7702 emit_line_note (input_filename, lineno);
7703 expand_loop_continue_here ();
7704 if (yyvsp[-4].ttype) cplus_expand_expr_stmt (yyvsp[-4].ttype);
7705 expand_end_loop ();
7706 }
7707 pop_momentary ();
7708 if (flag_new_for_scope > 0)
7709 {
7710 do_poplevel ();
7711 }
7712 finish_stmt (); ;
7713 break;}
7714 case 691:
7715 #line 3759 "parse.y"
7716 {
7717 if (processing_template_decl)
7718 {
7719 yyval.ttype = build_min_nt (SWITCH_STMT, yyvsp[-1].ttype, NULL_TREE);
7720 add_tree (yyval.ttype);
7721 }
7722 else
7723 {
7724 emit_line_note (input_filename, lineno);
7725 c_expand_start_case (yyvsp[-1].ttype);
7726 }
7727 push_switch ();
7728 /* Don't let the tree nodes for $4 be discarded by
7729 clear_momentary during the parsing of the next stmt. */
7730 push_momentary ();
7731 ;
7732 break;}
7733 case 692:
7734 #line 3776 "parse.y"
7735 {
7736 if (processing_template_decl)
7737 {
7738 TREE_OPERAND (yyvsp[-1].ttype, 1) = TREE_CHAIN (yyvsp[-1].ttype);
7739 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
7740 last_tree = yyvsp[-1].ttype;
7741 }
7742 else
7743 expand_end_case (yyvsp[-3].ttype);
7744 pop_momentary ();
7745 pop_switch ();
7746 ;
7747 break;}
7748 case 693:
7749 #line 3789 "parse.y"
7750 { finish_stmt (); ;
7751 break;}
7752 case 694:
7753 #line 3791 "parse.y"
7754 { do_case (yyvsp[-1].ttype, NULL_TREE); ;
7755 break;}
7756 case 696:
7757 #line 3794 "parse.y"
7758 { do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7759 break;}
7760 case 698:
7761 #line 3797 "parse.y"
7762 { do_case (NULL_TREE, NULL_TREE); ;
7763 break;}
7764 case 700:
7765 #line 3800 "parse.y"
7766 { emit_line_note (input_filename, lineno);
7767 if (processing_template_decl)
7768 add_tree (build_min_nt (BREAK_STMT));
7769 else if ( ! expand_exit_something ())
7770 error ("break statement not within loop or switch"); ;
7771 break;}
7772 case 701:
7773 #line 3806 "parse.y"
7774 { emit_line_note (input_filename, lineno);
7775 if (processing_template_decl)
7776 add_tree (build_min_nt (CONTINUE_STMT));
7777 else if (! expand_continue_loop (0))
7778 error ("continue statement not within a loop"); ;
7779 break;}
7780 case 702:
7781 #line 3812 "parse.y"
7782 { emit_line_note (input_filename, lineno);
7783 c_expand_return (NULL_TREE); ;
7784 break;}
7785 case 703:
7786 #line 3815 "parse.y"
7787 { emit_line_note (input_filename, lineno);
7788 c_expand_return (yyvsp[-1].ttype);
7789 finish_stmt ();
7790 ;
7791 break;}
7792 case 704:
7793 #line 3820 "parse.y"
7794 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
7795 emit_line_note (input_filename, lineno);
7796 expand_asm (yyvsp[-2].ttype);
7797 finish_stmt ();
7798 ;
7799 break;}
7800 case 705:
7801 #line 3827 "parse.y"
7802 { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
7803 emit_line_note (input_filename, lineno);
7804 c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7805 yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
7806 input_filename, lineno);
7807 finish_stmt ();
7808 ;
7809 break;}
7810 case 706:
7811 #line 3836 "parse.y"
7812 { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
7813 emit_line_note (input_filename, lineno);
7814 c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7815 yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
7816 input_filename, lineno);
7817 finish_stmt ();
7818 ;
7819 break;}
7820 case 707:
7821 #line 3846 "parse.y"
7822 { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
7823 emit_line_note (input_filename, lineno);
7824 c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
7825 yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
7826 input_filename, lineno);
7827 finish_stmt ();
7828 ;
7829 break;}
7830 case 708:
7831 #line 3854 "parse.y"
7832 {
7833 if (processing_template_decl)
7834 add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
7835 else
7836 { emit_line_note (input_filename, lineno);
7837 expand_computed_goto (yyvsp[-1].ttype); }
7838 ;
7839 break;}
7840 case 709:
7841 #line 3862 "parse.y"
7842 {
7843 if (processing_template_decl)
7844 add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
7845 else
7846 {
7847 tree decl;
7848 emit_line_note (input_filename, lineno);
7849 decl = lookup_label (yyvsp[-1].ttype);
7850 TREE_USED (decl) = 1;
7851 expand_goto (decl);
7852 }
7853 ;
7854 break;}
7855 case 710:
7856 #line 3875 "parse.y"
7857 { finish_stmt (); ;
7858 break;}
7859 case 711:
7860 #line 3877 "parse.y"
7861 { error ("label must be followed by statement");
7862 yyungetc ('}', 0);
7863 finish_stmt (); ;
7864 break;}
7865 case 712:
7866 #line 3881 "parse.y"
7867 { finish_stmt (); ;
7868 break;}
7869 case 714:
7870 #line 3887 "parse.y"
7871 {
7872 if (! current_function_parms_stored)
7873 store_parm_decls ();
7874 expand_start_early_try_stmts ();
7875 ;
7876 break;}
7877 case 715:
7878 #line 3893 "parse.y"
7879 { expand_start_all_catch (); ;
7880 break;}
7881 case 716:
7882 #line 3895 "parse.y"
7883 {
7884 int nested = (hack_decl_function_context
7885 (current_function_decl) != NULL_TREE);
7886 expand_end_all_catch ();
7887 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7888 ;
7889 break;}
7890 case 717:
7891 #line 3905 "parse.y"
7892 {
7893 if (processing_template_decl)
7894 {
7895 yyval.ttype = build_min_nt (TRY_BLOCK, NULL_TREE,
7896 NULL_TREE);
7897 add_tree (yyval.ttype);
7898 }
7899 else
7900 {
7901 emit_line_note (input_filename, lineno);
7902 expand_start_try_stmts ();
7903 }
7904 ;
7905 break;}
7906 case 718:
7907 #line 3919 "parse.y"
7908 {
7909 if (processing_template_decl)
7910 {
7911 TREE_OPERAND (yyvsp[-1].ttype, 0) = TREE_CHAIN (yyvsp[-1].ttype);
7912 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
7913 last_tree = yyvsp[-1].ttype;
7914 }
7915 else
7916 expand_start_all_catch ();
7917 ;
7918 break;}
7919 case 719:
7920 #line 3930 "parse.y"
7921 {
7922 if (processing_template_decl)
7923 {
7924 TREE_OPERAND (yyvsp[-3].ttype, 1) = TREE_CHAIN (yyvsp[-3].ttype);
7925 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7926 last_tree = yyvsp[-3].ttype;
7927 }
7928 else
7929 expand_end_all_catch ();
7930 ;
7931 break;}
7932 case 722:
7933 #line 3949 "parse.y"
7934 {
7935 if (processing_template_decl)
7936 {
7937 yyval.ttype = build_min_nt (HANDLER, NULL_TREE,
7938 NULL_TREE);
7939 add_tree (yyval.ttype);
7940 }
7941 ;
7942 break;}
7943 case 723:
7944 #line 3958 "parse.y"
7945 {
7946 if (processing_template_decl)
7947 {
7948 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7949 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7950 last_tree = yyvsp[-2].ttype;
7951 }
7952 ;
7953 break;}
7954 case 724:
7955 #line 3967 "parse.y"
7956 {
7957 if (processing_template_decl)
7958 {
7959 TREE_OPERAND (yyvsp[-4].ttype, 1) = TREE_CHAIN (yyvsp[-4].ttype);
7960 TREE_CHAIN (yyvsp[-4].ttype) = NULL_TREE;
7961 last_tree = yyvsp[-4].ttype;
7962 }
7963 else
7964 expand_end_catch_block ();
7965 ;
7966 break;}
7967 case 728:
7968 #line 3987 "parse.y"
7969 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7970 break;}
7971 case 729:
7972 #line 4003 "parse.y"
7973 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7974 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7975 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7976 break;}
7977 case 730:
7978 #line 4010 "parse.y"
7979 { tree label;
7980 do_label:
7981 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7982 if (label && ! minimal_parse_mode)
7983 expand_label (label);
7984 ;
7985 break;}
7986 case 731:
7987 #line 4017 "parse.y"
7988 { goto do_label; ;
7989 break;}
7990 case 732:
7991 #line 4019 "parse.y"
7992 { goto do_label; ;
7993 break;}
7994 case 733:
7995 #line 4021 "parse.y"
7996 { goto do_label; ;
7997 break;}
7998 case 734:
7999 #line 4026 "parse.y"
8000 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
8001 break;}
8002 case 736:
8003 #line 4029 "parse.y"
8004 { if (pedantic)
8005 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
8006 ;
8007 break;}
8008 case 737:
8009 #line 4038 "parse.y"
8010 { emit_line_note (input_filename, lineno);
8011 yyval.ttype = NULL_TREE; ;
8012 break;}
8013 case 738:
8014 #line 4041 "parse.y"
8015 { emit_line_note (input_filename, lineno); ;
8016 break;}
8017 case 739:
8018 #line 4046 "parse.y"
8019 { yyval.ttype = NULL_TREE; ;
8020 break;}
8021 case 741:
8022 #line 4049 "parse.y"
8023 { yyval.ttype = NULL_TREE; ;
8024 break;}
8025 case 742:
8026 #line 4056 "parse.y"
8027 { yyval.ttype = NULL_TREE; ;
8028 break;}
8029 case 745:
8030 #line 4063 "parse.y"
8031 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
8032 break;}
8033 case 746:
8034 #line 4068 "parse.y"
8035 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
8036 break;}
8037 case 747:
8038 #line 4073 "parse.y"
8039 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
8040 break;}
8041 case 748:
8042 #line 4075 "parse.y"
8043 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
8044 break;}
8045 case 749:
8046 #line 4086 "parse.y"
8047 {
8048 yyval.ttype = empty_parms();
8049 ;
8050 break;}
8051 case 751:
8052 #line 4091 "parse.y"
8053 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
8054 TREE_PARMLIST (yyval.ttype) = 1;
8055 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
8056 break;}
8057 case 752:
8058 #line 4100 "parse.y"
8059 {
8060 yyval.ttype = chainon (yyval.ttype, void_list_node);
8061 TREE_PARMLIST (yyval.ttype) = 1;
8062 ;
8063 break;}
8064 case 753:
8065 #line 4105 "parse.y"
8066 {
8067 TREE_PARMLIST (yyval.ttype) = 1;
8068 ;
8069 break;}
8070 case 754:
8071 #line 4110 "parse.y"
8072 {
8073 TREE_PARMLIST (yyval.ttype) = 1;
8074 ;
8075 break;}
8076 case 755:
8077 #line 4114 "parse.y"
8078 {
8079 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
8080 TREE_PARMLIST (yyval.ttype) = 1;
8081 ;
8082 break;}
8083 case 756:
8084 #line 4119 "parse.y"
8085 {
8086 yyval.ttype = NULL_TREE;
8087 ;
8088 break;}
8089 case 757:
8090 #line 4123 "parse.y"
8091 {
8092 TREE_PARMLIST (yyval.ttype) = 1;
8093 ;
8094 break;}
8095 case 758:
8096 #line 4127 "parse.y"
8097 {
8098 TREE_PARMLIST (yyval.ttype) = 1;
8099 ;
8100 break;}
8101 case 759:
8102 #line 4131 "parse.y"
8103 {
8104 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
8105 TREE_PARMLIST (yyval.ttype) = 1;
8106 ;
8107 break;}
8108 case 760:
8109 #line 4136 "parse.y"
8110 {
8111 /* This helps us recover from really nasty
8112 parse errors, for example, a missing right
8113 parenthesis. */
8114 yyerror ("possibly missing ')'");
8115 yyval.ttype = chainon (yyval.ttype, void_list_node);
8116 TREE_PARMLIST (yyval.ttype) = 1;
8117 yyungetc (':', 0);
8118 yychar = ')';
8119 ;
8120 break;}
8121 case 761:
8122 #line 4147 "parse.y"
8123 {
8124 /* This helps us recover from really nasty
8125 parse errors, for example, a missing right
8126 parenthesis. */
8127 yyerror ("possibly missing ')'");
8128 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
8129 TREE_PARMLIST (yyval.ttype) = 1;
8130 yyungetc (':', 0);
8131 yychar = ')';
8132 ;
8133 break;}
8134 case 762:
8135 #line 4162 "parse.y"
8136 { maybe_snarf_defarg (); ;
8137 break;}
8138 case 763:
8139 #line 4164 "parse.y"
8140 { yyval.ttype = yyvsp[0].ttype; ;
8141 break;}
8142 case 766:
8143 #line 4175 "parse.y"
8144 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8145 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
8146 break;}
8147 case 767:
8148 #line 4178 "parse.y"
8149 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8150 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
8151 break;}
8152 case 768:
8153 #line 4181 "parse.y"
8154 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8155 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
8156 break;}
8157 case 769:
8158 #line 4184 "parse.y"
8159 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
8160 break;}
8161 case 770:
8162 #line 4186 "parse.y"
8163 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
8164 break;}
8165 case 772:
8166 #line 4192 "parse.y"
8167 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8168 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
8169 break;}
8170 case 773:
8171 #line 4202 "parse.y"
8172 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8173 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
8174 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
8175 break;}
8176 case 774:
8177 #line 4206 "parse.y"
8178 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
8179 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8180 break;}
8181 case 775:
8182 #line 4209 "parse.y"
8183 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
8184 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8185 break;}
8186 case 776:
8187 #line 4212 "parse.y"
8188 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8189 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8190 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8191 break;}
8192 case 777:
8193 #line 4216 "parse.y"
8194 { tree specs = strip_attrs (yyvsp[0].ftype.t);
8195 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
8196 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8197 break;}
8198 case 778:
8199 #line 4220 "parse.y"
8200 { tree specs = strip_attrs (yyvsp[-1].ttype);
8201 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8202 yyval.ftype.new_type_flag = 0; ;
8203 break;}
8204 case 779:
8205 #line 4227 "parse.y"
8206 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
8207 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8208 break;}
8209 case 780:
8210 #line 4230 "parse.y"
8211 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
8212 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8213 break;}
8214 case 783:
8215 #line 4241 "parse.y"
8216 { see_typename (); ;
8217 break;}
8218 case 784:
8219 #line 4246 "parse.y"
8220 {
8221 error ("type specifier omitted for parameter");
8222 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
8223 ;
8224 break;}
8225 case 785:
8226 #line 4251 "parse.y"
8227 {
8228 error ("type specifier omitted for parameter");
8229 if (TREE_CODE (yyval.ttype) == SCOPE_REF
8230 && TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM)
8231 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
8232 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
8233 ;
8234 break;}
8235 case 786:
8236 #line 4262 "parse.y"
8237 { yyval.ttype = NULL_TREE; ;
8238 break;}
8239 case 787:
8240 #line 4264 "parse.y"
8241 { yyval.ttype = yyvsp[-1].ttype; ;
8242 break;}
8243 case 788:
8244 #line 4266 "parse.y"
8245 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
8246 break;}
8247 case 789:
8248 #line 4271 "parse.y"
8249 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
8250 break;}
8251 case 791:
8252 #line 4277 "parse.y"
8253 {
8254 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
8255 yyval.ttype = yyvsp[0].ttype;
8256 ;
8257 break;}
8258 case 792:
8259 #line 4285 "parse.y"
8260 { yyval.ttype = NULL_TREE; ;
8261 break;}
8262 case 793:
8263 #line 4287 "parse.y"
8264 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8265 break;}
8266 case 794:
8267 #line 4289 "parse.y"
8268 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8269 break;}
8270 case 795:
8271 #line 4291 "parse.y"
8272 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
8273 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
8274 ;
8275 break;}
8276 case 796:
8277 #line 4298 "parse.y"
8278 { got_scope = NULL_TREE; ;
8279 break;}
8280 case 797:
8281 #line 4303 "parse.y"
8282 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
8283 break;}
8284 case 798:
8285 #line 4305 "parse.y"
8286 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
8287 break;}
8288 case 799:
8289 #line 4307 "parse.y"
8290 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
8291 break;}
8292 case 800:
8293 #line 4309 "parse.y"
8294 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
8295 break;}
8296 case 801:
8297 #line 4311 "parse.y"
8298 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
8299 break;}
8300 case 802:
8301 #line 4313 "parse.y"
8302 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
8303 break;}
8304 case 803:
8305 #line 4315 "parse.y"
8306 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
8307 break;}
8308 case 804:
8309 #line 4317 "parse.y"
8310 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
8311 break;}
8312 case 805:
8313 #line 4319 "parse.y"
8314 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
8315 break;}
8316 case 806:
8317 #line 4321 "parse.y"
8318 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
8319 break;}
8320 case 807:
8321 #line 4323 "parse.y"
8322 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8323 break;}
8324 case 808:
8325 #line 4325 "parse.y"
8326 { yyval.ttype = ansi_opname[LT_EXPR]; ;
8327 break;}
8328 case 809:
8329 #line 4327 "parse.y"
8330 { yyval.ttype = ansi_opname[GT_EXPR]; ;
8331 break;}
8332 case 810:
8333 #line 4329 "parse.y"
8334 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8335 break;}
8336 case 811:
8337 #line 4331 "parse.y"
8338 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
8339 break;}
8340 case 812:
8341 #line 4333 "parse.y"
8342 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
8343 break;}
8344 case 813:
8345 #line 4335 "parse.y"
8346 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8347 break;}
8348 case 814:
8349 #line 4337 "parse.y"
8350 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8351 break;}
8352 case 815:
8353 #line 4339 "parse.y"
8354 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
8355 break;}
8356 case 816:
8357 #line 4341 "parse.y"
8358 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
8359 break;}
8360 case 817:
8361 #line 4343 "parse.y"
8362 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
8363 break;}
8364 case 818:
8365 #line 4345 "parse.y"
8366 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
8367 break;}
8368 case 819:
8369 #line 4347 "parse.y"
8370 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
8371 break;}
8372 case 820:
8373 #line 4349 "parse.y"
8374 { yyval.ttype = ansi_opname[COND_EXPR]; ;
8375 break;}
8376 case 821:
8377 #line 4351 "parse.y"
8378 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8379 break;}
8380 case 822:
8381 #line 4353 "parse.y"
8382 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
8383 break;}
8384 case 823:
8385 #line 4355 "parse.y"
8386 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
8387 break;}
8388 case 824:
8389 #line 4357 "parse.y"
8390 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
8391 break;}
8392 case 825:
8393 #line 4359 "parse.y"
8394 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
8395 break;}
8396 case 826:
8397 #line 4361 "parse.y"
8398 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
8399 break;}
8400 case 827:
8401 #line 4363 "parse.y"
8402 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
8403 break;}
8404 case 828:
8405 #line 4365 "parse.y"
8406 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
8407 break;}
8408 case 829:
8409 #line 4367 "parse.y"
8410 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
8411 break;}
8412 case 830:
8413 #line 4370 "parse.y"
8414 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
8415 break;}
8416 case 831:
8417 #line 4372 "parse.y"
8418 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
8419 break;}
8420 }
8421 /* the action file gets copied in in place of this dollarsign */
8422 #line 498 "/usr/share/bison.simple"
8423 \f
8424 yyvsp -= yylen;
8425 yyssp -= yylen;
8426 #ifdef YYLSP_NEEDED
8427 yylsp -= yylen;
8428 #endif
8429
8430 #if YYDEBUG != 0
8431 if (yydebug)
8432 {
8433 short *ssp1 = yyss - 1;
8434 fprintf (stderr, "state stack now");
8435 while (ssp1 != yyssp)
8436 fprintf (stderr, " %d", *++ssp1);
8437 fprintf (stderr, "\n");
8438 }
8439 #endif
8440
8441 *++yyvsp = yyval;
8442
8443 #ifdef YYLSP_NEEDED
8444 yylsp++;
8445 if (yylen == 0)
8446 {
8447 yylsp->first_line = yylloc.first_line;
8448 yylsp->first_column = yylloc.first_column;
8449 yylsp->last_line = (yylsp-1)->last_line;
8450 yylsp->last_column = (yylsp-1)->last_column;
8451 yylsp->text = 0;
8452 }
8453 else
8454 {
8455 yylsp->last_line = (yylsp+yylen-1)->last_line;
8456 yylsp->last_column = (yylsp+yylen-1)->last_column;
8457 }
8458 #endif
8459
8460 /* Now "shift" the result of the reduction.
8461 Determine what state that goes to,
8462 based on the state we popped back to
8463 and the rule number reduced by. */
8464
8465 yyn = yyr1[yyn];
8466
8467 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
8468 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8469 yystate = yytable[yystate];
8470 else
8471 yystate = yydefgoto[yyn - YYNTBASE];
8472
8473 goto yynewstate;
8474
8475 yyerrlab: /* here on detecting error */
8476
8477 if (! yyerrstatus)
8478 /* If not already recovering from an error, report this error. */
8479 {
8480 ++yynerrs;
8481
8482 #ifdef YYERROR_VERBOSE
8483 yyn = yypact[yystate];
8484
8485 if (yyn > YYFLAG && yyn < YYLAST)
8486 {
8487 int size = 0;
8488 char *msg;
8489 int x, count;
8490
8491 count = 0;
8492 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8493 for (x = (yyn < 0 ? -yyn : 0);
8494 x < (sizeof(yytname) / sizeof(char *)); x++)
8495 if (yycheck[x + yyn] == x)
8496 size += strlen(yytname[x]) + 15, count++;
8497 msg = (char *) malloc(size + 15);
8498 if (msg != 0)
8499 {
8500 strcpy(msg, "parse error");
8501
8502 if (count < 5)
8503 {
8504 count = 0;
8505 for (x = (yyn < 0 ? -yyn : 0);
8506 x < (sizeof(yytname) / sizeof(char *)); x++)
8507 if (yycheck[x + yyn] == x)
8508 {
8509 strcat(msg, count == 0 ? ", expecting `" : " or `");
8510 strcat(msg, yytname[x]);
8511 strcat(msg, "'");
8512 count++;
8513 }
8514 }
8515 yyerror(msg);
8516 free(msg);
8517 }
8518 else
8519 yyerror ("parse error; also virtual memory exceeded");
8520 }
8521 else
8522 #endif /* YYERROR_VERBOSE */
8523 yyerror("parse error");
8524 }
8525
8526 goto yyerrlab1;
8527 yyerrlab1: /* here on error raised explicitly by an action */
8528
8529 if (yyerrstatus == 3)
8530 {
8531 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8532
8533 /* return failure if at end of input */
8534 if (yychar == YYEOF)
8535 YYABORT;
8536
8537 #if YYDEBUG != 0
8538 if (yydebug)
8539 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8540 #endif
8541
8542 yychar = YYEMPTY;
8543 }
8544
8545 /* Else will try to reuse lookahead token
8546 after shifting the error token. */
8547
8548 yyerrstatus = 3; /* Each real token shifted decrements this */
8549
8550 goto yyerrhandle;
8551
8552 yyerrdefault: /* current state does not do anything special for the error token. */
8553
8554 #if 0
8555 /* This is wrong; only states that explicitly want error tokens
8556 should shift them. */
8557 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8558 if (yyn) goto yydefault;
8559 #endif
8560
8561 yyerrpop: /* pop the current state because it cannot handle the error token */
8562
8563 if (yyssp == yyss) YYABORT;
8564 yyvsp--;
8565 yystate = *--yyssp;
8566 #ifdef YYLSP_NEEDED
8567 yylsp--;
8568 #endif
8569
8570 #if YYDEBUG != 0
8571 if (yydebug)
8572 {
8573 short *ssp1 = yyss - 1;
8574 fprintf (stderr, "Error: state stack now");
8575 while (ssp1 != yyssp)
8576 fprintf (stderr, " %d", *++ssp1);
8577 fprintf (stderr, "\n");
8578 }
8579 #endif
8580
8581 yyerrhandle:
8582
8583 yyn = yypact[yystate];
8584 if (yyn == YYFLAG)
8585 goto yyerrdefault;
8586
8587 yyn += YYTERROR;
8588 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8589 goto yyerrdefault;
8590
8591 yyn = yytable[yyn];
8592 if (yyn < 0)
8593 {
8594 if (yyn == YYFLAG)
8595 goto yyerrpop;
8596 yyn = -yyn;
8597 goto yyreduce;
8598 }
8599 else if (yyn == 0)
8600 goto yyerrpop;
8601
8602 if (yyn == YYFINAL)
8603 YYACCEPT;
8604
8605 #if YYDEBUG != 0
8606 if (yydebug)
8607 fprintf(stderr, "Shifting error token, ");
8608 #endif
8609
8610 *++yyvsp = yylval;
8611 #ifdef YYLSP_NEEDED
8612 *++yylsp = yylloc;
8613 #endif
8614
8615 yystate = yyn;
8616 goto yynewstate;
8617 }
8618 #line 4375 "parse.y"
8619
8620
8621 #ifdef SPEW_DEBUG
8622 const char *
8623 debug_yytranslate (value)
8624 int value;
8625 {
8626 return yytname[YYTRANSLATE (value)];
8627 }
8628
8629 #endif