]> andersk Git - splint.git/blob - src/cgrammar.c.der
Fixed manual csvoverwrite.
[splint.git] / src / cgrammar.c.der
1 /*
2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER:  Change bison.reset too.
4 */
5
6 /*@-allmacros@*/
7 /*@+boolint@*/
8 /*@+charint@*/
9 /*@-macroparams@*/
10 /*@-macroundef@*/
11 /*@-unreachable@*/
12 /*@-macrospec@*/
13 /*@-varuse@*/
14 /*@+ignorequals@*/
15 /*@-macrostmt@*/
16 /*@-noeffect@*/
17 /*@-shadow@*/
18 /*@-exitarg@*/
19 /*@-macroredef@*/
20 /*@-uniondef@*/
21 /*@-compdef@*/
22 /*@-matchfields@*/
23 /*@-exportlocal@*/
24 /*@-evalorderuncon@*/
25 /*@-exportheader@*/
26 /*@-typeuse@*/
27 /*@-redecl@*/
28 /*@-redef@*/
29 /*@-noparams@*/
30 /*@-ansireserved@*/
31 /*@-fielduse@*/
32 /*@-ifblock@*/
33 /*@-elseifcomplete@*/
34 /*@-whileblock@*/
35 /*@-forblock@*/
36 /*@-branchstate@*/
37 /*@-readonlytrans@*/
38 /*@-namechecks@*/
39 /*@-usedef@*/
40 /*@-systemunrecog@*/
41 /*@-dependenttrans@*/
42 /*@-unqualifiedtrans@*/
43 /*@-nullassign@*/
44 /*@-nullpass@*/
45 /*@-nullptrarith*/
46 /*@-usereleased@*/
47 /*@-declundef@*/
48
49 /*drl added 11/27/2001*/
50 /*@-bounds@*/
51
52 /*drl added 12/11/2002*/
53 /*@-type@*/
54
55 /* < end of bison.head > */
56
57 /* A Bison parser, made from cgrammar.y
58    by GNU bison 1.35.  */
59
60 #define YYBISON 1  /* Identify Bison output.  */
61
62 # define        BADTOK  257
63 # define        SKIPTOK 258
64 # define        CTOK_ELIPSIS    259
65 # define        CASE    260
66 # define        DEFAULT 261
67 # define        CIF     262
68 # define        CELSE   263
69 # define        SWITCH  264
70 # define        WHILE   265
71 # define        DO      266
72 # define        CFOR    267
73 # define        GOTO    268
74 # define        CONTINUE        269
75 # define        BREAK   270
76 # define        RETURN  271
77 # define        TSEMI   272
78 # define        TLBRACE 273
79 # define        TRBRACE 274
80 # define        TCOMMA  275
81 # define        TCOLON  276
82 # define        TASSIGN 277
83 # define        TLPAREN 278
84 # define        TRPAREN 279
85 # define        TLSQBR  280
86 # define        TRSQBR  281
87 # define        TDOT    282
88 # define        TAMPERSAND      283
89 # define        TEXCL   284
90 # define        TTILDE  285
91 # define        TMINUS  286
92 # define        TPLUS   287
93 # define        TMULT   288
94 # define        TDIV    289
95 # define        TPERCENT        290
96 # define        TLT     291
97 # define        TGT     292
98 # define        TCIRC   293
99 # define        TBAR    294
100 # define        TQUEST  295
101 # define        CSIZEOF 296
102 # define        CALIGNOF        297
103 # define        CTYPEOF 298
104 # define        ARROW_OP        299
105 # define        CTYPEDEF        300
106 # define        COFFSETOF       301
107 # define        INC_OP  302
108 # define        DEC_OP  303
109 # define        LEFT_OP 304
110 # define        RIGHT_OP        305
111 # define        LE_OP   306
112 # define        GE_OP   307
113 # define        EQ_OP   308
114 # define        NE_OP   309
115 # define        AND_OP  310
116 # define        OR_OP   311
117 # define        MUL_ASSIGN      312
118 # define        DIV_ASSIGN      313
119 # define        MOD_ASSIGN      314
120 # define        ADD_ASSIGN      315
121 # define        SUB_ASSIGN      316
122 # define        LEFT_ASSIGN     317
123 # define        RIGHT_ASSIGN    318
124 # define        AND_ASSIGN      319
125 # define        XOR_ASSIGN      320
126 # define        OR_ASSIGN       321
127 # define        CSTRUCT 322
128 # define        CUNION  323
129 # define        CENUM   324
130 # define        VA_ARG  325
131 # define        VA_DCL  326
132 # define        QWARN   327
133 # define        QGLOBALS        328
134 # define        QMODIFIES       329
135 # define        QNOMODS 330
136 # define        QCONSTANT       331
137 # define        QFUNCTION       332
138 # define        QITER   333
139 # define        QDEFINES        334
140 # define        QUSES   335
141 # define        QALLOCATES      336
142 # define        QSETS   337
143 # define        QRELEASES       338
144 # define        QPRECLAUSE      339
145 # define        QPOSTCLAUSE     340
146 # define        QINVARIANT      341
147 # define        QALT    342
148 # define        QUNDEF  343
149 # define        QKILLED 344
150 # define        QENDMACRO       345
151 # define        LLMACRO 346
152 # define        LLMACROITER     347
153 # define        LLMACROEND      348
154 # define        TENDMACRO       349
155 # define        QDREVEALSTATE   350
156 # define        QSWITCHBREAK    351
157 # define        QLOOPBREAK      352
158 # define        QINNERBREAK     353
159 # define        QSAFEBREAK      354
160 # define        QINNERCONTINUE  355
161 # define        QFALLTHROUGH    356
162 # define        QLINTNOTREACHED 357
163 # define        QLINTFALLTHROUGH        358
164 # define        QLINTFALLTHRU   359
165 # define        QARGSUSED       360
166 # define        QPRINTFLIKE     361
167 # define        QLINTPRINTFLIKE 362
168 # define        QSCANFLIKE      363
169 # define        QMESSAGELIKE    364
170 # define        QNOTREACHED     365
171 # define        QCONST  366
172 # define        QRESTRICT       367
173 # define        QVOLATILE       368
174 # define        QINLINE 369
175 # define        QEXTENSION      370
176 # define        QEXTERN 371
177 # define        QSTATIC 372
178 # define        QAUTO   373
179 # define        QREGISTER       374
180 # define        QOUT    375
181 # define        QIN     376
182 # define        QYIELD  377
183 # define        QONLY   378
184 # define        QTEMP   379
185 # define        QSHARED 380
186 # define        QREF    381
187 # define        QUNIQUE 382
188 # define        QCHECKED        383
189 # define        QUNCHECKED      384
190 # define        QCHECKEDSTRICT  385
191 # define        QCHECKMOD       386
192 # define        QKEEP   387
193 # define        QKEPT   388
194 # define        QPARTIAL        389
195 # define        QSPECIAL        390
196 # define        QOWNED  391
197 # define        QDEPENDENT      392
198 # define        QRETURNED       393
199 # define        QEXPOSED        394
200 # define        QNULL   395
201 # define        QOBSERVER       396
202 # define        QISNULL 397
203 # define        QEXITS  398
204 # define        QMAYEXIT        399
205 # define        QNEVEREXIT      400
206 # define        QTRUEEXIT       401
207 # define        QFALSEEXIT      402
208 # define        QLONG   403
209 # define        QSIGNED 404
210 # define        QUNSIGNED       405
211 # define        QSHORT  406
212 # define        QUNUSED 407
213 # define        QSEF    408
214 # define        QNOTNULL        409
215 # define        QRELNULL        410
216 # define        QABSTRACT       411
217 # define        QNUMABSTRACT    412
218 # define        QCONCRETE       413
219 # define        QMUTABLE        414
220 # define        QIMMUTABLE      415
221 # define        QTRUENULL       416
222 # define        QFALSENULL      417
223 # define        QEXTERNAL       418
224 # define        QREFCOUNTED     419
225 # define        QREFS   420
226 # define        QNEWREF 421
227 # define        QTEMPREF        422
228 # define        QKILLREF        423
229 # define        QRELDEF 424
230 # define        CGCHAR  425
231 # define        CBOOL   426
232 # define        CINT    427
233 # define        CGFLOAT 428
234 # define        CDOUBLE 429
235 # define        CVOID   430
236 # define        QANYTYPE        431
237 # define        QINTEGRALTYPE   432
238 # define        QUNSIGNEDINTEGRALTYPE   433
239 # define        QSIGNEDINTEGRALTYPE     434
240 # define        QNULLTERMINATED 435
241 # define        QSETBUFFERSIZE  436
242 # define        QSETSTRINGLENGTH        437
243 # define        QMAXSET 438
244 # define        QMAXREAD        439
245 # define        QTESTINRANGE    440
246 # define        TCAND   441
247 # define        IDENTIFIER      442
248 # define        NEW_IDENTIFIER  443
249 # define        TYPE_NAME_OR_ID 444
250 # define        CANNOTATION     445
251 # define        CCONSTANT       446
252 # define        ITER_NAME       447
253 # define        ITER_ENDNAME    448
254 # define        TYPE_NAME       449
255 # define        METASTATE_NAME  450
256
257
258 /*
259 **
260 ** cgrammar.y
261 **
262 ** Yacc/Bison grammar for extended ANSI C used by Splint.
263 **
264 ** original grammar by Nate Osgood ---
265 **    hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
266 **
267 ** changes for Splint --- handle typedef names correctly
268 ** fix struct/union parsing bug (empty struct is accepted)
269 ** add productions to handle macros --- require
270 ** error correction --- main source of conflicts in grammar.
271 ** need to process initializations sequentially, L->R
272 **
273 ** production names are cryptic, so more productions fit on one line
274 **
275 ** conflicts:  87 shift/reduce, 18 reduce/reduce
276 ** most of these are due to handling macros
277 ** a few are due to handling type expressions
278 */
279
280 /*@=allmacros@*/
281
282 extern int yylex ();
283 extern void yyerror (char *);
284
285 # include "splintMacros.nf"
286 # include "basic.h"
287 # include "cscanner.h"
288 # include "cscannerHelp.h"
289 # include "cgrammar.h"
290 # include "exprChecks.h"
291
292 /*@-allmacros@*/
293 /*@-matchfields@*/
294
295 # define SHOWCSYM FALSE
296
297 /*
298 ** This is necessary, or else when the bison-generated code #include's malloc.h,
299 ** there will be a parse error.
300 **
301 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
302 ** in bison-generated files under Win32.
303 */
304
305 # ifdef WIN32
306 # undef malloc
307 # undef calloc
308 # undef realloc
309 # endif
310
311
312 #ifndef cgrammar_YYSTYPE
313 typedef union
314 {
315   lltok tok;
316   int count;
317   qual typequal;
318   qualList tquallist;
319   ctype ctyp;
320   /*@dependent@*/ sRef sr;
321   /*@only@*/ sRef osr;
322
323   /*@only@*/ functionClauseList funcclauselist;
324   /*@only@*/ functionClause funcclause;  
325   /*@only@*/ flagSpec flagspec;
326   /*@only@*/ globalsClause globsclause;
327   /*@only@*/ modifiesClause modsclause;
328   /*@only@*/ warnClause warnclause;
329   /*@only@*/ stateClause stateclause;
330   /*@only@*/ pointers pointers;
331   /*@only@*/ functionConstraint fcnconstraint; 
332
333   /*@only@*/ metaStateConstraint msconstraint;
334   /*@only@*/ metaStateSpecifier msspec;
335   /*@only@*/ metaStateExpression msexpr;
336   /*@observer@*/ metaStateInfo msinfo;
337
338   /*@only@*/ sRefList srlist;
339   /*@only@*/ globSet globset;
340   /*@only@*/ qtype qtyp;
341   /*@only@*/ cstring cname;
342   /*@observer@*/ annotationInfo annotation;
343   /*@only@*/ idDecl ntyp;
344   /*@only@*/ idDeclList ntyplist;
345   /*@only@*/ uentryList flist;
346   /*@owned@*/ uentryList entrylist;
347   /*@observer@*/ /*@dependent@*/ uentry entry;
348   /*@only@*/ uentry oentry;
349   /*@only@*/ exprNode expr;
350   /*@only@*/ enumNameList enumnamelist;
351   /*@only@*/ exprNodeList exprlist;
352   /*@only@*/ sRefSet srset; 
353   /*@only@*/ cstringList cstringlist;
354
355   /*drl
356     added 1/19/2001
357   */
358   constraint con;
359   constraintList conL;
360   constraintExpr conE;
361   /* drl */  
362 } yystype;
363 # define cgrammar_YYSTYPE yystype
364 # define cgrammar_YYSTYPE_IS_TRIVIAL 1
365 #endif
366 #ifndef YYDEBUG
367 # define YYDEBUG 1
368 #endif
369
370
371
372 #define YYFINAL         1256
373 #define YYFLAG          -32768
374 #define YYNTBASE        197
375
376 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
377 #define YYTRANSLATE(x) ((unsigned)(x) <= 450 ? yytranslate[x] : 468)
378
379 /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
380 static const short yytranslate[] =
381 {
382        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
383        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
384        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
385        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
386        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
387        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
388        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
389        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
390        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
391        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
392        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
393        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
394        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
395        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
396        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
397        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
398        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
399        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
400        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
401        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
402        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
403        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
404        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
405        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
406        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
407        2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
408        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
409       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
410       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
411       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
412       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
413       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
414       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
415       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
416       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
417       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
418      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
419      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
420      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
421      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
422      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
423      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
424      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
425      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
426      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
427      196
428 };
429
430 #if YYDEBUG
431 static const short yyprhs[] =
432 {
433        0,     0,     1,     3,     5,     8,    11,    13,    15,    17,
434       19,    21,    23,    25,    34,    46,    47,    53,    55,    59,
435       61,    64,    66,    73,    77,    84,    85,    92,    93,   101,
436      103,   110,   114,   121,   122,   129,   130,   138,   139,   140,
437      151,   155,   159,   163,   166,   168,   172,   173,   178,   179,
438      184,   186,   190,   192,   194,   196,   200,   202,   206,   208,
439      210,   212,   214,   216,   218,   223,   229,   231,   233,   235,
440      237,   241,   246,   249,   253,   257,   261,   263,   265,   267,
441      268,   271,   272,   275,   277,   279,   281,   283,   285,   287,
442      289,   291,   293,   295,   297,   299,   302,   303,   308,   310,
443      313,   314,   318,   320,   324,   326,   328,   329,   332,   336,
444      339,   341,   345,   348,   349,   352,   354,   356,   358,   360,
445      362,   364,   366,   368,   370,   372,   374,   376,   378,   380,
446      382,   384,   388,   389,   393,   394,   395,   400,   403,   406,
447      408,   410,   412,   414,   418,   423,   426,   430,   434,   438,
448      440,   442,   444,   448,   450,   452,   456,   461,   464,   468,
449      472,   476,   477,   479,   481,   485,   487,   489,   491,   495,
450      497,   499,   500,   505,   507,   512,   516,   521,   528,   534,
451      540,   543,   546,   554,   556,   560,   562,   565,   568,   571,
452      574,   577,   580,   583,   586,   590,   592,   596,   601,   603,
453      613,   614,   618,   619,   620,   625,   628,   633,   636,   638,
454      643,   645,   649,   653,   657,   659,   663,   667,   669,   673,
455      677,   679,   683,   687,   691,   695,   697,   701,   705,   707,
456      711,   713,   717,   719,   723,   725,   726,   731,   733,   734,
457      739,   741,   742,   743,   751,   753,   757,   761,   765,   769,
458      773,   777,   781,   785,   789,   793,   797,   799,   803,   804,
459      806,   808,   810,   812,   814,   818,   819,   829,   830,   842,
460      844,   846,   849,   850,   857,   858,   867,   872,   877,   878,
461      879,   882,   884,   889,   892,   894,   899,   900,   905,   907,
462      911,   916,   919,   922,   925,   927,   930,   934,   937,   939,
463      943,   945,   947,   949,   951,   953,   956,   957,   964,   967,
464      970,   971,   978,   979,   985,   987,   989,   991,   993,   995,
465      997,   999,  1001,  1003,  1005,  1007,  1009,  1011,  1013,  1015,
466     1017,  1019,  1021,  1023,  1025,  1027,  1029,  1031,  1033,  1035,
467     1037,  1039,  1041,  1043,  1045,  1047,  1049,  1051,  1053,  1055,
468     1057,  1059,  1061,  1063,  1065,  1067,  1069,  1071,  1073,  1075,
469     1077,  1079,  1081,  1083,  1085,  1087,  1089,  1091,  1094,  1097,
470     1100,  1103,  1106,  1109,  1112,  1115,  1118,  1121,  1124,  1127,
471     1130,  1133,  1136,  1139,  1142,  1145,  1148,  1151,  1154,  1157,
472     1160,  1163,  1166,  1169,  1173,  1175,  1180,  1182,  1186,  1189,
473     1192,  1195,  1196,  1198,  1199,  1200,  1201,  1214,  1215,  1216,
474     1228,  1235,  1242,  1243,  1244,  1255,  1256,  1257,  1268,  1274,
475     1280,  1285,  1290,  1291,  1293,  1295,  1298,  1304,  1308,  1311,
476     1316,  1318,  1322,  1327,  1334,  1335,  1344,  1349,  1351,  1355,
477     1358,  1360,  1365,  1367,  1369,  1372,  1375,  1377,  1380,  1382,
478     1385,  1387,  1389,  1391,  1393,  1396,  1398,  1401,  1404,  1408,
479     1410,  1414,  1416,  1420,  1422,  1424,  1428,  1429,  1432,  1433,
480     1438,  1443,  1445,  1447,  1450,  1452,  1454,  1457,  1458,  1460,
481     1466,  1469,  1473,  1477,  1482,  1486,  1491,  1496,  1502,  1504,
482     1506,  1508,  1510,  1512,  1514,  1516,  1518,  1520,  1522,  1527,
483     1529,  1531,  1533,  1536,  1539,  1547,  1554,  1557,  1558,  1559,
484     1570,  1571,  1578,  1580,  1582,  1584,  1586,  1589,  1591,  1593,
485     1595,  1597,  1599,  1601,  1603,  1607,  1609,  1610,  1614,  1617,
486     1620,  1622,  1624,  1626,  1628,  1630,  1632,  1634,  1636,  1638,
487     1640,  1644,  1646,  1648,  1650,  1653,  1656,  1657,  1660,  1661,
488     1666,  1667,  1674,  1675,  1679,  1680,  1686,  1690,  1693,  1697,
489     1698,  1699,  1700,  1701,  1702,  1704,  1707,  1710,  1714,  1717,
490     1721,  1725,  1730,  1733,  1736,  1740,  1744,  1749,  1751,  1754,
491     1756,  1759,  1761,  1765,  1767,  1772,  1774,  1777,  1779,  1782,
492     1784,  1787,  1789,  1794,  1797,  1798,  1804,  1805,  1812,  1817,
493     1822,  1823,  1824,  1835,  1837,  1838,  1843,  1845,  1847,  1849,
494     1851,  1853,  1856,  1858,  1862,  1864,  1869,  1873,  1878,  1885,
495     1891,  1897,  1900,  1903,  1905,  1908,  1911,  1914,  1917,  1920,
496     1923,  1926,  1929,  1931,  1933,  1938,  1940,  1944,  1948,  1952,
497     1954,  1958,  1962,  1964,  1968,  1972,  1974,  1978,  1982,  1986,
498     1990,  1992,  1996,  2000,  2002,  2006,  2008,  2012,  2014,  2018,
499     2020,  2024,  2026,  2030,  2032,  2033,  2034,  2042,  2044,  2048,
500     2052,  2056,  2060,  2064,  2068,  2072,  2076,  2080,  2084,  2088,
501     2090,  2091,  2093,  2096,  2104,  2107,  2110,  2118,  2125,  2128,
502     2132,  2135,  2139,  2142,  2146,  2150,  2154,  2158,  2161,  2165,
503     2166,  2168,  2169,  2171,  2173,  2175,  2177,  2179,  2181,  2183,
504     2185,  2187,  2192
505 };
506 static const short yyrhs[] =
507 {
508       -1,   198,     0,   199,     0,   198,   199,     0,   260,   463,
509        0,   200,     0,   201,     0,   211,     0,   214,     0,   300,
510        0,    18,     0,     1,     0,    77,   344,   358,   368,   358,
511      463,   309,    91,     0,    77,   344,   358,   368,   358,    23,
512      309,   316,   315,   463,    91,     0,     0,    78,   202,   203,
513      463,    91,     0,   204,     0,   344,   358,   204,     0,   208,
514        0,   372,   208,     0,   466,     0,   309,    24,   358,   368,
515      309,    25,     0,   205,    26,    27,     0,   205,    26,   309,
516      299,    27,   358,     0,     0,   205,   310,    24,    25,   206,
517      232,     0,     0,   205,   310,    24,   369,    25,   207,   232,
518        0,   466,     0,   309,    24,   358,   204,   309,    25,     0,
519      208,    26,    27,     0,   208,    26,   309,   299,    27,   358,
520        0,     0,   208,   310,    24,    25,   209,   233,     0,     0,
521      208,   310,    24,   369,    25,   210,   233,     0,     0,     0,
522       79,   466,    24,   369,    25,   212,   233,   213,   463,    91,
523        0,    92,   400,    95,     0,    93,   386,    95,     0,    94,
524      387,    95,     0,    92,    95,     0,   255,     0,   217,    23,
525      220,     0,     0,   229,   218,    22,   221,     0,     0,     5,
526      219,    22,   221,     0,   217,     0,   217,    40,   220,     0,
527      196,     0,   187,     0,    56,     0,   224,   222,   223,     0,
528      224,     0,   227,   226,   227,     0,   184,     0,   185,     0,
529       53,     0,    52,     0,    54,     0,   228,     0,   230,    24,
530      227,    25,     0,    24,   227,   231,   227,    25,     0,   229,
531        0,   192,     0,   465,     0,   189,     0,   229,    26,    27,
532        0,   229,    26,   192,    27,     0,    34,   229,     0,    24,
533      229,    25,     0,   229,    28,   466,     0,   229,    45,   466,
534        0,   225,     0,    33,     0,    32,     0,     0,   234,   232,
535        0,     0,   235,   233,     0,   236,     0,   240,     0,   239,
536        0,   322,     0,   325,     0,   246,     0,   237,     0,   241,
537        0,   239,     0,   323,     0,   327,     0,   247,     0,   237,
538       91,     0,     0,    74,   238,   248,   463,     0,    76,     0,
539      241,    91,     0,     0,    75,   242,   261,     0,   244,     0,
540      244,    40,   243,     0,   189,     0,   246,     0,     0,   247,
541       91,     0,    73,   243,   439,     0,    73,   243,     0,   249,
542        0,   248,    21,   249,     0,   250,   251,     0,     0,   252,
543      250,     0,   465,     0,   189,     0,   300,     0,    89,     0,
544       90,     0,   121,     0,   122,     0,   135,     0,    80,     0,
545       81,     0,    82,     0,    83,     0,    84,     0,    85,     0,
546       86,     0,   368,     0,   344,   358,   368,     0,     0,    19,
547      257,   417,     0,     0,     0,   258,   421,   259,   410,     0,
548      215,   256,     0,   264,   463,     0,   463,     0,   465,     0,
549      189,     0,   190,     0,   262,    26,    27,     0,   262,    26,
550      263,    27,     0,    34,   262,     0,    24,   262,    25,     0,
551      262,    28,   466,     0,   262,    45,   466,     0,   262,     0,
552      439,     0,   262,     0,   264,    21,   262,     0,   465,     0,
553      189,     0,   265,    26,    27,     0,   265,    26,   263,    27,
554        0,    34,   265,     0,    24,   265,    25,     0,   265,    28,
555      466,     0,   265,    45,   466,     0,     0,   267,     0,   265,
556        0,   267,    21,   265,     0,   465,     0,   189,     0,   439,
557        0,    24,   297,    25,     0,   190,     0,   116,     0,     0,
558       24,   269,   410,    25,     0,   268,     0,   270,    26,   297,
559       27,     0,   270,    24,    25,     0,   270,    24,   271,    25,
560        0,    71,    24,   296,    21,   380,    25,     0,   270,   358,
561       28,   466,   309,     0,   270,   358,    45,   466,   309,     0,
562      270,    48,     0,   270,    49,     0,    24,   380,    25,    19,
563      422,   464,    20,     0,   296,     0,   271,    21,   296,     0,
564      270,     0,    48,   272,     0,    49,   272,     0,    29,   280,
565        0,    34,   280,     0,    33,   280,     0,    32,   280,     0,
566       31,   280,     0,    30,   280,     0,   277,   275,   278,     0,
567      274,     0,   273,    28,   466,     0,   273,    26,   297,    27,
568        0,   466,     0,    47,   309,    24,   380,   358,    21,   273,
569       25,   309,     0,     0,   309,   276,   279,     0,     0,     0,
570       42,    24,   380,    25,     0,    42,   272,     0,    43,    24,
571      380,    25,     0,    43,   272,     0,   272,     0,    24,   380,
572       25,   280,     0,   280,     0,   281,    34,   280,     0,   281,
573       35,   280,     0,   281,    36,   280,     0,   281,     0,   282,
574       33,   281,     0,   282,    32,   281,     0,   282,     0,   283,
575       50,   282,     0,   283,    51,   282,     0,   283,     0,   284,
576       37,   283,     0,   284,    38,   283,     0,   284,    52,   283,
577        0,   284,    53,   283,     0,   284,     0,   285,    54,   284,
578        0,   285,    55,   284,     0,   285,     0,   286,    29,   285,
579        0,   286,     0,   287,    39,   286,     0,   287,     0,   288,
580       40,   287,     0,   288,     0,     0,   289,    56,   290,   288,
581        0,   289,     0,     0,   291,    57,   292,   289,     0,   291,
582        0,     0,     0,   291,    41,   294,   297,    22,   295,   293,
583        0,   293,     0,   272,    23,   296,     0,   272,    58,   296,
584        0,   272,    59,   296,     0,   272,    60,   296,     0,   272,
585       61,   296,     0,   272,    62,   296,     0,   272,    63,   296,
586        0,   272,    64,   296,     0,   272,    65,   296,     0,   272,
587       66,   296,     0,   272,    67,   296,     0,   296,     0,   297,
588       21,   296,     0,     0,   297,     0,   293,     0,   301,     0,
589       72,     0,   307,     0,   344,   309,    18,     0,     0,   344,
590      358,   368,   358,   302,   309,   315,    18,   309,     0,     0,
591      344,   358,   368,   358,    23,   303,   309,   316,   315,    18,
592      309,     0,   305,     0,   195,     0,   368,   358,     0,     0,
593      368,   358,    23,   306,   309,   316,     0,     0,    46,   344,
594      308,   358,   313,   309,   245,    18,     0,    46,   344,   309,
595       18,     0,    46,   311,   309,    18,     0,     0,     0,   312,
596      309,     0,   305,     0,   311,    21,   358,   305,     0,   314,
597      309,     0,   304,     0,   313,    21,   358,   304,     0,     0,
598      315,    21,   358,   305,     0,   296,     0,    19,   320,    20,
599        0,    19,   320,    21,    20,     0,   317,   316,     0,   318,
600       23,     0,   466,    22,     0,   319,     0,   318,   319,     0,
601       26,   299,    27,     0,    28,   466,     0,   316,     0,   320,
602       21,   316,     0,   117,     0,   115,     0,   118,     0,   119,
603        0,   120,     0,   323,    91,     0,     0,   253,   358,   324,
604      267,   463,   309,     0,   327,    91,     0,   254,   358,     0,
605        0,   326,   333,   328,   266,   463,   309,     0,     0,   326,
606      329,   330,   463,   309,     0,   223,     0,   216,     0,   144,
607        0,   145,     0,   147,     0,   148,     0,   146,     0,   129,
608        0,   132,     0,   130,     0,   131,     0,   137,     0,   138,
609        0,   123,     0,   125,     0,   124,     0,   133,     0,   134,
610        0,   126,     0,   128,     0,   141,     0,   143,     0,   156,
611        0,   155,     0,   140,     0,   142,     0,   181,     0,   191,
612        0,   139,     0,   154,     0,   153,     0,   164,     0,   162,
613        0,   163,     0,   157,     0,   158,     0,   159,     0,   160,
614        0,   161,     0,   165,     0,   166,     0,   169,     0,   170,
615        0,   167,     0,   168,     0,   152,     0,   149,     0,   150,
616        0,   151,     0,   121,     0,   122,     0,   135,     0,   136,
617        0,   112,   309,     0,   114,   309,     0,   113,   309,     0,
618      340,   309,     0,   333,   309,     0,   331,   309,     0,   334,
619      309,     0,   332,   309,     0,   336,   309,     0,   335,   309,
620        0,   337,   309,     0,   338,   309,     0,   171,   358,     0,
621      173,   358,     0,   172,   358,     0,   174,   358,     0,   175,
622      358,     0,   176,   358,     0,   177,   358,     0,   178,   358,
623        0,   179,   358,     0,   180,   358,     0,   467,   358,     0,
624      349,   358,     0,   363,   358,     0,   339,   358,     0,   309,
625      344,   309,     0,   346,     0,   346,    88,   345,    91,     0,
626      380,     0,   380,    21,   345,     0,   321,   347,     0,   341,
627      347,     0,   342,   347,     0,     0,   344,     0,     0,     0,
628        0,   358,    68,   466,   309,    19,   350,   414,   359,   415,
629      351,    20,   348,     0,     0,     0,   358,    69,   466,   309,
630       19,   352,   414,   359,   415,   353,    20,     0,   358,    68,
631      466,   309,    19,    20,     0,   358,    69,   466,   309,    19,
632       20,     0,     0,     0,   358,    68,   309,    19,   354,   414,
633      359,   415,   355,    20,     0,     0,     0,   358,    69,   309,
634       19,   356,   414,   359,   415,   357,    20,     0,   358,    68,
635      309,    19,    20,     0,   358,    69,   309,    19,    20,     0,
636      358,    68,   466,   358,     0,   358,    69,   466,   358,     0,
637        0,   360,     0,   214,     0,   359,   360,     0,   344,   358,
638      361,   309,    18,     0,   344,   309,    18,     0,   362,   358,
639        0,   361,    21,   362,   358,     0,   368,     0,    22,   309,
640      299,     0,   368,    22,   309,   299,     0,   358,    70,    19,
641      365,    20,   309,     0,     0,   358,    70,   466,    19,   364,
642      365,    20,   309,     0,   358,    70,   466,   309,     0,   366,
643        0,   365,    21,   366,     0,   365,    21,     0,   466,     0,
644      466,    23,   309,   299,     0,   205,     0,   382,     0,   372,
645      195,     0,   372,   367,     0,   205,     0,   372,   205,     0,
646      375,     0,   358,   373,     0,   112,     0,   113,     0,   114,
647        0,   370,     0,   371,   370,     0,    34,     0,    34,   371,
648        0,    34,   372,     0,    34,   371,   372,     0,   374,     0,
649      374,    21,     5,     0,   466,     0,   374,    21,   466,     0,
650        5,     0,   376,     0,   376,    21,     5,     0,     0,   377,
651      379,     0,     0,   376,    21,   378,   379,     0,   309,   344,
652      367,   309,     0,   466,     0,   343,     0,   343,   381,     0,
653      372,     0,   383,     0,   372,   383,     0,     0,   383,     0,
654      309,    24,   358,   381,    25,     0,    26,    27,     0,    26,
655      299,    27,     0,   383,    26,    27,     0,   383,    26,   299,
656       27,     0,   309,    24,    25,     0,   309,    24,   375,    25,
657        0,   383,   309,    24,    25,     0,   383,   309,    24,   375,
658       25,     0,   402,     0,   404,     0,   407,     0,   410,     0,
659      425,     0,   428,     0,   460,     0,   433,     0,   462,     0,
660      385,     0,    96,    24,   297,    25,     0,   388,     0,   386,
661        0,   395,     0,   388,   395,     0,   432,   388,     0,   459,
662      401,    11,    24,   297,    25,    18,     0,   459,   401,    11,
663       24,   297,    25,     0,   390,   395,     0,     0,     0,    13,
664       24,   298,    18,   298,    18,   391,   298,   392,    25,     0,
665        0,   193,   412,    24,   394,   436,    25,     0,   194,     0,
666      402,     0,   404,     0,   407,     0,   398,   421,     0,   398,
667        0,   399,     0,   425,     0,   396,     0,   389,     0,   393,
668        0,   462,     0,    24,   395,    25,     0,     1,     0,     0,
669      427,   397,   395,     0,   412,    19,     0,   416,    20,     0,
670      401,     0,   420,     0,   402,     0,   404,     0,   407,     0,
671      411,     0,   426,     0,   428,     0,   433,     0,   461,     0,
672       24,   401,    25,     0,   462,     0,   385,     0,     1,     0,
673      466,    22,     0,   111,   384,     0,     0,   102,   403,     0,
674        0,     6,   299,   405,    22,     0,     0,   102,   403,     6,
675      299,   406,    22,     0,     0,     7,   408,    22,     0,     0,
676      102,   403,     7,   409,    22,     0,    24,   410,    25,     0,
677      412,   418,     0,   412,   419,   413,     0,     0,     0,     0,
678        0,     0,    20,     0,   111,    20,     0,   424,    20,     0,
679      424,   111,    20,     0,   421,    20,     0,   421,   111,    20,
680        0,   421,   424,    20,     0,   421,   424,   111,    20,     0,
681       19,   417,     0,    19,    20,     0,    19,   420,    20,     0,
682       19,   421,    20,     0,    19,   421,   424,    20,     0,   401,
683        0,   420,   401,     0,   300,     0,   421,   300,     0,   423,
684        0,   422,    21,   423,     0,   296,     0,    19,   422,   464,
685       20,     0,   384,     0,   424,   384,     0,    18,     0,   297,
686       18,     0,    18,     0,   297,    18,     0,   297,     0,     8,
687       24,   297,    25,     0,   427,   384,     0,     0,   427,   384,
688        9,   429,   384,     0,     0,    10,    24,   297,   430,    25,
689      384,     0,    11,    24,   297,    25,     0,    11,    24,   297,
690       25,     0,     0,     0,   193,   434,   412,    24,   435,   436,
691       25,   410,   458,   413,     0,   438,     0,     0,   436,   437,
692       21,   438,     0,   457,     0,   465,     0,   190,     0,   189,
693        0,   192,     0,   439,   192,     0,   439,     0,    24,   297,
694       25,     0,   440,     0,   270,    26,   297,    27,     0,   270,
695       24,    25,     0,   270,    24,   271,    25,     0,    71,    24,
696      296,    21,   380,    25,     0,   270,   358,    28,   466,   309,
697        0,   270,   358,    45,   466,   309,     0,   270,    48,     0,
698      270,    49,     0,   441,     0,    48,   272,     0,    49,   272,
699        0,    29,   280,     0,    34,   280,     0,    33,   280,     0,
700       32,   280,     0,    31,   280,     0,    30,   280,     0,   275,
701        0,   442,     0,    24,   380,    25,   280,     0,   443,     0,
702      281,    34,   280,     0,   281,    35,   280,     0,   281,    36,
703      280,     0,   444,     0,   282,    33,   281,     0,   282,    32,
704      281,     0,   445,     0,   283,    50,   282,     0,   283,    51,
705      282,     0,   446,     0,   284,    37,   283,     0,   284,    38,
706      283,     0,   284,    52,   283,     0,   284,    53,   283,     0,
707      447,     0,   285,    54,   284,     0,   285,    55,   284,     0,
708      448,     0,   286,    29,   285,     0,   449,     0,   287,    39,
709      286,     0,   450,     0,   288,    40,   287,     0,   451,     0,
710      289,    56,   288,     0,   452,     0,   291,    57,   289,     0,
711      453,     0,     0,     0,   291,    41,   455,   297,    22,   456,
712      293,     0,   454,     0,   272,    23,   296,     0,   272,    58,
713      296,     0,   272,    59,   296,     0,   272,    60,   296,     0,
714      272,    61,   296,     0,   272,    62,   296,     0,   272,    63,
715      296,     0,   272,    64,   296,     0,   272,    65,   296,     0,
716      272,    66,   296,     0,   272,    67,   296,     0,   194,     0,
717        0,    12,     0,   431,   384,     0,   459,   384,    11,    24,
718      297,    25,    18,     0,   390,   384,     0,   431,   401,     0,
719      459,   401,    11,    24,   297,    25,    18,     0,   459,   401,
720       11,    24,   297,    25,     0,   390,   401,     0,    14,   466,
721       18,     0,    15,    18,     0,   101,    15,    18,     0,    16,
722       18,     0,    97,    16,    18,     0,    98,    16,    18,     0,
723       99,    16,    18,     0,   100,    16,    18,     0,    17,    18,
724        0,    17,   297,    18,     0,     0,    18,     0,     0,    21,
725        0,   188,     0,   189,     0,   193,     0,   194,     0,   465,
726        0,   190,     0,   195,     0,   190,     0,    44,    24,   297,
727       25,     0,    44,    24,   380,    25,     0
728 };
729
730 #endif
731
732 #if YYDEBUG
733 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
734 static const short yyrline[] =
735 {
736        0,   328,   329,   333,   334,   338,   339,   340,   341,   342,
737      343,   344,   345,   349,   351,   356,   356,   365,   371,   376,
738      377,   382,   383,   385,   387,   404,   404,   435,   435,   465,
739      466,   468,   472,   489,   489,   501,   501,   515,   515,   515,
740      524,   525,   526,   527,   531,   535,   540,   540,   545,   545,
741      553,   554,   558,   564,   565,   569,   570,   574,   580,   581,
742      585,   586,   587,   591,   592,   593,   599,   600,   604,   606,
743      608,   610,   619,   621,   623,   625,   642,   646,   647,   654,
744      655,   664,   666,   671,   672,   673,   674,   675,   676,   680,
745      681,   682,   683,   684,   685,   689,   693,   693,   702,   706,
746      710,   710,   725,   727,   732,   736,   737,   741,   745,   751,
747      756,   757,   761,   765,   766,   770,   771,   772,   776,   777,
748      778,   779,   780,   784,   785,   786,   787,   788,   792,   793,
749      797,   804,   809,   809,   815,   815,   815,   826,   837,   838,
750      842,   843,   844,   845,   846,   847,   848,   849,   850,   854,
751      855,   860,   861,   865,   867,   869,   870,   871,   872,   873,
752      875,   880,   881,   885,   891,   904,   905,   906,   907,   908,
753      909,   910,   910,   916,   917,   918,   919,   920,   921,   922,
754      923,   924,   925,   930,   931,   935,   936,   937,   938,   939,
755      940,   941,   942,   943,   944,   945,   949,   950,   952,   956,
756      962,   962,   966,   969,   973,   974,   975,   976,   982,   983,
757      988,   989,   990,   991,   995,   996,   997,  1001,  1002,  1003,
758     1007,  1008,  1009,  1010,  1011,  1015,  1016,  1017,  1021,  1022,
759     1026,  1027,  1031,  1032,  1036,  1037,  1037,  1049,  1050,  1050,
760     1063,  1064,  1064,  1064,  1070,  1071,  1072,  1073,  1074,  1075,
761     1076,  1077,  1078,  1079,  1080,  1081,  1085,  1086,  1090,  1091,
762     1095,  1101,  1102,  1103,  1107,  1121,  1121,  1132,  1132,  1141,
763     1142,  1146,  1151,  1151,  1156,  1156,  1159,  1160,  1164,  1168,
764     1172,  1176,  1177,  1181,  1185,  1186,  1190,  1191,  1195,  1196,
765     1197,  1198,  1206,  1207,  1212,  1213,  1217,  1218,  1222,  1224,
766     1234,  1235,  1236,  1237,  1238,  1242,  1246,  1246,  1262,  1266,
767     1270,  1270,  1284,  1284,  1316,  1317,  1321,  1322,  1323,  1324,
768     1325,  1329,  1330,  1331,  1332,  1336,  1337,  1338,  1339,  1340,
769     1341,  1342,  1343,  1344,  1345,  1346,  1347,  1348,  1349,  1350,
770     1351,  1352,  1356,  1357,  1361,  1362,  1366,  1367,  1371,  1372,
771     1373,  1374,  1375,  1379,  1380,  1381,  1382,  1383,  1384,  1388,
772     1389,  1390,  1391,  1395,  1396,  1397,  1398,  1402,  1403,  1404,
773     1405,  1406,  1407,  1408,  1409,  1410,  1411,  1412,  1413,  1421,
774     1422,  1423,  1424,  1425,  1426,  1427,  1428,  1429,  1430,  1431,
775     1432,  1433,  1434,  1438,  1443,  1444,  1449,  1450,  1455,  1456,
776     1457,  1461,  1462,  1466,  1473,  1473,  1473,  1479,  1479,  1479,
777     1484,  1486,  1488,  1488,  1488,  1493,  1493,  1493,  1498,  1500,
778     1502,  1503,  1507,  1511,  1512,  1513,  1517,  1519,  1524,  1526,
779     1531,  1532,  1533,  1538,  1540,  1540,  1542,  1546,  1548,  1550,
780     1554,  1559,  1567,  1568,  1569,  1575,  1580,  1581,  1586,  1587,
781     1591,  1592,  1593,  1597,  1598,  1602,  1603,  1604,  1605,  1609,
782     1610,  1614,  1615,  1619,  1620,  1621,  1625,  1625,  1626,  1626,
783     1631,  1643,  1660,  1661,  1665,  1666,  1667,  1671,  1672,  1676,
784     1678,  1679,  1681,  1682,  1684,  1686,  1688,  1690,  1697,  1698,
785     1699,  1700,  1701,  1702,  1703,  1704,  1705,  1706,  1710,  1714,
786     1718,  1722,  1723,  1728,  1730,  1732,  1734,  1739,  1739,  1739,
787     1747,  1747,  1751,  1755,  1756,  1757,  1758,  1759,  1760,  1761,
788     1762,  1763,  1764,  1765,  1766,  1767,  1771,  1771,  1778,  1782,
789     1786,  1787,  1791,  1792,  1793,  1794,  1795,  1796,  1797,  1798,
790     1799,  1800,  1801,  1802,  1806,  1807,  1815,  1816,  1823,  1823,
791     1825,  1825,  1830,  1830,  1832,  1832,  1837,  1838,  1843,  1847,
792     1851,  1855,  1859,  1863,  1867,  1868,  1869,  1870,  1872,  1873,
793     1875,  1877,  1884,  1889,  1891,  1893,  1895,  1900,  1901,  1905,
794     1906,  1910,  1911,  1915,  1916,  1920,  1921,  1925,  1926,  1930,
795     1931,  1932,  1936,  1950,  1955,  1955,  1960,  1960,  1965,  1971,
796     1975,  1975,  1975,  1986,  1987,  1987,  1992,  1993,  1994,  2005,
797     2013,  2014,  2018,  2019,  2023,  2024,  2025,  2026,  2027,  2029,
798     2030,  2031,  2032,  2036,  2037,  2038,  2039,  2040,  2041,  2042,
799     2043,  2044,  2045,  2049,  2050,  2054,  2055,  2056,  2057,  2061,
800     2062,  2063,  2067,  2068,  2069,  2073,  2074,  2075,  2076,  2077,
801     2081,  2082,  2083,  2087,  2088,  2092,  2093,  2097,  2098,  2102,
802     2103,  2107,  2108,  2112,  2113,  2113,  2113,  2119,  2120,  2121,
803     2122,  2123,  2124,  2125,  2126,  2127,  2128,  2129,  2130,  2134,
804     2135,  2139,  2143,  2145,  2147,  2152,  2153,  2155,  2157,  2161,
805     2162,  2163,  2165,  2166,  2167,  2168,  2169,  2170,  2171,  2175,
806     2176,  2180,  2181,  2185,  2189,  2190,  2191,  2192,  2193,  2197,
807     2198,  2199,  2200
808 };
809 #endif
810
811
812 #if (YYDEBUG) || defined YYERROR_VERBOSE
813
814 /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
815 static const char *const yytname[] =
816 {
817   "$", "error", "$undefined.", "BADTOK", "SKIPTOK", "CTOK_ELIPSIS", "CASE", 
818   "DEFAULT", "CIF", "CELSE", "SWITCH", "WHILE", "DO", "CFOR", "GOTO", 
819   "CONTINUE", "BREAK", "RETURN", "TSEMI", "TLBRACE", "TRBRACE", "TCOMMA", 
820   "TCOLON", "TASSIGN", "TLPAREN", "TRPAREN", "TLSQBR", "TRSQBR", "TDOT", 
821   "TAMPERSAND", "TEXCL", "TTILDE", "TMINUS", "TPLUS", "TMULT", "TDIV", 
822   "TPERCENT", "TLT", "TGT", "TCIRC", "TBAR", "TQUEST", "CSIZEOF", 
823   "CALIGNOF", "CTYPEOF", "ARROW_OP", "CTYPEDEF", "COFFSETOF", "INC_OP", 
824   "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", 
825   "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", 
826   "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", 
827   "XOR_ASSIGN", "OR_ASSIGN", "CSTRUCT", "CUNION", "CENUM", "VA_ARG", 
828   "VA_DCL", "QWARN", "QGLOBALS", "QMODIFIES", "QNOMODS", "QCONSTANT", 
829   "QFUNCTION", "QITER", "QDEFINES", "QUSES", "QALLOCATES", "QSETS", 
830   "QRELEASES", "QPRECLAUSE", "QPOSTCLAUSE", "QINVARIANT", "QALT", 
831   "QUNDEF", "QKILLED", "QENDMACRO", "LLMACRO", "LLMACROITER", 
832   "LLMACROEND", "TENDMACRO", "QDREVEALSTATE", "QSWITCHBREAK", 
833   "QLOOPBREAK", "QINNERBREAK", "QSAFEBREAK", "QINNERCONTINUE", 
834   "QFALLTHROUGH", "QLINTNOTREACHED", "QLINTFALLTHROUGH", "QLINTFALLTHRU", 
835   "QARGSUSED", "QPRINTFLIKE", "QLINTPRINTFLIKE", "QSCANFLIKE", 
836   "QMESSAGELIKE", "QNOTREACHED", "QCONST", "QRESTRICT", "QVOLATILE", 
837   "QINLINE", "QEXTENSION", "QEXTERN", "QSTATIC", "QAUTO", "QREGISTER", 
838   "QOUT", "QIN", "QYIELD", "QONLY", "QTEMP", "QSHARED", "QREF", "QUNIQUE", 
839   "QCHECKED", "QUNCHECKED", "QCHECKEDSTRICT", "QCHECKMOD", "QKEEP", 
840   "QKEPT", "QPARTIAL", "QSPECIAL", "QOWNED", "QDEPENDENT", "QRETURNED", 
841   "QEXPOSED", "QNULL", "QOBSERVER", "QISNULL", "QEXITS", "QMAYEXIT", 
842   "QNEVEREXIT", "QTRUEEXIT", "QFALSEEXIT", "QLONG", "QSIGNED", 
843   "QUNSIGNED", "QSHORT", "QUNUSED", "QSEF", "QNOTNULL", "QRELNULL", 
844   "QABSTRACT", "QNUMABSTRACT", "QCONCRETE", "QMUTABLE", "QIMMUTABLE", 
845   "QTRUENULL", "QFALSENULL", "QEXTERNAL", "QREFCOUNTED", "QREFS", 
846   "QNEWREF", "QTEMPREF", "QKILLREF", "QRELDEF", "CGCHAR", "CBOOL", "CINT", 
847   "CGFLOAT", "CDOUBLE", "CVOID", "QANYTYPE", "QINTEGRALTYPE", 
848   "QUNSIGNEDINTEGRALTYPE", "QSIGNEDINTEGRALTYPE", "QNULLTERMINATED", 
849   "QSETBUFFERSIZE", "QSETSTRINGLENGTH", "QMAXSET", "QMAXREAD", 
850   "QTESTINRANGE", "TCAND", "IDENTIFIER", "NEW_IDENTIFIER", 
851   "TYPE_NAME_OR_ID", "CANNOTATION", "CCONSTANT", "ITER_NAME", 
852   "ITER_ENDNAME", "TYPE_NAME", "METASTATE_NAME", "file", "externalDefs", 
853   "externalDef", "constantDecl", "fcnDecl", "@1", "plainFcn", 
854   "plainNamedDecl", "namedDeclBase", "@2", "@3", "plainNamedDeclBase", 
855   "@4", "@5", "iterDecl", "@6", "@7", "macroDef", "fcnDefHdr", 
856   "metaStateConstraint", "metaStateSpecifier", "@8", "@9", 
857   "metaStateExpression", "metaStateName", "constraintSeperator", 
858   "BufConstraintList", "BufConstraint", "bufferModifier", "relationalOp", 
859   "BufConstraintExpr", "BufConstraintTerm", "BufConstraintSrefExpr", 
860   "BufUnaryOp", "BufBinaryOp", "functionClauses", "functionClausesPlain", 
861   "functionClause", "functionClausePlain", "globalsClause", 
862   "globalsClausePlain", "@10", "nomodsClause", "modifiesClause", 
863   "modifiesClausePlain", "@11", "flagSpec", "flagId", "optWarnClause", 
864   "warnClause", "warnClausePlain", "globIdList", "globIdListExpr", 
865   "optGlobQuals", "globId", "globQual", "stateTag", "conditionTag", 
866   "fcnDefHdrAux", "fcnBody", "@12", "@13", "@14", "fcnDef", "locModifies", 
867   "modListExpr", "mExpr", "modList", "specClauseListExpr", 
868   "optSpecClauseList", "specClauseList", "primaryExpr", "@15", 
869   "postfixExpr", "argumentExprList", "unaryExpr", "fieldDesignator", 
870   "offsetofExpr", "sizeofExpr", "@16", "processSizeof", 
871   "endprocessSizeof", "sizeofExprAux", "castExpr", "timesExpr", 
872   "plusExpr", "shiftExpr", "relationalExpr", "equalityExpr", "bitandExpr", 
873   "xorExpr", "bitorExpr", "andExpr", "@17", "orExpr", "@18", 
874   "conditionalExpr", "@19", "@20", "assignExpr", "expr", "optExpr", 
875   "constantExpr", "initializer", "instanceDecl", "@21", "@22", 
876   "namedInitializerType", "namedInitializer", "@23", "typeDecl", "@24", 
877   "IsType", "PushType", "namedInitializerList", "namedInitializerListAux", 
878   "namedInitializerTypeList", "namedInitializerTypeListAux", 
879   "optDeclarators", "init", "designation", "designatorList", "designator", 
880   "initList", "storageSpecifier", "stateClause", "stateClausePlain", 
881   "@25", "conditionClause", "startConditionClause", 
882   "conditionClausePlain", "@26", "@27", "functionConstraint", 
883   "exitsQualifier", "checkQualifier", "stateQualifier", "paramQualifier", 
884   "visibilityQualifier", "returnQualifier", "typedefQualifier", 
885   "refcountQualifier", "typeModifier", "definedQualifier", 
886   "typeQualifier", "typeSpecifier", "completeType", 
887   "completeTypeSpecifier", "altType", "completeTypeSpecifierAux", 
888   "optCompleteType", "optStructInvariant", "suSpc", "@28", "@29", "@30", 
889   "@31", "@32", "@33", "@34", "@35", "NotType", "structDeclList", 
890   "structDecl", "structNamedDeclList", "structNamedDecl", "enumSpc", 
891   "@36", "enumeratorList", "enumerator", "optNamedDecl", "namedDecl", 
892   "genericParamList", "innerMods", "innerModsList", "pointers", 
893   "paramIdList", "idList", "paramTypeList", "paramList", "@37", "@38", 
894   "paramDecl", "typeExpression", "abstractDecl", "optAbstractDeclBase", 
895   "abstractDeclBase", "stmt", "debugStmt", "iterBody", "endBody", 
896   "iterDefStmtList", "iterDefIterationStmt", "forPred", "@39", "@40", 
897   "partialIterStmt", "@41", "iterDefStmt", "iterSelectionStmt", "@42", 
898   "openScope", "closeScope", "macroBody", "stmtErr", "labeledStmt", 
899   "optExtraFallThroughs", "caseStmt", "@43", "@44", "defaultStmt", "@45", 
900   "@46", "compoundStmt", "compoundStmtErr", "CreateInnerScope", 
901   "DeleteInnerScope", "CreateStructInnerScope", "DeleteStructInnerScope", 
902   "DeleteInnerScopeSafe", "compoundStmtRest", "compoundStmtAux", 
903   "compoundStmtAuxErr", "stmtListErr", "initializerList", 
904   "typeInitializerList", "typeInitializer", "stmtList", "expressionStmt", 
905   "expressionStmtErr", "ifPred", "selectionStmt", "@47", "@48", 
906   "whilePred", "iterWhilePred", "iterStmt", "@49", "@50", "iterArgList", 
907   "@51", "iterArgExpr", "cconstantExpr", "primaryIterExpr", 
908   "postfixIterExpr", "unaryIterExpr", "castIterExpr", "timesIterExpr", 
909   "plusIterExpr", "shiftIterExpr", "relationalIterExpr", 
910   "equalityIterExpr", "bitandIterExpr", "xorIterExpr", "bitorIterExpr", 
911   "andIterExpr", "orIterExpr", "conditionalIterExpr", "@52", "@53", 
912   "assignIterExpr", "endIter", "doHeader", "iterationStmt", 
913   "iterationStmtErr", "jumpStmt", "optSemi", "optComma", "id", "newId", 
914   "typeName", 0
915 };
916 #endif
917
918 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
919 static const short yyr1[] =
920 {
921        0,   197,   197,   198,   198,   199,   199,   199,   199,   199,
922      199,   199,   199,   200,   200,   202,   201,   203,   203,   204,
923      204,   205,   205,   205,   205,   206,   205,   207,   205,   208,
924      208,   208,   208,   209,   208,   210,   208,   212,   213,   211,
925      214,   214,   214,   214,   215,   216,   218,   217,   219,   217,
926      220,   220,   221,   222,   222,   223,   223,   224,   225,   225,
927      226,   226,   226,   227,   227,   227,   228,   228,   229,   229,
928      229,   229,   229,   229,   229,   229,   230,   231,   231,   232,
929      232,   233,   233,   234,   234,   234,   234,   234,   234,   235,
930      235,   235,   235,   235,   235,   236,   238,   237,   239,   240,
931      242,   241,   243,   243,   244,   245,   245,   246,   247,   247,
932      248,   248,   249,   250,   250,   251,   251,   251,   252,   252,
933      252,   252,   252,   253,   253,   253,   253,   253,   254,   254,
934      255,   255,   257,   256,   258,   259,   256,   260,   261,   261,
935      262,   262,   262,   262,   262,   262,   262,   262,   262,   263,
936      263,   264,   264,   265,   265,   265,   265,   265,   265,   265,
937      265,   266,   266,   267,   267,   268,   268,   268,   268,   268,
938      268,   269,   268,   270,   270,   270,   270,   270,   270,   270,
939      270,   270,   270,   271,   271,   272,   272,   272,   272,   272,
940      272,   272,   272,   272,   272,   272,   273,   273,   273,   274,
941      276,   275,   277,   278,   279,   279,   279,   279,   280,   280,
942      281,   281,   281,   281,   282,   282,   282,   283,   283,   283,
943      284,   284,   284,   284,   284,   285,   285,   285,   286,   286,
944      287,   287,   288,   288,   289,   290,   289,   291,   292,   291,
945      293,   294,   295,   293,   296,   296,   296,   296,   296,   296,
946      296,   296,   296,   296,   296,   296,   297,   297,   298,   298,
947      299,   300,   300,   300,   301,   302,   301,   303,   301,   304,
948      304,   305,   306,   305,   308,   307,   307,   307,   309,   310,
949      311,   312,   312,   313,   314,   314,   315,   315,   316,   316,
950      316,   316,   317,   317,   318,   318,   319,   319,   320,   320,
951      321,   321,   321,   321,   321,   322,   324,   323,   325,   326,
952      328,   327,   329,   327,   330,   330,   331,   331,   331,   331,
953      331,   332,   332,   332,   332,   333,   333,   333,   333,   333,
954      333,   333,   333,   333,   333,   333,   333,   333,   333,   333,
955      333,   333,   334,   334,   335,   335,   336,   336,   337,   337,
956      337,   337,   337,   338,   338,   338,   338,   338,   338,   339,
957      339,   339,   339,   340,   340,   340,   340,   341,   341,   341,
958      341,   341,   341,   341,   341,   341,   341,   341,   341,   342,
959      342,   342,   342,   342,   342,   342,   342,   342,   342,   342,
960      342,   342,   342,   343,   344,   344,   345,   345,   346,   346,
961      346,   347,   347,   348,   350,   351,   349,   352,   353,   349,
962      349,   349,   354,   355,   349,   356,   357,   349,   349,   349,
963      349,   349,   358,   359,   359,   359,   360,   360,   361,   361,
964      362,   362,   362,   363,   364,   363,   363,   365,   365,   365,
965      366,   366,   367,   367,   367,   367,   368,   368,   369,   369,
966      370,   370,   370,   371,   371,   372,   372,   372,   372,   373,
967      373,   374,   374,   375,   375,   375,   377,   376,   378,   376,
968      379,   379,   380,   380,   381,   381,   381,   382,   382,   383,
969      383,   383,   383,   383,   383,   383,   383,   383,   384,   384,
970      384,   384,   384,   384,   384,   384,   384,   384,   385,   386,
971      387,   388,   388,   389,   389,   389,   389,   391,   392,   390,
972      394,   393,   393,   395,   395,   395,   395,   395,   395,   395,
973      395,   395,   395,   395,   395,   395,   397,   396,   398,   399,
974      400,   400,   401,   401,   401,   401,   401,   401,   401,   401,
975      401,   401,   401,   401,   402,   402,   403,   403,   405,   404,
976      406,   404,   408,   407,   409,   407,   410,   410,   411,   412,
977      413,   414,   415,   416,   417,   417,   417,   417,   417,   417,
978      417,   417,   418,   419,   419,   419,   419,   420,   420,   421,
979      421,   422,   422,   423,   423,   424,   424,   425,   425,   426,
980      426,   426,   427,   428,   429,   428,   430,   428,   431,   432,
981      434,   435,   433,   436,   437,   436,   438,   438,   438,   438,
982      439,   439,   440,   440,   441,   441,   441,   441,   441,   441,
983      441,   441,   441,   442,   442,   442,   442,   442,   442,   442,
984      442,   442,   442,   443,   443,   444,   444,   444,   444,   445,
985      445,   445,   446,   446,   446,   447,   447,   447,   447,   447,
986      448,   448,   448,   449,   449,   450,   450,   451,   451,   452,
987      452,   453,   453,   454,   455,   456,   454,   457,   457,   457,
988      457,   457,   457,   457,   457,   457,   457,   457,   457,   458,
989      458,   459,   460,   460,   460,   461,   461,   461,   461,   462,
990      462,   462,   462,   462,   462,   462,   462,   462,   462,   463,
991      463,   464,   464,   465,   466,   466,   466,   466,   466,   467,
992      467,   467,   467
993 };
994
995 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
996 static const short yyr2[] =
997 {
998        0,     0,     1,     1,     2,     2,     1,     1,     1,     1,
999        1,     1,     1,     8,    11,     0,     5,     1,     3,     1,
1000        2,     1,     6,     3,     6,     0,     6,     0,     7,     1,
1001        6,     3,     6,     0,     6,     0,     7,     0,     0,    10,
1002        3,     3,     3,     2,     1,     3,     0,     4,     0,     4,
1003        1,     3,     1,     1,     1,     3,     1,     3,     1,     1,
1004        1,     1,     1,     1,     4,     5,     1,     1,     1,     1,
1005        3,     4,     2,     3,     3,     3,     1,     1,     1,     0,
1006        2,     0,     2,     1,     1,     1,     1,     1,     1,     1,
1007        1,     1,     1,     1,     1,     2,     0,     4,     1,     2,
1008        0,     3,     1,     3,     1,     1,     0,     2,     3,     2,
1009        1,     3,     2,     0,     2,     1,     1,     1,     1,     1,
1010        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1011        1,     3,     0,     3,     0,     0,     4,     2,     2,     1,
1012        1,     1,     1,     3,     4,     2,     3,     3,     3,     1,
1013        1,     1,     3,     1,     1,     3,     4,     2,     3,     3,
1014        3,     0,     1,     1,     3,     1,     1,     1,     3,     1,
1015        1,     0,     4,     1,     4,     3,     4,     6,     5,     5,
1016        2,     2,     7,     1,     3,     1,     2,     2,     2,     2,
1017        2,     2,     2,     2,     3,     1,     3,     4,     1,     9,
1018        0,     3,     0,     0,     4,     2,     4,     2,     1,     4,
1019        1,     3,     3,     3,     1,     3,     3,     1,     3,     3,
1020        1,     3,     3,     3,     3,     1,     3,     3,     1,     3,
1021        1,     3,     1,     3,     1,     0,     4,     1,     0,     4,
1022        1,     0,     0,     7,     1,     3,     3,     3,     3,     3,
1023        3,     3,     3,     3,     3,     3,     1,     3,     0,     1,
1024        1,     1,     1,     1,     3,     0,     9,     0,    11,     1,
1025        1,     2,     0,     6,     0,     8,     4,     4,     0,     0,
1026        2,     1,     4,     2,     1,     4,     0,     4,     1,     3,
1027        4,     2,     2,     2,     1,     2,     3,     2,     1,     3,
1028        1,     1,     1,     1,     1,     2,     0,     6,     2,     2,
1029        0,     6,     0,     5,     1,     1,     1,     1,     1,     1,
1030        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1031        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1032        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1033        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1034        1,     1,     1,     1,     1,     1,     1,     2,     2,     2,
1035        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1036        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1037        2,     2,     2,     3,     1,     4,     1,     3,     2,     2,
1038        2,     0,     1,     0,     0,     0,    12,     0,     0,    11,
1039        6,     6,     0,     0,    10,     0,     0,    10,     5,     5,
1040        4,     4,     0,     1,     1,     2,     5,     3,     2,     4,
1041        1,     3,     4,     6,     0,     8,     4,     1,     3,     2,
1042        1,     4,     1,     1,     2,     2,     1,     2,     1,     2,
1043        1,     1,     1,     1,     2,     1,     2,     2,     3,     1,
1044        3,     1,     3,     1,     1,     3,     0,     2,     0,     4,
1045        4,     1,     1,     2,     1,     1,     2,     0,     1,     5,
1046        2,     3,     3,     4,     3,     4,     4,     5,     1,     1,
1047        1,     1,     1,     1,     1,     1,     1,     1,     4,     1,
1048        1,     1,     2,     2,     7,     6,     2,     0,     0,    10,
1049        0,     6,     1,     1,     1,     1,     2,     1,     1,     1,
1050        1,     1,     1,     1,     3,     1,     0,     3,     2,     2,
1051        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1052        3,     1,     1,     1,     2,     2,     0,     2,     0,     4,
1053        0,     6,     0,     3,     0,     5,     3,     2,     3,     0,
1054        0,     0,     0,     0,     1,     2,     2,     3,     2,     3,
1055        3,     4,     2,     2,     3,     3,     4,     1,     2,     1,
1056        2,     1,     3,     1,     4,     1,     2,     1,     2,     1,
1057        2,     1,     4,     2,     0,     5,     0,     6,     4,     4,
1058        0,     0,    10,     1,     0,     4,     1,     1,     1,     1,
1059        1,     2,     1,     3,     1,     4,     3,     4,     6,     5,
1060        5,     2,     2,     1,     2,     2,     2,     2,     2,     2,
1061        2,     2,     1,     1,     4,     1,     3,     3,     3,     1,
1062        3,     3,     1,     3,     3,     1,     3,     3,     3,     3,
1063        1,     3,     3,     1,     3,     1,     3,     1,     3,     1,
1064        3,     1,     3,     1,     0,     0,     7,     1,     3,     3,
1065        3,     3,     3,     3,     3,     3,     3,     3,     3,     1,
1066        0,     1,     2,     7,     2,     2,     7,     6,     2,     3,
1067        2,     3,     2,     3,     3,     3,     3,     2,     3,     0,
1068        1,     0,     1,     1,     1,     1,     1,     1,     1,     1,
1069        1,     4,     4
1070 };
1071
1072 /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
1073    doesn't specify something else to do.  Zero means the default is an
1074    error. */
1075 static const short yydefact[] =
1076 {
1077        0,    12,    11,   455,     0,   422,   262,   422,    15,     0,
1078        0,     0,     0,   278,   278,   278,   301,   300,   302,   303,
1079      304,   363,   364,   327,   329,   328,   332,   333,   321,   323,
1080      324,   322,   330,   331,   365,   366,   325,   326,   342,   338,
1081      334,   339,   335,   316,   317,   320,   318,   319,   360,   361,
1082      362,   359,   344,   343,   337,   336,   348,   349,   350,   351,
1083      352,   346,   347,   345,   353,   354,   357,   358,   355,   356,
1084      422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
1085      340,   703,   704,   708,   341,   705,   706,   709,     0,     3,
1086        6,     7,   446,     8,     9,   134,    44,   699,    10,   261,
1087      263,     0,   401,   278,   278,   278,   278,   278,   278,   278,
1088      278,   422,   278,   401,   401,   422,   394,   422,     0,   422,
1089      130,   278,   707,    21,   422,   450,   451,   452,   453,   456,
1090      457,   278,   281,   278,   278,   274,   422,   710,   422,   422,
1091      708,     0,   543,   202,   552,     0,     0,     0,   681,     0,
1092        0,     0,     0,   202,   589,     0,   202,   202,   202,   202,
1093      202,   202,   278,   202,   202,     0,    43,     0,     0,     0,
1094        0,     0,     0,   546,   202,   170,   166,   169,   610,   600,
1095      173,   185,   208,   195,   278,   210,   214,   217,   220,   225,
1096      228,   230,   232,   234,   237,   240,   244,   256,   591,   542,
1097        0,     0,   577,   532,   533,   534,   535,     0,     0,   536,
1098      202,   537,     0,   538,   167,     0,   539,   541,   165,     0,
1099      525,     0,   587,     0,   559,   512,     0,     0,     0,   521,
1100        0,   522,   501,   520,   517,   518,   513,   514,   515,     0,
1101        0,   519,   526,     0,     0,   523,   500,     0,   367,   369,
1102      368,   379,   381,   380,   382,   383,   384,   385,   386,   387,
1103      388,     4,   278,     0,   132,   137,   422,   700,     5,   422,
1104      402,   398,   372,   374,   371,   373,   376,   375,   377,   378,
1105      392,   370,   399,   400,     0,   278,   278,   390,   278,   278,
1106        0,   391,   447,   389,   454,   458,   278,   166,   169,     0,
1107      422,   472,     0,   165,   422,     0,   280,   422,     0,   271,
1108      278,   699,    17,    19,     0,   422,   278,    29,   466,   208,
1109      260,   548,     0,   202,   202,   202,   202,     0,   690,   692,
1110      697,     0,   559,     0,     0,     0,   188,   193,   192,   191,
1111      190,   189,     0,   278,   186,   187,   202,   202,     0,     0,
1112        0,     0,     0,   546,     0,   278,   545,   497,   202,   488,
1113      489,   490,   491,     0,   492,   493,   202,   495,   202,   494,
1114      496,   559,   202,   202,   180,   181,     0,   202,   202,   202,
1115      202,   202,   202,   202,   202,   202,   202,   202,   203,   200,
1116      202,   202,   202,   202,   202,   202,   202,   202,   202,   202,
1117      202,   202,   202,   202,   202,   202,   235,   241,   238,   590,
1118      202,   688,    40,     0,   560,   578,   593,   685,   611,     0,
1119      544,   202,     0,     0,     0,   588,    41,   502,   506,   579,
1120      422,   516,   528,   529,     0,     0,     0,    42,    23,   202,
1121      466,   422,   422,   278,   264,   131,     0,   396,     0,   422,
1122        0,   422,     0,   278,     0,   711,   278,   202,     0,   474,
1123      473,   475,   712,   278,   277,   278,   276,   272,   422,     0,
1124      278,     0,   422,   278,    20,   463,     0,     0,   448,   464,
1125      278,     0,   553,     0,   596,     0,   259,     0,   689,   698,
1126      559,     0,   168,   202,   540,   278,     0,     0,     0,   693,
1127      694,   695,   696,   691,   547,   202,   554,     0,   684,   422,
1128      557,   682,     0,     0,   175,     0,   183,     0,     0,     0,
1129      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1130      255,   194,     0,   211,   212,   213,   216,   215,   218,   219,
1131      221,   222,   223,   224,   226,   227,   229,   231,   233,   202,
1132      202,   202,   257,   573,   710,   577,     0,   422,   558,   594,
1133        0,     0,   524,   510,   278,   580,   527,     0,     0,    25,
1134        0,   564,   202,   585,   133,   422,   202,   559,   278,   265,
1135      395,   278,   412,     0,   420,   415,     0,   421,     0,   437,
1136      440,   434,   436,   393,   480,     0,   466,   476,   202,     0,
1137      282,   270,   284,   269,   278,   278,   278,   699,    16,    31,
1138      202,   466,   278,    18,   449,   459,   461,    37,   468,   422,
1139      467,   471,   549,   592,     0,   598,   202,   172,   202,   209,
1140      422,     0,   278,   498,   550,     0,   556,   572,     0,   601,
1141      202,   176,   174,   278,   278,   202,   202,   201,   236,     0,
1142      239,   574,   575,   202,   202,   202,   599,   202,   422,   202,
1143      422,    79,    27,   565,   568,   202,   202,   566,   202,   586,
1144      136,     0,   267,   278,   397,   418,   561,   404,   419,   561,
1145      407,   278,   439,   278,     0,   481,   484,   278,     0,   482,
1146        0,   466,   422,   106,   283,   202,   278,   278,     0,    33,
1147        0,   278,     0,    81,   465,   278,   477,   202,     0,   202,
1148      583,   701,   581,     0,     0,     0,   555,   202,   202,   184,
1149      178,   179,   278,   205,   278,   207,   242,   576,   595,     0,
1150      278,   202,   202,   202,   202,   202,   202,   202,   202,     0,
1151      166,   169,   185,   208,   632,   214,   217,   220,   225,   228,
1152      230,   232,   234,   237,     0,   604,   603,   167,   614,   623,
1153      633,   635,   639,   642,   645,   650,   653,   655,   657,   659,
1154      661,   663,   667,   606,   165,     0,    24,     0,    96,   100,
1155       98,   123,   124,   125,   126,   127,   128,   129,    26,    79,
1156       83,     0,    85,    84,     0,    88,     0,   422,   422,    86,
1157        0,    87,   312,     0,    79,   569,   570,   202,   567,    22,
1158      278,   286,   422,   410,   561,   422,   411,   561,   433,   438,
1159      202,     0,     0,   485,   483,   486,     0,   278,     0,   105,
1160      202,   202,     0,   288,   273,   202,     0,   294,     0,   202,
1161        0,   422,    81,    35,     0,   460,   462,    38,    81,    89,
1162       91,    90,    94,    92,    93,   469,   442,     0,   278,   477,
1163      443,   478,   597,   507,   701,   202,     0,     0,   177,   551,
1164        0,   604,     0,     0,   202,   687,     0,     0,   188,   193,
1165      192,   191,   190,   189,   186,   187,   202,   202,   202,   180,
1166      181,     0,   202,   202,   202,   202,   202,   202,   202,   202,
1167      202,   202,   202,   202,   202,   202,   202,   202,   202,   202,
1168      202,   202,   202,   202,   202,   202,   202,   202,   202,   202,
1169      664,   202,   511,     0,   505,   104,   109,   102,   113,   699,
1170       80,    95,    99,   107,   306,   309,   305,     0,   310,   308,
1171       28,   571,   202,     0,   424,   422,   422,   423,   422,   422,
1172      422,   441,   278,   479,   487,   285,   275,   298,     0,     0,
1173      297,   291,   292,   295,   293,   286,    13,    32,    34,    81,
1174       30,   699,    82,   466,   470,   444,   445,   202,     0,   582,
1175      182,     0,   198,     0,   559,   204,   206,   243,   686,   168,
1176      202,     0,   175,     0,     0,     0,     0,   668,   669,   670,
1177      671,   672,   673,   674,   675,   676,   677,   678,   211,   212,
1178      213,   216,   215,   218,   219,   221,   222,   223,   224,   226,
1179      227,   229,   231,   233,   660,   202,   662,   202,   504,   108,
1180        0,   118,   119,   120,   121,   122,   699,   110,   422,   113,
1181        0,     0,   141,   142,   101,   151,   699,   139,   140,     0,
1182       48,     0,     0,    58,    59,    69,    67,   315,     0,   314,
1183       56,    76,     0,    63,    66,     0,   699,    68,   161,   286,
1184      278,   422,     0,   278,   425,   413,   422,   416,   422,   435,
1185      289,   202,   296,   699,    36,     0,   278,   508,   584,   278,
1186      202,     0,   683,   680,   209,   278,   176,   174,   278,   278,
1187        0,   605,   103,   113,    97,   116,   112,   117,   115,   114,
1188        0,   145,     0,     0,     0,     0,   138,     0,     0,   154,
1189      163,   699,   153,     0,     0,    66,     0,    72,     0,    54,
1190       53,     0,    61,    60,    62,     0,     0,     0,     0,     0,
1191        0,   278,   699,   162,     0,   266,   278,   427,   278,   278,
1192      422,   430,     0,   405,     0,   408,   290,   299,     0,    39,
1193      278,     0,   199,     0,   196,   679,   560,     0,   178,   179,
1194      665,   111,   146,   143,   149,     0,   150,   147,   148,   152,
1195        0,   157,     0,     0,     0,     0,   278,     0,    78,    77,
1196        0,    73,     0,    50,    45,    46,    55,    66,    57,    70,
1197        0,    74,    75,     0,     0,   313,   278,   278,   287,   202,
1198      278,     0,   428,   278,   414,     0,   417,     0,    14,   509,
1199      197,   602,   177,   202,   144,   158,   155,     0,   159,   160,
1200      164,   307,    52,    49,     0,     0,    71,    47,    64,   311,
1201      268,   431,   422,   426,   202,   403,   409,   666,   156,    65,
1202       51,   429,   432,   406,     0,     0,     0
1203 };
1204
1205 static const short yydefgoto[] =
1206 {
1207     1254,    88,    89,    90,    91,   139,   311,   312,    92,   661,
1208      804,   313,   842,   969,    93,   703,   971,   944,    95,  1057,
1209     1193,  1139,  1123,  1194,  1233,  1131,  1059,  1060,  1061,  1135,
1210     1062,  1063,  1197,  1065,  1190,   788,   847,   789,   848,   790,
1211      849,   928,   850,   793,   851,   929,   926,   927,   828,   795,
1212      796,  1036,  1037,  1038,  1106,  1039,   797,   798,    96,   265,
1213      441,   266,   577,    97,  1044,  1174,  1175,  1046,  1120,  1142,
1214     1121,   180,   332,   181,   515,   182,   981,   183,   744,   532,
1215      184,   531,   647,   185,   186,   187,   188,   189,   190,   191,
1216      192,   193,   194,   549,   195,   551,   196,   550,   874,   197,
1217      226,   487,   321,   429,    99,   673,   810,   602,   603,   606,
1218      100,   307,   101,   263,   133,   134,   604,   605,   943,   834,
1219      835,   836,   837,   958,   102,   799,   853,  1049,   801,   802,
1220      854,  1068,   937,  1066,   103,   104,   105,   106,   107,   108,
1221      109,   110,   111,   112,   113,   114,   301,   430,   446,   116,
1222      271,  1253,   117,   814,  1215,   817,  1217,   676,  1152,   679,
1223     1154,   118,   946,   947,  1149,  1150,   119,   684,   588,   589,
1224      858,   136,   477,   128,   129,   121,   614,   615,   478,   479,
1225      480,   705,   620,   334,   822,   860,   461,   356,   357,   227,
1226      247,   228,   229,   358,   977,  1161,   231,   657,   232,   233,
1227      434,   234,   235,   201,   415,   359,   354,   360,   481,   715,
1228      361,   322,   635,   362,   206,   363,   558,   812,  1075,   240,
1229      574,   510,   414,   208,   575,   711,   712,   576,   364,   209,
1230      210,   365,   654,   624,   366,   243,   367,   371,   718,   755,
1231      923,   756,   214,   758,   759,   760,   761,   762,   763,   764,
1232      765,   766,   767,   768,   769,   770,   771,   772,  1025,  1223,
1233      773,  1166,   368,   369,   216,   370,   268,   866,   303,   219,
1234      124
1235 };
1236
1237 static const short yypact[] =
1238 {
1239     2215,-32768,-32768,   314,    31,  5636,-32768,  6865,-32768,   720,
1240     3280,  3919,  3919,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1241   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1242   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1243   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1244   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1245   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1246   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1247   -32768,-32768,-32768,   587,-32768,-32768,-32768,-32768,  2397,-32768,
1248   -32768,-32768,   374,-32768,-32768,    55,-32768,   102,-32768,-32768,
1249   -32768,   114,  6451,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1250   -32768,-32768,-32768,  6451,  6451,   198,   133,-32768,   956,-32768,
1251   -32768,   720,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   314,
1252   -32768,  5804,-32768,   238,-32768,   198,-32768,-32768,-32768,  5636,
1253   -32768,   243,-32768,  5927,-32768,   281,   310,   330,-32768,   357,
1254      720,   400,   427,  1522,-32768,  2783,  5927,  5927,  5927,  5927,
1255     5927,  5927,-32768,  5956,  5956,   440,-32768,   454,   474,   480,
1256      537,   570,   498,   458,  5093,-32768,   548,   575,-32768,   618,
1257   -32768,  1022,   943,-32768,-32768,-32768,   994,   502,   566,   394,
1258      554,   601,   617,   622,   638,   105,-32768,-32768,   146,-32768,
1259     3707,   579,   627,-32768,-32768,-32768,-32768,   754,  3387,-32768,
1260     5093,-32768,  3707,-32768,   572,  3707,-32768,-32768,   762,   765,
1261   -32768,   777,-32768,  2978,   618,   809,   266,   755,  3813,-32768,
1262     3919,-32768,-32768,-32768,  6175,-32768,-32768,-32768,-32768,   836,
1263      843,-32768,-32768,  3919,  3707,-32768,-32768,   773,-32768,-32768,
1264   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1265   -32768,-32768,   855,   871,-32768,-32768,  6727,-32768,-32768,-32768,
1266   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1267   -32768,-32768,-32768,-32768,   869,   728,-32768,-32768,   720,   720,
1268       46,-32768,   374,-32768,-32768,-32768,  2002,-32768,-32768,   164,
1269     6865,   576,   887,-32768,-32768,   913,-32768,-32768,   923,   897,
1270      728,   102,-32768,   785,   926,-32768,   720,-32768,   261,-32768,
1271   -32768,-32768,   921,  5927,  5927,  5927,  1772,   952,-32768,-32768,
1272   -32768,   470,   967,   385,   972,   975,-32768,-32768,-32768,-32768,
1273   -32768,-32768,   987,  2002,-32768,-32768,  5927,  5927,  1001,  1003,
1274     1014,  1021,  1027,   458,   737,  2110,-32768,-32768,  5093,-32768,
1275   -32768,-32768,-32768,  1028,-32768,-32768,  5093,-32768,  5093,-32768,
1276   -32768,-32768,  5825,  5927,-32768,-32768,    90,  5927,  5927,  5927,
1277     5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,-32768,-32768,
1278     5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,
1279     5927,  5927,  5927,  5927,  5927,  5927,-32768,-32768,-32768,-32768,
1280     5927,-32768,-32768,  2588,-32768,-32768,  1068,-32768,-32768,  1002,
1281   -32768,  5927,   487,   998,  1037,-32768,-32768,-32768,-32768,-32768,
1282      198,  6175,-32768,-32768,  3919,  3493,  1061,-32768,-32768,  5927,
1283       59,  4026,  5177,   728,-32768,   438,   991,  1069,  1082,  1083,
1284     1084,  1083,   720,  1087,   338,-32768,-32768,  5836,  1085,   799,
1285   -32768,   810,-32768,   728,-32768,   681,-32768,-32768,-32768,  1016,
1286     1089,  1095,-32768,   728,   785,-32768,   720,  1086,-32768,  1100,
1287      720,  1098,-32768,   395,  1101,   408,  1101,  1106,-32768,-32768,
1288      967,  1104,-32768,  5528,-32768,-32768,  1105,  1113,   432,-32768,
1289   -32768,-32768,-32768,-32768,-32768,  5927,-32768,  1111,-32768,  4026,
1290   -32768,-32768,  1128,  1118,-32768,   462,-32768,    87,   720,   720,
1291   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1292   -32768,-32768,   802,-32768,-32768,-32768,   994,   994,   502,   502,
1293      566,   566,   566,   566,   394,   394,   554,   601,   617,  5927,
1294     5927,  5927,-32768,-32768,  3173,-32768,  3600,  4216,-32768,-32768,
1295     1121,   489,-32768,-32768,   728,-32768,-32768,  1126,  1124,-32768,
1296     1127,-32768,  4596,-32768,-32768,  4406,  4640,   967,-32768,  1130,
1297   -32768,-32768,  1134,  1136,-32768,  1138,  1140,-32768,   872,-32768,
1298     1139,-32768,-32768,-32768,-32768,  1137,   653,   810,  5868,  1142,
1299   -32768,-32768,-32768,-32768,  1146,-32768,-32768,   142,-32768,-32768,
1300     5927,   156,   728,-32768,-32768,  1155,-32768,-32768,  1176,  6865,
1301   -32768,-32768,-32768,-32768,  1161,-32768,  1772,-32768,  5555,-32768,
1302   -32768,  1169,-32768,-32768,-32768,  1165,-32768,-32768,  1167,-32768,
1303     5927,-32768,-32768,-32768,-32768,  6005,  6035,-32768,   622,   941,
1304      638,-32768,-32768,  4747,  5093,  5927,-32768,  6094,-32768,  5927,
1305   -32768,  1862,-32768,-32768,-32768,  4791,  4898,-32768,  4942,-32768,
1306   -32768,  1164,-32768,-32768,-32768,-32768,-32768,  1172,-32768,-32768,
1307     1173,-32768,   720,-32768,   720,-32768,-32768,   212,  1170,-32768,
1308     1174,    86,-32768,  1132,-32768,  1835,-32768,-32768,  1179,-32768,
1309     1183,-32768,   327,  1862,-32768,   720,   625,  5093,  1191,  5555,
1310   -32768,  1194,-32768,  1195,  1192,  1175,-32768,  5927,  6094,-32768,
1311   -32768,-32768,  2002,-32768,  2002,-32768,-32768,-32768,-32768,   546,
1312     2002,  5927,  5927,  5927,  5927,  5927,  5927,  5956,  5956,  1197,
1313      642,   651,  1099,  1242,-32768,  1019,   951,   986,   608,  1005,
1314     1189,  1180,  1154,  1166,   152,  1199,-32768,    45,-32768,-32768,
1315   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1316   -32768,-32768,-32768,-32768,   660,   667,-32768,  1036,-32768,-32768,
1317   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1862,
1318   -32768,  1135,-32768,-32768,  1141,-32768,  1143,-32768,-32768,-32768,
1319     1151,-32768,   831,  1156,  1862,-32768,-32768,  5049,-32768,-32768,
1320   -32768,-32768,  6589,-32768,-32768,  6589,-32768,-32768,-32768,-32768,
1321     5927,  1045,  1203,-32768,-32768,-32768,  1205,   681,  1213,-32768,
1322     1835,  5927,   720,-32768,-32768,  1835,   551,-32768,  1211,  1835,
1323     1157,-32768,  1862,-32768,  1221,-32768,-32768,-32768,  1862,-32768,
1324   -32768,-32768,-32768,-32768,-32768,-32768,   374,  1226,-32768,   564,
1325   -32768,   810,-32768,-32768,  1194,  5507,  1231,   720,-32768,-32768,
1326      702,  1228,  1229,  1230,  5927,  1238,   716,  1232,   753,   778,
1327      795,   801,   812,   822,   832,   835,  5927,  5857,  5927,   841,
1328      860,   126,  5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,
1329     5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,
1330     5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,  5927,
1331   -32768,  5927,-32768,  1237,  1241,-32768,  1070,  1223,   262,    75,
1332   -32768,-32768,-32768,-32768,-32768,-32768,-32768,   528,-32768,-32768,
1333   -32768,-32768,  1835,   523,-32768,   198,  5339,-32768,  6589,  5339,
1334     6589,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1055,  1234,
1335   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1862,
1336   -32768,   102,-32768,   313,-32768,-32768,-32768,  5900,  1246,-32768,
1337   -32768,   671,-32768,  1250,   967,  1169,  1169,-32768,-32768,   863,
1338     5528,  1248,   873,   894,   294,   720,   720,-32768,-32768,-32768,
1339   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   902,   919,
1340      927,   911,   954,   507,   796,    79,    98,   176,   339,   827,
1341      852,    47,   366,   138,   622,  5927,   638,  6094,-32768,   572,
1342     1036,-32768,-32768,-32768,-32768,-32768,   585,-32768,  6313,   262,
1343      278,   278,-32768,-32768,-32768,   125,   606,-32768,-32768,    62,
1344   -32768,   544,   109,-32768,-32768,-32768,-32768,-32768,  1247,-32768,
1345       -4,-32768,  1004,-32768,   100,  1253,   102,-32768,    62,-32768,
1346   -32768,-32768,  1254,   134,-32768,-32768,  5339,-32768,  5339,-32768,
1347   -32768,  1311,-32768,   629,-32768,  1187,   745,-32768,-32768,-32768,
1348     5927,   720,-32768,  1077,   928,-32768,   955,   957,-32768,-32768,
1349     1063,-32768,-32768,   262,-32768,-32768,-32768,-32768,-32768,-32768,
1350      449,   125,   558,   720,   720,   278,-32768,    62,    62,-32768,
1351      341,   665,-32768,  1252,  1056,   497,   109,   397,    82,-32768,
1352   -32768,   544,-32768,-32768,-32768,   544,    11,   720,   720,  1257,
1353      544,-32768,   102,  1260,   690,-32768,   728,-32768,-32768,  1262,
1354   -32768,  1263,  1264,-32768,  1266,-32768,-32768,-32768,  1196,-32768,
1355      713,  1265,-32768,   304,-32768,-32768,-32768,  1267,   960,   973,
1356   -32768,-32768,-32768,-32768,   125,  1270,   572,-32768,-32768,   125,
1357      741,   341,   736,   720,   720,    62,-32768,  1093,-32768,-32768,
1358      544,-32768,   497,  1251,-32768,   397,-32768,   397,-32768,-32768,
1359     1271,-32768,-32768,  1093,  1268,-32768,-32768,-32768,-32768,  5927,
1360      134,  1276,-32768,-32768,-32768,  1290,-32768,  1291,-32768,-32768,
1361   -32768,-32768,   995,  5927,-32768,-32768,-32768,  1285,-32768,-32768,
1362      341,-32768,-32768,-32768,  1288,    82,-32768,-32768,-32768,-32768,
1363   -32768,-32768,-32768,-32768,  5927,-32768,-32768,-32768,-32768,-32768,
1364   -32768,-32768,-32768,-32768,  1314,  1315,-32768
1365 };
1366
1367 static const short yypgoto[] =
1368 {
1369   -32768,-32768,  1236,-32768,-32768,-32768,-32768,  -424,  -117,-32768,
1370   -32768,  1000,-32768,-32768,-32768,-32768,-32768,    56,-32768,-32768,
1371      380,-32768,-32768,    83,   116,-32768,   189,-32768,-32768,-32768,
1372     -497,-32768,  -915,-32768,-32768,  -726,  -773,-32768,-32768,-32768,
1373     -585,-32768,  -584,-32768,  -582,-32768,   292,-32768,-32768,   632,
1374     -656,-32768,   223,   289,-32768,-32768,-32768,-32768,-32768,-32768,
1375   -32768,-32768,-32768,-32768,-32768,  -909,   147,-32768, -1005,-32768,
1376      264,-32768,-32768,  -615,   446,  1080,-32768,-32768,  1150,-32768,
1377   -32768,-32768,-32768,   -99,  -357,  -363,  -317,  -388,  -385,  -356,
1378     -338,  -523,  -516,-32768,  -613,-32768,  -140,-32768,-32768,  -104,
1379     1168,  -595,  -432,     6,-32768,-32768,-32768,   509,    -3,-32768,
1380   -32768,-32768,  1065,  -292,-32768,-32768,-32768,-32768,  -922,  -785,
1381   -32768,-32768,   510,-32768,-32768,-32768,  -544,-32768,-32768,-32768,
1382     -447,-32768,-32768,-32768,-32768,-32768,   536,-32768,-32768,-32768,
1383   -32768,-32768,-32768,-32768,-32768,-32768,-32768,    85,   766,-32768,
1384      980,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1385   -32768,   300,  -717,  -477,-32768,   139,-32768,-32768,   664,   668,
1386      493,     1,  -417,  1227,-32768,    13,-32768,-32768,  -581,-32768,
1387   -32768,-32768,   650,  -102,  1062,-32768,  -451,   442,    17,  1350,
1388   -32768,  1122,-32768,  1202,-32768,-32768,-32768,-32768,  -177,-32768,
1389   -32768,-32768,-32768,-32768,   429,  1375,  1011,  1444,-32768,-32768,
1390     1521,-32768,-32768,  -315,-32768,  1052,   201,  -638,  -822,-32768,
1391      861,-32768,-32768,   959,  -195,   666,   504,  -460,   113,-32768,
1392      179,   285,-32768,-32768,   343,-32768,   411,-32768,-32768,   655,
1393   -32768,   347,  -623,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1394   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1395   -32768,-32768,  1630,-32768,-32768,  1689,  -281,   513,     0,    19,
1396   -32768
1397 };
1398
1399
1400 #define YYLAST          7060
1401
1402
1403 static const short yytable[] =
1404 {
1405      122,   120,   132,   320,   292,   122,    98,   568,   597,   122,
1406      218,   218,   218,   544,   545,   688,   130,   491,   546,   123,
1407     1045,   471,  1064,   570,   123,   595,   648,   199,   141,   302,
1408      469,   708,   538,   539,   757,   650,   536,   537,  1199,   431,
1409      507,   815,   742,  1083,   754,   957,   423,   852,   547,   613,
1410      961,   427,  1129,   428,   965,   131,    94,   336,   337,   338,
1411      339,   340,   341,   930,   475,   452,  -612,   548,  -654,   968,
1412     -612,   442,  -654,   634,   264,   972,   791,   792,   940,   794,
1413      540,   541,   542,   543,   569,   115,  1117,  1050,   122,   120,
1414      135,   475,   138,   267,    98,   757,  1118,   653,   949,  1040,
1415     -646,   401,   402,   742,  -646,   754,  1126,   123,   410,  1041,
1416      826,   825,  1180,  1181,   642,   666,  1052,   800,   518,  -647,
1417      267,   122,   -46,  -647,   241,   241,  1136,  1077,  1137,   395,
1418      396,  1110,  1111,  1126,   752,   519,  1125,  1127,   269,   122,
1419      123,   753,   295,  1052,    94,  1138,   407,  1144,   395,   396,
1420      122,  1112,   316,  1113,   995,   218,  1148,  1069,   317,  -658,
1421      267,   475,   408,  -658,   409,   696,   690,   410,     3,   327,
1422     1114,   996,   199,   115,   218,   507,   948,   404,   698,   950,
1423     1230,   699,   471,  1130,   447,   410,   852,   270,   701,   455,
1424      242,   242,   852,   920,   700,   752,  1084,  -648,   270,   270,
1425      218,  -648,   753,  1200,   791,   792,  1179,   794,   218,   921,
1426      218,  1192,   218,  1195,   803,   218,  -278,   199,   557,   791,
1427      792,   286,   794,   218,   315,   199,   395,   396,   218,   199,
1428      218,  1076,   199,  1078,    81,    82,   140,   418,   457,    85,
1429       86,   496,   497,   218,   218,   800,     3,  -422,  -422,  -422,
1430       81,  1119,  -422,  -422,  1153,   861,  1155,   566,   427,   304,
1431      800,   199,   670,    81,  1042,  1043,   475,   318,   516,   748,
1432       81,  1055,   749,   520,   521,   522,   523,   524,   525,   526,
1433      527,   528,   529,   530,   425,   122,   445,   410,   122,   122,
1434      122,   533,   534,   535,   746,   211,  1157,    81,  1055,   320,
1435      745,   750,  1040,  1029,   123,   323,   552,   449,   451,   453,
1436      122,   468,  1041,   852,   459,   410,   122,   320,   475,   751,
1437     1195,  1097,    81,    82,   140,   410,   697,    85,    86,   123,
1438      748,  1220,   845,   749,   324,   317,   241,  -422,   686,  -422,
1439      747,   241,   803,   241,  -422,  -422,  -422,  -422,     3,  -422,
1440     -422,  1031,  1032,   212,   325,   746,   241,   803,   218,   410,
1441     -649,   745,   750,   492,  -649,   320,   218,  1182,   218,  1183,
1442      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1443      751,   326,  1087,  1033,  1034,   456,  1184,  -656,   951,   395,
1444      396,  -656,   688,   630,   629,   403,  1024,  1035,  -279,   959,
1445      262,   747,   242,   409,   757,  1026,   410,   242,   861,   242,
1446      492,   280,   742,   218,   754,   285,   410,   287,   328,   291,
1447      623,   213,   242,  1136,   293,  1137,   125,   126,   127,   410,
1448      199,   397,   398,   625,   218,   218,   309,   565,   310,   202,
1449      211,   218,  1138,   122,   578,   329,   399,   400,   565,  -422,
1450     -422,  -422,   122,   410,  -422,  -422,  -422,   633,   320,  -422,
1451      600,  -422,   123,   122,   346,   122,    81,  1042,  1043,  1074,
1452      320,   590,  1074,   122,  1172,  1112,   122,  1113,   347,   447,
1453      122,   376,   123,   640,   123,   211,   316,   641,   489,  1176,
1454      348,   410,   317,   211,  1114,   616,   349,   211,   212,   621,
1455      211,  -422,  -422,  -422,   752,   425,  -422,  -422,   410,   218,
1456      410,   753,   492,   352,   656,    81,    82,   140,   122,   122,
1457       85,    86,  1191,  1136,   710,  1137,  1019,  1020,  -643,   211,
1458      714,  1021,  -643,  1050,   393,   394,   719,   643,   644,   393,
1459      394,  1070,  1138,   212,  1071,  1013,  1014,   241,   241,  1011,
1460     1012,   212,  1051,   350,  1124,   212,   218,   218,   212,  1176,
1461      353,  1022,  1052,   565,   122,   658,   213,   410,  1051,   443,
1462     -704,   875,   218,   199,   962,   218,   218,   831,  1052,   832,
1463     1023,   565,  1040,   123,   335,  1173,   351,   212,  -278,   856,
1464      457,   833,  1041,  1015,  1016,  1017,  1018,  -708,     3,  1074,
1465     -278,  1074,   457,   267,   463,   710,  1103,   465,   401,   402,
1466        3,   213,   122,   242,   242,   473,   395,   396,   476,   213,
1467      872,  -710,   873,   213,   267,   316,   213,  1115,   877,   411,
1468      403,   317,   878,   879,   880,   881,   882,   883,  1198,   748,
1469     -705,   417,   749,  1204,   419,   910,   911,   267,  1047,  -278,
1470     1071,   457,   416,   218,   218,   213,   404,   774,   475,     3,
1471      912,   913,   405,  -609,   746,   218,   218,  -609,   218,  1093,
1472      745,   750,  -608,   436,   412,  -710,  -608,  -422,   686,  -422,
1473      320,  -607,   122,   267,   122,  -607,  1185,  -422,   410,   751,
1474     1085,   320,   924,  1234,   406,   218,  1089,  1090,   211,  1091,
1475      459,   590,   122,   590,   706,   122,   122,   218,  1207,   597,
1476      747,  1071,  1053,  1054,   838,     3,    81,  1055,   774,   859,
1477     1056,   846,  -530,   410,   621,   123,   833,   983,  1053,  1054,
1478      564,   833,    81,  1055,   987,   833,  1056,   410,  -474,   457,
1479      476,   989,   856,   505,   506,   579,    81,  1042,  1043,   584,
1480      178,   587,    81,    82,   140,  1104,   212,    85,    86,   975,
1481     1040,   710,     3,  1226,   418,  1116,  1225,  1182,   607,  1183,
1482     1041,   457,   612,   413,  -626,  -710,  -710,  1241,  -626,     3,
1483     -710,  -710,   991,   516,  -707,  1141,  1184,   420,   997,   998,
1484      999,  1000,  1001,  1002,  1003,  1004,  1005,  1006,  1007,  -631,
1485      508,   421,  1158,  -631,  1008,  1009,  1010,   218,   511,  -279,
1486      512,   470,  1252,    81,    82,   140,  -630,  -644,    85,    86,
1487     -630,  -644,  -629,  -278,   213,   457,  -629,   122,   393,   394,
1488      218,  -706,   122,  -628,  -278,   218,   598,  -628,   833,   218,
1489     1186,   211,   555,  -627,   645,   646,   123,  -627,  -651,   838,
1490      426,   960,  -651,  -624,   838,   432,  -625,  -624,   838,   122,
1491     -625,  1206,  -621,   433,   397,   398,  -621,   122,   437,    81,
1492       82,   140,   859,  -652,    85,    86,   601,  -652,   123,   399,
1493      400,  -622,   438,   573,  -613,  -622,   982,   444,  -613,   397,
1494      398,  1094,   681,   682,  -616,   440,   687,   945,  -616,   212,
1495      945,    81,    82,   140,   399,   400,    85,    86,    81,    82,
1496      140,   476,   462,    85,    86,   640,    81,    82,   140,  1096,
1497      467,    85,    86,  -636,    81,  1042,  1043,  -636,   178,  1048,
1498      713,   464,  -641,    81,    82,   140,  -641,  1067,    85,    86,
1499     -637,   466,   218,   482,  -637,   390,   391,   392,  -638,  -634,
1500      472,   573,  -638,  -634,    23,    24,    25,    26,   579,    27,
1501      776,   838,   410,   726,    32,    33,   377,   213,    36,    37,
1502      488,    39,    40,    41,    42,  -640,  -617,   833,  -615,  -640,
1503     -617,  -619,  -615,   906,   907,  -619,    54,    55,   390,   391,
1504      392,   490,   827,  1167,  -620,   122,   122,   493,  -620,   573,
1505      494,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1506      387,   495,    80,   560,  1098,  1099,  -618,   573,   669,   499,
1507     -618,   500,    84,   562,   288,   289,   290,   774,   390,   391,
1508      392,   945,   501,   945,   945,   945,   908,   909,  1108,   502,
1509     1048,  1048,   891,   292,  1107,   503,   372,   509,   373,  1122,
1510     -422,  1067,  1067,   903,   904,   905,  1132,  1133,  1134,   914,
1511      915,   563,   207,   239,   239,   952,   682,  -422,  1122,   320,
1512      374,   375,   567,   122,  1151,  1080,  1081,   559,   248,   249,
1513      250,   218,   580,  1247,   410,  1170,   122,   578,  1188,  1189,
1514      581,   122,   123,   282,   283,   669,   728,   934,   935,  1160,
1515      838,   582,  -278,   585,   320,   123,   591,   608,   669,   596,
1516     1164,   617,  1048,   122,   122,  1048,   609,  1122,  1122,   611,
1517      622,   618,   410,   887,   626,   888,  1067,  -422,  1067,   627,
1518      631,  1067,  1177,  1178,   632,  1067,   636,   122,   122,   638,
1519     1067,   967,   639,  1208,  -422,   655,   122,   889,   890,   862,
1520      659,   660,   662,   672,   675,   677,  1201,  1202,   678,   680,
1521      122,   945,   683,   945,   685,   123,   691,   692,   272,   273,
1522      274,   275,   276,   277,   278,   279,   702,   281,   198,   123,
1523      284,   704,  1048,   122,   122,  1122,   707,   716,   628,   809,
1524     1067,   717,   813,   816,   918,   823,   300,   869,   305,   306,
1525      308,   824,  1228,  1229,   314,   777,   841,   207,   843,   863,
1526      122,  1151,   200,   230,   230,   865,   867,   868,   916,   917,
1527      300,   886,   919,   319,   922,   925,   931,   342,   953,   123,
1528      954,   956,   932,   964,   933,  1067,   319,   319,   319,   319,
1529      319,   319,   936,   344,   345,  1073,   970,   939,   966,   389,
1530      973,   980,   207,   984,   985,   986,   988,   990,  1027,  1028,
1531      207,  1082,   178,  1030,   207,   892,  1088,   207,  1092,  1095,
1532     1128,  1165,  1147,  1086,  1187,   239,   424,  1140,  1159,  1203,
1533      239,  1185,   239,  1210,  1214,  1213,  1216,  1218,   300,  1232,
1534     1219,  1235,  1222,  1238,  1243,   239,   207,  1224,  1236,   299,
1535      893,   894,   895,   896,   897,   898,   899,   900,   901,   902,
1536     1245,  1246,  1248,  1249,  1255,  1256,   474,  1058,  1250,  1237,
1537     1196,   331,  1102,   333,   261,   829,  1171,   439,  1109,  1227,
1538      830,  1156,  1143,   993,   388,   296,   955,   831,   938,   832,
1539      156,   157,   158,   159,   160,   161,   963,   674,   821,  1242,
1540      819,   300,   976,   448,   450,   855,   294,   200,   162,   163,
1541      164,   300,   246,   460,   504,   435,   458,  1221,   198,   979,
1542      637,  1146,   556,   871,  1101,   864,   198,   978,     0,     0,
1543      198,   314,   165,   198,     0,   203,   236,   236,     0,     0,
1544        0,   422,     0,     0,     0,     0,     0,     0,     0,     0,
1545        0,     0,   200,     0,     0,     0,     0,     0,   300,     0,
1546      200,     0,   198,     0,   200,     0,     0,   200,     0,     0,
1547      300,     0,     0,   513,     0,   230,     0,   175,     0,     0,
1548      230,     0,   230,     0,     0,     0,     0,     0,     0,     0,
1549        0,     0,     0,     0,     0,   230,   200,     0,     0,     0,
1550     1212,     0,     0,     0,   204,   237,   237,     0,     0,     0,
1551        0,     0,     0,     0,   454,   207,     0,     0,     0,     0,
1552      319,   319,   319,   319,   319,   319,   319,   319,   319,   319,
1553      319,   319,   319,   319,   319,   319,   239,   239,     0,     0,
1554        0,   483,   484,   485,   486,   284,     0,     0,     0,    81,
1555      176,   177,     0,   178,    85,    86,     0,     0,     0,     0,
1556        0,   454,     0,     0,   583,   498,   586,     0,   592,   319,
1557        0,   593,     0,   454,   458,     0,   599,     0,     0,     0,
1558      203,   205,   238,   238,     0,   610,     0,   319,   314,     0,
1559      330,   517,  1251,     0,     0,   619,   296,     0,     0,     0,
1560        0,   156,   157,   158,   159,   160,   161,     0,     0,     0,
1561      300,     0,     0,     0,     0,     0,     0,     0,     0,   162,
1562      163,   164,     0,   319,     0,   203,     0,     0,     0,     0,
1563        0,   198,     0,   203,     0,   319,     0,   203,     0,   561,
1564      203,     0,     0,   165,     0,     0,     0,     0,   236,   204,
1565        0,     0,     0,   236,     0,   236,     0,     0,   207,     0,
1566        0,     0,     0,     0,     0,   200,     0,     0,   236,   203,
1567        0,     0,     0,     0,     0,     0,     0,     0,     0,   319,
1568        0,   319,     0,     0,     0,     0,   230,   230,   175,     0,
1569      215,   244,   244,   671,   204,     0,   300,     0,     0,     0,
1570        0,     0,   204,     0,     0,     0,   204,     0,     0,   204,
1571        0,     0,   599,     0,     0,     0,     0,   237,     0,   693,
1572      694,   695,   237,     0,   237,     0,   205,   314,   319,     0,
1573        0,     0,     0,     0,     0,     0,     0,   237,   204,     0,
1574      319,     0,     0,     0,     0,     0,     0,   300,     0,   217,
1575      245,   245,     0,     0,     0,     0,     0,     0,   720,   721,
1576       81,   297,   298,     0,   178,     0,     0,     0,   649,     0,
1577        0,   205,   389,     0,   198,   723,   725,     0,     0,   205,
1578        0,     0,     0,   205,     0,     0,   205,   743,   811,     0,
1579        0,     0,     0,     0,   238,     0,   818,     0,   820,   238,
1580        0,   238,   458,     0,     0,     0,     0,     0,   200,     0,
1581        0,   839,   840,     0,   238,   205,   844,     0,     0,     0,
1582      619,   857,     0,     0,     0,     0,     0,     0,     0,     0,
1583        0,     0,     0,   389,     0,   215,     0,   300,   203,   300,
1584     -258,     0,     0,     0,   486,   300,   296,     0,   743,     0,
1585        0,   156,   157,   158,   159,   160,   161,     0,     0,   236,
1586      236,   319,   319,   319,   319,   319,   319,   884,   885,   162,
1587      163,   164,     0,   729,     0,     0,     0,   775,     0,     0,
1588      215,     0,     0,     0,     0,     0,     0,     0,   215,     0,
1589        0,     0,   215,   165,   217,   215,     0,     0,     0,     0,
1590        0,     0,     0,   244,   830,     0,     0,   204,   244,   296,
1591      244,   831,     0,   832,   156,   157,   158,   159,   160,   161,
1592        0,     0,     0,   244,   215,   942,     0,     0,   237,   237,
1593        0,     0,   162,   163,   164,   870,     0,     0,   175,   217,
1594      454,     0,   454,     0,     0,     0,     0,   217,   876,     0,
1595      319,   217,     0,     0,   217,     0,   165,     0,     0,     0,
1596        0,   319,   245,     0,     0,     0,     0,   245,     0,   245,
1597        0,     0,     0,   974,   857,     0,   599,     0,     0,     0,
1598        0,   203,   245,   217,   205,   777,   778,   779,   780,     0,
1599        0,     0,   781,   782,   783,   784,   785,   786,   787,     0,
1600        0,   175,     0,     0,   319,   238,   238,     0,     0,     0,
1601       81,   297,   298,     0,   178,     0,     0,     0,     0,     0,
1602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1603        0,     0,     0,   319,   319,   319,   319,   319,   319,   319,
1604      319,   319,   319,   319,   319,   319,   319,   319,   319,   319,
1605      204,   319,     0,     0,     0,     0,     0,     0,     0,     0,
1606     1072,     0,     0,     0,     0,     0,     0,  1079,     0,     0,
1607        0,  -171,     0,    81,   176,   177,   296,   178,    85,    86,
1608        0,   156,   157,   158,   159,   160,   161,     0,     0,     0,
1609        0,     0,     0,   215,  -202,  -202,     0,     0,     0,   162,
1610      163,   164,     0,     0,     0,     0,   994,     0,     0,     0,
1611        0,     0,     0,     0,   244,   244,     0,     0,     0,     0,
1612      319,     0,     0,   165,     0,     0,     0,   205,     0,     0,
1613        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1614        0,     0,   389,     0,     0,     0,     0,     0,     0,     0,
1615        0,     0,   217,     0,     0,     0,     0,   743,     0,     0,
1616        0,     0,     0,     0,     0,     0,     0,     0,   175,     0,
1617        0,     0,     0,   245,   245,     0,     0,     0,     0,  -171,
1618        0,     0,     0,     0,   355,  1145,     0,     0,     0,   156,
1619      157,   158,   159,   160,   161,   486,     0,     0,     0,     0,
1620        0,   857,  -202,  -202,  1162,     0,     0,   162,   163,   164,
1621      300,     0,     0,  1168,  1169,     0,     0,     0,     0,     0,
1622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1623        0,   165,     0,     0,     0,     0,   215,     0,     0,     0,
1624       81,   297,   298,  1100,   178,     0,     0,     0,     0,     0,
1625        0,     0,     0,     0,     0,     0,  1205,     0,     0,     0,
1626        0,     0,     0,  1209,  1211,    -1,     1,     0,     0,     0,
1627        0,     0,     0,     0,     0,   857,   175,     0,     0,     0,
1628        0,     0,     0,     2,     0,     0,     0,     0,     0,  -278,
1629        0,     0,     0,     0,     0,   217,     0,     0,     0,     3,
1630        0,  1231,     0,     0,     0,     0,     0,     0,  1163,     4,
1631        0,     5,     0,     0,     0,     0,     0,     0,     0,     0,
1632        0,  1239,  1240,     0,     0,     0,     0,     0,  1244,     0,
1633        0,     0,     0,  -422,  -422,  -422,     0,     6,     0,   319,
1634        0,     0,     7,     8,     9,     0,     0,     0,    81,   297,
1635      298,     0,   178,   319,     0,     0,     0,    10,    11,    12,
1636        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1637        0,     0,     0,     0,   319,     0,     0,    13,    14,    15,
1638       16,     0,    17,    18,    19,    20,    21,    22,    23,    24,
1639       25,    26,     0,    27,    28,    29,    30,    31,    32,    33,
1640       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1641       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1642       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1643       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1644       74,    75,    76,    77,    78,    79,    80,    -2,     1,     0,
1645        0,     0,     0,    81,    82,    83,    84,     0,    85,    86,
1646       87,     0,     0,     0,     0,     2,     0,     0,     0,     0,
1647        0,  -278,     0,     0,     0,     0,     0,     0,     0,     0,
1648        0,     3,     0,     0,     0,     0,     0,     0,     0,     0,
1649        0,     4,     0,     5,     0,     0,     0,     0,     0,     0,
1650        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1651        0,     0,     0,     0,     0,  -422,  -422,  -422,     0,     6,
1652        0,     0,     0,     0,     7,     8,     9,     0,     0,     0,
1653        0,     0,     0,     0,     0,     0,     0,     0,     0,    10,
1654       11,    12,     0,     0,     0,     0,     0,     0,     0,     0,
1655        0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1656       14,    15,    16,     0,    17,    18,    19,    20,    21,    22,
1657       23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
1658       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1659       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1660       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1661       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1662       72,    73,    74,    75,    76,    77,    78,    79,    80,     0,
1663        0,     0,     0,     0,     0,    81,    82,    83,    84,   142,
1664       85,    86,    87,     0,   143,   144,   145,     0,   146,   147,
1665      148,   149,   150,   151,   152,   153,   154,  -559,   553,     0,
1666        0,     0,   155,     0,     0,     0,     0,   156,   157,   158,
1667      159,   160,   161,     0,     0,     0,     0,     0,     0,     0,
1668     -202,  -202,     4,     0,     5,   162,   163,   164,     0,     0,
1669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1670        0,     0,     0,     0,     0,     0,  -422,  -422,  -422,   165,
1671        6,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1673        0,     0,     0,     0,   167,   168,   169,   170,   171,   172,
1674      173,     0,     0,     0,     0,     0,     0,     0,     0,   174,
1675       13,    14,    15,    16,   175,    17,    18,    19,    20,    21,
1676       22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
1677       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
1678       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1679       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1680       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1681       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1682        0,     0,     0,     0,     0,     0,    81,   176,   554,    84,
1683      178,   179,    86,    87,   142,     0,     0,     0,     0,   143,
1684      144,   145,     0,   146,   147,   148,   149,   150,   151,   152,
1685      153,   154,  -171,     0,     0,     0,     0,   155,     0,     0,
1686        0,     0,   156,   157,   158,   159,   160,   161,     0,     0,
1687        0,     0,     0,     0,     0,  -202,  -202,  -278,     0,     0,
1688      162,   163,   164,     0,     0,     0,     0,     0,     0,     0,
1689        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1690        0,  -278,  -278,  -278,   165,     0,     0,     0,     0,     0,
1691        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1692        0,     0,     0,     0,     0,     0,     0,     0,     0,   167,
1693      168,   169,   170,   171,   172,   173,     0,     0,     0,     0,
1694        0,     0,     0,     0,   174,  -278,  -278,  -278,  -278,   175,
1695     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1696        0,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1697     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1698     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1699     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1700     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1701     -278,  -278,  -278,  -278,  -278,     0,     0,     0,     0,     0,
1702        0,    81,   176,   177,  -278,   178,   179,    86,  -278,   220,
1703        0,     0,     0,     0,   143,   144,   145,     0,     0,   221,
1704      148,   149,   150,   151,   152,   153,   222,  -171,  -563,     0,
1705        0,     0,   223,     0,     0,     0,     0,   156,   157,   158,
1706      159,   160,   161,     0,     0,     0,     0,     0,     0,     0,
1707     -202,  -202,  -278,     0,     0,   162,   163,   164,     0,     0,
1708        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1709        0,     0,     0,     0,     0,     0,  -278,  -278,  -278,   165,
1710        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1712        0,     0,     0,     0,     0,   168,   169,   170,   171,   172,
1713      173,     0,     0,     0,     0,     0,     0,     0,     0,   174,
1714     -278,  -278,  -278,  -278,   175,  -278,  -278,  -278,  -278,  -278,
1715     -278,  -278,  -278,  -278,  -278,     0,  -278,  -278,  -278,  -278,
1716     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1717     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1718     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1719     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1720     -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,  -278,
1721        0,     0,     0,     0,     0,     0,    81,   176,   177,  -278,
1722      178,   224,   225,  -278,  -169,     0,     0,     0,     0,  -169,
1723     -169,  -169,     0,  -169,  -169,  -169,  -169,  -169,  -169,  -169,
1724     -169,  -169,  -169,  -169,  -169,  -708,  -169,  -169,     0,  -169,
1725        0,  -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,
1726     -169,  -169,  -169,  -169,  -169,  -169,  -169,     0,  -169,     0,
1727     -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,
1728     -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,
1729     -169,     0,     0,     0,  -169,     0,     0,     0,     0,     0,
1730        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1731        0,     0,     0,     0,     0,     0,     0,     0,     0,  -169,
1732     -169,  -169,  -169,  -169,  -169,  -169,     0,     0,     0,     0,
1733        0,   142,     0,     0,  -169,     0,   143,   144,   145,  -169,
1734      146,   147,   148,   149,   150,   151,   152,   153,   154,  -559,
1735        0,     0,     0,     0,   155,     0,     0,     0,     0,   156,
1736      157,   158,   159,   160,   161,     0,     0,     0,     0,     0,
1737        0,     0,  -202,  -202,     0,     0,     0,   162,   163,   164,
1738        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1740        0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
1741        0,  -169,  -169,  -169,     0,  -169,  -169,  -169,     0,     0,
1742        0,     0,     0,     0,     0,   166,   167,   168,   169,   170,
1743      171,   172,   173,     0,     0,     0,     0,     0,   142,     0,
1744        0,   174,     0,   143,   144,   145,   175,   146,   147,   148,
1745      149,   150,   151,   152,   153,   154,  -559,     0,     0,     0,
1746        0,   155,     0,     0,     0,     0,   156,   157,   158,   159,
1747      160,   161,     0,     0,     0,     0,     0,     0,     0,  -202,
1748     -202,     0,     0,     0,   162,   163,   164,     0,     0,     0,
1749        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1750        0,     0,     0,     0,     0,     0,     0,     0,   165,     0,
1751        0,     0,     0,     0,     0,     0,     0,     0,    81,   176,
1752      177,     0,   178,   179,    86,     0,     0,     0,     0,     0,
1753        0,     0,  -531,   167,   168,   169,   170,   171,   172,   173,
1754        0,     0,     0,     0,   220,     0,     0,     0,   174,   143,
1755      144,   145,     0,   175,   221,   148,   149,   150,   151,   152,
1756      153,   222,  -503,  -503,     0,     0,     0,   223,  -503,     0,
1757        0,     0,   156,   157,   158,   159,   160,   161,     0,     0,
1758        0,     0,     0,     0,     0,  -202,  -202,     0,     0,     0,
1759      162,   163,   164,     0,     0,     0,     0,     0,     0,     0,
1760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1761        0,     0,     0,     0,   165,     0,     0,     0,     0,     0,
1762        0,     0,     0,     0,     0,    81,   176,   177,     0,   178,
1763      179,    86,     0,     0,     0,     0,     0,     0,  -503,     0,
1764      168,   169,   170,   171,   172,   173,     0,     0,     0,     0,
1765        0,   142,     0,     0,   174,     0,   143,   144,   145,   175,
1766      146,   147,   148,   149,   150,   151,   152,   153,   154,  -559,
1767      651,     0,     0,     0,   155,     0,     0,     0,     0,   156,
1768      157,   158,   159,   160,   161,     0,     0,     0,     0,     0,
1769        0,     0,  -202,  -202,     0,     0,     0,   162,   163,   164,
1770        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1772        0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
1773        0,    81,   176,   177,     0,   178,   224,   225,     0,     0,
1774        0,     0,     0,     0,     0,     0,   167,   168,   169,   170,
1775      171,   172,   173,     0,     0,     0,     0,     0,   142,     0,
1776        0,   174,     0,   143,   144,   145,   175,   146,   147,   148,
1777      149,   150,   151,   152,   153,   154,  -559,     0,     0,     0,
1778        0,   155,     0,     0,     0,     0,   156,   157,   158,   159,
1779      160,   161,     0,     0,     0,     0,     0,     0,     0,  -202,
1780     -202,     0,     0,     0,   162,   163,   164,     0,     0,     0,
1781        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1782        0,     0,     0,     0,     0,     0,     0,     0,   165,     0,
1783        0,     0,     0,     0,     0,     0,     0,     0,    81,   176,
1784      177,     0,   178,   179,    86,     0,     0,     0,     0,     0,
1785        0,     0,     0,   167,   168,   169,   170,   171,   172,   173,
1786        0,     0,     0,     0,   220,     0,     0,     0,   174,   143,
1787      144,   145,     0,   175,   221,   148,   149,   150,   151,   152,
1788      153,   222,  -559,  -563,     0,     0,     0,   223,     0,     0,
1789        0,     0,   156,   157,   158,   159,   160,   161,     0,     0,
1790        0,     0,     0,     0,     0,  -202,  -202,     0,     0,     0,
1791      162,   163,   164,     0,     0,     0,     0,     0,     0,     0,
1792        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1793        0,     0,     0,     0,   165,     0,     0,     0,     0,     0,
1794        0,     0,     0,     0,     0,    81,   176,   177,     0,   178,
1795      179,    86,     0,     0,     0,     0,     0,     0,  -499,     0,
1796      168,   169,   170,   171,   172,   173,     0,     0,     0,     0,
1797      220,     0,     0,     0,   174,   143,   144,   145,     0,   175,
1798      221,   148,   149,   150,   151,   152,   153,   222,  -559,  -563,
1799        0,     0,     0,   223,     0,     0,     0,     0,   156,   157,
1800      158,   159,   160,   161,     0,     0,     0,     0,     0,     0,
1801        0,  -202,  -202,     0,     0,     0,   162,   163,   164,     0,
1802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1803        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1804      165,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1805        0,    81,   176,   177,     0,   178,   224,   225,     0,     0,
1806        0,     0,     0,     0,     0,     0,   168,   169,   170,   171,
1807      172,   173,     0,     0,     0,     0,     0,     0,     0,     0,
1808      174,     0,   143,   144,   145,   175,   146,   147,   148,   149,
1809      150,   151,   152,   153,   222,  -559,   571,     0,     0,     0,
1810      355,     0,     0,     0,     0,   156,   157,   158,   159,   160,
1811      161,     0,     0,     0,     0,     0,     0,     0,  -202,  -202,
1812        4,     0,     5,   162,   163,   164,     0,     0,     0,     0,
1813        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1814        0,     0,     0,     0,     0,     0,     0,   165,     6,     0,
1815        0,     0,     0,     0,     0,     0,     0,    81,   176,   177,
1816        0,   178,   224,   225,     0,     0,     0,     0,     0,     0,
1817        0,     0,   167,   168,   169,   170,   171,   172,   173,     0,
1818        0,     0,     0,     0,     0,     0,     0,   572,    13,    14,
1819       15,    16,   175,    17,    18,    19,    20,    21,    22,    23,
1820       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
1821       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1822       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1823       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1824       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1825       73,    74,    75,    76,    77,    78,    79,    80,     0,     0,
1826        0,     0,     0,     0,    81,   176,   554,    84,   178,   179,
1827       86,    87,   143,   144,   145,     0,   146,   147,   148,   149,
1828      150,   151,   152,   153,   222,  -559,   652,     0,     0,     0,
1829      355,     0,     0,     0,     0,   156,   157,   158,   159,   160,
1830      161,     0,     0,     0,     0,     0,     0,     0,  -202,  -202,
1831        4,     0,     5,   162,   163,   164,     0,     0,     0,     0,
1832        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1833        0,     0,     0,     0,     0,     0,     0,   165,     6,     0,
1834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1835        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1836        0,     0,   167,   168,   169,   170,   171,   172,   173,     0,
1837        0,     0,     0,     0,     0,     0,     0,   174,    13,    14,
1838       15,    16,   175,    17,    18,    19,    20,    21,    22,    23,
1839       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
1840       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1841       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1842       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1843       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1844       73,    74,    75,    76,    77,    78,    79,    80,     0,     0,
1845        0,     0,     0,     0,    81,   176,   554,    84,   178,   179,
1846       86,    87,   143,   144,   145,     0,   146,   147,   148,   149,
1847      150,   151,   152,   153,   222,  -559,   664,     0,     0,     0,
1848      355,     0,     0,     0,     0,   156,   157,   158,   159,   160,
1849      161,     0,     0,     0,     0,     0,     0,     0,  -202,  -202,
1850        4,     0,     5,   162,   163,   164,     0,     0,     0,     0,
1851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1852        0,     0,     0,     0,     0,     0,     0,   165,     6,     0,
1853        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1854        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1855        0,     0,   167,   168,   169,   170,   171,   172,   173,     0,
1856        0,     0,     0,     0,     0,     0,     0,   665,    13,    14,
1857       15,    16,   175,    17,    18,    19,    20,    21,    22,    23,
1858       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
1859       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1860       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1861       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1862       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1863       73,    74,    75,    76,    77,    78,    79,    80,     0,     0,
1864        0,     0,     0,     0,    81,   176,   554,    84,   178,   179,
1865       86,    87,   143,   144,   145,     0,   146,   147,   148,   149,
1866      150,   151,   152,   153,   222,  -559,   663,     0,     0,     0,
1867      355,     0,     0,     0,     0,   156,   157,   158,   159,   160,
1868      161,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1869        0,     0,     0,   162,   163,   164,   143,   144,   145,     0,
1870      146,   147,   148,   149,   150,   151,   152,   153,   222,  -559,
1871      667,     0,     0,     0,   355,     0,     0,   165,     0,   156,
1872      157,   158,   159,   160,   161,     0,     0,     0,     0,     0,
1873        0,     0,     0,     0,     0,     0,     0,   162,   163,   164,
1874        0,     0,   167,   168,   169,   170,   171,   172,   173,     0,
1875        0,     0,     0,     0,     0,     0,     0,   174,     0,     0,
1876        0,   165,   175,     0,     0,     0,     0,     0,     0,     0,
1877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1878        0,     0,     0,     0,     0,     0,   167,   168,   169,   170,
1879      171,   172,   173,     0,     0,     0,     0,     0,     0,     0,
1880        0,   668,     0,   143,   144,   145,   175,   146,   147,   148,
1881      149,   150,   151,   152,   153,   222,  -559,   727,     0,     0,
1882        0,   355,     0,     0,     0,     0,   156,   157,   158,   159,
1883      160,   161,     0,     0,    81,   176,   177,     0,   178,   179,
1884       86,     0,     0,     0,   162,   163,   164,   143,   144,   145,
1885        0,   146,   147,   148,   149,   150,   151,   152,   153,   222,
1886     -559,   805,     0,     0,     0,   355,     0,     0,   165,     0,
1887      156,   157,   158,   159,   160,   161,     0,     0,    81,   176,
1888      177,     0,   178,   179,    86,     0,     0,     0,   162,   163,
1889      164,     0,     0,   167,   168,   169,   170,   171,   172,   173,
1890        0,     0,     0,     0,     0,     0,     0,     0,   174,     0,
1891        0,     0,   165,   175,     0,     0,     0,     0,     0,     0,
1892        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1893        0,     0,     0,     0,     0,     0,     0,   167,   168,   169,
1894      170,   171,   172,   173,     0,     0,     0,     0,     0,     0,
1895        0,     0,   174,     0,   143,   144,   145,   175,   146,   147,
1896      148,   149,   150,   151,   152,   153,   222,  -559,   806,     0,
1897        0,     0,   355,     0,     0,     0,     0,   156,   157,   158,
1898      159,   160,   161,     0,     0,    81,   176,   177,     0,   178,
1899      179,    86,     0,     0,     0,   162,   163,   164,   143,   144,
1900      145,     0,   146,   147,   148,   149,   150,   151,   152,   153,
1901      222,  -559,   808,     0,     0,     0,   355,     0,     0,   165,
1902        0,   156,   157,   158,   159,   160,   161,     0,     0,    81,
1903      176,   177,     0,   178,   179,    86,     0,     0,     0,   162,
1904      163,   164,     0,     0,   167,   168,   169,   170,   171,   172,
1905      173,     0,     0,     0,     0,     0,     0,     0,     0,   807,
1906        0,     0,     0,   165,   175,     0,     0,     0,     0,     0,
1907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1908        0,     0,     0,     0,     0,     0,     0,     0,   167,   168,
1909      169,   170,   171,   172,   173,     0,     0,     0,     0,     0,
1910        0,     0,     0,   174,     0,   143,   144,   145,   175,   146,
1911      147,   148,   149,   150,   151,   152,   153,   222,  -559,   941,
1912        0,     0,     0,   355,     0,     0,     0,     0,   156,   157,
1913      158,   159,   160,   161,     0,     0,    81,   176,   177,     0,
1914      178,   179,    86,     0,     0,     0,   162,   163,   164,   143,
1915      144,   145,     0,   146,   147,   148,   149,   150,   151,   152,
1916      153,   222,  -559,     0,     0,     0,     0,   355,     0,     0,
1917      165,     0,   156,   157,   158,   159,   160,   161,     0,     0,
1918       81,   176,   177,     0,   178,   179,    86,     0,     0,     0,
1919      162,   163,   164,     0,     0,   167,   168,   169,   170,   171,
1920      172,   173,     0,     0,     0,     0,     0,     0,     0,     0,
1921      174,     0,     0,     0,   165,   175,     0,     0,     0,     0,
1922        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1923        0,     0,     0,     0,     0,     0,     0,     0,     0,   167,
1924      168,   169,   170,   171,   172,   173,  -135,     0,     0,     0,
1925        0,  -135,     0,     0,   174,     0,     0,     0,     0,   175,
1926        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1927        0,     4,     0,     5,     0,     0,     0,     0,     0,     0,
1928        0,     0,     0,     0,     0,     0,     0,    81,   176,   177,
1929        0,   178,   179,    86,     0,     0,     0,     0,     0,     6,
1930        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1931        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1933        0,    81,   176,   177,     0,   178,   179,    86,     0,    13,
1934       14,    15,    16,     0,    17,    18,    19,    20,    21,    22,
1935       23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
1936       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1937       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1938       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1939       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1940       72,    73,    74,    75,    76,    77,    78,    79,    80,  -562,
1941        0,     0,     0,     0,     0,     0,     0,   137,    84,     0,
1942        0,     0,    87,     0,     0,     0,     0,     0,     0,     0,
1943        0,     0,     0,     4,     0,     0,     0,     0,     0,     0,
1944        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1945        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1946        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1947        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1948        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1949        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1950        0,    13,    14,    15,    16,     0,    17,    18,    19,    20,
1951       21,    22,    23,    24,    25,    26,     0,    27,    28,    29,
1952       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1953       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1954       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1955       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1956       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1957       80,     0,     0,     0,     0,     0,   709,  -702,     0,   137,
1958       84,   296,     0,     0,    87,     0,   156,   157,   158,   159,
1959      160,   161,     0,     0,     0,     0,     0,   628,     0,     0,
1960        0,     0,   296,     0,   162,   163,   164,   156,   157,   158,
1961      159,   160,   161,     0,     0,     0,     0,     0,     0,     0,
1962        0,     0,     0,     0,   709,   162,   163,   164,   165,   296,
1963        0,     0,     0,     0,   156,   157,   158,   159,   160,   161,
1964        0,     0,     0,     0,     0,     0,     0,     0,     0,   165,
1965        0,     0,   162,   163,   164,     0,     0,     0,     0,     0,
1966        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1967        0,     0,     0,   175,     0,     0,   165,     0,     0,     0,
1968        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1969        0,     0,     0,     0,   175,     0,     0,     0,     0,     0,
1970        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1971     -278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1972        3,   175,     0,     0,     0,     0,     0,     0,     0,     0,
1973        4,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1974        0,     0,     0,     0,     0,    81,   297,   298,     0,   178,
1975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1976        0,     0,     0,     0,     0,     0,    81,   297,   298,     0,
1977      178,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1978        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1979        0,     0,     0,    81,   297,   298,     0,   178,    13,    14,
1980       15,    16,     0,    17,    18,    19,    20,    21,    22,    23,
1981       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
1982       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1983       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1984       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1985       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1986       73,    74,    75,    76,    77,    78,    79,    80,     0,     0,
1987        0,     0,     0,     0,    81,    82,    83,    84,   296,    85,
1988       86,    87,     0,   156,   157,   158,   159,   160,   161,     0,
1989        0,     0,     0,     0,     0,     0,  -202,  -202,     0,   296,
1990      514,   162,   163,   164,   156,   157,   158,   159,   160,   161,
1991      296,     0,     0,   594,     0,   156,   157,   158,   159,   160,
1992      161,     0,   162,   163,   164,   165,     0,     0,     0,     0,
1993        0,   296,   992,   162,   163,   164,   156,   157,   158,   159,
1994      160,   161,   296,     0,     0,   689,   165,   156,   157,   158,
1995      159,   160,   161,     0,   162,   163,   164,   165,     0,     0,
1996        0,     0,     0,     0,     0,   162,   163,   164,     0,     0,
1997      175,     0,     0,     0,   296,  -258,     0,     0,   165,   156,
1998      157,   158,   159,   160,   161,     0,     0,     0,     0,   165,
1999        0,   175,     0,     0,     0,     0,     0,   162,   163,   164,
2000        0,   296,   175,     0,     0,     0,   156,   157,   158,   159,
2001      160,   161,     0,     0,     0,     0,     0,     0,     0,     0,
2002        0,   165,     0,   175,   162,   163,   164,     0,     0,     0,
2003      343,     0,     0,     0,   175,   156,   157,   158,   159,   160,
2004      161,     0,    81,   297,   298,     0,   178,     0,   165,     0,
2005        0,     0,     0,   162,   163,   164,     0,     0,     0,     0,
2006        0,     0,     0,    81,   297,   298,   175,   178,     0,     0,
2007        0,     0,     0,     0,    81,   297,   298,   165,   178,   722,
2008        0,     0,     0,     0,   156,   157,   158,   159,   160,   161,
2009        0,     0,     0,   175,     0,    81,   297,   298,     0,   178,
2010        0,     0,   162,   163,   164,     0,    81,   297,   298,   724,
2011      178,     0,     0,     0,   156,   157,   158,   159,   160,   161,
2012        0,     0,   175,     0,     0,     0,   165,     0,     0,     0,
2013        0,     0,   162,   163,   164,     0,     0,     0,    81,   297,
2014      298,     0,   178,     0,     0,     0,     0,     0,     0,     0,
2015        0,     0,     0,     0,     0,     0,   165,     0,     0,     0,
2016        0,     0,     0,     0,     0,    81,   297,   298,   730,   178,
2017        0,   175,     0,   731,   732,   733,   734,   735,   736,     0,
2018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2019        0,   162,   737,   738,    81,   297,   298,     0,   178,     0,
2020        0,   175,     0,     0,     0,     0,     0,     0,     0,     0,
2021        0,     0,     0,     0,     0,   739,     0,     0,     0,     0,
2022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2024        0,     0,     0,    81,   297,   298,     0,   178,     0,     0,
2025        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2026      175,     0,     0,     0,     0,     0,     0,     0,     0,     4,
2027        0,     5,     0,    81,   297,   298,     0,   178,     0,     0,
2028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2029        0,     0,     0,  -422,  -422,  -422,     0,     6,     0,     0,
2030        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2031        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2032        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2033        0,     0,    81,   740,   741,     0,   178,    13,    14,    15,
2034       16,     0,    17,    18,    19,    20,    21,    22,    23,    24,
2035       25,    26,     0,    27,    28,    29,    30,    31,    32,    33,
2036       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2037       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2038       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2039       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2040       74,    75,    76,    77,    78,    79,    80,     4,     0,     5,
2041        0,     0,     0,     0,     0,   137,    84,     0,     0,     0,
2042       87,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2043        0,     0,     0,     0,     0,     6,     0,     0,     0,     0,
2044        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2045        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2047        0,     0,     0,     0,     0,    13,    14,    15,    16,     0,
2048       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2049        0,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2050       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2051       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2052       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2053       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2054       76,    77,    78,    79,    80,     4,     0,     0,     0,     0,
2055        0,    81,  1105,   137,    84,     0,     0,     0,    87,     0,
2056        0,     0,     0,     0,     0,     0,     0,     0,     0,  -422,
2057     -422,  -422,     0,     0,     0,     0,     0,     0,     0,     0,
2058        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2059        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2060        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2061        0,     0,     0,    13,    14,    15,    16,     0,    17,    18,
2062       19,    20,    21,    22,    23,    24,    25,    26,     0,    27,
2063       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2064       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2065       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2066       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2067       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2068       78,    79,    80,     4,     0,     0,     0,     0,     0,     0,
2069        0,   137,    84,     0,     0,     0,    87,     0,     0,     0,
2070        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2071        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2072        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2073        0,    10,    11,    12,     0,     0,     0,     0,     0,     0,
2074        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2075        0,    13,    14,    15,    16,     0,    17,    18,    19,    20,
2076       21,    22,    23,    24,    25,    26,     0,    27,    28,    29,
2077       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2078       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2079       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2080       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2081       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2082       80,     4,     0,     5,     0,     0,     0,     0,     0,   137,
2083       84,     0,     0,     0,    87,     0,     0,     0,     0,     0,
2084        0,     0,     0,     0,     0,     0,     0,     0,     0,     6,
2085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2086        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2087        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2088        0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
2089       14,    15,    16,     0,    17,    18,    19,    20,    21,    22,
2090       23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
2091       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2092       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2093       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2094       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2095       72,    73,    74,    75,    76,    77,    78,    79,    80,     4,
2096        0,     0,     0,     0,     0,     0,     0,   137,    84,     0,
2097        0,     0,    87,     0,     0,     0,     0,     0,     0,     0,
2098        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2099        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2102        0,     0,     0,     0,     0,     0,     0,    13,    14,    15,
2103       16,     0,    17,    18,    19,    20,    21,    22,    23,    24,
2104       25,    26,     0,    27,    28,    29,    30,    31,    32,    33,
2105       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2106       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2107       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2108       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2109       74,    75,    76,    77,    78,    79,    80,     0,     0,     0,
2110        0,     0,     0,     0,     0,   137,    84,     0,     0,     0,
2111       87
2112 };
2113
2114 static const short yycheck[] =
2115 {
2116        0,     0,     5,   143,   121,     5,     0,   439,   459,     9,
2117       10,    11,    12,   401,   402,   596,     3,   332,   403,     0,
2118      929,   313,   937,   440,     5,   457,   549,    10,     9,   131,
2119      311,   626,   395,   396,   657,   551,   393,   394,    27,   234,
2120      355,   679,   657,   965,   657,   830,   223,   703,   404,   473,
2121      835,   228,    56,   230,   839,    24,     0,   156,   157,   158,
2122      159,   160,   161,   789,     5,    19,    21,   405,    21,   842,
2123       25,   266,    25,   505,    19,   848,   661,   661,   804,   661,
2124      397,   398,   399,   400,    25,     0,    24,     5,    88,    88,
2125        5,     5,     7,    18,    88,   718,    34,   557,   815,    24,
2126       21,    54,    55,   718,    25,   718,    24,    88,    21,    34,
2127      691,    25,  1117,  1118,    27,   575,    34,   661,    28,    21,
2128       18,   121,    22,    25,    11,    12,    26,   949,    28,    50,
2129       51,  1040,  1041,    24,   657,    45,  1051,  1052,    24,   139,
2130      121,   657,   129,    34,    88,    45,    41,  1069,    50,    51,
2131      150,    26,   139,    28,    28,   155,    22,   942,   139,    21,
2132       18,     5,    57,    25,    18,    23,   598,    21,    34,   150,
2133       45,    45,   155,    88,   174,   490,   814,    39,   610,   817,
2134     1185,    25,   474,   187,   286,    21,   842,   102,   612,    25,
2135       11,    12,   848,    41,   611,   718,   969,    21,   113,   114,
2136      200,    25,   718,   192,   789,   789,  1115,   789,   208,    57,
2137      210,  1126,   212,  1128,   661,   215,    18,   200,   413,   804,
2138      804,    88,   804,   223,   139,   208,    50,    51,   228,   212,
2139      230,   948,   215,   950,   188,   189,   190,   192,    26,   193,
2140      194,   343,   346,   243,   244,   789,    34,   188,   189,   190,
2141      188,   189,   193,   194,  1076,   706,  1078,   434,   435,    21,
2142      804,   244,   577,   188,   189,   190,     5,    24,   372,   657,
2143      188,   189,   657,   377,   378,   379,   380,   381,   382,   383,
2144      384,   385,   386,   387,    18,   285,   285,    21,   288,   289,
2145      290,   390,   391,   392,   657,    10,  1081,   188,   189,   439,
2146      657,   657,    24,   926,   285,    24,   410,   288,   289,   290,
2147      310,   310,    34,   969,   301,    21,   316,   457,     5,   657,
2148     1235,    27,   188,   189,   190,    21,   607,   193,   194,   310,
2149      718,    27,     5,   718,    24,   316,   223,    24,    25,    26,
2150      657,   228,   789,   230,   188,   189,   190,    34,    34,   193,
2151      194,    89,    90,    10,    24,   718,   243,   804,   358,    21,
2152       21,   718,   718,    25,    25,   505,   366,    26,   368,    28,
2153       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2154      718,    24,   977,   121,   122,   300,    45,    21,   820,    50,
2155       51,    25,   973,   495,   493,    29,   919,   135,    24,   831,
2156       26,   718,   223,    18,  1027,   921,    21,   228,   859,   230,
2157       25,   111,  1027,   413,  1027,   115,    21,   117,    18,   119,
2158       25,    10,   243,    26,   124,    28,   112,   113,   114,    21,
2159      413,    37,    38,    25,   434,   435,   136,   431,   138,    10,
2160      155,   441,    45,   443,   443,    18,    52,    53,   442,   188,
2161      189,   190,   452,    21,   193,   194,    18,    25,   598,    21,
2162      463,    23,   443,   463,    24,   465,   188,   189,   190,   946,
2163      610,   452,   949,   473,    25,    26,   476,    28,    24,   581,
2164      480,   181,   463,    21,   465,   200,   473,    25,    18,  1112,
2165       16,    21,   473,   208,    45,   476,    16,   212,   155,   480,
2166      215,   188,   189,   190,  1027,    18,   193,   194,    21,   509,
2167       21,  1027,    25,    15,    25,   188,   189,   190,   518,   519,
2168      193,   194,    25,    26,   628,    28,   914,   915,    21,   244,
2169      632,   916,    25,     5,    32,    33,   640,   518,   519,    32,
2170       33,    18,    45,   200,    21,   908,   909,   434,   435,   906,
2171      907,   208,    24,    16,  1051,   212,   556,   557,   215,  1182,
2172      102,   917,    34,   557,   564,   564,   155,    21,    24,   269,
2173       22,    25,   572,   556,    23,   575,   576,    26,    34,    28,
2174      918,   575,    24,   564,   155,    27,    16,   244,    24,   706,
2175       26,   695,    34,   910,   911,   912,   913,    22,    34,  1076,
2176       24,  1078,    26,    18,   304,   709,    21,   307,    54,    55,
2177       34,   200,   612,   434,   435,   315,    50,    51,   318,   208,
2178      722,    34,   724,   212,    18,   612,   215,    21,   730,   200,
2179       29,   612,   731,   732,   733,   734,   735,   736,  1135,  1027,
2180       22,   212,  1027,  1140,   215,    37,    38,    18,   929,    24,
2181       21,    26,   210,   653,   654,   244,    39,   657,     5,    34,
2182       52,    53,    40,    21,  1027,   665,   666,    25,   668,   984,
2183     1027,  1027,    21,   244,    95,    88,    25,    24,    25,    26,
2184      820,    21,   682,    18,   684,    25,    21,    34,    21,  1027,
2185      971,   831,    25,  1190,    56,   695,    25,    26,   413,    28,
2186      687,   682,   702,   684,   619,   705,   706,   707,    18,  1160,
2187     1027,    21,   184,   185,   695,    34,   188,   189,   718,   706,
2188      192,   702,    95,    21,   705,   706,   830,    25,   184,   185,
2189      430,   835,   188,   189,   874,   839,   192,    21,    25,    26,
2190      440,    25,   859,     6,     7,   445,   188,   189,   190,   449,
2191      192,   451,   188,   189,   190,  1036,   413,   193,   194,   195,
2192       24,   865,    34,    27,   192,  1046,    25,    26,   468,    28,
2193       34,    26,   472,    19,    21,   188,   189,  1209,    25,    34,
2194      193,   194,   886,   887,    22,  1066,    45,    22,   892,   893,
2195      894,   895,   896,   897,   898,   899,   900,   901,   902,    21,
2196      358,    24,  1083,    25,   903,   904,   905,   807,   366,    24,
2197      368,    26,  1244,   188,   189,   190,    21,    21,   193,   194,
2198       25,    25,    21,    24,   413,    26,    25,   827,    32,    33,
2199      830,    22,   832,    21,    24,   835,    26,    25,   942,   839,
2200     1121,   556,   413,    21,    42,    43,   827,    25,    21,   830,
2201       95,   832,    25,    21,   835,    19,    21,    25,   839,   859,
2202       25,  1142,    21,    20,    37,    38,    25,   867,    95,   188,
2203      189,   190,   859,    21,   193,   194,   195,    25,   859,    52,
2204       53,    21,    27,   441,    21,    25,   867,    18,    25,    37,
2205       38,   990,    20,    21,    21,    24,   596,   812,    25,   556,
2206      815,   188,   189,   190,    52,    53,   193,   194,   188,   189,
2207      190,   611,    25,   193,   194,    21,   188,   189,   190,    25,
2208       23,   193,   194,    21,   188,   189,   190,    25,   192,   929,
2209      630,    18,    21,   188,   189,   190,    25,   937,   193,   194,
2210       21,    18,   942,    22,    25,    34,    35,    36,    21,    21,
2211       24,   509,    25,    25,   123,   124,   125,   126,   658,   128,
2212      660,   942,    21,    22,   133,   134,    23,   556,   137,   138,
2213       18,   140,   141,   142,   143,    21,    21,  1081,    21,    25,
2214       25,    21,    25,    32,    33,    25,   155,   156,    34,    35,
2215       36,    24,   692,  1095,    21,   995,   996,    25,    25,   557,
2216       25,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2217       67,    24,   181,    11,   995,   996,    21,   575,   576,    18,
2218       25,    18,   191,    25,    68,    69,    70,  1027,    34,    35,
2219       36,   946,    18,   948,   949,   950,    50,    51,  1038,    18,
2220     1040,  1041,   742,  1160,  1038,    18,    24,    19,    26,  1049,
2221       28,  1051,  1052,    34,    35,    36,    52,    53,    54,    54,
2222       55,    24,    10,    11,    12,    20,    21,    45,  1068,  1209,
2223       48,    49,    11,  1073,  1073,    20,    21,     9,    13,    14,
2224       15,  1081,    91,  1223,    21,    22,  1086,  1086,    32,    33,
2225       21,  1091,  1073,   113,   114,   653,   654,   797,   798,  1086,
2226     1081,    19,    19,    19,  1244,  1086,    19,    91,   666,    24,
2227     1091,    25,  1112,  1113,  1114,  1115,    27,  1117,  1118,    24,
2228       22,    21,    21,    24,    18,    26,  1126,    28,  1128,    25,
2229       25,  1131,  1113,  1114,    21,  1135,    25,  1137,  1138,    11,
2230     1140,   841,    24,  1146,    45,    24,  1146,    48,    49,   707,
2231       24,    27,    25,    23,    20,    19,  1137,  1138,    20,    19,
2232     1160,  1076,    23,  1078,    27,  1146,    24,    21,   103,   104,
2233      105,   106,   107,   108,   109,   110,    21,   112,    10,  1160,
2234      115,     5,  1182,  1183,  1184,  1185,    25,    22,    19,    25,
2235     1190,    24,    20,    20,    40,    25,   131,    22,   133,   134,
2236      135,    27,  1183,  1184,   139,    73,    27,   155,    25,    18,
2237     1210,  1210,    10,    11,    12,    21,    21,    25,    29,    39,
2238      155,    24,    56,   143,    25,   189,    91,   162,    25,  1210,
2239       25,    18,    91,    22,    91,  1235,   156,   157,   158,   159,
2240      160,   161,    91,   163,   164,   945,    25,    91,    91,   184,
2241       24,    20,   200,    25,    25,    25,    18,    25,    21,    18,
2242      208,    27,   192,    40,   212,    23,    20,   215,    18,    21,
2243       23,   194,    18,   973,    22,   223,   224,    24,    91,    22,
2244      228,    21,   230,    21,    20,    22,    20,    91,   223,   196,
2245       25,    40,    25,    25,    18,   243,   244,    27,    27,   131,
2246       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2247       20,    20,    27,    25,     0,     0,   316,   937,  1235,  1203,
2248     1131,   153,  1030,   155,    88,   693,  1103,   262,  1039,  1182,
2249       19,    20,  1068,   887,   184,    24,   827,    26,   802,    28,
2250       29,    30,    31,    32,    33,    34,   836,   581,   684,  1210,
2251      682,   286,   859,   288,   289,   705,   129,   155,    47,    48,
2252       49,   296,    12,   301,   353,   243,   301,  1166,   200,   865,
2253      509,  1071,   413,   718,  1027,   709,   208,   864,    -1,    -1,
2254      212,   316,    71,   215,    -1,    10,    11,    12,    -1,    -1,
2255       -1,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2256       -1,    -1,   200,    -1,    -1,    -1,    -1,    -1,   343,    -1,
2257      208,    -1,   244,    -1,   212,    -1,    -1,   215,    -1,    -1,
2258      355,    -1,    -1,   371,    -1,   223,    -1,   116,    -1,    -1,
2259      228,    -1,   230,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2260       -1,    -1,    -1,    -1,    -1,   243,   244,    -1,    -1,    -1,
2261     1150,    -1,    -1,    -1,    10,    11,    12,    -1,    -1,    -1,
2262       -1,    -1,    -1,    -1,   296,   413,    -1,    -1,    -1,    -1,
2263      390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
2264      400,   401,   402,   403,   404,   405,   434,   435,    -1,    -1,
2265       -1,   323,   324,   325,   326,   430,    -1,    -1,    -1,   188,
2266      189,   190,    -1,   192,   193,   194,    -1,    -1,    -1,    -1,
2267       -1,   343,    -1,    -1,   449,   347,   451,    -1,   453,   439,
2268       -1,   456,    -1,   355,   459,    -1,   461,    -1,    -1,    -1,
2269      155,    10,    11,    12,    -1,   470,    -1,   457,   473,    -1,
2270       18,   373,  1242,    -1,    -1,   480,    24,    -1,    -1,    -1,
2271       -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
2272      495,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,
2273       48,    49,    -1,   493,    -1,   200,    -1,    -1,    -1,    -1,
2274       -1,   413,    -1,   208,    -1,   505,    -1,   212,    -1,   421,
2275      215,    -1,    -1,    71,    -1,    -1,    -1,    -1,   223,   155,
2276       -1,    -1,    -1,   228,    -1,   230,    -1,    -1,   556,    -1,
2277       -1,    -1,    -1,    -1,    -1,   413,    -1,    -1,   243,   244,
2278       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   549,
2279       -1,   551,    -1,    -1,    -1,    -1,   434,   435,   116,    -1,
2280       10,    11,    12,   578,   200,    -1,   581,    -1,    -1,    -1,
2281       -1,    -1,   208,    -1,    -1,    -1,   212,    -1,    -1,   215,
2282       -1,    -1,   597,    -1,    -1,    -1,    -1,   223,    -1,   604,
2283      605,   606,   228,    -1,   230,    -1,   155,   612,   598,    -1,
2284       -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,   244,    -1,
2285      610,    -1,    -1,    -1,    -1,    -1,    -1,   632,    -1,    10,
2286       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,   643,   644,
2287      188,   189,   190,    -1,   192,    -1,    -1,    -1,   550,    -1,
2288       -1,   200,   657,    -1,   556,   645,   646,    -1,    -1,   208,
2289       -1,    -1,    -1,   212,    -1,    -1,   215,   657,   673,    -1,
2290       -1,    -1,    -1,    -1,   223,    -1,   681,    -1,   683,   228,
2291       -1,   230,   687,    -1,    -1,    -1,    -1,    -1,   556,    -1,
2292       -1,   696,   697,    -1,   243,   244,   701,    -1,    -1,    -1,
2293      705,   706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2294       -1,    -1,    -1,   718,    -1,   155,    -1,   722,   413,   724,
2295       18,    -1,    -1,    -1,   626,   730,    24,    -1,   718,    -1,
2296       -1,    29,    30,    31,    32,    33,    34,    -1,    -1,   434,
2297      435,   731,   732,   733,   734,   735,   736,   737,   738,    47,
2298       48,    49,    -1,   655,    -1,    -1,    -1,   659,    -1,    -1,
2299      200,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   208,    -1,
2300       -1,    -1,   212,    71,   155,   215,    -1,    -1,    -1,    -1,
2301       -1,    -1,    -1,   223,    19,    -1,    -1,   413,   228,    24,
2302      230,    26,    -1,    28,    29,    30,    31,    32,    33,    34,
2303       -1,    -1,    -1,   243,   244,   810,    -1,    -1,   434,   435,
2304       -1,    -1,    47,    48,    49,   717,    -1,    -1,   116,   200,
2305      722,    -1,   724,    -1,    -1,    -1,    -1,   208,   730,    -1,
2306      820,   212,    -1,    -1,   215,    -1,    71,    -1,    -1,    -1,
2307       -1,   831,   223,    -1,    -1,    -1,    -1,   228,    -1,   230,
2308       -1,    -1,    -1,   858,   859,    -1,   861,    -1,    -1,    -1,
2309       -1,   556,   243,   244,   413,    73,    74,    75,    76,    -1,
2310       -1,    -1,    80,    81,    82,    83,    84,    85,    86,    -1,
2311       -1,   116,    -1,    -1,   874,   434,   435,    -1,    -1,    -1,
2312      188,   189,   190,    -1,   192,    -1,    -1,    -1,    -1,    -1,
2313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2314       -1,    -1,    -1,   903,   904,   905,   906,   907,   908,   909,
2315      910,   911,   912,   913,   914,   915,   916,   917,   918,   919,
2316      556,   921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2317      945,    -1,    -1,    -1,    -1,    -1,    -1,   952,    -1,    -1,
2318       -1,    19,    -1,   188,   189,   190,    24,   192,   193,   194,
2319       -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
2320       -1,    -1,    -1,   413,    42,    43,    -1,    -1,    -1,    47,
2321       48,    49,    -1,    -1,    -1,    -1,   888,    -1,    -1,    -1,
2322       -1,    -1,    -1,    -1,   434,   435,    -1,    -1,    -1,    -1,
2323      990,    -1,    -1,    71,    -1,    -1,    -1,   556,    -1,    -1,
2324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2325       -1,    -1,  1027,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2326       -1,    -1,   413,    -1,    -1,    -1,    -1,  1027,    -1,    -1,
2327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,
2328       -1,    -1,    -1,   434,   435,    -1,    -1,    -1,    -1,    19,
2329       -1,    -1,    -1,    -1,    24,  1070,    -1,    -1,    -1,    29,
2330       30,    31,    32,    33,    34,   977,    -1,    -1,    -1,    -1,
2331       -1,  1086,    42,    43,  1089,    -1,    -1,    47,    48,    49,
2332     1095,    -1,    -1,  1098,  1099,    -1,    -1,    -1,    -1,    -1,
2333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2334       -1,    71,    -1,    -1,    -1,    -1,   556,    -1,    -1,    -1,
2335      188,   189,   190,  1025,   192,    -1,    -1,    -1,    -1,    -1,
2336       -1,    -1,    -1,    -1,    -1,    -1,  1141,    -1,    -1,    -1,
2337       -1,    -1,    -1,  1148,  1149,     0,     1,    -1,    -1,    -1,
2338       -1,    -1,    -1,    -1,    -1,  1160,   116,    -1,    -1,    -1,
2339       -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    -1,    24,
2340       -1,    -1,    -1,    -1,    -1,   556,    -1,    -1,    -1,    34,
2341       -1,  1186,    -1,    -1,    -1,    -1,    -1,    -1,  1090,    44,
2342       -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2343       -1,  1206,  1207,    -1,    -1,    -1,    -1,    -1,  1213,    -1,
2344       -1,    -1,    -1,    68,    69,    70,    -1,    72,    -1,  1209,
2345       -1,    -1,    77,    78,    79,    -1,    -1,    -1,   188,   189,
2346      190,    -1,   192,  1223,    -1,    -1,    -1,    92,    93,    94,
2347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2348       -1,    -1,    -1,    -1,  1244,    -1,    -1,   112,   113,   114,
2349      115,    -1,   117,   118,   119,   120,   121,   122,   123,   124,
2350      125,   126,    -1,   128,   129,   130,   131,   132,   133,   134,
2351      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2352      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2353      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2354      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2355      175,   176,   177,   178,   179,   180,   181,     0,     1,    -1,
2356       -1,    -1,    -1,   188,   189,   190,   191,    -1,   193,   194,
2357      195,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,
2358       -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2359       -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2360       -1,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,
2361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2362       -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    72,
2363       -1,    -1,    -1,    -1,    77,    78,    79,    -1,    -1,    -1,
2364       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,
2365       93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,
2367      113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
2368      123,   124,   125,   126,    -1,   128,   129,   130,   131,   132,
2369      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2370      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2371      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2372      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2373      173,   174,   175,   176,   177,   178,   179,   180,   181,    -1,
2374       -1,    -1,    -1,    -1,    -1,   188,   189,   190,   191,     1,
2375      193,   194,   195,    -1,     6,     7,     8,    -1,    10,    11,
2376       12,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
2377       -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2378       32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2379       42,    43,    44,    -1,    46,    47,    48,    49,    -1,    -1,
2380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2381       -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
2382       72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2384       -1,    -1,    -1,    -1,    96,    97,    98,    99,   100,   101,
2385      102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2386      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2387      122,   123,   124,   125,   126,    -1,   128,   129,   130,   131,
2388      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2389      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2390      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2391      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2392      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2393       -1,    -1,    -1,    -1,    -1,    -1,   188,   189,   190,   191,
2394      192,   193,   194,   195,     1,    -1,    -1,    -1,    -1,     6,
2395        7,     8,    -1,    10,    11,    12,    13,    14,    15,    16,
2396       17,    18,    19,    -1,    -1,    -1,    -1,    24,    -1,    -1,
2397       -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
2398       -1,    -1,    -1,    -1,    -1,    42,    43,    44,    -1,    -1,
2399       47,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2401       -1,    68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,
2402       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2403       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,
2404       97,    98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,
2405       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
2406      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2407       -1,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2408      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2409      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2410      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2411      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2412      177,   178,   179,   180,   181,    -1,    -1,    -1,    -1,    -1,
2413       -1,   188,   189,   190,   191,   192,   193,   194,   195,     1,
2414       -1,    -1,    -1,    -1,     6,     7,     8,    -1,    -1,    11,
2415       12,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
2416       -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2417       32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2418       42,    43,    44,    -1,    -1,    47,    48,    49,    -1,    -1,
2419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2420       -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
2421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2423       -1,    -1,    -1,    -1,    -1,    97,    98,    99,   100,   101,
2424      102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2425      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2426      122,   123,   124,   125,   126,    -1,   128,   129,   130,   131,
2427      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2428      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2429      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2430      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2431      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2432       -1,    -1,    -1,    -1,    -1,    -1,   188,   189,   190,   191,
2433      192,   193,   194,   195,     1,    -1,    -1,    -1,    -1,     6,
2434        7,     8,    -1,    10,    11,    12,    13,    14,    15,    16,
2435       17,    18,    19,    20,    21,    22,    23,    24,    -1,    26,
2436       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2437       37,    38,    39,    40,    41,    42,    43,    -1,    45,    -1,
2438       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2439       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2440       67,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,    -1,
2441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,
2443       97,    98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,
2444       -1,     1,    -1,    -1,   111,    -1,     6,     7,     8,   116,
2445       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2446       -1,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,    29,
2447       30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
2448       -1,    -1,    42,    43,    -1,    -1,    -1,    47,    48,    49,
2449       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2451       -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2452       -1,   188,   189,   190,    -1,   192,   193,   194,    -1,    -1,
2453       -1,    -1,    -1,    -1,    -1,    95,    96,    97,    98,    99,
2454      100,   101,   102,    -1,    -1,    -1,    -1,    -1,     1,    -1,
2455       -1,   111,    -1,     6,     7,     8,   116,    10,    11,    12,
2456       13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
2457       -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2458       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
2459       43,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,
2460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,
2462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,   189,
2463      190,    -1,   192,   193,   194,    -1,    -1,    -1,    -1,    -1,
2464       -1,    -1,    95,    96,    97,    98,    99,   100,   101,   102,
2465       -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,   111,     6,
2466        7,     8,    -1,   116,    11,    12,    13,    14,    15,    16,
2467       17,    18,    19,    20,    -1,    -1,    -1,    24,    25,    -1,
2468       -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
2469       -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,
2470       47,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2471       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2472       -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,    -1,
2473       -1,    -1,    -1,    -1,    -1,   188,   189,   190,    -1,   192,
2474      193,   194,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,
2475       97,    98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,
2476       -1,     1,    -1,    -1,   111,    -1,     6,     7,     8,   116,
2477       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2478       20,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,    29,
2479       30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
2480       -1,    -1,    42,    43,    -1,    -1,    -1,    47,    48,    49,
2481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2482       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2483       -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2484       -1,   188,   189,   190,    -1,   192,   193,   194,    -1,    -1,
2485       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,    99,
2486      100,   101,   102,    -1,    -1,    -1,    -1,    -1,     1,    -1,
2487       -1,   111,    -1,     6,     7,     8,   116,    10,    11,    12,
2488       13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
2489       -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2490       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
2491       43,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,
2492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,
2494       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,   189,
2495      190,    -1,   192,   193,   194,    -1,    -1,    -1,    -1,    -1,
2496       -1,    -1,    -1,    96,    97,    98,    99,   100,   101,   102,
2497       -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,   111,     6,
2498        7,     8,    -1,   116,    11,    12,    13,    14,    15,    16,
2499       17,    18,    19,    20,    -1,    -1,    -1,    24,    -1,    -1,
2500       -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
2501       -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,
2502       47,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2504       -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,    -1,
2505       -1,    -1,    -1,    -1,    -1,   188,   189,   190,    -1,   192,
2506      193,   194,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,
2507       97,    98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,
2508        1,    -1,    -1,    -1,   111,     6,     7,     8,    -1,   116,
2509       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2510       -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,
2511       31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
2512       -1,    42,    43,    -1,    -1,    -1,    47,    48,    49,    -1,
2513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2514       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2515       71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2516       -1,   188,   189,   190,    -1,   192,   193,   194,    -1,    -1,
2517       -1,    -1,    -1,    -1,    -1,    -1,    97,    98,    99,   100,
2518      101,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2519      111,    -1,     6,     7,     8,   116,    10,    11,    12,    13,
2520       14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2521       24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2522       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
2523       44,    -1,    46,    47,    48,    49,    -1,    -1,    -1,    -1,
2524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,    -1,
2526       -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,   189,   190,
2527       -1,   192,   193,   194,    -1,    -1,    -1,    -1,    -1,    -1,
2528       -1,    -1,    96,    97,    98,    99,   100,   101,   102,    -1,
2529       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
2530      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2531      124,   125,   126,    -1,   128,   129,   130,   131,   132,   133,
2532      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2533      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2534      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2535      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2536      174,   175,   176,   177,   178,   179,   180,   181,    -1,    -1,
2537       -1,    -1,    -1,    -1,   188,   189,   190,   191,   192,   193,
2538      194,   195,     6,     7,     8,    -1,    10,    11,    12,    13,
2539       14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2540       24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2541       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
2542       44,    -1,    46,    47,    48,    49,    -1,    -1,    -1,    -1,
2543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,    -1,
2545       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2546       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2547       -1,    -1,    96,    97,    98,    99,   100,   101,   102,    -1,
2548       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
2549      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2550      124,   125,   126,    -1,   128,   129,   130,   131,   132,   133,
2551      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2552      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2553      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2554      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2555      174,   175,   176,   177,   178,   179,   180,   181,    -1,    -1,
2556       -1,    -1,    -1,    -1,   188,   189,   190,   191,   192,   193,
2557      194,   195,     6,     7,     8,    -1,    10,    11,    12,    13,
2558       14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2559       24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2560       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
2561       44,    -1,    46,    47,    48,    49,    -1,    -1,    -1,    -1,
2562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,    -1,
2564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2566       -1,    -1,    96,    97,    98,    99,   100,   101,   102,    -1,
2567       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
2568      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2569      124,   125,   126,    -1,   128,   129,   130,   131,   132,   133,
2570      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2571      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2572      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2573      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2574      174,   175,   176,   177,   178,   179,   180,   181,    -1,    -1,
2575       -1,    -1,    -1,    -1,   188,   189,   190,   191,   192,   193,
2576      194,   195,     6,     7,     8,    -1,    10,    11,    12,    13,
2577       14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2578       24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2579       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2580       -1,    -1,    -1,    47,    48,    49,     6,     7,     8,    -1,
2581       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2582       20,    -1,    -1,    -1,    24,    -1,    -1,    71,    -1,    29,
2583       30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
2584       -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,    48,    49,
2585       -1,    -1,    96,    97,    98,    99,   100,   101,   102,    -1,
2586       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
2587       -1,    71,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2588       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2589       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,    99,
2590      100,   101,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2591       -1,   111,    -1,     6,     7,     8,   116,    10,    11,    12,
2592       13,    14,    15,    16,    17,    18,    19,    20,    -1,    -1,
2593       -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2594       33,    34,    -1,    -1,   188,   189,   190,    -1,   192,   193,
2595      194,    -1,    -1,    -1,    47,    48,    49,     6,     7,     8,
2596       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2597       19,    20,    -1,    -1,    -1,    24,    -1,    -1,    71,    -1,
2598       29,    30,    31,    32,    33,    34,    -1,    -1,   188,   189,
2599      190,    -1,   192,   193,   194,    -1,    -1,    -1,    47,    48,
2600       49,    -1,    -1,    96,    97,    98,    99,   100,   101,   102,
2601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
2602       -1,    -1,    71,   116,    -1,    -1,    -1,    -1,    -1,    -1,
2603       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,
2605       99,   100,   101,   102,    -1,    -1,    -1,    -1,    -1,    -1,
2606       -1,    -1,   111,    -1,     6,     7,     8,   116,    10,    11,
2607       12,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
2608       -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2609       32,    33,    34,    -1,    -1,   188,   189,   190,    -1,   192,
2610      193,   194,    -1,    -1,    -1,    47,    48,    49,     6,     7,
2611        8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2612       18,    19,    20,    -1,    -1,    -1,    24,    -1,    -1,    71,
2613       -1,    29,    30,    31,    32,    33,    34,    -1,    -1,   188,
2614      189,   190,    -1,   192,   193,   194,    -1,    -1,    -1,    47,
2615       48,    49,    -1,    -1,    96,    97,    98,    99,   100,   101,
2616      102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2617       -1,    -1,    -1,    71,   116,    -1,    -1,    -1,    -1,    -1,
2618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
2620       98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,    -1,
2621       -1,    -1,    -1,   111,    -1,     6,     7,     8,   116,    10,
2622       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2623       -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,
2624       31,    32,    33,    34,    -1,    -1,   188,   189,   190,    -1,
2625      192,   193,   194,    -1,    -1,    -1,    47,    48,    49,     6,
2626        7,     8,    -1,    10,    11,    12,    13,    14,    15,    16,
2627       17,    18,    19,    -1,    -1,    -1,    -1,    24,    -1,    -1,
2628       71,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
2629      188,   189,   190,    -1,   192,   193,   194,    -1,    -1,    -1,
2630       47,    48,    49,    -1,    -1,    96,    97,    98,    99,   100,
2631      101,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2632      111,    -1,    -1,    -1,    71,   116,    -1,    -1,    -1,    -1,
2633       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,
2635       97,    98,    99,   100,   101,   102,    19,    -1,    -1,    -1,
2636       -1,    24,    -1,    -1,   111,    -1,    -1,    -1,    -1,   116,
2637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2638       -1,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,
2639       -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,   189,   190,
2640       -1,   192,   193,   194,    -1,    -1,    -1,    -1,    -1,    72,
2641       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2644       -1,   188,   189,   190,    -1,   192,   193,   194,    -1,   112,
2645      113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
2646      123,   124,   125,   126,    -1,   128,   129,   130,   131,   132,
2647      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2648      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2649      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2650      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2651      173,   174,   175,   176,   177,   178,   179,   180,   181,    20,
2652       -1,    -1,    -1,    -1,    -1,    -1,    -1,   190,   191,    -1,
2653       -1,    -1,   195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2654       -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,
2655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2658       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2659       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2661       -1,   112,   113,   114,   115,    -1,   117,   118,   119,   120,
2662      121,   122,   123,   124,   125,   126,    -1,   128,   129,   130,
2663      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2664      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2665      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2666      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2667      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2668      181,    -1,    -1,    -1,    -1,    -1,    19,    20,    -1,   190,
2669      191,    24,    -1,    -1,   195,    -1,    29,    30,    31,    32,
2670       33,    34,    -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,
2671       -1,    -1,    24,    -1,    47,    48,    49,    29,    30,    31,
2672       32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2673       -1,    -1,    -1,    -1,    19,    47,    48,    49,    71,    24,
2674       -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,
2676       -1,    -1,    47,    48,    49,    -1,    -1,    -1,    -1,    -1,
2677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2678       -1,    -1,    -1,   116,    -1,    -1,    71,    -1,    -1,    -1,
2679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2680       -1,    -1,    -1,    -1,   116,    -1,    -1,    -1,    -1,    -1,
2681       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2682       24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2683       34,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2684       44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2685       -1,    -1,    -1,    -1,    -1,   188,   189,   190,    -1,   192,
2686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2687       -1,    -1,    -1,    -1,    -1,    -1,   188,   189,   190,    -1,
2688      192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2690       -1,    -1,    -1,   188,   189,   190,    -1,   192,   112,   113,
2691      114,   115,    -1,   117,   118,   119,   120,   121,   122,   123,
2692      124,   125,   126,    -1,   128,   129,   130,   131,   132,   133,
2693      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2694      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2695      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2696      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2697      174,   175,   176,   177,   178,   179,   180,   181,    -1,    -1,
2698       -1,    -1,    -1,    -1,   188,   189,   190,   191,    24,   193,
2699      194,   195,    -1,    29,    30,    31,    32,    33,    34,    -1,
2700       -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    24,
2701       25,    47,    48,    49,    29,    30,    31,    32,    33,    34,
2702       24,    -1,    -1,    27,    -1,    29,    30,    31,    32,    33,
2703       34,    -1,    47,    48,    49,    71,    -1,    -1,    -1,    -1,
2704       -1,    24,    25,    47,    48,    49,    29,    30,    31,    32,
2705       33,    34,    24,    -1,    -1,    27,    71,    29,    30,    31,
2706       32,    33,    34,    -1,    47,    48,    49,    71,    -1,    -1,
2707       -1,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,
2708      116,    -1,    -1,    -1,    24,    25,    -1,    -1,    71,    29,
2709       30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    71,
2710       -1,   116,    -1,    -1,    -1,    -1,    -1,    47,    48,    49,
2711       -1,    24,   116,    -1,    -1,    -1,    29,    30,    31,    32,
2712       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2713       -1,    71,    -1,   116,    47,    48,    49,    -1,    -1,    -1,
2714       24,    -1,    -1,    -1,   116,    29,    30,    31,    32,    33,
2715       34,    -1,   188,   189,   190,    -1,   192,    -1,    71,    -1,
2716       -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,    -1,
2717       -1,    -1,    -1,   188,   189,   190,   116,   192,    -1,    -1,
2718       -1,    -1,    -1,    -1,   188,   189,   190,    71,   192,    24,
2719       -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2720       -1,    -1,    -1,   116,    -1,   188,   189,   190,    -1,   192,
2721       -1,    -1,    47,    48,    49,    -1,   188,   189,   190,    24,
2722      192,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2723       -1,    -1,   116,    -1,    -1,    -1,    71,    -1,    -1,    -1,
2724       -1,    -1,    47,    48,    49,    -1,    -1,    -1,   188,   189,
2725      190,    -1,   192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2726       -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,
2727       -1,    -1,    -1,    -1,    -1,   188,   189,   190,    24,   192,
2728       -1,   116,    -1,    29,    30,    31,    32,    33,    34,    -1,
2729       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2730       -1,    47,    48,    49,   188,   189,   190,    -1,   192,    -1,
2731       -1,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2732       -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,
2733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2734       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2735       -1,    -1,    -1,   188,   189,   190,    -1,   192,    -1,    -1,
2736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2737      116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,
2738       -1,    46,    -1,   188,   189,   190,    -1,   192,    -1,    -1,
2739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2740       -1,    -1,    -1,    68,    69,    70,    -1,    72,    -1,    -1,
2741       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2742       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2744       -1,    -1,   188,   189,   190,    -1,   192,   112,   113,   114,
2745      115,    -1,   117,   118,   119,   120,   121,   122,   123,   124,
2746      125,   126,    -1,   128,   129,   130,   131,   132,   133,   134,
2747      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2748      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2749      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2750      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2751      175,   176,   177,   178,   179,   180,   181,    44,    -1,    46,
2752       -1,    -1,    -1,    -1,    -1,   190,   191,    -1,    -1,    -1,
2753      195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2754       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,
2755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2758       -1,    -1,    -1,    -1,    -1,   112,   113,   114,   115,    -1,
2759      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2760       -1,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2761      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2762      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2763      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2764      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2765      177,   178,   179,   180,   181,    44,    -1,    -1,    -1,    -1,
2766       -1,   188,   189,   190,   191,    -1,    -1,    -1,   195,    -1,
2767       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
2768       69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2771       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2772       -1,    -1,    -1,   112,   113,   114,   115,    -1,   117,   118,
2773      119,   120,   121,   122,   123,   124,   125,   126,    -1,   128,
2774      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2775      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2776      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2777      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2778      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2779      179,   180,   181,    44,    -1,    -1,    -1,    -1,    -1,    -1,
2780       -1,   190,   191,    -1,    -1,    -1,   195,    -1,    -1,    -1,
2781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2784       -1,    92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,
2785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2786       -1,   112,   113,   114,   115,    -1,   117,   118,   119,   120,
2787      121,   122,   123,   124,   125,   126,    -1,   128,   129,   130,
2788      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2789      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2790      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2791      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2792      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2793      181,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,   190,
2794      191,    -1,    -1,    -1,   195,    -1,    -1,    -1,    -1,    -1,
2795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,
2796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2798       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,
2800      113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
2801      123,   124,   125,   126,    -1,   128,   129,   130,   131,   132,
2802      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2803      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2804      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2805      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2806      173,   174,   175,   176,   177,   178,   179,   180,   181,    44,
2807       -1,    -1,    -1,    -1,    -1,    -1,    -1,   190,   191,    -1,
2808       -1,    -1,   195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2813       -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,   113,   114,
2814      115,    -1,   117,   118,   119,   120,   121,   122,   123,   124,
2815      125,   126,    -1,   128,   129,   130,   131,   132,   133,   134,
2816      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2817      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2818      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2819      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2820      175,   176,   177,   178,   179,   180,   181,    -1,    -1,    -1,
2821       -1,    -1,    -1,    -1,    -1,   190,   191,    -1,    -1,    -1,
2822      195
2823 };
2824 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
2825
2826 /* Skeleton output parser for bison,
2827
2828    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
2829    Foundation, Inc.
2830
2831    This program is free software; you can redistribute it and/or modify
2832    it under the terms of the GNU General Public License as published by
2833    the Free Software Foundation; either version 2, or (at your option)
2834    any later version.
2835
2836    This program is distributed in the hope that it will be useful,
2837    but WITHOUT ANY WARRANTY; without even the implied warranty of
2838    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2839    GNU General Public License for more details.
2840
2841    You should have received a copy of the GNU General Public License
2842    along with this program; if not, write to the Free Software
2843    Foundation, Inc., 59 Temple Place - Suite 330,
2844    Boston, MA 02111-1307, USA.  */
2845
2846 /* As a special exception, when this file is copied by Bison into a
2847    Bison output file, you may use that output file without restriction.
2848    This special exception was added by the Free Software Foundation
2849    in version 1.24 of Bison.  */
2850
2851 /* This is the parser code that is written into each bison parser when
2852    the %semantic_parser declaration is not specified in the grammar.
2853    It was written by Richard Stallman by simplifying the hairy parser
2854    used when %semantic_parser is specified.  */
2855
2856 /* All symbols defined below should begin with yy or YY, to avoid
2857    infringing on user name space.  This should be done even for local
2858    variables, as they might otherwise be expanded by user macros.
2859    There are some unavoidable exceptions within include files to
2860    define necessary library symbols; they are noted "INFRINGES ON
2861    USER NAME SPACE" below.  */
2862
2863 #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
2864
2865 /* The parser invokes alloca or malloc; define the necessary symbols.  */
2866
2867 # if YYSTACK_USE_ALLOCA
2868 #  define YYSTACK_ALLOC alloca
2869 # else
2870 #  ifndef YYSTACK_USE_ALLOCA
2871 #   if defined (alloca) || defined (_ALLOCA_H)
2872 #    define YYSTACK_ALLOC alloca
2873 #   else
2874 #    ifdef __GNUC__
2875 #     define YYSTACK_ALLOC __builtin_alloca
2876 #    endif
2877 #   endif
2878 #  endif
2879 # endif
2880
2881 # ifdef YYSTACK_ALLOC
2882    /* Pacify GCC's `empty if-body' warning. */
2883 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
2884 # else
2885 #  if defined (__STDC__) || defined (__cplusplus)
2886 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
2887 #   define YYSIZE_T size_t
2888 #  endif
2889 #  define YYSTACK_ALLOC malloc
2890 #  define YYSTACK_FREE free
2891 # endif
2892 #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
2893
2894
2895 #if (! defined (yyoverflow) \
2896      && (! defined (__cplusplus) \
2897          || (YYLTYPE_IS_TRIVIAL && cgrammar_YYSTYPE_IS_TRIVIAL)))
2898
2899 /* A type that is properly aligned for any stack member.  */
2900 union yyalloc
2901 {
2902   short yyss;
2903   cgrammar_YYSTYPE yyvs;
2904 # if YYLSP_NEEDED
2905   YYLTYPE yyls;
2906 # endif
2907 };
2908
2909 /* The size of the maximum gap between one aligned stack and the next.  */
2910 # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
2911
2912 /* The size of an array large to enough to hold all stacks, each with
2913    N elements.  */
2914 # if YYLSP_NEEDED
2915 #  define YYSTACK_BYTES(N) \
2916      ((N) * (sizeof (short) + sizeof (cgrammar_YYSTYPE) + sizeof (YYLTYPE))     \
2917       + 2 * YYSTACK_GAP_MAX)
2918 # else
2919 #  define YYSTACK_BYTES(N) \
2920      ((N) * (sizeof (short) + sizeof (cgrammar_YYSTYPE))                                \
2921       + YYSTACK_GAP_MAX)
2922 # endif
2923
2924 /* Copy COUNT objects from FROM to TO.  The source and destination do
2925    not overlap.  */
2926 # ifndef YYCOPY
2927 #  if 1 < __GNUC__
2928 #   define YYCOPY(To, From, Count) \
2929       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
2930 #  else
2931 #   define YYCOPY(To, From, Count)              \
2932       do                                        \
2933         {                                       \
2934           register YYSIZE_T yyi;                \
2935           for (yyi = 0; yyi < (Count); yyi++)   \
2936             (To)[yyi] = (From)[yyi];            \
2937         }                                       \
2938       while (0)
2939 #  endif
2940 # endif
2941
2942 /* Relocate STACK from its old location to the new one.  The
2943    local variables YYSIZE and YYSTACKSIZE give the old and new number of
2944    elements in the stack, and YYPTR gives the new location of the
2945    stack.  Advance YYPTR to a properly aligned location for the next
2946    stack.  */
2947 # define YYSTACK_RELOCATE(Stack)                                        \
2948     do                                                                  \
2949       {                                                                 \
2950         YYSIZE_T yynewbytes;                                            \
2951         YYCOPY (&yyptr->Stack, Stack, yysize);                          \
2952         Stack = &yyptr->Stack;                                          \
2953         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
2954         yyptr += yynewbytes / sizeof (*yyptr);                          \
2955       }                                                                 \
2956     while (0)
2957
2958 #endif
2959
2960
2961 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
2962 # define YYSIZE_T __SIZE_TYPE__
2963 #endif
2964 #if ! defined (YYSIZE_T) && defined (size_t)
2965 # define YYSIZE_T size_t
2966 #endif
2967 #if ! defined (YYSIZE_T)
2968 # if defined (__STDC__) || defined (__cplusplus)
2969 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
2970 #  define YYSIZE_T size_t
2971 # endif
2972 #endif
2973 #if ! defined (YYSIZE_T)
2974 # define YYSIZE_T unsigned int
2975 #endif
2976
2977 #define yyerrok         (yyerrstatus = 0)
2978 #define yyclearin       (yychar = YYEMPTY)
2979 #define YYEMPTY         -2
2980 #define YYEOF           0
2981 #define YYACCEPT        goto yyacceptlab
2982 #define YYABORT         goto yyabortlab
2983 #define YYERROR         goto yyerrlab1
2984 /* Like YYERROR except do call yyerror.  This remains here temporarily
2985    to ease the transition to the new meaning of YYERROR, for GCC.
2986    Once GCC version 2 has supplanted version 1, this can go.  */
2987 #define YYFAIL          goto yyerrlab
2988 #define YYRECOVERING()  (!!yyerrstatus)
2989 #define YYBACKUP(Token, Value)                                  \
2990 do                                                              \
2991   if (yychar == YYEMPTY && yylen == 1)                          \
2992     {                                                           \
2993       yychar = (Token);                                         \
2994       yylval = (Value);                                         \
2995       yychar1 = YYTRANSLATE (yychar);                           \
2996       YYPOPSTACK;                                               \
2997       goto yybackup;                                            \
2998     }                                                           \
2999   else                                                          \
3000     {                                                           \
3001       yyerror ("syntax error: cannot back up");                 \
3002       YYERROR;                                                  \
3003     }                                                           \
3004 while (0)
3005
3006 #define YYTERROR        1
3007 #define YYERRCODE       256
3008
3009
3010 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
3011    are run).
3012
3013    When YYLLOC_DEFAULT is run, CURRENT is set the location of the
3014    first token.  By default, to implement support for ranges, extend
3015    its range to the last symbol.  */
3016
3017 #ifndef YYLLOC_DEFAULT
3018 # define YYLLOC_DEFAULT(Current, Rhs, N)        \
3019    Current.last_line   = Rhs[N].last_line;      \
3020    Current.last_column = Rhs[N].last_column;
3021 #endif
3022
3023
3024 /* YYLEX -- calling `yylex' with the right arguments.  */
3025
3026 #if YYPURE
3027 # if YYLSP_NEEDED
3028 #  ifdef YYLEX_PARAM
3029 #   define YYLEX                yylex (&yylval, &yylloc, YYLEX_PARAM)
3030 #  else
3031 #   define YYLEX                yylex (&yylval, &yylloc)
3032 #  endif
3033 # else /* !YYLSP_NEEDED */
3034 #  ifdef YYLEX_PARAM
3035 #   define YYLEX                yylex (&yylval, YYLEX_PARAM)
3036 #  else
3037 #   define YYLEX                yylex (&yylval)
3038 #  endif
3039 # endif /* !YYLSP_NEEDED */
3040 #else /* !YYPURE */
3041 # define YYLEX                  yylex ()
3042 #endif /* !YYPURE */
3043
3044
3045 /* Enable debugging if requested.  */
3046 #if YYDEBUG
3047
3048 # ifndef YYFPRINTF
3049 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3050 #  define YYFPRINTF fprintf
3051 # endif
3052
3053 # define YYDPRINTF(Args)                        \
3054 do {                                            \
3055   if (yydebug)                                  \
3056     YYFPRINTF Args;                             \
3057 } while (0)
3058 /* Nonzero means print parse trace.  It is left uninitialized so that
3059    multiple parsers can coexist.  */
3060 int yydebug;
3061 #else /* !YYDEBUG */
3062 # define YYDPRINTF(Args)
3063 #endif /* !YYDEBUG */
3064
3065 /* YYINITDEPTH -- initial size of the parser's stacks.  */
3066 #ifndef YYINITDEPTH
3067 # define YYINITDEPTH 200
3068 #endif
3069
3070 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3071    if the built-in stack extension method is used).
3072
3073    Do not make this value too large; the results are undefined if
3074    SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
3075    evaluated with infinite-precision integer arithmetic.  */
3076
3077 #if YYMAXDEPTH == 0
3078 # undef YYMAXDEPTH
3079 #endif
3080
3081 #ifndef YYMAXDEPTH
3082 # define YYMAXDEPTH 10000
3083 #endif
3084 \f
3085 #ifdef YYERROR_VERBOSE
3086
3087 # ifndef yystrlen
3088 #  if defined (__GLIBC__) && defined (_STRING_H)
3089 #   define yystrlen strlen
3090 #  else
3091 /* Return the length of YYSTR.  */
3092 static YYSIZE_T
3093 #   if defined (__STDC__) || defined (__cplusplus)
3094 yystrlen (const char *yystr)
3095 #   else
3096 yystrlen (yystr)
3097      const char *yystr;
3098 #   endif
3099 {
3100   register const char *yys = yystr;
3101
3102   while (*yys++ != '\0')
3103     continue;
3104
3105   return yys - yystr - 1;
3106 }
3107 #  endif
3108 # endif
3109
3110 # ifndef yystpcpy
3111 #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
3112 #   define yystpcpy stpcpy
3113 #  else
3114 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3115    YYDEST.  */
3116 static char *
3117 #   if defined (__STDC__) || defined (__cplusplus)
3118 yystpcpy (char *yydest, const char *yysrc)
3119 #   else
3120 yystpcpy (yydest, yysrc)
3121      char *yydest;
3122      const char *yysrc;
3123 #   endif
3124 {
3125   register char *yyd = yydest;
3126   register const char *yys = yysrc;
3127
3128   while ((*yyd++ = *yys++) != '\0')
3129     continue;
3130
3131   return yyd - 1;
3132 }
3133 #  endif
3134 # endif
3135 #endif
3136 \f
3137
3138
3139 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3140    into yyparse.  The argument should have type void *.
3141    It should actually point to an object.
3142    Grammar actions can access the variable by casting it
3143    to the proper pointer type.  */
3144
3145 #ifdef YYPARSE_PARAM
3146 # if defined (__STDC__) || defined (__cplusplus)
3147 #  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3148 #  define YYPARSE_PARAM_DECL
3149 # else
3150 #  define YYPARSE_PARAM_ARG YYPARSE_PARAM
3151 #  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3152 # endif
3153 #else /* !YYPARSE_PARAM */
3154 # define YYPARSE_PARAM_ARG
3155 # define YYPARSE_PARAM_DECL
3156 #endif /* !YYPARSE_PARAM */
3157
3158 /* Prevent warning if -Wstrict-prototypes.  */
3159 #ifdef __GNUC__
3160 # ifdef YYPARSE_PARAM
3161 int yyparse (void *);
3162 # else
3163 int yyparse (void);
3164 # endif
3165 #endif
3166
3167 /* YY_DECL_VARIABLES -- depending whether we use a pure parser,
3168    variables are global, or local to YYPARSE.  */
3169
3170 #define YY_DECL_NON_LSP_VARIABLES                       \
3171 /* The lookahead symbol.  */                            \
3172 int yychar;                                             \
3173                                                         \
3174 /* The semantic value of the lookahead symbol. */       \
3175 cgrammar_YYSTYPE yylval;                                                \
3176                                                         \
3177 /* Number of parse errors so far.  */                   \
3178 int yynerrs;
3179
3180 #if YYLSP_NEEDED
3181 # define YY_DECL_VARIABLES                      \
3182 YY_DECL_NON_LSP_VARIABLES                       \
3183                                                 \
3184 /* Location data for the lookahead symbol.  */  \
3185 YYLTYPE yylloc;
3186 #else
3187 # define YY_DECL_VARIABLES                      \
3188 YY_DECL_NON_LSP_VARIABLES
3189 #endif
3190
3191
3192 /* If nonreentrant, generate the variables here. */
3193
3194 #if !YYPURE
3195 YY_DECL_VARIABLES
3196 #endif  /* !YYPURE */
3197
3198 int
3199 yyparse (YYPARSE_PARAM_ARG)
3200      YYPARSE_PARAM_DECL
3201 {
3202   /* If reentrant, generate the variables here. */
3203 #if YYPURE
3204   YY_DECL_VARIABLES
3205 #endif  /* !YYPURE */
3206
3207   register int yystate;
3208   register int yyn;
3209   int yyresult;
3210   /* Number of tokens to shift before error messages enabled.  */
3211   int yyerrstatus;
3212   /* Lookahead token as an internal (translated) token number.  */
3213   int yychar1 = 0;
3214
3215   /* Three stacks and their tools:
3216      `yyss': related to states,
3217      `yyvs': related to semantic values,
3218      `yyls': related to locations.
3219
3220      Refer to the stacks thru separate pointers, to allow yyoverflow
3221      to reallocate them elsewhere.  */
3222
3223   /* The state stack. */
3224   short yyssa[YYINITDEPTH];
3225   short *yyss = yyssa;
3226   register short *yyssp;
3227
3228   /* The semantic value stack.  */
3229   cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
3230   cgrammar_YYSTYPE *yyvs = yyvsa;
3231   register cgrammar_YYSTYPE *yyvsp;
3232
3233 #if YYLSP_NEEDED
3234   /* The location stack.  */
3235   YYLTYPE yylsa[YYINITDEPTH];
3236   YYLTYPE *yyls = yylsa;
3237   YYLTYPE *yylsp;
3238 #endif
3239
3240 #if YYLSP_NEEDED
3241 # define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
3242 #else
3243 # define YYPOPSTACK   (yyvsp--, yyssp--)
3244 #endif
3245
3246   YYSIZE_T yystacksize = YYINITDEPTH;
3247
3248
3249   /* The variables used to return semantic value and location from the
3250      action routines.  */
3251   cgrammar_YYSTYPE yyval;
3252 #if YYLSP_NEEDED
3253   YYLTYPE yyloc;
3254 #endif
3255
3256   /* When reducing, the number of symbols on the RHS of the reduced
3257      rule. */
3258   int yylen;
3259
3260   YYDPRINTF ((stderr, "Starting parse\n"));
3261
3262   yystate = 0;
3263   yyerrstatus = 0;
3264   yynerrs = 0;
3265   yychar = YYEMPTY;             /* Cause a token to be read.  */
3266
3267   /* Initialize stack pointers.
3268      Waste one element of value and location stack
3269      so that they stay on the same level as the state stack.
3270      The wasted elements are never initialized.  */
3271
3272   yyssp = yyss;
3273   yyvsp = yyvs;
3274 #if YYLSP_NEEDED
3275   yylsp = yyls;
3276 #endif
3277   goto yysetstate;
3278
3279 /*------------------------------------------------------------.
3280 | yynewstate -- Push a new state, which is found in yystate.  |
3281 `------------------------------------------------------------*/
3282  yynewstate:
3283   /* In all cases, when you get here, the value and location stacks
3284      have just been pushed. so pushing a state here evens the stacks.
3285      */
3286   yyssp++;
3287
3288  yysetstate:
3289   *yyssp = yystate;
3290
3291   if (yyssp >= yyss + yystacksize - 1)
3292     {
3293       /* Get the current used size of the three stacks, in elements.  */
3294       YYSIZE_T yysize = yyssp - yyss + 1;
3295
3296 #ifdef yyoverflow
3297       {
3298         /* Give user a chance to reallocate the stack. Use copies of
3299            these so that the &'s don't force the real ones into
3300            memory.  */
3301         cgrammar_YYSTYPE *yyvs1 = yyvs;
3302         short *yyss1 = yyss;
3303
3304         /* Each stack pointer address is followed by the size of the
3305            data in use in that stack, in bytes.  */
3306 # if YYLSP_NEEDED
3307         YYLTYPE *yyls1 = yyls;
3308         /* This used to be a conditional around just the two extra args,
3309            but that might be undefined if yyoverflow is a macro.  */
3310         yyoverflow ("parser stack overflow",
3311                     &yyss1, yysize * sizeof (*yyssp),
3312                     &yyvs1, yysize * sizeof (*yyvsp),
3313                     &yyls1, yysize * sizeof (*yylsp),
3314                     &yystacksize);
3315         yyls = yyls1;
3316 # else
3317         yyoverflow ("parser stack overflow",
3318                     &yyss1, yysize * sizeof (*yyssp),
3319                     &yyvs1, yysize * sizeof (*yyvsp),
3320                     &yystacksize);
3321 # endif
3322         yyss = yyss1;
3323         yyvs = yyvs1;
3324       }
3325 #else /* no yyoverflow */
3326 # ifndef YYSTACK_RELOCATE
3327       goto yyoverflowlab;
3328 # else
3329       /* Extend the stack our own way.  */
3330       if (yystacksize >= YYMAXDEPTH)
3331         goto yyoverflowlab;
3332       yystacksize *= 2;
3333       if (yystacksize > YYMAXDEPTH)
3334         yystacksize = YYMAXDEPTH;
3335
3336       {
3337         short *yyss1 = yyss;
3338         union yyalloc *yyptr =
3339           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3340         if (! yyptr)
3341           goto yyoverflowlab;
3342         YYSTACK_RELOCATE (yyss);
3343         YYSTACK_RELOCATE (yyvs);
3344 # if YYLSP_NEEDED
3345         YYSTACK_RELOCATE (yyls);
3346 # endif
3347 # undef YYSTACK_RELOCATE
3348         if (yyss1 != yyssa)
3349           YYSTACK_FREE (yyss1);
3350       }
3351 # endif
3352 #endif /* no yyoverflow */
3353
3354       yyssp = yyss + yysize - 1;
3355       yyvsp = yyvs + yysize - 1;
3356 #if YYLSP_NEEDED
3357       yylsp = yyls + yysize - 1;
3358 #endif
3359
3360       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3361                   (unsigned long int) yystacksize));
3362
3363       if (yyssp >= yyss + yystacksize - 1)
3364         YYABORT;
3365     }
3366
3367   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3368
3369   goto yybackup;
3370
3371
3372 /*-----------.
3373 | yybackup.  |
3374 `-----------*/
3375 yybackup:
3376
3377 /* Do appropriate processing given the current state.  */
3378 /* Read a lookahead token if we need one and don't already have one.  */
3379 /* yyresume: */
3380
3381   /* First try to decide what to do without reference to lookahead token.  */
3382
3383   yyn = yypact[yystate];
3384   if (yyn == YYFLAG)
3385     goto yydefault;
3386
3387   /* Not known => get a lookahead token if don't already have one.  */
3388
3389   /* yychar is either YYEMPTY or YYEOF
3390      or a valid token in external form.  */
3391
3392   if (yychar == YYEMPTY)
3393     {
3394       YYDPRINTF ((stderr, "Reading a token: "));
3395       yychar = YYLEX;
3396     }
3397
3398   /* Convert token to internal form (in yychar1) for indexing tables with */
3399
3400   if (yychar <= 0)              /* This means end of input. */
3401     {
3402       yychar1 = 0;
3403       yychar = YYEOF;           /* Don't call YYLEX any more */
3404
3405       YYDPRINTF ((stderr, "Now at end of input.\n"));
3406     }
3407   else
3408     {
3409       yychar1 = YYTRANSLATE (yychar);
3410
3411 #if YYDEBUG
3412      /* We have to keep this `#if YYDEBUG', since we use variables
3413         which are defined only if `YYDEBUG' is set.  */
3414       if (yydebug)
3415         {
3416           YYFPRINTF (stderr, "Next token is %d (%s",
3417                      yychar, yytname[yychar1]);
3418           /* Give the individual parser a way to print the precise
3419              meaning of a token, for further debugging info.  */
3420 # ifdef YYPRINT
3421           YYPRINT (stderr, yychar, yylval);
3422 # endif
3423           YYFPRINTF (stderr, ")\n");
3424         }
3425 #endif
3426     }
3427
3428   yyn += yychar1;
3429   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3430     goto yydefault;
3431
3432   yyn = yytable[yyn];
3433
3434   /* yyn is what to do for this token type in this state.
3435      Negative => reduce, -yyn is rule number.
3436      Positive => shift, yyn is new state.
3437        New state is final state => don't bother to shift,
3438        just return success.
3439      0, or most negative number => error.  */
3440
3441   if (yyn < 0)
3442     {
3443       if (yyn == YYFLAG)
3444         goto yyerrlab;
3445       yyn = -yyn;
3446       goto yyreduce;
3447     }
3448   else if (yyn == 0)
3449     goto yyerrlab;
3450
3451   if (yyn == YYFINAL)
3452     YYACCEPT;
3453
3454   /* Shift the lookahead token.  */
3455   YYDPRINTF ((stderr, "Shifting token %d (%s), ",
3456               yychar, yytname[yychar1]));
3457
3458   /* Discard the token being shifted unless it is eof.  */
3459   if (yychar != YYEOF)
3460     yychar = YYEMPTY;
3461
3462   *++yyvsp = yylval;
3463 #if YYLSP_NEEDED
3464   *++yylsp = yylloc;
3465 #endif
3466
3467   /* Count tokens shifted since error; after three, turn off error
3468      status.  */
3469   if (yyerrstatus)
3470     yyerrstatus--;
3471
3472   yystate = yyn;
3473   goto yynewstate;
3474
3475
3476 /*-----------------------------------------------------------.
3477 | yydefault -- do the default action for the current state.  |
3478 `-----------------------------------------------------------*/
3479 yydefault:
3480   yyn = yydefact[yystate];
3481   if (yyn == 0)
3482     goto yyerrlab;
3483   goto yyreduce;
3484
3485
3486 /*-----------------------------.
3487 | yyreduce -- Do a reduction.  |
3488 `-----------------------------*/
3489 yyreduce:
3490   /* yyn is the number of a rule to reduce with.  */
3491   yylen = yyr2[yyn];
3492
3493   /* If YYLEN is nonzero, implement the default value of the action:
3494      `$$ = $1'.
3495
3496      Otherwise, the following line sets YYVAL to the semantic value of
3497      the lookahead token.  This behavior is undocumented and Bison
3498      users should not rely upon it.  Assigning to YYVAL
3499      unconditionally makes the parser a bit smaller, and it avoids a
3500      GCC warning that YYVAL may be used uninitialized.  */
3501   yyval = yyvsp[1-yylen];
3502
3503 #if YYLSP_NEEDED
3504   /* Similarly for the default location.  Let the user run additional
3505      commands if for instance locations are ranges.  */
3506   yyloc = yylsp[1-yylen];
3507   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
3508 #endif
3509
3510 #if YYDEBUG
3511   /* We have to keep this `#if YYDEBUG', since we use variables which
3512      are defined only if `YYDEBUG' is set.  */
3513   if (yydebug)
3514     {
3515       int yyi;
3516
3517       YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
3518                  yyn, yyrline[yyn]);
3519
3520       /* Print the symbols being reduced, and their result.  */
3521       for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
3522         YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
3523       YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3524     }
3525 #endif
3526
3527   switch (yyn) {
3528
3529 case 3:
3530 { context_checkGlobalScope (); ;
3531     break;}
3532 case 4:
3533 { context_checkGlobalScope (); ;
3534     break;}
3535 case 5:
3536 { uentry_clearDecl (); ;
3537     break;}
3538 case 6:
3539 { uentry_clearDecl (); ;
3540     break;}
3541 case 7:
3542 { uentry_clearDecl (); ;
3543     break;}
3544 case 8:
3545 { uentry_clearDecl (); ;
3546     break;}
3547 case 9:
3548 { uentry_clearDecl (); ;
3549     break;}
3550 case 10:
3551 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3552     break;}
3553 case 11:
3554 { uentry_clearDecl (); lltok_free (yyvsp[0].tok); /* evans 2002-02-08: okay to have a null statement */ ;
3555     break;}
3556 case 12:
3557 { uentry_clearDecl (); ;
3558     break;}
3559 case 13:
3560 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); lltok_free2 (yyvsp[-7].tok, yyvsp[0].tok); ;
3561     break;}
3562 case 14:
3563 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr); lltok_free3 (yyvsp[-10].tok, yyvsp[-5].tok, yyvsp[0].tok); ;
3564     break;}
3565 case 15:
3566 { context_enterFunctionHeader (); ;
3567     break;}
3568 case 16:
3569
3570      declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction (); 
3571      context_exitFunctionHeader (); 
3572      lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); /*!*/
3573    ;
3574     break;}
3575 case 17:
3576
3577      qtype qint = qtype_create (ctype_int);
3578      yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3579      qtype_free (qint);
3580    ;
3581     break;}
3582 case 18:
3583 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3584     break;}
3585 case 20:
3586 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
3587     break;}
3588 case 21:
3589 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3590     break;}
3591 case 22:
3592 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); ;
3593     break;}
3594 case 23:
3595 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
3596     break;}
3597 case 24:
3598 {
3599      exprNode_findValue (yyvsp[-2].expr);
3600      idDecl_notExpectingFunction (yyvsp[-5].ntyp);
3601
3602      if (exprNode_hasValue (yyvsp[-2].expr)) 
3603        {
3604          yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), 
3605                                                                   exprNode_getLongValue (yyvsp[-2].expr)));
3606        } 
3607      else
3608        {
3609          yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-5].ntyp))); 
3610        }
3611
3612      lltok_free2 (yyvsp[-4].tok, yyvsp[-1].tok);
3613    ;
3614     break;}
3615 case 25:
3616 { setCurrentParams (uentryList_missingParams); ;
3617     break;}
3618 case 26:
3619 { /* need to support globals and modifies here! */
3620      functionClauseList fcl;
3621      ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp), 
3622                                     uentryList_makeMissingParams ());
3623      
3624      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3625
3626      /*drl 7/25/01 added*/
3627      setImplicitfcnConstraints();
3628
3629      DPRINTF((message("namedDeclBase PushType TLPAREN TRPAREN...:\n adding implict constraints to functionClause List: %s",
3630                       functionClauseList_unparse(yyvsp[0].funcclauselist)
3631                       )
3632               ));
3633      
3634      fcl = functionClauseList_setImplicitConstraints(yyvsp[0].funcclauselist);
3635
3636      idDecl_addClauses (yyval.ntyp, fcl);
3637
3638      DPRINTF((message("1 added fuctionClause List: %s to the Id",
3639                       functionClauseList_unparse(fcl)
3640                       )
3641               ));
3642
3643      
3644      context_popLoc ();
3645      lltok_free2 (yyvsp[-3].tok, yyvsp[-2].tok);
3646    ;
3647     break;}
3648 case 27:
3649 { setCurrentParams (yyvsp[-1].entrylist); ;
3650     break;}
3651 case 28:
3652 {
3653      functionClauseList fcl;
3654      setImplicitfcnConstraints ();
3655      clearCurrentParams ();
3656      yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3657
3658      DPRINTF((message("namedDeclBase PushType TLPAREN genericParamList TRPAREN...:\n adding implict constraints to functionClause List: %s",
3659                       functionClauseList_unparse(yyvsp[0].funcclauselist)
3660                       )
3661               )) ;
3662      
3663      fcl = functionClauseList_setImplicitConstraints(yyvsp[0].funcclauselist);
3664
3665      idDecl_addClauses (yyval.ntyp, fcl);
3666
3667      DPRINTF((message("added fuctionClause List: %s to the Id",
3668                       functionClauseList_unparse(fcl)
3669                       )
3670               ));
3671
3672      
3673      context_popLoc (); 
3674      lltok_free2 (yyvsp[-4].tok, yyvsp[-2].tok);
3675    ;
3676     break;}
3677 case 29:
3678 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3679     break;}
3680 case 30:
3681 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); ;
3682     break;}
3683 case 31:
3684 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); 
3685      lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); 
3686    ;
3687     break;}
3688 case 32:
3689
3690      int value;
3691
3692      if (exprNode_hasValue (yyvsp[-2].expr) 
3693          && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3694        {
3695          value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3696        }
3697      else
3698        {
3699          value = 0;
3700        }
3701
3702      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3703      lltok_free2 (yyvsp[-4].tok, yyvsp[-1].tok);
3704    ;
3705     break;}
3706 case 33:
3707 { setCurrentParams (uentryList_missingParams); ;
3708     break;}
3709 case 34:
3710 {
3711      ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp), 
3712                                     uentryList_makeMissingParams ());
3713      
3714      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3715      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3716      context_popLoc (); 
3717      lltok_free2 (yyvsp[-3].tok, yyvsp[-2].tok);
3718    ;
3719     break;}
3720 case 35:
3721 { setCurrentParams (yyvsp[-1].entrylist); ;
3722     break;}
3723 case 36:
3724
3725      clearCurrentParams ();
3726      yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3727      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3728      context_popLoc (); 
3729      lltok_free (yyvsp[-4].tok);
3730      /*!! lltok_free2 ($3, $5); */
3731    ;
3732     break;}
3733 case 37:
3734 { setCurrentParams (yyvsp[-1].entrylist); ;
3735     break;}
3736 case 38:
3737 { clearCurrentParams (); ;
3738     break;}
3739 case 39:
3740 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); 
3741      lltok_free3 (yyvsp[-9].tok, yyvsp[-7].tok, yyvsp[-5].tok); 
3742    ;
3743     break;}
3744 case 40:
3745 { exprNode_checkMacroBody (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
3746     break;}
3747 case 41:
3748 { exprNode_checkIterBody (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
3749     break;}
3750 case 42:
3751 { exprNode_checkIterEnd (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok);;
3752     break;}
3753 case 43:
3754 { exprChecks_checkEmptyMacroBody (); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
3755     break;}
3756 case 44:
3757 { clabstract_declareFunction (yyvsp[0].ntyp); ;
3758     break;}
3759 case 45:
3760 { yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); lltok_free (yyvsp[-1].tok); ;
3761     break;}
3762 case 46:
3763 { cscannerHelp_expectingMetaStateName (); ;
3764     break;}
3765 case 47:
3766 { cscannerHelp_clearExpectingMetaStateName ();
3767       yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo); 
3768       lltok_free (yyvsp[-1].tok); 
3769     ;
3770     break;}
3771 case 48:
3772 { cscannerHelp_expectingMetaStateName (); ;
3773     break;}
3774 case 49:
3775 { cscannerHelp_clearExpectingMetaStateName ();
3776       yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo); 
3777       lltok_free2 (yyvsp[-3].tok, yyvsp[-1].tok);
3778     ;
3779     break;}
3780 case 50:
3781 { yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;
3782     break;}
3783 case 51:
3784 { yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); lltok_free (yyvsp[-1].tok); ;
3785     break;}
3786 case 55:
3787 { yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;
3788     break;}
3789 case 56:
3790 { yyval.conL = constraintList_single (yyvsp[0].con); ;
3791     break;}
3792 case 57:
3793 {
3794  yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
3795  DPRINTF(("Done BufConstraint1\n")); ;
3796     break;}
3797 case 64:
3798 {yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE);  DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
3799     break;}
3800 case 65:
3801 {
3802    DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3803    yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
3804     break;}
3805 case 66:
3806 { yyval.conE =  constraintExpr_makeTermsRef (yyvsp[0].sr);;
3807     break;}
3808 case 67:
3809 { yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;
3810     break;}
3811 case 68:
3812 { /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;
3813     break;}
3814 case 69:
3815 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3816     break;}
3817 case 70:
3818 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3819     break;}
3820 case 71:
3821 {
3822     /*
3823     char *t; int c; 
3824     t =  cstring_toCharsSafe (exprNode_unparse($3)); 
3825     c = atoi( t );
3826     */
3827     yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
3828   ;
3829     break;}
3830 case 72:
3831 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3832     break;}
3833 case 73:
3834 { yyval.sr = yyvsp[-1].sr; ;
3835     break;}
3836 case 74:
3837 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3838     break;}
3839 case 75:
3840 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3841     break;}
3842 case 79:
3843 { yyval.funcclauselist = functionClauseList_new (); ;
3844     break;}
3845 case 80:
3846 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3847     break;}
3848 case 81:
3849 { yyval.funcclauselist = functionClauseList_new (); ;
3850     break;}
3851 case 82:
3852 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3853     break;}
3854 case 83:
3855 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3856     break;}
3857 case 84:
3858 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3859     break;}
3860 case 85:
3861 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3862     break;}
3863 case 86:
3864 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3865     break;}
3866 case 87:
3867 { yyval.funcclause = yyvsp[0].funcclause; ;
3868     break;}
3869 case 88:
3870 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3871     break;}
3872 case 89:
3873 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3874     break;}
3875 case 90:
3876 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3877     break;}
3878 case 91:
3879 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3880     break;}
3881 case 92:
3882 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3883     break;}
3884 case 93:
3885 { yyval.funcclause = yyvsp[0].funcclause; ;
3886     break;}
3887 case 94:
3888 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3889     break;}
3890 case 95:
3891 { yyval.globsclause = yyvsp[-1].globsclause; ;
3892     break;}
3893 case 96:
3894 { setProcessingGlobalsList (); ;
3895     break;}
3896 case 97:
3897
3898      unsetProcessingGlobals (); 
3899      yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset); 
3900    ;
3901     break;}
3902 case 98:
3903 { yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;
3904     break;}
3905 case 99:
3906 { yyval.modsclause = yyvsp[-1].modsclause; ;
3907     break;}
3908 case 100:
3909 {
3910      context_setProtectVars (); enterParamsTemp (); 
3911      sRef_setGlobalScopeSafe (); 
3912    ;
3913     break;}
3914 case 101:
3915
3916      exitParamsTemp ();
3917      sRef_clearGlobalScopeSafe (); 
3918      context_releaseVars ();
3919      yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
3920    ;
3921     break;}
3922 case 102:
3923 { yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;
3924     break;}
3925 case 103:
3926 { yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;
3927     break;}
3928 case 106:
3929 { yyval.warnclause = warnClause_undefined; ;
3930     break;}
3931 case 107:
3932 { yyval.warnclause = yyvsp[-1].warnclause; ;
3933     break;}
3934 case 108:
3935 {      
3936      llassert (exprNode_knownStringValue (yyvsp[0].expr));
3937      yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr)))); 
3938      exprNode_free (yyvsp[0].expr);
3939    ;
3940     break;}
3941 case 109:
3942 { yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;
3943     break;}
3944 case 110:
3945 { yyval.globset = globSet_single (yyvsp[0].sr); ;
3946     break;}
3947 case 111:
3948 { yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;
3949     break;}
3950 case 112:
3951 { yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3952     break;}
3953 case 113:
3954 { yyval.tquallist = qualList_undefined; ;
3955     break;}
3956 case 114:
3957 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3958     break;}
3959 case 115:
3960 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3961     break;}
3962 case 116:
3963 { yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;
3964     break;}
3965 case 117:
3966 { yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;
3967     break;}
3968 case 118:
3969 { yyval.typequal = qual_createUndef (); ;
3970     break;}
3971 case 119:
3972 { yyval.typequal = qual_createKilled (); ;
3973     break;}
3974 case 120:
3975 { yyval.typequal = qual_createOut (); ;
3976     break;}
3977 case 121:
3978 { yyval.typequal = qual_createIn (); ;
3979     break;}
3980 case 122:
3981 { yyval.typequal = qual_createPartial (); ;
3982     break;}
3983 case 130:
3984
3985      /**!!! deal with fred; fred (int); declarations! **/
3986      qtype qint = qtype_create (ctype_int); 
3987      yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3988      qtype_free (qint);
3989    ;
3990     break;}
3991 case 131:
3992 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3993     break;}
3994 case 132:
3995 { checkDoneParams (); context_enterInnerContext (); ;
3996     break;}
3997 case 133:
3998 {  
3999      exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr; 
4000      context_exitInner (yyvsp[0].expr); 
4001    ;
4002     break;}
4003 case 134:
4004 { context_enterOldStyleScope (); ;
4005     break;}
4006 case 135:
4007 { oldStyleDoneParams (); context_enterInnerContext (); ;
4008     break;}
4009 case 136:
4010 {
4011      exprNode_checkFunctionBody (yyvsp[0].expr); 
4012      yyval.expr = yyvsp[0].expr; /* oldstyle */ 
4013      context_exitInner (yyvsp[0].expr);
4014    ;
4015     break;}
4016 case 137:
4017
4018      context_setFunctionDefined (exprNode_loc (yyvsp[0].expr)); 
4019      exprNode_checkFunction (context_getHeader (),  yyvsp[0].expr); 
4020      /* DRL 8 8 2000 */
4021      
4022      context_exitFunction ();
4023    ;
4024     break;}
4025 case 138:
4026 { yyval.srset = yyvsp[-1].srset; ;
4027     break;}
4028 case 139:
4029 { yyval.srset = sRefSet_new (); ;
4030     break;}
4031 case 140:
4032 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
4033     break;}
4034 case 141:
4035 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
4036     break;}
4037 case 142:
4038 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
4039     break;}
4040 case 143:
4041 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
4042     break;}
4043 case 144:
4044 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
4045     break;}
4046 case 145:
4047 { yyval.sr = modListPointer (yyvsp[0].sr); ;
4048     break;}
4049 case 146:
4050 { yyval.sr = yyvsp[-1].sr; ;
4051     break;}
4052 case 147:
4053 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
4054     break;}
4055 case 148:
4056 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
4057     break;}
4058 case 149:
4059 { yyval.sr = yyvsp[0].sr; ;
4060     break;}
4061 case 150:
4062 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
4063     break;}
4064 case 151:
4065 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
4066     break;}
4067 case 152:
4068 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
4069     break;}
4070 case 153:
4071 { yyval.sr = checkStateClausesId (yyvsp[0].entry); ;
4072     break;}
4073 case 154:
4074 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
4075     break;}
4076 case 155:
4077 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
4078     break;}
4079 case 156:
4080 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
4081     break;}
4082 case 157:
4083 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
4084     break;}
4085 case 158:
4086 { yyval.sr = yyvsp[-1].sr; ;
4087     break;}
4088 case 159:
4089 { cstring_markOwned (yyvsp[0].cname);
4090                                             yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
4091     break;}
4092 case 160:
4093 { cstring_markOwned (yyvsp[0].cname);
4094                                             yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
4095     break;}
4096 case 161:
4097 { DPRINTF ((message("Empty optSpecClauseList") )); yyval.srset = sRefSet_undefined ;
4098     break;}
4099 case 163:
4100 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); } 
4101       else {
4102         DPRINTF((message("returning sRefSEt_undefined ")  ));
4103         yyval.srset = sRefSet_undefined; } 
4104     ;
4105     break;}
4106 case 164:
4107 { if (sRef_isValid (yyvsp[0].sr))
4108         {
4109           yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); 
4110         }
4111       else
4112         {
4113           yyval.srset = yyvsp[-2].srset;
4114         }
4115     ;
4116     break;}
4117 case 165:
4118 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
4119     break;}
4120 case 166:
4121 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
4122     break;}
4123 case 168:
4124 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4125     break;}
4126 case 169:
4127 { yyval.expr = exprNode_fromIdentifier (cscannerHelp_coerceId (yyvsp[0].cname)); ;
4128     break;}
4129 case 170:
4130 { yyval.expr = exprNode_makeError (); ;
4131     break;}
4132 case 171:
4133 { exprChecks_inCompoundStatementExpression (); ;
4134     break;}
4135 case 172:
4136 { exprChecks_leaveCompoundStatementExpression (); yyval.expr = exprNode_compoundStatementExpression (yyvsp[-3].tok, yyvsp[-1].expr); ;
4137     break;}
4138 case 174:
4139 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
4140     break;}
4141 case 175:
4142 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
4143     break;}
4144 case 176:
4145 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
4146     break;}
4147 case 177:
4148 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
4149     break;}
4150 case 178:
4151 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4152     break;}
4153 case 179:
4154 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4155     break;}
4156 case 180:
4157 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4158     break;}
4159 case 181:
4160 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4161     break;}
4162 case 182:
4163 { /* added for C99 */ yyval.expr = exprNode_undefined; /*@i87 no checking */ ;
4164     break;}
4165 case 183:
4166 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4167     break;}
4168 case 184:
4169 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4170     break;}
4171 case 186:
4172 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4173     break;}
4174 case 187:
4175 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4176     break;}
4177 case 188:
4178 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4179     break;}
4180 case 189:
4181 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4182     break;}
4183 case 190:
4184 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4185     break;}
4186 case 191:
4187 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4188     break;}
4189 case 192:
4190 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4191     break;}
4192 case 193:
4193 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4194     break;}
4195 case 194:
4196 { yyval.expr = yyvsp[-1].expr; ;
4197     break;}
4198 case 195:
4199 { yyval.expr = yyvsp[0].expr; ;
4200     break;}
4201 case 196:
4202 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); lltok_free (yyvsp[-1].tok); ;
4203     break;}
4204 case 197:
4205 { yyval.cstringlist = yyvsp[-3].cstringlist; lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
4206     break;}
4207 case 198:
4208 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
4209     break;}
4210 case 199:
4211 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); 
4212      lltok_free3 (yyvsp[-8].tok, yyvsp[-6].tok, yyvsp[-3].tok); lltok_free (yyvsp[-1].tok); ;
4213     break;}
4214 case 200:
4215 { context_setProtectVars (); ;
4216     break;}
4217 case 201:
4218 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
4219     break;}
4220 case 202:
4221 {context_enterSizeof();
4222     break;}
4223 case 203:
4224 {context_leaveSizeof();
4225     break;}
4226 case 204:
4227 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); lltok_free3 (yyvsp[-3].tok, yyvsp[-2].tok, yyvsp[0].tok);  ;
4228     break;}
4229 case 205:
4230 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); lltok_free (yyvsp[-1].tok); ;
4231     break;}
4232 case 206:
4233 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); lltok_free3 (yyvsp[-3].tok, yyvsp[-2].tok, yyvsp[0].tok); ;
4234     break;}
4235 case 207:
4236 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); lltok_free (yyvsp[-1].tok); ;
4237     break;}
4238 case 209:
4239 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); lltok_free (yyvsp[-1].tok); ;
4240     break;}
4241 case 211:
4242 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4243     break;}
4244 case 212:
4245 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4246     break;}
4247 case 213:
4248 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4249     break;}
4250 case 215:
4251 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4252     break;}
4253 case 216:
4254 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4255     break;}
4256 case 218:
4257 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4258     break;}
4259 case 219:
4260 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4261     break;}
4262 case 221:
4263 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4264     break;}
4265 case 222:
4266 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4267     break;}
4268 case 223:
4269 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4270     break;}
4271 case 224:
4272 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4273     break;}
4274 case 226:
4275 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4276     break;}
4277 case 227:
4278 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4279     break;}
4280 case 229:
4281 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4282     break;}
4283 case 231:
4284 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4285     break;}
4286 case 233:
4287 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4288     break;}
4289 case 235:
4290 { exprNode_produceGuards (yyvsp[-1].expr); 
4291      context_enterAndClause (yyvsp[-1].expr); 
4292    ;
4293     break;}
4294 case 236:
4295
4296      yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok); 
4297      context_exitAndClause (yyval.expr, yyvsp[0].expr);
4298    ;
4299     break;}
4300 case 238:
4301
4302      exprNode_produceGuards (yyvsp[-1].expr);
4303      context_enterOrClause (yyvsp[-1].expr); 
4304    ;
4305     break;}
4306 case 239:
4307
4308      yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok); 
4309      context_exitOrClause (yyval.expr, yyvsp[0].expr);
4310    ;
4311     break;}
4312 case 241:
4313 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
4314     break;}
4315 case 242:
4316 { context_enterFalseClause (yyvsp[-4].expr); ;
4317     break;}
4318 case 243:
4319 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
4320     break;}
4321 case 245:
4322 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4323     break;}
4324 case 246:
4325 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4326     break;}
4327 case 247:
4328 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4329     break;}
4330 case 248:
4331 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4332     break;}
4333 case 249:
4334 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4335     break;}
4336 case 250:
4337 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4338     break;}
4339 case 251:
4340 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4341     break;}
4342 case 252:
4343 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4344     break;}
4345 case 253:
4346 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4347     break;}
4348 case 254:
4349 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4350     break;}
4351 case 255:
4352 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4353     break;}
4354 case 257:
4355 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
4356     break;}
4357 case 258:
4358 { yyval.expr = exprNode_undefined; ;
4359     break;}
4360 case 261:
4361 { yyval.expr = yyvsp[0].expr; ;
4362     break;}
4363 case 262:
4364 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
4365     break;}
4366 case 263:
4367 { yyval.expr = exprNode_makeError (); ;
4368     break;}
4369 case 264:
4370 { yyval.expr = exprNode_makeError (); ;
4371     break;}
4372 case 265:
4373 {
4374      setProcessingVars (yyvsp[-3].qtyp); 
4375      processNamedDecl (yyvsp[-1].ntyp); 
4376    ;
4377     break;}
4378 case 266:
4379
4380      unsetProcessingVars (); 
4381      yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp); 
4382      DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
4383    ;
4384     break;}
4385 case 267:
4386 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;
4387     break;}
4388 case 268:
4389 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr)); 
4390      unsetProcessingVars ();
4391    ;
4392     break;}
4393 case 269:
4394 { yyval.expr = yyvsp[0].expr; ;
4395     break;}
4396 case 270:
4397 { yyval.expr = exprNode_fromIdentifier (usymtab_getTypeEntry (ctype_typeId (yyvsp[0].ctyp))); ;
4398     break;}
4399 case 271:
4400
4401      processNamedDecl (yyvsp[-1].ntyp); 
4402      yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
4403    ;
4404     break;}
4405 case 272:
4406 { processNamedDecl (yyvsp[-2].ntyp); ;
4407     break;}
4408 case 273:
4409 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
4410     break;}
4411 case 274:
4412 { setProcessingTypedef (yyvsp[0].qtyp); ;
4413     break;}
4414 case 275:
4415 { clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;
4416     break;}
4417 case 276:
4418 { /* in the ANSI grammar, semantics unclear */ ;
4419     break;}
4420 case 277:
4421 { /* in the ANSI grammar, semantics unclear */ ;
4422     break;}
4423 case 278:
4424 { cscannerHelp_setExpectingTypeName (); ;
4425     break;}
4426 case 279:
4427 { cscannerHelp_setExpectingTypeName (); context_pushLoc (); ;
4428     break;}
4429 case 280:
4430 { yyval.exprlist = yyvsp[-1].exprlist; ;
4431     break;}
4432 case 281:
4433 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4434     break;}
4435 case 282:
4436 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4437     break;}
4438 case 283:
4439 { yyval.exprlist = yyvsp[-1].exprlist; ;
4440     break;}
4441 case 284:
4442 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4443     break;}
4444 case 285:
4445 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4446     break;}
4447 case 286:
4448 { yyval.expr = exprNode_makeError (); ;
4449     break;}
4450 case 287:
4451 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
4452     break;}
4453 case 289:
4454 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); lltok_free (yyvsp[0].tok); ;
4455     break;}
4456 case 290:
4457 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
4458     break;}
4459 case 291:
4460 { yyval.expr = exprNode_undefined; ;
4461     break;}
4462 case 292:
4463 { yyval.expr = yyvsp[-1].expr; ;
4464     break;}
4465 case 293:
4466 { yyval.expr = exprNode_undefined; 
4467                                      /* gcc extension, obsolete since 2.5 */ ;
4468     break;}
4469 case 294:
4470 { yyval.expr = exprNode_undefined; ;
4471     break;}
4472 case 295:
4473 { yyval.expr = exprNode_undefined; ;
4474     break;}
4475 case 296:
4476 { yyval.expr = exprNode_undefined; ;
4477     break;}
4478 case 297:
4479 { yyval.expr = exprNode_undefined; ;
4480     break;}
4481 case 298:
4482 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4483     break;}
4484 case 299:
4485 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4486     break;}
4487 case 300:
4488 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
4489     break;}
4490 case 301:
4491 { yyval.typequal = qual_createInline (); ;
4492     break;}
4493 case 302:
4494 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
4495     break;}
4496 case 303:
4497 { yyval.typequal = qual_createAuto (); ;
4498     break;}
4499 case 304:
4500 { yyval.typequal = qual_createRegister (); ;
4501     break;}
4502 case 305:
4503 { yyval.stateclause = yyvsp[-1].stateclause; ;
4504     break;}
4505 case 306:
4506 {
4507      context_setProtectVars (); 
4508      enterParamsTemp (); 
4509      sRef_setGlobalScopeSafe (); 
4510    ;
4511     break;}
4512 case 307:
4513
4514      exitParamsTemp ();
4515      sRef_clearGlobalScopeSafe (); 
4516      context_releaseVars ();
4517      yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
4518    ;
4519     break;}
4520 case 308:
4521 { yyval.funcclause = yyvsp[-1].funcclause; ;
4522     break;}
4523 case 309:
4524 { yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;
4525     break;}
4526 case 310:
4527 {
4528      context_exitFunctionHeader ();
4529      context_setProtectVars (); 
4530      enterParamsTemp (); 
4531      sRef_setGlobalScopeSafe (); 
4532    ;
4533     break;}
4534 case 311:
4535
4536      exitParamsTemp ();
4537      sRef_clearGlobalScopeSafe (); 
4538      context_releaseVars ();
4539      yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
4540    ;
4541     break;}
4542 case 312:
4543 {
4544      context_setProtectVars (); 
4545      enterParamsTemp (); 
4546      sRef_setGlobalScopeSafe (); 
4547    ;
4548     break;}
4549 case 313:
4550 {
4551      context_exitFunctionHeader ();
4552      exitParamsTemp ();
4553      sRef_clearGlobalScopeSafe (); 
4554      context_releaseVars ();
4555      DPRINTF (("done optGlobBufConstraintsAux\n"));
4556
4557      if (lltok_isEnsures (yyvsp[-4].tok)) 
4558        {
4559          yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
4560        }
4561      else if (lltok_isRequires (yyvsp[-4].tok))
4562        {
4563          yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
4564        }
4565      else
4566        {
4567          BADBRANCH;
4568        }
4569
4570      DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
4571    ;
4572     break;}
4573 case 314:
4574 { yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;
4575     break;}
4576 case 315:
4577 { yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;
4578     break;}
4579 case 316:
4580 { yyval.typequal = qual_createExits (); ;
4581     break;}
4582 case 317:
4583 { yyval.typequal = qual_createMayExit (); ;
4584     break;}
4585 case 318:
4586 { yyval.typequal = qual_createTrueExit (); ;
4587     break;}
4588 case 319:
4589 { yyval.typequal = qual_createFalseExit (); ;
4590     break;}
4591 case 320:
4592 { yyval.typequal = qual_createNeverExit (); ;
4593     break;}
4594 case 321:
4595 { yyval.typequal = qual_createChecked (); ;
4596     break;}
4597 case 322:
4598 { yyval.typequal = qual_createCheckMod (); ;
4599     break;}
4600 case 323:
4601 { yyval.typequal = qual_createUnchecked (); ;
4602     break;}
4603 case 324:
4604 { yyval.typequal = qual_createCheckedStrict (); ;
4605     break;}
4606 case 325:
4607 { yyval.typequal = qual_createOwned (); ;
4608     break;}
4609 case 326:
4610 { yyval.typequal = qual_createDependent (); ;
4611     break;}
4612 case 327:
4613 { yyval.typequal = qual_createYield (); ;
4614     break;}
4615 case 328:
4616 { yyval.typequal = qual_createTemp (); ;
4617     break;}
4618 case 329:
4619 { yyval.typequal = qual_createOnly (); ;
4620     break;}
4621 case 330:
4622 { yyval.typequal = qual_createKeep (); ;
4623     break;}
4624 case 331:
4625 { yyval.typequal = qual_createKept (); ;
4626     break;}
4627 case 332:
4628 { yyval.typequal = qual_createShared (); ;
4629     break;}
4630 case 333:
4631 { yyval.typequal = qual_createUnique (); ;
4632     break;}
4633 case 334:
4634 { yyval.typequal = qual_createNull (); ;
4635     break;}
4636 case 335:
4637 { yyval.typequal = qual_createIsNull (); ;
4638     break;}
4639 case 336:
4640 { yyval.typequal = qual_createRelNull (); ;
4641     break;}
4642 case 337:
4643 { yyval.typequal = qual_createNotNull (); ;
4644     break;}
4645 case 338:
4646 { yyval.typequal = qual_createExposed (); ;
4647     break;}
4648 case 339:
4649 { yyval.typequal = qual_createObserver (); ;
4650     break;}
4651 case 340:
4652 { yyval.typequal = qual_createNullTerminated (); ;
4653     break;}
4654 case 341:
4655 { yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;
4656     break;}
4657 case 342:
4658 { yyval.typequal = qual_createReturned (); ;
4659     break;}
4660 case 343:
4661 { yyval.typequal = qual_createSef (); ;
4662     break;}
4663 case 344:
4664 { yyval.typequal = qual_createUnused (); ;
4665     break;}
4666 case 345:
4667 { yyval.typequal = qual_createExternal (); ;
4668     break;}
4669 case 346:
4670 { yyval.typequal = qual_createTrueNull (); ;
4671     break;}
4672 case 347:
4673 { yyval.typequal = qual_createFalseNull (); ;
4674     break;}
4675 case 348:
4676 { yyval.typequal = qual_createAbstract (); ;
4677     break;}
4678 case 349:
4679 { yyval.typequal = qual_createNumAbstract (); ;
4680     break;}
4681 case 350:
4682 { yyval.typequal = qual_createConcrete (); ;
4683     break;}
4684 case 351:
4685 { yyval.typequal = qual_createMutable (); ;
4686     break;}
4687 case 352:
4688 { yyval.typequal = qual_createImmutable (); ;
4689     break;}
4690 case 353:
4691 { yyval.typequal = qual_createRefCounted (); ;
4692     break;}
4693 case 354:
4694 { yyval.typequal = qual_createRefs (); ;
4695     break;}
4696 case 355:
4697 { yyval.typequal = qual_createKillRef (); ;
4698     break;}
4699 case 356:
4700 { yyval.typequal = qual_createRelDef (); ;
4701     break;}
4702 case 357:
4703 { yyval.typequal = qual_createNewRef (); ;
4704     break;}
4705 case 358:
4706 { yyval.typequal = qual_createTempRef (); ;
4707     break;}
4708 case 359:
4709 { yyval.typequal = qual_createShort (); ;
4710     break;}
4711 case 360:
4712 { yyval.typequal = qual_createLong (); ;
4713     break;}
4714 case 361:
4715 { yyval.typequal = qual_createSigned (); ;
4716     break;}
4717 case 362:
4718 { yyval.typequal = qual_createUnsigned (); ;
4719     break;}
4720 case 363:
4721 { yyval.typequal = qual_createOut (); ;
4722     break;}
4723 case 364:
4724 { yyval.typequal = qual_createIn (); ;
4725     break;}
4726 case 365:
4727 { yyval.typequal = qual_createPartial (); ;
4728     break;}
4729 case 366:
4730 { yyval.typequal = qual_createSpecial (); ;
4731     break;}
4732 case 367:
4733 { yyval.typequal = qual_createConst (); ;
4734     break;}
4735 case 368:
4736 { yyval.typequal = qual_createVolatile (); ;
4737     break;}
4738 case 369:
4739 { yyval.typequal = qual_createRestrict (); ;
4740     break;}
4741 case 370:
4742 { yyval.typequal = yyvsp[-1].typequal; ;
4743     break;}
4744 case 371:
4745 { yyval.typequal = yyvsp[-1].typequal; ;
4746     break;}
4747 case 372:
4748 { yyval.typequal = yyvsp[-1].typequal; ;
4749     break;}
4750 case 373:
4751 { yyval.typequal = yyvsp[-1].typequal; ;
4752     break;}
4753 case 374:
4754 { yyval.typequal = yyvsp[-1].typequal; ;
4755     break;}
4756 case 375:
4757 { yyval.typequal = yyvsp[-1].typequal; ;
4758     break;}
4759 case 376:
4760 { yyval.typequal = yyvsp[-1].typequal; ;
4761     break;}
4762 case 377:
4763 { yyval.typequal = yyvsp[-1].typequal; ;
4764     break;}
4765 case 378:
4766 { yyval.typequal = yyvsp[-1].typequal; ;
4767     break;}
4768 case 385:
4769 { yyval.ctyp = ctype_makeAnytype (); ;
4770     break;}
4771 case 386:
4772 { yyval.ctyp = ctype_anyintegral; ;
4773     break;}
4774 case 387:
4775 { yyval.ctyp = ctype_unsignedintegral; ;
4776     break;}
4777 case 388:
4778 { yyval.ctyp = ctype_signedintegral; ;
4779     break;}
4780 case 392:
4781 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4782     break;}
4783 case 393:
4784 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4785     break;}
4786 case 394:
4787 { yyval.qtyp = yyvsp[0].qtyp; ;
4788     break;}
4789 case 395:
4790 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4791     break;}
4792 case 397:
4793 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4794     break;}
4795 case 398:
4796 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4797     break;}
4798 case 399:
4799 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4800     break;}
4801 case 400:
4802 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4803     break;}
4804 case 401:
4805 { yyval.qtyp = qtype_unknown (); ;
4806     break;}
4807 case 402:
4808 { yyval.qtyp = yyvsp[0].qtyp; ;
4809     break;}
4810 case 403:
4811 { yyval.conL = constraintList_undefined; ;
4812     break;}
4813 case 404:
4814 { sRef_setGlobalScopeSafe (); ;
4815     break;}
4816 case 405:
4817 { sRef_clearGlobalScopeSafe (); ;
4818     break;}
4819 case 406:
4820 { ctype ct; ct = declareStruct (yyvsp[-9].cname, yyvsp[-4].flist); /* context_setGlobalStructInfo(ct, $12); */ yyval.ctyp = ct; ;
4821     break;}
4822 case 407:
4823 { sRef_setGlobalScopeSafe (); ;
4824     break;}
4825 case 408:
4826 { sRef_clearGlobalScopeSafe (); ;
4827     break;}
4828 case 409:
4829 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4830     break;}
4831 case 410:
4832 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4833     break;}
4834 case 411:
4835 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4836     break;}
4837 case 412:
4838 { sRef_setGlobalScopeSafe (); ;
4839     break;}
4840 case 413:
4841 { sRef_clearGlobalScopeSafe (); ;
4842     break;}
4843 case 414:
4844 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4845     break;}
4846 case 415:
4847 { sRef_setGlobalScopeSafe (); ;
4848     break;}
4849 case 416:
4850 { sRef_clearGlobalScopeSafe (); ;
4851     break;}
4852 case 417:
4853 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4854     break;}
4855 case 418:
4856 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4857     break;}
4858 case 419:
4859 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4860     break;}
4861 case 420:
4862 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4863     break;}
4864 case 421:
4865 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4866     break;}
4867 case 422:
4868 { cscannerHelp_clearExpectingTypeName (); ;
4869     break;}
4870 case 424:
4871 { yyval.flist = uentryList_undefined; /* bogus! */ ;
4872     break;}
4873 case 425:
4874 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4875     break;}
4876 case 426:
4877 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4878     break;}
4879 case 427:
4880 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4881     break;}
4882 case 428:
4883 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4884     break;}
4885 case 429:
4886 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4887     break;}
4888 case 430:
4889 { yyval.ntyp = yyvsp[0].ntyp; ;
4890     break;}
4891 case 431:
4892 { yyval.ntyp = idDecl_undefined; ;
4893     break;}
4894 case 432:
4895 { yyval.ntyp = yyvsp[-3].ntyp; ;
4896     break;}
4897 case 433:
4898 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4899     break;}
4900 case 434:
4901 { context_pushLoc (); ;
4902     break;}
4903 case 435:
4904 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4905     break;}
4906 case 436:
4907 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4908     break;}
4909 case 437:
4910 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4911     break;}
4912 case 438:
4913 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4914     break;}
4915 case 440:
4916 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4917      usymtab_supGlobalEntry (ue);
4918      yyval.cname = yyvsp[0].cname;
4919    ;
4920     break;}
4921 case 441:
4922 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4923      usymtab_supGlobalEntry (ue);
4924      yyval.cname = yyvsp[-3].cname; 
4925    ;
4926     break;}
4927 case 443:
4928 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4929     break;}
4930 case 444:
4931
4932      qtype qt = qtype_unknown ();
4933      qtype_adjustPointers (yyvsp[-1].pointers, qt);
4934      yyval.ntyp = idDecl_create (cstring_copy (cscannerHelp_observeLastIdentifier ()), qt);
4935    ;
4936     break;}
4937 case 445:
4938 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
4939     break;}
4940 case 447:
4941 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
4942     break;}
4943 case 448:
4944 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4945     break;}
4946 case 449:
4947 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4948     break;}
4949 case 450:
4950 { yyval.typequal = qual_createConst (); ;
4951     break;}
4952 case 451:
4953 { yyval.typequal = qual_createRestrict (); ;
4954     break;}
4955 case 452:
4956 { yyval.typequal = qual_createVolatile (); ;
4957     break;}
4958 case 453:
4959 { yyval.tquallist = qualList_single (yyvsp[0].typequal); ;
4960     break;}
4961 case 454:
4962 { yyval.tquallist = qualList_add (yyvsp[-1].tquallist, yyvsp[0].typequal); ;
4963     break;}
4964 case 455:
4965 { yyval.pointers = pointers_create (yyvsp[0].tok); ;
4966     break;}
4967 case 456:
4968 { yyval.pointers = pointers_createMods (yyvsp[-1].tok, yyvsp[0].tquallist); ;
4969     break;}
4970 case 457:
4971 { yyval.pointers = pointers_extend (pointers_create (yyvsp[-1].tok), yyvsp[0].pointers); ;
4972     break;}
4973 case 458:
4974 { yyval.pointers = pointers_extend (pointers_createMods (yyvsp[-2].tok, yyvsp[-1].tquallist), yyvsp[0].pointers); ;
4975     break;}
4976 case 460:
4977 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4978     break;}
4979 case 461:
4980 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4981     break;}
4982 case 462:
4983 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4984     break;}
4985 case 463:
4986 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4987     break;}
4988 case 465:
4989 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4990     break;}
4991 case 466:
4992 { storeLoc (); ;
4993     break;}
4994 case 467:
4995 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4996     break;}
4997 case 468:
4998 { storeLoc (); ;
4999     break;}
5000 case 469:
5001 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
5002     break;}
5003 case 470:
5004
5005      if (isFlipOldStyle ()) 
5006        { 
5007          llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)")); 
5008        }
5009      else 
5010        { 
5011          setNewStyle (); 
5012        }
5013      yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp)); 
5014    ;
5015     break;}
5016 case 471:
5017
5018      idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
5019
5020      if (isNewStyle ()) 
5021        {
5022          llparseerror (message ("Inconsistent function parameter syntax: %q",
5023                                 idDecl_unparse (tparam))); 
5024        }
5025
5026      setFlipOldStyle ();
5027      yyval.oentry = makeCurrentParam (tparam);
5028      idDecl_free (tparam);
5029    ;
5030     break;}
5031 case 473:
5032 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
5033     break;}
5034 case 474:
5035 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].pointers, ctype_unknown); ;
5036     break;}
5037 case 476:
5038 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].pointers, yyvsp[0].ctyp); ;
5039     break;}
5040 case 477:
5041 { yyval.ctyp = ctype_unknown; ;
5042     break;}
5043 case 479:
5044 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
5045     break;}
5046 case 480:
5047 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
5048     break;}
5049 case 481:
5050 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
5051     break;}
5052 case 482:
5053 { yyval.ctyp = ctype_makeInnerArray (yyvsp[-2].ctyp); ;
5054     break;}
5055 case 483:
5056 { yyval.ctyp = ctype_makeInnerFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
5057     break;}
5058 case 484:
5059 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
5060     break;}
5061 case 485:
5062 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
5063     break;}
5064 case 486:
5065 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
5066     break;}
5067 case 487:
5068 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
5069     break;}
5070 case 498:
5071 { exprNode_revealState (yyvsp[-1].expr); yyval.expr = exprNode_undefined; ;
5072     break;}
5073 case 499:
5074 { yyval.expr = yyvsp[0].expr; ;
5075     break;}
5076 case 502:
5077 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5078     break;}
5079 case 503:
5080 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
5081     break;}
5082 case 504:
5083 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
5084     break;}
5085 case 505:
5086 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5087     break;}
5088 case 506:
5089 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
5090     break;}
5091 case 507:
5092 { context_setProtectVars (); ;
5093     break;}
5094 case 508:
5095 { context_sizeofReleaseVars (); ;
5096     break;}
5097 case 509:
5098 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr); 
5099      context_enterForClause (yyvsp[-5].expr); ;
5100     break;}
5101 case 510:
5102 { setProcessingIterVars (yyvsp[-2].entry); ;
5103     break;}
5104 case 511:
5105 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;
5106     break;}
5107 case 512:
5108 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
5109     break;}
5110 case 516:
5111 { yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;
5112     break;}
5113 case 524:
5114 { yyval.expr = yyvsp[-1].expr; ;
5115     break;}
5116 case 525:
5117 { yyval.expr = exprNode_makeError (); ;
5118     break;}
5119 case 526:
5120 { exprNode_checkIfPred (yyvsp[0].expr); ;
5121     break;}
5122 case 527:
5123 { /* don't: context_exitTrueClause ($1, $2); */
5124      yyval.expr = exprNode_if (yyvsp[-2].expr, yyvsp[0].expr); 
5125    ;
5126     break;}
5127 case 528:
5128 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5129     break;}
5130 case 529:
5131 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5132     break;}
5133 case 540:
5134 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5135     break;}
5136 case 543:
5137 { yyval.expr = exprNode_makeError (); ;
5138     break;}
5139 case 544:
5140 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
5141     break;}
5142 case 545:
5143 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
5144     break;}
5145 case 546:
5146 { ; ;
5147     break;}
5148 case 547:
5149 { ; ;
5150     break;}
5151 case 548:
5152 { context_enterCaseClause (yyvsp[0].expr); ;
5153     break;}
5154 case 549:
5155 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
5156     break;}
5157 case 550:
5158 { context_enterCaseClause (yyvsp[0].expr); ;
5159     break;}
5160 case 551:
5161 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
5162     break;}
5163 case 552:
5164 { context_enterCaseClause (exprNode_undefined); ;
5165     break;}
5166 case 553:
5167 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
5168     break;}
5169 case 554:
5170 { context_enterCaseClause (exprNode_undefined); ;
5171     break;}
5172 case 555:
5173 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
5174     break;}
5175 case 556:
5176 { yyval.expr = yyvsp[-1].expr; ;
5177     break;}
5178 case 557:
5179 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
5180     break;}
5181 case 558:
5182 { yyval.expr = yyvsp[-1].expr; ;
5183     break;}
5184 case 559:
5185 { context_enterInnerContext (); ;
5186     break;}
5187 case 560:
5188 { context_exitInnerPlain (); ;
5189     break;}
5190 case 561:
5191 { context_enterStructInnerContext (); ;
5192     break;}
5193 case 562:
5194 { context_exitStructInnerContext (); ;
5195     break;}
5196 case 563:
5197 { context_exitInnerSafe (); ;
5198     break;}
5199 case 564:
5200 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5201     break;}
5202 case 565:
5203 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
5204     break;}
5205 case 566:
5206 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5207     break;}
5208 case 567:
5209 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5210     break;}
5211 case 568:
5212 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5213     break;}
5214 case 569:
5215 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5216     break;}
5217 case 570:
5218 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5219     break;}
5220 case 571:
5221 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr), 
5222                                                         lltok_getLoc (yyvsp[-1].tok))); 
5223    ;
5224     break;}
5225 case 572:
5226 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
5227     break;}
5228 case 573:
5229 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5230     break;}
5231 case 574:
5232 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5233     break;}
5234 case 575:
5235 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5236     break;}
5237 case 576:
5238 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5239     break;}
5240 case 578:
5241 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5242     break;}
5243 case 579:
5244 { yyval.expr = yyvsp[0].expr; ;
5245     break;}
5246 case 580:
5247 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5248     break;}
5249 case 581:
5250 { yyval.expr = yyvsp[0].expr; ;
5251     break;}
5252 case 582:
5253 { yyval.expr = exprNode_concat (yyvsp[-2].expr, yyvsp[0].expr); ;
5254     break;}
5255 case 583:
5256 { yyval.expr = yyvsp[0].expr; ;
5257     break;}
5258 case 584:
5259 { yyval.expr = yyvsp[-2].expr; ;
5260     break;}
5261 case 585:
5262 { yyval.expr = yyvsp[0].expr; ;
5263     break;}
5264 case 586:
5265 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5266     break;}
5267 case 587:
5268 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5269     break;}
5270 case 588:
5271 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5272     break;}
5273 case 589:
5274 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5275     break;}
5276 case 590:
5277 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5278     break;}
5279 case 591:
5280 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
5281     break;}
5282 case 592:
5283
5284      exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); 
5285      exprNode_checkIfPred (yyvsp[-1].expr);
5286      yyval.expr = yyvsp[-1].expr;
5287    ;
5288     break;}
5289 case 593:
5290
5291      context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
5292      yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr); 
5293    ;
5294     break;}
5295 case 594:
5296 { context_enterFalseClause (yyvsp[-2].expr); ;
5297     break;}
5298 case 595:
5299 {
5300      context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5301      yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr); 
5302    ;
5303     break;}
5304 case 596:
5305 { context_enterSwitch (yyvsp[0].expr); ;
5306     break;}
5307 case 597:
5308 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
5309     break;}
5310 case 598:
5311 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
5312     break;}
5313 case 599:
5314 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
5315     break;}
5316 case 600:
5317 { context_enterIterClause (); ;
5318     break;}
5319 case 601:
5320 { setProcessingIterVars (yyvsp[-3].entry); ;
5321     break;}
5322 case 602:
5323
5324      yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry); 
5325
5326    ;
5327     break;}
5328 case 603:
5329 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
5330     break;}
5331 case 604:
5332 { nextIterParam (); ;
5333     break;}
5334 case 605:
5335 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
5336     break;}
5337 case 606:
5338 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
5339     break;}
5340 case 607:
5341 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
5342     break;}
5343 case 608:
5344 { uentry ue = cscannerHelp_coerceIterId (yyvsp[0].cname);
5345
5346                       if (uentry_isValid (ue)) 
5347                         {
5348                           yyval.expr = exprNode_iterId (ue);
5349                         }
5350                       else
5351                         {
5352                           yyval.expr = exprNode_iterNewId (cstring_copy (cscannerHelp_observeLastIdentifier ()));
5353                         }
5354                     ;
5355     break;}
5356 case 609:
5357 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
5358     break;}
5359 case 611:
5360 { yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;
5361     break;}
5362 case 613:
5363 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5364     break;}
5365 case 615:
5366 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
5367     break;}
5368 case 616:
5369 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
5370     break;}
5371 case 617:
5372 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
5373     break;}
5374 case 618:
5375 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
5376     break;}
5377 case 619:
5378 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
5379     break;}
5380 case 620:
5381 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
5382     break;}
5383 case 621:
5384 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5385     break;}
5386 case 622:
5387 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5388     break;}
5389 case 624:
5390 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5391     break;}
5392 case 625:
5393 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5394     break;}
5395 case 626:
5396 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5397     break;}
5398 case 627:
5399 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5400     break;}
5401 case 628:
5402 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5403     break;}
5404 case 629:
5405 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5406     break;}
5407 case 630:
5408 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5409     break;}
5410 case 631:
5411 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5412     break;}
5413 case 632:
5414 { yyval.expr = yyvsp[0].expr; ;
5415     break;}
5416 case 634:
5417 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
5418     break;}
5419 case 636:
5420 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5421     break;}
5422 case 637:
5423 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5424     break;}
5425 case 638:
5426 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5427     break;}
5428 case 640:
5429 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5430     break;}
5431 case 641:
5432 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5433     break;}
5434 case 643:
5435 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5436     break;}
5437 case 644:
5438 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5439     break;}
5440 case 646:
5441 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5442     break;}
5443 case 647:
5444 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5445     break;}
5446 case 648:
5447 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5448     break;}
5449 case 649:
5450 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5451     break;}
5452 case 651:
5453 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5454     break;}
5455 case 652:
5456 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5457     break;}
5458 case 654:
5459 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5460     break;}
5461 case 656:
5462 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5463     break;}
5464 case 658:
5465 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5466     break;}
5467 case 660:
5468 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5469     break;}
5470 case 662:
5471 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5472     break;}
5473 case 664:
5474 { context_enterTrueClause (yyvsp[-1].expr); ;
5475     break;}
5476 case 665:
5477 { context_enterFalseClause (yyvsp[-4].expr); ;
5478     break;}
5479 case 666:
5480 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5481     break;}
5482 case 668:
5483 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5484     break;}
5485 case 669:
5486 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5487     break;}
5488 case 670:
5489 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5490     break;}
5491 case 671:
5492 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5493     break;}
5494 case 672:
5495 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5496     break;}
5497 case 673:
5498 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5499     break;}
5500 case 674:
5501 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5502     break;}
5503 case 675:
5504 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5505     break;}
5506 case 676:
5507 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5508     break;}
5509 case 677:
5510 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5511     break;}
5512 case 678:
5513 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5514     break;}
5515 case 679:
5516 { yyval.entry = yyvsp[0].entry; ;
5517     break;}
5518 case 680:
5519 { yyval.entry = uentry_undefined; ;
5520     break;}
5521 case 681:
5522 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5523     break;}
5524 case 682:
5525 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5526     break;}
5527 case 683:
5528 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5529     break;}
5530 case 684:
5531 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5532     break;}
5533 case 685:
5534 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5535     break;}
5536 case 686:
5537 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5538     break;}
5539 case 687:
5540 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5541     break;}
5542 case 688:
5543 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5544     break;}
5545 case 689:
5546 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5547     break;}
5548 case 690:
5549 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5550     break;}
5551 case 691:
5552 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5553     break;}
5554 case 692:
5555 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5556     break;}
5557 case 693:
5558 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5559     break;}
5560 case 694:
5561 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5562     break;}
5563 case 695:
5564 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5565     break;}
5566 case 696:
5567 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5568     break;}
5569 case 697:
5570 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5571     break;}
5572 case 698:
5573 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5574     break;}
5575 case 700:
5576 { ; ;
5577     break;}
5578 case 702:
5579 { ; ;
5580     break;}
5581 case 705:
5582 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5583     break;}
5584 case 706:
5585 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5586     break;}
5587 case 707:
5588 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5589     break;}
5590 case 708:
5591 { yyval.cname = yyvsp[0].cname; ;
5592     break;}
5593 case 710:
5594 { yyval.ctyp = ctype_unknown; ;
5595     break;}
5596 case 711:
5597 { yyval.ctyp = exprNode_getType (yyvsp[-1].expr); exprNode_free (yyvsp[-1].expr); ;
5598     break;}
5599 case 712:
5600 { yyval.ctyp = qtype_getType (yyvsp[-1].qtyp); ;
5601     break;}
5602 }
5603
5604
5605 \f
5606   yyvsp -= yylen;
5607   yyssp -= yylen;
5608 #if YYLSP_NEEDED
5609   yylsp -= yylen;
5610 #endif
5611
5612 #if YYDEBUG
5613   if (yydebug)
5614     {
5615       short *yyssp1 = yyss - 1;
5616       YYFPRINTF (stderr, "state stack now");
5617       while (yyssp1 != yyssp)
5618         YYFPRINTF (stderr, " %d", *++yyssp1);
5619       YYFPRINTF (stderr, "\n");
5620     }
5621 #endif
5622
5623   *++yyvsp = yyval;
5624 #if YYLSP_NEEDED
5625   *++yylsp = yyloc;
5626 #endif
5627
5628   /* Now `shift' the result of the reduction.  Determine what state
5629      that goes to, based on the state we popped back to and the rule
5630      number reduced by.  */
5631
5632   yyn = yyr1[yyn];
5633
5634   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5635   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5636     yystate = yytable[yystate];
5637   else
5638     yystate = yydefgoto[yyn - YYNTBASE];
5639
5640   goto yynewstate;
5641
5642
5643 /*------------------------------------.
5644 | yyerrlab -- here on detecting error |
5645 `------------------------------------*/
5646 yyerrlab:
5647   /* If not already recovering from an error, report this error.  */
5648   if (!yyerrstatus)
5649     {
5650       ++yynerrs;
5651
5652 #ifdef YYERROR_VERBOSE
5653       yyn = yypact[yystate];
5654
5655       if (yyn > YYFLAG && yyn < YYLAST)
5656         {
5657           YYSIZE_T yysize = 0;
5658           char *yymsg;
5659           int yyx, yycount;
5660
5661           yycount = 0;
5662           /* Start YYX at -YYN if negative to avoid negative indexes in
5663              YYCHECK.  */
5664           for (yyx = yyn < 0 ? -yyn : 0;
5665                yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
5666             if (yycheck[yyx + yyn] == yyx)
5667               yysize += yystrlen (yytname[yyx]) + 15, yycount++;
5668           yysize += yystrlen ("parse error, unexpected ") + 1;
5669           yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
5670           yymsg = (char *) YYSTACK_ALLOC (yysize);
5671           if (yymsg != 0)
5672             {
5673               char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
5674               yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
5675
5676               if (yycount < 5)
5677                 {
5678                   yycount = 0;
5679                   for (yyx = yyn < 0 ? -yyn : 0;
5680                        yyx < (int) (sizeof (yytname) / sizeof (char *));
5681                        yyx++)
5682                     if (yycheck[yyx + yyn] == yyx)
5683                       {
5684                         const char *yyq = ! yycount ? ", expecting " : " or ";
5685                         yyp = yystpcpy (yyp, yyq);
5686                         yyp = yystpcpy (yyp, yytname[yyx]);
5687                         yycount++;
5688                       }
5689                 }
5690               yyerror (yymsg);
5691               YYSTACK_FREE (yymsg);
5692             }
5693           else
5694             yyerror ("parse error; also virtual memory exhausted");
5695         }
5696       else
5697 #endif /* defined (YYERROR_VERBOSE) */
5698         yyerror ("parse error");
5699     }
5700   goto yyerrlab1;
5701
5702
5703 /*--------------------------------------------------.
5704 | yyerrlab1 -- error raised explicitly by an action |
5705 `--------------------------------------------------*/
5706 yyerrlab1:
5707   if (yyerrstatus == 3)
5708     {
5709       /* If just tried and failed to reuse lookahead token after an
5710          error, discard it.  */
5711
5712       /* return failure if at end of input */
5713       if (yychar == YYEOF)
5714         YYABORT;
5715       YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
5716                   yychar, yytname[yychar1]));
5717       yychar = YYEMPTY;
5718     }
5719
5720   /* Else will try to reuse lookahead token after shifting the error
5721      token.  */
5722
5723   yyerrstatus = 3;              /* Each real token shifted decrements this */
5724
5725   goto yyerrhandle;
5726
5727
5728 /*-------------------------------------------------------------------.
5729 | yyerrdefault -- current state does not do anything special for the |
5730 | error token.                                                       |
5731 `-------------------------------------------------------------------*/
5732 yyerrdefault:
5733 #if 0
5734   /* This is wrong; only states that explicitly want error tokens
5735      should shift them.  */
5736
5737   /* If its default is to accept any token, ok.  Otherwise pop it.  */
5738   yyn = yydefact[yystate];
5739   if (yyn)
5740     goto yydefault;
5741 #endif
5742
5743
5744 /*---------------------------------------------------------------.
5745 | yyerrpop -- pop the current state because it cannot handle the |
5746 | error token                                                    |
5747 `---------------------------------------------------------------*/
5748 yyerrpop:
5749   if (yyssp == yyss)
5750     YYABORT;
5751   yyvsp--;
5752   yystate = *--yyssp;
5753 #if YYLSP_NEEDED
5754   yylsp--;
5755 #endif
5756
5757 #if YYDEBUG
5758   if (yydebug)
5759     {
5760       short *yyssp1 = yyss - 1;
5761       YYFPRINTF (stderr, "Error: state stack now");
5762       while (yyssp1 != yyssp)
5763         YYFPRINTF (stderr, " %d", *++yyssp1);
5764       YYFPRINTF (stderr, "\n");
5765     }
5766 #endif
5767
5768 /*--------------.
5769 | yyerrhandle.  |
5770 `--------------*/
5771 yyerrhandle:
5772   yyn = yypact[yystate];
5773   if (yyn == YYFLAG)
5774     goto yyerrdefault;
5775
5776   yyn += YYTERROR;
5777   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5778     goto yyerrdefault;
5779
5780   yyn = yytable[yyn];
5781   if (yyn < 0)
5782     {
5783       if (yyn == YYFLAG)
5784         goto yyerrpop;
5785       yyn = -yyn;
5786       goto yyreduce;
5787     }
5788   else if (yyn == 0)
5789     goto yyerrpop;
5790
5791   if (yyn == YYFINAL)
5792     YYACCEPT;
5793
5794   YYDPRINTF ((stderr, "Shifting error token, "));
5795
5796   *++yyvsp = yylval;
5797 #if YYLSP_NEEDED
5798   *++yylsp = yylloc;
5799 #endif
5800
5801   yystate = yyn;
5802   goto yynewstate;
5803
5804
5805 /*-------------------------------------.
5806 | yyacceptlab -- YYACCEPT comes here.  |
5807 `-------------------------------------*/
5808 yyacceptlab:
5809   yyresult = 0;
5810   goto yyreturn;
5811
5812 /*-----------------------------------.
5813 | yyabortlab -- YYABORT comes here.  |
5814 `-----------------------------------*/
5815 yyabortlab:
5816   yyresult = 1;
5817   goto yyreturn;
5818
5819 /*---------------------------------------------.
5820 | yyoverflowab -- parser overflow comes here.  |
5821 `---------------------------------------------*/
5822 yyoverflowlab:
5823   yyerror ("parser stack overflow");
5824   yyresult = 2;
5825   /* Fall through.  */
5826
5827 yyreturn:
5828 #ifndef yyoverflow
5829   if (yyss != yyssa)
5830     YYSTACK_FREE (yyss);
5831 #endif
5832   return yyresult;
5833 }
5834
5835
5836 /*@-redecl@*/ /*@-namechecks@*/
5837 extern char *yytext;
5838 /*@=redecl@*/ /*@=namechecks@*/
5839
5840 # include "bison.reset"
5841
5842 void yyerror (/*@unused@*/ char *s) 
5843 {
5844   static bool givehint = FALSE;
5845
5846   if (context_inIterDef ())
5847     {
5848       llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s", 
5849                                     context_inFunctionName ()));
5850     }
5851   else if (context_inIterEnd ())
5852     {
5853       llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s", 
5854                                     context_inFunctionName ()));
5855     }
5856   else if (context_inMacro ())
5857     {
5858       llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s", 
5859                                     context_inFunctionName ()));
5860       
5861       if (context_inUnknownMacro ())
5862         {
5863           if (!givehint)
5864             {
5865               llhint (cstring_makeLiteral 
5866                      ("Precede macro definition with /*@notfunction@*/ "
5867                       "to suppress checking and force expansion"));
5868               givehint = TRUE;
5869             }
5870         }
5871
5872       cscannerHelp_swallowMacro ();
5873       context_exitAllClausesQuiet ();
5874     }
5875   else
5876     {
5877       llparseerror (cstring_undefined);
5878     }
5879 }
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892 /*
5893 ** Resets all flags in bison.head
5894 */
5895
5896
5897 /*@=allmacros@*/
5898 /*@=boolint@*/
5899 /*@=charint@*/
5900 /*@=macroparams@*/
5901 /*@=macroundef@*/
5902 /*@=unreachable@*/
5903 /*@=macrospec@*/
5904 /*@=varuse@*/
5905 /*@=ignorequals@*/
5906 /*@=macrostmt@*/
5907 /*@=noeffect@*/
5908 /*@=shadow@*/
5909 /*@=exitarg@*/
5910 /*@=macroredef@*/
5911 /*@=uniondef@*/
5912 /*@=compdef@*/
5913 /*@=matchfields@*/
5914 /*@=exportlocal@*/
5915 /*@=evalorderuncon@*/
5916 /*@=exportheader@*/
5917 /*@=typeuse@*/
5918 /*@=redecl@*/
5919 /*@=redef@*/
5920 /*@=noparams@*/
5921 /*@=ansireserved@*/
5922 /*@=fielduse@*/
5923 /*@=ifblock@*/
5924 /*@=elseifcomplete@*/
5925 /*@=whileblock@*/
5926 /*@=forblock@*/
5927 /*@=branchstate@*/
5928 /*@=readonlytrans@*/
5929 /*@=namechecks@*/
5930 /*@=usedef@*/
5931 /*@=systemunrecog@*/
5932 /*@=dependenttrans@*/
5933 /*@=unqualifiedtrans@*/
5934 /*@=declundef@*/
5935
5936
5937 /*drl added 11/27/2001*/
5938 /*@=bounds@*/
5939
5940 /*drl added 12/11/2002*/
5941 /*@=type@*/
This page took 0.542369 seconds and 5 git commands to generate.