f6e0f14b238c39ec5c4ef930f9ab60d7174e869b
[sdk] / compiler / libec / src / grammar.ec
1 /* Code generated from Bison source file: grammar.y */
2 /* A Bison parser, made by GNU Bison 2.4.2.  */
3
4 /* Skeleton implementation for Bison's Yacc-like parsers in C
5    
6       Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
7    Foundation, Inc.
8    
9    This program is free software: you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation, either version 3 of the License, or
12    (at your option) any later version.
13    
14    This program is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18    
19    You should have received a copy of the GNU General Public License
20    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
21
22 /* As a special exception, you may create a larger work that contains
23    part or all of the Bison parser skeleton and distribute that work
24    under terms of your choice, so long as that work isn't itself a
25    parser generator using the skeleton or a modified version thereof
26    as a parser skeleton.  Alternatively, if you modify or redistribute
27    the parser skeleton itself, you may (at your option) remove this
28    special exception, which will cause the skeleton and the resulting
29    Bison output files to be licensed under the GNU General Public
30    License without this special exception.
31    
32    This special exception was added by the Free Software Foundation in
33    version 2.2 of Bison.  */
34
35 /* C LALR(1) parser skeleton written by Richard Stallman, by
36    simplifying the original so-called "semantic" parser.  */
37
38 /* All symbols defined below should begin with yy or YY, to avoid
39    infringing on user name space.  This should be done even for local
40    variables, as they might otherwise be expanded by user macros.
41    There are some unavoidable exceptions within include files to
42    define necessary library symbols; they are noted "INFRINGES ON
43    USER NAME SPACE" below.  */
44
45 /* Identify Bison output.  */
46 #define YYBISON 1
47
48 /* Bison version.  */
49 #define YYBISON_VERSION "2.4.2"
50
51 /* Skeleton name.  */
52 #define YYSKELETON_NAME "yacc.c"
53
54 /* Pure parsers.  */
55 #define YYPURE 0
56
57 /* Push parsers.  */
58 #define YYPUSH 0
59
60 /* Pull parsers.  */
61 #define YYPULL 1
62
63 /* Using locations.  */
64 #define YYLSP_NEEDED 1
65
66
67
68 /* Copy the first part of user declarations.  */
69
70 /* Line 189 of yacc.c  */
71 #line 1 "grammar.y"
72
73 import "ecdefs"
74
75 #define YYLTYPE Location
76 #include "grammar.h"
77
78 #ifndef YYLLOC_DEFAULT
79 # define YYLLOC_DEFAULT(Current, Rhs, N)         \
80   (Current).start = (Rhs)[1].start;      \
81   (Current).end = (Rhs)[N].end;
82 #endif
83
84 #define PRECOMPILER
85 extern File fileInput;
86 extern char * yytext;
87 OldList * ast;
88 int yylex();
89 int yyerror();
90 bool guess;
91 bool deleteWatchable = false;
92
93 #define MAX_STRUCT_LEVELS     256
94 AccessMode memberAccessStack[MAX_STRUCT_LEVELS];
95 int defaultMemberAccess = -1;
96
97 #define POP_DEFAULT_ACCESS    if(defaultMemberAccess > -1) defaultMemberAccess--;
98
99 #define C89_DECL_WARNING   "eC expects all declarations to precede statements in the block (C89 style)\n"
100
101 #define uint _uint
102 default:
103
104
105
106 /* Line 189 of yacc.c  */
107 #line 107 "grammar.ec"
108
109 /* Enabling traces.  */
110 #ifndef YYDEBUG
111 # define YYDEBUG 1
112 #endif
113
114 /* Enabling verbose error messages.  */
115 #ifdef YYERROR_VERBOSE
116 # undef YYERROR_VERBOSE
117 # define YYERROR_VERBOSE 1
118 #else
119 # define YYERROR_VERBOSE 0
120 #endif
121
122 /* Enabling the token table.  */
123 #ifndef YYTOKEN_TABLE
124 # define YYTOKEN_TABLE 0
125 #endif
126
127
128 /* Tokens.  */
129 #ifndef YYTOKENTYPE
130 # define YYTOKENTYPE
131    /* Put the tokens into the symbol table, so that GDB and other debuggers
132       know about them.  */
133    enum yytokentype {
134      IDENTIFIER = 258,
135      CONSTANT = 259,
136      STRING_LITERAL = 260,
137      SIZEOF = 261,
138      PTR_OP = 262,
139      INC_OP = 263,
140      DEC_OP = 264,
141      LEFT_OP = 265,
142      RIGHT_OP = 266,
143      LE_OP = 267,
144      GE_OP = 268,
145      EQ_OP = 269,
146      NE_OP = 270,
147      AND_OP = 271,
148      OR_OP = 272,
149      MUL_ASSIGN = 273,
150      DIV_ASSIGN = 274,
151      MOD_ASSIGN = 275,
152      ADD_ASSIGN = 276,
153      SUB_ASSIGN = 277,
154      LEFT_ASSIGN = 278,
155      RIGHT_ASSIGN = 279,
156      AND_ASSIGN = 280,
157      XOR_ASSIGN = 281,
158      OR_ASSIGN = 282,
159      TYPE_NAME = 283,
160      TYPEDEF = 284,
161      EXTERN = 285,
162      STATIC = 286,
163      AUTO = 287,
164      REGISTER = 288,
165      CHAR = 289,
166      SHORT = 290,
167      INT = 291,
168      UINT = 292,
169      INT64 = 293,
170      LONG = 294,
171      SIGNED = 295,
172      UNSIGNED = 296,
173      FLOAT = 297,
174      DOUBLE = 298,
175      CONST = 299,
176      VOLATILE = 300,
177      VOID = 301,
178      VALIST = 302,
179      STRUCT = 303,
180      UNION = 304,
181      ENUM = 305,
182      ELLIPSIS = 306,
183      CASE = 307,
184      DEFAULT = 308,
185      IF = 309,
186      SWITCH = 310,
187      WHILE = 311,
188      DO = 312,
189      FOR = 313,
190      GOTO = 314,
191      CONTINUE = 315,
192      BREAK = 316,
193      RETURN = 317,
194      IFX = 318,
195      ELSE = 319,
196      CLASS = 320,
197      THISCLASS = 321,
198      CLASS_NAME = 322,
199      PROPERTY = 323,
200      SETPROP = 324,
201      GETPROP = 325,
202      NEWOP = 326,
203      RENEW = 327,
204      DELETE = 328,
205      EXT_DECL = 329,
206      EXT_STORAGE = 330,
207      IMPORT = 331,
208      DEFINE = 332,
209      VIRTUAL = 333,
210      ATTRIB = 334,
211      PUBLIC = 335,
212      PRIVATE = 336,
213      TYPED_OBJECT = 337,
214      ANY_OBJECT = 338,
215      _INCREF = 339,
216      EXTENSION = 340,
217      ASM = 341,
218      TYPEOF = 342,
219      WATCH = 343,
220      STOPWATCHING = 344,
221      FIREWATCHERS = 345,
222      WATCHABLE = 346,
223      CLASS_DESIGNER = 347,
224      CLASS_NO_EXPANSION = 348,
225      CLASS_FIXED = 349,
226      ISPROPSET = 350,
227      CLASS_DEFAULT_PROPERTY = 351,
228      PROPERTY_CATEGORY = 352,
229      CLASS_DATA = 353,
230      CLASS_PROPERTY = 354,
231      SUBCLASS = 355,
232      NAMESPACE = 356,
233      NEW0OP = 357,
234      RENEW0 = 358,
235      VAARG = 359,
236      DBTABLE = 360,
237      DBFIELD = 361,
238      DBINDEX = 362,
239      DATABASE_OPEN = 363,
240      ALIGNOF = 364,
241      ATTRIB_DEP = 365,
242      __ATTRIB = 366
243    };
244 #endif
245
246
247
248 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
249 typedef union YYSTYPE
250 {
251
252 /* Line 214 of yacc.c  */
253 #line 37 "grammar.y"
254
255    SpecifierType specifierType;
256    int i;
257    AccessMode declMode;
258    Identifier id;
259    Expression exp;
260    Specifier specifier;
261    OldList * list;
262    Enumerator enumerator;
263    Declarator declarator;
264    Pointer pointer;
265    Initializer initializer;
266    InitDeclarator initDeclarator;
267    TypeName typeName;
268    Declaration declaration;
269    Statement stmt;
270    FunctionDefinition function;
271    External external;
272    Context context;
273    AsmField asmField;
274    Attrib attrib;
275    ExtDecl extDecl;
276    Attribute attribute;
277
278    Instantiation instance;
279    MembersInit membersInit;
280    MemberInit memberInit;
281    ClassFunction classFunction;
282    ClassDefinition _class;
283    ClassDef classDef;
284    PropertyDef prop;
285    char * string;
286    Symbol symbol;
287    PropertyWatch propertyWatch;
288    TemplateParameter templateParameter;
289    TemplateArgument templateArgument;
290    TemplateDatatype templateDatatype;
291    
292    DBTableEntry dbtableEntry;
293    DBIndexItem dbindexItem;
294    DBTableDef dbtableDef;
295
296
297
298 /* Line 214 of yacc.c  */
299 #line 299 "grammar.ec"
300 } YYSTYPE;
301 # define YYSTYPE_IS_TRIVIAL 1
302 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
303 # define YYSTYPE_IS_DECLARED 1
304 #endif
305
306 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
307 typedef struct YYLTYPE
308 {
309   int first_line;
310   int first_column;
311   int last_line;
312   int last_column;
313 } YYLTYPE;
314 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
315 # define YYLTYPE_IS_DECLARED 1
316 # define YYLTYPE_IS_TRIVIAL 1
317 #endif
318
319
320 /* Copy the second part of user declarations.  */
321
322
323 /* Line 264 of yacc.c  */
324 #line 324 "grammar.ec"
325
326 #ifdef short
327 # undef short
328 #endif
329
330 #ifdef YYTYPE_UINT8
331 typedef YYTYPE_UINT8 yytype_uint8;
332 #else
333 typedef unsigned char yytype_uint8;
334 #endif
335
336 #ifdef YYTYPE_INT8
337 typedef YYTYPE_INT8 yytype_int8;
338 #elif (defined __STDC__ || defined __C99__FUNC__ \
339      || defined __cplusplus || defined _MSC_VER)
340 typedef signed char yytype_int8;
341 #else
342 typedef short int yytype_int8;
343 #endif
344
345 #ifdef YYTYPE_UINT16
346 typedef YYTYPE_UINT16 yytype_uint16;
347 #else
348 typedef unsigned short int yytype_uint16;
349 #endif
350
351 #ifdef YYTYPE_INT16
352 typedef YYTYPE_INT16 yytype_int16;
353 #else
354 typedef short int yytype_int16;
355 #endif
356
357 #ifndef YYSIZE_T
358 # ifdef __SIZE_TYPE__
359 #  define YYSIZE_T __SIZE_TYPE__
360 # elif defined size_t
361 #  define YYSIZE_T size_t
362 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
363      || defined __cplusplus || defined _MSC_VER)
364 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
365 #  define YYSIZE_T size_t
366 # else
367 #  define YYSIZE_T unsigned int
368 # endif
369 #endif
370
371 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
372
373 #ifndef YY_
374 # if defined YYENABLE_NLS && YYENABLE_NLS
375 #  if ENABLE_NLS
376 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
377 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
378 #  endif
379 # endif
380 # ifndef YY_
381 #  define YY_(msgid) msgid
382 # endif
383 #endif
384
385 /* Suppress unused-variable warnings by "using" E.  */
386 #if ! defined lint || defined __GNUC__
387 # define YYUSE(e) ((void) (e))
388 #else
389 # define YYUSE(e) /* empty */
390 #endif
391
392 /* Identity function, used to suppress warnings about constant conditions.  */
393 #ifndef lint
394 # define YYID(n) (n)
395 #else
396 #if (defined __STDC__ || defined __C99__FUNC__ \
397      || defined __cplusplus || defined _MSC_VER)
398 static int
399 YYID (int yyi)
400 #else
401 static int
402 YYID (yyi)
403     int yyi;
404 #endif
405 {
406   return yyi;
407 }
408 #endif
409
410 #if ! defined yyoverflow || YYERROR_VERBOSE
411
412 /* The parser invokes alloca or malloc; define the necessary symbols.  */
413
414 # ifdef YYSTACK_USE_ALLOCA
415 #  if YYSTACK_USE_ALLOCA
416 #   ifdef __GNUC__
417 #    define YYSTACK_ALLOC __builtin_alloca
418 #   elif defined __BUILTIN_VA_ARG_INCR
419 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
420 #   elif defined _AIX
421 #    define YYSTACK_ALLOC __alloca
422 #   elif defined _MSC_VER
423 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
424 #    define alloca _alloca
425 #   else
426 #    define YYSTACK_ALLOC alloca
427 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
428      || defined __cplusplus || defined _MSC_VER)
429 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
430 #     ifndef _STDLIB_H
431 #      define _STDLIB_H 1
432 #     endif
433 #    endif
434 #   endif
435 #  endif
436 # endif
437
438 # ifdef YYSTACK_ALLOC
439    /* Pacify GCC's `empty if-body' warning.  */
440 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
441 #  ifndef YYSTACK_ALLOC_MAXIMUM
442     /* The OS might guarantee only one guard page at the bottom of the stack,
443        and a page size can be as small as 4096 bytes.  So we cannot safely
444        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
445        to allow for a few compiler-allocated temporary stack slots.  */
446 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
447 #  endif
448 # else
449 #  define YYSTACK_ALLOC YYMALLOC
450 #  define YYSTACK_FREE YYFREE
451 #  ifndef YYSTACK_ALLOC_MAXIMUM
452 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
453 #  endif
454 #  if (defined __cplusplus && ! defined _STDLIB_H \
455        && ! ((defined YYMALLOC || defined malloc) \
456              && (defined YYFREE || defined free)))
457 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
458 #   ifndef _STDLIB_H
459 #    define _STDLIB_H 1
460 #   endif
461 #  endif
462 #  ifndef YYMALLOC
463 #   define YYMALLOC malloc
464 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
465      || defined __cplusplus || defined _MSC_VER)
466 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
467 #   endif
468 #  endif
469 #  ifndef YYFREE
470 #   define YYFREE free
471 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
472      || defined __cplusplus || defined _MSC_VER)
473 void free (void *); /* INFRINGES ON USER NAME SPACE */
474 #   endif
475 #  endif
476 # endif
477 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
478
479
480 #if (! defined yyoverflow \
481      && (! defined __cplusplus \
482          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
483              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
484
485 /* A type that is properly aligned for any stack member.  */
486 union yyalloc
487 {
488   yytype_int16 yyss_alloc;
489   YYSTYPE yyvs_alloc;
490   YYLTYPE yyls_alloc;
491 };
492
493 /* The size of the maximum gap between one aligned stack and the next.  */
494 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
495
496 /* The size of an array large to enough to hold all stacks, each with
497    N elements.  */
498 # define YYSTACK_BYTES(N) \
499      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
500       + 2 * YYSTACK_GAP_MAXIMUM)
501
502 /* Copy COUNT objects from FROM to TO.  The source and destination do
503    not overlap.  */
504 # ifndef YYCOPY
505 #  if defined __GNUC__ && 1 < __GNUC__
506 #   define YYCOPY(To, From, Count) \
507       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
508 #  else
509 #   define YYCOPY(To, From, Count)              \
510       do                                        \
511         {                                       \
512           YYSIZE_T yyi;                         \
513           for (yyi = 0; yyi < (Count); yyi++)   \
514             (To)[yyi] = (From)[yyi];            \
515         }                                       \
516       while (YYID (0))
517 #  endif
518 # endif
519
520 /* Relocate STACK from its old location to the new one.  The
521    local variables YYSIZE and YYSTACKSIZE give the old and new number of
522    elements in the stack, and YYPTR gives the new location of the
523    stack.  Advance YYPTR to a properly aligned location for the next
524    stack.  */
525 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
526     do                                                                  \
527       {                                                                 \
528         YYSIZE_T yynewbytes;                                            \
529         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
530         Stack = &yyptr->Stack_alloc;                                    \
531         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
532         yyptr += yynewbytes / sizeof (*yyptr);                          \
533       }                                                                 \
534     while (YYID (0))
535
536 #endif
537
538 /* YYFINAL -- State number of the termination state.  */
539 #define YYFINAL  283
540 /* YYLAST -- Last index in YYTABLE.  */
541 #define YYLAST   39120
542
543 /* YYNTOKENS -- Number of terminals.  */
544 #define YYNTOKENS  137
545 /* YYNNTS -- Number of nonterminals.  */
546 #define YYNNTS  260
547 /* YYNRULES -- Number of rules.  */
548 #define YYNRULES  1313
549 /* YYNRULES -- Number of states.  */
550 #define YYNSTATES  2184
551
552 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
553 #define YYUNDEFTOK  2
554 #define YYMAXUTOK   366
555
556 #define YYTRANSLATE(YYX)                                                \
557   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
558
559 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
560 static const yytype_uint8 yytranslate[] =
561 {
562        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
563        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
564        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
565        2,     2,     2,   131,     2,     2,   125,   133,   128,     2,
566      115,   116,   112,   129,   120,   130,   123,   132,     2,     2,
567        2,     2,     2,     2,     2,     2,     2,     2,   124,   118,
568      113,   119,   114,   136,     2,     2,     2,     2,     2,     2,
569        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
570        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
571        2,   126,     2,   127,   134,     2,     2,     2,     2,     2,
572        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
573        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
574        2,     2,     2,   122,   135,   121,   117,     2,     2,     2,
575        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
576        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
577        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
578        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
579        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
580        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
581        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
582        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
583        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
584        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
585        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
586        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
587        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
588        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
589       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
590       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
591       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
592       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
593       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
594       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
595       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
596       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
597       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
598      105,   106,   107,   108,   109,   110,   111
599 };
600
601 #if YYDEBUG
602 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
603    YYRHS.  */
604 static const yytype_uint16 yyprhs[] =
605 {
606        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
607       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
608       60,    63,    66,    69,    72,    75,    78,    81,    84,    86,
609       89,    91,    94,    97,   100,   103,   106,   109,   111,   113,
610      117,   119,   123,   127,   129,   131,   135,   139,   141,   145,
611      149,   153,   157,   159,   162,   165,   167,   169,   172,   175,
612      178,   181,   183,   186,   189,   191,   193,   196,   199,   201,
613      204,   207,   210,   213,   215,   218,   221,   225,   230,   236,
614      241,   245,   250,   253,   257,   262,   268,   273,   277,   282,
615      288,   294,   299,   302,   306,   310,   314,   318,   321,   326,
616      330,   334,   337,   342,   346,   349,   353,   356,   360,   363,
617      365,   368,   372,   376,   380,   383,   385,   389,   393,   395,
618      399,   403,   406,   411,   417,   421,   426,   430,   432,   436,
619      440,   444,   447,   451,   454,   459,   465,   469,   474,   478,
620      480,   484,   488,   491,   493,   496,   499,   502,   504,   507,
621      513,   521,   531,   538,   547,   552,   559,   561,   564,   568,
622      573,   576,   579,   581,   583,   586,   589,   591,   593,   595,
623      597,   605,   607,   610,   615,   617,   619,   622,   626,   629,
624      632,   635,   639,   641,   644,   647,   650,   652,   654,   656,
625      659,   662,   665,   669,   673,   675,   677,   680,   683,   685,
626      688,   691,   694,   697,   699,   702,   704,   706,   709,   714,
627      719,   726,   729,   734,   739,   746,   748,   750,   754,   756,
628      759,   764,   766,   768,   770,   772,   776,   778,   780,   782,
629      786,   790,   794,   798,   802,   806,   808,   812,   814,   817,
630      820,   824,   828,   834,   840,   847,   854,   857,   860,   864,
631      868,   872,   876,   880,   884,   888,   892,   896,   900,   904,
632      906,   908,   912,   914,   917,   922,   924,   926,   931,   936,
633      942,   951,   953,   955,   958,   965,   972,   978,   984,   991,
634      998,  1004,  1010,  1018,  1026,  1033,  1040,  1048,  1056,  1063,
635     1070,  1075,  1081,  1086,  1093,  1098,  1100,  1102,  1104,  1106,
636     1110,  1112,  1115,  1118,  1121,  1123,  1128,  1133,  1137,  1142,
637     1147,  1151,  1155,  1158,  1161,  1166,  1171,  1175,  1180,  1184,
638     1188,  1191,  1194,  1196,  1201,  1206,  1210,  1215,  1220,  1224,
639     1228,  1231,  1234,  1239,  1244,  1248,  1253,  1257,  1261,  1264,
640     1267,  1269,  1271,  1275,  1279,  1281,  1283,  1287,  1291,  1294,
641     1297,  1300,  1303,  1306,  1311,  1314,  1319,  1325,  1331,  1336,
642     1339,  1344,  1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,
643     1362,  1364,  1366,  1368,  1370,  1375,  1377,  1381,  1385,  1389,
644     1393,  1397,  1401,  1403,  1407,  1411,  1415,  1419,  1421,  1425,
645     1429,  1433,  1437,  1440,  1442,  1445,  1449,  1453,  1457,  1461,
646     1465,  1469,  1473,  1475,  1479,  1483,  1487,  1491,  1495,  1499,
647     1503,  1507,  1509,  1513,  1517,  1521,  1525,  1527,  1531,  1535,
648     1539,  1543,  1545,  1549,  1553,  1557,  1561,  1563,  1567,  1571,
649     1573,  1577,  1581,  1583,  1589,  1595,  1601,  1607,  1613,  1619,
650     1625,  1631,  1637,  1643,  1649,  1655,  1661,  1667,  1673,  1679,
651     1681,  1685,  1689,  1693,  1697,  1701,  1705,  1709,  1713,  1715,
652     1717,  1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,
653     1737,  1741,  1745,  1748,  1750,  1754,  1758,  1760,  1762,  1765,
654     1768,  1772,  1776,  1780,  1784,  1788,  1792,  1796,  1798,  1801,
655     1804,  1808,  1812,  1816,  1820,  1824,  1828,  1832,  1835,  1838,
656     1841,  1844,  1848,  1851,  1857,  1864,  1871,  1875,  1878,  1884,
657     1886,  1888,  1890,  1892,  1894,  1899,  1901,  1905,  1909,  1913,
658     1917,  1921,  1925,  1927,  1931,  1935,  1939,  1943,  1945,  1949,
659     1953,  1957,  1961,  1963,  1966,  1970,  1974,  1978,  1982,  1986,
660     1990,  1994,  1996,  2000,  2004,  2008,  2012,  2016,  2020,  2024,
661     2028,  2030,  2034,  2038,  2042,  2046,  2048,  2052,  2056,  2060,
662     2064,  2066,  2070,  2074,  2078,  2082,  2084,  2088,  2092,  2094,
663     2098,  2102,  2104,  2110,  2116,  2122,  2128,  2133,  2138,  2143,
664     2148,  2154,  2160,  2166,  2172,  2177,  2182,  2187,  2192,  2198,
665     2204,  2210,  2216,  2222,  2228,  2234,  2240,  2244,  2248,  2251,
666     2254,  2256,  2260,  2264,  2268,  2272,  2274,  2277,  2281,  2285,
667     2288,  2291,  2294,  2296,  2299,  2303,  2307,  2309,  2311,  2313,
668     2315,  2317,  2319,  2321,  2323,  2325,  2327,  2329,  2331,  2333,
669     2337,  2341,  2343,  2347,  2350,  2352,  2355,  2358,  2361,  2366,
670     2371,  2375,  2379,  2384,  2390,  2395,  2402,  2409,  2414,  2420,
671     2425,  2432,  2439,  2442,  2445,  2448,  2454,  2458,  2464,  2471,
672     2477,  2485,  2493,  2502,  2511,  2519,  2527,  2531,  2535,  2539,
673     2544,  2548,  2554,  2560,  2562,  2564,  2566,  2568,  2570,  2572,
674     2574,  2576,  2578,  2581,  2583,  2585,  2587,  2589,  2591,  2593,
675     2595,  2597,  2599,  2601,  2603,  2605,  2607,  2609,  2611,  2613,
676     2618,  2623,  2628,  2630,  2632,  2634,  2636,  2638,  2640,  2642,
677     2644,  2646,  2648,  2650,  2652,  2654,  2656,  2658,  2660,  2662,
678     2664,  2666,  2671,  2676,  2681,  2683,  2685,  2688,  2691,  2695,
679     2701,  2704,  2708,  2714,  2720,  2726,  2728,  2732,  2735,  2738,
680     2742,  2746,  2749,  2753,  2757,  2762,  2766,  2770,  2774,  2778,
681     2782,  2786,  2791,  2796,  2801,  2803,  2805,  2810,  2814,  2817,
682     2821,  2825,  2829,  2833,  2837,  2841,  2845,  2849,  2853,  2857,
683     2861,  2865,  2867,  2869,  2871,  2874,  2876,  2879,  2881,  2884,
684     2886,  2889,  2891,  2894,  2896,  2899,  2901,  2904,  2906,  2909,
685     2911,  2914,  2916,  2919,  2921,  2924,  2926,  2929,  2931,  2934,
686     2936,  2939,  2941,  2944,  2946,  2949,  2951,  2954,  2956,  2959,
687     2961,  2964,  2966,  2969,  2971,  2974,  2976,  2979,  2981,  2984,
688     2986,  2989,  2991,  2994,  2996,  2999,  3001,  3003,  3005,  3008,
689     3010,  3013,  3015,  3018,  3020,  3023,  3028,  3034,  3036,  3038,
690     3040,  3043,  3045,  3048,  3050,  3053,  3055,  3058,  3063,  3069,
691     3071,  3074,  3076,  3079,  3081,  3084,  3086,  3089,  3091,  3094,
692     3096,  3099,  3104,  3110,  3112,  3115,  3117,  3120,  3122,  3125,
693     3127,  3130,  3132,  3135,  3137,  3140,  3145,  3151,  3155,  3159,
694     3161,  3165,  3169,  3173,  3177,  3179,  3181,  3183,  3188,  3193,
695     3198,  3202,  3207,  3212,  3217,  3221,  3223,  3227,  3232,  3236,
696     3241,  3246,  3251,  3256,  3260,  3263,  3267,  3271,  3275,  3279,
697     3282,  3285,  3288,  3292,  3297,  3299,  3301,  3304,  3308,  3312,
698     3316,  3320,  3323,  3326,  3329,  3333,  3338,  3340,  3342,  3344,
699     3346,  3348,  3353,  3355,  3357,  3359,  3361,  3363,  3365,  3367,
700     3369,  3371,  3376,  3378,  3381,  3385,  3392,  3398,  3402,  3407,
701     3410,  3414,  3418,  3422,  3426,  3431,  3436,  3441,  3444,  3448,
702     3452,  3456,  3461,  3466,  3470,  3475,  3478,  3482,  3486,  3490,
703     3495,  3500,  3502,  3505,  3508,  3512,  3514,  3516,  3519,  3522,
704     3526,  3528,  3530,  3533,  3536,  3540,  3542,  3545,  3549,  3552,
705     3555,  3557,  3560,  3564,  3567,  3569,  3572,  3576,  3580,  3582,
706     3585,  3589,  3593,  3595,  3598,  3602,  3606,  3608,  3611,  3615,
707     3619,  3621,  3624,  3628,  3632,  3634,  3638,  3643,  3645,  3650,
708     3653,  3659,  3663,  3665,  3667,  3669,  3671,  3673,  3675,  3679,
709     3683,  3686,  3689,  3691,  3693,  3697,  3700,  3704,  3706,  3710,
710     3714,  3718,  3722,  3726,  3728,  3731,  3735,  3739,  3741,  3744,
711     3746,  3749,  3752,  3755,  3758,  3762,  3764,  3766,  3770,  3774,
712     3776,  3780,  3785,  3789,  3794,  3798,  3802,  3807,  3811,  3816,
713     3818,  3822,  3826,  3831,  3835,  3839,  3843,  3848,  3850,  3854,
714     3858,  3862,  3866,  3870,  3872,  3876,  3879,  3881,  3883,  3885,
715     3887,  3889,  3892,  3894,  3896,  3898,  3900,  3903,  3906,  3909,
716     3911,  3913,  3915,  3917,  3919,  3922,  3924,  3926,  3931,  3933,
717     3937,  3938,  3945,  3954,  3965,  3978,  3987,  3998,  4009,  4015,
718     4023,  4033,  4045,  4053,  4063,  4073,  4077,  4082,  4087,  4091,
719     4095,  4099,  4104,  4109,  4113,  4116,  4120,  4123,  4125,  4127,
720     4129,  4131,  4133,  4136,  4140,  4143,  4146,  4149,  4153,  4157,
721     4160,  4166,  4173,  4176,  4179,  4182,  4185,  4188,  4191,  4193,
722     4196,  4199,  4203,  4205,  4208,  4210,  4213,  4216,  4218,  4221,
723     4224,  4227,  4230,  4233,  4236,  4238,  4240,  4243,  4246,  4248,
724     4250,  4253,  4256,  4258,  4261,  4264,  4266,  4269,  4271,  4274,
725     4277,  4283,  4289,  4297,  4305,  4311,  4317,  4321,  4324,  4330,
726     4335,  4340,  4348,  4355,  4362,  4368,  4376,  4383,  4388,  4396,
727     4406,  4410,  4415,  4420,  4426,  4432,  4439,  4447,  4454,  4461,
728     4467,  4473,  4478,  4482,  4485,  4487,  4490,  4495,  4499,  4505,
729     4510,  4514,  4517,  4520,  4523,  4527,  4531,  4535,  4539,  4542,
730     4545,  4547,  4549,  4554,  4558,  4563,  4567,  4571,  4574,  4579,
731     4583,  4588,  4592,  4596,  4599,  4601,  4604,  4606,  4608,  4611,
732     4613,  4616,  4620,  4624,  4626,  4629,  4632,  4635,  4639,  4644,
733     4649,  4652,  4655,  4658,  4661,  4663,  4666,  4668,  4671,  4673,
734     4676,  4679,  4681,  4684,  4686,  4689,  4692,  4695,  4698,  4700,
735     4703,  4706,  4710,  4712,  4714,  4715,  4722,  4729,  4735,  4740,
736     4742,  4745,  4748,  4750,  4754,  4758,  4763,  4765,  4767,  4770,
737     4773,  4780,  4787,  4794
738 };
739
740 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
741 static const yytype_int16 yyrhs[] =
742 {
743      386,     0,    -1,   209,   112,    -1,   209,   113,    -1,   142,
744       -1,   209,   209,    -1,    28,    -1,    28,    -1,   140,    -1,
745      140,   113,   203,   114,    -1,   140,   113,   203,    11,    -1,
746      295,   330,    -1,   328,    -1,   295,   115,   116,    -1,   117,
747      295,   115,   116,    -1,    78,   295,   330,    -1,    78,   328,
748       -1,   295,   331,    -1,   329,    -1,    78,   295,   331,    -1,
749       78,   329,    -1,   143,   370,    -1,   146,   370,    -1,   146,
750      118,    -1,   144,   370,    -1,   145,   370,    -1,   143,   118,
751       -1,   143,   371,    -1,   147,    -1,   146,   371,    -1,   148,
752       -1,   148,   118,    -1,   294,   330,    -1,   294,   332,    -1,
753      294,   331,    -1,   151,   370,    -1,   151,   371,    -1,   152,
754       -1,   151,    -1,   216,   119,   335,    -1,   335,    -1,   216,
755      119,   336,    -1,   216,   119,     1,    -1,   336,    -1,   155,
756       -1,   157,   120,   155,    -1,   158,   120,   155,    -1,   156,
757       -1,   157,   120,   156,    -1,   158,   120,   156,    -1,   157,
758      120,     1,    -1,   158,   120,     1,    -1,   120,    -1,   157,
759      118,    -1,   158,   118,    -1,   159,    -1,   153,    -1,   162,
760      159,    -1,   162,   153,    -1,   160,   159,    -1,   160,   153,
761       -1,   118,    -1,   162,   118,    -1,   160,   118,    -1,   160,
762       -1,   157,    -1,   160,   157,    -1,   162,   157,    -1,   154,
763       -1,   161,   154,    -1,   162,   154,    -1,   160,   154,    -1,
764      160,   158,    -1,   158,    -1,   157,     1,    -1,   164,   121,
765       -1,   164,     1,   121,    -1,   294,   209,   122,   162,    -1,
766      294,   209,   122,   161,     1,    -1,   294,   209,   122,   161,
767       -1,   294,   209,   122,    -1,   294,   209,   122,     1,    -1,
768      166,   121,    -1,   166,     1,   121,    -1,   295,   209,   122,
769      162,    -1,   295,   209,   122,   161,     1,    -1,   295,   209,
770      122,   161,    -1,   295,   209,   122,    -1,   295,   209,   122,
771        1,    -1,   296,   209,   122,   161,   121,    -1,   296,   209,
772      122,   162,   121,    -1,   296,   209,   122,   121,    -1,   169,
773      121,    -1,   169,     1,   121,    -1,   142,   122,   161,    -1,
774      209,   122,   161,    -1,   142,   122,   162,    -1,   142,   122,
775       -1,   142,   122,   161,     1,    -1,   142,   122,     1,    -1,
776      209,   122,   162,    -1,   209,   122,    -1,   209,   122,   161,
777        1,    -1,   209,   122,     1,    -1,   171,   121,    -1,   171,
778        1,   121,    -1,   122,   162,    -1,   122,   161,     1,    -1,
779      122,     1,    -1,   122,    -1,   122,   161,    -1,   216,   119,
780      335,    -1,   216,   119,   336,    -1,   216,   119,     1,    -1,
781      216,     1,    -1,   172,    -1,   174,   120,   172,    -1,   175,
782      120,   172,    -1,   173,    -1,   174,   120,   173,    -1,   175,
783      120,   173,    -1,   174,     1,    -1,    68,   300,   209,   122,
784       -1,    68,   300,   324,   209,   122,    -1,    68,   300,   122,
785       -1,    68,   300,   324,   122,    -1,    68,     1,   122,    -1,
786      176,    -1,   177,    69,   370,    -1,   177,    70,   370,    -1,
787      177,    95,   370,    -1,   177,    91,    -1,   177,    97,   211,
788       -1,   177,   121,    -1,    99,   300,   209,   122,    -1,    99,
789      300,   324,   209,   122,    -1,    99,   300,   122,    -1,    99,
790      300,   324,   122,    -1,    99,     1,   122,    -1,   179,    -1,
791      180,    69,   370,    -1,   180,    70,   370,    -1,   180,   121,
792       -1,   209,    -1,   182,   209,    -1,   182,   370,    -1,    73,
793      370,    -1,   183,    -1,   184,   183,    -1,    88,   115,   182,
794      116,   370,    -1,    88,   115,   237,   116,   122,   184,   121,
795       -1,   237,   123,    88,   115,   237,   116,   122,   184,   121,
796       -1,    89,   115,   237,   120,   182,   116,    -1,   237,   123,
797       89,   115,   237,   120,   182,   116,    -1,    89,   115,   237,
798      116,    -1,   237,   123,    89,   115,   237,   116,    -1,    90,
799       -1,    90,   182,    -1,   216,   123,    90,    -1,   237,   123,
800       90,   182,    -1,   190,   118,    -1,   174,   118,    -1,   149,
801       -1,   178,    -1,   358,   149,    -1,   358,   178,    -1,   181,
802       -1,    91,    -1,    93,    -1,    94,    -1,    99,   115,   209,
803      116,   119,   335,   118,    -1,   118,    -1,   358,   124,    -1,
804      358,   115,   209,   116,    -1,   150,    -1,   295,    -1,   295,
805      282,    -1,   358,   295,   282,    -1,   358,   295,    -1,   358,
806      168,    -1,   358,   165,    -1,    98,   295,   282,    -1,   185,
807       -1,    92,   209,    -1,    92,   142,    -1,    96,   209,    -1,
808      168,    -1,   165,    -1,   174,    -1,   166,     1,    -1,   169,
809        1,    -1,   358,   150,    -1,   358,   166,     1,    -1,   358,
810      169,     1,    -1,   175,    -1,   189,    -1,   191,   189,    -1,
811      192,   189,    -1,   190,    -1,   191,     1,    -1,   192,     1,
812       -1,   191,   190,    -1,   192,   190,    -1,   294,    -1,   294,
813      324,    -1,   209,    -1,   193,    -1,    65,   209,    -1,    65,
814      209,   119,   194,    -1,    65,   209,   124,   193,    -1,    65,
815      209,   124,   193,   119,   194,    -1,    65,   141,    -1,    65,
816      141,   119,   194,    -1,    65,   141,   124,   193,    -1,    65,
817      141,   124,   193,   119,   194,    -1,   209,    -1,   209,    -1,
818      209,   119,   196,    -1,   261,    -1,   193,   209,    -1,   193,
819      209,   119,   198,    -1,   195,    -1,   197,    -1,   199,    -1,
820      200,    -1,   201,   120,   200,    -1,   198,    -1,   196,    -1,
821      194,    -1,   209,   119,   198,    -1,   209,   119,   196,    -1,
822      209,   119,   194,    -1,   193,   119,   198,    -1,   193,   119,
823      196,    -1,   193,   119,   194,    -1,   202,    -1,   203,   120,
824      202,    -1,    65,    -1,   204,   209,    -1,   204,   140,    -1,
825      209,   204,   209,    -1,   209,   204,   140,    -1,   204,   209,
826      113,   201,   114,    -1,   204,   140,   113,   201,   114,    -1,
827      209,   204,   209,   113,   201,   114,    -1,   209,   204,   140,
828      113,   201,   114,    -1,   208,   121,    -1,   207,   118,    -1,
829      205,   122,   121,    -1,   207,   122,   121,    -1,   204,   209,
830      118,    -1,   204,   139,   118,    -1,   205,   124,   299,    -1,
831      205,   122,   192,    -1,   207,   122,   192,    -1,   205,   122,
832      191,    -1,   207,   122,   191,    -1,   205,   122,     1,    -1,
833      207,   122,     1,    -1,     3,    -1,   212,    -1,   115,   239,
834      116,    -1,   381,    -1,   125,   381,    -1,   125,   381,   123,
835      381,    -1,   209,    -1,   168,    -1,    85,   115,   370,   116,
836       -1,    85,   115,   239,   116,    -1,    85,   115,   342,   116,
837      333,    -1,    85,   115,   342,   116,   115,   342,   116,   333,
838       -1,     4,    -1,   211,    -1,   115,   116,    -1,    71,   302,
839      325,   126,   261,   127,    -1,    71,   302,   325,   126,   262,
840      127,    -1,    71,   302,   126,   261,   127,    -1,    71,   302,
841      126,   262,   127,    -1,   102,   302,   325,   126,   261,   127,
842       -1,   102,   302,   325,   126,   262,   127,    -1,   102,   302,
843      126,   261,   127,    -1,   102,   302,   126,   262,   127,    -1,
844       72,   261,   301,   325,   126,   261,   127,    -1,    72,   261,
845      301,   325,   126,   262,   127,    -1,    72,   261,   301,   126,
846      261,   127,    -1,    72,   261,   301,   126,   262,   127,    -1,
847      103,   261,   301,   325,   126,   261,   127,    -1,   103,   261,
848      301,   325,   126,   262,   127,    -1,   103,   261,   301,   126,
849      261,   127,    -1,   103,   261,   301,   126,   262,   127,    -1,
850       65,   115,   294,   116,    -1,    65,   115,   294,   324,   116,
851       -1,    65,   115,   209,   116,    -1,   104,   115,   237,   120,
852      342,   116,    -1,    98,   115,   209,   116,    -1,   393,    -1,
853      394,    -1,   395,    -1,   396,    -1,   126,   218,   127,    -1,
854      170,    -1,   171,     1,    -1,   115,   239,    -1,   115,   259,
855       -1,   210,    -1,   216,   126,   239,   127,    -1,   216,   126,
856      259,   127,    -1,   216,   115,   116,    -1,   216,   115,   218,
857      116,    -1,   216,   115,   219,   116,    -1,   216,   123,   209,
858       -1,   216,     7,   209,    -1,   216,     8,    -1,   216,     9,
859       -1,   241,   126,   239,   127,    -1,   241,   126,   259,   127,
860       -1,   241,   115,   116,    -1,   241,   115,   218,   116,    -1,
861      241,   123,   209,    -1,   241,     7,   209,    -1,   241,     8,
862       -1,   241,     9,    -1,   212,    -1,   217,   126,   239,   127,
863       -1,   217,   126,   259,   127,    -1,   217,   115,   116,    -1,
864      217,   115,   218,   116,    -1,   217,   115,   219,   116,    -1,
865      217,   123,   209,    -1,   217,     7,   209,    -1,   217,     8,
866       -1,   217,     9,    -1,   242,   126,   239,   127,    -1,   242,
867      126,   259,   127,    -1,   242,   115,   116,    -1,   242,   115,
868      218,   116,    -1,   242,   123,   209,    -1,   242,     7,   209,
869       -1,   242,     8,    -1,   242,     9,    -1,   237,    -1,   213,
870       -1,   218,   120,   237,    -1,   218,   120,   213,    -1,   258,
871       -1,   214,    -1,   218,   120,   258,    -1,   218,   120,   214,
872       -1,   218,   120,    -1,     8,   221,    -1,     9,   221,    -1,
873      223,   224,    -1,   223,   213,    -1,     6,   115,   221,   116,
874       -1,     6,   222,    -1,     6,   115,   343,   116,    -1,     6,
875      115,    65,   139,   116,    -1,     6,   115,    65,   138,   116,
876       -1,   109,   115,   221,   116,    -1,   109,   222,    -1,   109,
877      115,   343,   116,    -1,   220,    -1,   216,    -1,   220,    -1,
878      217,    -1,   128,    -1,   112,    -1,   129,    -1,   130,    -1,
879      117,    -1,   131,    -1,    73,    -1,    84,    -1,   221,    -1,
880      115,   342,   116,   224,    -1,   224,    -1,   225,   112,   224,
881       -1,   225,   132,   224,    -1,   225,   133,   224,    -1,   247,
882      112,   224,    -1,   247,   132,   224,    -1,   247,   133,   224,
883       -1,   225,    -1,   226,   129,   225,    -1,   226,   130,   225,
884       -1,   248,   129,   225,    -1,   248,   130,   225,    -1,   226,
885       -1,   227,    10,   226,    -1,   227,    11,   226,    -1,   249,
886       10,   226,    -1,   249,    11,   226,    -1,   229,   113,    -1,
887      227,    -1,   228,   227,    -1,   229,   114,   227,    -1,   229,
888       12,   227,    -1,   229,    13,   227,    -1,   250,   113,   227,
889       -1,   250,   114,   227,    -1,   250,    12,   227,    -1,   250,
890       13,   227,    -1,   229,    -1,   230,    14,   229,    -1,   230,
891       15,   229,    -1,   251,    14,   229,    -1,   251,    15,   229,
892       -1,   230,    14,   213,    -1,   230,    15,   213,    -1,   251,
893       14,   213,    -1,   251,    15,   213,    -1,   230,    -1,   231,
894      128,   230,    -1,   252,   128,   230,    -1,   231,   128,   213,
895       -1,   252,   128,   213,    -1,   231,    -1,   232,   134,   231,
896       -1,   253,   134,   231,    -1,   232,   134,   213,    -1,   253,
897      134,   213,    -1,   232,    -1,   233,   135,   232,    -1,   254,
898      135,   232,    -1,   233,   135,   213,    -1,   254,   135,   213,
899       -1,   233,    -1,   234,    16,   233,    -1,   255,    16,   233,
900       -1,   234,    -1,   235,    17,   234,    -1,   256,    17,   234,
901       -1,   235,    -1,   235,   136,   239,   124,   236,    -1,   235,
902      136,   259,   124,   236,    -1,   256,   136,   239,   124,   236,
903       -1,   256,   136,   259,   124,   236,    -1,   235,   136,   240,
904      124,   236,    -1,   235,   136,   260,   124,   236,    -1,   256,
905      136,   240,   124,   236,    -1,   256,   136,   260,   124,   236,
906       -1,   235,   136,   239,   124,   213,    -1,   235,   136,   259,
907      124,   213,    -1,   256,   136,   239,   124,   213,    -1,   256,
908      136,   259,   124,   213,    -1,   235,   136,   240,   124,   213,
909       -1,   235,   136,   260,   124,   213,    -1,   256,   136,   240,
910      124,   213,    -1,   256,   136,   260,   124,   213,    -1,   236,
911       -1,   221,   238,   237,    -1,   244,   238,   237,    -1,   236,
912      238,   237,    -1,   257,   238,   237,    -1,   221,   238,   213,
913       -1,   244,   238,   213,    -1,   236,   238,   213,    -1,   257,
914      238,   213,    -1,   119,    -1,    18,    -1,    19,    -1,    20,
915       -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,
916       -1,    26,    -1,    27,    -1,   237,    -1,   239,   120,   237,
917       -1,   259,   120,   237,    -1,   259,   116,    -1,   213,    -1,
918      239,   120,   213,    -1,   259,   120,   213,    -1,   215,    -1,
919        1,    -1,   216,     1,    -1,   169,     1,    -1,   216,     7,
920        1,    -1,   241,     7,     1,    -1,   216,   115,   218,    -1,
921      216,   115,   219,    -1,   216,   123,     1,    -1,   241,   115,
922      219,    -1,   241,   123,     1,    -1,     1,    -1,   217,     1,
923       -1,   169,     1,    -1,   217,     7,     1,    -1,   242,     7,
924        1,    -1,   217,   115,   218,    -1,   217,   115,   219,    -1,
925      217,   123,     1,    -1,   242,   115,   219,    -1,   242,   123,
926        1,    -1,     8,   244,    -1,     9,   244,    -1,   223,   246,
927       -1,   223,   214,    -1,     6,   115,   244,    -1,     6,   245,
928       -1,     6,   115,   343,   116,     1,    -1,     6,   115,    65,
929      139,   116,     1,    -1,     6,   115,    65,   138,   116,     1,
930       -1,   109,   115,   244,    -1,   109,   245,    -1,   109,   115,
931      343,   116,     1,    -1,   243,    -1,   241,    -1,   243,    -1,
932      242,    -1,   244,    -1,   115,   342,   116,   246,    -1,   246,
933       -1,   225,   112,   246,    -1,   225,   132,   246,    -1,   225,
934      133,   246,    -1,   247,   112,   246,    -1,   247,   132,   246,
935       -1,   247,   133,   246,    -1,   247,    -1,   226,   129,   247,
936       -1,   226,   130,   247,    -1,   248,   129,   247,    -1,   248,
937      130,   247,    -1,   248,    -1,   227,    10,   248,    -1,   227,
938       11,   248,    -1,   249,    10,   248,    -1,   249,    11,   248,
939       -1,   249,    -1,   228,   249,    -1,   229,   114,   249,    -1,
940      229,    12,   249,    -1,   229,    13,   249,    -1,   250,   113,
941      249,    -1,   250,   114,   249,    -1,   250,    12,   249,    -1,
942      250,    13,   249,    -1,   250,    -1,   230,    14,   250,    -1,
943      230,    15,   250,    -1,   251,    14,   250,    -1,   251,    15,
944      250,    -1,   230,    14,   214,    -1,   230,    15,   214,    -1,
945      251,    14,   214,    -1,   251,    15,   214,    -1,   251,    -1,
946      231,   128,   251,    -1,   252,   128,   251,    -1,   231,   128,
947      214,    -1,   252,   128,   214,    -1,   252,    -1,   232,   134,
948      252,    -1,   253,   134,   252,    -1,   232,   134,   214,    -1,
949      253,   134,   214,    -1,   253,    -1,   233,   135,   253,    -1,
950      254,   135,   253,    -1,   233,   135,   214,    -1,   254,   135,
951      214,    -1,   254,    -1,   234,    16,   254,    -1,   255,    16,
952      254,    -1,   255,    -1,   235,    17,   255,    -1,   256,    17,
953      255,    -1,   256,    -1,   235,   136,   239,   124,   256,    -1,
954      235,   136,   259,   124,   256,    -1,   256,   136,   239,   124,
955      256,    -1,   256,   136,   259,   124,   256,    -1,   235,   136,
956      239,   124,    -1,   235,   136,   259,   124,    -1,   256,   136,
957      239,   124,    -1,   256,   136,   259,   124,    -1,   235,   136,
958      240,   124,   256,    -1,   235,   136,   260,   124,   256,    -1,
959      256,   136,   240,   124,   256,    -1,   256,   136,   260,   124,
960      256,    -1,   235,   136,   240,   124,    -1,   235,   136,   260,
961      124,    -1,   256,   136,   240,   124,    -1,   256,   136,   260,
962      124,    -1,   235,   136,   239,   124,   214,    -1,   235,   136,
963      259,   124,   214,    -1,   256,   136,   239,   124,   214,    -1,
964      256,   136,   259,   124,   214,    -1,   235,   136,   240,   124,
965      214,    -1,   235,   136,   260,   124,   214,    -1,   256,   136,
966      240,   124,   214,    -1,   256,   136,   260,   124,   214,    -1,
967      235,   136,   124,    -1,   256,   136,   124,    -1,   235,   136,
968       -1,   256,   136,    -1,   257,    -1,   221,   238,   258,    -1,
969      244,   238,   258,    -1,   221,   238,   214,    -1,   244,   238,
970      214,    -1,   258,    -1,   237,     1,    -1,   239,   120,   258,
971       -1,   259,   120,   258,    -1,   239,   239,    -1,   259,   239,
972       -1,   239,   259,    -1,   214,    -1,   213,     1,    -1,   239,
973      120,   214,    -1,   259,   120,   214,    -1,   236,    -1,   257,
974       -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,    33,
975       -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,    33,
976       -1,   209,    -1,   209,   119,   261,    -1,   209,   119,   262,
977       -1,   265,    -1,   266,   120,   265,    -1,   266,   120,    -1,
978       50,    -1,   267,   209,    -1,   267,   142,    -1,   270,   121,
979       -1,   267,   209,   122,   121,    -1,   267,   142,   122,   121,
980       -1,   267,   122,   266,    -1,   267,   122,     1,    -1,   267,
981      209,   122,   266,    -1,   267,   209,   122,   266,     1,    -1,
982      267,   209,   122,     1,    -1,   267,   209,   122,   266,   118,
983      191,    -1,   267,   209,   122,   266,   118,   192,    -1,   267,
984      142,   122,   266,    -1,   267,   142,   122,   266,     1,    -1,
985      267,   142,   122,     1,    -1,   267,   142,   122,   266,   118,
986      191,    -1,   267,   142,   122,   266,   118,   192,    -1,   267,
987      209,    -1,   267,   142,    -1,   273,   121,    -1,   271,   124,
988      299,   122,   121,    -1,   271,   122,   121,    -1,   271,   124,
989      299,   122,   266,    -1,   271,   124,   299,   122,   266,     1,
990       -1,   271,   124,   299,   122,     1,    -1,   271,   124,   299,
991      122,   266,   118,   191,    -1,   271,   124,   299,   122,   266,
992      118,   192,    -1,   271,   124,   299,   122,   266,     1,   118,
993      191,    -1,   271,   124,   299,   122,   266,     1,   118,   192,
994       -1,   271,   124,   299,   122,     1,   118,   191,    -1,   271,
995      124,   299,   122,     1,   118,   192,    -1,   267,   122,   266,
996       -1,   267,   122,     1,    -1,   271,   122,   266,    -1,   271,
997      122,   266,     1,    -1,   271,   122,     1,    -1,   271,   122,
998      266,   118,   191,    -1,   271,   122,   266,   118,   192,    -1,
999      272,    -1,   289,    -1,   273,    -1,   290,    -1,   315,    -1,
1000       44,    -1,    45,    -1,   276,    -1,   277,    -1,   278,   277,
1001       -1,    46,    -1,    34,    -1,    35,    -1,    36,    -1,    37,
1002       -1,    38,    -1,    47,    -1,    39,    -1,    42,    -1,    43,
1003       -1,    40,    -1,    41,    -1,    85,    -1,   286,    -1,   268,
1004       -1,   139,    -1,    87,   115,   237,   116,    -1,   100,   115,
1005      139,   116,    -1,   100,   115,   209,   116,    -1,    66,    -1,
1006       82,    -1,    83,    -1,    46,    -1,    34,    -1,    35,    -1,
1007       36,    -1,    37,    -1,    38,    -1,    47,    -1,    39,    -1,
1008       42,    -1,    43,    -1,    40,    -1,    41,    -1,    85,    -1,
1009      286,    -1,   268,    -1,   142,    -1,    87,   115,   237,   116,
1010       -1,   100,   115,   139,   116,    -1,   100,   115,   209,   116,
1011       -1,    66,    -1,   332,    -1,   332,   320,    -1,   124,   261,
1012       -1,   332,   124,   261,    -1,   332,   124,   261,   124,   261,
1013       -1,   124,   262,    -1,   332,   124,   262,    -1,   332,   124,
1014      261,   124,   262,    -1,   332,   124,   262,   124,   262,    -1,
1015      332,   124,   262,   124,   261,    -1,   281,    -1,   282,   120,
1016      281,    -1,   291,   209,    -1,   291,   140,    -1,   291,   315,
1017      209,    -1,   291,   315,   140,    -1,   285,   121,    -1,   283,
1018      122,   121,    -1,   291,   122,   121,    -1,   291,   315,   122,
1019      121,    -1,   283,   122,   191,    -1,   283,   122,   192,    -1,
1020      283,   122,     1,    -1,   291,   122,   191,    -1,   291,   122,
1021      192,    -1,   291,   122,     1,    -1,   291,   315,   122,   191,
1022       -1,   291,   315,   122,   192,    -1,   291,   315,   122,     1,
1023       -1,   283,    -1,   283,    -1,   283,   113,   201,   114,    -1,
1024      287,   124,   299,    -1,   290,   121,    -1,   288,   122,   121,
1025       -1,   287,   122,   121,    -1,   291,   122,   121,    -1,   288,
1026      122,   191,    -1,   288,   122,   192,    -1,   288,   122,     1,
1027       -1,   287,   122,   191,    -1,   287,   122,   192,    -1,   287,
1028      122,     1,    -1,   291,   122,   191,    -1,   291,   122,   192,
1029       -1,   291,   122,     1,    -1,    48,    -1,    49,    -1,   277,
1030       -1,   292,   277,    -1,   279,    -1,   292,   279,    -1,   269,
1031       -1,   292,   269,    -1,   284,    -1,   292,   284,    -1,   277,
1032       -1,   293,   277,    -1,   279,    -1,   293,   279,    -1,   138,
1033       -1,   293,   138,    -1,   269,    -1,   293,   269,    -1,   284,
1034       -1,   293,   284,    -1,   263,    -1,   294,   263,    -1,   277,
1035       -1,   294,   277,    -1,   280,    -1,   294,   280,    -1,   269,
1036       -1,   294,   269,    -1,   284,    -1,   294,   284,    -1,   263,
1037       -1,   295,   263,    -1,   277,    -1,   295,   277,    -1,   279,
1038       -1,   295,   279,    -1,   138,    -1,   295,   138,    -1,   284,
1039       -1,   295,   284,    -1,   269,    -1,   295,   269,    -1,   264,
1040       -1,   296,   264,    -1,   277,    -1,   296,   277,    -1,   279,
1041       -1,   296,   279,    -1,   138,    -1,   296,   138,    -1,   274,
1042       -1,   296,   274,    -1,   275,    -1,   296,   275,    -1,    81,
1043       -1,    80,    -1,   263,    -1,   298,   263,    -1,   277,    -1,
1044      298,   277,    -1,   280,    -1,   298,   280,    -1,   209,    -1,
1045      298,   209,    -1,   209,   113,   203,   114,    -1,   298,   209,
1046      113,   203,   114,    -1,   298,    -1,   291,    -1,   263,    -1,
1047      300,   263,    -1,   277,    -1,   300,   277,    -1,   280,    -1,
1048      300,   280,    -1,   209,    -1,   300,   209,    -1,   209,   113,
1049      203,   114,    -1,   300,   209,   113,   203,   114,    -1,   263,
1050       -1,   301,   263,    -1,   277,    -1,   301,   277,    -1,   280,
1051       -1,   301,   280,    -1,   284,    -1,   301,   284,    -1,   269,
1052       -1,   301,   269,    -1,   209,    -1,   301,   209,    -1,   209,
1053      113,   203,   114,    -1,   301,   209,   113,   203,   114,    -1,
1054      263,    -1,   302,   263,    -1,   277,    -1,   302,   277,    -1,
1055      280,    -1,   302,   280,    -1,   284,    -1,   302,   284,    -1,
1056      269,    -1,   302,   269,    -1,   209,    -1,   302,   209,    -1,
1057      209,   113,   203,   114,    -1,   302,   209,   113,   203,   114,
1058       -1,   304,   120,     1,    -1,   303,   120,     1,    -1,   209,
1059       -1,   304,   120,   209,    -1,   303,   120,   209,    -1,   346,
1060      120,   209,    -1,   347,   120,   209,    -1,   306,    -1,   140,
1061       -1,    37,    -1,   140,   126,   261,   127,    -1,   140,   126,
1062      262,   127,    -1,   140,   126,   139,   127,    -1,   140,   126,
1063      127,    -1,   305,   126,   261,   127,    -1,   305,   126,   262,
1064      127,    -1,   305,   126,   139,   127,    -1,   305,   126,   127,
1065       -1,   209,    -1,   115,   326,   116,    -1,   115,   315,   326,
1066      116,    -1,   115,   327,   116,    -1,   115,   315,   327,   116,
1067       -1,   306,   126,   261,   127,    -1,   306,   126,   262,   127,
1068       -1,   306,   126,   139,   127,    -1,   306,   126,   127,    -1,
1069      306,   115,    -1,   307,   348,   116,    -1,   307,   349,   116,
1070       -1,   307,   304,   116,    -1,   307,   303,   116,    -1,   307,
1071      116,    -1,   307,   303,    -1,   307,     1,    -1,   307,   346,
1072      115,    -1,   307,   295,   209,   115,    -1,   308,    -1,   306,
1073       -1,   305,   115,    -1,   311,   348,   116,    -1,   311,   349,
1074      116,    -1,   311,   304,   116,    -1,   311,   303,   116,    -1,
1075      311,   116,    -1,   311,   303,    -1,   311,     1,    -1,   311,
1076      346,   115,    -1,   311,   295,   209,   115,    -1,   312,    -1,
1077      305,    -1,    74,    -1,    75,    -1,   320,    -1,    86,   115,
1078      381,   116,    -1,    79,    -1,   110,    -1,   111,    -1,     3,
1079       -1,    28,    -1,    75,    -1,    74,    -1,    44,    -1,   317,
1080       -1,   317,   115,   239,   116,    -1,   318,    -1,   319,   318,
1081       -1,   319,   120,   318,    -1,   316,   115,   115,   319,   116,
1082      116,    -1,   316,   115,   115,   116,   116,    -1,   115,   324,
1083      116,    -1,   115,   315,   324,   116,    -1,   126,   127,    -1,
1084      126,   261,   127,    -1,   126,   262,   127,    -1,   126,   139,
1085      127,    -1,   321,   126,   127,    -1,   321,   126,   261,   127,
1086       -1,   321,   126,   139,   127,    -1,   321,   126,   262,   127,
1087       -1,   115,   116,    -1,   115,   348,   116,    -1,   115,   349,
1088      116,    -1,   321,   115,   116,    -1,   321,   115,   348,   116,
1089       -1,   321,   115,   349,   116,    -1,   115,   325,   116,    -1,
1090      115,   315,   325,   116,    -1,   115,   116,    -1,   115,   348,
1091      116,    -1,   115,   349,   116,    -1,   322,   115,   116,    -1,
1092      322,   115,   348,   116,    -1,   322,   115,   349,   116,    -1,
1093      112,    -1,   112,   278,    -1,   112,   323,    -1,   112,   278,
1094      323,    -1,   323,    -1,   321,    -1,   323,   321,    -1,   315,
1095      323,    -1,   315,   323,   321,    -1,   323,    -1,   322,    -1,
1096      323,   322,    -1,   315,   323,    -1,   315,   323,   322,    -1,
1097      310,    -1,   323,   310,    -1,   315,   323,   310,    -1,   326,
1098      315,    -1,   332,   315,    -1,   314,    -1,   323,   314,    -1,
1099      315,   323,   314,    -1,   327,   315,    -1,   308,    -1,   323,
1100      308,    -1,   315,   323,   308,    -1,   323,   315,   308,    -1,
1101      309,    -1,   323,   309,    -1,   315,   323,   309,    -1,   323,
1102      315,   309,    -1,   312,    -1,   323,   312,    -1,   315,   323,
1103      312,    -1,   323,   315,   312,    -1,   313,    -1,   323,   313,
1104       -1,   315,   323,   313,    -1,   323,   315,   313,    -1,   305,
1105       -1,   323,   305,    -1,   315,   323,   305,    -1,   323,   315,
1106      305,    -1,   237,    -1,   122,   337,   121,    -1,   122,   337,
1107      120,   121,    -1,   258,    -1,   122,   337,   121,     1,    -1,
1108      122,   337,    -1,   122,   337,   120,   121,     1,    -1,   122,
1109      337,   120,    -1,   236,    -1,   213,    -1,   257,    -1,   214,
1110       -1,   333,    -1,   334,    -1,   337,   120,   333,    -1,   337,
1111      120,   334,    -1,   337,   333,    -1,   337,   334,    -1,   326,
1112       -1,   327,    -1,   326,   119,   333,    -1,   326,     1,    -1,
1113      326,   119,   334,    -1,   338,    -1,   340,   120,   338,    -1,
1114       37,   120,   338,    -1,    38,   120,   338,    -1,   140,   120,
1115      338,    -1,   341,   120,   338,    -1,   339,    -1,   338,     1,
1116       -1,   340,   120,   339,    -1,   341,   120,   339,    -1,   292,
1117       -1,   292,   324,    -1,   293,    -1,   293,   324,    -1,   295,
1118      327,    -1,   295,   324,    -1,   295,   128,    -1,   295,   128,
1119      327,    -1,   295,    -1,    65,    -1,   295,   327,     1,    -1,
1120      295,   324,     1,    -1,   344,    -1,   346,   120,   344,    -1,
1121      346,     1,   120,   344,    -1,   347,   120,   344,    -1,   347,
1122        1,   120,   344,    -1,     1,   120,   344,    -1,   304,   120,
1123      344,    -1,   304,     1,   120,   344,    -1,   303,   120,   344,
1124       -1,   303,     1,   120,   344,    -1,   345,    -1,   346,   120,
1125      345,    -1,   347,   120,   345,    -1,   347,     1,   120,   345,
1126       -1,     1,   120,   345,    -1,   304,   120,   345,    -1,   303,
1127      120,   345,    -1,   303,     1,   120,   345,    -1,   346,    -1,
1128      346,   120,    51,    -1,   347,   120,    51,    -1,   304,   120,
1129       51,    -1,   303,   120,    51,    -1,     1,   120,    51,    -1,
1130      347,    -1,   346,   120,     1,    -1,   347,     1,    -1,   355,
1131       -1,   320,    -1,   370,    -1,   118,    -1,   124,    -1,   239,
1132      118,    -1,   373,    -1,   375,    -1,   377,    -1,   354,    -1,
1133      188,   118,    -1,   187,   118,    -1,   186,   118,    -1,   356,
1134       -1,   376,    -1,   371,    -1,   374,    -1,   378,    -1,   377,
1135        1,    -1,   259,    -1,   381,    -1,   381,   115,   237,   116,
1136       -1,   352,    -1,   353,   120,   352,    -1,    -1,    86,   277,
1137      115,   381,   116,   118,    -1,    86,   277,   115,   381,   124,
1138      353,   116,   118,    -1,    86,   277,   115,   381,   124,   353,
1139      124,   353,   116,   118,    -1,    86,   277,   115,   381,   124,
1140      353,   124,   353,   124,   353,   116,   118,    -1,    86,   277,
1141      115,   381,     3,   353,   116,   118,    -1,    86,   277,   115,
1142      381,     3,   353,   124,   353,   116,   118,    -1,    86,   277,
1143      115,   381,   124,   353,     3,   353,   116,   118,    -1,    86,
1144      115,   381,   116,   118,    -1,    86,   115,   381,   124,   353,
1145      116,   118,    -1,    86,   115,   381,   124,   353,   124,   353,
1146      116,   118,    -1,    86,   115,   381,   124,   353,   124,   353,
1147      124,   353,   116,   118,    -1,    86,   115,   381,     3,   353,
1148      116,   118,    -1,    86,   115,   381,     3,   353,   124,   353,
1149      116,   118,    -1,    86,   115,   381,   124,   353,     3,   353,
1150      116,   118,    -1,   209,   124,   350,    -1,    52,   261,   124,
1151      350,    -1,    52,   262,   124,   350,    -1,    52,   124,   350,
1152       -1,    53,   124,   350,    -1,   209,   124,   351,    -1,    52,
1153      261,   124,   351,    -1,    52,   262,   124,   351,    -1,    52,
1154      124,   351,    -1,    52,   124,    -1,    53,   124,   351,    -1,
1155       53,   124,    -1,    80,    -1,    81,    -1,    53,    -1,    80,
1156       -1,    81,    -1,   294,   118,    -1,   294,   340,   118,    -1,
1157      163,   118,    -1,   362,   118,    -1,   296,   118,    -1,   296,
1158      340,   118,    -1,   297,   340,   118,    -1,   167,   118,    -1,
1159       77,   209,   119,   236,   118,    -1,    31,    77,   209,   119,
1160      236,   118,    -1,   296,     1,    -1,   294,     1,    -1,   362,
1161        1,    -1,   164,     1,    -1,   163,     1,    -1,   294,   341,
1162       -1,   359,    -1,   363,   359,    -1,   364,   359,    -1,   363,
1163        1,   118,    -1,   362,    -1,   363,   362,    -1,   350,    -1,
1164      365,   350,    -1,   366,   350,    -1,   351,    -1,   365,   351,
1165       -1,   366,   351,    -1,   365,   359,    -1,   366,   359,    -1,
1166      365,   362,    -1,   366,   362,    -1,   365,    -1,   363,    -1,
1167      363,   365,    -1,   364,   365,    -1,   366,    -1,   364,    -1,
1168      363,   366,    -1,   364,   366,    -1,   122,    -1,   371,   121,
1169       -1,   369,   368,    -1,   369,    -1,   369,   367,    -1,   118,
1170       -1,   239,   118,    -1,   259,   118,    -1,    54,   115,   239,
1171      116,   350,    -1,    54,   115,   259,   116,   350,    -1,    54,
1172      115,   239,   116,   350,    64,   350,    -1,    54,   115,   259,
1173      116,   350,    64,   350,    -1,    55,   115,   239,   116,   350,
1174       -1,    55,   115,   259,   116,   350,    -1,    54,   115,   259,
1175       -1,   373,     1,    -1,    56,   115,   239,   116,   350,    -1,
1176       56,   115,   259,   350,    -1,    56,   115,   116,   350,    -1,
1177       57,   350,    56,   115,   239,   116,   118,    -1,    57,   350,
1178       56,   115,   259,   118,    -1,    58,   115,   372,   372,   116,
1179      350,    -1,    58,   115,   372,   116,   350,    -1,    58,   115,
1180      372,   372,   239,   116,   350,    -1,    58,   115,   372,   372,
1181      259,   350,    -1,    58,   115,   116,   350,    -1,    58,   115,
1182      209,   124,   239,   116,   350,    -1,    58,   115,   209,   124,
1183      239,   118,   239,   116,   350,    -1,    58,   115,     1,    -1,
1184       58,   115,   259,     1,    -1,    58,   115,   372,     1,    -1,
1185       58,   115,   372,   259,     1,    -1,    58,   115,   372,   372,
1186      259,    -1,    58,   115,   372,   372,   116,   351,    -1,    58,
1187      115,   372,   372,   239,   116,   351,    -1,    58,   115,   372,
1188      372,   259,   351,    -1,    57,   350,    56,   115,   239,   116,
1189       -1,    57,   350,    56,   115,   239,    -1,    57,   350,    56,
1190      115,   259,    -1,    57,   350,    56,   115,    -1,    57,   350,
1191       56,    -1,    57,   350,    -1,    57,    -1,    56,     1,    -1,
1192       56,   115,   116,     1,    -1,    56,   115,   259,    -1,    56,
1193      115,   239,   116,   351,    -1,    56,   115,   259,   351,    -1,
1194       59,   209,   118,    -1,    60,   118,    -1,    61,   118,    -1,
1195       62,   118,    -1,    62,   239,   118,    -1,    62,   259,   118,
1196       -1,    62,   213,   118,    -1,    62,   214,   118,    -1,    62,
1197      259,    -1,    62,   214,    -1,    62,    -1,    59,    -1,   296,
1198      328,   363,   370,    -1,   296,   328,   370,    -1,   296,   330,
1199      363,   370,    -1,   296,   330,   370,    -1,   328,   363,   370,
1200       -1,   328,   370,    -1,   296,   328,   363,   371,    -1,   296,
1201      328,   371,    -1,   296,   330,   363,   371,    -1,   296,   330,
1202      371,    -1,   328,   363,   371,    -1,   328,   371,    -1,     5,
1203       -1,   381,     5,    -1,   379,    -1,   206,    -1,   296,   206,
1204       -1,   360,    -1,    76,   381,    -1,    76,    31,   381,    -1,
1205       76,   209,   381,    -1,   118,    -1,   357,   379,    -1,   357,
1206      206,    -1,   357,   360,    -1,   357,    76,   381,    -1,   357,
1207       76,    31,   381,    -1,   357,    76,   209,   381,    -1,   357,
1208      124,    -1,    31,   124,    -1,   101,   209,    -1,   101,   142,
1209       -1,   387,    -1,   357,   387,    -1,   208,    -1,   296,   208,
1210       -1,   380,    -1,   357,   208,    -1,   357,   380,    -1,   361,
1211       -1,   357,   361,    -1,   383,    -1,   385,   383,    -1,   384,
1212      383,    -1,   385,     1,    -1,   384,     1,    -1,   382,    -1,
1213      385,   382,    -1,   384,   206,    -1,   384,   357,   206,    -1,
1214      385,    -1,   384,    -1,    -1,   105,   381,   209,   122,   392,
1215      121,    -1,   105,   381,   142,   122,   392,   121,    -1,   105,
1216      381,   122,   392,   121,    -1,   295,   209,   381,   118,    -1,
1217      209,    -1,   114,   209,    -1,   113,   209,    -1,   389,    -1,
1218      390,   120,   389,    -1,   107,   390,   118,    -1,   107,   390,
1219      209,   118,    -1,   388,    -1,   391,    -1,   392,   388,    -1,
1220      392,   391,    -1,   108,   115,   237,   120,   237,   116,    -1,
1221      106,   115,   381,   120,   209,   116,    -1,   107,   115,   381,
1222      120,   209,   116,    -1,   105,   115,   381,   116,    -1
1223 };
1224
1225 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1226 static const yytype_uint16 yyrline[] =
1227 {
1228        0,   278,   278,   307,   366,   367,   467,   471,   474,   475,
1229      476,   525,   527,   532,   537,   542,   544,   549,   551,   556,
1230      558,   563,   565,   567,   569,   571,   575,   580,   582,   584,
1231      586,   588,   594,   596,   601,   606,   611,   613,   615,   620,
1232      621,   625,   626,   637,   641,   642,   644,   649,   650,   652,
1233      655,   667,   678,   697,   699,   704,   705,   706,   707,   708,
1234      709,   710,   711,   712,   716,   717,   718,   719,   723,   724,
1235      725,   726,   727,   728,   729,   733,   735,   740,   742,   744,
1236      746,   748,   778,   780,   785,   787,   789,   791,   793,   822,
1237      824,   826,   831,   833,   838,   840,   844,   846,   848,   850,
1238      855,   858,   861,   864,   929,   931,   936,   938,   940,   942,
1239      944,   975,   979,   980,   981,   985,   986,   987,   991,   992,
1240      993,   994,   998,  1001,  1004,  1007,  1010,  1015,  1016,  1018,
1241     1020,  1022,  1024,  1029,  1033,  1036,  1039,  1042,  1045,  1050,
1242     1051,  1053,  1058,  1062,  1064,  1069,  1071,  1076,  1078,  1083,
1243     1088,  1090,  1095,  1097,  1099,  1101,  1106,  1108,  1110,  1112,
1244     1117,  1118,  1119,  1120,  1121,  1122,  1123,  1124,  1125,  1126,
1245     1127,  1129,  1130,  1132,  1136,  1139,  1140,  1141,  1142,  1143,
1246     1144,  1145,  1146,  1147,  1148,  1149,  1150,  1151,  1152,  1154,
1247     1155,  1159,  1160,  1161,  1165,  1169,  1170,  1171,  1175,  1176,
1248     1177,  1178,  1179,  1183,  1184,  1185,  1189,  1193,  1194,  1195,
1249     1196,  1197,  1198,  1199,  1200,  1204,  1208,  1209,  1213,  1217,
1250     1218,  1222,  1223,  1224,  1228,  1229,  1233,  1234,  1235,  1236,
1251     1237,  1238,  1239,  1251,  1263,  1278,  1279,  1283,  1291,  1292,
1252     1300,  1301,  1303,  1304,  1313,  1314,  1318,  1325,  1332,  1338,
1253     1345,  1351,  1360,  1367,  1373,  1379,  1385,  1391,  1397,  1408,
1254     1413,  1414,  1419,  1420,  1421,  1425,  1426,  1427,  1428,  1429,
1255     1430,  1431,  1432,  1433,  1434,  1435,  1436,  1437,  1438,  1439,
1256     1440,  1441,  1442,  1443,  1444,  1445,  1446,  1447,  1448,  1449,
1257     1450,  1451,  1452,  1453,  1455,  1456,  1457,  1458,  1459,  1461,
1258     1465,  1469,  1473,  1474,  1478,  1480,  1481,  1482,  1483,  1484,
1259     1485,  1486,  1487,  1488,  1490,  1491,  1492,  1493,  1494,  1495,
1260     1496,  1497,  1501,  1503,  1504,  1505,  1506,  1507,  1508,  1509,
1261     1510,  1511,  1513,  1514,  1515,  1516,  1517,  1518,  1519,  1520,
1262     1524,  1525,  1526,  1527,  1531,  1532,  1533,  1534,  1535,  1539,
1263     1540,  1541,  1542,  1543,  1544,  1545,  1546,  1547,  1549,  1550,
1264     1551,  1555,  1556,  1560,  1561,  1565,  1566,  1567,  1568,  1569,
1265     1570,  1571,  1572,  1576,  1577,  1581,  1582,  1583,  1584,  1585,
1266     1586,  1587,  1591,  1592,  1593,  1594,  1595,  1599,  1600,  1601,
1267     1602,  1603,  1607,  1615,  1616,  1617,  1618,  1619,  1620,  1621,
1268     1622,  1623,  1627,  1628,  1629,  1630,  1631,  1633,  1634,  1635,
1269     1636,  1640,  1641,  1642,  1644,  1645,  1649,  1650,  1651,  1653,
1270     1654,  1658,  1659,  1660,  1662,  1663,  1667,  1668,  1669,  1673,
1271     1674,  1675,  1679,  1680,  1681,  1682,  1683,  1685,  1686,  1687,
1272     1688,  1690,  1691,  1692,  1693,  1695,  1696,  1697,  1698,  1702,
1273     1703,  1704,  1705,  1706,  1708,  1709,  1710,  1711,  1715,  1716,
1274     1717,  1718,  1719,  1720,  1721,  1722,  1723,  1724,  1725,  1729,
1275     1730,  1731,  1732,  1736,  1737,  1738,  1742,  1743,  1744,  1745,
1276     1747,  1748,  1750,  1751,  1756,  1758,  1763,  1767,  1768,  1769,
1277     1771,  1772,  1774,  1775,  1780,  1782,  1787,  1791,  1792,  1793,
1278     1794,  1795,  1796,  1797,  1798,  1799,  1800,  1801,  1802,  1806,
1279     1807,  1811,  1812,  1817,  1818,  1822,  1823,  1824,  1825,  1826,
1280     1827,  1828,  1832,  1833,  1837,  1841,  1845,  1852,  1853,  1854,
1281     1855,  1856,  1860,  1861,  1912,  1913,  1914,  1915,  1916,  1917,
1282     1918,  1922,  1923,  1924,  1925,  1926,  1933,  1934,  1935,  1936,
1283     1940,  1941,  1942,  1944,  1945,  1949,  1950,  1951,  1953,  1954,
1284     1958,  1959,  1960,  1962,  1963,  1967,  1968,  1969,  1973,  1974,
1285     1975,  1979,  1980,  1981,  1982,  1983,  1984,  1985,  1986,  1987,
1286     1989,  1990,  1991,  1992,  1993,  1994,  1995,  1996,  1998,  1999,
1287     2000,  2001,  2003,  2004,  2005,  2006,  2008,  2015,  2019,  2023,
1288     2030,  2031,  2035,  2040,  2041,  2045,  2046,  2047,  2048,  2054,
1289     2055,  2056,  2060,  2061,  2062,  2063,  2067,  2069,  2073,  2074,
1290     2075,  2076,  2077,  2081,  2082,  2083,  2084,  2085,  2089,  2090,
1291     2091,  2095,  2096,  2097,  2101,  2105,  2106,  2110,  2111,  2112,
1292     2116,  2117,  2119,  2120,  2121,  2122,  2123,  2125,  2126,  2127,
1293     2128,  2129,  2133,  2134,  2138,  2139,  2140,  2144,  2145,  2146,
1294     2147,  2148,  2149,  2150,  2151,  2152,  2154,  2155,  2157,  2158,
1295     2159,  2160,  2161,  2165,  2166,  2170,  2171,  2175,  2179,  2180,
1296     2181,  2186,  2187,  2191,  2192,  2193,  2194,  2195,  2196,  2197,
1297     2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,  2207,
1298     2208,  2209,  2210,  2211,  2212,  2216,  2217,  2218,  2219,  2220,
1299     2221,  2222,  2223,  2224,  2225,  2226,  2227,  2228,  2229,  2230,
1300     2231,  2232,  2233,  2234,  2235,  2241,  2243,  2245,  2247,  2249,
1301     2251,  2253,  2255,  2257,  2259,  2264,  2265,  2269,  2275,  2281,
1302     2288,  2298,  2299,  2300,  2301,  2305,  2306,  2307,  2309,  2310,
1303     2311,  2313,  2314,  2315,  2319,  2323,  2331,  2340,  2349,  2350,
1304     2352,  2353,  2357,  2364,  2371,  2374,  2387,  2401,  2404,  2406,
1305     2408,  2413,  2414,  2418,  2419,  2420,  2421,  2422,  2423,  2424,
1306     2425,  2429,  2430,  2431,  2432,  2433,  2434,  2435,  2436,  2437,
1307     2438,  2442,  2443,  2444,  2445,  2446,  2447,  2448,  2449,  2450,
1308     2451,  2455,  2456,  2457,  2458,  2459,  2460,  2461,  2462,  2463,
1309     2464,  2465,  2466,  2470,  2471,  2472,  2473,  2474,  2475,  2476,
1310     2477,  2478,  2479,  2483,  2484,  2488,  2489,  2490,  2491,  2492,
1311     2493,  2494,  2495,  2496,  2498,  2500,  2518,  2536,  2537,  2541,
1312     2542,  2543,  2544,  2545,  2546,  2547,  2548,  2549,  2567,  2584,
1313     2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,
1314     2595,  2596,  2614,  2631,  2632,  2633,  2634,  2635,  2636,  2637,
1315     2638,  2639,  2640,  2641,  2642,  2643,  2661,  2678,  2679,  2683,
1316     2684,  2685,  2686,  2687,  2691,  2692,  2699,  2701,  2710,  2719,
1317     2728,  2737,  2738,  2739,  2740,  2744,  2745,  2746,  2747,  2748,
1318     2749,  2750,  2751,  2752,  2756,  2760,  2761,  2762,  2763,  2764,
1319     2769,  2778,  2787,  2796,  2810,  2811,  2816,  2820,  2821,  2822,
1320     2823,  2824,  2829,  2838,  2847,  2856,  2870,  2871,  2920,  2921,
1321     2922,  2923,  2935,  2936,  2937,  2942,  2943,  2944,  2945,  2946,
1322     2950,  2951,  2955,  2956,  2957,  2961,  2962,  2966,  2967,  2968,
1323     2969,  2970,  2971,  2972,  2973,  2974,  2975,  2976,  2977,  2978,
1324     2979,  2980,  2981,  2985,  2986,  2987,  2988,  2989,  2990,  2991,
1325     2992,  2996,  2997,  2998,  2999,  3003,  3004,  3005,  3006,  3007,
1326     3011,  3012,  3013,  3014,  3015,  3019,  3020,  3022,  3024,  3026,
1327     3031,  3032,  3034,  3036,  3041,  3042,  3043,  3044,  3048,  3049,
1328     3050,  3051,  3055,  3056,  3057,  3058,  3062,  3063,  3064,  3065,
1329     3069,  3070,  3071,  3072,  3076,  3077,  3078,  3094,  3095,  3096,
1330     3097,  3110,  3126,  3127,  3132,  3133,  3137,  3138,  3139,  3140,
1331     3143,  3144,  3148,  3149,  3150,  3154,  3158,  3162,  3163,  3164,
1332     3165,  3166,  3175,  3184,  3185,  3186,  3187,  3191,  3192,  3196,
1333     3197,  3202,  3203,  3204,  3205,  3206,  3207,  3226,  3227,  3231,
1334     3232,  3233,  3234,  3235,  3236,  3238,  3239,  3240,  3241,  3245,
1335     3246,  3247,  3248,  3249,  3251,  3252,  3253,  3257,  3258,  3259,
1336     3260,  3261,  3262,  3266,  3267,  3268,  3273,  3274,  3275,  3276,
1337     3277,  3278,  3279,  3280,  3281,  3282,  3283,  3284,  3285,  3289,
1338     3290,  3291,  3292,  3293,  3294,  3295,  3299,  3300,  3304,  3305,
1339     3306,  3310,  3311,  3312,  3313,  3315,  3316,  3317,  3319,  3320,
1340     3321,  3322,  3324,  3325,  3326,  3330,  3331,  3332,  3333,  3334,
1341     3338,  3339,  3340,  3341,  3342,  3343,  3344,  3348,  3349,  3350,
1342     3354,  3355,  3359,  3360,  3361,  3362,  3366,  3367,  3368,  3370,
1343     3371,  3372,  3376,  3380,  3381,  3383,  3384,  3385,  3389,  3390,
1344     3391,  3392,  3396,  3397,  3401,  3402,  3403,  3407,  3408,  3409,
1345     3410,  3411,  3412,  3413,  3417,  3418,  3419,  3420,  3424,  3425,
1346     3426,  3427,  3431,  3435,  3439,  3441,  3444,  3450,  3451,  3452,
1347     3456,  3457,  3458,  3459,  3460,  3461,  3465,  3466,  3470,  3471,
1348     3472,  3474,  3475,  3477,  3478,  3479,  3480,  3481,  3483,  3484,
1349     3488,  3489,  3490,  3491,  3495,  3496,  3497,  3498,  3500,  3501,
1350     3502,  3503,  3504,  3505,  3506,  3509,  3513,  3514,  3518,  3519,
1351     3523,  3524,  3525,  3526,  3527,  3528,  3529,  3530,  3534,  3535,
1352     3536,  3537,  3543,  3544,  3546,  3547,  3550,  3551,  3554,  3555,
1353     3556,  3557,  3558,  3559,  3563,  3564,  3576,  3577,  3580,  3583,
1354     3585,  3586,  3587,  3597,  3599,  3600,  3602,  3603,  3604,  3605,
1355     3615,  3616,  3617,  3618,  3619,  3620,  3624,  3625,  3633,  3635,
1356     3636,  3638,  3640,  3644,  3645,  3646,  3647,  3648,  3652,  3653,
1357     3654,  3656,  3661,  3662,  3663,  3667,  3668,  3669,  3673,  3677,
1358     3678,  3679,  3683,  3684,  3688,  3689,  3693,  3694,  3695,  3696,
1359     3700,  3704,  3708,  3712
1360 };
1361 #endif
1362
1363 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1364 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1365    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1366 static const char *const yytname[] =
1367 {
1368   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1369   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1370   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1371   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1372   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1373   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1374   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1375   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1376   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1377   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1378   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1379   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1380   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1381   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1382   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1383   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1384   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1385   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1386   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "'*'",
1387   "'<'", "'>'", "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'",
1388   "'.'", "':'", "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'",
1389   "'%'", "'^'", "'|'", "'?'", "$accept", "guess_type", "type",
1390   "base_strict_type", "base_strict_type_name", "strict_type",
1391   "class_function_definition_start",
1392   "constructor_function_definition_start",
1393   "destructor_function_definition_start",
1394   "virtual_class_function_definition_start",
1395   "class_function_definition_start_error",
1396   "virtual_class_function_definition_start_error",
1397   "class_function_definition", "class_function_definition_error",
1398   "instance_class_function_definition_start",
1399   "instance_class_function_definition_start_error",
1400   "instance_class_function_definition",
1401   "instance_class_function_definition_error", "data_member_initialization",
1402   "data_member_initialization_error", "data_member_initialization_list",
1403   "data_member_initialization_list_error",
1404   "data_member_initialization_list_coloned",
1405   "members_initialization_list_coloned", "members_initialization_list",
1406   "members_initialization_list_error", "instantiation_named",
1407   "instantiation_named_error", "guess_instantiation_named",
1408   "guess_instantiation_named_error", "external_guess_instantiation_named",
1409   "instantiation_unnamed", "instantiation_unnamed_error",
1410   "instantiation_anon", "instantiation_anon_error", "default_property",
1411   "default_property_error", "default_property_list",
1412   "default_property_list_error", "property_start", "property_body",
1413   "property", "class_property_start", "class_property_body",
1414   "class_property", "watch_property_list", "property_watch",
1415   "property_watch_list", "self_watch_definition", "watch_definition",
1416   "stopwatching", "firewatchers", "struct_declaration",
1417   "struct_declaration_error", "struct_declaration_list",
1418   "struct_declaration_list_error", "template_datatype",
1419   "template_type_argument", "template_type_parameter",
1420   "template_identifier_argument", "template_identifier_parameter",
1421   "template_expression_argument", "template_expression_parameter",
1422   "template_parameter", "template_parameters_list", "template_argument",
1423   "template_arguments_list", "class_entry", "class_decl", "class",
1424   "class_head", "class_error", "identifier", "primary_expression",
1425   "i18n_string", "simple_primary_expression",
1426   "anon_instantiation_expression", "anon_instantiation_expression_error",
1427   "primary_expression_error", "postfix_expression",
1428   "simple_postfix_expression", "argument_expression_list",
1429   "argument_expression_list_error", "common_unary_expression",
1430   "unary_expression", "simple_unary_expression", "unary_operator",
1431   "cast_expression", "multiplicative_expression", "additive_expression",
1432   "shift_expression", "relational_expression_smaller_than",
1433   "relational_expression", "equality_expression", "and_expression",
1434   "exclusive_or_expression", "inclusive_or_expression",
1435   "logical_and_expression", "logical_or_expression",
1436   "conditional_expression", "assignment_expression", "assignment_operator",
1437   "expression", "expression_anon_inst", "postfix_expression_error",
1438   "simple_postfix_expression_error", "common_unary_expression_error",
1439   "unary_expression_error", "simple_unary_expression_error",
1440   "cast_expression_error", "multiplicative_expression_error",
1441   "additive_expression_error", "shift_expression_error",
1442   "relational_expression_error", "equality_expression_error",
1443   "and_expression_error", "exclusive_or_expression_error",
1444   "inclusive_or_expression_error", "logical_and_expression_error",
1445   "logical_or_expression_error", "conditional_expression_error",
1446   "assignment_expression_error", "expression_error",
1447   "expression_anon_inst_error", "constant_expression",
1448   "constant_expression_error", "storage_class_specifier",
1449   "external_storage_class_specifier", "enumerator", "enumerator_list",
1450   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1451   "enum_specifier_compound_error", "enum_decl", "enum_class",
1452   "enum_class_error", "class_specifier", "class_specifier_error",
1453   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1454   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1455   "struct_entry", "struct_or_union_specifier_compound",
1456   "struct_or_union_specifier_compound_error",
1457   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1458   "struct_class", "struct_class_error", "struct_or_union",
1459   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1460   "declaration_specifiers", "guess_declaration_specifiers",
1461   "external_guess_declaration_specifiers",
1462   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1463   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1464   "new_specifiers", "identifier_list_error", "identifier_list",
1465   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1466   "direct_declarator_function_start", "direct_declarator_function",
1467   "direct_declarator_function_error", "direct_declarator",
1468   "direct_declarator_function_start_type_ok",
1469   "direct_declarator_function_type_ok",
1470   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1471   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1472   "attrib", "direct_abstract_declarator",
1473   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1474   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1475   "declarator_function", "declarator_function_error",
1476   "declarator_function_type_ok", "declarator_function_error_type_ok",
1477   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1478   "initializer_condition", "initializer_condition_error",
1479   "initializer_list", "init_declarator", "init_declarator_error",
1480   "init_declarator_list", "init_declarator_list_error", "type_name",
1481   "guess_type_name", "parameter_declaration",
1482   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1483   "parameter_type_list", "parameter_type_list_error", "statement",
1484   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1485   "labeled_statement", "labeled_statement_error", "declaration_mode",
1486   "member_access", "declaration", "external_guess_declaration",
1487   "external_guess_declaration_error", "declaration_error",
1488   "declaration_list", "declaration_list_error", "statement_list",
1489   "statement_list_error", "compound_inside", "compound_inside_error",
1490   "compound_start", "compound_statement", "compound_statement_error",
1491   "expression_statement", "selection_statement",
1492   "selection_statement_error", "iteration_statement",
1493   "iteration_statement_error", "jump_statement", "jump_statement_error",
1494   "function_definition", "function_definition_error", "string_literal",
1495   "external_declaration", "external_declaration_error",
1496   "translation_unit_error", "translation_unit", "thefile",
1497   "dbtable_definition", "dbfield_entry", "dbindex_item",
1498   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1499   "database_open", "dbfield", "dbindex", "dbtable", 0
1500 };
1501 #endif
1502
1503 # ifdef YYPRINT
1504 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1505    token YYLEX-NUM.  */
1506 static const yytype_uint16 yytoknum[] =
1507 {
1508        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1509      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1510      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1511      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1512      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1513      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1514      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1515      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1516      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1517      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1518      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1519      365,   366,    42,    60,    62,    40,    41,   126,    59,    61,
1520       44,   125,   123,    46,    58,    36,    91,    93,    38,    43,
1521       45,    33,    47,    37,    94,   124,    63
1522 };
1523 # endif
1524
1525 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1526 static const yytype_uint16 yyr1[] =
1527 {
1528        0,   137,   138,   138,   139,   139,   140,   141,   142,   142,
1529      142,   143,   143,   144,   145,   146,   146,   147,   147,   148,
1530      148,   149,   149,   149,   149,   149,   149,   150,   150,   150,
1531      150,   150,   151,   151,   152,   153,   154,   154,   154,   155,
1532      155,   156,   156,   156,   157,   157,   157,   158,   158,   158,
1533      158,   158,   158,   159,   159,   160,   160,   160,   160,   160,
1534      160,   160,   160,   160,   161,   161,   161,   161,   162,   162,
1535      162,   162,   162,   162,   162,   163,   163,   164,   164,   164,
1536      164,   164,   165,   165,   166,   166,   166,   166,   166,   167,
1537      167,   167,   168,   168,   169,   169,   169,   169,   169,   169,
1538      169,   169,   169,   169,   170,   170,   171,   171,   171,   171,
1539      171,   172,   173,   173,   173,   174,   174,   174,   175,   175,
1540      175,   175,   176,   176,   176,   176,   176,   177,   177,   177,
1541      177,   177,   177,   178,   179,   179,   179,   179,   179,   180,
1542      180,   180,   181,   182,   182,   183,   183,   184,   184,   185,
1543      186,   186,   187,   187,   187,   187,   188,   188,   188,   188,
1544      189,   189,   189,   189,   189,   189,   189,   189,   189,   189,
1545      189,   189,   189,   189,   190,   190,   190,   190,   190,   190,
1546      190,   190,   190,   190,   190,   190,   190,   190,   190,   190,
1547      190,   190,   190,   190,   190,   191,   191,   191,   192,   192,
1548      192,   192,   192,   193,   193,   193,   194,   195,   195,   195,
1549      195,   195,   195,   195,   195,   196,   197,   197,   198,   199,
1550      199,   200,   200,   200,   201,   201,   202,   202,   202,   202,
1551      202,   202,   202,   202,   202,   203,   203,   204,   205,   205,
1552      205,   205,   205,   205,   205,   205,   206,   206,   206,   206,
1553      206,   206,   207,   208,   208,   208,   208,   208,   208,   209,
1554      210,   210,   211,   211,   211,   212,   212,   212,   212,   212,
1555      212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
1556      212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
1557      212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
1558      213,   214,   215,   215,   216,   216,   216,   216,   216,   216,
1559      216,   216,   216,   216,   216,   216,   216,   216,   216,   216,
1560      216,   216,   217,   217,   217,   217,   217,   217,   217,   217,
1561      217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1562      218,   218,   218,   218,   219,   219,   219,   219,   219,   220,
1563      220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1564      220,   221,   221,   222,   222,   223,   223,   223,   223,   223,
1565      223,   223,   223,   224,   224,   225,   225,   225,   225,   225,
1566      225,   225,   226,   226,   226,   226,   226,   227,   227,   227,
1567      227,   227,   228,   229,   229,   229,   229,   229,   229,   229,
1568      229,   229,   230,   230,   230,   230,   230,   230,   230,   230,
1569      230,   231,   231,   231,   231,   231,   232,   232,   232,   232,
1570      232,   233,   233,   233,   233,   233,   234,   234,   234,   235,
1571      235,   235,   236,   236,   236,   236,   236,   236,   236,   236,
1572      236,   236,   236,   236,   236,   236,   236,   236,   236,   237,
1573      237,   237,   237,   237,   237,   237,   237,   237,   238,   238,
1574      238,   238,   238,   238,   238,   238,   238,   238,   238,   239,
1575      239,   239,   239,   240,   240,   240,   241,   241,   241,   241,
1576      241,   241,   241,   241,   241,   241,   241,   242,   242,   242,
1577      242,   242,   242,   242,   242,   242,   242,   243,   243,   243,
1578      243,   243,   243,   243,   243,   243,   243,   243,   243,   244,
1579      244,   245,   245,   246,   246,   247,   247,   247,   247,   247,
1580      247,   247,   248,   248,   248,   248,   248,   249,   249,   249,
1581      249,   249,   250,   250,   250,   250,   250,   250,   250,   250,
1582      250,   251,   251,   251,   251,   251,   251,   251,   251,   251,
1583      252,   252,   252,   252,   252,   253,   253,   253,   253,   253,
1584      254,   254,   254,   254,   254,   255,   255,   255,   256,   256,
1585      256,   257,   257,   257,   257,   257,   257,   257,   257,   257,
1586      257,   257,   257,   257,   257,   257,   257,   257,   257,   257,
1587      257,   257,   257,   257,   257,   257,   257,   257,   257,   257,
1588      258,   258,   258,   258,   258,   259,   259,   259,   259,   259,
1589      259,   259,   260,   260,   260,   260,   261,   262,   263,   263,
1590      263,   263,   263,   264,   264,   264,   264,   264,   265,   265,
1591      265,   266,   266,   266,   267,   268,   268,   269,   269,   269,
1592      270,   270,   270,   270,   270,   270,   270,   270,   270,   270,
1593      270,   270,   271,   271,   272,   272,   272,   273,   273,   273,
1594      273,   273,   273,   273,   273,   273,   273,   273,   273,   273,
1595      273,   273,   273,   274,   274,   275,   275,   276,   277,   277,
1596      277,   278,   278,   279,   279,   279,   279,   279,   279,   279,
1597      279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
1598      279,   279,   279,   279,   279,   280,   280,   280,   280,   280,
1599      280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
1600      280,   280,   280,   280,   280,   281,   281,   281,   281,   281,
1601      281,   281,   281,   281,   281,   282,   282,   283,   283,   283,
1602      283,   284,   284,   284,   284,   285,   285,   285,   285,   285,
1603      285,   285,   285,   285,   286,   287,   287,   288,   289,   289,
1604      289,   289,   290,   290,   290,   290,   290,   290,   290,   290,
1605      290,   291,   291,   292,   292,   292,   292,   292,   292,   292,
1606      292,   293,   293,   293,   293,   293,   293,   293,   293,   293,
1607      293,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1608      294,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1609      295,   295,   295,   296,   296,   296,   296,   296,   296,   296,
1610      296,   296,   296,   297,   297,   298,   298,   298,   298,   298,
1611      298,   298,   298,   298,   298,   298,   298,   299,   299,   300,
1612      300,   300,   300,   300,   300,   300,   300,   300,   300,   301,
1613      301,   301,   301,   301,   301,   301,   301,   301,   301,   301,
1614      301,   301,   301,   302,   302,   302,   302,   302,   302,   302,
1615      302,   302,   302,   302,   302,   302,   302,   303,   303,   304,
1616      304,   304,   304,   304,   305,   305,   305,   305,   305,   305,
1617      305,   305,   305,   305,   305,   306,   306,   306,   306,   306,
1618      306,   306,   306,   306,   307,   308,   308,   308,   308,   308,
1619      309,   309,   309,   309,   310,   310,   311,   312,   312,   312,
1620      312,   312,   313,   313,   313,   313,   314,   314,   315,   315,
1621      315,   315,   316,   316,   316,   317,   317,   317,   317,   317,
1622      318,   318,   319,   319,   319,   320,   320,   321,   321,   321,
1623      321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1624      321,   321,   321,   322,   322,   322,   322,   322,   322,   322,
1625      322,   323,   323,   323,   323,   324,   324,   324,   324,   324,
1626      325,   325,   325,   325,   325,   326,   326,   326,   326,   326,
1627      327,   327,   327,   327,   328,   328,   328,   328,   329,   329,
1628      329,   329,   330,   330,   330,   330,   331,   331,   331,   331,
1629      332,   332,   332,   332,   333,   333,   333,   334,   334,   334,
1630      334,   334,   335,   335,   336,   336,   337,   337,   337,   337,
1631      337,   337,   338,   338,   338,   339,   339,   340,   340,   340,
1632      340,   340,   340,   341,   341,   341,   341,   342,   342,   343,
1633      343,   344,   344,   344,   344,   344,   344,   345,   345,   346,
1634      346,   346,   346,   346,   346,   346,   346,   346,   346,   347,
1635      347,   347,   347,   347,   347,   347,   347,   348,   348,   348,
1636      348,   348,   348,   349,   349,   349,   350,   350,   350,   350,
1637      350,   350,   350,   350,   350,   350,   350,   350,   350,   351,
1638      351,   351,   351,   351,   351,   351,   352,   352,   353,   353,
1639      353,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1640      354,   354,   354,   354,   354,   355,   355,   355,   355,   355,
1641      356,   356,   356,   356,   356,   356,   356,   357,   357,   357,
1642      358,   358,   359,   359,   359,   359,   360,   360,   360,   360,
1643      360,   360,   361,   362,   362,   362,   362,   362,   363,   363,
1644      363,   363,   364,   364,   365,   365,   365,   366,   366,   366,
1645      366,   366,   366,   366,   367,   367,   367,   367,   368,   368,
1646      368,   368,   369,   370,   371,   371,   371,   372,   372,   372,
1647      373,   373,   373,   373,   373,   373,   374,   374,   375,   375,
1648      375,   375,   375,   375,   375,   375,   375,   375,   375,   375,
1649      376,   376,   376,   376,   376,   376,   376,   376,   376,   376,
1650      376,   376,   376,   376,   376,   376,   376,   376,   376,   376,
1651      377,   377,   377,   377,   377,   377,   377,   377,   378,   378,
1652      378,   378,   379,   379,   379,   379,   379,   379,   380,   380,
1653      380,   380,   380,   380,   381,   381,   382,   382,   382,   382,
1654      382,   382,   382,   382,   382,   382,   382,   382,   382,   382,
1655      382,   382,   382,   382,   382,   382,   383,   383,   383,   383,
1656      383,   383,   383,   384,   384,   384,   384,   384,   385,   385,
1657      385,   385,   386,   386,   386,   387,   387,   387,   388,   389,
1658      389,   389,   390,   390,   391,   391,   392,   392,   392,   392,
1659      393,   394,   395,   396
1660 };
1661
1662 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1663 static const yytype_uint8 yyr2[] =
1664 {
1665        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1666        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1667        2,     2,     2,     2,     2,     2,     2,     2,     1,     2,
1668        1,     2,     2,     2,     2,     2,     2,     1,     1,     3,
1669        1,     3,     3,     1,     1,     3,     3,     1,     3,     3,
1670        3,     3,     1,     2,     2,     1,     1,     2,     2,     2,
1671        2,     1,     2,     2,     1,     1,     2,     2,     1,     2,
1672        2,     2,     2,     1,     2,     2,     3,     4,     5,     4,
1673        3,     4,     2,     3,     4,     5,     4,     3,     4,     5,
1674        5,     4,     2,     3,     3,     3,     3,     2,     4,     3,
1675        3,     2,     4,     3,     2,     3,     2,     3,     2,     1,
1676        2,     3,     3,     3,     2,     1,     3,     3,     1,     3,
1677        3,     2,     4,     5,     3,     4,     3,     1,     3,     3,
1678        3,     2,     3,     2,     4,     5,     3,     4,     3,     1,
1679        3,     3,     2,     1,     2,     2,     2,     1,     2,     5,
1680        7,     9,     6,     8,     4,     6,     1,     2,     3,     4,
1681        2,     2,     1,     1,     2,     2,     1,     1,     1,     1,
1682        7,     1,     2,     4,     1,     1,     2,     3,     2,     2,
1683        2,     3,     1,     2,     2,     2,     1,     1,     1,     2,
1684        2,     2,     3,     3,     1,     1,     2,     2,     1,     2,
1685        2,     2,     2,     1,     2,     1,     1,     2,     4,     4,
1686        6,     2,     4,     4,     6,     1,     1,     3,     1,     2,
1687        4,     1,     1,     1,     1,     3,     1,     1,     1,     3,
1688        3,     3,     3,     3,     3,     1,     3,     1,     2,     2,
1689        3,     3,     5,     5,     6,     6,     2,     2,     3,     3,
1690        3,     3,     3,     3,     3,     3,     3,     3,     3,     1,
1691        1,     3,     1,     2,     4,     1,     1,     4,     4,     5,
1692        8,     1,     1,     2,     6,     6,     5,     5,     6,     6,
1693        5,     5,     7,     7,     6,     6,     7,     7,     6,     6,
1694        4,     5,     4,     6,     4,     1,     1,     1,     1,     3,
1695        1,     2,     2,     2,     1,     4,     4,     3,     4,     4,
1696        3,     3,     2,     2,     4,     4,     3,     4,     3,     3,
1697        2,     2,     1,     4,     4,     3,     4,     4,     3,     3,
1698        2,     2,     4,     4,     3,     4,     3,     3,     2,     2,
1699        1,     1,     3,     3,     1,     1,     3,     3,     2,     2,
1700        2,     2,     2,     4,     2,     4,     5,     5,     4,     2,
1701        4,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1702        1,     1,     1,     1,     4,     1,     3,     3,     3,     3,
1703        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1704        3,     3,     2,     1,     2,     3,     3,     3,     3,     3,
1705        3,     3,     1,     3,     3,     3,     3,     3,     3,     3,
1706        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1707        3,     1,     3,     3,     3,     3,     1,     3,     3,     1,
1708        3,     3,     1,     5,     5,     5,     5,     5,     5,     5,
1709        5,     5,     5,     5,     5,     5,     5,     5,     5,     1,
1710        3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
1711        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1712        3,     3,     2,     1,     3,     3,     1,     1,     2,     2,
1713        3,     3,     3,     3,     3,     3,     3,     1,     2,     2,
1714        3,     3,     3,     3,     3,     3,     3,     2,     2,     2,
1715        2,     3,     2,     5,     6,     6,     3,     2,     5,     1,
1716        1,     1,     1,     1,     4,     1,     3,     3,     3,     3,
1717        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1718        3,     3,     1,     2,     3,     3,     3,     3,     3,     3,
1719        3,     1,     3,     3,     3,     3,     3,     3,     3,     3,
1720        1,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1721        1,     3,     3,     3,     3,     1,     3,     3,     1,     3,
1722        3,     1,     5,     5,     5,     5,     4,     4,     4,     4,
1723        5,     5,     5,     5,     4,     4,     4,     4,     5,     5,
1724        5,     5,     5,     5,     5,     5,     3,     3,     2,     2,
1725        1,     3,     3,     3,     3,     1,     2,     3,     3,     2,
1726        2,     2,     1,     2,     3,     3,     1,     1,     1,     1,
1727        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1728        3,     1,     3,     2,     1,     2,     2,     2,     4,     4,
1729        3,     3,     4,     5,     4,     6,     6,     4,     5,     4,
1730        6,     6,     2,     2,     2,     5,     3,     5,     6,     5,
1731        7,     7,     8,     8,     7,     7,     3,     3,     3,     4,
1732        3,     5,     5,     1,     1,     1,     1,     1,     1,     1,
1733        1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
1734        1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
1735        4,     4,     1,     1,     1,     1,     1,     1,     1,     1,
1736        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1737        1,     4,     4,     4,     1,     1,     2,     2,     3,     5,
1738        2,     3,     5,     5,     5,     1,     3,     2,     2,     3,
1739        3,     2,     3,     3,     4,     3,     3,     3,     3,     3,
1740        3,     4,     4,     4,     1,     1,     4,     3,     2,     3,
1741        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1742        3,     1,     1,     1,     2,     1,     2,     1,     2,     1,
1743        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1744        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1745        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1746        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1747        2,     1,     2,     1,     2,     1,     1,     1,     2,     1,
1748        2,     1,     2,     1,     2,     4,     5,     1,     1,     1,
1749        2,     1,     2,     1,     2,     1,     2,     4,     5,     1,
1750        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1751        2,     4,     5,     1,     2,     1,     2,     1,     2,     1,
1752        2,     1,     2,     1,     2,     4,     5,     3,     3,     1,
1753        3,     3,     3,     3,     1,     1,     1,     4,     4,     4,
1754        3,     4,     4,     4,     3,     1,     3,     4,     3,     4,
1755        4,     4,     4,     3,     2,     3,     3,     3,     3,     2,
1756        2,     2,     3,     4,     1,     1,     2,     3,     3,     3,
1757        3,     2,     2,     2,     3,     4,     1,     1,     1,     1,
1758        1,     4,     1,     1,     1,     1,     1,     1,     1,     1,
1759        1,     4,     1,     2,     3,     6,     5,     3,     4,     2,
1760        3,     3,     3,     3,     4,     4,     4,     2,     3,     3,
1761        3,     4,     4,     3,     4,     2,     3,     3,     3,     4,
1762        4,     1,     2,     2,     3,     1,     1,     2,     2,     3,
1763        1,     1,     2,     2,     3,     1,     2,     3,     2,     2,
1764        1,     2,     3,     2,     1,     2,     3,     3,     1,     2,
1765        3,     3,     1,     2,     3,     3,     1,     2,     3,     3,
1766        1,     2,     3,     3,     1,     3,     4,     1,     4,     2,
1767        5,     3,     1,     1,     1,     1,     1,     1,     3,     3,
1768        2,     2,     1,     1,     3,     2,     3,     1,     3,     3,
1769        3,     3,     3,     1,     2,     3,     3,     1,     2,     1,
1770        2,     2,     2,     2,     3,     1,     1,     3,     3,     1,
1771        3,     4,     3,     4,     3,     3,     4,     3,     4,     1,
1772        3,     3,     4,     3,     3,     3,     4,     1,     3,     3,
1773        3,     3,     3,     1,     3,     2,     1,     1,     1,     1,
1774        1,     2,     1,     1,     1,     1,     2,     2,     2,     1,
1775        1,     1,     1,     1,     2,     1,     1,     4,     1,     3,
1776        0,     6,     8,    10,    12,     8,    10,    10,     5,     7,
1777        9,    11,     7,     9,     9,     3,     4,     4,     3,     3,
1778        3,     4,     4,     3,     2,     3,     2,     1,     1,     1,
1779        1,     1,     2,     3,     2,     2,     2,     3,     3,     2,
1780        5,     6,     2,     2,     2,     2,     2,     2,     1,     2,
1781        2,     3,     1,     2,     1,     2,     2,     1,     2,     2,
1782        2,     2,     2,     2,     1,     1,     2,     2,     1,     1,
1783        2,     2,     1,     2,     2,     1,     2,     1,     2,     2,
1784        5,     5,     7,     7,     5,     5,     3,     2,     5,     4,
1785        4,     7,     6,     6,     5,     7,     6,     4,     7,     9,
1786        3,     4,     4,     5,     5,     6,     7,     6,     6,     5,
1787        5,     4,     3,     2,     1,     2,     4,     3,     5,     4,
1788        3,     2,     2,     2,     3,     3,     3,     3,     2,     2,
1789        1,     1,     4,     3,     4,     3,     3,     2,     4,     3,
1790        4,     3,     3,     2,     1,     2,     1,     1,     2,     1,
1791        2,     3,     3,     1,     2,     2,     2,     3,     4,     4,
1792        2,     2,     2,     2,     1,     2,     1,     2,     1,     2,
1793        2,     1,     2,     1,     2,     2,     2,     2,     1,     2,
1794        2,     3,     1,     1,     0,     6,     6,     5,     4,     1,
1795        2,     2,     1,     3,     3,     4,     1,     1,     2,     2,
1796        6,     6,     6,     4
1797 };
1798
1799 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1800    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1801    means the default is an error.  */
1802 static const yytype_uint16 yydefact[] =
1803 {
1804     1294,   259,     6,   623,   624,   625,   626,   627,   684,   685,
1805      686,   687,   688,   690,   693,   694,   691,   692,   678,   679,
1806      683,   689,   771,   772,   634,  1139,   237,   702,   928,   929,
1807        0,     0,   932,  1137,  1138,   703,   704,   695,     0,     0,
1808        0,     0,     0,   933,   934,   971,     0,  1263,   819,   698,
1809        8,     4,     0,     0,     0,  1257,     0,  1276,   895,   813,
1810        0,   697,     0,   673,   675,   821,   823,   680,   815,   817,
1811      754,   696,     0,     0,   674,   676,     0,     0,     0,     0,
1812        0,   994,   677,     0,   930,     0,     0,     0,  1259,  1281,
1813     1256,  1278,  1288,  1283,     0,     0,     0,  1274,     0,  1271,
1814     1254,     0,     0,  1260,     0,     0,     0,     0,  1273,  1272,
1815        0,   681,   972,   677,   973,   886,   885,   895,   927,   884,
1816      914,   985,     0,   926,   990,     0,     0,     0,     0,     0,
1817        0,  1149,     0,   239,   238,     0,     0,   247,     0,   246,
1818        2,     3,     0,     5,     0,   636,   635,     0,     0,   654,
1819        0,     0,     0,     0,   758,     0,   738,   737,     0,  1152,
1820      625,   687,   688,  1146,   820,     8,  1258,  1277,   895,   814,
1821      822,   824,   816,   818,   994,  1002,   677,     0,     0,  1033,
1822        0,     0,     0,  1043,     0,     0,   886,     0,   885,     0,
1823        0,   904,     0,     0,   618,   619,   620,   621,   622,  1056,
1824      909,   807,   879,   801,     0,   811,     0,   803,   805,   754,
1825      809,     0,     0,  1055,     0,     0,  1059,  1069,     0,     0,
1826        0,     0,     0,     0,   995,     0,   706,   707,   708,   709,
1827      710,   712,   715,   716,   713,   714,   705,   711,   724,   717,
1828        0,     0,  1182,   720,     0,     0,   791,   719,   797,   793,
1829      795,   799,   718,     0,  1158,     0,     0,     0,     0,  1247,
1830     1253,   625,     0,  1270,  1265,  1279,     0,  1266,  1282,  1264,
1831     1280,  1275,  1287,  1290,     0,     0,     0,     0,     0,  1285,
1832     1286,  1289,  1284,     1,     0,  1261,  1262,  1255,     0,     0,
1833      477,   271,     0,     0,     0,     0,     0,     0,   371,   372,
1834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1835      366,     0,   369,     0,     0,   365,   367,   368,   370,     0,
1836      266,     0,   265,   304,   272,   260,   476,     0,   361,   373,
1837        0,   375,   382,   387,   393,     0,   402,   411,   416,   421,
1838      426,   429,   432,   449,     0,   510,   509,   513,   515,   522,
1839      527,   532,   541,   550,   555,   560,   565,   568,   571,     0,
1840      262,   295,   296,   297,   298,     0,     0,     0,     0,     0,
1841      682,   974,     0,   916,     0,   921,     0,     0,     0,     0,
1842        0,     0,     0,   927,   986,   991,     0,   896,   988,   898,
1843      993,   989,   717,   720,   206,   228,   227,   226,   235,     0,
1844      265,   373,   432,   616,   513,     0,   218,   203,   251,     0,
1845        0,   250,   257,     0,     0,  1140,  1141,   695,     0,   167,
1846        0,   168,   169,     0,     0,     0,     0,     0,   171,   248,
1847        4,     0,     0,     0,     0,    28,    30,   162,   174,   187,
1848        0,   186,     0,   115,   118,     0,   194,   127,     0,   163,
1849      139,     0,   166,   182,   195,   198,     0,     0,   265,     0,
1850        0,   175,     0,   998,   677,     0,    12,    18,     0,   826,
1851      825,   833,   827,     0,   829,   831,   754,   838,   837,   252,
1852      258,   249,     0,     0,   241,   240,   667,   628,   631,   666,
1853      670,   656,     0,     0,     0,     0,   221,   222,   223,   224,
1854        0,   216,   767,   760,     0,     0,   757,   764,   759,     0,
1855        0,   770,   761,     0,     0,   740,   739,     0,     0,     0,
1856        0,     0,   995,  1003,     0,  1035,     0,     0,  1243,  1249,
1857        0,  1245,  1251,  1044,  1147,     0,     0,     0,  1148,   903,
1858        0,   265,   617,     0,     0,     0,     0,   636,   635,   637,
1859        0,   741,     0,     0,   687,     0,     0,  1053,   808,     8,
1860      895,   802,   812,   804,   806,   810,   927,   884,   677,   976,
1861      975,     0,     0,     0,   908,     0,     0,   907,     0,     0,
1862        0,  1085,     0,   905,   906,   996,     0,   997,     0,     0,
1863     1156,  1144,  1155,    75,  1153,   709,   710,  1142,   895,   792,
1864      798,   794,   796,   800,   677,     0,  1157,  1154,  1145,     0,
1865     1159,     0,  1246,  1252,  1160,     0,     0,     0,     0,     0,
1866        0,     0,     0,  1241,     0,     0,     0,     0,     0,     0,
1867      156,  1089,  1090,     0,     0,     0,   265,     0,   373,     0,
1868        0,   513,   600,   605,     0,  1087,  1164,  1167,  1095,  1086,
1869     1099,     0,     0,     0,     0,  1186,  1184,  1088,  1101,     0,
1870     1102,  1093,  1100,     0,  1103,  1183,     0,     0,  1267,   895,
1871        0,     0,     0,  1277,     0,   884,  1002,   677,     0,     0,
1872        0,     0,  1253,  1291,     0,     0,     0,   931,   487,     0,
1873        0,   322,     0,   363,   354,   512,   511,   502,     0,   349,
1874      497,   350,   498,     0,   873,   863,   871,   865,   867,   869,
1875        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1876        0,     0,   359,   507,   273,     0,     0,     0,   777,   773,
1877      775,   779,  1047,     0,   263,     0,   300,     0,   341,     0,
1878      340,     0,   479,    92,     0,   478,     0,   312,   313,     0,
1879        0,     0,   459,   460,   461,   462,   463,   464,   465,   466,
1880      467,   468,   458,     0,     0,   352,   500,   351,   499,     0,
1881        0,     0,     0,     0,     0,     0,   394,   533,     0,     0,
1882      392,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1883        0,   699,     0,   320,   321,     0,     0,     0,     0,     0,
1884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1885        0,     0,     0,     0,     0,     0,     0,     0,     0,   700,
1886      701,     0,     0,     0,  1306,  1307,     0,     0,     0,   890,
1887        0,     0,     0,   894,     0,     0,     0,   920,   919,   917,
1888      918,   927,   986,   991,   897,   899,  1013,     0,    10,     9,
1889        0,     0,     0,     0,     0,   677,   975,   204,     0,   206,
1890        0,   265,     0,     0,   845,   839,   841,   843,     0,     0,
1891        0,    16,    20,     0,   184,   183,   185,     0,     0,     0,
1892        0,   366,     0,   265,     0,    26,    21,    27,    24,     0,
1893       25,    23,    22,    29,    31,   189,    82,   190,   121,   161,
1894        0,     0,     0,     0,   131,     0,     0,   133,     0,     0,
1895      142,   160,   199,   196,   201,   200,   197,   202,   114,     0,
1896        0,     0,   895,   735,   176,  1010,     0,  1006,   677,     0,
1897       11,    17,   725,   911,  1055,     0,     0,     0,   999,     0,
1898        0,   172,   164,   191,   180,     0,   179,     0,   165,   895,
1899      178,     0,   636,   635,   834,   828,   830,   832,     0,     0,
1900        0,   633,   669,     0,     0,     7,   211,   207,   219,   756,
1901        0,     0,  1032,  1039,  1040,  1041,    61,    52,    91,    38,
1902       37,    56,    68,    44,    47,     0,    73,    55,     0,     0,
1903        0,  1023,  1025,     0,  1022,  1024,     0,    40,    43,   927,
1904      996,   987,  1004,   992,  1013,  1005,     0,  1014,  1017,  1034,
1905     1036,  1242,  1248,  1244,  1250,  1038,  1045,  1042,  1046,   902,
1906      900,   901,  1082,  1064,  1073,   641,   640,     0,     0,   477,
1907      742,     0,     0,   477,   743,     0,     0,     0,   957,   895,
1908        0,     0,   677,   975,     0,     0,     0,   949,     0,     0,
1909        0,     0,     0,  1054,   978,     0,     0,   977,  1058,  1057,
1910        0,   878,  1081,   881,  1067,  1075,     0,   877,  1080,   880,
1911     1065,  1074,     0,  1084,  1078,   882,  1060,  1070,     0,  1079,
1912      883,  1062,  1071,   935,   936,   939,   938,   937,     0,   940,
1913      942,     0,     0,     0,     0,    76,     0,  1143,  1161,     0,
1914        0,     0,     0,     0,     0,  1225,     0,     0,     0,     0,
1915        0,     0,     0,     0,     0,     0,   265,     0,  1087,  1223,
1916     1092,  1094,     0,     0,  1231,  1232,  1233,     0,  1239,     0,
1917        0,     0,     0,     0,     0,   157,   143,  1098,  1097,  1096,
1918        0,     0,     0,   606,     0,  1091,     0,     0,     0,     0,
1919      472,     0,     0,   477,     0,     0,     0,     0,  1165,  1168,
1920     1170,     0,  1166,  1169,  1171,     0,  1197,  1104,  1268,  1269,
1921      239,   238,     0,     0,     0,  1003,     0,     0,  1249,     0,
1922     1251,  1252,     0,  1150,     0,   785,   265,     0,   501,   787,
1923      781,   783,   789,  1049,     0,   489,   488,     0,   330,   331,
1924        0,     0,     0,     0,   338,   339,     0,     0,     0,     0,
1925        0,     0,     0,     0,   874,   864,   872,   866,   868,   870,
1926      677,   981,   980,     0,   859,   849,   857,   851,   853,   855,
1927        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1928        0,     0,     0,     0,   506,     0,   261,     0,   778,   774,
1929      776,   780,  1048,     0,     0,   477,     0,     0,     0,   104,
1930        0,   299,   477,     0,     0,    93,   477,     0,     0,   480,
1931      311,   307,   345,   482,   483,   344,   484,   310,     0,     0,
1932      454,   450,   301,   376,   516,   377,   517,   378,   518,   383,
1933      523,   384,   524,   388,   528,   389,   529,   396,   535,   397,
1934      536,   395,   534,   407,   546,   403,   542,   408,   547,   404,
1935      543,   414,   553,   412,   551,   419,   558,   417,   556,   424,
1936      563,   422,   561,   427,   566,   430,   569,   596,     0,   612,
1937        0,     0,     0,     0,   456,   452,   481,   319,   316,     0,
1938      485,   486,   318,     0,     0,   455,   451,   379,   519,   380,
1939      520,   381,   521,   385,   525,   386,   526,   390,   530,   391,
1940      531,   400,   539,   401,   540,   398,   537,   399,   538,   409,
1941      548,   405,   544,   410,   549,   406,   545,   415,   554,   413,
1942      552,   420,   559,   418,   557,   425,   564,   423,   562,   428,
1943      567,   431,   570,   597,     0,     0,     0,     0,   457,   453,
1944        0,     0,  1299,  1302,     0,     0,  1297,  1308,  1309,     0,
1945        0,   889,   887,   888,   893,   891,   892,   206,   234,   233,
1946      232,   265,   236,   231,   230,   229,     0,     0,     0,     0,
1947        0,     0,     0,     0,   677,   978,   243,     0,   242,   126,
1948        0,   124,   846,   840,   842,   844,     0,   677,     0,    15,
1949       19,     0,   181,  1010,   677,     0,   138,     0,   136,   846,
1950        0,   265,   677,     0,    83,   116,   119,   117,   120,   128,
1951      129,   130,   132,   140,   141,   113,   111,   112,    13,   727,
1952      730,     0,     0,   923,  1055,     0,     0,     0,  1011,  1007,
1953        0,     0,   726,   895,   912,  1000,  1001,   895,   192,   193,
1954      177,     0,     0,     0,     0,   629,   630,   632,     0,     0,
1955      659,   655,     0,     0,     0,     0,     0,     0,   225,   217,
1956      215,     0,    35,    36,    74,    53,     0,    54,     0,    63,
1957       60,    71,    66,    72,    59,    89,    38,    69,    62,    90,
1958       58,    70,    67,     0,    57,     0,   709,    32,    34,    33,
1959     1026,  1027,     0,   649,   639,     0,   644,   638,     0,   477,
1960      744,     0,     0,     0,   975,     0,   947,   958,   959,   952,
1961      950,   951,     0,   979,   960,     0,     0,   953,     0,     0,
1962        0,  1068,  1076,  1055,  1066,  1061,  1063,  1072,   946,     0,
1963        0,     0,   943,   721,   722,   723,   477,     0,     0,  1128,
1964     1133,     0,     0,  1129,  1135,     0,     0,     0,     0,     0,
1965        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1966        0,     0,     0,     0,  1222,   477,     0,  1187,   265,     0,
1967        0,     0,  1230,  1236,  1237,  1234,  1235,     0,     0,     0,
1968        0,   144,  1125,  1130,   158,   603,   601,     0,     0,     0,
1969      470,   607,   604,   602,   471,   608,     0,  1004,  1248,  1250,
1970     1151,     0,     0,   353,   786,   788,   782,   784,   790,  1050,
1971        0,   490,   329,   325,   492,   493,   494,   328,     0,     0,
1972      491,   337,   334,     0,   495,   496,   336,     0,     0,   292,
1973      290,     0,     0,   965,   677,     0,     0,     0,     0,     0,
1974        0,   983,     0,   982,     0,     0,     0,   860,   850,   858,
1975      852,   854,   856,     0,   268,     0,   267,   294,     0,     0,
1976        0,     0,     0,     0,  1313,     0,     0,     0,   358,     0,
1977      374,   514,   264,   107,   105,   343,   342,    98,   102,   308,
1978        0,   309,   305,   306,   613,     0,     0,     0,     0,     0,
1979        0,   317,   314,   315,     0,     0,     0,     0,  1301,  1300,
1980     1304,     0,     0,     0,  1296,  1295,     0,     0,     0,     0,
1981        0,     0,     0,     0,     0,   975,   217,     0,     0,   122,
1982      125,     0,     0,     0,     0,     0,  1011,     0,   134,   137,
1983        0,    14,   477,     0,     0,   736,     0,   895,   924,  1012,
1984     1008,  1009,   728,   731,   913,   173,   835,     0,   245,   244,
1985        0,   658,     0,   212,   205,   213,   208,   209,   220,     0,
1986       50,    45,    48,    51,    46,    49,    36,    42,    39,    41,
1987        0,     0,  1030,  1031,   648,     0,   643,     0,   978,   977,
1988      948,   961,   962,   955,   954,   956,  1052,  1051,     0,   945,
1989      944,    78,  1126,  1131,  1127,  1132,     0,     0,     0,     0,
1990      477,  1200,     0,     0,  1199,  1229,     0,     0,     0,     0,
1991        0,     0,     0,     0,     0,     0,     0,  1207,     0,  1188,
1992      477,  1189,   477,     0,     0,     0,  1110,   931,  1110,     0,
1993        0,   154,     0,     0,     0,   159,     0,     0,   503,   326,
1994      327,   323,   324,   335,   332,   333,   291,   875,     0,   980,
1995        0,   963,   966,   967,   276,   277,     0,   984,   968,     0,
1996        0,     0,     0,     0,     0,     0,     0,     0,     0,   269,
1997      280,   281,     0,     0,     0,     0,     0,     0,     0,     0,
1998        0,   508,   347,   346,   474,   614,   441,   588,   433,   572,
1999      445,   592,   437,   580,   475,   615,   442,   589,   434,   573,
2000      446,   593,   438,   581,   443,   590,   435,   574,   447,   594,
2001      439,   582,   444,   591,   436,   575,   448,   595,   440,   583,
2002     1303,  1305,  1298,   847,     0,   123,   149,  1012,     0,   135,
2003       85,   925,     0,     0,   836,     0,     0,     0,     0,     0,
2004        0,     0,     0,     0,  1028,  1029,  1018,     0,     0,     0,
2005        0,   941,  1190,  1191,  1194,  1195,  1198,  1228,     0,     0,
2006        0,     0,     0,     0,     0,  1204,   477,     0,     0,     0,
2007     1108,     0,  1106,  1118,     0,  1110,     0,  1110,     0,     0,
2008        0,     0,   505,   504,   982,   964,   876,   969,   970,   274,
2009      275,   861,   284,   285,     0,     0,     0,     0,   278,   279,
2010      288,   289,     0,     0,   293,  1311,  1312,  1310,   848,     0,
2011      729,   732,   734,   733,     0,     0,   214,   210,     0,  1015,
2012     1020,     0,     0,     0,     0,     0,     0,     0,  1218,  1202,
2013        0,     0,  1203,  1215,     0,  1206,  1217,     0,     0,  1110,
2014        0,  1110,     0,  1110,     0,  1111,     0,     0,     0,   147,
2015        0,   152,     0,   155,     0,   862,   282,   283,     0,   286,
2016      287,   170,  1016,  1192,  1193,     0,     0,  1201,  1208,     0,
2017     1205,  1216,  1122,  1109,     0,     0,     0,  1119,     0,     0,
2018     1110,  1110,     0,  1110,   146,   145,   150,   148,     0,     0,
2019      374,   514,   270,     0,     0,  1107,     0,     0,  1110,  1115,
2020        0,     0,  1112,     0,     0,   153,  1209,  1123,  1124,  1120,
2021        0,     0,     0,     0,  1110,   151,     0,  1116,  1117,  1113,
2022        0,  1121,     0,  1114
2023 };
2024
2025 /* YYDEFGOTO[NTERM-NUM].  */
2026 static const yytype_int16 yydefgoto[] =
2027 {
2028       -1,   201,    49,    50,   966,   319,   431,   432,   433,   434,
2029      435,   436,   437,   438,   979,   980,   981,   982,   983,   984,
2030      985,   986,   987,   988,   989,   990,   244,   245,   439,   440,
2031       52,   320,   321,   736,   764,   443,   444,   445,   446,   447,
2032      448,   449,   450,   451,   452,  2108,  2109,  2110,   453,   633,
2033      634,   635,   454,   455,   456,   457,   394,   395,   496,   396,
2034      497,   397,   498,   499,   860,   398,   399,    53,    54,    55,
2035       56,    57,   322,   323,   324,   325,   991,   992,   326,   327,
2036      692,   739,  1274,   328,   638,   694,   330,   331,   332,   333,
2037      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
2038      725,   818,   640,  1331,   345,   695,   346,   641,   697,   348,
2039      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
2040      642,   643,  1117,  1333,   406,   544,   203,    59,   488,   489,
2041      204,    61,   205,   206,    62,    63,    64,    65,    66,    67,
2042      207,   112,   208,   250,   923,   924,   209,   210,   211,    71,
2043       72,    73,    74,    75,   212,   732,  1193,   407,   461,    77,
2044       78,   478,   479,   869,  1230,   710,  1040,  1041,   118,    79,
2045      462,    81,   463,   121,   122,   123,   927,   124,   113,    83,
2046     1089,  1090,  1091,    84,   569,  1221,   465,   571,  1223,   127,
2047      179,   466,   467,   181,   931,   129,  1009,  1551,   997,   998,
2048     1552,   182,   183,   184,   185,   733,  1194,   216,   217,   218,
2049      219,   220,   221,   646,   647,  2030,  2031,   648,   649,   650,
2050       87,   468,   254,    88,    89,   255,   256,   257,   653,   654,
2051      655,   656,   258,   657,   889,  1631,  1120,   660,   661,   662,
2052     1121,   664,    90,    91,   360,    92,    93,    94,    95,    96,
2053       97,   824,  1403,  1404,   825,   826,   361,   362,   363,   364
2054 };
2055
2056 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2057    STATE-NUM.  */
2058 #define YYPACT_NINF -1754
2059 static const int yypact[] =
2060 {
2061    36003, -1754, -1754, -1754, -1754,   536, -1754, -1754, -1754, -1754,
2062    -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754,
2063    -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754,
2064     1205,    40, -1754, -1754, -1754, -1754, -1754, -1754,   -41,   -10,
2065       31,   541,   159, -1754, -1754,  2174,  2357, -1754, -1754, -1754,
2066       36, -1754,    54,   541,  1180, -1754,    -3,   189,  1017, -1754,
2067       99, -1754,  1235, -1754,   208, -1754, -1754, -1754, -1754, -1754,
2068     1183, -1754,  1242,   175, -1754,   238,  1332, 35639,  2244,   863,
2069    36271, -1754,   265,   293, -1754,  1641, 38820, 34311, -1754, -1754,
2070    -1754, -1754, -1754, -1754, 36094, 35266,   459, -1754,    40, -1754,
2071    -1754,   159,   159,   507,   460,   159, 28012,   541, -1754, -1754,
2072      370, -1754,  2174, -1754, -1754, -1754,   408, -1754,  1053,  1276,
2073    -1754, -1754, 36360, -1754, -1754,  2357,  2177,  1262,  1822,  2316,
2074    22800, -1754,   514,   887,   546, 29079, 38283, -1754, 29198, -1754,
2075    -1754, -1754,   541, -1754,  1583,  1467,  1470,    90, 38283, -1754,
2076    38453, 29317, 38283, 29436, -1754, 29555, -1754, -1754,   541, -1754,
2077    -1754,   941,   567, -1754, -1754,  1072, -1754,   189,   660, -1754,
2078    -1754, -1754, -1754, -1754,  1146,  1845,   265,  2177,  1279,  2316,
2079    38820, 38820,   335, -1754,  1479,   570,   582,   567,   989,   265,
2080     1485, -1754, 26552,   603, -1754, -1754, -1754, -1754, -1754, -1754,
2081    -1754, -1754,   928, -1754,   348, -1754,   624, -1754, -1754,   626,
2082    -1754,   646,  1942, 33229,   542,   718, -1754, -1754,   751,   765,
2083      672,   675,   272,   695, -1754,   272, -1754, -1754, -1754, -1754,
2084    -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754,
2085      703,   747, -1754, -1754,   260,   144, -1754, -1754, -1754, -1754,
2086    -1754, -1754, -1754, 35821, -1754, 17798, 10704, 39009, 17930, -1754,
2087      770,   817,  1258, -1754, -1754,   189, 35730, -1754, -1754, -1754,
2088    -1754, -1754, -1754, -1754,   208,   238, 36805, 38820, 37069, -1754,
2089    -1754, -1754, -1754, -1754,   788,   507,   507, -1754, 28012,   138,
2090    -1754, -1754, 28085, 28158, 28158,   850, 38538, 28012, -1754, -1754,
2091      859,   877, 38538, 28012,   898,   911,   914,   934,   947, 28231,
2092    -1754, 23030, -1754,   159, 26625, -1754, -1754, -1754, -1754,   801,
2093    -1754,   158,   835, -1754, -1754, -1754, -1754, 12911, -1754,  2590,
2094    26625, -1754,   926,   490,  1405, 28012,  1064,  1539,   963,   973,
2095     1048,  1123,    34,  2590,  1030,   786, -1754,  2590, -1754,  1185,
2096     1492,  1632,  1114,  1679,  1025,  1057,  1079,  1189,    50,  2590,
2097      507, -1754, -1754, -1754, -1754,  1129,   249, 38113,  1102,  1133,
2098    -1754, -1754, 26698, -1754, 26771, -1754,   767,   836,  1144,  1158,
2099     2177,  1956,  2263,  1053, -1754, -1754,   705, -1754, -1754, -1754,
2100    -1754, -1754,   859,   801,  1176, -1754, -1754, -1754, -1754,   902,
2101     1220, -1754,    91, -1754, -1754,   168, -1754, 38721, -1754, 22915,
2102    38453, -1754,   346, 37858, 37157, -1754, -1754,   859,  1194, -1754,
2103      541, -1754, -1754,    40, 37333, 36981,  3053, 38368, -1754, -1754,
2104      801,   367,  1228,  1228,  1140, -1754,  1267, -1754, -1754, -1754,
2105      177,  1076,   199, -1754, -1754, 28476,  1255, -1754,  1317, -1754,
2106    -1754,   720, -1754, -1754, -1754,  1270, 28603, 28722,   886,   237,
2107      786, 34507, 36449, -1754,   265,  1641, -1754, -1754, 34409, -1754,
2108    -1754,  1283, -1754,   541, -1754, -1754, -1754,  2431, 38538, -1754,
2109      346, -1754, 28841, 28960,  1312,  1334, -1754,  1338, -1754,  1350,
2110    -1754, -1754,  1729,  1364,   846,    40, -1754, -1754, -1754, -1754,
2111     1018,   270,   791, -1754, 29674, 29793, -1754,   791, -1754, 29912,
2112    30031,   791, -1754, 30150, 30269, -1754, -1754,  2357,  2357,  2357,
2113    21097,   705,  1146,  1845,   705, -1754, 26844, 10704, -1754,   770,
2114    10704, -1754,   770, -1754, -1754,  2357,  2357,   705, -1754, -1754,
2115     1362,   172, -1754,  1372,  1379, 37943,  1613,  1396,  1404, -1754,
2116    30388, -1754, 30507,   483, -1754,  9426, 26917,  2357, -1754,  1087,
2117      928, -1754, -1754, -1754, -1754, -1754,  1053,  1410,   265,  1108,
2118      232,   400,  1554,  1411, -1754, 37597,  1421, -1754, 37684,  1427,
2119    37771,  1440, 38028, -1754, -1754, -1754,  1178, -1754, 28012,   541,
2120    -1754, -1754,  1445, -1754, -1754,   941,   567, -1754,  1455, -1754,
2121    -1754, -1754, -1754, -1754,   265,  1512,   570, -1754, -1754,  1451,
2122    -1754, 18062, -1754,   770, -1754,   281, 26990,  1457,  1473,  1478,
2123      292, 18194,  1495,    40,  1482,  1489, 18326,  2583,  1516,  1519,
2124       40, -1754, -1754,  1529,  1532,  1544,  1514, 16605,  2590, 13361,
2125    24070,  2590,  2590, -1754, 16742, 35912, -1754, -1754, -1754, -1754,
2126    -1754, 18458, 18590, 18722, 18854, -1754, -1754, -1754,   770, 18986,
2127    -1754, -1754, -1754, 19118, -1754, -1754,   159,   159,   507,   890,
2128      541,  1515,  1463, -1754,  1053,   863, -1754,   265,  2177, 38820,
2129    38820, 10704, -1754, -1754, 36893, 28012,  1549, -1754, -1754, 23161,
2130      204, -1754, 13591, -1754, -1754,   895, -1754, -1754, 27063, -1754,
2131    -1754, -1754, -1754, 38538,  1576, -1754, -1754, -1754, -1754, -1754,
2132    12591, 38538, 23292,    40, 34014, 38538, 28012,   159,   159,   159,
2133    28012, 23407, -1754, -1754, -1754, 13728, 13865, 14002, -1754, -1754,
2134    -1754, -1754, 12270,  1556,   126, 21228, -1754,   240, -1754,   497,
2135    -1754, 21359,  1587, -1754, 21490, -1754,  1650, -1754, -1754, 24143,
2136     1657, 28012, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754,
2137    -1754, -1754, -1754, 26625,   276, -1754, -1754, -1754, -1754, 28012,
2138    28012, 28012, 28012, 28012, 28012, 28012,  1405,  1632, 28012, 28012,
2139    -1754, 28012, 26625, 26625, 26625, 26625, 26625, 28012, 28012, 14139,
2140    26625, -1754,  1674, -1754, -1754, 24216,  1675, 28012, 26625, 28012,
2141    28012, 28012, 28012, 28012, 28012, 28012, 28012, 28012, 28012, 28012,
2142    26625, 26625, 26625, 26625, 26625, 28012, 28012, 14276, 26625, -1754,
2143    -1754,   415,   928, 38368, -1754, -1754, 35357, 38113, 38113, -1754,
2144     1570,  1574,  1584, -1754,  1597,  1604,  1614, -1754, -1754, -1754,
2145    -1754,  1053, -1754, -1754, -1754, -1754,  1622, 22800, -1754, -1754,
2146    22800, 22800, 26625, 26625, 12132,   265,  1193, -1754,   376,   347,
2147     1055,   853,  1212,  1636,  1631, -1754, -1754, -1754,  2431, 33816,
2148    37245, -1754, -1754,    40, -1754, -1754, -1754, 34605,  1651,    40,
2149    33915,  1580, 23538,  1685, 37421, -1754, -1754,   770, -1754,   770,
2150    -1754, -1754, -1754,   770, -1754,  1656, -1754,   620, -1754, -1754,
2151     3513,  3513,  1228,  1228, -1754,  1228,   123, -1754,  1228,  1228,
2152    -1754, -1754,   753, -1754,  1270,   753, -1754,  1270,   777, 27136,
2153     2097, 28012,   912, -1754,  1661,  1053, 36538, -1754,   265,  2177,
2154    -1754, -1754,   940,   603, 33229, 28349,   615,   272, -1754,   272,
2155     2357, -1754, -1754, -1754, -1754,   298, -1754,   311, -1754,   886,
2156    34507, 22800, -1754, -1754,  1671, -1754, -1754, -1754, 38453, 38453,
2157    28012,    40, -1754, 32887,   103, -1754,  1046,  1085,  1680, -1754,
2158    38453,    40,  1446, -1754, -1754, -1754, -1754, -1754, -1754,  1228,
2159    -1754, -1754, -1754, -1754, -1754, 34702,  1562, -1754, 21621, 38915,
2160    21752, -1754, -1754, 13050, -1754, -1754, 37509, -1754, -1754,  1053,
2161     1146, -1754,  1845, -1754,  1053, -1754, 26844, -1754, -1754, -1754,
2162    -1754, -1754,   770, -1754,   770, -1754, -1754, -1754, -1754, -1754,
2163    -1754, -1754, -1754, -1754, -1754, -1754,  1350,   110,   136,  1673,
2164    -1754, 30626, 30745,  1681, -1754, 30864, 30983, 31102, -1754,   691,
2165      242,   314,   643,  1624,  1690,  1693,  1698, -1754,  1691,  1692,
2166     1696,   265,   705,  2316,   232, 36627, 27209,  1108, -1754, -1754,
2167    38198, -1754, -1754,   928, -1754, -1754, 38198, -1754, -1754,   928,
2168    -1754, -1754, 38198, -1754, -1754,   928, -1754, -1754, 38198, -1754,
2169      928, -1754, -1754, -1754, -1754, -1754, -1754, -1754,  1708,  1710,
2170    -1754,  2058,  1714,  1715,   325, -1754, 21883, -1754, -1754, 19250,
2171     1709,  1712, 19382, 28012, 28012, -1754, 27282, 27355,  1718,  1719,
2172     1728, 12707,  1730,    40, 24289,  2705,  1559, 24362, -1754,  1771,
2173    -1754, -1754, 24435,  1734, -1754, -1754, -1754,  1742,  1743, 24508,
2174    16874,   159,  1733, 28012, 28012,    40, -1754, -1754, -1754, -1754,
2175    23669,   852, 26625, -1754,  1346, -1754, 28012, 14413, 14550, 26625,
2176    -1754, 28012, 14687,  1451, 19514, 19646, 19778, 19910, -1754, -1754,
2177    -1754, 20042, -1754, -1754, -1754, 20174, -1754, -1754,   507,   507,
2178     1750,  1751, 33005, 33123,   705, -1754,   705, 10704, -1754, 10704,
2179    -1754, -1754,  1754, -1754,   721, -1754,   886,  1752, -1754, -1754,
2180    -1754, -1754, -1754, 12270,  1759,  1587, -1754,  1683, -1754, -1754,
2181    24581,  1703, 28012,  1706, -1754, -1754, 24654,  1711, 28012,  1766,
2182    38622, 22800, 36182, 28012,  1775, -1754, -1754, -1754, -1754, -1754,
2183      265,  1783,  1785,  1776,  1791, -1754, -1754, -1754, -1754, -1754,
2184    34113, 24727,  1790,  1793,  1794, 28012,  1786, 34212,  1795,   377,
2185      210,   224,  1797,  1798, -1754,  1806, -1754,    40, -1754, -1754,
2186    -1754, -1754, -1754, 28012,   159,   318, 34796, 22014,  1792, -1754,
2187    26625, -1754,   321, 34890, 22145, -1754,   322, 34984, 22276, -1754,
2188    -1754, -1754, -1754,  1297,  1809, -1754, -1754, -1754, 24800,  4985,
2189    -1754, -1754,  1792, -1754, -1754, -1754, -1754, -1754, -1754,   926,
2190     1185,   926,  1185,   490,  1492,   490,  1492,  1405,  1632,  1405,
2191     1632,  1405,  1632, -1754, -1754,  1064,  1114, -1754, -1754,  1064,
2192     1114, -1754, -1754,  1539,  1679, -1754, -1754,   963,  1025, -1754,
2193    -1754,   973,  1057,  1048,  1079,  1123,  1189, -1754,    85, -1754,
2194    24873,  1787,  5884,  1803, -1754, -1754, -1754, -1754, -1754,  1336,
2195    -1754, -1754, -1754, 24946,  6497, -1754, -1754, -1754, -1754, -1754,
2196    -1754, -1754, -1754,   926,  1185,   926,  1185,   490,  1492,   490,
2197     1492,  1405,  1632,  1405,  1632,  1405,  1632,  1405,  1632, -1754,
2198    -1754,  1064,  1114, -1754, -1754,  1064,  1114, -1754, -1754,  1539,
2199     1679, -1754, -1754,   963,  1025, -1754, -1754,   973,  1057,  1048,
2200     1079,  1123,  1189, -1754, 25019,  1805,  6741,  1811, -1754, -1754,
2201       40,    40, -1754, -1754,   313,  1004, -1754, -1754, -1754, 35451,
2202    35545, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754,
2203    -1754,  1068, -1754, -1754, -1754, -1754, 25092,  1815,  7337,  1818,
2204    25165,  1823,  7630,  1825,  2743,  1193, -1754, 22800, -1754, -1754,
2205    22800, -1754,   808, -1754, -1754, -1754,   381,   265,  2177, -1754,
2206    -1754,   435,  1661,  1622,   265,  2177, -1754,  1814, -1754,  1011,
2207      485,   665,  2357,  1834, -1754, -1754, -1754, -1754, -1754, -1754,
2208    -1754, -1754, -1754, -1754, -1754,  2674, -1754, -1754, -1754, -1754,
2209    -1754, 22407,  1862,   603, 33229, 20966,   715,   705,  1053, -1754,
2210      705, 28012, -1754,   991, -1754, -1754, -1754,  1835,  1656,  1587,
2211     1661,  1213, 22800,  1224,  1229, -1754, -1754, -1754, 31221, 31340,
2212     1836, -1754,  2715, 38538, 38538, 38538, 38538, 28012, -1754, -1754,
2213    -1754, 27428, -1754,   770, -1754, -1754, 27501, -1754, 27574, -1754,
2214    -1754, -1754,  1599,  1562, -1754, -1754,  1228, -1754, -1754, -1754,
2215    -1754, -1754,  1599,  1562, -1754, 27647,  8646, -1754, -1754, -1754,
2216    -1754, -1754, 20306, -1754, -1754,   273, -1754, -1754,   285,  1831,
2217    -1754, 31459, 31578,   265,  1624,  1837, -1754, -1754, -1754, -1754,
2218    -1754, -1754,   705,  1108, -1754,  1841,  1842, -1754,  1840,  1844,
2219     1848, -1754, -1754, 33229, -1754, -1754, -1754, -1754, -1754, 28012,
2220     1852,  1070, -1754, -1754, -1754, -1754,   326, 35078, 22538, -1754,
2221    -1754, 23669, 23669, -1754, -1754, 25238, 17006, 25311, 25384, 23760,
2222    25457, 17138, 12707,  1854,  1856, 12707, 28012, 27720,  1905, 25530,
2223     1743,  8206,   159, 12707,  1849, 33621, 12707, -1754,  1618, 25603,
2224     8778, 25676, -1754, -1754, -1754, -1754, -1754,    67,   159,  1853,
2225     1353, -1754, -1754, -1754, -1754, -1754, -1754,  1866,  1867,    40,
2226    -1754, -1754, -1754, -1754, -1754, -1754, 38453, -1754, -1754, -1754,
2227    -1754,  1869,  1871, -1754, -1754, -1754, -1754, -1754, -1754, -1754,
2228    14824, -1754, -1754, -1754,  1385,  1872, -1754, -1754, 25749, 10353,
2229    -1754, -1754, -1754,  1391, -1754, -1754, -1754, 25822, 11250, -1754,
2230    -1754,  1875,  1257, -1754,  2338,  1877,  1878,  1886,  1876,  1879,
2231    22800,  1785, 36716,  1783, 28012, 22800, 28012,  1891, -1754, -1754,
2232    -1754, -1754, -1754,  1885, -1754, 27793, -1754, -1754,  1892,  1893,
2233    28012, 28012,  1896,  7071, -1754,    40,    40, 28012, -1754, 14961,
2234    -1754, -1754,   507, -1754, -1754, -1754, -1754, -1754, -1754, -1754,
2235    15098, -1754, -1754, -1754, -1754, 26625, 15235, 15372, 26625, 15509,
2236    15646, -1754, -1754, -1754, 15783, 15920, 16057, 16194, -1754, -1754,
2237    -1754,   415,  1887,   482, -1754, -1754, 26625, 26625, 26625, 26625,
2238    26625, 26625, 26625, 26625,   265,  1193,  2001,  1330, 22800, -1754,
2239    -1754,  1901,   705,   705,  1228,   705,  1622,  1907, -1754, -1754,
2240     1902, -1754,   333, 35172, 22669, -1754,   265,  1008, -1754,  1053,
2241    -1754, -1754,  1908,  1909, -1754, -1754, -1754,  1351, -1754, -1754,
2242    32887,  1916, 32887, -1754, -1754,  1917, -1754,  1921, -1754, 26844,
2243     1416, -1754, -1754,  1416, -1754, -1754, -1754,  1416, -1754, -1754,
2244    20438, 20570, -1754, -1754, -1754, 32887, -1754, 32887,   232,  1108,
2245    -1754, -1754, -1754, -1754, -1754, -1754, -1754,  2316, 25895, -1754,
2246    -1754, -1754, -1754, -1754, -1754, -1754, 12707,  7939, 12707,  7939,
2247    33330, -1754, 23669, 17270, -1754, -1754, 12707, 12707, 25968, 12707,
2248    26041, 12449,  1928, 11591, 26114,   176, 20702, -1754, 28012, -1754,
2249    33427, -1754, 33718, 12707, 13205, 27866,   159,  1932,   159,   179,
2250     1933, -1754,    40, 28012, 28012,    40, 16331, 16468, -1754, -1754,
2251    -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754,   265,  1785,
2252     1941, -1754, -1754, -1754, -1754, -1754,  1371,  1783, -1754,  1943,
2253     1944,  1935,  1936,  1380,  1938,  1946, 22800, 28012, 23030, -1754,
2254    -1754, -1754,  1949,  1950,  1952,  1953, 28012,  1954,  1967,  1968,
2255     1972, -1754, -1754, -1754, -1754, -1754, -1754, -1754, -1754,   168,
2256    -1754, -1754, -1754,   168, -1754, -1754, -1754, -1754, -1754,   168,
2257    -1754, -1754, -1754,   168, -1754, -1754, -1754,   168, -1754, -1754,
2258    -1754,   168, -1754, -1754, -1754,   168, -1754, -1754, -1754,   168,
2259    -1754, -1754, -1754, -1754,  1383, -1754, -1754,  1622, 26625, -1754,
2260    -1754, -1754, 28012, 28012, -1754, 31697, 31816, 32887, 31935, 32054,
2261    38538, 38538, 23851, 20834, -1754, -1754, -1754, 32173, 32292, 32411,
2262    32530, -1754,  2004,  2029, -1754, -1754, -1754, -1754, 12707, 28012,
2263    27939,  1932, 17402, 17534, 23924, -1754, 33524, 23669, 26187, 17666,
2264    -1754,  1126,   417, -1754,    41,   159,  1977,   159,   593,   499,
2265     1980,  1403, -1754, -1754,  1783, -1754, -1754, -1754, -1754, -1754,
2266    -1754, -1754, -1754, -1754,  1384,  1974,  1985,  1983, -1754, -1754,
2267    -1754, -1754,  1986,  1988, -1754, -1754, -1754, -1754, -1754,  1989,
2268    -1754, -1754, -1754, -1754, 32649, 32768, -1754, -1754, 26260, -1754,
2269    -1754, 12707, 12707, 26333, 23997, 12707, 26406, 12449,  1998, -1754,
2270    12707, 28012, -1754, -1754, 23669, -1754, -1754,  2003,   159,   159,
2271    28012,   159,  2005,   159,  1329, -1754,   185,  1228,   578, -1754,
2272      269, -1754,  1997, -1754,    40, -1754, -1754, -1754, 27428, -1754,
2273    -1754, -1754, -1754, -1754, -1754,  1998, 12707, -1754, -1754, 26479,
2274    -1754, -1754, -1754, -1754,  1408,  2008,  1417, -1754,  1343,  2009,
2275      159,   159,  2012,   159, -1754, -1754, -1754, -1754,   593,   590,
2276    -1754, -1754, -1754, 12707,  2021, -1754,  2022,  2023,   159, -1754,
2277     1418,  1447, -1754,  1348,   653, -1754, -1754, -1754, -1754, -1754,
2278     1458,  2024,  2025,  2026,   159, -1754,  2032, -1754, -1754, -1754,
2279     1459, -1754,  2033, -1754
2280 };
2281
2282 /* YYPGOTO[NTERM-NUM].  */
2283 static const yytype_int16 yypgoto[] =
2284 {
2285    -1754,  2990,   -26, 11733, -1754,  2051, -1754, -1754, -1754, -1754,
2286    -1754, -1754,  1684,  1689,  -930, -1754,  -933,  -950,   221,   244,
2287     -919,  -828,  -607, -1754,  -538,  -534, -1754, -1754,  1700,  1701,
2288    -1754,  4111,   842, -1754,  -292,   868,   875, -1754, -1754, -1754,
2289    -1754,  1707, -1754, -1754, -1754,  -602, -1753,    -1, -1754, -1754,
2290    -1754, -1754,  2910,  3697,    16,    81,  -146,  -838, -1754,  -763,
2291    -1754,  -826, -1754,  1196,  -142,  1335,  -795,     8,  1903,   143,
2292     1906,    13,     0, -1754,  1278,   516, 10327,  5273, -1754,  3704,
2293    -1754,  -608,  -699,   556,  4662,  1881, -1754,  -325,   182,   296,
2294      470, -1754,   461,  -384,  -710,  -238,  -132,    44,  2149, 10076,
2295     2669,  -246, 10521,   -89,  4711, -1754,   677,  5524,  1882,  -320,
2296      364,   465,   522,   510,    17,   140,   122,   145,   174,  2597,
2297     1002,  -507,  9877,   129,   385,   -33,  8411,   -48,  1227,  -131,
2298     1889,  9072,  7243, -1754, -1754, -1754,   -80,   -43,   -40, -1754,
2299     6671, -1754,  1668,  2235,   710,  -513,  2163,  7839, -1754,  9443,
2300    -1754, -1754, -1754,   -62,  2368, -1754, -1754,  4874,  3754,   -31,
2301    -1754, -1754,  1428,  1769,  1480,  1894,   -74,   -60,  4801, 11804,
2302     6127,  6678,  -342,  -125,  -362,  1419,  -884,   -37,  3200, -1754,
2303    -1754, -1049, -1754,  2854,  -516, -1205,  9958,  -315,  -690,    55,
2304        4,   531,  1784,  -194,  -797,  -425,  -843,  -519,  -907,  -908,
2305      378,   844,  1218,   -14,  1947,  -709,  1490,  -295,  -466,  -429,
2306    -1754,  -120,  -107,  6552,  -459,   112,  -495, -1754, -1754, -1754,
2307     2122, -1754,   -67,  2130,   -22,   892,    -7,  1962,  1128,  1135,
2308    -1754, -1754, -1754,   -63,   634, -1584,   127, -1754, -1754, -1754,
2309      730, -1754,  2135,   -19,    19,  2128,  1722, -1754, -1754, -1754,
2310     2137,  -808,   464, -1754,  -800,   994, -1754, -1754, -1754, -1754
2311 };
2312
2313 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2314    positive, shift that token.  If negative, reduce the rule which
2315    number is the opposite.  If zero, do what YYDEFACT says.
2316    If YYTABLE_NINF, syntax error.  */
2317 #define YYTABLE_NINF -1294
2318 static const yytype_int16 yytable[] =
2319 {
2320       58,   384,   378,  1232,   495,   767,   214,  1010,   500,  1418,
2321      768,  1477,  1476,  1423,   274,   379,   492,  1703,  1407,  1008,
2322      215,  1420,   737,   259,  1236,  1425,  1408,   132,  1135,   169,
2323      102,   104,   275,   936,   170,  1874,   932,   171,  1531,  1537,
2324     1541,   109,  1592,     1,  2101,  1489,   117,  1885,   376,   103,
2325      128,   788,   384,   134,  1057,  1530,   266,  1540,   143,  1536,
2326      146,   110,   377,   276,   190,   268,   142,   816,   270,  1532,
2327     1886,  1542,   287,  1450,   105,  1317,   157,   168,   117,  1024,
2328      202,   365,   680,   763,  1419,   117,  1744,    58,  1424,   385,
2329      167,   490,   857,     1,    58,    58,  1340,   790,   284,   926,
2330      265,   798,     1,  1383,  1510,   106,     1,   366,   788,  1065,
2331      369,  1553,  1071,     1,  1077,   137,  1082,   528,   531,   138,
2332      285,   286,   202,   938,   289,   117,   117,     2,   100,   382,
2333      400,   287,   178,   178,   143,   458,   471,  1556,   458,     1,
2334      385,  1273,   485,   287,   487,   592,   107,   487,   471,   130,
2335      501,   458,   471,   458,   482,   458,  1501,  2102,   516,   742,
2336     1533,  2098,  1543,  1550,   100,  2103,   540,   504,   143,   509,
2337      789,   513,   131,   527,   530,     1,   142,   117,   895,  1886,
2338      381,   287,  2035,  1887,   287,   816,   817,  1339,  2141,   610,
2339      614,  1888,   541,   612,  1159,  1163,   274,  1256,   274,  1548,
2340      897,  1257,   143,  1263,   548,  1195,  1267,  1264,  1519,  -473,
2341     1268,   491,   157,   560,   275,   287,   275,   572,   169,   483,
2342      166,   144,   117,   170,  1511,   117,   171,   852,   169,   287,
2343      264,  1554,   505,   170,   510,     1,   514,   273,   918,   605,
2344     1044,  1258,  1275,   573,   746,   747,   748,   684,   313,  1254,
2345     1023,   651,     1,   598,   687,   842,   268,  1557,   636,   270,
2346        2,   590,   667,   859,   495,   593,   669,   930,   862,   115,
2347      681,  1451,     1,  -205,  1834,     1,    58,  1282,    58,   743,
2348     1064,   668,   607,  1070,   670,  1076,  1836,  1081,  1275,   673,
2349     2020,   265,  2021,  1105,   744,  2036,   704,   153,   896,  1498,
2350     1888,  2142,   704,  2037,   853,  2098,  1537,  1541,   178,  2143,
2351      139,   541,  1499,  1537,  1541,   576,     1,  1537,  1541,  -108,
2352      743,   178,   -99,  -103,  1540,   743,  1536,   -81,     1,   149,
2353     1725,  1540,   734,  1536,   -88,  1540,   533,  1536,  1542,   832,
2354     1057,   836,  2107,   843,  1726,  1542,   830,   555,   834,  1542,
2355        1,     1,   749,  -477,  -477,  -477,   919,  2147,   556,   154,
2356      750,  1259,   575,   751,  1452,   820,   143,   822,   886,   888,
2357      890,   892,   541,     1,   541,   287,     2,    45,   591,     1,
2358      117,  1534,   287,  1544,     1,   659,   117,    46,   935,   971,
2359     2146,  1835,  1142,   961,  -647,  1149,  1001,  1259,     2,   608,
2360     1313,  1058,   215,  1837,   965,   961,  -642,  1106,   223,   861,
2361      501,  2147,  1001,   864,   560,  1026,  1692,  1252,     1,   896,
2362      875,   683,   287,   876,   822,   864,   883,   822,  1379,  1543,
2363      128,  1760,   743,  1761,   578,  1045,  1543,  1500,     1,  -108,
2364     1543,  1595,   -99,  -103,  1283,  1285,  1287,   -81,  1046,  1284,
2365     1286,  1288,   932, -1037,   -88, -1037,   458,   458,   143,   283,
2366      610,   922,   202,   610,  1011,   117,   847,  1013,   949,  -477,
2367      546,   737,  -477,   953,  1347,  1349,  1351,   157,   954,  1348,
2368     1350,  1352,   458,   458,  1003,   885,     1,   287,     1,   242,
2369      680,   703,   367,  1724,   967,   968,  1917,  1486,   737,  1008,
2370     1003,  1675,     1,  1780,   458,   458,   737,  1684,   926,   458,
2371      458,     2,   287,   458,   458, -1052, -1052,   117,   117,   117,
2372    -1052,   117,  1695,  1050,   117,   932,   737,  1057,  1400,  1401,
2373     1048,    86,  2100,   385,   372,   117,   117,   117,  1573,  1044,
2374     1713,   143,  1850,   573,     1,   822,   487,  1722,  1321,     1,
2375      458,  1784,   458,   516,  1446,  1039,   541,   117,  1597,   128,
2376      143,  1053,  1598,  1093,  1489,  1460,  1031,   926,  1035,     2,
2377      117,  1549,   972,   972,   972,  1063,  1387,   543,  1069,   288,
2378     1075,     1,  1080,  1101,   610,   614,  1160,  1164,   926,  1094,
2379      178,   178,  1674,     1,  1582,  1495,     1,  1496,  1683,  1423,
2380     1982,  1407,  1407,  1800,   274,  1037,  1801,  1789,   180,  1408,
2381     1408,  1425,  1587,    98,   610,  2111,   579,  1260,    86,   772,
2382      773,  1116,   275,  1123,  1261,   277,    86,  -479,  -479,  -479,
2383     1136,  1032,   408,  1036,   926,  1646,   169,  1829,  1828,  1651,
2384     1600,   170,  1653,  1604,  1655,  1777,     1,  1537,  1541,  1233,
2385     1544,   636,   636,   636,   636,  1323,     1,  1544,   574,   410,
2386       99,  1544,   575,     1,   411,  1540,  2107,  1536,     1,   143,
2387     1171,     2,  1177,  1179,  1776,  1813,  1449,  1816,   117,  1542,
2388      115,  1643,   711,  1389,   560,  1168,  1169,   518,   715,  1186,
2389      536,  1818,  -879,  1275,     1,  1159,  1163,  1159,  1163,  1275,
2390      242,  1417,   517,  1209,  2044,  1417,  2165,  1807,     1,  1832,
2391     1214,  1224,   541,  1234,  1214,  1224,   579,    28,    29,   576,
2392      260,  1186,    32,   545,     1,    26,  2107,  1565,  1395,    38,
2393     1494, -1077,  1247,     2,  1045,   580,  1239,  1240,  1241,  -895,
2394     -895,  1265,   115,  -479,  -895,   549,  1270,  1046,   550,     2,
2395     1277,  -895,   579,    43,    44,    45,   930,   831,   555,   835,
2396     -477,  -477,  -477,  1427,  1431,  1581,   581,   551,   573,   556,
2397     1543,  1584,   140,   141,  2175,  -895,  -895,  1585,   659,   659,
2398      659,   659,   520,  1586,  -478,  -478,  -478,   744,   583,   908,
2399      909,   584,  1337,   792,   793,   794,  1342,   180,  -477,  -477,
2400     -477,  1314,  1547,   140,   141,   776,   378,   679,   691,   277,
2401      586,  -879,   495,   495,   529,   532,  1503,  1504,   588,   379,
2402       46,  1402,   143,  1405,   495,   691,   822,   822,   822,  1380,
2403     1798, -1077,  1325,  1512,   577,   580,   703,   576,   578,  1469,
2404     1470,   910,  1471,  1537,  1541,  1473,  1474,  1421,   693,     1,
2405      400,  1421,  1485,  1276,   202,     1,  -205,   777,   967,   968,
2406     1391,  1540,   589,  1536,  -205,   693,   377, -1077,   157,  1442,
2407      560,   580,  1929,  1136,   965,  1542,  -477,   560,  1669,  1457,
2408     1459, -1083,  1461,   837,   822,   582,   128,   575,  1480,     1,
2409      613,   665,   658,     1,    98,  1691,  1555,  1558,  1800,  1801,
2410     -478,   795,  1203,  1204,  1205,  1916,  -477,   685,  1322,   796,
2411     1923,   682,   797,   848,  -477,     1,  1522,  -477,   384,  1573,
2412      117,  1778,   143,   741,   128,  1318,   202,  1506,  1730,   117,
2413     1779,     1,  1324,  1731,  1493,  1575,  1388,   117,   572,   117,
2414     1497,  1049,  1644,  1793,   128,   871,  1397,  1794,  1576,   143,
2415      922,   400,   838,  1384,  1289,  1291,   578,   744,   501,   501,
2416     1390,   487,  1326,   458,   487,   703,  1543,  -205,   737,   696,
2417      501,  1520,  1437,  -205,   712,   744,  1550,   442,   191,  1508,
2418      442,  1429,  1433,  1984,  1353,  1355,   696,  2004,   663,   192,
2419     1392,  1544,   713,   442,     1,   442,   117,   442,   140,   141,
2420      409,  1100,   140,   141,  1910,    -8,   385,     1,   744,   100,
2421     1206,     1,   520,   716,  1937,   385,   849,  1003,  1207,    32,
2422        1,  1208,   850,  1580,   140,   141,   717,   487,   487,   718,
2423     1578,   458,   458,  1833,  1481,   458,   458,   458,   769,   143,
2424      140,   141,   117,   117,  1509,  1008,   382,  1895,  1839,   719,
2425       43,    44,   117,  1561,   117,   202,   541,   932,   770,   771,
2426      822,   517,   720,   143,  1491,   887,   822,  -886,   893,   143,
2427     1293,  1295,   822,  1083,  1614,   143,   778,   779,   822,  -205,
2428      143,  2069,    26,  -266,  -266,  -266,   926,  1160,  1164,  1160,
2429     1164,   784,  1696,  -885,   143,  -885,  -885,   381,  1084,   636,
2430     1357,  1359,   636,   140,   141,  1697,  1804,   785,   359,   519,
2431      610,  1116,   610,  1123,  1085,   372,   140,   141,  1562,  1565,
2432      140,   141,  1628,  1991,  1778,   926,   806,   807,   926,   140,
2433      141,  2054,   969,  1788,   690,  1641,  1290,  1292,   970,   787,
2434      636,  1277,  1853,  1855,  1086,  1087,   791,  -914,   611,   615,
2435     1637,   690,  1865,   812,   636,   636,   636,   636,  1662,  1832,
2436     -885,  1012,  2076,  2077,  1014,  1513,  1354,  1356,   373,  1436,
2437     1514,  -885,   458,   458,   117,   970,   117,   780,   781,   374,
2438     1699,  1083,  -205,   786,   822,   130,   143,  1544,  -205,   482,
2439      744,   813,   519,   822,   542,  -266,  -885,  1672,   372,  -266,
2440      130,  1677,  1719,  1681,  1515,   815,  1084,  1686,     1,  1516,
2441      100,   400,   202,   372,   814,   679,  -885,  -885,  -885,  2057,
2442     -914,  -914,  1085,  1055,   827,  -914,   659,   808,   809,   659,
2443     1707,  -205,  -914,  1943,  1056,  2004,   101,  1707,  1651,  1294,
2444     1296,  1655,  2097,  1305,  1309,   819,  2098,   143,  1297,  1299,
2445     2099,  1301,  1086,  1087,   483,   828,  -914,  -914,   891,  1839,
2446      839,     1,   242,   100,  -914,  -914,  -914,   659,  1846,  1358,
2447     1360,  1371,  1375,  1732,   840,  2152,  1361,  1363,  1365,  1367,
2448      525,   659,   659,   659,   659,   658,   658,   658,   658,   666,
2449     2039,  1417,  1306,  1310,  1088,   847,   150,   799,   442,   442,
2450     1298,  1300,   135,  1302,   136,  -755,  1479,  -755,   854,   873,
2451      947,  2005,  1008,  1178,  1180,  1181,   359,   800,   801,   556,
2452     1372,  1376,  1573,  1008,   442,   442,  1438,  1806,  1362,  1364,
2453     1366,  1368,   970,   850,  -205,     1,    28,    29,  1808,   851,
2454     -205,    32,   744,  1809,   970,  1505,   442,   442,    38,   970,
2455      242,   442,   442,    28,    29,   442,   442,   147,    32,   148,
2456        2,   973,   974,   975,   151,    38,   152,  1417,  1815,  1417,
2457     1817,  1907,    43,    44,   542,   901,   542,   850,   387,  1015,
2458     1017,   663,   663,   663,   663,   894,   902,   903,   911,    43,
2459       44,   191,   442,  2034,   442,  -915,   951, -1032,   526, -1032,
2460     1758,  1759,   192,  2017,  1762,   143,    28,    29,   904,   822,
2461      822,    32,   905,  1739,   906,   774,   775,  1740,    38,   611,
2462      926,   926,   611,  -477,  1763,   958,  -477,  -477,  -477,  -477,
2463     -477,  -477,  -477,  -477,  1647,  1648,  1649,  1421,   907,   842,
2464      400,  1579,    43,    44,  1983,  2139,  1781,   959,   117,  2098,
2465      850,  1641,  1751,  2140,   155,   117,  1740,   960,  1803,  2157,
2466     1790,   143,   117,  2098,  2173,  1994,   382,  2158,  2098,  1891,
2467      961,   850,  2174,  1892,   737,   737,   737,   737,   737,   737,
2468      737,   737,   117,  1833,  1797,  2046,   964,   117,   572,  1019,
2469      117,   850,  1613,   143,  2051,  1008,   175,  2068,  2115,  1020,
2470      850,  1899,   400,   850,   850,  1740,  1021,  1903,   458,   458,
2471      495,  1740,  2149,  1814,  1814,  1814,  1814,   381,  1027,  2113,
2472       28,    29,   995,  2114,  2154,    32,  1028,   843,  2098,  -477,
2473     -477,  1060,    38,  2156,  2171,  1003,   192,  2098,  2098,  -477,
2474     2104,  1066,  2106,   611,   615,  1161,  1165,  1072,  -477,  -477,
2475     -477,  -477,  -477,   782,   783,  1059,    43,    44,   542,  2005,
2476     1078,   458,   458,  2172,   117,  1521,  1095,  2098,  2093,  1098,
2477     2096,  1008,   117,   611,  2176,  2182,   493,  1096,  2098,  2098,
2478      506,  1102,  1919,   560,   486,  1173,     1,  1847,  1103,  -653,
2479      359,  -653,  -652,  1104,  -652,  1920,   523,   534,  1698,   535,
2480     1124,   636,   636,   538,  2134,   535,  2136,  1125,  2138,  1116,
2481     1122,   636,  1116,  1523,  1025,  1116,     1,  -971,   542,  1628,
2482     1718,   802,   803,  1116,    18,    19,  1116,     1,    28,    29,
2483     1097,  1133,   535,    32,  1134,  2131,   744,  1172,  1140,   136,
2484       38,  1875,   804,   805,     1,  2160,  2161,  1137,  2163,  1136,
2485     1138,  1269,     2,     1,    28,    29,   501,  1889,  1276,    32,
2486        1,   115,  1139,  2170,    43,    44,    38,  1183,    69, -1051,
2487    -1051,  1922,  1253,  1925, -1051,  1336,  1341,     1,     1,  2180,
2488     1527,   744,  1528,  1623,  1671,   175,     1,  1933,  1935,  1211,
2489       43,    44,    45,   810,   811,   676,   737,  1411,    28,    29,
2490      400,  1412,   202,    32,  1676,   400,     1,  1680,  1265,     1,
2491       38,  1413,  1685,  1001,     1,    28,    29,  1525,   359,  1526,
2492       32,  1986,   359,  1247,  1414,  1938,  1939,    38,   659,   659,
2493      962,  1415,  -668,   658,    43,    44,   658,   995,   659,   555,
2494      744,  1416,  1878,   995,  1440,   173,   995,  1821,   374,  1824,
2495      556,    43,    44,  1016,  1018,    69,    46,  -668,  1439,  -895,
2496     -895,  1402,    69,    69,  -895,   359,  -668,  -668,  1465,  1467,
2497     1822,  -895,  1825,  1456,   658,  1466,  1468,  1464,   400,  1154,
2498     1156,  1482,   117,   117,  1502,   117,  1155,  1157,   658,   658,
2499      658,   658,   359,  2150,  -747,  -895,  -895,   143,  2151,  1517,
2500      359,  1003,  -750,  -668,  -668,   442,  1566,   744,  -668,  1567,
2501      458,  1658,   458,  1659,  1568,  -668,   279,   282,  1569,  1570,
2502      359,  1409,  1410,  1571,  1588,  1589,  1995,  1624,  1998,   663,
2503     1593,  1594,   663,  1601,  1616,   458,  1602,   458,   117,  -668,
2504     -668,  -668,  1615,  1617,  -668,  1619,  -926,   963,  1638,   961,
2505     -668,  2007,  1632,  2009,  1417,  1417,  1116,  1116,  1116,  1116,
2506     1633,  1634,   636,  1656,   410,     1,  1116,  1116,  1663,  1116,
2507      663,  1116,  1660,   442,   442,  1670,  1802,   442,   442,   442,
2508      676,   564,  1689,  1116,   663,   663,   663,   663,  1700,    60,
2509        2,  1996,  1136,  1999,  2056,  1641,    28,    29,  1702,   115,
2510     1212,    32,  1704,  2063,  1705,  2032,  1715,  2032,    38,  1716,
2511     1717,  1747,  1720,  1734,  1728,  1723,  2008,  1727,  2010,  -926,
2512     -926,   995,  1729,   542,  -926,  1741,   400,  1750,   541,  1755,
2513     1787,  -926,    43,    44,   173,  1757,    28,    29,   389,  1767,
2514     1002,    32,  1769,  1005,   173,     1,    69,  1771,    38,  1773,
2515     1791,  1805,  -753,  1840,  1810,  -926,  -926,  1841,  1842,  2071,
2516     2073,  1872,   542,  -926,  1876,  -926,    60,  1843,  1849,  1890,
2517        2,  1844,    43,    44,    45,  1845,    60,    46,  1866,   730,
2518     1867,  1893,  1894,    60,    60,  1896,   921,  1897,  1900,   659,
2519      995,  1906,   995,  1911,  1912,   458,   458,   458,   458,   458,
2520     1814,  1814,  1913,  1914,  1926,  1981,  1915,   458,   458,   458,
2521      458,  1927,  -230,  2074,   442,   442,    28,    29,  1116,  1930,
2522     1931,    32,  1936,  1985,  1989,   473,  1988,   636,    38,   636,
2523       28,    29,  1992,  1993,  1997,    32,  2000,   473,  1136,  1641,
2524     2001,   473,    38,  2019,  2144,  2145,  1161,  1165,  1161,  1165,
2525     2033,    51,    43,    44,  2032,  2038,  2032,  2045,   542,  2047,
2526     2048,  1083,  2049,  2050,   552,  2052,    43,    44,  2081,   611,
2527     2064,   611,   844,  2053,   458,   458,  2058,  2059,  2075,  2060,
2528     2061,  1116,  1116,  2065,  2066,  1116,  1084,  1116,  2067,  1921,
2529     1116,  1924,   108,  2082,   636,  2105,  2112,  1175,   995,  2118,
2530        1,  2116,  1085,   676,    51,  1932,  1934,  2121,  1641,   542,
2531     1136,   145,  2117,  2119,  1136,  2120,  2127,  2032,  2032,  2148,
2532     2032,  2132,  2032,  2137,  2155,     2,  1116,  2159,    51,   564,
2533     2162,    51,  1086,  1087,   115,   359,   359,   243,    51,  2167,
2534     2168,  2169,  2177,  2178,  2179,    51,    51,  2164,  1136,  1641,
2535     2181,  2183,   942,  1116,   659,    60,   659,   943,    51,  2032,
2536     2032,   368,  2032,    70,  1136,    60,  1518,    60,   944,   945,
2537     1826,    28,    29,    51,  1590,   948,    32,  2032,  1591,   671,
2538        1,   393,   672,    38,  1472,  1422,   430,   243,  1507,   430,
2539      722,   723,  1795,  2032,   880,  1237,   714,  2002,   872,   243,
2540      606,   243,   430,   243,   430,     2,   430,    43,    44,    45,
2541     2133,  1245,    46,  1478,   115,   542,   278,   267,    18,    19,
2542      652,   659,   269,   281,   271,  1980,     0,     0,     0,     0,
2543        0,   243,   243,     0,     0,   658,   658,   542,     0,     0,
2544       70,     0,     0,   430,     0,   658,     0,     1,    28,    29,
2545       70,    28,    29,    32,     0,   547,    32,    70,    70,   995,
2546       38,     0,   359,    38,    51,     0,   995,     0,     0,     0,
2547      995,     0,     2,     0,     0,     0,     0,     0,     0,   402,
2548        0,   186,   187,     0,    43,    44,    45,    43,    44,   676,
2549        0,     0,    46,     0,     0,     0,     0,     0,     0,   476,
2550        0,     0,   473,     0,   243,     0,     0,   243,   243,   393,
2551        0,   476,  2055,     0,   473,   476,     0,    51,    28,    29,
2552        0,  2062,     0,    32,     0,     0,     0,    51,   243,    51,
2553       38,   663,   663,     0,     0,     0,     0,    28,    29,     0,
2554        0,   663,    32,     0,     0,     0,     0,   243,  1175,    38,
2555      442,   442,   173,   243,    43,    44,    45,  1191,     0,    46,
2556        1,     0,   430,     0,     0,     0,     0,   473,    76,   676,
2557        0,   475,     0,    43,    44,     0,     0,  2070,  2072,   845,
2558      730,     0,     0,   475,     0,     2,     0,   475,     0,  1191,
2559       28,    29,     0,     0,   115,    32,     0,     0,     0,     0,
2560     1250,     0,    38,   442,   442,     0,     0,     0,     0,     0,
2561        0,     0,    28,    29,     0,   676,     0,    32,    51,     0,
2562        0,     0,     0,   430,    38,   430,    43,    44,     0,    70,
2563        0,    28,    29,     0,     1,     0,    32,   402,     0,    70,
2564        0,    70,     0,    38,     0,    76,   402,     0,    43,    44,
2565       45,     0,   402,  1212,     0,    76,     0,     0,   243,     2,
2566      393,   243,    76,    76,   243,    51,     0,    43,    44,    45,
2567        0,   874,    46,     0,     0,    51,   243,     0,    51,     0,
2568        0,     0,     0,   995,     0,     0,     0,     0,   602,     0,
2569        0,   564,     0,   542,     0,     0,   658,     0,     0,     0,
2570        0,     0,     0,     0,   477,    28,    29,   430,   430,     0,
2571       32,     0,    51,    51,     0,     0,   477,    38,     0,   430,
2572      477,     0,     0,   359,   952,     0,     0,     0,   995,   243,
2573      995,   708,     0,   430,   430,     0,     0,   708,   564,     0,
2574        0,    43,    44,     0,     0,   564,     0,   995,     0,     0,
2575      730,     0,   564,     0,     0,   430,   430,     0,   402,     0,
2576      430,   430,     0,     0,   430,   430,     0,     0,     0,     0,
2577        0,   393,     0,    60,     0,     0,   476,     0,   243,     0,
2578        0,   243,     0,     0,     0,     0,     0,     0,   476,     0,
2579        0,     0,   663,  1657,     0,  1005,    51,     0,     0,     0,
2580      995,   430,   564,   430,     0,     0,    51,   430,   752,   753,
2581      754,   755,   756,   757,   758,   759,   760,   761,   564,     0,
2582        0,     0,     0,     0,     0,     0,    51,    18,    19,    51,
2583        0,    51,     0,    51,    76,     0,     0,     0,     0,     0,
2584       51,   476,   602,     0,    76,     0,    76,     0,   867,     0,
2585        0,     0,   442,     0,   442,     0,     0,    28,    29,     0,
2586      867,   658,    32,   658,     0,     0,     0,     0,     0,    38,
2587        0,     0,     0,     0,     0,     0,     0,   442,     0,   442,
2588        0,  -477,  -477,  -477,  -477,  -477,  -477,  -477,  -477,  -477,
2589     -477,  -477,     0,    43,    44,     0,     0,     0,  1131,     0,
2590        0,     0,   393,   393,   393,   393,   542,     0,   542,   762,
2591        0,     0,     0,   957,     0,     0,  1811,   359,  -657,     0,
2592        0,     0,   542,   542,     0,     0,     0,   405,   658,   359,
2593      243,   243,   243,     0,     0,    51,     0,     0,     0,     0,
2594      430,     0,     0,  -657,     0,     0,     0,     0,     0,    18,
2595       19,     0,  -657,  -657,   243,     0,     0,   663,   473,   663,
2596        0,   243,   243,   430,     0,   243,   243,     0,     0,   473,
2597        0,     0,   430,     0,     0,   344,     0,     0,     0,    28,
2598       29,   868,     0,    51,    32,     0,   393,  -477,  -477,  -657,
2599     -657,    38,   393,   868,  -657,   393,   995,  -477,     0,     0,
2600        0,  -657,  -477,  -477,  -477,     0,  -477,  -477,  -477,  -477,
2601     -477,     0,     0,     0,     0,    43,    44,    28,    29,     0,
2602     1622,     0,    32,     0,   663,  -657,  -657,  -657,     0,    38,
2603     -657,     0,     0,  1812,   402,   961,  -657,   442,   442,   442,
2604      442,   442,     0,     0,     0,     0,   868,    70,     0,   442,
2605      442,   442,   442,    43,    44,    45,     0,     0,   854,     0,
2606        0,  1667,     0,     0,     0,     0,     0,  1175,     0,   556,
2607        0,     0,     0,     0,    51,     0,     0,    51,    51,    51,
2608        0,     0,     0,     0,     0,   405,     0,     0,     0,     0,
2609        0,     0,     0,     0,   405,   359,   359,     0,   393,     0,
2610      405,   393,   393,     0,     0,    51,  1657,     0,     0,  1005,
2611        0,     0,     0,     0,     0,     0,   442,   442,     0,     0,
2612      243,    51,     0,     0,     0,     0,     0,   639,    51,   542,
2613        0,   243,     0,   430,     0,    51,     0,     0,   542,     0,
2614        0,     0,     0,     0,     0,  1218,  1228,     0,     0,  1218,
2615     1228,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2616        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2617        0,     0,     0,     0,     0,     0,     0,    51,     0,     0,
2618        0,     0,     0,   740,     0,    51,     0,     0,     0,     0,
2619       48,     0,     0,     0,   542,   542,   402,     0,     0,   402,
2620      402,    51,   393,     0,     0,     0,   405,     0,     0,   243,
2621      243,     0,     0,     0,   430,     0,     0,     0,     0,     0,
2622        0,   243,     0,     0,     0,     0,     0,     0,     0,     0,
2623        0,     0,   476,     0,     0,     0,     0,     0,     0,   393,
2624      243,   393,     0,   476,     0,     0,     0,   243,     0,     0,
2625        0,     0,    76,     0,   290,     0,     1,   291,   100,   292,
2626        0,   293,   294,     0,     0,     0,     0,   164,     0,     0,
2627        0,     0,     0,     0,     0,     0,     0,    48,     0,     0,
2628        0,     2,   430,   430,    48,    48,   430,   430,   430,     0,
2629      115,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2630      402,     0,   359,     0,  1445,     0,    51,   430,     0,     0,
2631        0,    51,   645,     0,     0,  1445,     0,    51,   295,     0,
2632      359,     0,     0,    51,   296,   297,   298,    28,    29,    51,
2633        0,     0,    32,     0,     0,     0,     0,   299,   300,    38,
2634        0,     0,     0,     0,     0,     0,     0,   393,     0,     0,
2635        0,   301,   564,     0,     0,   302,   303,   304,   305,   306,
2636      307,   308,   309,    43,    44,   881,     0,     0,   882,   724,
2637      312,     0,     0,     0,     0,     0,     0,     0,   313,   314,
2638        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
2639        0,     0,     0,     0,     0,  1007,     0,     0,     0,     0,
2640       82,  1657,  1005,   558,     0,   393,   393,   393,   393,     0,
2641        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2642        0,     0,     0,   430,   430,     0,     0,     0,   243,     0,
2643      243,   602,     0,     0,     0,    51,     0,   868,     0,     0,
2644        0,     0,     0,     0,    51,     0,   125,     0,   868,     0,
2645        0,   564,     0,     0,     0,     0,   164,  1092,     0,     0,
2646        0,   243,   393,    51,     0,     0,   164,     0,    48,     0,
2647        0,     0,     0,     0,     0,     0,   158,   176,   189,     0,
2648        0,   243,   405,     0,     0,   225,     0,    82,   243,     0,
2649      639,     0,     0,     0,    82,    82,     0,     0,     0,     0,
2650        0,     0,     0,     0,     0,     0,     0,   243,   393,     0,
2651        0,     0,     0,     0,   243,   393,     0,     0,   243,   393,
2652      639,   639,   639,   639,     0,   189,   386,   388,   390,   391,
2653        0,     0,     0,     0,     0,   464,     0,     0,   464,     0,
2654        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2655        0,   464,     0,   464,     0,   464,     0,     0,     0,     0,
2656      402,     0,     0,     0,     0,     0,   913,   916,     0,     0,
2657        0,     0,     0,     0,     0,     0,     0,   524,   388,   390,
2658        0,     0,     0,     0,     0,  1238,     0,     0,     0,  1242,
2659        0,   730,   913,   916,     0,     0,     0,     0,     0,     0,
2660        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2661        0,     0,   553,   568,   913,   916,     0,     0,   740,   913,
2662      916,     0,     0,   913,   916,     0,     0,     0,     0,     0,
2663        0,     0,  1281,     0,     0,     0,     0,     0,     0,     0,
2664        0,     0,     0,     0,   405,   602,     0,   405,   405,     0,
2665        0,   558,     0,   604,     0,     0,     0,     0,     0,  1335,
2666       51,    51,     0,     0,   740,  1711,   176,  1346,     0,     0,
2667        0,     0,  1711,     0,     0,  1118,   677,     0,    82,     0,
2668        0,     0,     0,     0,     0,     0,     0,  1399,   393,     0,
2669        0,   393,     0,     0,     0,     0,     0,     0,     0,     0,
2670        0,     0,     0,     0,     0,   645,   645,   645,   645,     0,
2671        0,     0,     0,     0,   290,     0,     1,   291,   100,     0,
2672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2673        0,     0,   393,     0,     0,    51,     0,     0,     0,     0,
2674        0,     2,     0,     0,     0,     0,     0,     0,   405,     0,
2675        0,     0,     0,   393,     0,     0,     0,     0,     0,   430,
2676      430,     0,     0,     0,   243,   243,   243,   243,     0,     0,
2677        0,     0,     0,     0,     0,     0,     0,     0,   295,     0,
2678      386,   388,   390,     0,   296,   297,   402,     0,     0,   402,
2679        0,     0,     0,     0,     0,     0,   730,     0,   300,     0,
2680        0,     0,     0,     0,     0,     0,     0,   855,     0,     0,
2681        0,   301,   430,   430,   464,   302,   303,   304,   305,   306,
2682      307,   308,     0,     0,     0,     0,   125,     0,   698,     0,
2683        0,     0,     0,     0,    51,     0,     0,     0,   313,   314,
2684        0,     0,     0,     0,     0,     0,     0,     0,   243,   393,
2685        0,   402,     0,     0,     0,     0,   464,   464,     0,     0,
2686        0,   928,     0,     0,     0,   939,   402,     0,   464,     0,
2687        0,     0,     0,     0,   164,  1007,     0,   158,     0,  1185,
2688        0,     0,   464,   464,     0,     0,     0,     0,     0,     0,
2689        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2690        0,     0,     0,     0,   464,   464,     0,   243,     0,   464,
2691      464,  1185,     0,   464,   464,     0,     0,   189,   189,   189,
2692        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2693        0,     0,     0,     0,     0,   189,   189,     0,     0,     0,
2694        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2695      464,   393,   464,    51,     0,  1042,   393,  1051,     0,     0,
2696        0,     0,     0,     0,     0,     0,     0,     0,   639,     0,
2697        0,   639,   390,     0,    51,     0,     0,     0,     0,     0,
2698      639,     0,     0,     0,     0,     0,  1492,     0,     0,     0,
2699        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2700        0,     0,  1639,  1640,     0,     0,     0,     0,   405,   639,
2701        0,  1281,     0,   558,     0,  1650,     0,     0,  1346,     0,
2702     1654,     0,     0,   639,   639,   639,   639,     0,     0,   393,
2703        0,     0,     0,     0,   213,     0,     0,     0,     0,   459,
2704        0,     0,   459,     0,   243,   393,     0,     0,     0,   402,
2705        0,     0,     0,     0,   402,   459,     0,   459,     0,   459,
2706      558,   430,     0,   430,     0,     0,     0,   558,     0,   740,
2707        0,     0,     0,     0,   558,   740,   213,     0,  1176,     0,
2708        0,     0,     0,     0,   677,     0,   430,     0,   430,     0,
2709        0,     0,     0,     0,     0,   402,   402,     0,   402,   402,
2710        0,     0,     0,   402,   402,   402,   402,     0,     0,     0,
2711     1220,     0,     0,     0,  1220,   402,   402,   402,   402,   402,
2712      402,   402,   402,     0,   558,     0,     0,   402,     0,  1736,
2713        0,     0,   855,     0,     0,     0,     0,     0,     0,     0,
2714      558,   913,   916,     0,     0,   913,   916,     0,     0,     0,
2715        0,     0,     0,  1118,     0,     0,  1118,     0,     0,     0,
2716        0,     0,   637,     0,     0,  1118,     0,     0,     0,     0,
2717        0,     0,     0,     0,     0,     0,     0,   393,     0,   430,
2718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2719        0,     0,     0,     0,  1118,     0,     0,     0,     0,     0,
2720        0,     0,     0,     0,     0,     0,     0,     0,   645,   645,
2721      645,   645,     0,     0,     0,     0,     0,     0,     0,     0,
2722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2723        0,     0,     0,     0,   405,     0,     0,   405,     0,     0,
2724        0,     0,     0,     0,     0,     0,   430,   430,   430,   430,
2725      430,   243,   243,     0,  1434,     0,     0,     0,   430,   430,
2726      430,   430,     0,     0,     0,     0,     0,     0,   158,   855,
2727     1447,     0,     0,     0,     0,   402,     0,  1454,     0,     0,
2728      855,     0,  1462,     0,     0,     0,     0,     0,     0,     0,
2729        0,     0,     0,     0,     0,     0,     0,     0,     0,   405,
2730        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2731        0,     0,     0,     0,   405,     0,     0,     0,     0,     0,
2732      125,   823,     0,     0,     0,   430,   430,     0,     0,  1490,
2733        0,     0,     0,     0,   568,     0,     0,   402,     0,     0,
2734      125,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2735      928,     0,     0,   914,   917,     0,     0,     0,     0,     0,
2736      459,   459,     0,   464,     0,     0,     0,     0,   870,     0,
2737        0,     0,   388,     0,  1661,     0,     0,     0,   877,   914,
2738      917,   884,     0,  1664,     0,     0,   459,   459,     0,     0,
2739     1007,     0,     0,     0,     0,     0,   928,     0,     0,     0,
2740        0,   914,   917,     0,     0,     0,   914,   917,   459,   459,
2741      914,   917,     0,   459,   459,     0,   934,   459,   459,     0,
2742        0,  1007,   950,     0,   993,     0,     0,     0,     0,     0,
2743        0,   464,   464,     0,     0,   464,   464,   464,     0,     0,
2744        0,     0,  1563,   386,     0,     0,   441,     0,     0,   441,
2745        0,     0,     0,   390,   459,     0,   459,     0,     0,     0,
2746        0,     0,   441,     0,   441,     0,   441,     0,     0,     0,
2747      639,   639,     0,     0,     0,     0,     0,     0,   639,     0,
2748      639,   639,     0,     0,   639,     0,     0,     0,     0,     0,
2749        0,     0,   639,     0,     0,   639,     0,   405,     0,   213,
2750        0,     0,   405,     0,     0,     0,     0,     0,     0,   213,
2751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2752        0,     0,     0,     0,     0,   637,     0,     0,     0,   213,
2753        0,     0,   213,     0,   213,     0,   213,     0,     0,     0,
2754        0,     0,     0,  1949,  1953,     0,  1959,  1963,     0,     0,
2755        0,  1967,  1971,  1975,  1979,   637,   637,   637,   637,     0,
2756        0,     0,     0,   405,   405,   405,   405,   405,   405,   405,
2757      405,     0,   464,   464,     0,   405,     0,     0,     0,     0,
2758        0,     0,     0,     0,  1007,     0,     0,     0,     0,     0,
2759        0,     0,     0,   855,     0,     0,  1940,     0,     0,     0,
2760        0,     0,     0,     0,     0,     0,     0,     0,     0,  1736,
2761      855,     0,  1694,     0,  1650,     0,     0,  1654,   913,   916,
2762        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2763     1220,     0,     0,     0,     0,     0,     0,  1220,     0,   993,
2764        0,     0,     0,     0,     0,   993,     0,     0,   993,     0,
2765        0,     0,     0,     0,     0,  1118,  1118,     0,     0,     0,
2766        0,     0,     0,  1118,     0,  1118,  1118,     0,     0,  1118,
2767        0,   913,   916,     0,   558,     0,     0,  1118,     0,     0,
2768     1118,     0,     0,     0,     0,     0,     0,     0,  1007,     0,
2769        0,     0,     0,     0,     0,     0,     0,     0,     0,  1007,
2770        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2772        0,     0,     0,   405,     0,   639,   639,   639,   639,     0,
2773        0,   639,     0,     0,     0,   639,   639,     0,   639,     0,
2774      639,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2775        0,     0,   639,     0,     0,     0,     0,     0,     0,     0,
2776        0,     0,  2040,  2041,     0,     0,     0,   441,   441,     0,
2777        0,     0,     0,   558,     0,     0,     0,     0,     0,   946,
2778      823,   823,   823,     0,     0,   405,     0,     0,     0,     0,
2779        0,     0,     0,   441,   441,     0,     0,     0,     0,     0,
2780        0,     0,     0,     0,   459,   459,     0,     0,   213,     0,
2781        0,     0,     0,     0,     0,   441,   441,     0,     0,     0,
2782      441,   441,     0,     0,   441,   441,     0,     0,     0,     0,
2783        0,     0,     0,     0,  1774,     0,     0,     0,     0,     0,
2784        0,     0,     0,     0,     0,     0,     0,     0,  1783,     0,
2785        0,     0,     0,     0,     0,   386,     0,     0,     0,     0,
2786        0,   441,   189,   441,     0,     0,     0,   459,     0,     0,
2787        0,  1007,     0,     0,     0,     0,     0,     0,     0,     0,
2788     1484,     0,  1796,     0,   568,     0,     0,   639,     0,     0,
2789        0,     0,   993,     0,   993,     0,   639,     0,   639,     0,
2790        0,     0,     0,     0,     0,     0,     0,     0,   464,   464,
2791     1118,  1118,  1118,  1118,     0,     0,  1118,     0,     0,     0,
2792     1118,  1118,     0,  1118,     0,  1118,     0,     0,   914,   917,
2793        0,     0,   914,   917,     0,   459,   459,  1118,     0,   459,
2794      459,   459,     0,     0,     0,     0,     0,  1007,     0,     0,
2795      639,   639,     0,     0,   639,     0,   639,     0,     0,   639,
2796        0,   464,   464,   639,   386,     0,     0,     0,   329,  2135,
2797        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2798        0,     0,     0,   568,     0,     0,     0,  1007,     0,     0,
2799        0,     0,   401,     0,     0,   639,     0,     0,     0,     0,
2800      993,     0,     0,   637,     0,     0,   637,     0,     0,   213,
2801        0,     0,     0,     0,   213,   637,     0,     0,     0,     0,
2802     1583,     0,   639,     0,     0,     0,  1583,     0,     0,     0,
2803        0,     0,   213,     0,     0,     0,     0,     0,     0,     0,
2804        0,     0,     0,     0,   637,     0,   460,     0,     0,   460,
2805        0,     0,     0,     0,   401,     0,     0,     0,   637,   637,
2806      637,   637,   460,     0,   460,     0,   460,     0,     0,     0,
2807        0,     0,  1118,     0,     0,     0,   459,   459,     0,     0,
2808        0,  1118,     0,  1118,     0,     0,     0,     0,     0,     0,
2809        0,     0,     0,     0,  1908,     0,     0,     0,     0,     0,
2810        0,     0,     0,     0,     0,   913,   916,     0,   913,   916,
2811        0,     0,     0,     0,     0,     0,     0,   913,   916,   913,
2812      916,     0,     0,     0,     0,     0,     0,   383,     0,     0,
2813        0,     0,     0,     0,     0,  1118,  1118,     0,     0,  1118,
2814        0,  1118,     0,     0,  1118,     0,     0,     0,  1118,     0,
2815      401,     0,     0,     0,     0,   699,   701,     0,     0,   401,
2816      253,   993,     0,     0,     0,   401,   213,     0,   993,     0,
2817        0,     0,   993,     0,     0,     0,   329,     0,   383,     0,
2818     1118,     0,     0,     0,   913,   916,   290,     0,     1,   291,
2819      100,   292,   401,   293,   294,     0,     0,   401,     0,     0,
2820        0,     0,     0,     0,     0,     0,     0,  1118,     0,     0,
2821      464,     0,   464,     2,   566,     0,     0,     0,     0,     0,
2822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2823        0,     0,     0,     0,   401,   464,   401,   464,     0,     0,
2824        0,     0,     0,     0,     0,     0,     0,   390,     0,     0,
2825      295,     0,     0,     0,   253,   253,   296,   297,   298,     0,
2826        0,     0,     0,     0,     0,     0,     0,     0,     0,   299,
2827      300,   401,     0,     0,   441,     0,     0,   674,     0,     0,
2828        0,     0,     0,   301,     0,     0,     0,   302,   303,   304,
2829      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
2830      311,  1150,   312,     0,     0,  1151,     0,     0,     0,     0,
2831      313,   314,  1743,   315,   316,   317,   318,     0,     0,     0,
2832        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2833      253,   253,   253,     0,     0,     0,     0,     0,     0,     0,
2834        0,     0,   441,   441,     0,     0,   441,   441,   441,     0,
2835        0,   253,     0,     0,     0,     0,     0,     0,     0,     0,
2836        0,     0,     0,   823,   823,     0,     0,   460,   460,     0,
2837        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2838        0,   841,   401,     0,     0,   993,     0,   846,     0,     0,
2839        0,     0,     0,   460,   460,   464,   464,   464,   464,   464,
2840        0,     0,     0,     0,     0,   914,   917,   464,   464,   464,
2841      464,     0,   459,   459,     0,   460,   460,     0,   401,     0,
2842      460,   460,     0,     0,   460,   460,     0,     0,     0,     0,
2843      993,     0,   993,     0,     0,     0,     0,     0,     0,     0,
2844        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2845      329,     0,     0,     0,     0,     0,     0,     0,   914,   917,
2846        0,   460,   925,   460,     0,   459,   459,     0,     0,     0,
2847        0,     0,     0,     0,   464,   464,     0,     0,   401,     0,
2848        0,     0,     0,   441,   441,     0,     0,     0,     0,     0,
2849        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2850        0,     0,   993,     0,     0,   637,   637,     0,     0,     0,
2851        0,     0,     0,   637,     0,   637,   637,     0,     0,   637,
2852        0,     0,   999,     0,     0,  1004,     0,   637,     0,     0,
2853      637,     0,     0,     0,     0,     0,     0,     0,   999,     0,
2854        0,     0,     0,     0,     0,     0,     0,   401,     0,     0,
2855        0,  1187,     0,     0,     0,     0,     0,     0,   566,     0,
2856        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2857        0,   566,     0,     0,     0,     0,     0,     0,   329,     0,
2858        0,     0,   329,  1243,     0,     0,     0,     0,     0,     0,
2859        0,     0,     0,     0,   996,     0,     0,   401,     0,     0,
2860        0,   253,     0,   401,   253,     0,   401,     0,     0,     0,
2861        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2862        0,     0,     0,     0,     0,   329,     0,     0,     0,     0,
2863        0,   401,   401,   401,   401,   401,   401,   401,     0,     0,
2864      401,   401,     0,   401,   401,   401,   401,   401,   401,   401,
2865      401,     0,   329,     0,     0,     0,   213,     0,     0,     0,
2866      329,   401,   401,   401,   401,   401,   401,   401,   401,   401,
2867      401,   401,   401,   401,   401,   401,   401,   401,   401,   674,
2868      329,     0,     0,     0,     0,   674,     0,     0,     0,     0,
2869        0,     0,     0,     0,     0,     0,     0,     0,   993,     0,
2870        0,     0,     0,     0,     0,     0,     0,     0,     0,   401,
2871        0,     0,   401,   401,   459,     0,   459,     0,     0,     0,
2872        0,     0,     0,     0,     0,   253,   253,   253,   253,     0,
2873        0,     0,     0,     0,     0,     0,     0,     0,     0,   459,
2874        0,   459,     0,     0,     0,     0,     0,     0,     0,     0,
2875        0,     0,     0,   253,   253,   253,     0,     0,     0,     0,
2876      637,   637,   637,   637,     0,     0,   637,     0,     0,     0,
2877      637,   637,     0,   637,     0,   637,     0,  1210,     0,     0,
2878        0,   401,     0,   401,     0,     0,     0,   637,     0,     0,
2879        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2880        0,     0,     0,   766,     0,     0,     0,     0,     0,   996,
2881        0,   460,   460,   401,     0,   996,     0,     0,   996,   441,
2882      441,     0,   401,     0,     0,     0,     0,     0,     0,     0,
2883      347,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2885      401,     0,   401,     0,   404,     0,     0,     0,     0,     0,
2886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2887        0,   674,   441,   441,   460,     0,     0,     0,  1453,     0,
2888        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2889        0,     0,   914,   917,     0,   914,   917,     0,     0,   459,
2890      459,   459,   459,   459,   914,   917,   914,   917,     0,     0,
2891        0,   459,   459,   459,   459,     0,   404,     0,   401,     0,
2892        0,     0,   637,     0,     0,     0,     0,     0,     0,     0,
2893     1488,   637,     0,   637,     0,   566,     0,     0,     0,     0,
2894        0,     0,   460,   460,     0,     0,   460,   460,   460,     0,
2895        0,   925,     0,     0,     0,     0,     0,     0,   401,     0,
2896        0,     0,     0,     0,     0,     0,     0,     0,     0,   401,
2897        0,   914,   917,     0,     0,     0,     0,     0,   459,   459,
2898        0,     0,     0,     0,     0,   637,   637,     0,     0,   637,
2899        0,   637,     0,     0,   637,   329,   329,   925,   637,     0,
2900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2901        0,     0,   404,     0,     0,     0,     0,   700,   702,     0,
2902        0,   404,     0,     0,     0,     0,     0,   404,     0,     0,
2903      637,     0,     0,     0,     0,     0,     0,     0,   347,     0,
2904        0,     0,     0,     0,   383,     0,     0,     0,     0,     0,
2905        0,     0,     0,   566,   404,   566,     0,   637,     0,   404,
2906        0,     0,   996,   996,   996,     0,     0,     0,     0,     0,
2907        0,     0,     0,   401,     0,   401,     0,     0,     0,     0,
2908        0,     0,     0,   460,   460,   290,     0,     1,   291,   100,
2909      292,     0,   293,   294,     0,     0,   404,   401,   404,  1128,
2910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2911        0,     0,     2,     0,     0,   401,     0,     0,     0,   401,
2912        0,   441,   329,   441,     0,     0,   401,     0,     0,     0,
2913      401,     0,     0,   404,     0,     0,     0,     0,     0,     0,
2914        0,     0,     0,     0,     0,     0,   441,     0,   441,   295,
2915        0,     0,     0,     0,     0,   296,   297,   298,     0,     0,
2916        0,     0,     0,     0,     0,     0,     0,     0,   299,   300,
2917      996,     0,     0,     0,     0,   674,     0,   674,     0,     0,
2918        0,     0,   301,     0,     0,     0,   302,   303,   304,   305,
2919      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
2920     1150,   312,     0,     0,  1748,     0,     0,     0,  1749,   313,
2921      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
2922        0,     0,  1272,     0,     0,     0,     0,     0,   253,   253,
2923      253,   253,     0,     0,     0,     0,     0,     0,     0,     0,
2924        0,     0,     0,     0,   404,     0,     0,     0,     0,     0,
2925        0,   253,     0,   253,     0,  1304,  1308,  1312,  1316,  1320,
2926        0,     0,  1329,     0,     0,     0,     0,     0,  1272,     0,
2927        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2928      404,     0,     0,  1370,  1374,  1378,  1382,  1386,     0,     0,
2929     1329,     0,     0,     0,     0,     0,     0,     0,     0,   401,
2930        0,     0,   401,     0,     0,     0,   441,   441,   441,   441,
2931      441,     0,   347,     0,     0,     0,     0,     0,   441,   441,
2932      441,   441,     0,     0,     0,  1329,  1329,    80,     0,     0,
2933      996,   996,     0,     0,     0,     0,     0,   996,   996,     0,
2934      404,   996,   996,   401,     0,     0,     0,     0,     0,     0,
2935        0,     0,     0,   401,     0,     0,     0,     0,     0,     0,
2936        0,     0,     0,     0,   401,     0,     0,     0,     0,     0,
2937        0,     0,     0,    80,     0,     0,     0,     0,     0,   401,
2938        0,     0,     0,   329,     0,   441,   441,     0,   401,     0,
2939      401,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2940        0,     0,     0,     0,    80,    80,     0,   401,     0,   404,
2941        0,     0,    80,  1188,    80,     0,     0,     0,     0,   460,
2942      460,    80,    80,     0,     0,     0,     0,     0,     0,     0,
2943        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2944      347,     0,     0,     0,   347,  1244,     0,     0,     0,   674,
2945        0,     0,    80,    80,     0,     0,  1786,     0,     0,   404,
2946      401,     0,     0,     0,     0,   404,     0,     0,   404,     0,
2947        0,     0,   460,   460,     0,     0,     0,     0,     0,     0,
2948        0,     0,     0,  1453,     0,   566,     0,   347,  1799,     0,
2949        0,  1004,     0,   404,   404,   404,   404,   404,   404,   404,
2950        0,     0,   404,   404,    80,   404,   404,   404,   404,   404,
2951      404,   404,   404,     0,   347,     0,     0,     0,     0,     0,
2952        0,     0,   347,   404,   404,   404,   404,   404,   404,   404,
2953      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
2954      404,     0,   347,     0,     0,     0,     0,     0,     0,    80,
2955        0,     0,    80,     0,     0,   996,     0,     0,     0,     0,
2956        0,     0,   401,     0,     0,   841,   401,   401,   401,     0,
2957        0,   404,     0,   566,   404,   404,     0,   329,     0,     0,
2958       80,     0,   401,   401,   566,     0,     0,  1620,     0,   329,
2959        0,     0,     0,    80,     0,     0,     0,     0,     0,     0,
2960        0,     0,     0,    80,     0,    80,     0,     0,   401,   401,
2961        0,   401,   401,     0,     0,  1645,   401,   401,   401,   401,
2962        0,     0,  1652,     0,     0,     0,     0,     0,   401,   401,
2963      401,   401,   401,   401,   401,   401,     0,     0,     0,     0,
2964      401,     0,     0,   404,     0,   404,     0,     0,     0,     0,
2965        0,     0,     0,     0,     0,     0,   401,     0,     0,     0,
2966        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2967        0,   996,   996,  1272,     0,   404,     0,     0,     0,  1272,
2968        0,     0,     0,     0,   404,     0,     0,     0,     0,     0,
2969        0,     0,     0,     0,     0,     0,     0,     0,   290,     0,
2970        1,   291,   100,   292,     0,   293,   294,    80,     0,     0,
2971        0,     0,   404,     0,   404,     0,     0,     0,     0,     0,
2972        0,   460,     0,   460,     0,     2,     0,     0,     0,     0,
2973        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2974        0,     0,     0,     0,     0,     0,   460,     0,   460,     0,
2975        0,     0,     0,    80,     0,   329,   329,     0,     0,     0,
2976        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
2977      298,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2978      404,   299,   300,   674,   674,     0,  1987,     0,   401,   401,
2979        0,     0,     0,     0,     0,   301,     0,     0,   401,   302,
2980      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
2981        0,     0,   311,  1150,   312,     0,     0,  1151,     0,     0,
2982      404,     0,   313,   314,  1753,   315,   316,   317,   318,     0,
2983        0,   404,     0,     0,     0,     0,     0,     0,     0,   999,
2984        0,     0,     0,     0,    80,    80,    80,     0,    80,     0,
2985      401,    80,     0,     0,   401,   401,     0,   347,   347,     0,
2986        0,     0,    80,    80,    80,     0,     0,   996,   996,     0,
2987        0,    68,     0,     0,     0,     0,     0,     0,     0,     0,
2988        0,     0,    80,     0,     0,     0,     0,     0,     0,     0,
2989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2990        0,     0,     0,     0,     0,     0,   460,   460,   460,   460,
2991      460,     0,     0,     0,     0,     0,   111,     0,   460,   460,
2992      460,   460,     0,     0,   120,     0,     0,     0,     0,     0,
2993        0,     0,     0,     0,     0,   404,     0,   404,     0,     0,
2994        0,     0,   290,     0,     1,   291,   100,   292,   172,   293,
2995      294,     0,     0,     0,     0,   174,   120,   249,    68,   404,
2996        0,     0,   329,   224,     0,    68,    68,     0,     0,     2,
2997        0,     0,     0,     0,     0,     0,     0,   404,     0,     0,
2998      329,   404,     0,   370,   347,   460,   460,     0,   404,     0,
2999        0,     0,   404,     0,     0,     0,     0,     0,     0,     0,
3000        0,   249,     0,   120,   120,    80,   295,   474,     0,     0,
3001        0,    80,   296,   297,   298,     0,     0,     0,     0,   474,
3002        0,   249,     0,   474,     0,   299,   300,     0,     0,     0,
3003        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
3004        0,     0,     0,   302,   303,   304,   305,   306,   307,   308,
3005      309,   249,   249,   310,     0,   522,   311,  1150,   312,     0,
3006        0,  1748,     0,     0,     0,  1756,   313,   314,     0,   315,
3007      316,   317,   318,     0,     0,     0,     0,     0,     0,     0,
3008        0,     0,     0,     0,   563,     0,     0,     0,     0,     0,
3009        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3010      585,     0,     0,   587,     0,     0,     0,     0,     0,     0,
3011        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3012        0,     0,     0,     0,   601,     0,     0,   249,   249,   249,
3013        0,   120,     0,     0,     0,     0,     0,   172,     0,     0,
3014        0,     0,     0,     0,   174,     0,     0,   172,   249,    68,
3015        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3016        0,   404,     0,     0,   404,     0,     0,   707,     0,     0,
3017        0,     0,     0,   707,     0,     0,     0,     0,     0,     0,
3018        0,     0,   729,     0,     0,     0,     0,     0,     0,     0,
3019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3020        0,     0,     0,     0,     0,   404,     0,     0,     0,    80,
3021        0,     0,     0,  1942,     0,   404,     0,     0,  1945,  1947,
3022     1951,  1955,  1957,  1961,     0,     0,   404,  1965,  1969,  1973,
3023     1977,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3024        0,   404,     0,     0,     0,   347,     0,    80,     0,     0,
3025      404,     0,   404,     0,     0,     0,     0,     0,   120,     0,
3026        0,     0,     0,     0,     0,     0,     0,    80,     0,   404,
3027        0,     0,     0,     0,     1,     0,     0,     0,   601,     0,
3028      249,   249,     0,     0,   866,     0,     0,     0,     0,     0,
3029        0,     0,     0,     0,     0,     0,   866,     0,     0,     2,
3030        0,     0,     0,     0,   120,     8,     9,    10,    11,    12,
3031       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
3032       23,    24,   404,     0,     0,     0,     0,     0,     0,     0,
3033        0,     0,   563,     0,     0,     0,     0,    27,     0,     0,
3034        0,     0,     0,   224,     0,    28,    29,     0,     0,   956,
3035       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
3036        0,     0,     0,     0,     0,     0,     0,     0,     0,    80,
3037       80,    40,     0,  1119,     0,     0,     0,     0,     0,     0,
3038        0,    43,    44,     0,     0,     0,     0,     0,     0,     0,
3039        0,   249,     0,     0,     0,   120,   120,   120,   249,  1000,
3040        0,   249,   587,     0,     0,  1158,  1162,     0,     0,     0,
3041        0,     0,     0,   120,   120,   120,     0,     0,     0,     0,
3042        0,     0,     0,     0,   404,     0,     0,     0,   404,   404,
3043      404,     0,     0,   120,     0,     0,     0,     0,     0,   347,
3044        0,     0,     0,     0,   404,   404,     0,     0,     0,     0,
3045        0,   347,     0,     0,     0,     0,     0,     0,     0,     0,
3046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3047      404,   404,     0,   404,   404,     0,     0,     0,   404,   404,
3048      404,   404,     0,     0,     0,     0,     0,     0,     0,     0,
3049      404,   404,   404,   404,   404,   404,   404,   404,  1132,     0,
3050        0,    80,   404,    80,     0,     0,     0,     0,     0,     0,
3051        0,     0,     0,     0,     0,     0,     0,     0,   404,     0,
3052        0,     0,   249,   249,   249,   249,     0,     0,     0,   248,
3053        0,     0,     0,     0,     0,     0,     0,     0,   290,     0,
3054        1,   291,   100,   292,     0,   293,   294,     0,     0,     0,
3055      249,   249,   249,     0,     0,   172,   224,     0,     0,     0,
3056     1190,     0,     0,     0,     0,     2,     0,     0,     0,     0,
3057        0,     0,     0,   248,   249,     0,     0,     0,     0,     0,
3058        0,  1217,  1227,   729,     0,  1217,  1227,     0,     0,     0,
3059        0,     0,  1190,   248,     0,     0,     0,     0,     0,     0,
3060        0,     0,   295,  1249,     0,     0,   249,     0,   296,   297,
3061      298,     0,   249,     0,     0,   249,     0,   347,   347,     0,
3062        0,   299,   300,   248,   248,     0,     0,     0,     0,     0,
3063        0,     0,     0,     0,     0,   301,     0,     0,     0,   302,
3064      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
3065      404,   404,   311,  1150,   312,     0,   562,  1748,     0,     0,
3066      404,  1768,   313,   314,     0,   315,   316,   317,   318,     0,
3067        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3068        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3069        0,     0,     0,     0,   563,     0,   600,     0,     0,   248,
3070      248,   248,     0,     0,     0,     0,     0,     0,     0,     0,
3071        0,     0,   404,     0,     0,     0,   404,   404,   249,     0,
3072      248,   249,   249,     0,     0,     0,     0,     0,     0,     0,
3073        0,     0,     0,     0,     0,     0,     0,     0,     0,   706,
3074     1444,   563,     0,     0,     0,   706,     0,     0,   563,     0,
3075        0,  1444,   111,   729,   728,   563,     0,     0,     0,     0,
3076      120,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3077        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3078        0,     0,     0,     0,     0,     0,     0,     0,     0,    80,
3079        0,     0,     0,     0,     0,     0,     0,     0,   120,     0,
3080        0,     0,     0,     0,     0,   563,     0,     0,     0,     0,
3081        0,     0,     0,     0,     0,   585,     0,   587,   120,     0,
3082        0,   563,   249,     0,   347,     0,     0,     0,     0,   249,
3083      249,   290,     0,     1,   291,   100,   292,     0,   293,   294,
3084        0,   249,   347,     0,     0,     0,     0,     0,     0,     0,
3085      600,  1599,   248,   248,  1603,     0,     0,     0,     2,   249,
3086      249,   249,     0,  1618,     0,     0,     0,   601,     0,     0,
3087        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3088        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3089        0,    80,  1642,     0,     0,   295,     0,     0,     0,     0,
3090        0,   296,   297,   298,   562,     0,  1158,  1162,  1158,  1162,
3091        0,     0,     0,     0,   299,   300,     0,     0,     0,     0,
3092      120,   120,     0,     0,     0,     0,     0,     0,   301,     0,
3093        0,     0,   302,   303,   304,   305,   306,   307,   308,   309,
3094        0,     0,   310,     0,     0,   311,  1150,   312,     0,     0,
3095     1748,     0,     0,     0,  1772,   313,   314,     0,   315,   316,
3096      317,   318,     0,   248,     0,     0,     0,   249,     0,     0,
3097      248,     0,     0,   248,     0,     0,     0,     0,     0,     0,
3098        0,     0,     0,     0,     0,     0,  1132,     0,     0,     0,
3099        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3102        0,     0,     0,     0,     0,   249,   249,   249,   249,     0,
3103        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3104        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
3105      249,     0,   585,     0,   587,     0,     0,     0,     0,     0,
3106        0,     0,     0,     0,  1666,     0,     0,     0,     0,     0,
3107        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3108        0,   601,   249,     0,     0,     0,     0,     0,     0,     0,
3109        0,     0,     0,     0,   248,   248,   248,   248,     0,     0,
3110        0,  1710,     0,     0,     0,     0,     0,     0,  1710,     0,
3111        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3112        0,     0,   248,   248,   248,   251,     0,   249,   249,     0,
3113        0,     0,  1189,     0,   249,   249,     0,     0,   249,   249,
3114      290,     0,     1,   291,   100,   292,   248,   293,   294,     0,
3115        0,     0,     0,  1216,  1226,   728,     0,  1216,  1226,     0,
3116        0,     0,     0,     0,  1189,    80,     0,     2,     0,   251,
3117        0,     0,     0,     0,     0,  1248,     0,     0,   248,     0,
3118        0,     0,     0,     0,   248,     0,     0,   248,     0,   251,
3119        0,  1107,  1108,  1109,   619,  1110,  1111,  1112,  1113,   624,
3120      625,  1114,     0,     0,   295,     0,     0,     0,     0,     0,
3121      296,   297,   298,     0,     0,     0,     0,     0,    32,   251,
3122      251,     0,     0,   299,   300,  1115,     0,   628,   629,   630,
3123        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
3124        0,   302,   303,   304,   305,   306,   307,   308,   309,    43,
3125       44,   310,   565,     0,   311,  -472,   312,   631,     0,  -472,
3126        0,   242,     0,   632,   313,   314,   562,   315,   316,   317,
3127      318,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3128        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3129      248,     0,   603,   248,   248,   251,   251,   251,     0,     0,
3130        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
3131        0,   249,     0,   562,     0,     0,   251,     0,     0,     0,
3132      562,     0,     0,     0,     0,   728,     0,   562,     0,     0,
3133        0,     0,     0,     0,     0,   709,     0,     0,     0,     0,
3134      120,   709,     0,     0,     0,     0,     0,     0,     0,     0,
3135      731,     0,   249,  1852,  1854,   563,     0,     0,     0,     0,
3136        0,  1861,     0,  1864,  1599,     0,     0,  1603,     0,     0,
3137        0,     0,     0,   249,     0,  1642,     0,   562,  1877,     0,
3138        0,     0,     0,     0,   249,   249,   249,   249,     0,     0,
3139        0,     0,     0,   562,   248,     0,     0,     0,     0,     0,
3140        0,   248,   248,     0,     0,     0,     0,   290,     0,     1,
3141      291,   100,   292,   248,   293,   294,     0,     0,     0,     0,
3142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3143        0,   248,   248,   248,     2,     0,     0,     0,     0,   600,
3144        0,     0,   120,     0,     0,     0,   603,     0,   251,   251,
3145        0,     0,     0,     0,   563,     0,     0,     0,     0,     0,
3146        0,     0,     0,     0,     0,     0,     0,     0,   249,   249,
3147        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
3148        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3149      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
3150      565,     0,     0,     0,   301,     0,     0,     0,   302,   303,
3151      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
3152        0,   311,  1150,   312,  1636,     0,  1151,   249,     0,     0,
3153        0,   313,   314,     0,   315,   316,   317,   318,     0,   248,
3154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3155        0,     0,     0,     0,     0,     0,     0,     0,     0,   251,
3156        0,     0,     0,     0,     0,     0,   251,     0,     0,   251,
3157        0,   249,     0,     0,     0,     0,   249,     0,     0,     0,
3158        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3159        0,     0,     0,     0,   729,     0,     0,   248,   248,   248,
3160      248,     0,     0,     0,     0,     0,     0,     0,  2012,  2013,
3161     2014,  2015,     0,     0,  2016,     0,     0,     0,  1852,  1854,
3162      248,  1861,   248,  1864,     0,     0,     0,     0,     0,     0,
3163        0,     0,     0,     0,     0,  2025,  1665,     0,     0,     0,
3164        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
3165        0,     0,     0,   600,   248,     0,     0,     0,     0,     0,
3166        0,     0,     0,     0,   249,   249,     0,     0,     0,     0,
3167        0,     0,     0,  1709,     0,     0,     0,     0,     0,     0,
3168     1709,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3169      251,   251,   251,   251,     0,     0,     0,   246,     0,   248,
3170      248,     0,     0,     0,     0,     0,   248,   248,     0,     0,
3171      248,   248,     0,     0,     0,     0,   120,     0,   251,   251,
3172      251,     0,     0,     0,     0,     0,     0,     0,  1192,     0,
3173        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3174        0,   246,   251,     0,     0,     0,     0,   472,     0,  1219,
3175     1229,   731,     0,  1219,  1229,     0,     0,     0,     0,   472,
3176     1192,   246,     0,   472,     0,     0,     0,     0,     0,     0,
3177     2016,  1251,     0,     0,   251,     0,     0,     0,     0,  2092,
3178      251,  2095,     0,   251,     0,     0,     0,     0,     0,     0,
3179        0,   246,   246,     0,     0,     0,     0,   249,     0,   729,
3180        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3181        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3182        0,     0,     0,     0,   561,     0,     0,     0,     0,     0,
3183        0,     0,     0,  2123,  2124,     0,     0,  2092,     0,  2095,
3184        0,     0,  2128,     0,     0,     0,  2130,  -886,     0,     0,
3185     -886,  -886,  -886,     0,  -886,  -886,     0,     0,     0,     0,
3186        0,     0,   565,     0,   599,     0,     0,   246,   246,   246,
3187        0,   249,   249,     0,     0,     0,     0,     0,  2130,     0,
3188      248,     0,     0,   248,     0,     0,   251,     0,   246,   251,
3189      251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3190        0,     0,     0,     0,     0,  2166,     0,   705,     0,   565,
3191        0,  -886,     0,   705,     0,     0,   565,  -886,  -886,  -886,
3192        0,   731,     0,   565,   248,     0,     0,   562,     0,     0,
3193     -886,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3194        0,     0,     0,     0,  -886,   248,     0,     0,  -886,  -886,
3195     -886,  -886,  -886,  -886,  -886,  -886,   248,   248,   248,   248,
3196        0,     0,     0,  -886,  -886,     0,  -886,  -886,  -886,     0,
3197        0,  -886,  -886,   565,  -886,  -886,  -886,  -886,     0,  1880,
3198        0,     1,   291,   100,   292,     0,   293,   294,     0,   565,
3199      251,     0,     0,     0,     0,     0,     0,   251,   251,     0,
3200        0,     0,     0,     0,     0,     0,     2,     0,     0,   251,
3201        0,     0,     0,     0,     0,     0,     0,     0,   599,     0,
3202      246,   246,     0,     0,   865,     0,   562,   251,   251,   251,
3203        0,     0,     0,     0,     0,   603,   865,     0,     0,     0,
3204      248,   248,     0,   295,     0,     0,     0,     0,     0,   296,
3205      297,   298,     0,     0,     0,     0,     0,     0,     0,     0,
3206        0,     0,   299,   300,     0,     0,     0,     0,     0,     0,
3207        0,     0,   561,     0,     0,     0,   301,     0,     0,     0,
3208      302,   303,   304,   305,   306,   307,   308,   309,     0,   955,
3209      310,     0,     0,   311,  1150,   312,  1881,     0,  1151,   248,
3210        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
3211        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3212        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3213        0,   246,     0,     0,     0,   251,     0,     0,   246,     0,
3214        0,   246,     0,   248,     0,     0,     0,     0,   248,     0,
3215        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3216        0,     0,     0,     0,     0,     0,   728,     0,     0,     0,
3217        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3218        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3219        0,     0,     0,   251,   251,   251,   251,     0,     0,     0,
3220        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3221        0,     0,     0,     0,     0,     0,   251,     0,   251,     0,
3222        0,   248,     0,     0,     0,     0,     0,     0,     0,     0,
3223        0,     0,  1668,     0,     0,     0,   248,   248,     0,     0,
3224        0,     0,     0,     0,     0,     0,     0,     0,     0,   603,
3225      251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3226        0,     0,   246,   246,   246,   246,     0,     0,     0,  1712,
3227        0,     0,     0,     0,     0,     0,  1712,     0,     0,     0,
3228        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3229      246,   246,   246,     0,     0,   251,   251,     0,     0,     0,
3230        0,     0,   251,   251,     0,     0,   251,   251,     0,     0,
3231        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
3232        0,  1215,  1225,     0,     0,  1215,  1225,     0,     0,     0,
3233        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3234        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
3235        0,     0,   246,     0,     0,   246,     0,     0,   247,     0,
3236        0,     0,     0,     0,     0,     0,     0,     0,     0,   248,
3237        0,   728,     0,     0,     0,     0,     0,     0,     0,     0,
3238        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3239        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3240        0,     0,   247,     0,     0,     0,     0,     0,   247,     0,
3241        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3242      247,     0,   247,     0,   247,     0,     0,     0,     0,     0,
3243        0,     0,     0,     0,   561,     0,     0,     0,     0,     0,
3244        0,     0,     0,   248,   248,     0,     0,     0,     0,     0,
3245        0,     0,   247,   247,     0,     0,     0,     0,   246,     0,
3246        0,   246,   246,     0,     0,     0,     0,     0,     0,     0,
3247        0,     0,     0,     0,     0,     0,   251,     0,     0,   251,
3248     1443,   561,     0,     0,     0,     0,     0,     0,   561,     0,
3249        0,  1443,     0,     0,     0,   561,     0,     0,     0,     0,
3250        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3252      251,     0,     0,   565,     0,   247,     0,     0,   247,   247,
3253      247,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3254        0,   251,     0,     0,     0,   561,     0,     0,     0,   247,
3255        0,     0,   251,   251,   251,   251,     0,     0,     0,     0,
3256        0,   561,   246,     0,     0,     0,     0,     0,   247,   246,
3257      246,     0,     0,     0,   247,     0,     0,     0,     0,     0,
3258        0,   246,     0,     0,     0,     0,     0,     0,     0,     0,
3259        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
3260      246,   246,     0,     0,     0,     0,     0,   599,     0,     0,
3261        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3262        0,     0,   565,     0,     0,     0,     0,   193,     0,     1,
3263        0,     0,     0,     0,     0,     0,   251,   251,     0,     0,
3264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3265        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
3266        8,     9,    10,   554,    12,    13,    14,    15,    16,    17,
3267       18,    19,    20,    21,    22,    23,    24,     0,     0,   247,
3268        0,   247,   247,     0,     0,   247,     0,     0,     0,     0,
3269        0,   199,    27,     0,     0,   251,     0,   247,     0,     0,
3270       28,    29,     0,     0,     0,    32,     0,   246,    35,    36,
3271        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
3272        0,     0,     0,     0,     0,     0,    40,     0,     0,   252,
3273        0,     0,     0,     0,     0,     0,    43,    44,    45,   251,
3274        0,   555,  1038,     0,   251,     0,     0,     0,     0,     0,
3275      247,     0,   556,     0,     0,     0,     0,     0,     0,     0,
3276        0,     0,   731,     0,     0,   246,   246,   246,   246,     0,
3277        0,     0,     0,   252,     0,     0,     0,     0,     0,   252,
3278        0,     0,     0,     0,     0,     0,     0,     0,   246,     0,
3279      246,   252,   247,   252,     0,   252,     0,     0,     0,   247,
3280        0,     0,   247,     0,     0,     0,     0,     0,     0,     0,
3281        0,     0,     0,     0,     0,     0,     0,   251,     0,     0,
3282        0,   599,   246,   252,   252,     0,     0,     0,     0,     0,
3283        0,     0,   251,   251,     0,     0,     0,     0,     0,     0,
3284        0,  1708,     0,     0,     0,     0,     0,     0,  1708,     0,
3285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3286        0,     0,     0,     0,     0,     0,     0,   246,   246,     0,
3287        0,     0,     0,     0,   246,   246,     0,     0,   246,   246,
3288        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3289        0,     0,     0,     0,     0,     0,   252,     0,     0,   252,
3290      252,   252,     0,     0,     0,     0,     0,     0,     0,     0,
3291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3292      252,     0,     0,   247,   247,   247,   247,     0,     0,     0,
3293        0,     0,     0,     0,     0,     0,     0,     0,     0,   252,
3294        0,     0,     0,     0,     0,   252,     0,     0,     0,     0,
3295        0,   247,   247,   247,     0,     0,     0,     0,     0,     0,
3296        0,     0,     0,     0,     0,   251,     0,   731,     0,     0,
3297        0,     0,     0,     0,     0,   247,     0,     0,     0,     0,
3298        0,     0,   247,   247,     0,     0,   247,   247,     0,     0,
3299        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3300        0,     0,     0,     0,     0,     0,     0,   247,     0,     0,
3301        0,     0,     0,   247,     0,     0,   247,     0,     0,     0,
3302        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3303        0,     0,     0,     0,     0,     0,     0,     0,     0,   251,
3304      251,     0,     0,     0,     0,     0,     0,     0,   246,     0,
3305      252,   246,   252,   252,     0,     0,   252,     0,     0,     0,
3306        0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
3307        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3308        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3309        0,     0,   246,     0,     0,   561,     0,     0,     0,     0,
3310        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3311        0,     0,     0,   246,     0,     0,     0,     0,     0,   247,
3312        0,   252,   247,   247,   246,   246,   246,   246,     0,     0,
3313        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3314        0,   247,     0,     0,     0,     0,     0,     0,     0,     0,
3315        0,     0,   247,     0,     0,     0,     0,     0,    85,     0,
3316        0,     0,     0,   252,     0,     0,     0,     0,     0,     0,
3317      252,     0,     0,   252,     0,     0,     0,     0,     0,     0,
3318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3319        0,     0,     0,     0,   561,     0,     0,     0,     0,     0,
3320        0,     0,     0,   114,   126,     0,     0,     0,   246,   246,
3321        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3322        0,     0,     0,   247,     0,     0,     0,     0,     0,     0,
3323      247,   247,     0,     0,     0,   177,   126,     0,     0,     0,
3324      222,     0,   247,     0,     0,    85,     0,     0,     0,     0,
3325        0,     0,    85,    85,     0,     0,     0,     0,     0,     0,
3326      247,   247,   247,     0,     0,     0,     0,   246,   247,     0,
3327      371,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3328        0,     0,     0,   380,     0,     0,     0,     0,     0,     0,
3329        0,     0,     0,     0,   252,   252,   252,   252,     0,     0,
3330        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3331        0,   246,     0,     0,     0,     0,   246,     0,     0,     0,
3332        0,     0,   252,   252,   252,     0,     0,     0,     0,     0,
3333        0,     0,     0,     0,   521,   644,     0,     0,     0,     0,
3334        0,     0,     0,     0,     0,     0,   252,   537,     0,     0,
3335        0,     0,     0,   252,   252,     0,     0,   252,   252,     0,
3336        0,     0,     0,     0,     0,     0,     0,     0,   247,     0,
3337        0,   570,     0,     0,     0,     0,     0,     0,   252,     0,
3338        0,     0,     0,     0,   252,     0,     0,   252,   727,   246,
3339        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3340        0,     0,     0,     0,   246,   246,   403,     0,     0,     0,
3341        0,   126,     0,     0,     0,     0,     0,     0,     0,     0,
3342        0,     0,     0,     0,   177,     0,   247,   247,   247,   247,
3343        0,     0,     0,     0,   678,     0,    85,     0,     0,     0,
3344        0,     0,     0,     0,     0,     0,     0,     0,     0,   247,
3345        0,   247,     0,     0,     0,     0,     0,     0,     0,     0,
3346        0,     0,     0,     0,     0,     0,     0,     0,   403,     0,
3347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3348        0,     0,   247,   247,     0,     0,     0,     0,     0,     0,
3349      252,     0,     0,   252,   252,     0,     0,     0,     0,     0,
3350        0,     0,   247,   727,     0,     0,     0,     0,     0,   247,
3351        0,     0,   252,     0,     0,     0,     0,     0,     0,     0,
3352        0,     0,     0,   252,     0,     0,     0,     0,   247,   247,
3353        0,     0,     0,     0,     0,   247,   247,   246,     0,   247,
3354      247,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3355        0,     0,     0,     0,   290,     0,     1,   291,   100,   292,
3356        0,   293,   294,     0,   686,   856,     0,     0,     0,     0,
3357        0,     0,     0,   403,     0,     0,     0,     0,     0,   403,
3358        0,     2,     0,     0,   126,     0,     0,     0,     0,     0,
3359        0,     0,     0,     0,   252,     0,     0,     0,     0,     0,
3360        0,   252,   252,     0,     0,     0,     0,     0,     0,     0,
3361        0,   246,   246,   252,     0,     0,     0,     0,   295,   929,
3362        0,     0,   937,     0,   296,   297,   298,     0,     0,     0,
3363        0,   252,   252,   252,     0,     0,     0,   299,   300,   252,
3364        0,     0,     0,     0,     0,     0,     0,     0,   403,     0,
3365      403,   301,     0,     0,     0,   302,   303,   304,   305,   306,
3366      307,   308,   309,     0,     0,   310,     0,     0,   311,  1150,
3367      312,     0,     0,  1151,     0,   126,   126,   126,   313,   314,
3368     1902,   315,   316,   317,   318,   403,     0,     0,     0,     0,
3369        0,     0,     0,   126,   126,     0,     0,     0,     0,     0,
3370        0,     0,     0,  1130,     0,     0,     0,     0,     0,   247,
3371        0,     0,   247,  1043,     0,  1052,     0,  1148,     0,     0,
3372        0,     0,     0,     0,     0,     0,  1054,     0,   644,   644,
3373      644,   644,     0,     0,     0,     0,     0,     0,     0,   252,
3374        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3375        0,     0,     0,   247,     0,     0,     0,     0,     0,     0,
3376        0,     0,   537,     0,     0,     0,     0,     0,     0,     0,
3377        0,     0,     0,     0,   247,   727,     0,     0,     0,     0,
3378        0,     0,     0,     0,     0,   247,   247,   247,   247,     0,
3379        0,     0,     0,     0,     0,     0,   994,   252,   252,   252,
3380      252,     0,     0,  1148,     0,     0,     0,     0,     0,     0,
3381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3382      252,     0,   252,     0,     0,     0,     0,     0,  1279,     0,
3383        0,     0,   403,     0,     0,  1174,     0,     0,     0,     0,
3384        0,   738,   678,     0,     0,     0,     0,     0,     0,     0,
3385        0,     0,     0,   252,   252,     0,     0,   765,     0,     0,
3386        0,     0,     0,     0,     0,     0,  1332,     0,  1222,   247,
3387      247,     0,  1222,   252,  1344,     0,     0,     0,     0,     0,
3388      252,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3389      856,     0,   403,     0,  1396,     0,     0,     0,     0,   252,
3390      252,     0,     0,     0,     0,   609,   252,   252,     0,     0,
3391      252,   252,     0,     0,     0,     0,     0,     0,     0,     0,
3392        0,     0,     0,     0,     0,     0,     0,     0,   247,  1428,
3393     1432,     0,     2,   194,   195,   196,   197,   198,   226,   227,
3394      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
3395      236,   237,    22,    23,    24,     0,     0,     0,     0,   727,
3396        0,  1182,     0,     0,     0,     0,     0,     0,     0,     0,
3397      238,     0,   247,     0,     0,     0,     0,   247,    28,    29,
3398        0,     0,     0,    32,     0,     0,     0,     0,     0,   239,
3399       38,   240,     0,     0,     0,     0,     0,     0,     0,     0,
3400        0,     0,     0,     0,   241,     0,     0,     0,     0,     0,
3401        0,   994,   856,  1435,    43,    44,     0,   994,     0,     0,
3402      994,     0,     0,     0,     0,     0,   242,   856,  1448,     0,
3403        0,     0,   726,     0,     0,  1455,     0,     0,   856,   114,
3404      126,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3405      247,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3406        0,     0,     0,     0,     0,   247,   247,     0,     0,     0,
3407        0,     0,     0,     0,     0,     0,     0,     0,   126,     0,
3408      252,     0,     0,   252,     0,     0,  1487,     0,     0,     0,
3409        0,     0,   570,     0,     0,     0,     0,     0,   126,     0,
3410        0,     0,     0,     0,     0,     0,     0,     0,   929,     0,
3411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3412        0,     0,     0,   403,   252,     0,   403,   403,     0,     0,
3413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3414        0,     0,     0,     0,     0,   252,     0,   726,     0,     0,
3415        0,     0,     0,  1127,   929,     0,   252,   252,   252,   252,
3416        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3417        0,     0,     0,     0,     0,     0,   644,     0,     0,   644,
3418     1606,  1608,     0,  1611,     0,     0,     0,     0,     0,     0,
3419        0,  1621,     0,     0,     0,   994,     0,   403,   247,  1630,
3420     1564,     0,     0,     0,     0,     0,  1148,     0,     0,  1572,
3421        0,     0,     0,     0,     0,     0,     0,   644,     0,     0,
3422        0,     0,     0,     0,  1148,     0,     0,   403,     0,  1148,
3423        0,   644,   644,   644,   644,     0,   403,     0,     0,     0,
3424      252,   252,     0,     0,     0,     0,     0,     0,     0,     0,
3425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3426        0,     0,     0,     0,   994,     0,   994,     0,     0,     0,
3427        0,     0,   247,   247,     0,     0,   738,     0,     0,  1679,
3428        0,     0,     0,     0,     0,  1688,     0,     0,     0,     0,
3429     1280,     0,     0,     0,     0,     0,     0,     0,     0,   252,
3430        0,     0,     0,     0,     0,     0,     0,     0,  1148,  1303,
3431     1307,  1311,  1315,  1319,     0,     0,  1328,  1334,     0,     0,
3432        0,     0,   738,     0,     0,  1345,     0,     0,     0,     0,
3433        0,     0,   403,     0,     0,     0,     0,  1369,  1373,  1377,
3434     1381,  1385,     0,   252,  1328,  1398,     0,  1129,   252,     0,
3435        0,   856,     0,     0,     0,  1148,     0,     0,     0,     0,
3436        0,  1147,     0,     0,     0,  1152,     0,     0,   856,     0,
3437     1222,     0,   994,     0,     0,     0,     0,     0,  1701,  1328,
3438     1328,     0,     0,   403,     0,     0,     0,     0,  1222,     0,
3439        0,     0,     0,     0,     0,  1222,     0,     0,     0,     0,
3440        0,     0,     0,     0,     0,     0,     0,  1148,     0,     0,
3441        0,     0,     0,     0,     0,     0,     0,     0,     0,   726,
3442     1148,   252,     0,     0,     0,     0,     0,     0,     0,     0,
3443        0,     0,     0,  1231,     0,     0,   252,   252,     0,     0,
3444        0,     0,     0,     0,     0,     0,     0,  1147,  1152,     0,
3445        0,   290,     0,     1,   291,   100,   292,     0,   293,   294,
3446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3447        0,  1148,  1278,     0,     0,     0,     0,     0,     2,     0,
3448        0,     0,     0,     0,     0,     0,     0,   403,     0,   403,
3449        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3450        0,     0,     0,  1148,     0,     0,     0,  1148,     0,     0,
3451     1330,   403,     0,     0,     0,   295,     0,     0,  1343,     0,
3452        0,   296,   297,   298,     0,     0,     0,     0,     0,     0,
3453        0,     0,     0,   994,   299,   300,     0,     0,  1394,     0,
3454      994,     0,     0,     0,   994,     0,     0,     0,   301,     0,
3455        0,     0,   302,   303,   304,   305,   306,   307,   308,   309,
3456        0,     0,   310,     0,     0,   311,  1150,   312,     0,   252,
3457     1151,     0,     0,  1426,  1430,   313,   314,  1905,   315,   316,
3458      317,   318,     0,     0,     0,     0,     0,     0,     0,     0,
3459        0,     0,  1775,     0,     0,     0,     0,     0,     0,     0,
3460        0,     0,     0,   726,     0,  1782,     0,     0,     0,     0,
3461        0,     0,  1785,     0,     0,     0,     0,     0,     0,     0,
3462      380,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3464     1455,  1127,   570,   252,   252,     0,     0,     0,     0,     0,
3465        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3466        0,     0,     0,     0,     0,     0,     0,     0,     0,  1280,
3467        0,     0,     0,     0,     0,     0,  1345,     0,   644,   644,
3468        0,     0,  1148,     0,  1148,     0,     0,  1148,   644,     0,
3469        0,     0,     0,  1868,  1871,     0,  1873,     0,     0,     0,
3470        0,     0,     0,     0,     0,     0,  1148,     0,  1884,     0,
3471        0,     0,     0,   403,     0,     0,   403,     0,     0,     0,
3472        0,  1838,     0,     0,     0,     0,     0,   738,     0,     0,
3473        0,     0,     0,   738,     0,     0,     0,     0,     0,     0,
3474        0,   570,     0,     0,     0,     0,     0,     0,     0,     0,
3475        0,     0,     0,     0,     0,  1148,     0,   994,     0,     0,
3476        0,     0,     0,     0,  1148,     0,     0,   403,     0,     0,
3477        0,     0,     0,     0,     0,     0,     0,     0,   403,     0,
3478        0,     0,     0,     0,     0,     0,     0,  1735,     0,     0,
3479        0,     0,   290,   403,     1,   291,   100,   292,     0,   293,
3480      294,     0,   994,     0,   994,     0,     0,     0,     0,     0,
3481        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
3482        0,   994,     0,     0,  1605,  1607,     0,  1610,     0,     0,
3483        0,     0,     0,     0,     0,  1129,     0,     0,  1152,     0,
3484        0,     0,     0,  1629,     0,     0,     0,     0,     0,     0,
3485     1147,  1152,  1909,     0,     0,     0,   295,     0,     0,     0,
3486        0,     0,   296,   297,   298,     0,     0,     0,  1147,  1152,
3487        0,     0,     0,  1147,   994,   299,   300,     0,     0,     0,
3488        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
3489        0,     0,     0,   302,   303,   304,   305,   306,   307,   308,
3490      309,     0,     0,   310,     0,     0,   311,  1150,   312,  1881,
3491        0,  1151,     0,     0,     0,     0,   313,   314,     0,   315,
3492      316,   317,   318,  1678,     0,  1148,     0,     0,     0,  1687,
3493        0,     0,  1435,     0,     0,     0,     0,     0,     0,   644,
3494     1148,     0,     0,     0,     0,     0,     0,  1148,     0,     0,
3495        0,  1873,  1147,  2023,  1785,     0,     0,     0,     0,     0,
3496        0,     0,  2029,     0,     0,     0,     0,     0,     0,     0,
3497        0,     0,     0,     0,     0,     0,   403,     0,     0,   116,
3498      403,   403,   403,     0,     0,     0,   133,     0,     0,     0,
3499        0,     0,     0,     0,     0,     0,   403,   403,     0,  1147,
3500     1152,     0,     0,     0,     0,   727,     0,     0,     0,   156,
3501      165,   188,     0,     0,     0,     0,     0,     0,     0,     0,
3502        0,     0,  1948,  1952,     0,  1958,  1962,     0,     0,     0,
3503     1966,  1970,  1974,  1978,     0,     0,     0,     0,     0,     0,
3504        0,     0,  1948,  1952,  1958,  1962,  1966,  1970,  1974,  1978,
3505      119,  1147,     0,  1152,   403,     0,     0,     0,   116,   116,
3506        0,     0,     0,     0,  1147,  1152,  1701,     0,     0,     0,
3507      994,     0,     0,     0,     0,   484,     0,     0,     0,     0,
3508        0,   119,   119,     0,     0,     0,     0,     0,     0,     0,
3509        0,   515,     0,     0,     0,     0,  2084,  2087,     0,  1148,
3510        0,  1148,     0,     0,   644,  1148,   644,     0,     0,     0,
3511      116,     0,     0,     0,     0,  1147,     0,  1152,     0,     0,
3512        0,     0,     0,     0,     0,     0,     0,     0,     0,   119,
3513      119,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3514        0,     0,     0,     0,     0,   156,   559,  1147,     0,  1152,
3515        0,  1147,     0,  1152,     0,     0,     0,     0,     0,     0,
3516     1148,     0,     0,  1148,     0,     0,     0,     0,     0,     0,
3517        0,   644,     0,     0,     0,     0,     0,     0,     0,     0,
3518        0,   119,     0,     0,     0,     0,   165,     0,     0,     0,
3519        0,     0,     0,     0,     0,     0,     0,     0,     0,   165,
3520        0,     0,   403,   403,     0,     0,  1148,     0,     0,   559,
3521        0,     0,   403,     0,     0,     0,     0,   567,     0,     0,
3522        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3523        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3524        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3525        0,     0,     0,     0,     0,     0,     0,   119,     0,     0,
3526        0,     0,     0,     0,   994,     0,     0,  1735,   403,   403,
3527      119,     0,  1944,  1946,  1950,  1954,  1956,  1960,     0,     0,
3528      675,  1964,  1968,  1972,  1976,     0,     0,     0,     0,     0,
3529        0,     0,     0,  1946,  1950,  1956,  1960,  1964,  1968,  1972,
3530     1976,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3531     1848,     0,     0,   116,     0,     0,     0,     0,     0,   116,
3532        0,     0,     0,     0,     0,     0,  1147,  1152,  1147,  1152,
3533        0,  1147,  1863,   193,     0,     1,     0,  1605,  1870,     0,
3534     1629,     0,  1152,     0,     0,     0,     0,     0,     0,     0,
3535     1147,  1152,  1629,     0,     0,     0,     0,     0,     0,   559,
3536        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
3537       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
3538       22,    23,    24,     0,   119,     0,     0,     0,     0,     0,
3539      567,     0,     0,     0,   559,     0,     0,   199,    27,  1147,
3540     1152,     0,     0,     0,     0,     0,    28,    29,  1147,  1152,
3541      156,    32,     0,     0,    35,    36,     0,    37,    38,    39,
3542        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3543      119,     0,    40,     0,     0,     0,     0,     0,     0,     0,
3544        0,     0,    43,    44,    45,     0,     0,   854,  1038,     0,
3545      116,   116,   116,     0,   116,     0,     0,   116,   556,     0,
3546        0,     0,     0,     0,     0,   567,     0,     0,   116,   116,
3547      116,     0,     0,     1,     0,     0,     0,     0,     0,     0,
3548        0,     0,     0,     0,     0,     0,   515,     0,   559,     0,
3549      116,     0,     0,     0,     0,     0,     0,     0,     2,     0,
3550        0,     0,     0,   116,     8,     9,    10,    11,    12,    13,
3551       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
3552       24,   119,   119,   119,     0,   119,     0,     0,   675,     0,
3553        0,     0,     0,     0,     0,     0,    27,     0,     0,   119,
3554      119,   119,     0,     0,    28,    29,     0,     0,     0,    32,
3555        0,     0,    35,    36,     0,    37,    38,    39,     0,   119,
3556        0,   567,     0,     0,     0,     0,     0,     0,     0,  1147,
3557       40,     0,     0,     0,   567,     0,     0,     0,     0,     0,
3558       43,    44,    45,     0,  1147,   854,     0,     0,     0,  1152,
3559        0,  1147,  1863,     0,  1152,  1629,   556,  2022,     0,  2024,
3560        0,     0,     0,  1170,     0,  1152,  2028,     0,     0,     0,
3561        0,   116,     0,     0,     0,     0,     0,   559,     0,     0,
3562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3563        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3564        0,     0,     0,     0,     0,     0,     0,     0,     0,   726,
3565      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
3566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3567        0,     0,     0,     0,     0,     0,     0,     2,     0,     0,
3568        0,     0,   675,     0,     0,     0,     0,     0,   675,     0,
3569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3570        0,  1107,  1108,  1109,   619,  1110,  1111,  1112,  1113,   624,
3571      625,  1114,     0,     0,   295,     0,     0,     0,     0,     0,
3572      296,   297,   298,     0,     0,     0,     0,     0,    32,     0,
3573        0,     0,     0,   299,   300,  1115,     0,   628,   629,   630,
3574     2083,  2086,     0,  1147,  1152,  1147,     0,   301,     0,  1147,
3575     1863,   302,   303,   304,   305,   306,   307,   308,   309,    43,
3576       44,   310,     0,     0,   311,  1150,   312,   631,     0,  1151,
3577        0,   242,     0,   632,   313,   314,     0,   315,   316,   317,
3578      318,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3579        0,     0,     0,     0,     1,     0,     0,     0,     0,     0,
3580        0,   156,     0,   559,  1147,  1152,     0,  1147,  1863,     0,
3581      559,     0,  2129,     0,     0,   559,     0,     0,     0,     2,
3582      194,   195,   196,   197,   198,   226,   227,   228,   229,   230,
3583      231,   232,   233,   234,   235,    18,    19,   236,   237,    22,
3584       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
3585     1147,     0,     0,   116,     0,     0,     0,   238,     0,     0,
3586        0,     0,   116,     0,     0,    28,    29,   559,     0,     0,
3587       32,     0,     0,   116,   567,     0,   239,    38,   240,     0,
3588        0,   567,     0,   559,     0,     0,   119,     0,     0,     0,
3589        0,   241,     0,     0,     0,     0,     0,     0,     0,     0,
3590        0,    43,    44,    45,     0,     0,  1212,     0,   290,     0,
3591        1,   291,   100,   292,     0,   293,   294,  1213,     0,     0,
3592        0,     0,     0,     0,   119,     0,     0,     0,     0,   559,
3593        0,     0,     0,   567,     0,     2,     0,     0,   567,     0,
3594        0,     0,     0,     0,   119,     0,     0,     0,     0,     0,
3595        0,     0,     0,     0,   567,     0,     0,     0,     0,  1107,
3596     1108,  1109,   619,  1110,  1111,  1112,  1113,   624,   625,  1114,
3597        0,     0,   295,     0,     0,   116,   116,     0,   296,   297,
3598      298,     0,     0,     0,     0,   116,    32,   116,     0,     0,
3599        0,   299,   300,  1115,     0,   628,   629,   630,     0,     0,
3600      567,     0,     0,     0,     0,   301,     0,     0,     0,   302,
3601      303,   304,   305,   306,   307,   308,   309,    43,    44,   310,
3602        0,     0,   311,     0,   312,   631,     0,     0,     0,   242,
3603        0,   632,   313,   314,     0,   315,   316,   317,   318,     0,
3604        0,     0,     0,     0,     0,     0,   119,   119,     0,     0,
3605        0,     0,     0,     0,     0,     0,   567,     0,   567,     0,
3606        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3609        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3610        0,     0,     0,     0,     0,     0,     0,   116,     0,   116,
3611        0,  -362,   745,     0,  -362,  -362,  -362,  -362,   746,   747,
3612      748,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3613     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3614     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3615     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3616     -362,  -362,     0,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3617     -362,  -362,  -362,  -362,     0,     0,  -362,  -362,   675,  -362,
3618      675,     0,  -362,  -362,  -362,  -362,  -362,     0,     0,  -362,
3619     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3620     -362,  -362,  -362,  -362,  -362,  -362,     0,  -362,     0,  -362,
3621     -362,  -362,     0,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3622     -362,  -362,  -362,  -362,  -362,  -362,   749,  -362,  -362,  -362,
3623     -362,  -362,  -362,  -362,   750,  -362,  -362,   751,  -362,  -362,
3624     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,     0,     0,
3625        0,   745,     0,     0,     0,     0,     0,   746,   747,   748,
3626     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,     0,     0,
3627        0,     0,     0,     0,     0,     0,     0,     0,  -362,  -362,
3628     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3629     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3630     -362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3631        0,     0,     0,     0,     0,     0,  -362,     0,     0,     0,
3632        0,     0,     0,     0,  -362,  -362,     0,     0,     0,  -362,
3633        0,     0,     0,     0,     0,  -362,  -362,  -362,     0,     0,
3634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3635     -362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3636     -362,  -362,  -362,  -362,  -362,   749,     0,     0,  -362,  1545,
3637     -362,  -362,     0,   750,     0,     0,   751,     0,  -362,  -362,
3638     -362,   116,  -362,  -362,  -362,  -362,  -362,     0,   116,     0,
3639        0,     0,     0,     0,     0,   116,     0,     0,     0,     0,
3640        0,     0,     0,     0,     0,     0,  2026,     0,     1,   291,
3641      100,   292,     0,   293,   294,   116,     0,   559,     0,     0,
3642      116,     0,     0,   116,     0,     0,     0,     0,     0,     0,
3643        0,     0,     0,     2,     0,     0,     0,     0,     0,     0,
3644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3645        0,     0,   567,     0,     0,     0,     0,     0,     0,   567,
3646        0,     0,     0,     0,     0,     0,   119,     0,     0,     0,
3647      295,     0,     0,     0,     0,     0,   296,   297,   298,     0,
3648        0,     0,     0,     0,     0,     0,   567,     0,   567,   299,
3649      300,   567,     0,     0,   567,     0,     0,   116,     0,     0,
3650        0,     0,     0,   301,     0,   116,     0,   302,   303,   304,
3651      305,   306,   307,   308,   309,     0,   559,   310,     0,     0,
3652      311,  1150,   312,  1881,     0,  1151,     0,     0,     0,     0,
3653      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
3654        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3655        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3656        0,  -469,  1143,     0,  -469,  -469,  -469,  -469,   119,  -469,
3657     -469,     0,     0,     0,     0,     0,   567,     0,     0,     0,
3658        0,     0,     0,     0,     0,     0,     0,   567,     0,  -469,
3659     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3660     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3661     -469,  -469,     0,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3662     -469,  -469,  -469,  -469,     0,     0,  -469,  -469,     0,  -469,
3663        0,     0,  -469,  -469,  -469,  -469,  -469,     0,     0,  -469,
3664     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3665     -469,  -469,  -469,  -469,  -469,  -469,     0,  -469,     0,  -469,
3666     -469,  -469,     0,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3667     -469,  -469,  -469,  -469,     0,     0,  -469,  -469,  -469,  -469,
3668        0,  -469,  -469,  -469,  1144,  -469,  -469,  -469,     0,  -469,
3669     -469,  -469,  -469,     0,     0,     0,     0,     0,     0,     0,
3670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3671        0,     0,     0,     0,     0,   116,   116,     0,   116,     0,
3672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3673        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3674        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3675        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3676        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3677        0,   116,     0,     0,     0,     0,     0,     0,     0,     0,
3678        0,     0,     0,     0,     0,     0,   567,   567,     0,   567,
3679        0,  -364,  1196,     0,  -364,  -364,  -364,  -364,  1197,  1198,
3680     1199,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,
3681     -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,
3682     -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,
3683     -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,
3684     -364,  -364,   119,  -364,  -364,  -364,  -364,  -364,  -364,  -364,
3685     -364,  -364,  -364,  -364,     0,     0,  -364,  -364,     0,  -364,
3686        0,     0,  -364,  -364,  -364,  -364,  -364,     0,     0,  -364,
3687     -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,
3688     -364,  -364,  -364,  -364,  -364,  -364,     0,  -364,     0,  -364,
3689     -364,  -364,     0,  -364,  -364,  -364,  -364,  -364,  -364,  -364,
3690     -364,  -364,  -364,  -364,  -364,  -364,  1200,  -364,  -364,  -364,
3691     -364,  -364,  -364,  -364,  1201,  -364,  -364,  1202,  -364,  -364,
3692     -364,  -364,  -364,  -364,  -364,  -364,  -364,  -364,  -469,  1143,
3693        0,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3694     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3695     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3696     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3697     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,     0,
3698     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3699     -469,     0,     0,  -469,  -469,     0,  -469,     0,     0,  -469,
3700     -469,  -469,  -469,  -469,     0,     0,  -469,  -469,  -469,  -469,
3701     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3702     -469,  -469,  -469,     0,  -469,     0,  -469,  -469,  -469,     0,
3703     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3704     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3705     -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,  -469,
3706     -469,  -469,  -469,  -469,  -469,  -302,   290,     0,     1,   291,
3707      100,   292,  -302,   293,   294,  -302,  -302,  -302,  -302,  -302,
3708     -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
3709     -302,  -302,  -302,     2,  -302,  -302,  -302,  -302,  -302,  -302,
3710     -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
3711     -302,  -302,  -302,  -302,  -302,  -302,     0,  -302,  -302,  -302,
3712     -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,     0,     0,
3713      295,  -302,     0,  -302,     0,     0,   296,   297,   298,  -302,
3714     -302,     0,     0,  -302,  -302,  -302,  -302,  -302,  -302,   299,
3715      300,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
3716        0,  -302,     0,   301,  -302,  -302,     0,   302,   303,   304,
3717      305,   306,   307,   308,   309,  -302,  -302,   310,  -302,  -302,
3718      311,  1246,   312,  -302,  -302,  1146,  -302,  -302,  -302,  -302,
3719      313,   314,  -302,   315,   316,   317,   318,  -302,  -302,  -302,
3720     -302,  -302,  -303,   290,     0,     1,   291,   100,   292,  -303,
3721      293,   294,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3722     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3723        2,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3724     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3725     -303,  -303,  -303,     0,  -303,  -303,  -303,  -303,  -303,  -303,
3726     -303,  -303,  -303,  -303,  -303,     0,     0,   295,  -303,     0,
3727     -303,     0,     0,   296,   297,   298,  -303,  -303,     0,     0,
3728     -303,  -303,  -303,  -303,  -303,  -303,   299,   300,  -303,  -303,
3729     -303,  -303,  -303,  -303,  -303,  -303,  -303,     0,  -303,     0,
3730      301,  -303,  -303,     0,   302,   303,   304,   305,   306,   307,
3731      308,   309,  -303,  -303,   310,  -303,  -303,   311,  1150,   312,
3732     -303,  -303,  1151,  -303,  -303,  -303,  -303,   313,   314,  -303,
3733      315,   316,   317,   318,  -303,  -303,  -303,  -303,  -303,  -598,
3734      290,     0,     1,   291,   100,   292,  -598,   293,   294,  -598,
3735     -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,
3736     -598,  -598,  -598,  -598,  -598,  -598,  -598,     2,  -598,  -598,
3737     -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,
3738     -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,
3739        0,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,
3740     -598,  -598,     0,     0,   295,  -598,     0,  -598,     0,     0,
3741      296,   297,   298,  -598,  -598,     0,     0,  -598,  -598,  -598,
3742     -598,  -598,  -598,   299,   300,  -598,  -598,  -598,  -598,  -598,
3743     -598,  -598,  -598,  -598,     0,  -598,     0,   301,  -598,  -598,
3744        0,   302,   303,   304,   305,   306,   307,   308,   309,  -598,
3745     -598,   310,  -598,  -598,   311,  -598,   312,  -598,  -598,  -598,
3746     -598,   735,  -598,  1327,   313,   314,  -598,   315,   316,   317,
3747      318,  -598,  -598,  -598,  -598,  -598,  -599,   290,     0,     1,
3748      291,   100,   292,  -599,   293,   294,  -599,  -599,  -599,  -599,
3749     -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,
3750     -599,  -599,  -599,  -599,     2,  -599,  -599,  -599,  -599,  -599,
3751     -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,
3752     -599,  -599,  -599,  -599,  -599,  -599,  -599,     0,  -599,  -599,
3753     -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,     0,
3754        0,   295,  -599,     0,  -599,     0,     0,   296,   297,   298,
3755     -599,  -599,     0,     0,  -599,  -599,  -599,  -599,  -599,  -599,
3756      299,   300,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,
3757     -599,     0,  -599,     0,   301,  -599,  -599,     0,   302,   303,
3758      304,   305,   306,   307,   308,   309,  -599,  -599,   310,  -599,
3759     -599,   311,  -599,   312,  -599,  -599,  -599,  -599,   735,  -599,
3760     1393,   313,   314,  -599,   315,   316,   317,   318,  -599,  -599,
3761     -599,  -599,  -599,  -609,   290,     0,     1,   291,   100,   292,
3762     -609,   293,   294,  -609,  -609,  -609,  -609,  -609,  -609,  -609,
3763     -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,
3764     -609,     2,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,
3765     -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,
3766     -609,  -609,  -609,  -609,     0,  -609,  -609,  -609,  -609,  -609,
3767     -609,  -609,  -609,  -609,  -609,  -609,     0,     0,   295,  -609,
3768        0,  -609,     0,     0,   296,   297,   298,  -609,  -609,     0,
3769        0,  -609,  -609,  -609,  -609,  -609,  -609,   299,   300,  -609,
3770     -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,     0,  -609,
3771        0,   301,  -609,  -609,     0,   302,   303,   304,   305,   306,
3772      307,   308,   309,  -609,  -609,   310,  -609,  -609,   311,  -609,
3773      312,  -609,  -609,  1146,  -609,  -609,  -609,  -609,   313,   314,
3774     -609,   315,   316,   317,   318,  -609,  -609,  -609,  -609,  -609,
3775     -611,   290,     0,     1,   291,   100,   292,  -611,   293,   294,
3776     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
3777     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,     2,  -611,
3778     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
3779     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
3780     -611,     0,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
3781     -611,  -611,  -611,     0,     0,   295,  -611,     0,  -611,     0,
3782        0,   296,   297,   298,  -611,  -611,     0,     0,  -611,  -611,
3783     -611,  -611,  -611,  -611,   299,   300,  -611,  -611,  -611,  -611,
3784     -611,  -611,  -611,  -611,  -611,     0,  -611,     0,   301,  -611,
3785     -611,     0,   302,   303,   304,   305,   306,   307,   308,   309,
3786     -611,  -611,   310,  -611,  -611,   311,  1150,   312,  -611,  -611,
3787     1151,  -611,  -611,  -611,  -611,   313,   314,  -611,   315,   316,
3788      317,   318,  -611,  -611,  -611,  -611,  -611,  -610,   290,     0,
3789        1,   291,   100,   292,  -610,   293,   294,  -610,  -610,  -610,
3790     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3791     -610,  -610,  -610,  -610,  -610,     2,  -610,  -610,  -610,  -610,
3792     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3793     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,     0,  -610,
3794     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3795        0,     0,   295,  -610,     0,  -610,     0,     0,   296,   297,
3796      298,  -610,  -610,     0,     0,  -610,  -610,  -610,  -610,  -610,
3797     -610,   299,   300,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3798     -610,  -610,     0,  -610,     0,   301,  -610,  -610,     0,   302,
3799      303,   304,   305,   306,   307,   308,   309,  -610,  -610,   310,
3800     -610,  -610,   311,  -610,   312,  -610,  -610,  1146,  -610,  -610,
3801     -610,  -610,   313,   314,  -610,   315,   316,   317,   318,  -610,
3802     -610,  -610,  -610,  -610,  -355,  1898,     0,  -355,  -355,  -355,
3803     -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
3804     -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
3805     -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
3806     -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
3807     -355,  -355,  -355,  -355,  -355,     0,  -355,  -355,  -355,  -355,
3808     -355,  -355,  -355,  -355,  -355,  -355,  -355,     0,     0,  -355,
3809     -355,     0,  -355,     0,     0,  -355,  -355,  -355,  -355,  -355,
3810        0,     0,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
3811     -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,     0,
3812     -355,     0,  -355,  -355,  -355,     0,  -355,  -355,  -355,  -355,
3813     -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
3814     -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
3815     -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
3816     -355,  -360,  1941,     0,  -360,  -360,  -360,  -360,  -360,  -360,
3817     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3818     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3819     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3820     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3821     -360,  -360,     0,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3822     -360,  -360,  -360,  -360,     0,     0,  -360,  -360,     0,  -360,
3823        0,     0,  -360,  -360,  -360,  -360,  -360,     0,     0,  -360,
3824     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3825     -360,  -360,  -360,  -360,  -360,  -360,     0,  -360,     0,  -360,
3826     -360,  -360,     0,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3827     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3828     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3829     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -348,   290,
3830        0,     1,   291,   100,   292,  -348,   293,   294,  -348,  -348,
3831     -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,
3832     -348,  -348,  -348,  -348,  -348,  -348,     2,  -348,  -348,  -348,
3833     -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,
3834     -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,     0,
3835     -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,  -348,
3836     -348,     0,     0,   295,  -348,     0,  -348,     0,     0,   296,
3837      297,   298,  -348,  -348,     0,     0,  -348,  -348,  -348,  -348,
3838     -348,  -348,   299,   300,  -348,  -348,  -348,  -348,  -348,  -348,
3839     -348,  -348,  -348,     0,  -348,     0,   301,  -348,  -348,     0,
3840      302,   303,   304,   305,   306,   307,   308,   309,  -348,  -348,
3841      310,  -348,  -348,   311,  -348,   312,  -348,  -348,  -348,  -348,
3842      735,  -348,  -348,   313,   314,  -348,   315,   316,   317,   318,
3843     -348,  -348,  -348,  -348,  -348,  -576,   290,     0,     1,   291,
3844      100,   292,  -576,   293,   294,  -576,  -576,  -576,  -576,  -576,
3845     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3846     -576,  -576,  -576,     2,  -576,  -576,  -576,  -576,  -576,  -576,
3847     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3848     -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,  -576,  -576,
3849     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,     0,     0,
3850      295,  -576,     0,  -576,     0,     0,   296,   297,   298,  -576,
3851     -576,     0,     0,  -576,  -576,  -576,  -576,  -576,  -576,   299,
3852      300,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3853        0,  -576,     0,   301,  -576,  -576,     0,   302,   303,   304,
3854      305,   306,   307,   308,   309,  -576,  -576,   310,  -576,  -576,
3855      311,  -576,   312,  -576,  -576,  -576,  -576,   735,  -576,  -576,
3856      313,   314,  -576,   315,   316,   317,   318,  -576,  -576,  -576,
3857     -576,  -576,  -584,   290,     0,     1,   291,   100,   292,  -584,
3858      293,   294,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,
3859     -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,
3860        2,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,
3861     -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,
3862     -584,  -584,  -584,     0,  -584,  -584,  -584,  -584,  -584,  -584,
3863     -584,  -584,  -584,  -584,  -584,     0,     0,   295,  -584,     0,
3864     -584,     0,     0,   296,   297,   298,  -584,  -584,     0,     0,
3865     -584,  -584,  -584,  -584,  -584,  -584,   299,   300,  -584,  -584,
3866     -584,  -584,  -584,  -584,  -584,  -584,  -584,     0,  -584,     0,
3867      301,  -584,  -584,     0,   302,   303,   304,   305,   306,   307,
3868      308,   309,  -584,  -584,   310,  -584,  -584,   311,  -584,   312,
3869     -584,  -584,  -584,  -584,   735,  -584,  -584,   313,   314,  -584,
3870      315,   316,   317,   318,  -584,  -584,  -584,  -584,  -584,  -577,
3871      290,     0,     1,   291,   100,   292,  -577,   293,   294,  -577,
3872     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3873     -577,  -577,  -577,  -577,  -577,  -577,  -577,     2,  -577,  -577,
3874     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3875     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3876        0,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3877     -577,  -577,     0,     0,   295,  -577,     0,  -577,     0,     0,
3878      296,   297,   298,  -577,  -577,     0,     0,  -577,  -577,  -577,
3879     -577,  -577,  -577,   299,   300,  -577,  -577,  -577,  -577,  -577,
3880     -577,  -577,  -577,  -577,     0,  -577,     0,   301,  -577,  -577,
3881        0,   302,   303,   304,   305,   306,   307,   308,   309,  -577,
3882     -577,   310,  -577,  -577,   311,  -577,   312,  -577,  -577,  -577,
3883     -577,   735,  -577,  -577,   313,   314,  -577,   315,   316,   317,
3884      318,  -577,  -577,  -577,  -577,  -577,  -585,   290,     0,     1,
3885      291,   100,   292,  -585,   293,   294,  -585,  -585,  -585,  -585,
3886     -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,
3887     -585,  -585,  -585,  -585,     2,  -585,  -585,  -585,  -585,  -585,
3888     -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,
3889     -585,  -585,  -585,  -585,  -585,  -585,  -585,     0,  -585,  -585,
3890     -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,     0,
3891        0,   295,  -585,     0,  -585,     0,     0,   296,   297,   298,
3892     -585,  -585,     0,     0,  -585,  -585,  -585,  -585,  -585,  -585,
3893      299,   300,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,
3894     -585,     0,  -585,     0,   301,  -585,  -585,     0,   302,   303,
3895      304,   305,   306,   307,   308,   309,  -585,  -585,   310,  -585,
3896     -585,   311,  -585,   312,  -585,  -585,  -585,  -585,   735,  -585,
3897     -585,   313,   314,  -585,   315,   316,   317,   318,  -585,  -585,
3898     -585,  -585,  -585,  -578,   290,     0,     1,   291,   100,   292,
3899     -578,   293,   294,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3900     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3901     -578,     2,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3902     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3903     -578,  -578,  -578,  -578,     0,  -578,  -578,  -578,  -578,  -578,
3904     -578,  -578,  -578,  -578,  -578,  -578,     0,     0,   295,  -578,
3905        0,  -578,     0,     0,   296,   297,   298,  -578,  -578,     0,
3906        0,  -578,  -578,  -578,  -578,  -578,  -578,   299,   300,  -578,
3907     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,     0,  -578,
3908        0,   301,  -578,  -578,     0,   302,   303,   304,   305,   306,
3909      307,   308,   309,  -578,  -578,   310,  -578,  -578,   311,  -578,
3910      312,  -578,  -578,  -578,  -578,   735,  -578,  -578,   313,   314,
3911     -578,   315,   316,   317,   318,  -578,  -578,  -578,  -578,  -578,
3912     -586,   290,     0,     1,   291,   100,   292,  -586,   293,   294,
3913     -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,
3914     -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,     2,  -586,
3915     -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,
3916     -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,
3917     -586,     0,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,
3918     -586,  -586,  -586,     0,     0,   295,  -586,     0,  -586,     0,
3919        0,   296,   297,   298,  -586,  -586,     0,     0,  -586,  -586,
3920     -586,  -586,  -586,  -586,   299,   300,  -586,  -586,  -586,  -586,
3921     -586,  -586,  -586,  -586,  -586,     0,  -586,     0,   301,  -586,
3922     -586,     0,   302,   303,   304,   305,   306,   307,   308,   309,
3923     -586,  -586,   310,  -586,  -586,   311,  -586,   312,  -586,  -586,
3924     -586,  -586,   735,  -586,  -586,   313,   314,  -586,   315,   316,
3925      317,   318,  -586,  -586,  -586,  -586,  -586,  -579,   290,     0,
3926        1,   291,   100,   292,  -579,   293,   294,  -579,  -579,  -579,
3927     -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,
3928     -579,  -579,  -579,  -579,  -579,     2,  -579,  -579,  -579,  -579,
3929     -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,
3930     -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,     0,  -579,
3931     -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,
3932        0,     0,   295,  -579,     0,  -579,     0,     0,   296,   297,
3933      298,  -579,  -579,     0,     0,  -579,  -579,  -579,  -579,  -579,
3934     -579,   299,   300,  -579,  -579,  -579,  -579,  -579,  -579,  -579,
3935     -579,  -579,     0,  -579,     0,   301,  -579,  -579,     0,   302,
3936      303,   304,   305,   306,   307,   308,   309,  -579,  -579,   310,
3937     -579,  -579,   311,  -579,   312,  -579,  -579,  -579,  -579,   735,
3938     -579,  -579,   313,   314,  -579,   315,   316,   317,   318,  -579,
3939     -579,  -579,  -579,  -579,  -587,   290,     0,     1,   291,   100,
3940      292,  -587,   293,   294,  -587,  -587,  -587,  -587,  -587,  -587,
3941     -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3942     -587,  -587,     2,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3943     -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3944     -587,  -587,  -587,  -587,  -587,     0,  -587,  -587,  -587,  -587,
3945     -587,  -587,  -587,  -587,  -587,  -587,  -587,     0,     0,   295,
3946     -587,     0,  -587,     0,     0,   296,   297,   298,  -587,  -587,
3947        0,     0,  -587,  -587,  -587,  -587,  -587,  -587,   299,   300,
3948     -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,     0,
3949     -587,     0,   301,  -587,  -587,     0,   302,   303,   304,   305,
3950      306,   307,   308,   309,  -587,  -587,   310,  -587,  -587,   311,
3951     -587,   312,  -587,  -587,  -587,  -587,   735,  -587,  -587,   313,
3952      314,  -587,   315,   316,   317,   318,  -587,  -587,  -587,  -587,
3953     -587,  -357,  2042,     0,  -357,  -357,  -357,  -357,  -357,  -357,
3954     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3955     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3956     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3957     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3958     -357,  -357,     0,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3959     -357,  -357,  -357,  -357,     0,     0,  -357,  -357,     0,  -357,
3960        0,     0,  -357,  -357,  -357,  -357,  -357,     0,     0,  -357,
3961     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3962     -357,  -357,  -357,  -357,  -357,  -357,     0,  -357,     0,  -357,
3963     -357,  -357,     0,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3964     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3965     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3966     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -356,  2043,
3967        0,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3968     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3969     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3970     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3971     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,     0,
3972     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3973     -356,     0,     0,  -356,  -356,     0,  -356,     0,     0,  -356,
3974     -356,  -356,  -356,  -356,     0,     0,  -356,  -356,  -356,  -356,
3975     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3976     -356,  -356,  -356,     0,  -356,     0,  -356,  -356,  -356,     0,
3977     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3978     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3979     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3980     -356,  -356,  -356,  -356,  -356,  -362,   745,     0,  -362,  -362,
3981     -362,  -362,   746,   747,   748,  -362,  -362,  -362,  -362,  -362,
3982     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3983     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3984     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3985     -362,  -362,  -362,  -362,  -362,  -362,     0,  -362,  -362,  -362,
3986     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,     0,     0,
3987     -362,  -362,     0,  -362,     0,     0,  -362,  -362,  -362,  -362,
3988     -362,     0,     0,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3989     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3990        0,  -362,     0,  -362,  -362,  -362,     0,  -362,  -362,  -362,
3991     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3992      749,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  1141,  -362,
3993     -362,   751,     0,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3994     -362,  -362, -1105,   290,     0,     1,   291,   100,   292,     0,
3995      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
3996        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3997        2, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105,
3998    -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105,
3999    -1105, -1105, -1105,     0, -1105, -1105, -1105, -1105, -1105, -1105,
4000    -1105, -1105, -1105, -1105, -1105,     0,     0,   295, -1105,     0,
4001    -1105,     0,     0,   296,   297,   298, -1105, -1105,     0,     0,
4002    -1105, -1105, -1105, -1105, -1105, -1105,   299,   300, -1105, -1105,
4003    -1105, -1105, -1105, -1105, -1105, -1105, -1105,     0, -1105,     0,
4004      301, -1105, -1105,     0,   302,   303,   304,   305,   306,   307,
4005      308,   309, -1105, -1105,   310,     0,     0,   311,  1150,   312,
4006    -1105,     0,  1151, -1105, -1105,     0, -1105,   313,   314,     0,
4007      315,   316,   317,   318, -1238,   290,     0,     1,   291,   100,
4008      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4009        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4010        0,     0,     2, -1238, -1238, -1238, -1238, -1238, -1238, -1238,
4011    -1238, -1238, -1238, -1238, -1238, -1238, -1238, -1238, -1238, -1238,
4012    -1238, -1238, -1238, -1238, -1238,     0, -1238, -1238, -1238, -1238,
4013    -1238, -1238, -1238, -1238, -1238, -1238, -1238,     0,     0,   295,
4014    -1238,     0, -1238,     0,     0,   296,   297,   298, -1238, -1238,
4015        0,     0, -1238, -1238, -1238, -1238, -1238, -1238,   299,   300,
4016    -1238, -1238, -1238, -1238, -1238, -1238, -1238, -1238, -1238,     0,
4017    -1238,     0,   301, -1238, -1238,     0,   302,   303,   304,   305,
4018      306,   307,   308,   309, -1238, -1238,   310,     0,     0,   311,
4019     1150,   312,  1636,     0,  1151, -1238, -1238,     0, -1238,   313,
4020      314,     0,   315,   316,   317,   318, -1196,   290,     0,     1,
4021      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4023        0,     0,     0,     0,     2, -1196, -1196, -1196, -1196, -1196,
4024    -1196, -1196, -1196, -1196, -1196, -1196, -1196, -1196, -1196, -1196,
4025    -1196, -1196, -1196, -1196, -1196, -1196, -1196,     0, -1196, -1196,
4026    -1196, -1196, -1196, -1196, -1196, -1196, -1196, -1196, -1196,     0,
4027        0,   295, -1196,     0, -1196,     0,     0,   296,   297,   298,
4028    -1196, -1196,     0,     0, -1196, -1196, -1196, -1196, -1196, -1196,
4029      299,   300, -1196, -1196, -1196, -1196, -1196, -1196, -1196, -1196,
4030    -1196,     0, -1196,     0,   301, -1196, -1196,     0,   302,   303,
4031      304,   305,   306,   307,   308,   309, -1196, -1196,   310,     0,
4032        0,   311,  1857,   312, -1196,     0,  1151, -1196, -1196,     0,
4033    -1196,   313,   314,     0,   315,   316,   317,   318, -1227,   290,
4034        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4035        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4036        0,     0,     0,     0,     0,     0,     2, -1227, -1227, -1227,
4037    -1227, -1227, -1227, -1227, -1227, -1227, -1227, -1227, -1227, -1227,
4038    -1227, -1227, -1227, -1227, -1227, -1227, -1227, -1227, -1227,     0,
4039      616,   617,   618,   619,   620,   621,   622,   623,   624,   625,
4040      626,     0,     0,   295, -1227,     0, -1227,     0,     0,   296,
4041      297,   298, -1227, -1227,     0,     0, -1227,    32, -1227, -1227,
4042    -1227, -1227,   299,   300,  1115, -1227,   628,   629,   630, -1227,
4043    -1227, -1227, -1227,     0, -1227,     0,   301, -1227, -1227,     0,
4044      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4045      310,     0,     0,   311,  1150,   312,   631,     0,  1151, -1227,
4046      242,     0,   632,   313,   314,     0,   315,   316,   317,   318,
4047     -610,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4048        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4049        0,     0,     0,     0,     0,     0,     0,     0,     2,  -610,
4050     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
4051     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
4052     -610,     0,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
4053     -610,  -610,  -610,     0,     0,   295,  -610,     0,  -610,     0,
4054        0,   296,   297,   298,  -610,  -610,     0,     0,  -610,  -610,
4055     -610,  -610,  -610,  -610,   299,   300,  -610,  -610,  -610,  -610,
4056     -610,  -610,  -610,  -610,  -610,     0,  -610,     0,   301,  -610,
4057     -610,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4058     -610,  -610,   310,     0,     0,   311,  -610,   312,  1145,     0,
4059     1146,  -610,  -610,     0,  -610,   313,   314,     0,   315,   316,
4060      317,   318, -1219,   290,     0,     1,   291,   100,   292,     0,
4061      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4062        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4063        2, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
4064    -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
4065    -1219, -1219, -1219,     0, -1219, -1219, -1219, -1219, -1219, -1219,
4066    -1219, -1219, -1219, -1219, -1219,     0,     0,   295, -1219,     0,
4067    -1219,     0,     0,   296,   297,   298, -1219, -1219,     0,     0,
4068    -1219, -1219, -1219, -1219, -1219, -1219,   299,   300, -1219, -1219,
4069    -1219, -1219, -1219, -1219, -1219, -1219, -1219,     0, -1219,     0,
4070      301, -1219, -1219,     0,   302,   303,   304,   305,   306,   307,
4071      308,   309, -1219, -1219,   310,     0,     0,   311,  2088,   312,
4072    -1219,     0,  1146, -1219, -1219,     0, -1219,   313,   314,     0,
4073      315,   316,   317,   318, -1220,   290,     0,     1,   291,   100,
4074      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4075        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4076        0,     0,     2, -1220, -1220, -1220, -1220, -1220, -1220, -1220,
4077    -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220,
4078    -1220, -1220, -1220, -1220, -1220,     0, -1220, -1220, -1220, -1220,
4079    -1220, -1220, -1220, -1220, -1220, -1220, -1220,     0,     0,   295,
4080    -1220,     0, -1220,     0,     0,   296,   297,   298, -1220, -1220,
4081        0,     0, -1220, -1220, -1220, -1220, -1220, -1220,   299,   300,
4082    -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220,     0,
4083    -1220,     0,   301, -1220, -1220,     0,   302,   303,   304,   305,
4084      306,   307,   308,   309, -1220, -1220,   310,     0,     0,   311,
4085     1150,   312,  2089,     0,  1151, -1220, -1220,     0, -1220,   313,
4086      314,     0,   315,   316,   317,   318, -1214,   290,     0,     1,
4087      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4088        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4089        0,     0,     0,     0,     2, -1214, -1214, -1214, -1214, -1214,
4090    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4091    -1214, -1214, -1214, -1214, -1214, -1214, -1214,     0,   616,   617,
4092      618,   619,   620,   621,   622,   623,   624,   625,   626,     0,
4093        0,   295, -1214,     0, -1214,     0,     0,   296,   297,   298,
4094    -1214, -1214,     0,     0, -1214,    32, -1214, -1214, -1214, -1214,
4095      299,   300,  1115, -1214,   628,   629,   630, -1214, -1214, -1214,
4096    -1214,     0, -1214,     0,   301, -1214, -1214,     0,   302,   303,
4097      304,   305,   306,   307,   308,   309,    43,    44,   310,     0,
4098        0,   311,  1150,   312,   631,     0,  1151, -1214,   242,     0,
4099      632,   313,   314,     0,   315,   316,   317,   318, -1162,   607,
4100        0, -1162, -1162, -1162, -1162,     0, -1162, -1162,     0,     0,
4101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4102        0,     0,     0,     0,     0,     0, -1162, -1162, -1162, -1162,
4103    -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162,
4104    -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162,     0,
4105    -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162,
4106    -1162,     0,     0, -1162, -1162,     0, -1162,     0,     0, -1162,
4107    -1162, -1162, -1162, -1162,     0,     0, -1162, -1162, -1162, -1162,
4108    -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162,
4109    -1162, -1162, -1162,     0, -1162,     0, -1162, -1162, -1162,     0,
4110    -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162,
4111    -1162,     0,     0, -1162,     0, -1162,   608,     0, -1162, -1162,
4112    -1162,     0, -1162, -1162, -1162,     0, -1162, -1162, -1162, -1162,
4113    -1185,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4114        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4115        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
4116      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
4117      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
4118       24,     0,   616,   617,   618,   619,   620,   621,   622,   623,
4119      624,   625,   626,     0,     0,   295,   238,     0, -1185,     0,
4120        0,   296,   297,   298,    28,    29,     0,     0, -1185,    32,
4121    -1185, -1185, -1185, -1185,   299,   392,   627,   240,   628,   629,
4122      630, -1185, -1185, -1185, -1185,     0, -1185,     0,   301, -1185,
4123      241,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4124       43,    44,   310,     0,     0,   311,     0,   312,   631,     0,
4125    -1185, -1185,   242,     0,   632,   313,   314,     0,   315,   316,
4126      317,   318, -1163,   607,     0, -1163, -1163, -1163, -1163,     0,
4127    -1163, -1163,     0,     0,     0,     0,     0,     0,     0,     0,
4128        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4129    -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163,
4130    -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163,
4131    -1163, -1163, -1163,     0, -1163, -1163, -1163, -1163, -1163, -1163,
4132    -1163, -1163, -1163, -1163, -1163,     0,     0, -1163, -1163,     0,
4133    -1163,     0,     0, -1163, -1163, -1163, -1163, -1163,     0,     0,
4134    -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163, -1163,
4135    -1163, -1163, -1163, -1163, -1163, -1163, -1163,     0, -1163,     0,
4136    -1163, -1163, -1163,     0, -1163, -1163, -1163, -1163, -1163, -1163,
4137    -1163, -1163, -1163, -1163, -1163,     0,     0, -1163,     0, -1163,
4138      608,     0, -1163, -1163, -1163,     0, -1163, -1163, -1163,     0,
4139    -1163, -1163, -1163, -1163, -1224,   290,     0,     1,   291,   100,
4140      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4141        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4142        0,     0,     2, -1224, -1224, -1224, -1224, -1224, -1224, -1224,
4143    -1224, -1224, -1224, -1224, -1224, -1224, -1224, -1224, -1224, -1224,
4144    -1224, -1224, -1224, -1224, -1224,     0,  1107,  1108,  1109,   619,
4145     1110,  1111,  1112,  1113,   624,   625,  1114,     0,     0,   295,
4146    -1224,     0, -1224,     0,     0,   296,   297,   298, -1224, -1224,
4147        0,     0, -1224,    32, -1224, -1224, -1224, -1224,   299,   300,
4148     1115, -1224,   628,   629,   630, -1224, -1224, -1224, -1224,     0,
4149    -1224,     0,   301, -1224, -1224,     0,   302,   303,   304,   305,
4150      306,   307,   308,   309,    43,    44,   310,     0,     0,   311,
4151        0,   312,   631,     0, -1224, -1224,   242,     0,   632,   313,
4152      314,     0,   315,   316,   317,   318, -1240,   290,     0,     1,
4153      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4155        0,     0,     0,     0,     2, -1240, -1240, -1240, -1240, -1240,
4156    -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
4157    -1240, -1240, -1240, -1240, -1240, -1240, -1240,     0, -1240, -1240,
4158    -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,     0,
4159        0,   295, -1240,     0, -1240,     0,     0,   296,   297,   298,
4160    -1240, -1240,     0,     0, -1240, -1240, -1240, -1240, -1240, -1240,
4161      299,   300, -1240, -1240, -1240, -1240, -1240, -1240, -1240, -1240,
4162    -1240,     0, -1240,     0,   301, -1240, -1240,     0,   302,   303,
4163      304,   305,   306,   307,   308,   309, -1240, -1240,   310,     0,
4164        0,   311,     0,   312,  1126,     0, -1240, -1240,   735,     0,
4165    -1240,   313,   314,     0,   315,   316,   317,   318, -1175,  1153,
4166        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4167        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4168        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4169      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
4170      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
4171      616,   617,   618,   619,   620,   621,   622,   623,   624,   625,
4172      626,     0,     0,   295,   238,     0, -1175,     0,     0,   296,
4173      297,   298,    28,    29,     0,     0, -1175,    32, -1175, -1175,
4174    -1175, -1175,   299,   392,   627,   240,   628,   629,   630, -1175,
4175    -1175, -1175, -1175,     0, -1175,     0,   301, -1175,   241,     0,
4176      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4177      310,     0,     0,   311,     0,   312,   631,     0, -1175, -1175,
4178      242,     0,   632,   313,   314,     0,   315,   316,   317,   318,
4179    -1179,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4180        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4181        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
4182      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
4183      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
4184       24,     0,   616,   617,   618,   619,   620,   621,   622,   623,
4185      624,   625,   626,     0,     0,   295,   238,     0, -1179,     0,
4186        0,   296,   297,   298,    28,    29,     0,     0, -1179,    32,
4187    -1179, -1179, -1179, -1179,   299,   392,   627,   240,   628,   629,
4188      630, -1179, -1179, -1179, -1179,     0, -1179,     0,   301, -1179,
4189      241,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4190       43,    44,   310,     0,     0,   311,     0,   312,   631,     0,
4191    -1179, -1179,   242,     0,   632,   313,   314,     0,   315,   316,
4192      317,   318, -1174,   290,     0,     1,   291,   100,   292,     0,
4193      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4194        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4195        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
4196      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
4197       22,    23,    24,     0,   616,   617,   618,   619,   620,   621,
4198      622,   623,   624,   625,   626,     0,     0,   295,   238,     0,
4199    -1174,     0,     0,   296,   297,   298,    28,    29,     0,     0,
4200    -1174,    32, -1174, -1174, -1174, -1174,   299,   392,   627,   240,
4201      628,   629,   630, -1174, -1174, -1174, -1174,     0, -1174,     0,
4202      301, -1174,   241,     0,   302,   303,   304,   305,   306,   307,
4203      308,   309,    43,    44,   310,     0,     0,   311,     0,   312,
4204      631,     0, -1174, -1174,   242,     0,   632,   313,   314,     0,
4205      315,   316,   317,   318, -1178,   290,     0,     1,   291,   100,
4206      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4207        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4208        0,     0,     2,   194,   195,   196,   197,   198,   226,   227,
4209      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
4210      236,   237,    22,    23,    24,     0,   616,   617,   618,   619,
4211      620,   621,   622,   623,   624,   625,   626,     0,     0,   295,
4212      238,     0, -1178,     0,     0,   296,   297,   298,    28,    29,
4213        0,     0, -1178,    32, -1178, -1178, -1178, -1178,   299,   392,
4214      627,   240,   628,   629,   630, -1178, -1178, -1178, -1178,     0,
4215    -1178,     0,   301, -1178,   241,     0,   302,   303,   304,   305,
4216      306,   307,   308,   309,    43,    44,   310,     0,     0,   311,
4217        0,   312,   631,     0, -1178, -1178,   242,     0,   632,   313,
4218      314,     0,   315,   316,   317,   318, -1092,  1166,     0, -1092,
4219    -1092, -1092, -1092,     0, -1092, -1092,     0,     0,     0,     0,
4220        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4221        0,     0,     0,     0, -1092, -1092, -1092, -1092, -1092, -1092,
4222    -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092,
4223    -1092, -1092, -1092, -1092, -1092, -1092, -1092,     0, -1092, -1092,
4224    -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092,     0,
4225        0, -1092, -1092,     0, -1092,     0,     0, -1092, -1092, -1092,
4226    -1092, -1092,     0,     0, -1092, -1092, -1092, -1092, -1092, -1092,
4227    -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092,
4228    -1092,     0, -1092,     0, -1092, -1092, -1092,     0, -1092, -1092,
4229    -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092, -1092,     0,
4230        0, -1092,     0, -1092, -1092,     0, -1092, -1092, -1092,     0,
4231    -1092, -1092, -1092,     0, -1092, -1092, -1092, -1092, -1094,  1167,
4232        0, -1094, -1094, -1094, -1094,     0, -1094, -1094,     0,     0,
4233        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4234        0,     0,     0,     0,     0,     0, -1094, -1094, -1094, -1094,
4235    -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094,
4236    -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094,     0,
4237    -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094,
4238    -1094,     0,     0, -1094, -1094,     0, -1094,     0,     0, -1094,
4239    -1094, -1094, -1094, -1094,     0,     0, -1094, -1094, -1094, -1094,
4240    -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094,
4241    -1094, -1094, -1094,     0, -1094,     0, -1094, -1094, -1094,     0,
4242    -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094, -1094,
4243    -1094,     0,     0, -1094,     0, -1094, -1094,     0, -1094, -1094,
4244    -1094,     0, -1094, -1094, -1094,     0, -1094, -1094, -1094, -1094,
4245    -1134,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4246        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4247        0,     0,     0,     0,     0,     0,     0,     0,     2, -1134,
4248    -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134,
4249    -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134,
4250    -1134,     0,   616,   617,   618,   619,   620,   621,   622,   623,
4251      624,   625,   626,     0,     0,   295, -1134,     0, -1134,     0,
4252        0,   296,   297,   298, -1134, -1134,     0,     0, -1134,    32,
4253    -1134, -1134, -1134, -1134,   299,   300,  1115, -1134,   628,   629,
4254      630, -1134, -1134, -1134, -1134,     0, -1134,     0,   301, -1134,
4255    -1134,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4256       43,    44,   310,     0,     0,   311,     0,   312,   631,     0,
4257    -1134, -1134,   242,     0,   632,   313,   314,     0,   315,   316,
4258      317,   318, -1136,   290,     0,     1,   291,   100,   292,     0,
4259      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4260        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4261        2, -1136, -1136, -1136, -1136, -1136, -1136, -1136, -1136, -1136,
4262    -1136, -1136, -1136, -1136, -1136, -1136, -1136, -1136, -1136, -1136,
4263    -1136, -1136, -1136,     0,   616,   617,   618,   619,   620,   621,
4264      622,   623,   624,   625,   626,     0,     0,   295, -1136,     0,
4265    -1136,     0,     0,   296,   297,   298, -1136, -1136,     0,     0,
4266    -1136,    32, -1136, -1136, -1136, -1136,   299,   300,  1115, -1136,
4267      628,   629,   630, -1136, -1136, -1136, -1136,     0, -1136,     0,
4268      301, -1136, -1136,     0,   302,   303,   304,   305,   306,   307,
4269      308,   309,    43,    44,   310,     0,     0,   311,     0,   312,
4270      631,     0, -1136, -1136,   242,     0,   632,   313,   314,     0,
4271      315,   316,   317,   318, -1176,   290,     0,     1,   291,   100,
4272      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4273        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4274        0,     0,     2,   194,   195,   196,   197,   198,   226,   227,
4275      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
4276      236,   237,    22,    23,    24,     0,   616,   617,   618,   619,
4277      620,   621,   622,   623,   624,   625,   626,     0,     0,   295,
4278      238,     0, -1176,     0,     0,   296,   297,   298,    28,    29,
4279        0,     0, -1176,    32, -1176, -1176, -1176, -1176,   299,   392,
4280      627,   240,   628,   629,   630, -1176, -1176, -1176, -1176,     0,
4281    -1176,     0,   301, -1176,   241,     0,   302,   303,   304,   305,
4282      306,   307,   308,   309,    43,    44,   310,     0,     0,   311,
4283        0,   312,   631,     0, -1176, -1176,   242,     0,   632,   313,
4284      314,     0,   315,   316,   317,   318, -1180,   290,     0,     1,
4285      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4286        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4287        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
4288      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
4289       18,    19,   236,   237,    22,    23,    24,     0,   616,   617,
4290      618,   619,   620,   621,   622,   623,   624,   625,   626,     0,
4291        0,   295,   238,     0, -1180,     0,     0,   296,   297,   298,
4292       28,    29,     0,     0, -1180,    32, -1180, -1180, -1180, -1180,
4293      299,   392,   627,   240,   628,   629,   630, -1180, -1180, -1180,
4294    -1180,     0, -1180,     0,   301, -1180,   241,     0,   302,   303,
4295      304,   305,   306,   307,   308,   309,    43,    44,   310,     0,
4296        0,   311,     0,   312,   631,     0, -1180, -1180,   242,     0,
4297      632,   313,   314,     0,   315,   316,   317,   318, -1177,   290,
4298        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4299        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4300        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4301      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
4302      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
4303      616,   617,   618,   619,   620,   621,   622,   623,   624,   625,
4304      626,     0,     0,   295,   238,     0, -1177,     0,     0,   296,
4305      297,   298,    28,    29,     0,     0, -1177,    32, -1177, -1177,
4306    -1177, -1177,   299,   392,   627,   240,   628,   629,   630, -1177,
4307    -1177, -1177, -1177,     0, -1177,     0,   301, -1177,   241,     0,
4308      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4309      310,     0,     0,   311,     0,   312,   631,     0, -1177, -1177,
4310      242,     0,   632,   313,   314,     0,   315,   316,   317,   318,
4311    -1181,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4312        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4313        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
4314      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
4315      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
4316       24,     0,   616,   617,   618,   619,   620,   621,   622,   623,
4317      624,   625,   626,     0,     0,   295,   238,     0, -1181,     0,
4318        0,   296,   297,   298,    28,    29,     0,     0, -1181,    32,
4319    -1181, -1181, -1181, -1181,   299,   392,   627,   240,   628,   629,
4320      630, -1181, -1181, -1181, -1181,     0, -1181,     0,   301, -1181,
4321      241,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4322       43,    44,   310,     0,     0,   311,     0,   312,   631,     0,
4323    -1181, -1181,   242,     0,   632,   313,   314,     0,   315,   316,
4324      317,   318, -1172,   607,     0, -1172, -1172, -1172, -1172,     0,
4325    -1172, -1172,     0,     0,     0,     0,     0,     0,     0,     0,
4326        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4327    -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172,
4328    -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172,
4329    -1172, -1172, -1172,     0, -1172, -1172, -1172, -1172, -1172, -1172,
4330    -1172, -1172, -1172, -1172, -1172,     0,     0, -1172, -1172,     0,
4331    -1172,     0,     0, -1172, -1172, -1172, -1172, -1172,     0,     0,
4332    -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172,
4333    -1172, -1172, -1172, -1172, -1172, -1172, -1172,     0, -1172,     0,
4334    -1172, -1172, -1172,     0, -1172, -1172, -1172, -1172, -1172, -1172,
4335    -1172, -1172, -1172, -1172, -1172,     0,     0, -1172,     0, -1172,
4336      608,     0, -1172, -1172, -1172,     0, -1172, -1172, -1172,     0,
4337    -1172, -1172, -1172, -1172, -1173,   607,     0, -1173, -1173, -1173,
4338    -1173,     0, -1173, -1173,     0,     0,     0,     0,     0,     0,
4339        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4340        0,     0, -1173, -1173, -1173, -1173, -1173, -1173, -1173, -1173,
4341    -1173, -1173, -1173, -1173, -1173, -1173, -1173, -1173, -1173, -1173,
4342    -1173, -1173, -1173, -1173, -1173,     0, -1173, -1173, -1173, -1173,
4343    -1173, -1173, -1173, -1173, -1173, -1173, -1173,     0,     0, -1173,
4344    -1173,     0, -1173,     0,     0, -1173, -1173, -1173, -1173, -1173,
4345        0,     0, -1173, -1173, -1173, -1173, -1173, -1173, -1173, -1173,
4346    -1173, -1173, -1173, -1173, -1173, -1173, -1173, -1173, -1173,     0,
4347    -1173,     0, -1173, -1173, -1173,     0, -1173, -1173, -1173, -1173,
4348    -1173, -1173, -1173, -1173, -1173, -1173, -1173,     0,     0, -1173,
4349        0, -1173,   608,     0, -1173, -1173, -1173,     0, -1173, -1173,
4350    -1173,     0, -1173, -1173, -1173, -1173, -1019,   290,     0,     1,
4351      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4353        0,     0,     0,     0,     2, -1019, -1019, -1019, -1019, -1019,
4354    -1019, -1019, -1019, -1019, -1019, -1019, -1019, -1019, -1019, -1019,
4355    -1019, -1019, -1019, -1019, -1019, -1019, -1019,     0, -1019, -1019,
4356    -1019, -1019, -1019, -1019, -1019, -1019, -1019, -1019, -1019,     0,
4357        0,   295, -1019,     0, -1019,     0,     0,   296,   297,   298,
4358    -1019, -1019,     0,     0, -1019, -1019, -1019, -1019, -1019, -1019,
4359      299,   300, -1019, -1019, -1019, -1019, -1019, -1019, -1019, -1019,
4360    -1019,     0, -1019,     0,   301, -1019, -1019,     0,   302,   303,
4361      304,   305,   306,   307,   308,   309, -1019, -1019,   310,     0,
4362        0,   311,     0,   312, -1019,     0,  1830,  1831,  1006,     0,
4363    -1019,   313,   314,     0,   315,   316,   317,   318, -1021,   290,
4364        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4365        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4366        0,     0,     0,     0,     0,     0,     2, -1021, -1021, -1021,
4367    -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
4368    -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,     0,
4369    -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
4370    -1021,     0,     0,   295, -1021,     0, -1021,     0,     0,   296,
4371      297,   298, -1021, -1021,     0,     0, -1021, -1021, -1021, -1021,
4372    -1021, -1021,   299,   300, -1021, -1021, -1021, -1021, -1021, -1021,
4373    -1021, -1021, -1021,     0, -1021,     0,   301, -1021, -1021,     0,
4374      302,   303,   304,   305,   306,   307,   308,   309, -1021, -1021,
4375      310,     0,     0,   311,     0,   312, -1021,     0, -1021,  2003,
4376     1006,     0, -1021,   313,   314,     0,   315,   316,   317,   318,
4377    -1015,  2006,     0, -1015, -1015, -1015, -1015,     0, -1015, -1015,
4378        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4379        0,     0,     0,     0,     0,     0,     0,     0, -1015, -1015,
4380    -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015,
4381    -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015,
4382    -1015,     0, -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015,
4383    -1015, -1015, -1015,     0,     0, -1015, -1015,     0, -1015,     0,
4384        0, -1015, -1015, -1015, -1015, -1015,     0,     0, -1015, -1015,
4385    -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015,
4386    -1015, -1015, -1015, -1015, -1015,     0, -1015,     0, -1015, -1015,
4387    -1015,     0, -1015, -1015, -1015, -1015, -1015, -1015, -1015, -1015,
4388    -1015, -1015, -1015,     0,     0, -1015,     0, -1015, -1015,     0,
4389    -1015, -1015, -1015,     0, -1015, -1015, -1015,     0, -1015, -1015,
4390    -1015, -1015, -1221,   290,     0,     1,   291,   100,   292,     0,
4391      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4393        2, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221,
4394    -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221,
4395    -1221, -1221, -1221,     0, -1221, -1221, -1221, -1221, -1221, -1221,
4396    -1221, -1221, -1221, -1221, -1221,     0,     0,   295, -1221,     0,
4397    -1221,     0,     0,   296,   297,   298, -1221, -1221,     0,     0,
4398    -1221, -1221, -1221, -1221, -1221, -1221,   299,   300, -1221, -1221,
4399    -1221, -1221, -1221, -1221, -1221, -1221, -1221,     0, -1221,     0,
4400      301, -1221, -1221,     0,   302,   303,   304,   305,   306,   307,
4401      308,   309, -1221, -1221,   310,     0,     0,   311,     0,   312,
4402    -1221,     0, -1221, -1221, -1221,     0, -1221,   313,   314,     0,
4403      315,   316,   317,   318, -1016,  2080,     0, -1016, -1016, -1016,
4404    -1016,     0, -1016, -1016,     0,     0,     0,     0,     0,     0,
4405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4406        0,     0, -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016,
4407    -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016,
4408    -1016, -1016, -1016, -1016, -1016,     0, -1016, -1016, -1016, -1016,
4409    -1016, -1016, -1016, -1016, -1016, -1016, -1016,     0,     0, -1016,
4410    -1016,     0, -1016,     0,     0, -1016, -1016, -1016, -1016, -1016,
4411        0,     0, -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016,
4412    -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016,     0,
4413    -1016,     0, -1016, -1016, -1016,     0, -1016, -1016, -1016, -1016,
4414    -1016, -1016, -1016, -1016, -1016, -1016, -1016,     0,     0, -1016,
4415        0, -1016, -1016,     0, -1016, -1016, -1016,     0, -1016, -1016,
4416    -1016,     0, -1016, -1016, -1016, -1016,  -922,   573,     0,  -922,
4417     -922,  -922,  -922,     0,  -922,  -922,     0,     0,     0,     0,
4418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4419        0,     0,     0,     0,  -922,  -922,  -922,  -922,  -922,  -922,
4420     -922,  -922,  -922,  -922,  -922,  -922,  -922,  -922,  -922,  -922,
4421     -922,  -922,  -922,  -922,  -922,  -922,  -922,     0,     0,  -922,
4422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4423        0,  -922,  -922,     0,  -922,     0,     0,  -922,  -922,  -922,
4424     -922,  -922,     0,     0,  -922,  -922,  -922,  -922,  -922,  -922,
4425     -922,  -922,  -922,  -922,  -922,     0,     0,  -922,  -922,  -922,
4426     -922,     0,  -922,     0,  -922,  -922,  -922,     0,  -922,  -922,
4427     -922,  -922,  -922,  -922,  -922,  -922,  -922,  -922,  -922,     0,
4428        0,  -922,   837,  -922,  -922,     0,   575,  -922,  -922,     0,
4429        0,  -922,  -922,     0,  -922,  -922,  -922,  -922,   290,     0,
4430        1,   291,   100,   292,     0,   293,   294,     0,     0,     0,
4431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4432        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
4433      198,   226,   227,   228,   229,   230,   231,   232,   233,   234,
4434      235,    18,    19,   236,   237,    22,    23,    24,     0,     0,
4435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4436        0,     0,   295,   238,     0,     0,     0,     0,   296,   297,
4437      298,    28,    29,     0,     0,     0,    32,     0,     0,     0,
4438        0,   299,   392,    38,   240,     0,     0,     0,     0,     0,
4439        0,     0,     0,     0,     0,   301,     0,   241,     0,   302,
4440      303,   304,   305,   306,   307,   308,   309,    43,    44,   310,
4441        0,     0,   311,     0,   312,   976,     0,   977,   978,   735,
4442        0,     0,   313,   314,     0,   315,   316,   317,   318,  1255,
4443        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4444        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4445        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4446      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
4447      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
4448        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4449        0,     0,     0,   295,   238,     0,     0,     0,     0,   296,
4450      297,   298,    28,    29,     0,     0,     0,    32,     0,     0,
4451        0,     0,   299,   392,    38,   240,     0,     0,     0,     0,
4452        0,     0,     0,     0,     0,     0,   301,     0,   241,     0,
4453      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4454      310,     0,     0,   311,     0,   312,   976,     0,   977,  -109,
4455      735,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4456     1262,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4458        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
4459      196,   197,   198,   226,   227,   228,   229,   230,   231,   232,
4460      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
4461        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4462        0,     0,     0,     0,   295,   238,     0,     0,     0,     0,
4463      296,   297,   298,    28,    29,     0,     0,     0,    32,     0,
4464        0,     0,     0,   299,   392,    38,   240,     0,     0,     0,
4465        0,     0,     0,     0,     0,     0,     0,   301,     0,   241,
4466        0,   302,   303,   304,   305,   306,   307,   308,   309,    43,
4467       44,   310,     0,     0,   311,     0,   312,   976,     0,   977,
4468      -97,   735,     0,     0,   313,   314,     0,   315,   316,   317,
4469      318,  1266,     0,     1,   291,   100,   292,     0,   293,   294,
4470        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4471        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
4472      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
4473      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
4474       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4475        0,     0,     0,     0,     0,   295,   238,     0,     0,     0,
4476        0,   296,   297,   298,    28,    29,     0,     0,     0,    32,
4477        0,     0,     0,     0,   299,   392,    38,   240,     0,     0,
4478        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4479      241,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4480       43,    44,   310,     0,     0,   311,     0,   312,   976,     0,
4481      977,  -101,   735,     0,     0,   313,   314,     0,   315,   316,
4482      317,   318,   290,     0,     1,   291,   100,   292,     0,   293,
4483      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4484        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4485      194,   195,   196,   197,   198,   226,   227,   228,   229,   230,
4486      231,   232,   233,   234,   235,    18,    19,   236,   237,    22,
4487       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
4488        0,     0,     0,     0,     0,     0,   295,   238,     0,     0,
4489        0,     0,   296,   297,   298,    28,    29,     0,     0,     0,
4490       32,     0,     0,     0,     0,   299,   392,    38,   240,     0,
4491        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4492        0,   241,     0,   302,   303,   304,   305,   306,   307,   308,
4493      309,    43,    44,   310,     0,     0,   311,     0,   312,  1529,
4494        0,   977,   -64,   735,     0,     0,   313,   314,     0,   315,
4495      316,   317,   318,   290,     0,     1,   291,   100,   292,     0,
4496      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4498        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
4499      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
4500       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4501        0,     0,     0,     0,     0,     0,     0,   295,   238,     0,
4502        0,     0,     0,   296,   297,   298,    28,    29,     0,     0,
4503        0,    32,     0,     0,     0,     0,   299,   392,    38,   240,
4504        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4505      301,     0,   241,     0,   302,   303,   304,   305,   306,   307,
4506      308,   309,    43,    44,   310,     0,     0,   311,     0,   312,
4507     1538,     0,   977,  1539,   735,     0,     0,   313,   314,     0,
4508      315,   316,   317,   318,  1596,     0,     1,   291,   100,   292,
4509        0,   293,   294,     0,     0,     0,     0,     0,     0,     0,
4510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4511        0,     2,   194,   195,   196,   197,   198,   226,   227,   228,
4512      229,   230,   231,   232,   233,   234,   235,    18,    19,   236,
4513      237,    22,    23,    24,     0,     0,     0,     0,     0,     0,
4514        0,     0,     0,     0,     0,     0,     0,     0,   295,   238,
4515        0,     0,     0,     0,   296,   297,   298,    28,    29,     0,
4516        0,     0,    32,     0,     0,     0,     0,   299,   392,    38,
4517      240,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4518        0,   301,     0,   241,     0,   302,   303,   304,   305,   306,
4519      307,   308,   309,    43,    44,   310,     0,     0,   311,     0,
4520      312,   976,     0,   977,   -80,   735,     0,     0,   313,   314,
4521        0,   315,   316,   317,   318,   290,     0,     1,   291,   100,
4522      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4523        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4524        0,     0,     2,   194,   195,   196,   197,   198,   226,   227,
4525      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
4526      236,   237,    22,    23,    24,     0,     0,     0,     0,     0,
4527        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
4528      238,     0,     0,     0,     0,   296,   297,   298,    28,    29,
4529        0,     0,     0,    32,     0,     0,     0,     0,   299,   392,
4530       38,   240,     0,     0,     0,     0,     0,     0,     0,     0,
4531        0,     0,   301,     0,   241,     0,   302,   303,   304,   305,
4532      306,   307,   308,   309,    43,    44,   310,     0,     0,   311,
4533        0,   312,  1538,     0,   977,  -106,   735,     0,     0,   313,
4534      314,     0,   315,   316,   317,   318,   290,     0,     1,   291,
4535      100,   292,     0,   293,   294,     0,     0,     0,     0,     0,
4536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4537        0,     0,     0,     2,   194,   195,   196,   197,   198,   226,
4538      227,   228,   229,   230,   231,   232,   233,   234,   235,    18,
4539       19,   236,   237,    22,    23,    24,     0,     0,     0,     0,
4540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4541      295,   238,     0,     0,     0,     0,   296,   297,   298,    28,
4542       29,     0,     0,     0,    32,     0,     0,     0,     0,   299,
4543      392,    38,   240,     0,     0,     0,     0,     0,     0,     0,
4544        0,     0,     0,   301,     0,   241,     0,   302,   303,   304,
4545      305,   306,   307,   308,   309,    43,    44,   310,     0,     0,
4546      311,     0,   312,  1538,     0,   977,   -96,   735,     0,     0,
4547      313,   314,     0,   315,   316,   317,   318,   290,     0,     1,
4548      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4550        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
4551      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
4552       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
4553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4554        0,   295,   238,     0,     0,     0,     0,   296,   297,   298,
4555       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4556      299,   392,    38,   240,     0,     0,     0,     0,     0,     0,
4557        0,     0,     0,     0,   301,     0,   241,     0,   302,   303,
4558      304,   305,   306,   307,   308,   309,    43,    44,   310,     0,
4559        0,   311,     0,   312,  1538,     0,   977,  -100,   735,     0,
4560        0,   313,   314,     0,   315,   316,   317,   318,  1792,     0,
4561        1,   291,   100,   292,     0,   293,   294,     0,     0,     0,
4562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4563        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
4564      198,   226,   227,   228,   229,   230,   231,   232,   233,   234,
4565      235,    18,    19,   236,   237,    22,    23,    24,     0,     0,
4566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4567        0,     0,   295,   238,     0,     0,     0,     0,   296,   297,
4568      298,    28,    29,     0,     0,     0,    32,     0,     0,     0,
4569        0,   299,   392,    38,   240,     0,     0,     0,     0,     0,
4570        0,     0,     0,     0,     0,   301,     0,   241,     0,   302,
4571      303,   304,   305,   306,   307,   308,   309,    43,    44,   310,
4572        0,     0,   311,     0,   312,   976,     0,   977,   -87,   735,
4573        0,     0,   313,   314,     0,   315,   316,   317,   318,   290,
4574        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4576        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4577      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
4578      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
4579        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4580        0,     0,     0,   295,   238,     0,     0,     0,     0,   296,
4581      297,   298,    28,    29,     0,     0,     0,    32,     0,     0,
4582        0,     0,   299,   392,    38,   240,     0,     0,     0,     0,
4583        0,     0,     0,     0,     0,     0,   301,     0,   241,     0,
4584      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4585      310,     0,     0,   311,     0,   312,  1538,     0,   977,   -77,
4586      735,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4587      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4588        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4589        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
4590      196,   197,   198,   226,   227,   228,   229,   230,   231,   232,
4591      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
4592        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4593        0,     0,     0,     0,   295,   238,     0,     0,     0,     0,
4594      296,   297,   298,    28,    29,     0,     0,     0,    32,     0,
4595        0,     0,     0,   299,   392,    38,   240,     0,     0,     0,
4596        0,     0,     0,     0,     0,     0,     0,   301,     0,   241,
4597        0,   302,   303,   304,   305,   306,   307,   308,   309,    43,
4598       44,   310,     0,     0,   311,     0,   312,  1538,     0,   977,
4599      -84,   735,     0,     0,   313,   314,     0,   315,   316,   317,
4600      318,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4601        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4602        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
4603      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
4604      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
4605       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4606        0,     0,     0,     0,     0,   295,   238,     0,     0,     0,
4607        0,   296,   297,   298,    28,    29,     0,     0,     0,    32,
4608        0,     0,     0,     0,   299,   392,    38,   240,     0,     0,
4609        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4610      241,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4611       43,    44,   310,     0,     0,   311,   290,   312,     1,   291,
4612      100,   292,     0,   293,   294,   313,   314,     0,   315,   316,
4613      317,   318,     0,     0,     0,     0,     0,     0,     0,     0,
4614        0,     0,     0,     2,   194,   195,   196,   197,   198,   226,
4615      227,   228,   229,   230,   231,   232,   233,   234,   235,    18,
4616       19,   236,   237,    22,    23,    24,     0,     0,     0,     0,
4617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4618      858,   238,     0,     0,     0,     0,   296,   297,   298,    28,
4619       29,     0,     0,     0,    32,     0,     0,     0,     0,   299,
4620      392,    38,   240,     0,     0,     0,     0,     0,     0,     0,
4621        0,     0,     0,   301,     0,   241,     0,   302,   303,   304,
4622      305,   306,   307,   308,   309,    43,    44,   310,     0,     0,
4623      311,   290,   312,     1,   291,   100,   292,     0,   293,   294,
4624      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4625        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4626        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
4627       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4628       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4629        0,     0,     0,     0,     0,   295,    27,     0,     0,     0,
4630        0,   296,   297,   298,    28,    29,     0,     0,     0,    32,
4631        0,     0,    35,    36,   299,   417,    38,    39,     0,     0,
4632        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4633       40,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4634       43,    44,   310,     0,     0,   311,   724,   312,     0,     0,
4635        0,     0,     0,     0,     0,   313,   314,     0,   315,   316,
4636      317,   318,   290,     0,     1,   291,   100,   292,     0,   293,
4637      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4638        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4639        0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
4640       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
4641       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
4642        0,     0,     0,     0,     0,     0,  1184,    27,     0,     0,
4643        0,     0,   296,   297,   298,    28,    29,     0,     0,     0,
4644       32,     0,     0,    35,    36,   299,   417,    38,    39,     0,
4645        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4646        0,    40,     0,   302,   303,   304,   305,   306,   307,   308,
4647      309,    43,    44,   310,     0,     0,   698,   724,   312,     0,
4648        0,     0,     0,     0,     0,     0,   313,   314,     0,   315,
4649      316,   317,   318,   290,     0,     1,   291,   100,   292,     0,
4650      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4652        2,     0,     0,     0,     0,     0,     8,     9,    10,    11,
4653       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
4654       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4655        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
4656        0,     0,     0,   296,   297,   298,    28,    29,     0,     0,
4657        0,    32,     0,     0,    35,    36,   299,   417,    38,    39,
4658        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4659      301,     0,    40,     0,   302,   303,   304,   305,   306,   307,
4660      308,   309,    43,    44,   310,     0,     0,   311,   290,   312,
4661        1,   291,   100,   292,   242,   293,   294,   313,   314,     0,
4662      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4663        0,     0,     0,     0,     0,     2,     0,     0,     0,     0,
4664        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
4665       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
4666        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4667        0,     0,   295,    27,     0,     0,     0,     0,   296,   297,
4668      298,    28,    29,     0,     0,     0,    32,     0,     0,    35,
4669       36,   299,   417,    38,    39,     0,     0,     0,     0,     0,
4670        0,     0,     0,     0,     0,   301,     0,    40,     0,   302,
4671      303,   304,   305,   306,   307,   308,   309,    43,    44,   310,
4672        0,     0,   698,   724,   312,     0,     0,     0,     0,     0,
4673        0,     0,   313,   314,     0,   315,   316,   317,   318,   290,
4674        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4675        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4676        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4677        0,     0,     8,     9,    10,   554,    12,    13,    14,    15,
4678       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4679        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4680        0,     0,     0,   295,    27,     0,     0,     0,     0,   296,
4681      297,   298,    28,    29,     0,     0,     0,    32,     0,     0,
4682       35,    36,   299,   417,    38,    39,     0,     0,     0,     0,
4683        0,     0,     0,     0,     0,     0,   301,     0,    40,     0,
4684      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4685      881,     0,     0,   882,   724,   312,     0,     0,     0,     0,
4686        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4687      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4688        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4689        0,     0,     0,     0,     0,     0,     0,     2,     0,     0,
4690        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4691        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4692        0,   616,   617,   618,   619,   620,   621,   622,   623,   624,
4693      625,   626,     0,     0,   295,     0,     0,     0,     0,     0,
4694      296,   297,   298,     0,     0,     0,     0,     0,    32,     0,
4695        0,     0,     0,   299,   300,  1115,     0,   628,   629,   630,
4696        0,  1860,     0,     1,   291,   100,   292,   301,   293,   294,
4697        0,   302,   303,   304,   305,   306,   307,   308,   309,    43,
4698       44,   310,     0,     0,   311,     0,   312,   631,     2,     0,
4699        0,   242,     0,   632,   313,   314,     0,   315,   316,   317,
4700      318,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4701        0,     0,  1107,  1108,  1109,   619,  1110,  1111,  1112,  1113,
4702      624,   625,  1114,     0,     0,   295,     0,     0,     0,     0,
4703        0,   296,   297,   298,     0,     0,     0,     0,     0,    32,
4704        0,     0,     0,     0,   299,   300,  1115,     0,   628,   629,
4705      630,     0,   290,     0,     1,   291,   100,   292,   301,   293,
4706      294,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4707       43,    44,   310,     0,     0,   311,     0,   312,   631,     2,
4708        0,     0,   242,     0,   632,   313,   314,     0,   315,   316,
4709      317,   318,     0,     0,     0,     0,     0,     0,     0,     0,
4710        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4711        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4712        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4713      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4714        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4715        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4716      309,     0,     0,   310,     0,     0,   311,     0,   312,     0,
4717        0,  2078,  2079,  1006,     0,     0,   313,   314,     0,   315,
4718      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4719        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4720        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4722        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4723      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4724     2090,   312,  2091,     0,  1146,     0,     0,     0,     0,   313,
4725      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4726        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4727      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4728        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4729        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4730      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4731        0,     0,   311,  1150,   312,  2089,     0,  1151,     0,     0,
4732        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
4733        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4734        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4735        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4736        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4737        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4738        0,     0,   310,     0,     0,   311,     0,   312,  1145,     0,
4739     1146,     0,     0,     0,     0,   313,   314,     0,   315,   316,
4740      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4741        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
4742      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4743        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4744        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4745      307,   308,   309,     0,     0,   310,     0,     0,   311,  1271,
4746      312,     0,     0,     0,     0,   735,     0,     0,   313,   314,
4747        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4748        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4749      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4750      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4751        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4752      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4753        0,   311,  1338,   312,     0,     0,     0,     0,   735,     0,
4754        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
4755        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4756      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4757      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4758        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4759        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4760        0,   310,     0,     0,   311,     0,   312,  1126,     0,     0,
4761        0,   735,     0,     0,   313,   314,     0,   315,   316,   317,
4762      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4763        0,     0,     0,   296,   297,   298,  1625,     0,     1,   291,
4764      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4765        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4766      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4767      308,   309,     0,     0,   310,     0,     0,   311,  1150,   312,
4768        0,     0,  1151,     0,     0,     0,     0,   313,   314,     0,
4769      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4770      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4771        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4772      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4773        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4774      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4775      311,  1626,   312,  1627,     0,     0,     0,     0,     0,     0,
4776      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4777        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4778      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4779      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4780        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
4781      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
4782      310,     0,     0,   311,     0,   312,  1635,     0,  1146,     0,
4783        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4784        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4785        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4786      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4787        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4788        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4789      309,     0,     0,   310,     0,     0,   311,  1673,   312,     0,
4790        0,     0,     0,   735,     0,     0,   313,   314,     0,   315,
4791      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4792        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4793        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4795        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4796      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4797     1682,   312,     0,     0,     0,     0,   735,     0,     0,   313,
4798      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4799        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4800      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4801        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4802        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4803      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4804        0,     0,   311,  1714,   312,     0,     0,  1146,     0,     0,
4805        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
4806        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4807        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4808        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4809        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4810        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4811        0,     0,   310,     0,     0,   311,     0,   312,     0,     0,
4812     1146,     0,     0,     0,     0,   313,   314,  1742,   315,   316,
4813      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4814        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
4815      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4817        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4818      307,   308,   309,     0,     0,   310,     0,     0,   311,     0,
4819      312,     0,     0,  1745,     0,     0,     0,  1746,   313,   314,
4820        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4821        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4822      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4823      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4824        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4825      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4826        0,   311,     0,   312,     0,     0,  1146,     0,     0,     0,
4827        0,   313,   314,  1752,   315,   316,   317,   318,     0,     0,
4828        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4829      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4830      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4831        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4832        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4833        0,   310,     0,     0,   311,     0,   312,     0,     0,  1745,
4834        0,     0,     0,  1754,   313,   314,     0,   315,   316,   317,
4835      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4836        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
4837      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4838        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4839      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4840      308,   309,     0,     0,   310,     0,     0,   311,     0,   312,
4841        0,     0,  1745,     0,     0,     0,  1766,   313,   314,     0,
4842      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4843      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4844        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4845      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4846        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4847      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4848      311,     0,   312,     0,     0,  1745,     0,     0,     0,  1770,
4849      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4850        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4851      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4852      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4853        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
4854      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
4855      310,     0,     0,   311,  1856,   312,     0,     0,  1146,     0,
4856        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4857        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4858        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4859      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4860        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4861        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4862      309,     0,     0,   310,     0,     0,   311,  1858,   312,     0,
4863        0,  1146,     0,     0,     0,     0,   313,   314,     0,   315,
4864      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4865        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4866        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4868        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4869      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4870     1859,   312,     0,     0,  1151,     0,     0,     0,     0,   313,
4871      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4872        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4873      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4874        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4875        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4876      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4877        0,     0,   311,  1862,   312,     0,     0,  1146,     0,     0,
4878        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
4879        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4880        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4881        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4882        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4883        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4884        0,     0,   310,     0,     0,   311,  1626,   312,  1627,     0,
4885        0,     0,     0,     0,     0,   313,   314,     0,   315,   316,
4886      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4887        0,     0,     0,     0,   296,   297,   298,  1882,     0,     1,
4888      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4890        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4891      307,   308,   309,     0,     0,   310,     0,     0,   311,     0,
4892      312,  1879,     0,  1146,     0,     0,     0,     0,   313,   314,
4893        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4894        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4895      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4896      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4897        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4898      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4899        0,   311,  1883,   312,  1627,     0,     0,     0,     0,     0,
4900        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
4901        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4902      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4903      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4904        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4905        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4906        0,   310,     0,     0,   311,     0,   312,     0,     0,  1146,
4907        0,     0,     0,     0,   313,   314,  1901,   315,   316,   317,
4908      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4909        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
4910      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4912      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4913      308,   309,     0,     0,   310,     0,     0,   311,     0,   312,
4914        0,     0,  1146,     0,     0,     0,     0,   313,   314,  1904,
4915      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4916      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4917        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4918      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4919        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4920      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4921      311,  2011,   312,     0,     0,  1146,     0,     0,     0,     0,
4922      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4923        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4924      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4925      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4926        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
4927      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
4928      310,     0,     0,   311,  1857,   312,     0,     0,  1151,     0,
4929        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4930        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4931        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4932      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4933        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4934        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4935      309,     0,     0,   310,     0,     0,   311,  2018,   312,     0,
4936        0,  1146,     0,     0,     0,     0,   313,   314,     0,   315,
4937      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4938        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4939        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4940        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4941        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4942      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4943     1883,   312,  1627,     0,     0,     0,     0,     0,     0,   313,
4944      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4945        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4946      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4947        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4948        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4949      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4950        0,     0,   311,  2094,   312,     0,     0,  1146,     0,     0,
4951        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
4952        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4953        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4954        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4955        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4956        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4957        0,     0,   310,     0,     0,   311,     0,   312,     0,     0,
4958        0,  2122,  1006,     0,     0,   313,   314,     0,   315,   316,
4959      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4960        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
4961      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4963        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4964      307,   308,   309,     0,     0,   310,     0,     0,   311,  2125,
4965      312,     0,     0,  1146,     0,     0,     0,     0,   313,   314,
4966        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4967        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4968      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4969      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4970        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4971      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4972        0,   311,  2126,   312,     0,     0,  1146,     0,     0,     0,
4973        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
4974        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4975      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4976      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4977        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4978        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4979        0,   310,     0,     0,   311,  2153,   312,     0,     0,  1146,
4980        0,     0,     0,     0,   313,   314,     0,   315,   316,   317,
4981      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4982        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
4983      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4984        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4985      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4986      308,   309,     0,     0,   310,     0,     0,   311,     0,   312,
4987        0,     0,     0,     0,     0,     0,     0,   313,   314,   539,
4988      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4989      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4990        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4991      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4992        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4993      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4994      311,     0,   312,     0,     0,     0,     0,   735,     0,     0,
4995      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4996        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4997      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4998      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4999        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
5000      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
5001      310,     0,     0,   311,     0,   312,     0,     0,     0,     0,
5002        0,     0,     0,   313,   314,   829,   315,   316,   317,   318,
5003        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
5004        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
5005      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
5006        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
5007        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
5008      309,     0,     0,   310,     0,     0,   311,     0,   312,     0,
5009        0,     0,     0,     0,     0,     0,   313,   314,   833,   315,
5010      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
5011        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
5012        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
5013        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5014        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
5015      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
5016        0,   312,     0,     0,     0,     0,  1006,     0,     0,   313,
5017      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
5018        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
5019      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
5020        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
5021        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
5022      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
5023        0,     0,   311,     0,   312,     0,     0,     0,     0,     0,
5024        0,     0,   313,   314,  1047,   315,   316,   317,   318,     0,
5025        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
5026        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
5027        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
5028        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
5029        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
5030        0,     0,   310,     0,     0,   311,     0,   312,     0,     0,
5031        0,     0,     0,     0,  1099,   313,   314,     0,   315,   316,
5032      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
5033        0,     0,     0,     0,   296,   297,   298,  1475,     0,     1,
5034      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
5035        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5036        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
5037      307,   308,   309,     0,     0,   310,     0,     0,   311,   724,
5038      312,     0,     0,     0,     0,     0,     0,     0,   313,   314,
5039        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
5040        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
5041      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
5042      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
5043        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
5044      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
5045        0,   311,     0,   312,     0,     0,     0,     0,   735,     0,
5046        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
5047        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
5048      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
5049      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
5050        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
5051        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
5052        0,   310,     0,     0,   311,     0,   312,     0,     0,     0,
5053        0,     0,     0,     0,   313,   314,  1577,   315,   316,   317,
5054      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
5055        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
5056      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
5057        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5058      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
5059      308,   309,     0,     0,   310,     0,     0,   311,  1609,   312,
5060        0,     0,     0,     0,     0,     0,     0,   313,   314,     0,
5061      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
5062      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
5063        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
5064      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5065        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
5066      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
5067      311,     0,   312,     0,     0,     0,     0,     0,     0,  1612,
5068      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
5069        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
5070      297,   298,  1820,     0,     1,   291,   100,   292,     0,   293,
5071      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
5072        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
5073      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
5074      310,     0,     0,   311,     0,   312,     0,     0,     0,     0,
5075     1819,     0,     0,   313,   314,     0,   315,   316,   317,   318,
5076        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
5077        0,     0,   296,   297,   298,  1823,     0,     1,   291,   100,
5078      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
5079        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
5080        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
5081      309,     0,     0,   310,     0,     0,   311,     0,   312,     0,
5082        0,     0,     0,   735,     0,     0,   313,   314,     0,   315,
5083      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
5084        0,     0,     0,     0,     0,   296,   297,   298,  1827,     0,
5085        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
5086        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5087        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
5088      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
5089        0,   312,     0,     0,     0,     0,   735,     0,     0,   313,
5090      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
5091        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
5092      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
5093        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
5094        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
5095      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
5096        0,     0,   311,     0,   312,     0,     0,     0,     0,   735,
5097        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
5098        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
5099        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
5100        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
5101        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
5102        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
5103        0,     0,   310,     0,     0,   311,  1869,   312,     0,     0,
5104        0,     0,     0,     0,     0,   313,   314,     0,   315,   316,
5105      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
5106        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
5107      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
5108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5109        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
5110      307,   308,   309,     0,     0,   310,     0,     0,  1928,     0,
5111      312,     0,     0,     0,     0,  1819,     0,     0,   313,   314,
5112        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
5113        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
5114      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
5115      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
5116        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
5117      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
5118        0,   311,  2027,   312,     0,     0,     0,     0,     0,     0,
5119        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
5120        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
5121      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
5122      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
5123        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
5124        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
5125        0,   310,     0,     0,   311,  2085,   312,     0,     0,     0,
5126        0,     0,     0,     0,   313,   314,     0,   315,   316,   317,
5127      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
5128        0,     0,     0,   296,   297,   298,   688,     0,     1,   291,
5129      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
5130        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5131      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
5132      308,   309,     0,     0,   310,     0,     0,   311,     0,   312,
5133        0,     0,     0,     0,     0,     0,     0,   313,   314,     0,
5134      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
5135      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
5136        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
5137      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5138        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
5139      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
5140      689,     0,   312,     0,     0,     0,     0,     0,     0,     0,
5141      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
5142        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
5143      297,   298,   688,     0,     1,   291,   100,   292,     0,   293,
5144      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
5145        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
5146      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
5147      310,     0,     0,   698,     0,   312,     0,     0,     0,     0,
5148        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
5149        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
5150        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
5151        0,     0,     0,     0,     0,   299,   300,     0,     0,     0,
5152        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
5153        0,     0,     0,   302,   303,   304,   305,   306,   307,   308,
5154      309,     0,     0,   310,     0,     0,   721,     0,   312,  -910,
5155      573,     0,  -910,  -910,  -910,     0,   313,   314,     0,   315,
5156      316,   317,   318,     0,     0,     0,     0,     0,     0,     0,
5157        0,     0,     0,     0,     0,     0,     0,  -910,  -910,  -910,
5158     -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
5159     -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,  -910,
5160        0,     0,  -910,     0,     0,     0,     0,     0,     0,     0,
5161        0,     0,     0,     0,  -910,  -910,     0,  -910,     0,     0,
5162     -910,  -910,     0,  -910,  -910,     0,     0,  -910,  -910,  -910,
5163     -910,  -910,  -910,     0,  -910,  -910,  -910,  -910,     0,     0,
5164     -910,  -910,  -910,  -910,     0,  -910,     0,  -910,  -910,  -910,
5165        0,  -910,  -910,  -910,  -910,  -910,  -910,  -910,     0,  -910,
5166     -910,  -910,     0,     0,  -910,   574,  -910,  -910,     0,   575,
5167     -910,     0,     0,     0,  -910,  -910,  -188,   898,     0,  -188,
5168     -188,  -188,     0,     0,     0,     0,     0,     0,     0,     0,
5169        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5170        0,     0,     0,     0,  -188,  -188,  -188,  -188,  -188,  -188,
5171     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
5172     -188,  -188,  -188,  -188,  -188,  -188,  -188,     0,     0,  -188,
5173        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5174        0,  -188,  -188,     0,  -188,     0,     0,  -188,  -188,     0,
5175     -188,  -188,     0,     0,  -188,  -188,  -188,  -188,  -188,  -188,
5176        0,  -188,  -188,  -188,  -188,     0,     0,  -188,  -188,  -188,
5177     -188,     0,  -188,     0,  -188,  -188,  -188,     0,  -188,  -188,
5178     -188,  -188,  -188,  -188,  -188,     0,  -188,  -188,  -188,     0,
5179        0,  -188,     0,  -188,   899,     0,   900,  -188,     0,     0,
5180        0,  -188,  -188,  -255,   912,     0,     1,   291,   100,     0,
5181        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5183        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5184       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5185       21,    22,    23,    24,     0,     0,  -255,     0,     0,     0,
5186        0,     0,     0,     0,     0,     0,     0,     0,   295,    27,
5187        0,   413,     0,     0,   296,   297,     0,    28,    29,     0,
5188        0,   414,    32,   415,   416,    35,    36,     0,   417,    38,
5189       39,   418,     0,     0,   419,   420,   421,   422,     0,   423,
5190        0,   424,   425,    40,     0,   302,   303,   304,   305,   306,
5191      307,   308,     0,    43,    44,    45,     0,     0,   426,     0,
5192      427,   428,  -253,   915,  -255,     1,   291,   100,   313,   314,
5193        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5194        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5195        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5196       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5197       22,    23,    24,     0,     0,  -253,     0,     0,     0,     0,
5198        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5199      413,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5200      414,    32,   415,   416,    35,    36,     0,   417,    38,    39,
5201      418,     0,     0,   419,   420,   421,   422,     0,   423,     0,
5202      424,   425,    40,     0,   302,   303,   304,   305,   306,   307,
5203      308,     0,    43,    44,    45,     0,     0,   426,     0,   427,
5204      428,  -256,   912,  -253,     1,   291,   100,   313,   314,     0,
5205        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5206        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5207      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5208       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5209       23,    24,     0,     0,  -256,     0,     0,     0,     0,     0,
5210        0,     0,     0,     0,     0,     0,   295,    27,     0,   413,
5211        0,     0,   296,   297,     0,    28,    29,     0,     0,   414,
5212       32,   415,   416,    35,    36,     0,   417,    38,    39,   418,
5213        0,     0,   419,   420,   421,   422,     0,   423,     0,   424,
5214      425,    40,     0,   302,   303,   304,   305,   306,   307,   308,
5215        0,    43,    44,    45,     0,     0,   426,     0,   427,   428,
5216     -254,   915,  -256,     1,   291,   100,   313,   314,     0,     0,
5217        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5218        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
5219      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5220       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5221       24,     0,     0,  -254,     0,     0,     0,     0,     0,     0,
5222        0,     0,     0,     0,     0,   295,    27,     0,   413,     0,
5223        0,   296,   297,     0,    28,    29,     0,     0,   414,    32,
5224      415,   416,    35,    36,     0,   417,    38,    39,   418,     0,
5225        0,   419,   420,   421,   422,     0,   423,     0,   424,   425,
5226       40,     0,   302,   303,   304,   305,   306,   307,   308,     0,
5227       43,    44,    45,     0,     0,   426,     0,   427,   428,     0,
5228      412,  -254,     1,   291,   100,   313,   314,     0,     0,     0,
5229        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5230        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5231      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5232       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5233        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5234        0,     0,     0,     0,   295,    27,     0,   413,     0,     0,
5235      296,   297,     0,    28,    29,     0,     0,   414,    32,   415,
5236      416,    35,    36,     0,   417,    38,    39,   418,     0,     0,
5237      419,   420,   421,   422,     0,   423,     0,   424,   425,    40,
5238        0,   302,   303,   304,   305,   306,   307,   308,     0,    43,
5239       44,    45,     0,     0,   426,     0,   427,   428,     0,   480,
5240      429,     1,   291,   100,   313,   314,     0,     0,     0,     0,
5241        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5242        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
5243      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5244       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5245        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5246        0,     0,     0,   295,    27,     0,   413,     0,     0,   296,
5247      297,     0,    28,    29,     0,     0,   414,    32,   415,   416,
5248       35,    36,     0,   417,    38,    39,   418,     0,     0,   419,
5249      420,   421,   422,     0,   423,     0,   424,   425,    40,     0,
5250      302,   303,   304,   305,   306,   307,   308,     0,    43,    44,
5251       45,     0,     0,   426,     0,   427,   428,     0,   502,   481,
5252        1,   291,   100,   313,   314,     0,     0,     0,     0,     0,
5253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5254        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
5255      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5256       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5257        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5258        0,     0,   295,    27,     0,   413,     0,     0,   296,   297,
5259        0,    28,    29,     0,     0,   414,    32,   415,   416,    35,
5260       36,     0,   417,    38,    39,   418,     0,     0,   419,   420,
5261      421,   422,     0,   423,     0,   424,   425,    40,     0,   302,
5262      303,   304,   305,   306,   307,   308,     0,    43,    44,    45,
5263        0,     0,   426,     0,   427,   428,     0,   507,   503,     1,
5264      291,   100,   313,   314,     0,     0,     0,     0,     0,     0,
5265        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5266        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
5267        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5268       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5270        0,   295,    27,     0,   413,     0,     0,   296,   297,     0,
5271       28,    29,     0,     0,   414,    32,   415,   416,    35,    36,
5272        0,   417,    38,    39,   418,     0,     0,   419,   420,   421,
5273      422,     0,   423,     0,   424,   425,    40,     0,   302,   303,
5274      304,   305,   306,   307,   308,     0,    43,    44,    45,     0,
5275        0,   426,     0,   427,   428,     0,   511,   508,     1,   291,
5276      100,   313,   314,     0,     0,     0,     0,     0,     0,     0,
5277        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5278        0,     0,     0,     2,   194,   195,   196,   197,   198,     8,
5279        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5280       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5281        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5282      295,    27,     0,   413,     0,     0,   296,   297,     0,    28,
5283       29,     0,     0,   414,    32,   415,   416,    35,    36,     0,
5284      417,    38,    39,   418,     0,     0,   419,   420,   421,   422,
5285        0,   423,     0,   424,   425,    40,     0,   302,   303,   304,
5286      305,   306,   307,   308,     0,    43,    44,    45,     0,     0,
5287      426,     0,   427,   428,     0,   912,   512,     1,   291,   100,
5288      313,   314,     0,     0,     0,     0,     0,     0,     0,     0,
5289        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5290        0,     0,     2,   194,   195,   196,   197,   198,     8,     9,
5291       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5292       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5293        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
5294       27,     0,   413,     0,     0,   296,   297,     0,    28,    29,
5295        0,     0,   414,    32,   415,   416,    35,    36,     0,   417,
5296       38,    39,   418,     0,     0,   419,   420,   421,   422,     0,
5297      423,     0,   424,   425,    40,     0,   302,   303,   304,   305,
5298      306,   307,   308,     0,    43,    44,    45,     0,     0,   426,
5299        0,   427,   428,     0,   915,  -765,     1,   291,   100,   313,
5300      314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5301        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5302        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5303       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5304       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5305        0,     0,     0,     0,     0,     0,     0,     0,   295,    27,
5306        0,   413,     0,     0,   296,   297,     0,    28,    29,     0,
5307        0,   414,    32,   415,   416,    35,    36,     0,   417,    38,
5308       39,   418,     0,     0,   419,   420,   421,   422,     0,   423,
5309        0,   424,   425,    40,     0,   302,   303,   304,   305,   306,
5310      307,   308,     0,    43,    44,    45,     0,     0,   426,     0,
5311      427,   428,     0,   912,  -766,     1,   291,   100,   313,   314,
5312        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5313        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5314        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5315       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5316       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5317        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5318      413,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5319      414,    32,   415,   416,    35,    36,     0,   417,    38,    39,
5320      418,     0,     0,   419,   420,   421,   422,     0,   423,     0,
5321      424,   425,    40,     0,   302,   303,   304,   305,   306,   307,
5322      308,     0,    43,    44,    45,     0,     0,   426,     0,   427,
5323      428,     0,   915,  -762,     1,   291,   100,   313,   314,     0,
5324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5325        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5326      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5327       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5328       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5329        0,     0,     0,     0,     0,     0,   295,    27,     0,   413,
5330        0,     0,   296,   297,     0,    28,    29,     0,     0,   414,
5331       32,   415,   416,    35,    36,     0,   417,    38,    39,   418,
5332        0,     0,   419,   420,   421,   422,     0,   423,     0,   424,
5333      425,    40,     0,   302,   303,   304,   305,   306,   307,   308,
5334        0,    43,    44,    45,     0,     0,   426,     0,   427,   428,
5335        0,   912,  -763,     1,   291,   100,   313,   314,     0,     0,
5336        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5337        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
5338      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5339       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5340       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5341        0,     0,     0,     0,     0,   295,    27,     0,   413,     0,
5342        0,   296,   297,     0,    28,    29,     0,     0,   414,    32,
5343      415,   416,    35,    36,     0,   417,    38,    39,   418,     0,
5344        0,   419,   420,   421,   422,     0,   423,     0,   424,   425,
5345       40,     0,   302,   303,   304,   305,   306,   307,   308,     0,
5346       43,    44,    45,     0,     0,   426,     0,   427,   428,     0,
5347      915,  -768,     1,   291,   100,   313,   314,     0,     0,     0,
5348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5349        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5350      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5351       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5353        0,     0,     0,     0,   295,    27,     0,   413,     0,     0,
5354      296,   297,     0,    28,    29,     0,     0,   414,    32,   415,
5355      416,    35,    36,     0,   417,    38,    39,   418,     0,     0,
5356      419,   420,   421,   422,     0,   423,     0,   424,   425,    40,
5357        0,   302,   303,   304,   305,   306,   307,   308,     0,    43,
5358       44,    45,     0,     0,   426,     0,   427,   428,     0,  1029,
5359     -769,     1,   291,   100,   313,   314,     0,     0,     0,     0,
5360        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5361        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
5362      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5363       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5364        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5365        0,     0,     0,   295,    27,     0,   413,     0,     0,   296,
5366      297,     0,    28,    29,     0,     0,   414,    32,   415,   416,
5367       35,    36,     0,   417,    38,    39,   418,     0,     0,   419,
5368      420,   421,   422,     0,   423,     0,   424,   425,    40,     0,
5369      302,   303,   304,   305,   306,   307,   308,     0,    43,    44,
5370       45,     0,     0,   426,     0,   427,   428,     0,  1033,  1030,
5371        1,   291,   100,   313,   314,     0,     0,     0,     0,     0,
5372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5373        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
5374      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5375       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5377        0,     0,   295,    27,     0,   413,     0,     0,   296,   297,
5378        0,    28,    29,     0,     0,   414,    32,   415,   416,    35,
5379       36,     0,   417,    38,    39,   418,     0,     0,   419,   420,
5380      421,   422,     0,   423,     0,   424,   425,    40,     0,   302,
5381      303,   304,   305,   306,   307,   308,     0,    43,    44,    45,
5382        0,     0,   426,     0,   427,   428,     0,   912,  1034,     1,
5383      291,   100,   313,   314,     0,     0,     0,     0,     0,     0,
5384        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5385        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
5386        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5387       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5389        0,   295,    27,     0,   413,     0,     0,   296,   297,     0,
5390       28,    29,     0,     0,   414,    32,   415,   416,    35,    36,
5391        0,   417,    38,    39,   418,     0,     0,   419,   420,   421,
5392      422,     0,   423,     0,   424,   425,    40,     0,   302,   303,
5393      304,   305,   306,   307,   308,     0,    43,    44,    45,     0,
5394        0,   426,     0,   427,   428,     0,   915,  -745,     1,   291,
5395      100,   313,   314,     0,     0,     0,     0,     0,     0,     0,
5396        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5397        0,     0,     0,     2,   194,   195,   196,   197,   198,     8,
5398        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5399       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5400        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5401      295,    27,     0,   413,     0,     0,   296,   297,     0,    28,
5402       29,     0,     0,   414,    32,   415,   416,    35,    36,     0,
5403      417,    38,    39,   418,     0,     0,   419,   420,   421,   422,
5404        0,   423,     0,   424,   425,    40,     0,   302,   303,   304,
5405      305,   306,   307,   308,     0,    43,    44,    45,     0,     0,
5406      426,     0,   427,   428,     0,   912,  -746,     1,   291,   100,
5407      313,   314,     0,     0,     0,     0,     0,     0,     0,     0,
5408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5409        0,     0,     2,   194,   195,   196,   197,   198,     8,     9,
5410       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5411       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5412        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
5413       27,     0,   413,     0,     0,   296,   297,     0,    28,    29,
5414        0,     0,   414,    32,   415,   416,    35,    36,     0,   417,
5415       38,    39,   418,     0,     0,   419,   420,   421,   422,     0,
5416      423,     0,   424,   425,    40,     0,   302,   303,   304,   305,
5417      306,   307,   308,     0,    43,    44,    45,     0,     0,   426,
5418        0,   427,   428,     0,   915,  -748,     1,   291,   100,   313,
5419      314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5420        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5421        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5422       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5423       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5424        0,     0,     0,     0,     0,     0,     0,     0,   295,    27,
5425        0,   413,     0,     0,   296,   297,     0,    28,    29,     0,
5426        0,   414,    32,   415,   416,    35,    36,     0,   417,    38,
5427       39,   418,     0,     0,   419,   420,   421,   422,     0,   423,
5428        0,   424,   425,    40,     0,   302,   303,   304,   305,   306,
5429      307,   308,     0,    43,    44,    45,     0,     0,   426,     0,
5430      427,   428,     0,  1559,  -749,     1,   291,   100,   313,   314,
5431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5433        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5434       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5435       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5436        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5437      413,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5438      414,    32,   415,   416,    35,    36,     0,   417,    38,    39,
5439      418,     0,     0,   419,   420,   421,   422,     0,   423,     0,
5440      424,   425,    40,     0,   302,   303,   304,   305,   306,   307,
5441      308,     0,    43,    44,    45,     0,     0,   426,     0,   427,
5442      428,     0,   912,  1560,     1,   291,   100,   313,   314,     0,
5443        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5444        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5445      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5446       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5447       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5448        0,     0,     0,     0,     0,     0,   295,    27,     0,   413,
5449        0,     0,   296,   297,     0,    28,    29,     0,     0,   414,
5450       32,   415,   416,    35,    36,     0,   417,    38,    39,   418,
5451        0,     0,   419,   420,   421,   422,     0,   423,     0,   424,
5452      425,    40,     0,   302,   303,   304,   305,   306,   307,   308,
5453        0,    43,    44,    45,     0,     0,   426,     0,   427,   428,
5454        0,   915,  -671,     1,   291,   100,   313,   314,     0,     0,
5455        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5456        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
5457      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5458       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5459       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5460        0,     0,     0,     0,     0,   295,    27,     0,   413,     0,
5461        0,   296,   297,     0,    28,    29,     0,     0,   414,    32,
5462      415,   416,    35,    36,     0,   417,    38,    39,   418,     0,
5463        0,   419,   420,   421,   422,     0,   423,     0,   424,   425,
5464       40,     0,   302,   303,   304,   305,   306,   307,   308,     0,
5465       43,    44,    45,     0,     0,   426,     0,   427,   428,     0,
5466      912,  -672,     1,   291,   100,   313,   314,     0,     0,     0,
5467        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5468        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5469      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5470       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5471        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5472        0,     0,     0,     0,   295,    27,     0,   413,     0,     0,
5473      296,   297,     0,    28,    29,     0,     0,   414,    32,   415,
5474      416,    35,    36,     0,   417,    38,    39,   418,     0,     0,
5475      419,   420,   421,   422,     0,   423,     0,   424,   425,    40,
5476        0,   302,   303,   304,   305,   306,   307,   308,     0,    43,
5477       44,    45,     0,     0,   426,     0,   427,   428,     0,   915,
5478     -751,     1,   291,   100,   313,   314,     0,     0,     0,     0,
5479        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5480        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
5481      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5482       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5483        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5484        0,     0,     0,   295,    27,     0,   413,     0,     0,   296,
5485      297,     0,    28,    29,     0,     0,   414,    32,   415,   416,
5486       35,    36,     0,   417,    38,    39,   418,     0,     0,   419,
5487      420,   421,   422,     0,   423,     0,   424,   425,    40,     0,
5488      302,   303,   304,   305,   306,   307,   308,     0,    43,    44,
5489       45,     0,     0,   426,     0,   427,   428,     0,   912,  -752,
5490        1,   291,   100,   313,   314,     0,     0,     0,     0,     0,
5491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5492        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
5493      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5494       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5495        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5496        0,     0,   295,    27,     0,   413,     0,     0,   296,   297,
5497        0,    28,    29,     0,     0,   414,    32,   415,   416,    35,
5498       36,     0,   417,    38,    39,   418,     0,     0,   419,   420,
5499      421,   422,     0,   423,     0,   424,   425,    40,     0,   302,
5500      303,   304,   305,   306,   307,   308,     0,    43,    44,    45,
5501        0,     0,   426,     0,   427,   428,     0,   915,  -664,     1,
5502      291,   100,   313,   314,     0,     0,     0,     0,     0,     0,
5503        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5504        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
5505        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5506       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5507        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5508        0,   295,    27,     0,   413,     0,     0,   296,   297,     0,
5509       28,    29,     0,     0,   414,    32,   415,   416,    35,    36,
5510        0,   417,    38,    39,   418,     0,     0,   419,   420,   421,
5511      422,     0,   423,     0,   424,   425,    40,     0,   302,   303,
5512      304,   305,   306,   307,   308,     0,    43,    44,    45,     0,
5513        0,   426,     0,   427,   428,     0,   912,  -665,     1,   291,
5514      100,   313,   314,     0,     0,     0,     0,     0,     0,     0,
5515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5516        0,     0,     0,     2,   194,   195,   196,   197,   198,     8,
5517        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5518       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5519        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5520      295,    27,     0,   413,     0,     0,   296,   297,     0,    28,
5521       29,     0,     0,   414,    32,   415,   416,    35,    36,     0,
5522      417,    38,    39,   418,     0,     0,   419,   420,   421,   422,
5523        0,   423,     0,   424,   425,    40,     0,   302,   303,   304,
5524      305,   306,   307,   308,     0,    43,    44,    45,     0,     0,
5525      426,     0,   427,   428,     0,   915,  -660,     1,   291,   100,
5526      313,   314,     0,     0,     0,     0,     0,     0,     0,     0,
5527        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5528        0,     0,     2,   194,   195,   196,   197,   198,     8,     9,
5529       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5530       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5531        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
5532       27,     0,   413,     0,     0,   296,   297,     0,    28,    29,
5533        0,     0,   414,    32,   415,   416,    35,    36,     0,   417,
5534       38,    39,   418,     0,     0,   419,   420,   421,   422,     0,
5535      423,     0,   424,   425,    40,     0,   302,   303,   304,   305,
5536      306,   307,   308,     0,    43,    44,    45,     0,     0,   426,
5537        0,   427,   428,     0,   912,  -661,     1,   291,   100,   313,
5538      314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5540        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5541       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5542       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5543        0,     0,     0,     0,     0,     0,     0,     0,   295,    27,
5544        0,   413,     0,     0,   296,   297,     0,    28,    29,     0,
5545        0,   414,    32,   415,   416,    35,    36,     0,   417,    38,
5546       39,   418,     0,     0,   419,   420,   421,   422,     0,   423,
5547        0,   424,   425,    40,     0,   302,   303,   304,   305,   306,
5548      307,   308,     0,    43,    44,    45,     0,     0,   426,     0,
5549      427,   428,     0,   915,  -650,     1,   291,   100,   313,   314,
5550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5552        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5553       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5554       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5555        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5556      413,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5557      414,    32,   415,   416,    35,    36,     0,   417,    38,    39,
5558      418,     0,     0,   419,   420,   421,   422,     0,   423,     0,
5559      424,   425,    40,     0,   302,   303,   304,   305,   306,   307,
5560      308,     0,    43,    44,    45,     0,     0,   426,     0,   427,
5561      428,     0,   912,  -651,     1,   291,   100,   313,   314,     0,
5562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5563        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5564      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5565       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5566       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5567        0,     0,     0,     0,     0,     0,   295,    27,     0,   413,
5568        0,     0,   296,   297,     0,    28,    29,     0,     0,   414,
5569       32,   415,   416,    35,    36,     0,   417,    38,    39,   418,
5570        0,     0,   419,   420,   421,   422,     0,   423,     0,   424,
5571      425,    40,     0,   302,   303,   304,   305,   306,   307,   308,
5572        0,    43,    44,    45,     0,     0,   426,     0,   427,   428,
5573        0,   915,  -645,     1,   291,   100,   313,   314,     0,     0,
5574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5575        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
5576      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5577       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5578       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5579        0,     0,     0,     0,     0,   295,    27,     0,   413,     0,
5580        0,   296,   297,     0,    28,    29,     0,     0,   414,    32,
5581      415,   416,    35,    36,     0,   417,    38,    39,   418,     0,
5582        0,   419,   420,   421,   422,     0,   423,     0,   424,   425,
5583       40,     0,   302,   303,   304,   305,   306,   307,   308,     0,
5584       43,    44,    45,     0,     0,   426,     0,   427,   428,     0,
5585      912,  -646,     1,   291,   100,   313,   314,     0,     0,     0,
5586        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5587        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5588      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5589       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5590        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5591        0,     0,     0,     0,   295,    27,     0,   413,     0,     0,
5592      296,   297,     0,    28,    29,     0,     0,   414,    32,   415,
5593      416,    35,    36,     0,   417,    38,    39,   418,     0,     0,
5594      419,   420,   421,   422,     0,   423,     0,   424,   425,    40,
5595        0,   302,   303,   304,   305,   306,   307,   308,     0,    43,
5596       44,    45,     0,     0,   426,     0,   427,   428,     0,   915,
5597     -662,     1,   291,   100,   313,   314,     0,     0,     0,     0,
5598        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5599        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
5600      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5601       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5603        0,     0,     0,   295,    27,     0,   413,     0,     0,   296,
5604      297,     0,    28,    29,     0,     0,   414,    32,   415,   416,
5605       35,    36,     0,   417,    38,    39,   418,     0,     0,   419,
5606      420,   421,   422,     0,   423,     0,   424,   425,    40,     0,
5607      302,   303,   304,   305,   306,   307,   308,     0,    43,    44,
5608       45,     0,     0,   426,     0,   427,   428,     0,   290,  -663,
5609        1,   291,   100,   313,   314,     0,     0,     0,     0,     0,
5610        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5611        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
5612      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5613       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5614        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5615        0,     0,   295,    27,     0,   413,     0,     0,   296,   297,
5616        0,    28,    29,     0,     0,   414,    32,   415,   416,    35,
5617       36,     0,   417,    38,    39,   418,     0,     0,   419,   420,
5618      421,   422,     0,   423,     0,   424,   425,    40,     0,   302,
5619      303,   304,   305,   306,   307,   308,     0,    43,    44,    45,
5620        0,     0,   426,     0,   427,   428,   412,     0,     1,   291,
5621      100,     0,   313,   314,     0,     0,     0,     0,     0,     0,
5622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5623        0,     0,     0,     2,   194,   195,   196,   197,   198,     8,
5624        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5625       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5627      295,    27,     0,   413,     0,     0,   296,   297,     0,    28,
5628       29,     0,     0,   414,    32,   415,   416,    35,    36,     0,
5629      417,    38,    39,   418,     0,     0,   419,   420,   421,   422,
5630        0,   423,     0,   424,   425,    40,     0,   302,   303,   304,
5631      305,   306,   307,   308,     0,    43,    44,    45,     0,     0,
5632      426,     0,   427,   428,   480,     0,     1,   291,   100,     0,
5633      313,   314,     0,     0,     0,     0,     0,     0,     0,     0,
5634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5635        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5636       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5637       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5638        0,     0,     0,     0,     0,     0,     0,     0,   295,    27,
5639        0,   413,     0,     0,   296,   297,     0,    28,    29,     0,
5640        0,   414,    32,   415,   416,    35,    36,     0,   417,    38,
5641       39,   418,     0,     0,   419,   420,   421,   422,     0,   423,
5642        0,   424,   425,    40,     0,   302,   303,   304,   305,   306,
5643      307,   308,     1,    43,    44,    45,     0,     0,   426,     0,
5644      427,   428,     0,     0,     0,     0,     0,     0,   313,   314,
5645        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5646      196,   197,   198,     8,     9,    10,   554,    12,    13,    14,
5647       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5648        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5649        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5650        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5651        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5652        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5653    -1226,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5654       44,    45,     0,     0,   555,     0,     0,     0,     0,     0,
5655        0,     0,     0,     0,     0,   556,     0,   557,     0, -1226,
5656    -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226,
5657    -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226,
5658    -1226,     0, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226,
5659    -1226, -1226, -1226,     0,     0,     0, -1226,     0, -1226,     0,
5660        0,     0,     0,     0, -1226, -1226,     0,     0, -1226, -1226,
5661    -1226, -1226, -1226, -1226,     0,     0, -1226, -1226, -1226, -1226,
5662    -1226, -1226, -1226, -1226, -1226,     0, -1226, -1211,     0, -1226,
5663    -1226,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5664    -1226, -1226,     0,     0,     0,     0,     0,     0, -1226,     0,
5665        0, -1226, -1226,     0, -1226,     0, -1211, -1211, -1211, -1211,
5666    -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211,
5667    -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211,     0, -1211,
5668    -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211,
5669        0,     0,     0, -1211,     0, -1211,     0,     0,     0,     0,
5670        0, -1211, -1211,     0,     0, -1211, -1211, -1211, -1211, -1211,
5671    -1211,     0,     0, -1211, -1211, -1211, -1211, -1211, -1211, -1211,
5672    -1211, -1211,     0, -1211, -1213,     0, -1211, -1211,     0,     0,
5673        0,     0,     0,     0,     0,     0,     0, -1211, -1211,     0,
5674        0,     0,     0,     0,     0, -1211,     0,     0, -1211, -1211,
5675        0, -1211,     0, -1213, -1213, -1213, -1213, -1213, -1213, -1213,
5676    -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213,
5677    -1213, -1213, -1213, -1213, -1213,     0, -1213, -1213, -1213, -1213,
5678    -1213, -1213, -1213, -1213, -1213, -1213, -1213,     0,     0,     0,
5679    -1213,     0, -1213,     0,     0,     0,     0,     0, -1213, -1213,
5680        0,     0, -1213, -1213, -1213, -1213, -1213, -1213,     0,     0,
5681    -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213,     0,
5682    -1213, -1210,     0, -1213, -1213,     0,     0,     0,     0,     0,
5683        0,     0,     0,     0, -1213, -1213,     0,     0,     0,     0,
5684        0,     0, -1213,     0,     0, -1213, -1213,     0, -1213,     0,
5685    -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210,
5686    -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210,
5687    -1210, -1210,     0, -1210, -1210, -1210, -1210, -1210, -1210, -1210,
5688    -1210, -1210, -1210, -1210,     0,     0,     0, -1210,     0, -1210,
5689        0,     0,     0,     0,     0, -1210, -1210,     0,     0, -1210,
5690    -1210, -1210, -1210, -1210, -1210,     0,     0, -1210, -1210, -1210,
5691    -1210, -1210, -1210, -1210, -1210, -1210,     0, -1210, -1212,     0,
5692    -1210, -1210,     0,     0,     0,     0,     0,     0,     0,     0,
5693        0, -1210, -1210,     0,     0,     0,     0,     0,     0,     0,
5694        0,     0, -1210, -1210,     0, -1210,     0, -1212, -1212, -1212,
5695    -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212,
5696    -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212,     0,
5697    -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212,
5698    -1212,     0,     0,     0, -1212,     0, -1212,     0,     0,     0,
5699        0,     0, -1212, -1212,     0,     0, -1212, -1212, -1212, -1212,
5700    -1212, -1212,     0,     0, -1212, -1212, -1212, -1212, -1212, -1212,
5701    -1212, -1212, -1212,     0, -1212,     0,     0, -1212, -1212,     1,
5702        0,     0,     0,     0,     0,     0,     0,     0, -1212, -1212,
5703        0,     0,     0,     0,     0,     0,     0,     0,     0, -1212,
5704    -1212,     0, -1212,     0,     2,   194,   195,   196,   197,   198,
5705      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
5706       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
5707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5708        0,     0,   238,     0,     0,     0,     0,     0,     0,     0,
5709       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
5710        0,   239,    38,   240,     0,     0,     0,     0,     0,     0,
5711        0,     0,     0,     0,     0,     0,   241,     0,     1,     0,
5712        0,     0,     0,     0,     0,     0,    43,    44,    45,     0,
5713        0,   854,     0,     0,     0,     0,     0,     0,  1441,     0,
5714        0,     0,   556,     2,   194,   195,   196,   197,   198,   226,
5715      227,   228,   229,   230,   231,   232,   233,   234,   235,    18,
5716       19,   236,   237,    22,    23,    24,     0,     0,     0,     0,
5717        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5718        0,   238,     0,     0,     0,     0,     0,     0,     0,    28,
5719       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5720      239,    38,   240,     0,     0,     0,     0,     0,     0,     0,
5721        0,     0,     0,     0,     0,   241,     0,     1,     0,     0,
5722        0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
5723      854,     0,     0,     0,     0,     0,     0,  1458,     0,     0,
5724        0,   556,     2,   194,   195,   196,   197,   198,   226,   227,
5725      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
5726      236,   237,    22,    23,    24,     0,     0,     0,     0,     0,
5727        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5728      238,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5729        0,     0,     0,    32,     0,     0,     0,     0,     0,   239,
5730       38,   240,     0,     0,     0,     0,     0,     0,     0,     0,
5731        0,     0,     0,     0,   241,     0,     1,     0,     0,     0,
5732        0,     0,     0,     0,    43,    44,    45,     0,     0,  1212,
5733        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5734     1235,     2,   194,   195,   196,   197,   198,   226,   227,   228,
5735      229,   230,   231,   232,   233,   234,   235,    18,    19,   236,
5736      237,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5737        0,     0,     0,     0,     0,     0,     0,     0,     0,   238,
5738        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5739        0,     0,    32,     0,     0,     0,     0,     0,   239,    38,
5740      240,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5741        0,     0,     0,   241,     0,     1,     0,     0,     0,     0,
5742        0,     0,     0,    43,    44,    45,     0,     0,  1212,     0,
5743        0,     0,     0,     0,     0,     0,     0,     0,     0,  1706,
5744        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
5745      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
5746       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5747        0,     0,     0,     0,     0,     0,     0,     0,   238,     0,
5748        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5749        0,    32,     0,     0,     0,     0,     0,   239,    38,   240,
5750        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5751        0,     0,   241,     0,     1,     0,     0,     0,     0,     0,
5752        0,     0,    43,    44,    45,     0,     0,  1212,     0,     0,
5753        0,     0,     0,     0,     0,     0,     0,     0,  1721,     2,
5754        3,     4,   261,     6,     7,     8,     9,    10,    11,    12,
5755       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5756       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5757        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
5758        0,     0,     0,     0,     0,    28,    29,   262,    31,     0,
5759       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5761        0,    40,     1,     0,     0,     0,    42,     0,     0,     0,
5762        0,    43,    44,    45,     0,     0,    46,     0,     0,     0,
5763        0,     0,     0,     0,     0,   263,     0,     2,   194,   195,
5764      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5765       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5766        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5767        0,     0,     0,     0,     0,    27,     0,   413,     0,     0,
5768        0,     0,     0,    28,    29,     0,     0,   414,    32,     0,
5769        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5770        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5771        1,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5772       44,    45,     0,     0,   940,     0,   427,     0,     0,     0,
5773        0,     0,     0,   941,     0,     2,   194,   195,   196,   197,
5774      198,     8,     9,    10,   554,    12,    13,    14,    15,    16,
5775       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5776        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5777        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
5778        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5779       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5780        0,     0,     0,     0,     0,     0,     0,    40,     1,     0,
5781        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
5782        0,     0,   920,     0,     0,     0,     0,     0,     0,     0,
5783        0,   921,     0,     2,   194,   195,   196,   197,   198,     8,
5784        9,    10,   554,    12,    13,    14,    15,    16,    17,    18,
5785       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5787        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5788       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5789       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5790        0,     0,     0,  1524,     0,    40,     0,     0,     0,     0,
5791        0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
5792       46,     0,     0,     0,     0,     0,     0,     0,     0,   921,
5793      -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,
5794      -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,
5795      -65,   -65,   -65,     0,     0,     0,     0,     0,     0,     0,
5796        0,     0,     0,     0,     0,     0,     0,     0,   -65,     0,
5797        0,     0,     0,     0,     0,     0,   -65,   -65,     0,     0,
5798        0,   -65,     0,     0,     0,     0,     0,   -65,   -65,   -65,
5799        0,     0,     0,     0,     0,     0,     0,  1733,     0,     0,
5800        0,     0,   -65,     0,     0,     0,     0,     0,     0,     0,
5801        0,     0,   -65,   -65,     0,     0,     0,     0,     0,     0,
5802     1525,     0,  1526,   -65,     2,   194,   195,   196,   197,   198,
5803      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
5804       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
5805        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5806        0,     0,   238,     0,     0,     0,     0,     0,     0,     0,
5807       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
5808        0,   239,    38,   240,     0,     0,     0,     0,     0,     0,
5809        0,  1737,     0,     0,     0,     0,   241,     0,     0,     0,
5810        0,     0,     0,     0,     0,     0,    43,    44,     0,     0,
5811        0,     0,     0,     0,     0,     0,     0,  -110,     2,   194,
5812      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
5813      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
5814       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5815        0,     0,     0,     0,     0,     0,   238,     0,     0,     0,
5816        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5817        0,     0,     0,     0,     0,   239,    38,   240,     0,     0,
5818        0,     0,     0,     0,     0,  1738,     0,     0,     0,     0,
5819      241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5820       43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
5821        0,   -94,     2,   194,   195,   196,   197,   198,   226,   227,
5822      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
5823      236,   237,    22,    23,    24,     0,     0,     0,     0,     0,
5824        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5825      238,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5826        0,     0,     0,    32,     0,     0,     0,     0,     0,   239,
5827       38,   240,     0,     0,     0,     0,     0,     0,     0,  1851,
5828        0,     0,     0,     0,   241,     0,     0,     0,     0,     0,
5829        0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
5830        0,     0,     0,     0,     0,   -95,     2,   194,   195,   196,
5831      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
5832      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
5833        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5834        0,     0,     0,     0,   238,     0,     0,     0,     0,     0,
5835        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5836        0,     0,     0,   239,    38,   240,     0,     0,     0,     0,
5837        0,     0,     0,  1990,     0,     0,     0,     0,   241,     0,
5838        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
5839        0,     0,     0,     0,     0,     0,     0,     0,     0,   -79,
5840        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
5841      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
5842       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5843        0,     0,     0,     0,     0,     0,     0,     0,   238,     0,
5844        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5845        0,    32,     0,     0,     0,     0,     0,   239,    38,   240,
5846        0,     0,     0,     0,     0,     0, -1292,   280,     0,     1,
5847        0,     0,   241,     0,     0,     0,     0,     0,     0,     0,
5848        0,     0,    43,    44,     0,     0,     0,     0,     0,     0,
5849        0,     0,     0,   -86,     2,     3,     4,     5,     6,     7,
5850        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5851       18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
5852        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5853        0,    26,    27,     0,     0,     0,     0,     0,     0,     0,
5854       28,    29,    30,    31,     0,    32,    33,    34,    35,    36,
5855        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
5856        1,     0,     0,     0,     0,     0,    40,    41,     0,     0,
5857        0,    42,     0,     0,     0,     0,    43,    44,    45,     0,
5858        0,    46,     0,     0,    47,     2,   194,   195,   196,   197,
5859      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5860       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5861        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5862        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
5863        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5864       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5865        0,     0,     0,     0,     1,     0,     0,    40,     0,     0,
5866        0,     0,     0,     0,   821,     0,     0,    43,    44,     0,
5867        0,     0,     0,     0,     0,     0,     0,     0,  1406,     2,
5868      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5869       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5870       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5871        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
5872        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5873       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5874        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
5875        0,    40,     0,     0,     0,     0,     0,     0,   821,     0,
5876        0,    43,    44,     0,     0,     0,     0,     0,     0,     0,
5877        0,     0,  1764,     2,   194,   195,   196,   197,   198,     8,
5878        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5879       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5880        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5881        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5882       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5883       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5884      159,     0,     1,     0,     0,    40,     0,     0,     0,     0,
5885        0,     0,   821,     0,     0,    43,    44,     0,     0,     0,
5886        0,     0,     0,     0,     0,     0,  1765,     2,     3,     4,
5887      160,     6,     7,     8,     9,    10,   161,   162,    13,    14,
5888       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5890        0,     0,     0,     0,    26,    27,     0,     0,     0,     0,
5891        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5892        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5893        0,   159,     0,     1,     0,     0,     0,     0,     0,    40,
5894        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5895       44,    45,     0,     0,    46,     0,     0,   163,     2,     3,
5896        4,   160,     6,     7,     8,     9,    10,   161,   162,    13,
5897       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5898       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5899        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
5900        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5901        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
5902        0,     0,   594,     0,     1,     0,     0,     0,     0,     0,
5903       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5904       43,    44,    45,     0,     0,    46,     0,     0,   163,     2,
5905      194,   195,   196,   197,   198,   226,   227,   228,   595,   596,
5906      231,   232,   233,   234,   235,    18,    19,   236,   237,    22,
5907       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5908        0,     0,     0,     0,     0,     0,     0,   238,     0,     0,
5909        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5910       32,     0,     0,     0,     0,     0,   239,    38,   240,     0,
5911        0,     0,     0,  -930,     0,  -930,     0,     0,     0,     0,
5912        0,   241,     0,     0,     0,     0,     0,     0,     0,     0,
5913        0,    43,    44,    45,     0,     0,    46,     0,     0,   597,
5914     -930,  -930,  -930,  -930,  -930,  -930,  -930,  -930,  -930,  -930,
5915     -930,  -930,  -930,  -930,  -930,  -930,  -930,  -930,  -930,  -930,
5916     -930,  -930,  -930,     0,     0,     0,     0,     0,     0,     0,
5917        0,     0,     0,     0,     0,     0,     0,     0,  -930,     0,
5918        0,     0,     0,     0,     0,     0,  -930,  -930,     0,     0,
5919        0,  -930,     0,     0,     0,     0,     0,  -930,  -930,  -930,
5920        0,     0,     0,     0,     0,     0,     1,     0,     0,     0,
5921        0,     0,  -930,     0,     0,     0,     0,     0,     0,     0,
5922        0,     0,  -930,  -930,  -930,     0,     0,  -930,     0,     0,
5923     -930,     2,     3,     4,     5,     6,     7,     8,     9,    10,
5924       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5925       21,    22,    23,    24,     0,     0,    25,     0,     0,     0,
5926        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
5927        0,     0,     0,     0,     0,     0,     0,    28,    29,    30,
5928       31,     0,    32,    33,    34,    35,    36,     0,    37,    38,
5929       39,     0,     0,     0, -1293,   272,     0,     1,     0,     0,
5930        0,     0,     0,    40,    41,     0,     0,     0,    42,     0,
5931        0,     0,     0,    43,    44,    45,     0,     0,    46,     0,
5932        0,    47,     2,     3,     4,   160,     6,     7,     8,     9,
5933       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5934       20,    21,    22,    23,    24,     0,     0,    25,     0,     0,
5935        0,     0,     0,     0,     0,     0,     0,     0,     0,    26,
5936       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5937        0,     0,     0,    32,    33,    34,    35,    36,     0,    37,
5938       38,    39,     0,   193,     0,     1,     0,     0,     0,     0,
5939        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
5940        0,     0,     0,     0,    43,    44,    45,     0,     0,    46,
5941        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5942       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5943       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5944        0,     0,     0,     0,     0,     0,     0,   199,    27,     0,
5945        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5946        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
5947        0,     0,   193,     0,     1,     0,     0,     0,     0,     0,
5948        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
5949        0,     0,    43,    44,    45,     0,     0,  1212,  1693,     2,
5950      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5951       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5952       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5953        0,     0,     0,     0,     0,     0,   199,    27,     0,     0,
5954        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5955       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5956        0,   193,     0,     1,     0,     0,     0,     0,     0,     0,
5957        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
5958        0,    43,    44,     0,     0,     0,     0,   200,     2,   194,
5959      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5960       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5961       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5962        0,     0,     0,     0,     0,   199,    27,     0,     0,     0,
5963        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5964        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
5965      933,     0,     1,     0,     0,     0,     0,     0,     0,     0,
5966       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5967       43,    44,     0,     0,     0,     0,   375,     2,   194,   195,
5968      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5969       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5970        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5971        0,     0,     0,     0,   199,    27,     0,     0,     0,     0,
5972        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5973        0,    35,    36,     0,    37,    38,    39,     0,     0,  1483,
5974        0,     1,     0,     0,     0,     0,     0,     0,     0,    40,
5975        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5976       44,     0,     0,     0,     0,   200,     2,   194,   195,   196,
5977      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5978       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5979        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5980        0,     0,     0,   199,    27,     0,     0,     0,     0,     0,
5981        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5982       35,    36,     0,    37,    38,    39,     0,     0,   193,     0,
5983        1,     0,     0,     0,     0,     0,     0,     0,    40,     0,
5984        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
5985        0,     0,     0,     0,   375,     2,   194,   195,   196,   197,
5986      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5987       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5988        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5989        0,     0,   199,    27,     0,     0,     0,     0,     0,     0,
5990        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5991       36,     0,    37,    38,    39,     0,     0,   193,     0,     1,
5992        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5993        0,     0,     0,     0,     0,     0,     0,    43,    44,     0,
5994        0,     0,     0,  1574,     2,   194,   195,   196,   197,   198,
5995        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5996       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5997        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5998        0,   199,    27,     0,     0,     0,     0,     0,     0,     0,
5999       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6000        0,    37,    38,    39,     0,     0,   159,     0,     1,     0,
6001        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6002        0,     0,     0,     0,     0,     0,    43,    44,     0,     0,
6003        0,     0,  1918,     2,     3,     4,   160,     6,     7,     8,
6004        9,    10,   554,    12,    13,    14,    15,    16,    17,    18,
6005       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6006        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6007       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6008       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6009       37,    38,    39,     0,   159,     0,     1,     0,     0,     0,
6010        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
6011        0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
6012       46,     2,     3,     4,   160,     6,     7,     8,     9,    10,
6013      554,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6014       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6015        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
6016        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6017        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6018       39,     0,   878,     0,     1,     0,     0,     0,     0,     0,
6019        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6020        0,     0,     0,    43,    44,    45,     0,     0,    46,     2,
6021      194,   195,   196,   197,   198,   226,   227,   228,   229,   230,
6022      231,   232,   233,   234,   235,    18,    19,   236,   237,    22,
6023       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6024        0,     0,     0,     0,     0,     0,     0,   238,     0,     0,
6025        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6026       32,     0,     0,     0,     0,     0,   239,    38,   240,     0,
6027        0,     0,     1,     0,     0,     0,     0,     0,     0,     0,
6028        0,   241,     0,     0,     0,     0,     0,     0,     0,     0,
6029        0,    43,    44,     0,     0,     0,   879,     2,     3,     4,
6030      160,     6,     7,     8,     9,    10,    11,    12,    13,    14,
6031       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6032        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6033        0,     0,     0,     0,    26,    27,     0,     0,     0,     0,
6034        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6035        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6036        1,     0,     0,     0,     0,     0,     0,     0,     0,    40,
6037        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6038       44,    45,     0,     0,    46,     2,   194,   195,   196,   197,
6039      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6040       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6041        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6042        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
6043        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6044       36,     0,    37,    38,    39,     0,     0,     0,     1,     0,
6045        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
6046        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6047        0,     0,    46,     2,   194,   195,   196,   197,   198,     8,
6048        9,    10,   554,    12,    13,    14,    15,    16,    17,    18,
6049       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6050        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6051        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6052       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6053       37,    38,    39,     0,     0,     0,     1,     0,     0,     0,
6054        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
6055        0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
6056       46,     2,   194,   195,   196,   197,   198,     8,     9,    10,
6057       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6058       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6059        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
6060        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6061        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6062       39,     0,     0,     0,     1,     0,     0,     0,     0,     0,
6063        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6064        0,     0,     0,    43,    44,     0,     0,     0,   713,     2,
6065      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
6066       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6067       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6068        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6069        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6070       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6071        0,     0,     1,     0,     0,     0,     0,     0,     0,     0,
6072        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6073        0,    43,    44,     0,     0,     0,  1463,     2,   194,   195,
6074      196,   197,   198,   226,   227,   228,  1546,   230,   231,   232,
6075      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
6076        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6077        0,     0,     0,     0,     0,   238,     0,     0,     0,     0,
6078        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6079        0,     0,     0,     0,   239,    38,   240,     0,  1061,     0,
6080        1,     0,     0,     0,     0,     0,     0,     0,     0,   241,
6081        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6082       44,    45,     0,     0,    46,     2,   194,   195,   196,   197,
6083      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6084       17,    18,    19,    20,    21,    22,    23,    24,  1062,     0,
6085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6086        0,     0,   199,    27,     0,     0,     0,     0,     0,     0,
6087        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6088       36,     0,    37,    38,    39,  1067,     0,     1,     0,     0,
6089        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
6090        0,     0,     0,     0,     0,     0,     0,    43,    44,     0,
6091        0,     0,     2,   194,   195,   196,   197,   198,     8,     9,
6092       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6093       20,    21,    22,    23,    24,  1068,     0,     0,     0,     0,
6094        0,     0,     0,     0,     0,     0,     0,     0,     0,   199,
6095       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6096        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
6097       38,    39,  1073,     0,     1,     0,     0,     0,     0,     0,
6098        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
6099        0,     0,     0,     0,    43,    44,     0,     0,     0,     2,
6100      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
6101       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6102       23,    24,  1074,     0,     0,     0,     0,     0,     0,     0,
6103        0,     0,     0,     0,     0,     0,   199,    27,     0,     0,
6104        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6105       32,     0,     0,    35,    36,     0,    37,    38,    39,   863,
6106        0,     1,     0,     0,     0,     0,     0,     0,     0,     0,
6107        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6108        0,    43,    44,     0,     0,     0,     2,   194,   195,   196,
6109      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
6110      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
6111        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6112        0,     0,     0,     0,   238,     0,     0,     0,     0,     0,
6113        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6114        0,     0,     0,   239,    38,   240,     1,     0,     0,     0,
6115        0,     0,     0,     0,     0,     0,     0,     0,   241,     0,
6116        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6117        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
6118       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6119       21,    22,    23,    24,  1022,     0,     0,     0,     0,     0,
6120        0,     0,     0,     0,     0,     0,     0,     0,   199,    27,
6121        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6122        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6123       39,     1,     0,     0,     0,     0,     0,     0,     0,     0,
6124        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6125        0,     0,     0,    43,    44,     0,     2,   194,   195,   196,
6126      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
6127       16,    17,    18,    19,    20,    21,    22,    23,    24,  1079,
6128        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6129        0,     0,     0,   199,    27,     0,     0,     0,     0,     0,
6130        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6131       35,    36,     0,    37,    38,    39,     1,     0,     0,     0,
6132        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
6133        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6134        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
6135       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6136       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6137        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
6138        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6139        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6140       39,     1,     0,     0,     0,     0,     0,     0,     0,     0,
6141        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6142      821,     0,     0,    43,    44,     0,     2,   194,   195,   196,
6143      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
6144       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6145        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6146        0,     0,     0,   199,    27,     0,     0,     0,     0,     0,
6147        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6148       35,    36,     0,    37,    38,    39,     1,     0,     0,     0,
6149        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
6150        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6151        0,     2,   194,   195,   196,   197,   198,   226,   227,   228,
6152      229,   230,   231,   232,   233,   234,   235,    18,    19,   236,
6153      237,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6154        0,     0,     0,     0,     0,     0,     0,     0,     0,   238,
6155        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6156        0,     0,    32,   469,   470,     0,     0,     0,   239,    38,
6157      240,     1,     0,     0,     0,     0,     0,     0,     0,     0,
6158        0,     0,     0,   241,     0,     0,     0,     0,     0,     0,
6159        0,     0,     0,    43,    44,     0,     2,   194,   195,   196,
6160      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
6161       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6162        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6163        0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
6164        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6165       35,    36,     0,    37,    38,    39,     1,     0,     0,     0,
6166        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
6167        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6168        0,     2,   194,   195,   196,   197,   198,   226,   227,   228,
6169      229,   230,   231,   232,   233,   234,   235,    18,    19,   236,
6170      237,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6171        0,     0,     0,     0,     0,     0,     0,     0,   494,   238,
6172        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6173        0,     0,    32,     0,     0,     0,     0,     0,   239,    38,
6174      240,     1,     0,     0,     0,     0,     0,     0,     0,     0,
6175        0,     0,     0,   241,     0,     0,     0,     0,     0,     0,
6176        0,     0,     0,    43,    44,     0,     2,   194,   195,   196,
6177      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
6178      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
6179        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6180        0,     0,     0,     0,   238,     0,     0,     0,     0,     0,
6181        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6182        0,     0,     0,   239,    38,   240,     0,     0,     0,     0,
6183        0,     0,     0,     0,     0,     0,     0,     0,   241,     0,
6184        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6185        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
6186      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
6187       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6188        0,     0,     0,     0,     0,     0,     0,     0,   238,     0,
6189        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6190        0,    32,     0,     0,     0,     0,     0,   239,    38,   240,
6191        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6192        0,     0,   241,     0,     0,     0,     0,     0,     0,     0,
6193        0,     0,    43,    44,    45,     0,     0,   854,  1690,     0,
6194        0,     0,     0,     0,     0,     0,     0,     0,   556,     2,
6195      194,   195,   196,   197,   198,   226,   227,   228,   229,   230,
6196      231,   232,   233,   234,   235,    18,    19,   236,   237,    22,
6197       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6198        0,     0,     0,     0,     0,     0,     0,   238,     0,     0,
6199        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6200       32,     0,     0,     0,     0,     0,   239,    38,   240,     0,
6201        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6202        0,   241,     0,     0,     0,     0,     0,     0,     0,     0,
6203        0,    43,    44,    45,     0,     0,   854,     0,     0,     0,
6204        0,     0,     0,     0,     0,     0,     0,   556,     2,   194,
6205      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
6206      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
6207       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6208        0,     0,     0,     0,     0,     0,   238,     0,     0,     0,
6209        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6210        0,     0,     0,     0,     0,   239,    38,   240,     0,     0,
6211        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6212      241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6213       43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
6214        0,     0,   242,     2,   194,   195,   196,   197,   198,   226,
6215      227,   228,   229,   230,   231,   232,   233,   234,   235,    18,
6216       19,   236,   237,    22,    23,    24,     0,     0,     0,     0,
6217        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6218        0,   238,     0,     0,     0,     0,     0,     0,     0,    28,
6219       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6220      239,    38,   240,     0,     0,     0,     0,     0,     0,     0,
6221        0,     0,     0,     0,     0,   241,     0,     0,     0,     0,
6222        0,     0,     0,     0,     0,    43,    44,     0,     0,     0,
6223        0,     0,     0,     0,     0,     0,  1535,     2,   194,   195,
6224      196,   197,   198,   226,   227,   228,   229,   230,   231,   232,
6225      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
6226        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6227        0,     0,     0,     0,     0,   238,     0,     0,     0,     0,
6228        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6229        0,     0,     0,     0,   239,    38,   240,     0,     0,     0,
6230        0,     0,     0,     0,     0,     0,     0,     0,     0,   241,
6231        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6232       44
6233 };
6234
6235 static const yytype_int16 yycheck[] =
6236 {
6237        0,   126,   122,   712,   150,   330,    80,   526,   150,   847,
6238      330,   919,   919,   851,    94,   122,   147,  1222,   826,   526,
6239       80,   847,   314,    86,   714,   851,   826,    53,   630,    77,
6240       30,    31,    94,   462,    77,  1619,   461,    77,   988,   989,
6241      990,    41,  1091,     3,     3,   929,    46,  1631,   122,    30,
6242       46,    17,   177,    53,   570,   988,    87,   990,    58,   989,
6243       60,    42,   122,    94,    78,    87,    58,    17,    87,   988,
6244        3,   990,     5,   870,   115,   785,    76,    77,    78,   545,
6245       80,   107,   276,   329,   847,    85,     1,    87,   851,   126,
6246       77,     1,   407,     3,    94,    95,   795,   343,    98,   461,
6247       87,   347,     3,   813,     1,   115,     3,   107,    17,   575,
6248      110,     1,   578,     3,   580,   118,   582,   180,   181,   122,
6249      101,   102,   122,   465,   105,   125,   126,    28,     5,   125,
6250      130,     5,    77,    78,   134,   135,   136,     1,   138,     3,
6251      177,   749,   142,     5,   144,     1,   115,   147,   148,   113,
6252      150,   151,   152,   153,   138,   155,   951,   116,   158,     1,
6253      988,   120,   990,  1006,     5,   124,   192,   151,   168,   153,
6254      136,   155,   118,   180,   181,     3,   168,   177,     1,     3,
6255      125,     5,     3,   116,     5,    17,   136,   795,     3,   256,
6256      257,   124,   192,   256,   653,   654,   276,   735,   278,   996,
6257        1,   735,   202,   741,   204,     1,   744,   741,   971,   124,
6258      744,   121,   212,   213,   276,     5,   278,   213,   266,   138,
6259       77,   122,   222,   266,   121,   225,   266,   136,   276,     5,
6260       87,   121,   151,   276,   153,     3,   155,    94,     1,   253,
6261      555,     1,   749,     1,     7,     8,     9,   278,   125,   123,
6262      545,   258,     3,   253,   116,   380,   278,   121,   258,   278,
6263       28,     1,   262,   409,   410,   121,   266,   461,   410,    37,
6264      277,   873,     3,     3,     1,     3,   276,     1,   278,   121,
6265      575,   262,     1,   578,   276,   580,     1,   582,   795,   276,
6266     1874,   278,   116,     1,   122,   116,   296,   122,   121,     1,
6267      124,   116,   302,   124,   136,   120,  1256,  1257,   253,   124,
6268      121,   311,     1,  1263,  1264,     1,     3,  1267,  1268,     1,
6269      121,   266,     1,     1,  1257,   121,  1256,     1,     3,   121,
6270      120,  1264,   313,  1263,     1,  1268,     1,  1267,  1257,   372,
6271      856,   374,    73,   380,   120,  1264,   372,   115,   374,  1268,
6272        3,     3,   115,     7,     8,     9,   119,  2110,   126,   121,
6273      123,   121,   120,   126,   877,   116,   366,   367,   431,   432,
6274      433,   434,   372,     3,   374,     5,    28,   112,   118,     3,
6275      380,   988,     5,   990,     3,   258,   386,   115,   462,   119,
6276      121,   118,   638,   120,   121,   641,   521,   121,    28,   118,
6277      784,     1,   462,   118,    28,   120,   121,   115,   115,   409,
6278      410,  2164,   537,   413,   414,   546,  1211,   732,     3,   121,
6279      420,   278,     5,   423,   424,   425,   426,   427,   812,  1257,
6280      426,   118,   121,   120,   120,   555,  1264,   950,     3,   121,
6281     1268,   116,   121,   121,   769,   770,   771,   121,   555,   769,
6282      770,   771,   877,   118,   121,   120,   456,   457,   458,     0,
6283      527,   461,   462,   530,   527,   465,   119,   530,   468,   123,
6284      122,   763,   126,   473,   799,   800,   801,   477,   478,   799,
6285      800,   801,   482,   483,   521,   118,     3,     5,     3,   122,
6286      684,   115,   122,   116,   494,   495,  1701,   926,   790,  1006,
6287      537,  1200,     3,   122,   504,   505,   798,  1206,   870,   509,
6288      510,    28,     5,   513,   514,   115,   116,   517,   518,   519,
6289      120,   521,  1212,   556,   524,   950,   818,  1043,   113,   114,
6290      556,     0,   115,   570,   126,   535,   536,   537,  1054,   854,
6291     1230,   541,  1591,     1,     3,   545,   546,  1237,   786,     3,
6292      550,   116,   552,   553,   869,   555,   556,   557,  1096,   555,
6293      560,   557,  1096,   589,  1448,   880,   550,   929,   552,    28,
6294      570,   996,   517,   518,   519,   575,   814,   192,   578,   119,
6295      580,     3,   582,   616,   651,   652,   653,   654,   950,   589,
6296      535,   536,  1200,     3,  1060,   937,     3,   939,  1206,  1437,
6297      118,  1409,  1410,  1487,   684,   122,  1490,   122,    77,  1409,
6298     1410,  1437,  1078,    77,   681,   116,     1,   120,    87,   129,
6299      130,   621,   684,   623,   127,    94,    95,     7,     8,     9,
6300      630,   550,   118,   552,   996,  1142,   684,  1545,  1545,  1146,
6301     1099,   684,  1149,  1102,  1151,  1440,     3,  1597,  1598,   712,
6302     1257,   651,   652,   653,   654,   787,     3,  1264,   116,   113,
6303      124,  1268,   120,     3,   118,  1598,    73,  1597,     3,   669,
6304      670,    28,   679,   680,  1437,  1513,   870,  1515,   678,  1598,
6305       37,  1140,   297,   815,   684,   666,   667,   120,   303,   689,
6306      120,  1517,     1,  1200,     3,  1154,  1155,  1156,  1157,  1206,
6307      122,   847,   120,   703,  1909,   851,   116,  1502,     3,  1552,
6308      710,   711,   712,   713,   714,   715,     1,    74,    75,     1,
6309       86,   721,    79,   120,     3,    65,    73,  1042,   817,    86,
6310      115,   116,   732,    28,   854,   120,   717,   718,   719,    74,
6311       75,   121,    37,   123,    79,   121,   746,   854,   122,    28,
6312      750,    86,     1,   110,   111,   112,   950,   372,   115,   374,
6313        7,     8,     9,   852,   853,  1060,     1,   121,     1,   126,
6314     1598,  1066,   112,   113,   121,   110,   111,  1072,   651,   652,
6315      653,   654,   122,  1078,     7,     8,     9,   122,   116,    69,
6316       70,   116,   792,     7,     8,     9,   796,   266,     7,     8,
6317        9,   784,   996,   112,   113,   335,   926,   276,   292,   278,
6318      115,   120,   958,   959,   180,   181,   958,   959,   115,   926,
6319      115,   821,   822,   823,   970,   309,   826,   827,   828,   812,
6320      115,   116,   788,   964,   116,   120,   115,     1,   120,   902,
6321      903,   121,   905,  1793,  1794,   908,   909,   847,   292,     3,
6322      850,   851,   926,     1,   854,     3,     3,   335,   858,   859,
6323      816,  1794,   115,  1793,    11,   309,   926,   116,   868,   869,
6324      870,   120,  1715,   873,    28,  1794,   123,   877,  1193,   879,
6325      880,   116,   882,   116,   884,   120,   882,   120,   921,     3,
6326      256,   121,   258,     3,    77,  1210,  1027,  1028,  1782,  1783,
6327      123,   115,     7,     8,     9,  1700,   115,   119,   786,   123,
6328     1705,   277,   126,    11,   123,     3,   979,   126,  1043,  1435,
6329      920,   113,   922,   122,   920,   785,   926,   960,  1253,   929,
6330      122,     3,   787,  1253,   934,  1055,   814,   937,   934,   939,
6331      940,   556,    90,  1481,   940,   414,   817,  1481,  1055,   949,
6332      950,   951,   116,   813,   772,   773,   120,   122,   958,   959,
6333      815,   961,   788,   963,   964,   115,  1794,   114,  1260,   292,
6334      970,   971,   119,   120,   115,   122,  1819,   135,   115,   963,
6335      138,   852,   853,  1778,   802,   803,   309,  1830,   258,   126,
6336      816,  1598,   115,   151,     3,   153,   996,   155,   112,   113,
6337      113,   616,   112,   113,  1694,   118,  1043,     3,   122,     5,
6338      115,     3,   122,   115,  1723,  1052,   114,  1054,   123,    79,
6339        3,   126,   120,  1056,   112,   113,   115,  1027,  1028,   115,
6340     1056,  1031,  1032,  1552,   122,  1035,  1036,  1037,   112,  1039,
6341      112,   113,  1042,  1043,   963,  1552,  1042,  1649,  1564,   115,
6342      110,   111,  1052,  1037,  1054,  1055,  1056,  1482,   132,   133,
6343     1060,   120,   115,  1063,   124,   431,  1066,   126,   434,  1069,
6344      774,   775,  1072,     3,  1107,  1075,    12,    13,  1078,    11,
6345     1080,  1988,    65,     7,     8,     9,  1448,  1154,  1155,  1156,
6346     1157,   128,  1212,     6,  1094,     8,     9,  1042,    28,  1099,
6347      804,   805,  1102,   112,   113,  1212,   115,   134,   106,   120,
6348     1177,  1111,  1179,  1113,    44,   126,   112,   113,  1037,  1434,
6349      112,   113,  1122,   115,   113,  1487,    12,    13,  1490,   112,
6350      113,  1926,   114,   122,   292,  1135,   772,   773,   120,    16,
6351     1140,  1141,  1601,  1602,    74,    75,   116,     1,   256,   257,
6352     1131,   309,  1611,   128,  1154,  1155,  1156,  1157,  1184,  2002,
6353       73,   527,  2000,  2001,   530,   119,   802,   803,   115,   114,
6354      124,    84,  1172,  1173,  1174,   120,  1176,   113,   114,   126,
6355     1213,     3,   114,   135,  1184,   113,  1186,  1794,   120,  1173,
6356      122,   134,   120,  1193,   192,   119,   109,  1197,   126,   123,
6357      113,  1201,  1235,  1203,   119,    16,    28,  1207,     3,   124,
6358        5,  1211,  1212,   126,   135,   684,   129,   130,   131,  1928,
6359       74,    75,    44,   115,   122,    79,  1099,   113,   114,  1102,
6360     1230,    11,    86,  1740,   126,  2078,    31,  1237,  1745,   774,
6361      775,  1748,   116,   782,   783,   116,   120,  1247,   778,   779,
6362      124,   781,    74,    75,  1173,   122,   110,   111,   118,  1775,
6363      116,     3,   122,     5,   118,   119,   120,  1140,  1583,   804,
6364      805,   810,   811,  1254,   116,  2118,   806,   807,   808,   809,
6365        1,  1154,  1155,  1156,  1157,   651,   652,   653,   654,    31,
6366     1892,  1437,   782,   783,   116,   119,   113,   112,   456,   457,
6367      778,   779,   122,   781,   124,   122,   921,   124,   115,   115,
6368      468,  1830,  1819,   679,   680,   681,   314,   132,   133,   126,
6369      810,   811,  1838,  1830,   482,   483,   114,   114,   806,   807,
6370      808,   809,   120,   120,   114,     3,    74,    75,   114,   119,
6371      120,    79,   122,   114,   120,   960,   504,   505,    86,   120,
6372      122,   509,   510,    74,    75,   513,   514,   122,    79,   124,
6373       28,   517,   518,   519,   122,    86,   124,  1513,  1514,  1515,
6374     1516,   114,   110,   111,   372,   120,   374,   120,   116,   535,
6375      536,   651,   652,   653,   654,   118,    69,    70,   118,   110,
6376      111,   115,   550,  1888,   552,   119,   113,   118,   119,   120,
6377     1400,  1401,   126,  1862,  1404,  1405,    74,    75,    91,  1409,
6378     1410,    79,    95,   116,    97,    10,    11,   120,    86,   527,
6379     1782,  1783,   530,     7,  1405,   113,    10,    11,    12,    13,
6380       14,    15,    16,    17,    88,    89,    90,  1437,   121,  1564,
6381     1440,  1056,   110,   111,   114,   116,  1446,   113,  1448,   120,
6382      120,  1451,   116,   124,   122,  1455,   120,   119,  1491,   116,
6383     1460,  1461,  1462,   120,   116,   114,  1462,   124,   120,   116,
6384      120,   120,   124,   120,  1766,  1767,  1768,  1769,  1770,  1771,
6385     1772,  1773,  1482,  2002,  1484,   114,   122,  1487,  1484,   127,
6386     1490,   120,  1107,  1493,   114,  2002,    77,   114,   114,   127,
6387      120,   116,  1502,   120,   120,   120,   127,   116,  1508,  1509,
6388     1656,   120,  2114,  1513,  1514,  1515,  1516,  1462,   122,   116,
6389       74,    75,   520,   120,   116,    79,   122,  1564,   120,   113,
6390      114,   120,    86,   116,   116,  1572,   126,   120,   120,   123,
6391     2035,   120,  2037,   651,   652,   653,   654,   120,   132,   133,
6392      134,   135,   136,    14,    15,     1,   110,   111,   556,  2078,
6393      120,  1561,  1562,   116,  1564,   119,   121,   120,  2027,   118,
6394     2029,  2078,  1572,   681,   116,   116,   148,   122,   120,   120,
6395      152,   124,  1702,  1583,     1,   122,     3,  1583,   115,   122,
6396      588,   124,   122,   115,   124,  1702,   177,   118,  1213,   120,
6397      118,  1601,  1602,   118,  2099,   120,  2101,   118,  2103,  1609,
6398      115,  1611,  1612,   979,     1,  1615,     3,    37,   616,  1619,
6399     1235,   129,   130,  1623,    44,    45,  1626,     3,    74,    75,
6400      118,   115,   120,    79,   115,  2094,   122,   122,   124,   124,
6401       86,  1622,    10,    11,     3,  2140,  2141,   118,  2143,  1649,
6402      118,     1,    28,     3,    74,    75,  1656,  1638,     1,    79,
6403        3,    37,   118,  2158,   110,   111,    86,   118,     0,   115,
6404      116,  1704,   116,  1706,   120,     1,     1,     3,     3,  2174,
6405      118,   122,   120,   124,     1,   266,     3,  1720,  1721,   113,
6406      110,   111,   112,    14,    15,   276,  1988,   127,    74,    75,
6407     1700,   127,  1702,    79,     1,  1705,     3,     1,   121,     3,
6408       86,   127,     1,  1838,     3,    74,    75,   118,   716,   120,
6409       79,  1784,   720,  1723,   127,  1725,  1726,    86,  1601,  1602,
6410        1,   127,     3,  1099,   110,   111,  1102,   735,  1611,   115,
6411      122,   127,   124,   741,   113,    77,   744,  1526,   126,  1528,
6412      126,   110,   111,   535,   536,    87,   115,    28,   122,    74,
6413       75,  1761,    94,    95,    79,   763,    37,    38,   900,   901,
6414     1526,    86,  1528,   122,  1140,   900,   901,   121,  1778,   651,
6415      652,   120,  1782,  1783,   113,  1785,   651,   652,  1154,  1155,
6416     1156,  1157,   790,  2118,   121,   110,   111,  1797,  2118,   119,
6417      798,  1838,   121,    74,    75,   963,   116,   122,    79,   116,
6418     1810,  1177,  1812,  1179,   116,    86,    94,    95,   127,   127,
6419      818,   827,   828,   127,   116,   115,  1810,    56,  1812,  1099,
6420      116,   116,  1102,   124,   115,  1835,   124,  1837,  1838,   110,
6421      111,   112,   124,   115,   115,   115,     1,   118,   115,   120,
6422      121,  1835,   118,  1837,  2000,  2001,  1856,  1857,  1858,  1859,
6423      118,   118,  1862,   113,   113,     3,  1866,  1867,   116,  1869,
6424     1140,  1871,   118,  1031,  1032,   116,  1491,  1035,  1036,  1037,
6425      461,   213,   116,  1883,  1154,  1155,  1156,  1157,   113,     0,
6426       28,  1810,  1892,  1812,  1927,  1895,    74,    75,   115,    37,
6427      115,    79,   126,  1936,   113,  1886,   116,  1888,    86,   116,
6428      116,   124,   126,   121,   116,   120,  1835,   120,  1837,    74,
6429       75,   919,   116,   921,    79,   116,  1926,   124,  1928,   124,
6430      116,    86,   110,   111,   266,   124,    74,    75,   116,   124,
6431      521,    79,   124,   524,   276,     3,   278,   124,    86,   124,
6432      116,   116,   121,   116,   118,   110,   111,   116,   116,  1992,
6433     1993,    56,   960,   118,   115,   120,    77,   127,   116,   116,
6434       28,   127,   110,   111,   112,   127,    87,   115,   124,   311,
6435      124,   115,   115,    94,    95,   116,   124,   116,   116,  1862,
6436      988,   116,   990,   116,   116,  1995,  1996,  1997,  1998,  1999,
6437     2000,  2001,   116,   127,   113,   118,   127,  2007,  2008,  2009,
6438     2010,   126,    11,  1997,  1172,  1173,    74,    75,  2018,   127,
6439      127,    79,   126,   122,   122,   136,   119,  2027,    86,  2029,
6440       74,    75,   124,   124,   118,    79,   119,   148,  2038,  2039,
6441      119,   152,    86,   115,  2107,  2108,  1154,  1155,  1156,  1157,
6442      118,     0,   110,   111,  2035,   122,  2037,   116,  1056,   116,
6443      116,     3,   127,   127,   122,   127,   110,   111,    64,  1177,
6444      116,  1179,   116,   127,  2074,  2075,   127,   127,  1997,   127,
6445      127,  2081,  2082,   116,   116,  2085,    28,  2087,   116,  1704,
6446     2090,  1706,    41,    64,  2094,   118,   116,   678,  1096,   116,
6447        3,   127,    44,   684,    53,  1720,  1721,   118,  2108,  1107,
6448     2110,    60,   127,   127,  2114,   127,   118,  2098,  2099,   122,
6449     2101,   118,  2103,   118,   116,    28,  2126,   118,    77,   461,
6450      118,    80,    74,    75,    37,  1133,  1134,    86,    87,   118,
6451      118,   118,   118,   118,   118,    94,    95,  2148,  2148,  2149,
6452      118,   118,   468,  2153,  2027,   266,  2029,   468,   107,  2140,
6453     2141,   110,  2143,     0,  2164,   276,   970,   278,   468,   468,
6454     1536,    74,    75,   122,   116,   468,    79,  2158,   120,   276,
6455        3,   130,   276,    86,   906,   850,   135,   136,   961,   138,
6456      309,   309,  1482,  2174,   425,   715,   302,  1819,   414,   148,
6457      253,   150,   151,   152,   153,    28,   155,   110,   111,   112,
6458     2098,   721,   115,   116,    37,  1213,    94,    87,    44,    45,
6459      258,  2094,    87,    95,    87,  1761,    -1,    -1,    -1,    -1,
6460       -1,   180,   181,    -1,    -1,  1601,  1602,  1235,    -1,    -1,
6461       77,    -1,    -1,   192,    -1,  1611,    -1,     3,    74,    75,
6462       87,    74,    75,    79,    -1,   204,    79,    94,    95,  1257,
6463       86,    -1,  1260,    86,   213,    -1,  1264,    -1,    -1,    -1,
6464     1268,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,   130,
6465       -1,    37,    38,    -1,   110,   111,   112,   110,   111,   870,
6466       -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,   136,
6467       -1,    -1,   413,    -1,   253,    -1,    -1,   256,   257,   258,
6468       -1,   148,  1927,    -1,   425,   152,    -1,   266,    74,    75,
6469       -1,  1936,    -1,    79,    -1,    -1,    -1,   276,   277,   278,
6470       86,  1601,  1602,    -1,    -1,    -1,    -1,    74,    75,    -1,
6471       -1,  1611,    79,    -1,    -1,    -1,    -1,   296,   929,    86,
6472     1508,  1509,   684,   302,   110,   111,   112,   689,    -1,   115,
6473        3,    -1,   311,    -1,    -1,    -1,    -1,   478,     0,   950,
6474       -1,   136,    -1,   110,   111,    -1,    -1,  1992,  1993,   116,
6475      712,    -1,    -1,   148,    -1,    28,    -1,   152,    -1,   721,
6476       74,    75,    -1,    -1,    37,    79,    -1,    -1,    -1,    -1,
6477      732,    -1,    86,  1561,  1562,    -1,    -1,    -1,    -1,    -1,
6478       -1,    -1,    74,    75,    -1,   996,    -1,    79,   367,    -1,
6479       -1,    -1,    -1,   372,    86,   374,   110,   111,    -1,   266,
6480       -1,    74,    75,    -1,     3,    -1,    79,   288,    -1,   276,
6481       -1,   278,    -1,    86,    -1,    77,   297,    -1,   110,   111,
6482      112,    -1,   303,   115,    -1,    87,    -1,    -1,   407,    28,
6483      409,   410,    94,    95,   413,   414,    -1,   110,   111,   112,
6484       -1,   420,   115,    -1,    -1,   424,   425,    -1,   427,    -1,
6485       -1,    -1,    -1,  1481,    -1,    -1,    -1,    -1,   253,    -1,
6486       -1,   823,    -1,  1491,    -1,    -1,  1862,    -1,    -1,    -1,
6487       -1,    -1,    -1,    -1,   136,    74,    75,   456,   457,    -1,
6488       79,    -1,   461,   462,    -1,    -1,   148,    86,    -1,   468,
6489      152,    -1,    -1,  1521,   473,    -1,    -1,    -1,  1526,   478,
6490     1528,   296,    -1,   482,   483,    -1,    -1,   302,   870,    -1,
6491       -1,   110,   111,    -1,    -1,   877,    -1,  1545,    -1,    -1,
6492      882,    -1,   884,    -1,    -1,   504,   505,    -1,   409,    -1,
6493      509,   510,    -1,    -1,   513,   514,    -1,    -1,    -1,    -1,
6494       -1,   520,    -1,   684,    -1,    -1,   413,    -1,   527,    -1,
6495       -1,   530,    -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,
6496       -1,    -1,  1862,  1174,    -1,  1176,   545,    -1,    -1,    -1,
6497     1598,   550,   934,   552,    -1,    -1,   555,   556,    18,    19,
6498       20,    21,    22,    23,    24,    25,    26,    27,   950,    -1,
6499       -1,    -1,    -1,    -1,    -1,    -1,   575,    44,    45,   578,
6500       -1,   580,    -1,   582,   266,    -1,    -1,    -1,    -1,    -1,
6501      589,   478,   407,    -1,   276,    -1,   278,    -1,   413,    -1,
6502       -1,    -1,  1810,    -1,  1812,    -1,    -1,    74,    75,    -1,
6503      425,  2027,    79,  2029,    -1,    -1,    -1,    -1,    -1,    86,
6504       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1835,    -1,  1837,
6505       -1,     7,     8,     9,    10,    11,    12,    13,    14,    15,
6506       16,    17,    -1,   110,   111,    -1,    -1,    -1,   115,    -1,
6507       -1,    -1,   651,   652,   653,   654,  1704,    -1,  1706,   119,
6508       -1,    -1,    -1,   478,    -1,    -1,     1,  1715,     3,    -1,
6509       -1,    -1,  1720,  1721,    -1,    -1,    -1,   130,  2094,  1727,
6510      679,   680,   681,    -1,    -1,   684,    -1,    -1,    -1,    -1,
6511      689,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    44,
6512       45,    -1,    37,    38,   703,    -1,    -1,  2027,   869,  2029,
6513       -1,   710,   711,   712,    -1,   714,   715,    -1,    -1,   880,
6514       -1,    -1,   721,    -1,    -1,   106,    -1,    -1,    -1,    74,
6515       75,   413,    -1,   732,    79,    -1,   735,   113,   114,    74,
6516       75,    86,   741,   425,    79,   744,  1794,   123,    -1,    -1,
6517       -1,    86,   128,   129,   130,    -1,   132,   133,   134,   135,
6518      136,    -1,    -1,    -1,    -1,   110,   111,    74,    75,    -1,
6519      115,    -1,    79,    -1,  2094,   110,   111,   112,    -1,    86,
6520      115,    -1,    -1,   118,   685,   120,   121,  1995,  1996,  1997,
6521     1998,  1999,    -1,    -1,    -1,    -1,   478,   684,    -1,  2007,
6522     2008,  2009,  2010,   110,   111,   112,    -1,    -1,   115,    -1,
6523       -1,  1193,    -1,    -1,    -1,    -1,    -1,  1448,    -1,   126,
6524       -1,    -1,    -1,    -1,   823,    -1,    -1,   826,   827,   828,
6525       -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,
6526       -1,    -1,    -1,    -1,   297,  1893,  1894,    -1,   847,    -1,
6527      303,   850,   851,    -1,    -1,   854,  1487,    -1,    -1,  1490,
6528       -1,    -1,    -1,    -1,    -1,    -1,  2074,  2075,    -1,    -1,
6529      869,   870,    -1,    -1,    -1,    -1,    -1,   258,   877,  1927,
6530       -1,   880,    -1,   882,    -1,   884,    -1,    -1,  1936,    -1,
6531       -1,    -1,    -1,    -1,    -1,   710,   711,    -1,    -1,   714,
6532      715,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6533       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6534       -1,    -1,    -1,    -1,    -1,    -1,    -1,   926,    -1,    -1,
6535       -1,    -1,    -1,   314,    -1,   934,    -1,    -1,    -1,    -1,
6536        0,    -1,    -1,    -1,  1992,  1993,   847,    -1,    -1,   850,
6537      851,   950,   951,    -1,    -1,    -1,   409,    -1,    -1,   958,
6538      959,    -1,    -1,    -1,   963,    -1,    -1,    -1,    -1,    -1,
6539       -1,   970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6540       -1,    -1,   869,    -1,    -1,    -1,    -1,    -1,    -1,   988,
6541      989,   990,    -1,   880,    -1,    -1,    -1,   996,    -1,    -1,
6542       -1,    -1,   684,    -1,     1,    -1,     3,     4,     5,     6,
6543       -1,     8,     9,    -1,    -1,    -1,    -1,    77,    -1,    -1,
6544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
6545       -1,    28,  1031,  1032,    94,    95,  1035,  1036,  1037,    -1,
6546       37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6547      951,    -1,  2100,    -1,   869,    -1,  1055,  1056,    -1,    -1,
6548       -1,  1060,   258,    -1,    -1,   880,    -1,  1066,    65,    -1,
6549     2118,    -1,    -1,  1072,    71,    72,    73,    74,    75,  1078,
6550       -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
6551       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1096,    -1,    -1,
6552       -1,    98,  1484,    -1,    -1,   102,   103,   104,   105,   106,
6553      107,   108,   109,   110,   111,   112,    -1,    -1,   115,   116,
6554      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,
6555       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
6556       -1,    -1,    -1,    -1,    -1,   526,    -1,    -1,    -1,    -1,
6557        0,  1782,  1783,   213,    -1,  1154,  1155,  1156,  1157,    -1,
6558       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6559       -1,    -1,    -1,  1172,  1173,    -1,    -1,    -1,  1177,    -1,
6560     1179,   996,    -1,    -1,    -1,  1184,    -1,   869,    -1,    -1,
6561       -1,    -1,    -1,    -1,  1193,    -1,    46,    -1,   880,    -1,
6562       -1,  1583,    -1,    -1,    -1,    -1,   266,   588,    -1,    -1,
6563       -1,  1210,  1211,  1212,    -1,    -1,   276,    -1,   278,    -1,
6564       -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,    -1,
6565       -1,  1230,   685,    -1,    -1,    85,    -1,    87,  1237,    -1,
6566      621,    -1,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,
6567       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1256,  1257,    -1,
6568       -1,    -1,    -1,    -1,  1263,  1264,    -1,    -1,  1267,  1268,
6569      651,   652,   653,   654,    -1,   125,   126,   127,   128,   129,
6570       -1,    -1,    -1,    -1,    -1,   135,    -1,    -1,   138,    -1,
6571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6572       -1,   151,    -1,   153,    -1,   155,    -1,    -1,    -1,    -1,
6573     1211,    -1,    -1,    -1,    -1,    -1,   456,   457,    -1,    -1,
6574       -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,   178,   179,
6575       -1,    -1,    -1,    -1,    -1,   716,    -1,    -1,    -1,   720,
6576       -1,  1723,   482,   483,    -1,    -1,    -1,    -1,    -1,    -1,
6577       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6578       -1,    -1,   212,   213,   504,   505,    -1,    -1,   749,   509,
6579      510,    -1,    -1,   513,   514,    -1,    -1,    -1,    -1,    -1,
6580       -1,    -1,   763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6581       -1,    -1,    -1,    -1,   847,  1210,    -1,   850,   851,    -1,
6582       -1,   461,    -1,   253,    -1,    -1,    -1,    -1,    -1,   790,
6583     1409,  1410,    -1,    -1,   795,  1230,   266,   798,    -1,    -1,
6584       -1,    -1,  1237,    -1,    -1,   621,   276,    -1,   278,    -1,
6585       -1,    -1,    -1,    -1,    -1,    -1,    -1,   818,  1437,    -1,
6586       -1,  1440,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6587       -1,    -1,    -1,    -1,    -1,   651,   652,   653,   654,    -1,
6588       -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,    -1,
6589       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6590       -1,    -1,  1481,    -1,    -1,  1484,    -1,    -1,    -1,    -1,
6591       -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,   951,    -1,
6592       -1,    -1,    -1,  1502,    -1,    -1,    -1,    -1,    -1,  1508,
6593     1509,    -1,    -1,    -1,  1513,  1514,  1515,  1516,    -1,    -1,
6594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
6595      380,   381,   382,    -1,    71,    72,  1437,    -1,    -1,  1440,
6596       -1,    -1,    -1,    -1,    -1,    -1,  1928,    -1,    85,    -1,
6597       -1,    -1,    -1,    -1,    -1,    -1,    -1,   407,    -1,    -1,
6598       -1,    98,  1561,  1562,   414,   102,   103,   104,   105,   106,
6599      107,   108,    -1,    -1,    -1,    -1,   426,    -1,   115,    -1,
6600       -1,    -1,    -1,    -1,  1583,    -1,    -1,    -1,   125,   126,
6601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1597,  1598,
6602       -1,  1502,    -1,    -1,    -1,    -1,   456,   457,    -1,    -1,
6603       -1,   461,    -1,    -1,    -1,   465,  1517,    -1,   468,    -1,
6604       -1,    -1,    -1,    -1,   684,  1006,    -1,   477,    -1,   689,
6605       -1,    -1,   482,   483,    -1,    -1,    -1,    -1,    -1,    -1,
6606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6607       -1,    -1,    -1,    -1,   504,   505,    -1,  1656,    -1,   509,
6608      510,   721,    -1,   513,   514,    -1,    -1,   517,   518,   519,
6609       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6610       -1,    -1,    -1,    -1,    -1,   535,   536,    -1,    -1,    -1,
6611       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6612      550,  1700,   552,  1702,    -1,   555,  1705,   557,    -1,    -1,
6613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1099,    -1,
6614       -1,  1102,   572,    -1,  1723,    -1,    -1,    -1,    -1,    -1,
6615     1111,    -1,    -1,    -1,    -1,    -1,   932,    -1,    -1,    -1,
6616       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6617       -1,    -1,  1133,  1134,    -1,    -1,    -1,    -1,  1211,  1140,
6618       -1,  1142,    -1,   823,    -1,  1146,    -1,    -1,  1149,    -1,
6619     1151,    -1,    -1,  1154,  1155,  1156,  1157,    -1,    -1,  1778,
6620       -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,   135,
6621       -1,    -1,   138,    -1,  1793,  1794,    -1,    -1,    -1,  1700,
6622       -1,    -1,    -1,    -1,  1705,   151,    -1,   153,    -1,   155,
6623      870,  1810,    -1,  1812,    -1,    -1,    -1,   877,    -1,  1200,
6624       -1,    -1,    -1,    -1,   884,  1206,   122,    -1,   678,    -1,
6625       -1,    -1,    -1,    -1,   684,    -1,  1835,    -1,  1837,    -1,
6626       -1,    -1,    -1,    -1,    -1,  1746,  1747,    -1,  1749,  1750,
6627       -1,    -1,    -1,  1754,  1755,  1756,  1757,    -1,    -1,    -1,
6628      710,    -1,    -1,    -1,   714,  1766,  1767,  1768,  1769,  1770,
6629     1771,  1772,  1773,    -1,   934,    -1,    -1,  1778,    -1,  1260,
6630       -1,    -1,   732,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6631      950,  1031,  1032,    -1,    -1,  1035,  1036,    -1,    -1,    -1,
6632       -1,    -1,    -1,  1099,    -1,    -1,  1102,    -1,    -1,    -1,
6633       -1,    -1,   258,    -1,    -1,  1111,    -1,    -1,    -1,    -1,
6634       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1926,    -1,  1928,
6635       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6636       -1,    -1,    -1,    -1,  1140,    -1,    -1,    -1,    -1,    -1,
6637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1154,  1155,
6638     1156,  1157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6639       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6640       -1,    -1,    -1,    -1,  1437,    -1,    -1,  1440,    -1,    -1,
6641       -1,    -1,    -1,    -1,    -1,    -1,  1995,  1996,  1997,  1998,
6642     1999,  2000,  2001,    -1,   854,    -1,    -1,    -1,  2007,  2008,
6643     2009,  2010,    -1,    -1,    -1,    -1,    -1,    -1,   868,   869,
6644      870,    -1,    -1,    -1,    -1,  1926,    -1,   877,    -1,    -1,
6645      880,    -1,   882,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6646       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1502,
6647       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6648       -1,    -1,    -1,    -1,  1517,    -1,    -1,    -1,    -1,    -1,
6649      920,   367,    -1,    -1,    -1,  2074,  2075,    -1,    -1,   929,
6650       -1,    -1,    -1,    -1,   934,    -1,    -1,  1988,    -1,    -1,
6651      940,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6652      950,    -1,    -1,   456,   457,    -1,    -1,    -1,    -1,    -1,
6653      456,   457,    -1,   963,    -1,    -1,    -1,    -1,   414,    -1,
6654       -1,    -1,   972,    -1,  1184,    -1,    -1,    -1,   424,   482,
6655      483,   427,    -1,  1193,    -1,    -1,   482,   483,    -1,    -1,
6656     1521,    -1,    -1,    -1,    -1,    -1,   996,    -1,    -1,    -1,
6657       -1,   504,   505,    -1,    -1,    -1,   509,   510,   504,   505,
6658      513,   514,    -1,   509,   510,    -1,   462,   513,   514,    -1,
6659       -1,  1552,   468,    -1,   520,    -1,    -1,    -1,    -1,    -1,
6660       -1,  1031,  1032,    -1,    -1,  1035,  1036,  1037,    -1,    -1,
6661       -1,    -1,  1042,  1043,    -1,    -1,   135,    -1,    -1,   138,
6662       -1,    -1,    -1,  1053,   550,    -1,   552,    -1,    -1,    -1,
6663       -1,    -1,   151,    -1,   153,    -1,   155,    -1,    -1,    -1,
6664     1601,  1602,    -1,    -1,    -1,    -1,    -1,    -1,  1609,    -1,
6665     1611,  1612,    -1,    -1,  1615,    -1,    -1,    -1,    -1,    -1,
6666       -1,    -1,  1623,    -1,    -1,  1626,    -1,  1700,    -1,   545,
6667       -1,    -1,  1705,    -1,    -1,    -1,    -1,    -1,    -1,   555,
6668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6669       -1,    -1,    -1,    -1,    -1,   621,    -1,    -1,    -1,   575,
6670       -1,    -1,   578,    -1,   580,    -1,   582,    -1,    -1,    -1,
6671       -1,    -1,    -1,  1746,  1747,    -1,  1749,  1750,    -1,    -1,
6672       -1,  1754,  1755,  1756,  1757,   651,   652,   653,   654,    -1,
6673       -1,    -1,    -1,  1766,  1767,  1768,  1769,  1770,  1771,  1772,
6674     1773,    -1,  1172,  1173,    -1,  1778,    -1,    -1,    -1,    -1,
6675       -1,    -1,    -1,    -1,  1715,    -1,    -1,    -1,    -1,    -1,
6676       -1,    -1,    -1,  1193,    -1,    -1,  1727,    -1,    -1,    -1,
6677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1740,
6678     1210,    -1,  1212,    -1,  1745,    -1,    -1,  1748,  1508,  1509,
6679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6680     1230,    -1,    -1,    -1,    -1,    -1,    -1,  1237,    -1,   735,
6681       -1,    -1,    -1,    -1,    -1,   741,    -1,    -1,   744,    -1,
6682       -1,    -1,    -1,    -1,    -1,  1601,  1602,    -1,    -1,    -1,
6683       -1,    -1,    -1,  1609,    -1,  1611,  1612,    -1,    -1,  1615,
6684       -1,  1561,  1562,    -1,  1484,    -1,    -1,  1623,    -1,    -1,
6685     1626,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1819,    -1,
6686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1830,
6687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6689       -1,    -1,    -1,  1926,    -1,  1856,  1857,  1858,  1859,    -1,
6690       -1,  1862,    -1,    -1,    -1,  1866,  1867,    -1,  1869,    -1,
6691     1871,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6692       -1,    -1,  1883,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6693       -1,    -1,  1893,  1894,    -1,    -1,    -1,   456,   457,    -1,
6694       -1,    -1,    -1,  1583,    -1,    -1,    -1,    -1,    -1,   468,
6695      826,   827,   828,    -1,    -1,  1988,    -1,    -1,    -1,    -1,
6696       -1,    -1,    -1,   482,   483,    -1,    -1,    -1,    -1,    -1,
6697       -1,    -1,    -1,    -1,   900,   901,    -1,    -1,   854,    -1,
6698       -1,    -1,    -1,    -1,    -1,   504,   505,    -1,    -1,    -1,
6699      509,   510,    -1,    -1,   513,   514,    -1,    -1,    -1,    -1,
6700       -1,    -1,    -1,    -1,  1434,    -1,    -1,    -1,    -1,    -1,
6701       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1448,    -1,
6702       -1,    -1,    -1,    -1,    -1,  1455,    -1,    -1,    -1,    -1,
6703       -1,   550,  1462,   552,    -1,    -1,    -1,   963,    -1,    -1,
6704       -1,  2002,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6705      926,    -1,  1482,    -1,  1484,    -1,    -1,  2018,    -1,    -1,
6706       -1,    -1,   988,    -1,   990,    -1,  2027,    -1,  2029,    -1,
6707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1508,  1509,
6708     1856,  1857,  1858,  1859,    -1,    -1,  1862,    -1,    -1,    -1,
6709     1866,  1867,    -1,  1869,    -1,  1871,    -1,    -1,  1031,  1032,
6710       -1,    -1,  1035,  1036,    -1,  1031,  1032,  1883,    -1,  1035,
6711     1036,  1037,    -1,    -1,    -1,    -1,    -1,  2078,    -1,    -1,
6712     2081,  2082,    -1,    -1,  2085,    -1,  2087,    -1,    -1,  2090,
6713       -1,  1561,  1562,  2094,  1564,    -1,    -1,    -1,   106,  2100,
6714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6715       -1,    -1,    -1,  1583,    -1,    -1,    -1,  2118,    -1,    -1,
6716       -1,    -1,   130,    -1,    -1,  2126,    -1,    -1,    -1,    -1,
6717     1096,    -1,    -1,  1099,    -1,    -1,  1102,    -1,    -1,  1055,
6718       -1,    -1,    -1,    -1,  1060,  1111,    -1,    -1,    -1,    -1,
6719     1066,    -1,  2153,    -1,    -1,    -1,  1072,    -1,    -1,    -1,
6720       -1,    -1,  1078,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6721       -1,    -1,    -1,    -1,  1140,    -1,   135,    -1,    -1,   138,
6722       -1,    -1,    -1,    -1,   192,    -1,    -1,    -1,  1154,  1155,
6723     1156,  1157,   151,    -1,   153,    -1,   155,    -1,    -1,    -1,
6724       -1,    -1,  2018,    -1,    -1,    -1,  1172,  1173,    -1,    -1,
6725       -1,  2027,    -1,  2029,    -1,    -1,    -1,    -1,    -1,    -1,
6726       -1,    -1,    -1,    -1,  1694,    -1,    -1,    -1,    -1,    -1,
6727       -1,    -1,    -1,    -1,    -1,  1995,  1996,    -1,  1998,  1999,
6728       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2007,  2008,  2009,
6729     2010,    -1,    -1,    -1,    -1,    -1,    -1,   126,    -1,    -1,
6730       -1,    -1,    -1,    -1,    -1,  2081,  2082,    -1,    -1,  2085,
6731       -1,  2087,    -1,    -1,  2090,    -1,    -1,    -1,  2094,    -1,
6732      288,    -1,    -1,    -1,    -1,   293,   294,    -1,    -1,   297,
6733       86,  1257,    -1,    -1,    -1,   303,  1212,    -1,  1264,    -1,
6734       -1,    -1,  1268,    -1,    -1,    -1,   314,    -1,   177,    -1,
6735     2126,    -1,    -1,    -1,  2074,  2075,     1,    -1,     3,     4,
6736        5,     6,   330,     8,     9,    -1,    -1,   335,    -1,    -1,
6737       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2153,    -1,    -1,
6738     1810,    -1,  1812,    28,   213,    -1,    -1,    -1,    -1,    -1,
6739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6740       -1,    -1,    -1,    -1,   372,  1835,   374,  1837,    -1,    -1,
6741       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1847,    -1,    -1,
6742       65,    -1,    -1,    -1,   180,   181,    71,    72,    73,    -1,
6743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,
6744       85,   409,    -1,    -1,   963,    -1,    -1,   276,    -1,    -1,
6745       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
6746      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
6747      115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,
6748      125,   126,   127,   128,   129,   130,   131,    -1,    -1,    -1,
6749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6750      256,   257,   258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6751       -1,    -1,  1031,  1032,    -1,    -1,  1035,  1036,  1037,    -1,
6752       -1,   277,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6753       -1,    -1,    -1,  1409,  1410,    -1,    -1,   456,   457,    -1,
6754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6755       -1,   380,   520,    -1,    -1,  1481,    -1,   386,    -1,    -1,
6756       -1,    -1,    -1,   482,   483,  1995,  1996,  1997,  1998,  1999,
6757       -1,    -1,    -1,    -1,    -1,  1508,  1509,  2007,  2008,  2009,
6758     2010,    -1,  1508,  1509,    -1,   504,   505,    -1,   556,    -1,
6759      509,   510,    -1,    -1,   513,   514,    -1,    -1,    -1,    -1,
6760     1526,    -1,  1528,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6762      588,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1561,  1562,
6763       -1,   550,   461,   552,    -1,  1561,  1562,    -1,    -1,    -1,
6764       -1,    -1,    -1,    -1,  2074,  2075,    -1,    -1,   616,    -1,
6765       -1,    -1,    -1,  1172,  1173,    -1,    -1,    -1,    -1,    -1,
6766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6767       -1,    -1,  1598,    -1,    -1,  1601,  1602,    -1,    -1,    -1,
6768       -1,    -1,    -1,  1609,    -1,  1611,  1612,    -1,    -1,  1615,
6769       -1,    -1,   521,    -1,    -1,   524,    -1,  1623,    -1,    -1,
6770     1626,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   537,    -1,
6771       -1,    -1,    -1,    -1,    -1,    -1,    -1,   685,    -1,    -1,
6772       -1,   689,    -1,    -1,    -1,    -1,    -1,    -1,   557,    -1,
6773       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6774       -1,   570,    -1,    -1,    -1,    -1,    -1,    -1,   716,    -1,
6775       -1,    -1,   720,   721,    -1,    -1,    -1,    -1,    -1,    -1,
6776       -1,    -1,    -1,    -1,   520,    -1,    -1,   735,    -1,    -1,
6777       -1,   527,    -1,   741,   530,    -1,   744,    -1,    -1,    -1,
6778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6779       -1,    -1,    -1,    -1,    -1,   763,    -1,    -1,    -1,    -1,
6780       -1,   769,   770,   771,   772,   773,   774,   775,    -1,    -1,
6781      778,   779,    -1,   781,   782,   783,   784,   785,   786,   787,
6782      788,    -1,   790,    -1,    -1,    -1,  1702,    -1,    -1,    -1,
6783      798,   799,   800,   801,   802,   803,   804,   805,   806,   807,
6784      808,   809,   810,   811,   812,   813,   814,   815,   816,   678,
6785      818,    -1,    -1,    -1,    -1,   684,    -1,    -1,    -1,    -1,
6786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1794,    -1,
6787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   847,
6788       -1,    -1,   850,   851,  1810,    -1,  1812,    -1,    -1,    -1,
6789       -1,    -1,    -1,    -1,    -1,   651,   652,   653,   654,    -1,
6790       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1835,
6791       -1,  1837,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6792       -1,    -1,    -1,   679,   680,   681,    -1,    -1,    -1,    -1,
6793     1856,  1857,  1858,  1859,    -1,    -1,  1862,    -1,    -1,    -1,
6794     1866,  1867,    -1,  1869,    -1,  1871,    -1,   703,    -1,    -1,
6795       -1,   919,    -1,   921,    -1,    -1,    -1,  1883,    -1,    -1,
6796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6797       -1,    -1,    -1,   330,    -1,    -1,    -1,    -1,    -1,   735,
6798       -1,   900,   901,   951,    -1,   741,    -1,    -1,   744,  1508,
6799     1509,    -1,   960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6800      106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6802      988,    -1,   990,    -1,   130,    -1,    -1,    -1,    -1,    -1,
6803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6804       -1,   870,  1561,  1562,   963,    -1,    -1,    -1,   877,    -1,
6805       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6806       -1,    -1,  1995,  1996,    -1,  1998,  1999,    -1,    -1,  1995,
6807     1996,  1997,  1998,  1999,  2007,  2008,  2009,  2010,    -1,    -1,
6808       -1,  2007,  2008,  2009,  2010,    -1,   192,    -1,  1056,    -1,
6809       -1,    -1,  2018,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6810      929,  2027,    -1,  2029,    -1,   934,    -1,    -1,    -1,    -1,
6811       -1,    -1,  1031,  1032,    -1,    -1,  1035,  1036,  1037,    -1,
6812       -1,   950,    -1,    -1,    -1,    -1,    -1,    -1,  1096,    -1,
6813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1107,
6814       -1,  2074,  2075,    -1,    -1,    -1,    -1,    -1,  2074,  2075,
6815       -1,    -1,    -1,    -1,    -1,  2081,  2082,    -1,    -1,  2085,
6816       -1,  2087,    -1,    -1,  2090,  1133,  1134,   996,  2094,    -1,
6817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6818       -1,    -1,   288,    -1,    -1,    -1,    -1,   293,   294,    -1,
6819       -1,   297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,
6820     2126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   314,    -1,
6821       -1,    -1,    -1,    -1,  1043,    -1,    -1,    -1,    -1,    -1,
6822       -1,    -1,    -1,  1052,   330,  1054,    -1,  2153,    -1,   335,
6823       -1,    -1,   988,   989,   990,    -1,    -1,    -1,    -1,    -1,
6824       -1,    -1,    -1,  1211,    -1,  1213,    -1,    -1,    -1,    -1,
6825       -1,    -1,    -1,  1172,  1173,     1,    -1,     3,     4,     5,
6826        6,    -1,     8,     9,    -1,    -1,   372,  1235,   374,   626,
6827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6828       -1,    -1,    28,    -1,    -1,  1253,    -1,    -1,    -1,  1257,
6829       -1,  1810,  1260,  1812,    -1,    -1,  1264,    -1,    -1,    -1,
6830     1268,    -1,    -1,   409,    -1,    -1,    -1,    -1,    -1,    -1,
6831       -1,    -1,    -1,    -1,    -1,    -1,  1835,    -1,  1837,    65,
6832       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
6833       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
6834     1096,    -1,    -1,    -1,    -1,  1174,    -1,  1176,    -1,    -1,
6835       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
6836      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
6837      116,   117,    -1,    -1,   120,    -1,    -1,    -1,   124,   125,
6838      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
6839       -1,    -1,   749,    -1,    -1,    -1,    -1,    -1,  1154,  1155,
6840     1156,  1157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6841       -1,    -1,    -1,    -1,   520,    -1,    -1,    -1,    -1,    -1,
6842       -1,  1177,    -1,  1179,    -1,   782,   783,   784,   785,   786,
6843       -1,    -1,   789,    -1,    -1,    -1,    -1,    -1,   795,    -1,
6844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6845      556,    -1,    -1,   810,   811,   812,   813,   814,    -1,    -1,
6846      817,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1437,
6847       -1,    -1,  1440,    -1,    -1,    -1,  1995,  1996,  1997,  1998,
6848     1999,    -1,   588,    -1,    -1,    -1,    -1,    -1,  2007,  2008,
6849     2009,  2010,    -1,    -1,    -1,   852,   853,     0,    -1,    -1,
6850     1256,  1257,    -1,    -1,    -1,    -1,    -1,  1263,  1264,    -1,
6851      616,  1267,  1268,  1481,    -1,    -1,    -1,    -1,    -1,    -1,
6852       -1,    -1,    -1,  1491,    -1,    -1,    -1,    -1,    -1,    -1,
6853       -1,    -1,    -1,    -1,  1502,    -1,    -1,    -1,    -1,    -1,
6854       -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,  1517,
6855       -1,    -1,    -1,  1521,    -1,  2074,  2075,    -1,  1526,    -1,
6856     1528,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6857       -1,    -1,    -1,    -1,    77,    78,    -1,  1545,    -1,   685,
6858       -1,    -1,    85,   689,    87,    -1,    -1,    -1,    -1,  1508,
6859     1509,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6861      716,    -1,    -1,    -1,   720,   721,    -1,    -1,    -1,  1448,
6862       -1,    -1,   125,   126,    -1,    -1,  1455,    -1,    -1,   735,
6863     1598,    -1,    -1,    -1,    -1,   741,    -1,    -1,   744,    -1,
6864       -1,    -1,  1561,  1562,    -1,    -1,    -1,    -1,    -1,    -1,
6865       -1,    -1,    -1,  1482,    -1,  1484,    -1,   763,  1487,    -1,
6866       -1,  1490,    -1,   769,   770,   771,   772,   773,   774,   775,
6867       -1,    -1,   778,   779,   177,   781,   782,   783,   784,   785,
6868      786,   787,   788,    -1,   790,    -1,    -1,    -1,    -1,    -1,
6869       -1,    -1,   798,   799,   800,   801,   802,   803,   804,   805,
6870      806,   807,   808,   809,   810,   811,   812,   813,   814,   815,
6871      816,    -1,   818,    -1,    -1,    -1,    -1,    -1,    -1,   222,
6872       -1,    -1,   225,    -1,    -1,  1481,    -1,    -1,    -1,    -1,
6873       -1,    -1,  1700,    -1,    -1,  1564,  1704,  1705,  1706,    -1,
6874       -1,   847,    -1,  1572,   850,   851,    -1,  1715,    -1,    -1,
6875      253,    -1,  1720,  1721,  1583,    -1,    -1,  1114,    -1,  1727,
6876       -1,    -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,
6877       -1,    -1,    -1,   276,    -1,   278,    -1,    -1,  1746,  1747,
6878       -1,  1749,  1750,    -1,    -1,  1142,  1754,  1755,  1756,  1757,
6879       -1,    -1,  1149,    -1,    -1,    -1,    -1,    -1,  1766,  1767,
6880     1768,  1769,  1770,  1771,  1772,  1773,    -1,    -1,    -1,    -1,
6881     1778,    -1,    -1,   919,    -1,   921,    -1,    -1,    -1,    -1,
6882       -1,    -1,    -1,    -1,    -1,    -1,  1794,    -1,    -1,    -1,
6883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6884       -1,  1597,  1598,  1200,    -1,   951,    -1,    -1,    -1,  1206,
6885       -1,    -1,    -1,    -1,   960,    -1,    -1,    -1,    -1,    -1,
6886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
6887        3,     4,     5,     6,    -1,     8,     9,   380,    -1,    -1,
6888       -1,    -1,   988,    -1,   990,    -1,    -1,    -1,    -1,    -1,
6889       -1,  1810,    -1,  1812,    -1,    28,    -1,    -1,    -1,    -1,
6890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6891       -1,    -1,    -1,    -1,    -1,    -1,  1835,    -1,  1837,    -1,
6892       -1,    -1,    -1,   426,    -1,  1893,  1894,    -1,    -1,    -1,
6893       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
6894       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6895     1056,    84,    85,  1782,  1783,    -1,  1785,    -1,  1926,  1927,
6896       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,  1936,   102,
6897      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
6898       -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
6899     1096,    -1,   125,   126,   127,   128,   129,   130,   131,    -1,
6900       -1,  1107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1838,
6901       -1,    -1,    -1,    -1,   517,   518,   519,    -1,   521,    -1,
6902     1988,   524,    -1,    -1,  1992,  1993,    -1,  1133,  1134,    -1,
6903       -1,    -1,   535,   536,   537,    -1,    -1,  1793,  1794,    -1,
6904       -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6905       -1,    -1,   555,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6907       -1,    -1,    -1,    -1,    -1,    -1,  1995,  1996,  1997,  1998,
6908     1999,    -1,    -1,    -1,    -1,    -1,    45,    -1,  2007,  2008,
6909     2009,  2010,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,
6910       -1,    -1,    -1,    -1,    -1,  1211,    -1,  1213,    -1,    -1,
6911       -1,    -1,     1,    -1,     3,     4,     5,     6,    77,     8,
6912        9,    -1,    -1,    -1,    -1,    77,    78,    86,    87,  1235,
6913       -1,    -1,  2100,    85,    -1,    94,    95,    -1,    -1,    28,
6914       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1253,    -1,    -1,
6915     2118,  1257,    -1,   112,  1260,  2074,  2075,    -1,  1264,    -1,
6916       -1,    -1,  1268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6917       -1,   130,    -1,   125,   126,   678,    65,   136,    -1,    -1,
6918       -1,   684,    71,    72,    73,    -1,    -1,    -1,    -1,   148,
6919       -1,   150,    -1,   152,    -1,    84,    85,    -1,    -1,    -1,
6920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
6921       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
6922      109,   180,   181,   112,    -1,   177,   115,   116,   117,    -1,
6923       -1,   120,    -1,    -1,    -1,   124,   125,   126,    -1,   128,
6924      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6925       -1,    -1,    -1,    -1,   213,    -1,    -1,    -1,    -1,    -1,
6926       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6927      222,    -1,    -1,   225,    -1,    -1,    -1,    -1,    -1,    -1,
6928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6929       -1,    -1,    -1,    -1,   253,    -1,    -1,   256,   257,   258,
6930       -1,   253,    -1,    -1,    -1,    -1,    -1,   266,    -1,    -1,
6931       -1,    -1,    -1,    -1,   266,    -1,    -1,   276,   277,   278,
6932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6933       -1,  1437,    -1,    -1,  1440,    -1,    -1,   296,    -1,    -1,
6934       -1,    -1,    -1,   302,    -1,    -1,    -1,    -1,    -1,    -1,
6935       -1,    -1,   311,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6937       -1,    -1,    -1,    -1,    -1,  1481,    -1,    -1,    -1,   882,
6938       -1,    -1,    -1,  1740,    -1,  1491,    -1,    -1,  1745,  1746,
6939     1747,  1748,  1749,  1750,    -1,    -1,  1502,  1754,  1755,  1756,
6940     1757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6941       -1,  1517,    -1,    -1,    -1,  1521,    -1,   920,    -1,    -1,
6942     1526,    -1,  1528,    -1,    -1,    -1,    -1,    -1,   380,    -1,
6943       -1,    -1,    -1,    -1,    -1,    -1,    -1,   940,    -1,  1545,
6944       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,   407,    -1,
6945      409,   410,    -1,    -1,   413,    -1,    -1,    -1,    -1,    -1,
6946       -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,    -1,    28,
6947       -1,    -1,    -1,    -1,   426,    34,    35,    36,    37,    38,
6948       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
6949       49,    50,  1598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6950       -1,    -1,   461,    -1,    -1,    -1,    -1,    66,    -1,    -1,
6951       -1,    -1,    -1,   465,    -1,    74,    75,    -1,    -1,   478,
6952       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
6953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1042,
6954     1043,   100,    -1,   621,    -1,    -1,    -1,    -1,    -1,    -1,
6955       -1,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6956       -1,   520,    -1,    -1,    -1,   517,   518,   519,   527,   521,
6957       -1,   530,   524,    -1,    -1,   653,   654,    -1,    -1,    -1,
6958       -1,    -1,    -1,   535,   536,   537,    -1,    -1,    -1,    -1,
6959       -1,    -1,    -1,    -1,  1700,    -1,    -1,    -1,  1704,  1705,
6960     1706,    -1,    -1,   555,    -1,    -1,    -1,    -1,    -1,  1715,
6961       -1,    -1,    -1,    -1,  1720,  1721,    -1,    -1,    -1,    -1,
6962       -1,  1727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6964     1746,  1747,    -1,  1749,  1750,    -1,    -1,    -1,  1754,  1755,
6965     1756,  1757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6966     1766,  1767,  1768,  1769,  1770,  1771,  1772,  1773,   627,    -1,
6967       -1,  1174,  1778,  1176,    -1,    -1,    -1,    -1,    -1,    -1,
6968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1794,    -1,
6969       -1,    -1,   651,   652,   653,   654,    -1,    -1,    -1,    86,
6970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
6971        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
6972      679,   680,   681,    -1,    -1,   684,   678,    -1,    -1,    -1,
6973      689,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
6974       -1,    -1,    -1,   130,   703,    -1,    -1,    -1,    -1,    -1,
6975       -1,   710,   711,   712,    -1,   714,   715,    -1,    -1,    -1,
6976       -1,    -1,   721,   150,    -1,    -1,    -1,    -1,    -1,    -1,
6977       -1,    -1,    65,   732,    -1,    -1,   735,    -1,    71,    72,
6978       73,    -1,   741,    -1,    -1,   744,    -1,  1893,  1894,    -1,
6979       -1,    84,    85,   180,   181,    -1,    -1,    -1,    -1,    -1,
6980       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
6981      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
6982     1926,  1927,   115,   116,   117,    -1,   213,   120,    -1,    -1,
6983     1936,   124,   125,   126,    -1,   128,   129,   130,   131,    -1,
6984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6986       -1,    -1,    -1,    -1,   823,    -1,   253,    -1,    -1,   256,
6987      257,   258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6988       -1,    -1,  1988,    -1,    -1,    -1,  1992,  1993,   847,    -1,
6989      277,   850,   851,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,
6991      869,   870,    -1,    -1,    -1,   302,    -1,    -1,   877,    -1,
6992       -1,   880,   881,   882,   311,   884,    -1,    -1,    -1,    -1,
6993      882,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1462,
6996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   920,    -1,
6997       -1,    -1,    -1,    -1,    -1,   934,    -1,    -1,    -1,    -1,
6998       -1,    -1,    -1,    -1,    -1,   937,    -1,   939,   940,    -1,
6999       -1,   950,   951,    -1,  2100,    -1,    -1,    -1,    -1,   958,
7000      959,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7001       -1,   970,  2118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7002      407,  1099,   409,   410,  1102,    -1,    -1,    -1,    28,   988,
7003      989,   990,    -1,  1111,    -1,    -1,    -1,   996,    -1,    -1,
7004       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7006       -1,  1564,  1140,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7007       -1,    71,    72,    73,   461,    -1,  1154,  1155,  1156,  1157,
7008       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,
7009     1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
7010       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7011       -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,    -1,
7012      120,    -1,    -1,    -1,   124,   125,   126,    -1,   128,   129,
7013      130,   131,    -1,   520,    -1,    -1,    -1,  1096,    -1,    -1,
7014      527,    -1,    -1,   530,    -1,    -1,    -1,    -1,    -1,    -1,
7015       -1,    -1,    -1,    -1,    -1,    -1,  1115,    -1,    -1,    -1,
7016       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7017       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7019       -1,    -1,    -1,    -1,    -1,  1154,  1155,  1156,  1157,    -1,
7020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1177,    -1,
7022     1179,    -1,  1174,    -1,  1176,    -1,    -1,    -1,    -1,    -1,
7023       -1,    -1,    -1,    -1,  1193,    -1,    -1,    -1,    -1,    -1,
7024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7025       -1,  1210,  1211,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7026       -1,    -1,    -1,    -1,   651,   652,   653,   654,    -1,    -1,
7027       -1,  1230,    -1,    -1,    -1,    -1,    -1,    -1,  1237,    -1,
7028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7029       -1,    -1,   679,   680,   681,    86,    -1,  1256,  1257,    -1,
7030       -1,    -1,   689,    -1,  1263,  1264,    -1,    -1,  1267,  1268,
7031        1,    -1,     3,     4,     5,     6,   703,     8,     9,    -1,
7032       -1,    -1,    -1,   710,   711,   712,    -1,   714,   715,    -1,
7033       -1,    -1,    -1,    -1,   721,  1838,    -1,    28,    -1,   130,
7034       -1,    -1,    -1,    -1,    -1,   732,    -1,    -1,   735,    -1,
7035       -1,    -1,    -1,    -1,   741,    -1,    -1,   744,    -1,   150,
7036       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7037       61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
7038       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,   180,
7039      181,    -1,    -1,    84,    85,    86,    -1,    88,    89,    90,
7040       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
7041       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7042      111,   112,   213,    -1,   115,   116,   117,   118,    -1,   120,
7043       -1,   122,    -1,   124,   125,   126,   823,   128,   129,   130,
7044      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7046      847,    -1,   253,   850,   851,   256,   257,   258,    -1,    -1,
7047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1437,    -1,
7048       -1,  1440,    -1,   870,    -1,    -1,   277,    -1,    -1,    -1,
7049      877,    -1,    -1,    -1,    -1,   882,    -1,   884,    -1,    -1,
7050       -1,    -1,    -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,
7051     1462,   302,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7052      311,    -1,  1481,  1601,  1602,  1484,    -1,    -1,    -1,    -1,
7053       -1,  1609,    -1,  1611,  1612,    -1,    -1,  1615,    -1,    -1,
7054       -1,    -1,    -1,  1502,    -1,  1623,    -1,   934,  1626,    -1,
7055       -1,    -1,    -1,    -1,  1513,  1514,  1515,  1516,    -1,    -1,
7056       -1,    -1,    -1,   950,   951,    -1,    -1,    -1,    -1,    -1,
7057       -1,   958,   959,    -1,    -1,    -1,    -1,     1,    -1,     3,
7058        4,     5,     6,   970,     8,     9,    -1,    -1,    -1,    -1,
7059       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7060       -1,   988,   989,   990,    28,    -1,    -1,    -1,    -1,   996,
7061       -1,    -1,  1564,    -1,    -1,    -1,   407,    -1,   409,   410,
7062       -1,    -1,    -1,    -1,  1583,    -1,    -1,    -1,    -1,    -1,
7063       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1597,  1598,
7064       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
7065       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7066       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7067      461,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
7068      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
7069       -1,   115,   116,   117,   118,    -1,   120,  1656,    -1,    -1,
7070       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,  1096,
7071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   520,
7073       -1,    -1,    -1,    -1,    -1,    -1,   527,    -1,    -1,   530,
7074       -1,  1700,    -1,    -1,    -1,    -1,  1705,    -1,    -1,    -1,
7075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7076       -1,    -1,    -1,    -1,  1723,    -1,    -1,  1154,  1155,  1156,
7077     1157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1856,  1857,
7078     1858,  1859,    -1,    -1,  1862,    -1,    -1,    -1,  1866,  1867,
7079     1177,  1869,  1179,  1871,    -1,    -1,    -1,    -1,    -1,    -1,
7080       -1,    -1,    -1,    -1,    -1,  1883,  1193,    -1,    -1,    -1,
7081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1778,
7082       -1,    -1,    -1,  1210,  1211,    -1,    -1,    -1,    -1,    -1,
7083       -1,    -1,    -1,    -1,  1793,  1794,    -1,    -1,    -1,    -1,
7084       -1,    -1,    -1,  1230,    -1,    -1,    -1,    -1,    -1,    -1,
7085     1237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7086      651,   652,   653,   654,    -1,    -1,    -1,    86,    -1,  1256,
7087     1257,    -1,    -1,    -1,    -1,    -1,  1263,  1264,    -1,    -1,
7088     1267,  1268,    -1,    -1,    -1,    -1,  1838,    -1,   679,   680,
7089      681,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   689,    -1,
7090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7091       -1,   130,   703,    -1,    -1,    -1,    -1,   136,    -1,   710,
7092      711,   712,    -1,   714,   715,    -1,    -1,    -1,    -1,   148,
7093      721,   150,    -1,   152,    -1,    -1,    -1,    -1,    -1,    -1,
7094     2018,   732,    -1,    -1,   735,    -1,    -1,    -1,    -1,  2027,
7095      741,  2029,    -1,   744,    -1,    -1,    -1,    -1,    -1,    -1,
7096       -1,   180,   181,    -1,    -1,    -1,    -1,  1926,    -1,  1928,
7097       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7099       -1,    -1,    -1,    -1,   213,    -1,    -1,    -1,    -1,    -1,
7100       -1,    -1,    -1,  2081,  2082,    -1,    -1,  2085,    -1,  2087,
7101       -1,    -1,  2090,    -1,    -1,    -1,  2094,     1,    -1,    -1,
7102        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7103       -1,    -1,   823,    -1,   253,    -1,    -1,   256,   257,   258,
7104       -1,  2000,  2001,    -1,    -1,    -1,    -1,    -1,  2126,    -1,
7105     1437,    -1,    -1,  1440,    -1,    -1,   847,    -1,   277,   850,
7106      851,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7107       -1,    -1,    -1,    -1,    -1,  2153,    -1,   296,    -1,   870,
7108       -1,    65,    -1,   302,    -1,    -1,   877,    71,    72,    73,
7109       -1,   882,    -1,   884,  1481,    -1,    -1,  1484,    -1,    -1,
7110       84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7111       -1,    -1,    -1,    -1,    98,  1502,    -1,    -1,   102,   103,
7112      104,   105,   106,   107,   108,   109,  1513,  1514,  1515,  1516,
7113       -1,    -1,    -1,   117,   118,    -1,   120,   121,   122,    -1,
7114       -1,   125,   126,   934,   128,   129,   130,   131,    -1,     1,
7115       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,   950,
7116      951,    -1,    -1,    -1,    -1,    -1,    -1,   958,   959,    -1,
7117       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,   970,
7118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   407,    -1,
7119      409,   410,    -1,    -1,   413,    -1,  1583,   988,   989,   990,
7120       -1,    -1,    -1,    -1,    -1,   996,   425,    -1,    -1,    -1,
7121     1597,  1598,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
7122       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7123       -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
7124       -1,    -1,   461,    -1,    -1,    -1,    98,    -1,    -1,    -1,
7125      102,   103,   104,   105,   106,   107,   108,   109,    -1,   478,
7126      112,    -1,    -1,   115,   116,   117,   118,    -1,   120,  1656,
7127       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
7128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7130       -1,   520,    -1,    -1,    -1,  1096,    -1,    -1,   527,    -1,
7131       -1,   530,    -1,  1700,    -1,    -1,    -1,    -1,  1705,    -1,
7132       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7133       -1,    -1,    -1,    -1,    -1,    -1,  1723,    -1,    -1,    -1,
7134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7135       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7136       -1,    -1,    -1,  1154,  1155,  1156,  1157,    -1,    -1,    -1,
7137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7138       -1,    -1,    -1,    -1,    -1,    -1,  1177,    -1,  1179,    -1,
7139       -1,  1778,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7140       -1,    -1,  1193,    -1,    -1,    -1,  1793,  1794,    -1,    -1,
7141       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1210,
7142     1211,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7143       -1,    -1,   651,   652,   653,   654,    -1,    -1,    -1,  1230,
7144       -1,    -1,    -1,    -1,    -1,    -1,  1237,    -1,    -1,    -1,
7145       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7146      679,   680,   681,    -1,    -1,  1256,  1257,    -1,    -1,    -1,
7147       -1,    -1,  1263,  1264,    -1,    -1,  1267,  1268,    -1,    -1,
7148       -1,    -1,    -1,    -1,   703,    -1,    -1,    -1,    -1,    -1,
7149       -1,   710,   711,    -1,    -1,   714,   715,    -1,    -1,    -1,
7150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7151       -1,    -1,    -1,    -1,    -1,    -1,   735,    -1,    -1,    -1,
7152       -1,    -1,   741,    -1,    -1,   744,    -1,    -1,    86,    -1,
7153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1926,
7154       -1,  1928,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7157       -1,    -1,   130,    -1,    -1,    -1,    -1,    -1,   136,    -1,
7158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7159      148,    -1,   150,    -1,   152,    -1,    -1,    -1,    -1,    -1,
7160       -1,    -1,    -1,    -1,   823,    -1,    -1,    -1,    -1,    -1,
7161       -1,    -1,    -1,  2000,  2001,    -1,    -1,    -1,    -1,    -1,
7162       -1,    -1,   180,   181,    -1,    -1,    -1,    -1,   847,    -1,
7163       -1,   850,   851,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7164       -1,    -1,    -1,    -1,    -1,    -1,  1437,    -1,    -1,  1440,
7165      869,   870,    -1,    -1,    -1,    -1,    -1,    -1,   877,    -1,
7166       -1,   880,    -1,    -1,    -1,   884,    -1,    -1,    -1,    -1,
7167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7169     1481,    -1,    -1,  1484,    -1,   253,    -1,    -1,   256,   257,
7170      258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7171       -1,  1502,    -1,    -1,    -1,   934,    -1,    -1,    -1,   277,
7172       -1,    -1,  1513,  1514,  1515,  1516,    -1,    -1,    -1,    -1,
7173       -1,   950,   951,    -1,    -1,    -1,    -1,    -1,   296,   958,
7174      959,    -1,    -1,    -1,   302,    -1,    -1,    -1,    -1,    -1,
7175       -1,   970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   988,
7177      989,   990,    -1,    -1,    -1,    -1,    -1,   996,    -1,    -1,
7178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7179       -1,    -1,  1583,    -1,    -1,    -1,    -1,     1,    -1,     3,
7180       -1,    -1,    -1,    -1,    -1,    -1,  1597,  1598,    -1,    -1,
7181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7182       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7183       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7184       44,    45,    46,    47,    48,    49,    50,    -1,    -1,   407,
7185       -1,   409,   410,    -1,    -1,   413,    -1,    -1,    -1,    -1,
7186       -1,    65,    66,    -1,    -1,  1656,    -1,   425,    -1,    -1,
7187       74,    75,    -1,    -1,    -1,    79,    -1,  1096,    82,    83,
7188       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
7189       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    86,
7190       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,  1700,
7191       -1,   115,   116,    -1,  1705,    -1,    -1,    -1,    -1,    -1,
7192      478,    -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7193       -1,    -1,  1723,    -1,    -1,  1154,  1155,  1156,  1157,    -1,
7194       -1,    -1,    -1,   130,    -1,    -1,    -1,    -1,    -1,   136,
7195       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1177,    -1,
7196     1179,   148,   520,   150,    -1,   152,    -1,    -1,    -1,   527,
7197       -1,    -1,   530,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7198       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1778,    -1,    -1,
7199       -1,  1210,  1211,   180,   181,    -1,    -1,    -1,    -1,    -1,
7200       -1,    -1,  1793,  1794,    -1,    -1,    -1,    -1,    -1,    -1,
7201       -1,  1230,    -1,    -1,    -1,    -1,    -1,    -1,  1237,    -1,
7202       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7203       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1256,  1257,    -1,
7204       -1,    -1,    -1,    -1,  1263,  1264,    -1,    -1,  1267,  1268,
7205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7206       -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,   256,
7207      257,   258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7208       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7209      277,    -1,    -1,   651,   652,   653,   654,    -1,    -1,    -1,
7210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,
7211       -1,    -1,    -1,    -1,    -1,   302,    -1,    -1,    -1,    -1,
7212       -1,   679,   680,   681,    -1,    -1,    -1,    -1,    -1,    -1,
7213       -1,    -1,    -1,    -1,    -1,  1926,    -1,  1928,    -1,    -1,
7214       -1,    -1,    -1,    -1,    -1,   703,    -1,    -1,    -1,    -1,
7215       -1,    -1,   710,   711,    -1,    -1,   714,   715,    -1,    -1,
7216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7217       -1,    -1,    -1,    -1,    -1,    -1,    -1,   735,    -1,    -1,
7218       -1,    -1,    -1,   741,    -1,    -1,   744,    -1,    -1,    -1,
7219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2000,
7221     2001,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1437,    -1,
7222      407,  1440,   409,   410,    -1,    -1,   413,    -1,    -1,    -1,
7223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,
7224       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7225       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7226       -1,    -1,  1481,    -1,    -1,  1484,    -1,    -1,    -1,    -1,
7227       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7228       -1,    -1,    -1,  1502,    -1,    -1,    -1,    -1,    -1,   847,
7229       -1,   478,   850,   851,  1513,  1514,  1515,  1516,    -1,    -1,
7230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7231       -1,   869,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7232       -1,    -1,   880,    -1,    -1,    -1,    -1,    -1,     0,    -1,
7233       -1,    -1,    -1,   520,    -1,    -1,    -1,    -1,    -1,    -1,
7234      527,    -1,    -1,   530,    -1,    -1,    -1,    -1,    -1,    -1,
7235       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7236       -1,    -1,    -1,    -1,  1583,    -1,    -1,    -1,    -1,    -1,
7237       -1,    -1,    -1,    45,    46,    -1,    -1,    -1,  1597,  1598,
7238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7239       -1,    -1,    -1,   951,    -1,    -1,    -1,    -1,    -1,    -1,
7240      958,   959,    -1,    -1,    -1,    77,    78,    -1,    -1,    -1,
7241       82,    -1,   970,    -1,    -1,    87,    -1,    -1,    -1,    -1,
7242       -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
7243      988,   989,   990,    -1,    -1,    -1,    -1,  1656,   996,    -1,
7244      112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7245       -1,    -1,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
7246       -1,    -1,    -1,    -1,   651,   652,   653,   654,    -1,    -1,
7247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7248       -1,  1700,    -1,    -1,    -1,    -1,  1705,    -1,    -1,    -1,
7249       -1,    -1,   679,   680,   681,    -1,    -1,    -1,    -1,    -1,
7250       -1,    -1,    -1,    -1,   176,   258,    -1,    -1,    -1,    -1,
7251       -1,    -1,    -1,    -1,    -1,    -1,   703,   189,    -1,    -1,
7252       -1,    -1,    -1,   710,   711,    -1,    -1,   714,   715,    -1,
7253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1096,    -1,
7254       -1,   213,    -1,    -1,    -1,    -1,    -1,    -1,   735,    -1,
7255       -1,    -1,    -1,    -1,   741,    -1,    -1,   744,   311,  1778,
7256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7257       -1,    -1,    -1,    -1,  1793,  1794,   130,    -1,    -1,    -1,
7258       -1,   253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7259       -1,    -1,    -1,    -1,   266,    -1,  1154,  1155,  1156,  1157,
7260       -1,    -1,    -1,    -1,   276,    -1,   278,    -1,    -1,    -1,
7261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1177,
7262       -1,  1179,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   192,    -1,
7264       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7265       -1,    -1,  1210,  1211,    -1,    -1,    -1,    -1,    -1,    -1,
7266      847,    -1,    -1,   850,   851,    -1,    -1,    -1,    -1,    -1,
7267       -1,    -1,  1230,   426,    -1,    -1,    -1,    -1,    -1,  1237,
7268       -1,    -1,   869,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7269       -1,    -1,    -1,   880,    -1,    -1,    -1,    -1,  1256,  1257,
7270       -1,    -1,    -1,    -1,    -1,  1263,  1264,  1926,    -1,  1267,
7271     1268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7272       -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,
7273       -1,     8,     9,    -1,   288,   407,    -1,    -1,    -1,    -1,
7274       -1,    -1,    -1,   297,    -1,    -1,    -1,    -1,    -1,   303,
7275       -1,    28,    -1,    -1,   426,    -1,    -1,    -1,    -1,    -1,
7276       -1,    -1,    -1,    -1,   951,    -1,    -1,    -1,    -1,    -1,
7277       -1,   958,   959,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7278       -1,  2000,  2001,   970,    -1,    -1,    -1,    -1,    65,   461,
7279       -1,    -1,   464,    -1,    71,    72,    73,    -1,    -1,    -1,
7280       -1,   988,   989,   990,    -1,    -1,    -1,    84,    85,   996,
7281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   372,    -1,
7282      374,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
7283      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,
7284      117,    -1,    -1,   120,    -1,   517,   518,   519,   125,   126,
7285      127,   128,   129,   130,   131,   409,    -1,    -1,    -1,    -1,
7286       -1,    -1,    -1,   535,   536,    -1,    -1,    -1,    -1,    -1,
7287       -1,    -1,    -1,   626,    -1,    -1,    -1,    -1,    -1,  1437,
7288       -1,    -1,  1440,   555,    -1,   557,    -1,   640,    -1,    -1,
7289       -1,    -1,    -1,    -1,    -1,    -1,   568,    -1,   651,   652,
7290      653,   654,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1096,
7291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7292       -1,    -1,    -1,  1481,    -1,    -1,    -1,    -1,    -1,    -1,
7293       -1,    -1,   604,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7294       -1,    -1,    -1,    -1,  1502,   698,    -1,    -1,    -1,    -1,
7295       -1,    -1,    -1,    -1,    -1,  1513,  1514,  1515,  1516,    -1,
7296       -1,    -1,    -1,    -1,    -1,    -1,   520,  1154,  1155,  1156,
7297     1157,    -1,    -1,   726,    -1,    -1,    -1,    -1,    -1,    -1,
7298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7299     1177,    -1,  1179,    -1,    -1,    -1,    -1,    -1,   751,    -1,
7300       -1,    -1,   556,    -1,    -1,   677,    -1,    -1,    -1,    -1,
7301       -1,   314,   684,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7302       -1,    -1,    -1,  1210,  1211,    -1,    -1,   330,    -1,    -1,
7303       -1,    -1,    -1,    -1,    -1,    -1,   789,    -1,   710,  1597,
7304     1598,    -1,   714,  1230,   797,    -1,    -1,    -1,    -1,    -1,
7305     1237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7306      732,    -1,   616,    -1,   817,    -1,    -1,    -1,    -1,  1256,
7307     1257,    -1,    -1,    -1,    -1,     1,  1263,  1264,    -1,    -1,
7308     1267,  1268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1656,   852,
7310      853,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7311       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7312       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,   882,
7313       -1,   685,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7314       66,    -1,  1700,    -1,    -1,    -1,    -1,  1705,    74,    75,
7315       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
7316       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7317       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
7318       -1,   735,   854,   855,   110,   111,    -1,   741,    -1,    -1,
7319      744,    -1,    -1,    -1,    -1,    -1,   122,   869,   870,    -1,
7320       -1,    -1,   311,    -1,    -1,   877,    -1,    -1,   880,   881,
7321      882,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7322     1778,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7323       -1,    -1,    -1,    -1,    -1,  1793,  1794,    -1,    -1,    -1,
7324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   920,    -1,
7325     1437,    -1,    -1,  1440,    -1,    -1,   928,    -1,    -1,    -1,
7326       -1,    -1,   934,    -1,    -1,    -1,    -1,    -1,   940,    -1,
7327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   950,    -1,
7328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7329       -1,    -1,    -1,   847,  1481,    -1,   850,   851,    -1,    -1,
7330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7331       -1,    -1,    -1,    -1,    -1,  1502,    -1,   426,    -1,    -1,
7332       -1,    -1,    -1,   626,   996,    -1,  1513,  1514,  1515,  1516,
7333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7334       -1,    -1,    -1,    -1,    -1,    -1,  1099,    -1,    -1,  1102,
7335     1103,  1104,    -1,  1106,    -1,    -1,    -1,    -1,    -1,    -1,
7336       -1,  1114,    -1,    -1,    -1,   919,    -1,   921,  1926,  1122,
7337     1042,    -1,    -1,    -1,    -1,    -1,  1129,    -1,    -1,  1051,
7338       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1140,    -1,    -1,
7339       -1,    -1,    -1,    -1,  1147,    -1,    -1,   951,    -1,  1152,
7340       -1,  1154,  1155,  1156,  1157,    -1,   960,    -1,    -1,    -1,
7341     1597,  1598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7343       -1,    -1,    -1,    -1,   988,    -1,   990,    -1,    -1,    -1,
7344       -1,    -1,  2000,  2001,    -1,    -1,   749,    -1,    -1,  1202,
7345       -1,    -1,    -1,    -1,    -1,  1208,    -1,    -1,    -1,    -1,
7346      763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1656,
7347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1231,   782,
7348      783,   784,   785,   786,    -1,    -1,   789,   790,    -1,    -1,
7349       -1,    -1,   795,    -1,    -1,   798,    -1,    -1,    -1,    -1,
7350       -1,    -1,  1056,    -1,    -1,    -1,    -1,   810,   811,   812,
7351      813,   814,    -1,  1700,   817,   818,    -1,   626,  1705,    -1,
7352       -1,  1193,    -1,    -1,    -1,  1278,    -1,    -1,    -1,    -1,
7353       -1,   640,    -1,    -1,    -1,   644,    -1,    -1,  1210,    -1,
7354     1212,    -1,  1096,    -1,    -1,    -1,    -1,    -1,  1220,   852,
7355      853,    -1,    -1,  1107,    -1,    -1,    -1,    -1,  1230,    -1,
7356       -1,    -1,    -1,    -1,    -1,  1237,    -1,    -1,    -1,    -1,
7357       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1330,    -1,    -1,
7358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   698,
7359     1343,  1778,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7360       -1,    -1,    -1,   712,    -1,    -1,  1793,  1794,    -1,    -1,
7361       -1,    -1,    -1,    -1,    -1,    -1,    -1,   726,   727,    -1,
7362       -1,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7364       -1,  1394,   751,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7365       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1211,    -1,  1213,
7366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7367       -1,    -1,    -1,  1426,    -1,    -1,    -1,  1430,    -1,    -1,
7368      789,  1235,    -1,    -1,    -1,    65,    -1,    -1,   797,    -1,
7369       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7370       -1,    -1,    -1,  1257,    84,    85,    -1,    -1,   817,    -1,
7371     1264,    -1,    -1,    -1,  1268,    -1,    -1,    -1,    98,    -1,
7372       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7373       -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,  1926,
7374      120,    -1,    -1,   852,   853,   125,   126,   127,   128,   129,
7375      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7376       -1,    -1,  1434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7377       -1,    -1,    -1,   882,    -1,  1447,    -1,    -1,    -1,    -1,
7378       -1,    -1,  1454,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7379     1462,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7381     1482,  1114,  1484,  2000,  2001,    -1,    -1,    -1,    -1,    -1,
7382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1142,
7384       -1,    -1,    -1,    -1,    -1,    -1,  1149,    -1,  1601,  1602,
7385       -1,    -1,  1605,    -1,  1607,    -1,    -1,  1610,  1611,    -1,
7386       -1,    -1,    -1,  1616,  1617,    -1,  1619,    -1,    -1,    -1,
7387       -1,    -1,    -1,    -1,    -1,    -1,  1629,    -1,  1631,    -1,
7388       -1,    -1,    -1,  1437,    -1,    -1,  1440,    -1,    -1,    -1,
7389       -1,  1563,    -1,    -1,    -1,    -1,    -1,  1200,    -1,    -1,
7390       -1,    -1,    -1,  1206,    -1,    -1,    -1,    -1,    -1,    -1,
7391       -1,  1583,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7392       -1,    -1,    -1,    -1,    -1,  1678,    -1,  1481,    -1,    -1,
7393       -1,    -1,    -1,    -1,  1687,    -1,    -1,  1491,    -1,    -1,
7394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1502,    -1,
7395       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1260,    -1,    -1,
7396       -1,    -1,     1,  1517,     3,     4,     5,     6,    -1,     8,
7397        9,    -1,  1526,    -1,  1528,    -1,    -1,    -1,    -1,    -1,
7398       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7399       -1,  1545,    -1,    -1,  1103,  1104,    -1,  1106,    -1,    -1,
7400       -1,    -1,    -1,    -1,    -1,  1114,    -1,    -1,  1117,    -1,
7401       -1,    -1,    -1,  1122,    -1,    -1,    -1,    -1,    -1,    -1,
7402     1129,  1130,  1694,    -1,    -1,    -1,    65,    -1,    -1,    -1,
7403       -1,    -1,    71,    72,    73,    -1,    -1,    -1,  1147,  1148,
7404       -1,    -1,    -1,  1152,  1598,    84,    85,    -1,    -1,    -1,
7405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
7406       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7407      109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,   118,
7408       -1,   120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,
7409      129,   130,   131,  1202,    -1,  1848,    -1,    -1,    -1,  1208,
7410       -1,    -1,  1774,    -1,    -1,    -1,    -1,    -1,    -1,  1862,
7411     1863,    -1,    -1,    -1,    -1,    -1,    -1,  1870,    -1,    -1,
7412       -1,  1874,  1231,  1876,  1796,    -1,    -1,    -1,    -1,    -1,
7413       -1,    -1,  1885,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7414       -1,    -1,    -1,    -1,    -1,    -1,  1700,    -1,    -1,    46,
7415     1704,  1705,  1706,    -1,    -1,    -1,    53,    -1,    -1,    -1,
7416       -1,    -1,    -1,    -1,    -1,    -1,  1720,  1721,    -1,  1278,
7417     1279,    -1,    -1,    -1,    -1,  1928,    -1,    -1,    -1,    76,
7418       77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7419       -1,    -1,  1746,  1747,    -1,  1749,  1750,    -1,    -1,    -1,
7420     1754,  1755,  1756,  1757,    -1,    -1,    -1,    -1,    -1,    -1,
7421       -1,    -1,  1766,  1767,  1768,  1769,  1770,  1771,  1772,  1773,
7422       46,  1330,    -1,  1332,  1778,    -1,    -1,    -1,   125,   126,
7423       -1,    -1,    -1,    -1,  1343,  1344,  1908,    -1,    -1,    -1,
7424     1794,    -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,    -1,
7425       -1,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7426       -1,   158,    -1,    -1,    -1,    -1,  2019,  2020,    -1,  2022,
7427       -1,  2024,    -1,    -1,  2027,  2028,  2029,    -1,    -1,    -1,
7428      177,    -1,    -1,    -1,    -1,  1394,    -1,  1396,    -1,    -1,
7429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,
7430      126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7431       -1,    -1,    -1,    -1,    -1,   212,   213,  1426,    -1,  1428,
7432       -1,  1430,    -1,  1432,    -1,    -1,    -1,    -1,    -1,    -1,
7433     2083,    -1,    -1,  2086,    -1,    -1,    -1,    -1,    -1,    -1,
7434       -1,  2094,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7435       -1,   177,    -1,    -1,    -1,    -1,   253,    -1,    -1,    -1,
7436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   266,
7437       -1,    -1,  1926,  1927,    -1,    -1,  2129,    -1,    -1,   276,
7438       -1,    -1,  1936,    -1,    -1,    -1,    -1,   213,    -1,    -1,
7439       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7440       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7442       -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,
7443       -1,    -1,    -1,    -1,  1988,    -1,    -1,  1740,  1992,  1993,
7444      266,    -1,  1745,  1746,  1747,  1748,  1749,  1750,    -1,    -1,
7445      276,  1754,  1755,  1756,  1757,    -1,    -1,    -1,    -1,    -1,
7446       -1,    -1,    -1,  1766,  1767,  1768,  1769,  1770,  1771,  1772,
7447     1773,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7448     1589,    -1,    -1,   380,    -1,    -1,    -1,    -1,    -1,   386,
7449       -1,    -1,    -1,    -1,    -1,    -1,  1605,  1606,  1607,  1608,
7450       -1,  1610,  1611,     1,    -1,     3,    -1,  1616,  1617,    -1,
7451     1619,    -1,  1621,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7452     1629,  1630,  1631,    -1,    -1,    -1,    -1,    -1,    -1,   426,
7453       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7454       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7455       48,    49,    50,    -1,   380,    -1,    -1,    -1,    -1,    -1,
7456      386,    -1,    -1,    -1,   461,    -1,    -1,    65,    66,  1678,
7457     1679,    -1,    -1,    -1,    -1,    -1,    74,    75,  1687,  1688,
7458      477,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
7459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7460      426,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7461       -1,    -1,   110,   111,   112,    -1,    -1,   115,   116,    -1,
7462      517,   518,   519,    -1,   521,    -1,    -1,   524,   126,    -1,
7463       -1,    -1,    -1,    -1,    -1,   461,    -1,    -1,   535,   536,
7464      537,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
7465       -1,    -1,    -1,    -1,    -1,    -1,   553,    -1,   555,    -1,
7466      557,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7467       -1,    -1,    -1,   570,    34,    35,    36,    37,    38,    39,
7468       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7469       50,   517,   518,   519,    -1,   521,    -1,    -1,   524,    -1,
7470       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,   535,
7471      536,   537,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
7472       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,   555,
7473       -1,   557,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1848,
7474      100,    -1,    -1,    -1,   570,    -1,    -1,    -1,    -1,    -1,
7475      110,   111,   112,    -1,  1863,   115,    -1,    -1,    -1,  1868,
7476       -1,  1870,  1871,    -1,  1873,  1874,   126,  1876,    -1,  1878,
7477       -1,    -1,    -1,   670,    -1,  1884,  1885,    -1,    -1,    -1,
7478       -1,   678,    -1,    -1,    -1,    -1,    -1,   684,    -1,    -1,
7479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1928,
7482        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
7483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
7485       -1,    -1,   678,    -1,    -1,    -1,    -1,    -1,   684,    -1,
7486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7487       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7488       61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
7489       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,
7490       -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,    90,
7491     2019,  2020,    -1,  2022,  2023,  2024,    -1,    98,    -1,  2028,
7492     2029,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7493      111,   112,    -1,    -1,   115,   116,   117,   118,    -1,   120,
7494       -1,   122,    -1,   124,   125,   126,    -1,   128,   129,   130,
7495      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7496       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
7497       -1,   868,    -1,   870,  2083,  2084,    -1,  2086,  2087,    -1,
7498      877,    -1,  2091,    -1,    -1,   882,    -1,    -1,    -1,    28,
7499       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7500       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7501       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7502     2129,    -1,    -1,   920,    -1,    -1,    -1,    66,    -1,    -1,
7503       -1,    -1,   929,    -1,    -1,    74,    75,   934,    -1,    -1,
7504       79,    -1,    -1,   940,   870,    -1,    85,    86,    87,    -1,
7505       -1,   877,    -1,   950,    -1,    -1,   882,    -1,    -1,    -1,
7506       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7507       -1,   110,   111,   112,    -1,    -1,   115,    -1,     1,    -1,
7508        3,     4,     5,     6,    -1,     8,     9,   126,    -1,    -1,
7509       -1,    -1,    -1,    -1,   920,    -1,    -1,    -1,    -1,   996,
7510       -1,    -1,    -1,   929,    -1,    28,    -1,    -1,   934,    -1,
7511       -1,    -1,    -1,    -1,   940,    -1,    -1,    -1,    -1,    -1,
7512       -1,    -1,    -1,    -1,   950,    -1,    -1,    -1,    -1,    52,
7513       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7514       -1,    -1,    65,    -1,    -1,  1042,  1043,    -1,    71,    72,
7515       73,    -1,    -1,    -1,    -1,  1052,    79,  1054,    -1,    -1,
7516       -1,    84,    85,    86,    -1,    88,    89,    90,    -1,    -1,
7517      996,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
7518      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7519       -1,    -1,   115,    -1,   117,   118,    -1,    -1,    -1,   122,
7520       -1,   124,   125,   126,    -1,   128,   129,   130,   131,    -1,
7521       -1,    -1,    -1,    -1,    -1,    -1,  1042,  1043,    -1,    -1,
7522       -1,    -1,    -1,    -1,    -1,    -1,  1052,    -1,  1054,    -1,
7523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7527       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1174,    -1,  1176,
7528       -1,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7529        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7530       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7531       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7532       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7533       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7534       59,    60,    61,    62,    -1,    -1,    65,    66,  1174,    68,
7535     1176,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7536       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7537       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7538       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7539      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7540      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7541      129,   130,   131,   132,   133,   134,   135,   136,    -1,    -1,
7542       -1,     1,    -1,    -1,    -1,    -1,    -1,     7,     8,     9,
7543       10,    11,    12,    13,    14,    15,    16,    17,    -1,    -1,
7544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7545       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7546       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7547       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7548       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
7549       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
7550       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
7551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7552      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7553      110,   111,   112,   113,   114,   115,    -1,    -1,   118,   119,
7554      120,   121,    -1,   123,    -1,    -1,   126,    -1,   128,   129,
7555      130,  1448,   132,   133,   134,   135,   136,    -1,  1455,    -1,
7556       -1,    -1,    -1,    -1,    -1,  1462,    -1,    -1,    -1,    -1,
7557       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,
7558        5,     6,    -1,     8,     9,  1482,    -1,  1484,    -1,    -1,
7559     1487,    -1,    -1,  1490,    -1,    -1,    -1,    -1,    -1,    -1,
7560       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,
7561       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7562       -1,    -1,  1448,    -1,    -1,    -1,    -1,    -1,    -1,  1455,
7563       -1,    -1,    -1,    -1,    -1,    -1,  1462,    -1,    -1,    -1,
7564       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
7565       -1,    -1,    -1,    -1,    -1,    -1,  1482,    -1,  1484,    84,
7566       85,  1487,    -1,    -1,  1490,    -1,    -1,  1564,    -1,    -1,
7567       -1,    -1,    -1,    98,    -1,  1572,    -1,   102,   103,   104,
7568      105,   106,   107,   108,   109,    -1,  1583,   112,    -1,    -1,
7569      115,   116,   117,   118,    -1,   120,    -1,    -1,    -1,    -1,
7570      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
7571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7573       -1,     0,     1,    -1,     3,     4,     5,     6,  1564,     8,
7574        9,    -1,    -1,    -1,    -1,    -1,  1572,    -1,    -1,    -1,
7575       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1583,    -1,    28,
7576       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7577       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7578       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7579       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7580       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7581       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7582       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7583       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7584      109,   110,   111,   112,    -1,    -1,   115,   116,   117,   118,
7585       -1,   120,   121,   122,   123,   124,   125,   126,    -1,   128,
7586      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7588       -1,    -1,    -1,    -1,    -1,  1782,  1783,    -1,  1785,    -1,
7589       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7590       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7592       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7593       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7594       -1,  1838,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7595       -1,    -1,    -1,    -1,    -1,    -1,  1782,  1783,    -1,  1785,
7596       -1,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7597        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7598       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7599       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7600       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7601       49,    50,  1838,    52,    53,    54,    55,    56,    57,    58,
7602       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7603       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7604       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7605       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7606       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7607      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7608      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7609      129,   130,   131,   132,   133,   134,   135,   136,     0,     1,
7610       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7611       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7612       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7613       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7614       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7615       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7616       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7617       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7618       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7619       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7620      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7621      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7622      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7623      132,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
7624        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7625       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7626       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7627       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7628       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7629       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7630       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7631       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7632       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7633       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7634      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7635      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7636      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7637      135,   136,     0,     1,    -1,     3,     4,     5,     6,     7,
7638        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7639       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7640       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7641       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7642       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7643       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7644       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7645       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7646       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7647       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7648      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7649      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7650      128,   129,   130,   131,   132,   133,   134,   135,   136,     0,
7651        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7652       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7653       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7654       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7655       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7656       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7657       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7658       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7659       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7660       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7661       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7662      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7663      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7664      131,   132,   133,   134,   135,   136,     0,     1,    -1,     3,
7665        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7666       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7667       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7668       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7669       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7670       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7671       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7672       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7673       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7674       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7675      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7676      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7677      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7678      134,   135,   136,     0,     1,    -1,     3,     4,     5,     6,
7679        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7680       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7681       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7682       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7683       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7684       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7685       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7686       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7687       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7688       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7689      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7690      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7691      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7692        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7693       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7694       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7695       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7696       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7697       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7698       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7699       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7700       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7701       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7702      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7703      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7704      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7705      130,   131,   132,   133,   134,   135,   136,     0,     1,    -1,
7706        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7707       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7708       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7709       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7710       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7711       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7712       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7713       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7714       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7715       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7716      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7717      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7718      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7719      133,   134,   135,   136,     0,     1,    -1,     3,     4,     5,
7720        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7721       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7722       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7723       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7724       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7725       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7726       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7727       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7728       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7729       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7730      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7731      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7732      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7733      136,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7734        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7735       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7736       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7737       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7738       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7739       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7740       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7741       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7742       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7743       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7744      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7745      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7746      129,   130,   131,   132,   133,   134,   135,   136,     0,     1,
7747       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7748       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7749       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7750       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7751       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7752       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7753       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7754       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7755       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7756       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7757      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7758      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7759      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7760      132,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
7761        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7762       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7763       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7764       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7765       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7766       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7767       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7768       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7769       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7770       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7771      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7772      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7773      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7774      135,   136,     0,     1,    -1,     3,     4,     5,     6,     7,
7775        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7776       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7777       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7778       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7779       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7780       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7781       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7782       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7783       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7784       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7785      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7786      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7787      128,   129,   130,   131,   132,   133,   134,   135,   136,     0,
7788        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7789       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7790       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7791       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7792       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7793       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7794       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7795       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7796       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7797       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7798       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7799      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7800      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7801      131,   132,   133,   134,   135,   136,     0,     1,    -1,     3,
7802        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7803       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7804       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7805       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7806       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7807       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7808       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7809       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7810       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7811       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7812      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7813      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7814      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7815      134,   135,   136,     0,     1,    -1,     3,     4,     5,     6,
7816        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7817       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7818       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7819       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7820       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7821       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7822       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7823       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7824       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7825       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7826      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7827      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7828      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7829        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7830       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7831       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7832       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7833       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7834       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7835       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7836       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7837       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7838       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7839      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7840      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7841      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7842      130,   131,   132,   133,   134,   135,   136,     0,     1,    -1,
7843        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7844       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7845       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7846       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7847       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7848       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7849       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7850       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7851       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7852       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7853      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7854      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7855      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7856      133,   134,   135,   136,     0,     1,    -1,     3,     4,     5,
7857        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7858       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7859       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7860       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7861       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7862       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7863       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7864       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7865       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7866       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7867      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7868      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7869      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7870      136,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7871        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7872       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7873       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7874       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7875       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7876       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7877       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7878       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7879       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7880       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7881      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7882      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7883      129,   130,   131,   132,   133,   134,   135,   136,     0,     1,
7884       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7885       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7886       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7887       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7888       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7889       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7890       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7891       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7892       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7893       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7894      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7895      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7896      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7897      132,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
7898        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7899       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7900       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7901       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7902       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7903       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7904       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7905       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7906       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7907       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7908      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7909      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7910      125,   126,    -1,   128,   129,   130,   131,   132,   133,   134,
7911      135,   136,     0,     1,    -1,     3,     4,     5,     6,    -1,
7912        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7914       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7915       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7916       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7917       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7918       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7919       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7920       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7921       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7922      108,   109,   110,   111,   112,    -1,    -1,   115,   116,   117,
7923      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
7924      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
7925        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7926       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7927       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7928       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7929       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7930       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7931       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7932       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7933       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7934       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7935      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
7936      116,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
7937      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
7938        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7939       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7940       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7941       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7942       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7943       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7944       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7945       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7946       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7947       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7948      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
7949       -1,   115,   116,   117,   118,    -1,   120,   121,   122,    -1,
7950      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
7951       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7953       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7954       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7955       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7956       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7957       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7958       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7959       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7960       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7961      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7962      112,    -1,    -1,   115,   116,   117,   118,    -1,   120,   121,
7963      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
7964        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7967       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7968       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7969       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7970       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7971       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7972       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7973       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7974      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7975      110,   111,   112,    -1,    -1,   115,   116,   117,   118,    -1,
7976      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
7977      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
7978        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7979       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7980       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7981       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7982       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7983       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7984       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7985       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7986       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7987       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7988      108,   109,   110,   111,   112,    -1,    -1,   115,   116,   117,
7989      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
7990      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
7991        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7993       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7994       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7995       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7996       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7997       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7998       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7999       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8000       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8001      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8002      116,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
8003      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
8004        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8006       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8007       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8008       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8009       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8010       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8011       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8012       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8013       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8014      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8015       -1,   115,   116,   117,   118,    -1,   120,   121,   122,    -1,
8016      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
8017       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8019       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8020       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8021       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8022       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8023       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8024       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8025       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8026       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8027      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8028      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8029      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8030        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8032       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8033       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8034       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8035       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8036       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8037       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8038       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8039       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8040      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8041      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8042      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
8043      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
8044        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8046       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8047       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8048       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8049       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8050       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8051       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8052       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8053       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8054      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8055      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
8056      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
8057        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8058       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8059       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8060       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8061       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8062       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8063       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8064       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8065       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8066       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8067      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8068       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
8069      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
8070        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8072       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8073       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8074       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8075       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8076       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8077       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8078       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8079       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8080      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8081       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8082      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
8083       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8085       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8086       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8087       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8088       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8089       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8090       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8091       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8092       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8093      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8094      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8095      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8096        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8097       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8099       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8100       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8101       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8102       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8103       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8104       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8105       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8106      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8107      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8108      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
8109      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
8110        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8112       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8113       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8114       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8115       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8116       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8117       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8118       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8119       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8120      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8121      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
8122      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
8123        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8125       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8126       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8127       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8128       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8129       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8130       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8131       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8132       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8133      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8134       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
8135      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
8136        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8138       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8139       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8140       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8141       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8142       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8143       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8144       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8145       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8146      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8147       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8148      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
8149       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8151       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8152       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8153       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8154       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8155       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8156       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8157       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8158       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8159      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8160      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8161      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8162        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8165       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8166       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8167       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8168       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8169       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8170       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8171       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8172      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8173      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8174      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
8175      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
8176        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8178       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8179       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8180       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8181       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8182       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8183       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8184       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8185       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8186      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8187      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
8188      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
8189        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8190       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8191       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8192       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8193       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8194       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8195       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8196       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8197       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8198       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8199      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8200       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
8201      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
8202        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8204       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8205       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8206       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8207       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8208       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8209       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8210       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8211       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8212      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8213       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8214      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
8215       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8217       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8218       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8219       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8220       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8221       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8222       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8223       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8224       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8225      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8226      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8227      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8228        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8231       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8232       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8233       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8234       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8235       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8236       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8237       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8238      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8239      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8240      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
8241      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
8242        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8244       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8245       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8246       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8247       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8248       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8249       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8250       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8251       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8252      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8253      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
8254      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
8255        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8257       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8258       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8259       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8260       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8261       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8262       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8263       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8264       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8265      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8266       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
8267      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
8268        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8269       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8270       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8271       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8272       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8273       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8274       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8275       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8276       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8277       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8278      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8279       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8280      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
8281       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8283       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8284       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8285       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8286       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8287       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8288       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8289       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8290       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8291      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8292      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8293      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8294        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8295       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8297       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8298       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8299       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8300       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8301       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8302       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8303       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8304      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8305      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8306      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
8307      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
8308        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8310       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8311       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8312       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8313       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8314       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8315       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8316       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8317       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8318      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8319      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
8320      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
8321        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8322       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8323       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8324       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8325       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8326       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8327       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8328       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8329       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8330       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8331      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8332       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
8333      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
8334        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8335       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8336       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8337       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8338       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    53,
8339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8340       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8341       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8342       84,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
8343       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8344      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8345       -1,   115,   116,   117,   118,    -1,   120,   121,   122,    -1,
8346       -1,   125,   126,    -1,   128,   129,   130,   131,     1,    -1,
8347        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8348       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8349       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8350       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8351       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8353       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8354       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8355       -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8356       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8357      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8358       -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,   122,
8359       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,     1,
8360       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8362       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8363       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8364       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8365       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8366       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8367       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8368       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8369       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8370      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8371      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8372      122,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8373        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8374       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8375       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8376       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8377       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8379       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8380       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8381       -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,
8382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8383       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8384      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,
8385      121,   122,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8386      131,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8389       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8390       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8391       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8392       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8393       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8394       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8395       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8396      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8397      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8398      120,   121,   122,    -1,    -1,   125,   126,    -1,   128,   129,
8399      130,   131,     1,    -1,     3,     4,     5,     6,    -1,     8,
8400        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8402       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8403       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8404       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8405       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
8406       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8407       79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,
8408       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8409       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8410      109,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
8411       -1,   120,   121,   122,    -1,    -1,   125,   126,    -1,   128,
8412      129,   130,   131,     1,    -1,     3,     4,     5,     6,    -1,
8413        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8415       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8416       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8417       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8418       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8419       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8420       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8422       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8423      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8424      118,    -1,   120,   121,   122,    -1,    -1,   125,   126,    -1,
8425      128,   129,   130,   131,     1,    -1,     3,     4,     5,     6,
8426       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8428       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8429       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8430       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
8431       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
8432       -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8433       -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
8434       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8435       -1,    98,    -1,   100,    -1,   102,   103,   104,   105,   106,
8436      107,   108,   109,   110,   111,   112,    -1,    -1,   115,    -1,
8437      117,   118,    -1,   120,   121,   122,    -1,    -1,   125,   126,
8438       -1,   128,   129,   130,   131,     1,    -1,     3,     4,     5,
8439        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8440       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8441       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8442       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8443       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8444       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8445       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8446       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8447       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8448       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8449      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8450       -1,   117,   118,    -1,   120,   121,   122,    -1,    -1,   125,
8451      126,    -1,   128,   129,   130,   131,     1,    -1,     3,     4,
8452        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8454       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8455       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8456       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8458       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8459       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8460       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8461       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8462      105,   106,   107,   108,   109,   110,   111,   112,    -1,    -1,
8463      115,    -1,   117,   118,    -1,   120,   121,   122,    -1,    -1,
8464      125,   126,    -1,   128,   129,   130,   131,     1,    -1,     3,
8465        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8467       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8468       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8469       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8471       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8472       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8473       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8474       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8475      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8476       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8477       -1,   125,   126,    -1,   128,   129,   130,   131,     1,    -1,
8478        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8480       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8481       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8482       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8484       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8485       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8486       -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8487       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8488      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8489       -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,   122,
8490       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,     1,
8491       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8493       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8494       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8495       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8496       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8497       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8498       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8499       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8500       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8501      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8502      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8503      122,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8504        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8505       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8506       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8507       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8508       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8509       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8510       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8511       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8512       -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,
8513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8514       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8515      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,
8516      121,   122,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8517      131,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8520       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8521       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8522       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8523       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8524       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8525       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8527      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8528      110,   111,   112,    -1,    -1,   115,     1,   117,     3,     4,
8529        5,     6,    -1,     8,     9,   125,   126,    -1,   128,   129,
8530      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8531       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8532       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8533       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8535       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8536       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8537       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8538       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8539      105,   106,   107,   108,   109,   110,   111,   112,    -1,    -1,
8540      115,     1,   117,     3,     4,     5,     6,    -1,     8,     9,
8541      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8543       -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
8544       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8545       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8546       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8547       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8548       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
8549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8550      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8551      110,   111,   112,    -1,    -1,   115,   116,   117,    -1,    -1,
8552       -1,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,
8553      130,   131,     1,    -1,     3,     4,     5,     6,    -1,     8,
8554        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8556       -1,    -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,
8557       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8558       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8559       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
8560       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8561       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    -1,
8562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8563       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8564      109,   110,   111,   112,    -1,    -1,   115,   116,   117,    -1,
8565       -1,    -1,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,
8566      129,   130,   131,     1,    -1,     3,     4,     5,     6,    -1,
8567        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8569       28,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,    37,
8570       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8571       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8573       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8574       -1,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
8575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8576       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8577      108,   109,   110,   111,   112,    -1,    -1,   115,     1,   117,
8578        3,     4,     5,     6,   122,     8,     9,   125,   126,    -1,
8579      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8580       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
8581       -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8582       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8584       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8585       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
8586       83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8587       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8588      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8589       -1,    -1,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
8590       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,     1,
8591       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8592       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8593       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8594       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8595       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8596       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8597       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8598       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8599       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8600       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8601      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8602      112,    -1,    -1,   115,   116,   117,    -1,    -1,    -1,    -1,
8603       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8604        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8605       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
8607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8608       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8609       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8610       61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8611       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,
8612       -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,    90,
8613       -1,     1,    -1,     3,     4,     5,     6,    98,     8,     9,
8614       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8615      111,   112,    -1,    -1,   115,    -1,   117,   118,    28,    -1,
8616       -1,   122,    -1,   124,   125,   126,    -1,   128,   129,   130,
8617      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8618       -1,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8619       60,    61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8620       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
8621       -1,    -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,
8622       90,    -1,     1,    -1,     3,     4,     5,     6,    98,     8,
8623        9,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8624      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    28,
8625       -1,    -1,   122,    -1,   124,   125,   126,    -1,   128,   129,
8626      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8628       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8629       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8630        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8632       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8633      109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,
8634       -1,   120,   121,   122,    -1,    -1,   125,   126,    -1,   128,
8635      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8636       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8637        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8639       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8640      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8641      116,   117,   118,    -1,   120,    -1,    -1,    -1,    -1,   125,
8642      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8643       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8644       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8645       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8646       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8647      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8648       -1,    -1,   115,   116,   117,   118,    -1,   120,    -1,    -1,
8649       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8650       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8651       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8652       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8654       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8655       -1,    -1,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8656      120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,
8657      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8658       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8659        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8661       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8662      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,
8663      117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,   126,
8664       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8665       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8666        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8667       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8668       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8669      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8670       -1,   115,   116,   117,    -1,    -1,    -1,    -1,   122,    -1,
8671       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8672       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8673       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8674        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8676       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8677       -1,   112,    -1,    -1,   115,    -1,   117,   118,    -1,    -1,
8678       -1,   122,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8679      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8680       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8681        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8683       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8684      108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,
8685       -1,    -1,   120,    -1,    -1,    -1,    -1,   125,   126,    -1,
8686      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8687       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8688       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8689       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8690       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8691      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8692      115,   116,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,
8693      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8694       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8695       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8696        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8697       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8698      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8699      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,    -1,
8700       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8701       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8702       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8703        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8705       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8706      109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,
8707       -1,    -1,    -1,   122,    -1,    -1,   125,   126,    -1,   128,
8708      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8709       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8710        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8712       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8713      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8714      116,   117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,
8715      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8716       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8717       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8718       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8719       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8720      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8721       -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
8722       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8723       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8724       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8725       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8727       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8728       -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,
8729      120,    -1,    -1,    -1,    -1,   125,   126,   127,   128,   129,
8730      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8731       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8732        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8734       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8735      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,
8736      117,    -1,    -1,   120,    -1,    -1,    -1,   124,   125,   126,
8737       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8738       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8739        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8740       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8741       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8742      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8743       -1,   115,    -1,   117,    -1,    -1,   120,    -1,    -1,    -1,
8744       -1,   125,   126,   127,   128,   129,   130,   131,    -1,    -1,
8745       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8746       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8747        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8749       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8750       -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,   120,
8751       -1,    -1,    -1,   124,   125,   126,    -1,   128,   129,   130,
8752      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8753       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8754        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8756       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8757      108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,
8758       -1,    -1,   120,    -1,    -1,    -1,   124,   125,   126,    -1,
8759      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8760       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8761       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8762       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8763       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8764      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8765      115,    -1,   117,    -1,    -1,   120,    -1,    -1,    -1,   124,
8766      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8767       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8768       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8769        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8770       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8771      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8772      112,    -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,
8773       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8774       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8775       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8776        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8778       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8779      109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,
8780       -1,   120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,
8781      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8782       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8783        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8785       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8786      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8787      116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,   125,
8788      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8789       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8790       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8791       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8792       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8793      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8794       -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
8795       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8796       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8797       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8798       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8800       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8801       -1,    -1,   112,    -1,    -1,   115,   116,   117,   118,    -1,
8802       -1,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,
8803      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8804       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8805        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8807       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8808      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,
8809      117,   118,    -1,   120,    -1,    -1,    -1,    -1,   125,   126,
8810       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8811       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8812        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8813       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8814       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8815      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8816       -1,   115,   116,   117,   118,    -1,    -1,    -1,    -1,    -1,
8817       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8818       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8819       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8820        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8822       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8823       -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,   120,
8824       -1,    -1,    -1,    -1,   125,   126,   127,   128,   129,   130,
8825      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8826       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8827        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8829       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8830      108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,
8831       -1,    -1,   120,    -1,    -1,    -1,    -1,   125,   126,   127,
8832      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8833       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8834       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8835       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8836       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8837      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8838      115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,
8839      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8840       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8841       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8842        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8843       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8844      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8845      112,    -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,
8846       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8847       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8848       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8849        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8851       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8852      109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,
8853       -1,   120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,
8854      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8855       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8856        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8858       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8859      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8860      116,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,   125,
8861      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8862       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8863       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8864       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8865       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8866      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8867       -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
8868       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8869       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8870       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8871       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8872       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8873       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8874       -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,
8875       -1,   121,   122,    -1,    -1,   125,   126,    -1,   128,   129,
8876      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8877       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8878        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8880       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8881      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,
8882      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,   125,   126,
8883       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8884       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8885        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8886       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8887       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8888      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8889       -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,
8890       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8891       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8892       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8893        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8895       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8896       -1,   112,    -1,    -1,   115,   116,   117,    -1,    -1,   120,
8897       -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8898      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8899       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8900        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8901       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8902       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8903      108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,
8904       -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,   127,
8905      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8906       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8907       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8908       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8909       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8910      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8911      115,    -1,   117,    -1,    -1,    -1,    -1,   122,    -1,    -1,
8912      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8913       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8914       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8915        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8916       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8917      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8918      112,    -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,
8919       -1,    -1,    -1,   125,   126,   127,   128,   129,   130,   131,
8920       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8921       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8922        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8924       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8925      109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,
8926       -1,    -1,    -1,    -1,    -1,    -1,   125,   126,   127,   128,
8927      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8928       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8929        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8931       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8932      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8933       -1,   117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,
8934      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8935       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8936       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8937       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8938       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8939      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8940       -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,    -1,
8941       -1,    -1,   125,   126,   127,   128,   129,   130,   131,    -1,
8942       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8943       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8944       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8946       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8947       -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,
8948       -1,    -1,    -1,    -1,   124,   125,   126,    -1,   128,   129,
8949      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8950       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8951        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8953       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8954      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,
8955      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,
8956       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8957       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8958        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8959       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8960       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8961      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8962       -1,   115,    -1,   117,    -1,    -1,    -1,    -1,   122,    -1,
8963       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8964       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8965       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8966        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8967       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8968       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8969       -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,    -1,
8970       -1,    -1,    -1,    -1,   125,   126,   127,   128,   129,   130,
8971      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8972       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8973        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8974       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8975       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8976      108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,
8977       -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,    -1,
8978      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8979       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8980       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8981       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8982       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8983      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8984      115,    -1,   117,    -1,    -1,    -1,    -1,    -1,    -1,   124,
8985      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8986       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8987       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8988        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8989       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8990      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8991      112,    -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,
8992      122,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8993       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8994       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8995        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8997       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8998      109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,
8999       -1,    -1,    -1,   122,    -1,    -1,   125,   126,    -1,   128,
9000      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9001       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9002        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9004       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9005      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
9006       -1,   117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,
9007      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
9008       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9009       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9010       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9011       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9012      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
9013       -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,   122,
9014       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
9015       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
9016       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9017       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9019       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9020       -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,    -1,
9021       -1,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,
9022      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9023       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9024        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9026       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9027      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,
9028      117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,   126,
9029       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
9030       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9031        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9032       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9033       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9034      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
9035       -1,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
9036       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
9037       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
9038       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9039        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9040       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9041       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9042       -1,   112,    -1,    -1,   115,   116,   117,    -1,    -1,    -1,
9043       -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,
9044      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9045       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9046        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9048       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9049      108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,
9050       -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,    -1,
9051      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
9052       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9053       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9054       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9055       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9056      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
9057      115,    -1,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9058      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
9059       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9060       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9061        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9062       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9063      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9064      112,    -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,
9065       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
9066       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
9067       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9068       -1,    -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,
9069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9070       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9071      109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,     0,
9072        1,    -1,     3,     4,     5,    -1,   125,   126,    -1,   128,
9073      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9075       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9076       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9077       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9078       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9079       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9080       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9081       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9082       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9083      111,   112,    -1,    -1,   115,   116,   117,   118,    -1,   120,
9084      121,    -1,    -1,    -1,   125,   126,     0,     1,    -1,     3,
9085        4,     5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9086       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9087       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9088       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9089       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    53,
9090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9091       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9092       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9093       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9094       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9095      104,   105,   106,   107,   108,    -1,   110,   111,   112,    -1,
9096       -1,   115,    -1,   117,   118,    -1,   120,   121,    -1,    -1,
9097       -1,   125,   126,     0,     1,    -1,     3,     4,     5,    -1,
9098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9100       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9101       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9102       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9104       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9105       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9106       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9107       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9108      107,   108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9109      117,   118,     0,     1,   121,     3,     4,     5,   125,   126,
9110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9112       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9113       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9114       48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,
9115       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9116       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9117       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9118       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9119       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9120      108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,
9121      118,     0,     1,   121,     3,     4,     5,   125,   126,    -1,
9122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9124       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9125       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9126       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
9127       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9128       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9129       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9130       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9131       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9132       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
9133        0,     1,   121,     3,     4,     5,   125,   126,    -1,    -1,
9134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9135       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9136       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9137       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9138       50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
9139       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9140       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9141       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9142       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9143      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9144      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
9145        1,   121,     3,     4,     5,   125,   126,    -1,    -1,    -1,
9146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9147       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9148       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9149       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9151       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9152       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9153       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9154       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9155       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9156      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,
9157      121,     3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,
9158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9159       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9160       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9161       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9163       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9164       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9165       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9166       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9167      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9168      112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,
9169        3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,
9170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9171       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9172       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9173       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9175       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9176       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9177       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9178       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9179      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9180       -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,     3,
9181        4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
9182       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9183       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9184       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9185       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9187       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9188       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9189       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9190       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9191      104,   105,   106,   107,   108,    -1,   110,   111,   112,    -1,
9192       -1,   115,    -1,   117,   118,    -1,     1,   121,     3,     4,
9193        5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9195       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9196       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9197       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9199       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9200       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9201       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9202       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9203      105,   106,   107,   108,    -1,   110,   111,   112,    -1,    -1,
9204      115,    -1,   117,   118,    -1,     1,   121,     3,     4,     5,
9205      125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9207       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9208       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9209       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9211       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9212       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9213       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9214       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9215      106,   107,   108,    -1,   110,   111,   112,    -1,    -1,   115,
9216       -1,   117,   118,    -1,     1,   121,     3,     4,     5,   125,
9217      126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9219       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9220       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9221       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9223       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9224       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9225       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9226       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9227      107,   108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9228      117,   118,    -1,     1,   121,     3,     4,     5,   125,   126,
9229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9231       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9232       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9233       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9235       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9236       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9237       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9238       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9239      108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,
9240      118,    -1,     1,   121,     3,     4,     5,   125,   126,    -1,
9241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9243       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9244       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9245       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9246       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9247       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9248       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9249       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9250       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9251       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
9252       -1,     1,   121,     3,     4,     5,   125,   126,    -1,    -1,
9253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9255       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9256       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9257       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9258       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9259       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9260       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9261       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9262      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9263      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
9264        1,   121,     3,     4,     5,   125,   126,    -1,    -1,    -1,
9265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9267       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9268       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9269       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9270       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9271       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9272       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9273       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9274       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9275      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,
9276      121,     3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,
9277       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9278       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9279       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9280       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9282       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9283       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9284       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9285       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9286      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9287      112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,
9288        3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,
9289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9290       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9291       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9292       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9294       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9295       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9296       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9297       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9298      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9299       -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,     3,
9300        4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
9301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9302       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9303       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9304       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9305       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9306       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9307       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9308       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9309       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9310      104,   105,   106,   107,   108,    -1,   110,   111,   112,    -1,
9311       -1,   115,    -1,   117,   118,    -1,     1,   121,     3,     4,
9312        5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9314       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9315       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9316       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9318       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9319       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9320       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9321       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9322      105,   106,   107,   108,    -1,   110,   111,   112,    -1,    -1,
9323      115,    -1,   117,   118,    -1,     1,   121,     3,     4,     5,
9324      125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9326       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9327       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9328       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9330       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9331       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9332       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9333       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9334      106,   107,   108,    -1,   110,   111,   112,    -1,    -1,   115,
9335       -1,   117,   118,    -1,     1,   121,     3,     4,     5,   125,
9336      126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9338       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9339       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9340       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9342       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9343       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9344       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9345       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9346      107,   108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9347      117,   118,    -1,     1,   121,     3,     4,     5,   125,   126,
9348       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9349       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9350       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9351       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9352       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9354       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9355       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9356       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9357       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9358      108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,
9359      118,    -1,     1,   121,     3,     4,     5,   125,   126,    -1,
9360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9362       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9363       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9364       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9365       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9366       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9367       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9368       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9369       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9370       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
9371       -1,     1,   121,     3,     4,     5,   125,   126,    -1,    -1,
9372       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9373       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9374       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9375       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9376       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9377       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9378       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9379       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9380       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9381      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9382      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
9383        1,   121,     3,     4,     5,   125,   126,    -1,    -1,    -1,
9384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9385       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9386       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9387       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9389       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9390       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9391       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9392       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9393       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9394      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,
9395      121,     3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,
9396       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9397       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9398       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9399       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9401       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9402       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9403       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9404       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9405      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9406      112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,
9407        3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,
9408       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9409       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9410       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9411       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9413       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9414       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9415       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9416       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9417      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9418       -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,     3,
9419        4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
9420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9421       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9422       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9423       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9425       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9426       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9427       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9428       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9429      104,   105,   106,   107,   108,    -1,   110,   111,   112,    -1,
9430       -1,   115,    -1,   117,   118,    -1,     1,   121,     3,     4,
9431        5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9433       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9434       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9435       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9437       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9438       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9439       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9440       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9441      105,   106,   107,   108,    -1,   110,   111,   112,    -1,    -1,
9442      115,    -1,   117,   118,    -1,     1,   121,     3,     4,     5,
9443      125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9444       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9445       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9446       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9447       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9449       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9450       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9451       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9452       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9453      106,   107,   108,    -1,   110,   111,   112,    -1,    -1,   115,
9454       -1,   117,   118,    -1,     1,   121,     3,     4,     5,   125,
9455      126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9457       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9458       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9459       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9461       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9462       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9463       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9464       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9465      107,   108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9466      117,   118,    -1,     1,   121,     3,     4,     5,   125,   126,
9467       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9469       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9470       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9471       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9473       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9474       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9475       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9476       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9477      108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,
9478      118,    -1,     1,   121,     3,     4,     5,   125,   126,    -1,
9479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9481       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9482       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9483       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9484       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9485       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9486       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9487       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9488       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9489       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
9490       -1,     1,   121,     3,     4,     5,   125,   126,    -1,    -1,
9491       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9493       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9494       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9495       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9496       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9497       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9498       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9499       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9500      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9501      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
9502        1,   121,     3,     4,     5,   125,   126,    -1,    -1,    -1,
9503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9505       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9506       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9508       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9509       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9510       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9511       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9512       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9513      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,
9514      121,     3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,
9515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9516       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9517       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9518       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9520       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9521       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9522       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9523       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9524      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9525      112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,
9526        3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,
9527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9528       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9529       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9530       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9532       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9533       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9534       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9535       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9536      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9537       -1,    -1,   115,    -1,   117,   118,     1,    -1,     3,     4,
9538        5,    -1,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
9539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9540       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9541       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9542       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9544       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9545       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9546       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9547       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9548      105,   106,   107,   108,    -1,   110,   111,   112,    -1,    -1,
9549      115,    -1,   117,   118,     1,    -1,     3,     4,     5,    -1,
9550      125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9552       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9553       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9554       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9556       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9557       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9558       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9559       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9560      107,   108,     3,   110,   111,   112,    -1,    -1,   115,    -1,
9561      117,   118,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,
9562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9563       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9564       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9566       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9567       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9568       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9570        0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9571      111,   112,    -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,
9572       -1,    -1,    -1,    -1,    -1,   126,    -1,   128,    -1,    29,
9573       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9574       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9575       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
9576       60,    61,    62,    -1,    -1,    -1,    66,    -1,    68,    -1,
9577       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,    79,
9578       80,    81,    82,    83,    -1,    -1,    86,    87,    88,    89,
9579       90,    91,    92,    93,    94,    -1,    96,     0,    -1,    99,
9580      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9581      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
9582       -1,   121,   122,    -1,   124,    -1,    29,    30,    31,    32,
9583       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9584       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
9585       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
9586       -1,    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,    -1,
9587       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9588       83,    -1,    -1,    86,    87,    88,    89,    90,    91,    92,
9589       93,    94,    -1,    96,     0,    -1,    99,   100,    -1,    -1,
9590       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,
9591       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
9592       -1,   124,    -1,    29,    30,    31,    32,    33,    34,    35,
9593       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9594       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
9595       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    -1,
9596       66,    -1,    68,    -1,    -1,    -1,    -1,    -1,    74,    75,
9597       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    -1,
9598       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
9599       96,     0,    -1,    99,   100,    -1,    -1,    -1,    -1,    -1,
9600       -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,    -1,
9601       -1,    -1,   118,    -1,    -1,   121,   122,    -1,   124,    -1,
9602       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9603       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9604       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
9605       59,    60,    61,    62,    -1,    -1,    -1,    66,    -1,    68,
9606       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,
9607       79,    80,    81,    82,    83,    -1,    -1,    86,    87,    88,
9608       89,    90,    91,    92,    93,    94,    -1,    96,     0,    -1,
9609       99,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9610       -1,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9611       -1,    -1,   121,   122,    -1,   124,    -1,    29,    30,    31,
9612       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9613       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9614       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
9615       62,    -1,    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,
9616       -1,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9617       82,    83,    -1,    -1,    86,    87,    88,    89,    90,    91,
9618       92,    93,    94,    -1,    96,    -1,    -1,    99,   100,     3,
9619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
9620       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,
9621      122,    -1,   124,    -1,    28,    29,    30,    31,    32,    33,
9622       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9623       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9624       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9625       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9626       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
9627       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9628       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     3,    -1,
9629       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,
9630       -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,   122,    -1,
9631       -1,    -1,   126,    28,    29,    30,    31,    32,    33,    34,
9632       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9633       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9635       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9636       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
9637       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9638       -1,    -1,    -1,    -1,    -1,   100,    -1,     3,    -1,    -1,
9639       -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,
9640      115,    -1,    -1,    -1,    -1,    -1,    -1,   122,    -1,    -1,
9641       -1,   126,    28,    29,    30,    31,    32,    33,    34,    35,
9642       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9643       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9645       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9646       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
9647       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9648       -1,    -1,    -1,    -1,   100,    -1,     3,    -1,    -1,    -1,
9649       -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,
9650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9651      126,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9652       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9653       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9656       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9657       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9658       -1,    -1,    -1,   100,    -1,     3,    -1,    -1,    -1,    -1,
9659       -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,
9661       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9662       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9663       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9665       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9666       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9668       -1,    -1,   100,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9669       -1,    -1,   110,   111,   112,    -1,    -1,   115,    -1,    -1,
9670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    28,
9671       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9672       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9673       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9674       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
9675       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
9676       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
9677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9678       -1,   100,     3,    -1,    -1,    -1,   105,    -1,    -1,    -1,
9679       -1,   110,   111,   112,    -1,    -1,   115,    -1,    -1,    -1,
9680       -1,    -1,    -1,    -1,    -1,   124,    -1,    28,    29,    30,
9681       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9682       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9684       -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    -1,
9685       -1,    -1,    -1,    74,    75,    -1,    -1,    78,    79,    -1,
9686       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9688        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9689      111,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,    -1,
9690       -1,    -1,    -1,   124,    -1,    28,    29,    30,    31,    32,
9691       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9692       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9693       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9694       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9695       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9696       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9697       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,     3,    -1,
9698       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9699       -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9700       -1,   124,    -1,    28,    29,    30,    31,    32,    33,    34,
9701       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9702       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9704       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9705       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9706       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9707       -1,    -1,    -1,     1,    -1,   100,    -1,    -1,    -1,    -1,
9708       -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,
9709      115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   124,
9710       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9711       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9712       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9714       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9715       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9716       -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,
9717       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9718       -1,    -1,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,
9719      118,    -1,   120,   121,    28,    29,    30,    31,    32,    33,
9720       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9721       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9723       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9724       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
9725       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9726       -1,     1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9727       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,
9728       -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,    28,    29,
9729       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9730       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9731       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9732       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
9733       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9734       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
9735       -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,
9736      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9737      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9738       -1,   121,    28,    29,    30,    31,    32,    33,    34,    35,
9739       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9740       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9741       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9742       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9743       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
9744       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
9745       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9746       -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,    -1,
9747       -1,    -1,    -1,    -1,    -1,   121,    28,    29,    30,    31,
9748       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9749       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9751       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9752       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9753       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9754       -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,   100,    -1,
9755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
9756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,
9757       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9758       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9759       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9761       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9762       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9763       -1,    -1,    -1,    -1,    -1,    -1,     0,     1,    -1,     3,
9764       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9765       -1,    -1,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,
9766       -1,    -1,    -1,   121,    28,    29,    30,    31,    32,    33,
9767       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9768       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    53,
9769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9770       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9771       74,    75,    76,    77,    -1,    79,    80,    81,    82,    83,
9772       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9773        3,    -1,    -1,    -1,    -1,    -1,   100,   101,    -1,    -1,
9774       -1,   105,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,
9775       -1,   115,    -1,    -1,   118,    28,    29,    30,    31,    32,
9776       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9777       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9779       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9780       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9781       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9782       -1,    -1,    -1,    -1,     3,    -1,    -1,   100,    -1,    -1,
9783       -1,    -1,    -1,    -1,   107,    -1,    -1,   110,   111,    -1,
9784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,    28,
9785       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9786       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9787       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9789       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9790       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
9791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
9792       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,
9793       -1,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9794       -1,    -1,   121,    28,    29,    30,    31,    32,    33,    34,
9795       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9796       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9798       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9799       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9800       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9801        1,    -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9802       -1,    -1,   107,    -1,    -1,   110,   111,    -1,    -1,    -1,
9803       -1,    -1,    -1,    -1,    -1,    -1,   121,    28,    29,    30,
9804       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9805       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9807       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
9808       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9809       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9810       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,   100,
9811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9812      111,   112,    -1,    -1,   115,    -1,    -1,   118,    28,    29,
9813       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9814       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9815       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9816       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
9817       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9818       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
9819       -1,    -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9820      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9821      110,   111,   112,    -1,    -1,   115,    -1,    -1,   118,    28,
9822       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9823       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9824       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9826       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9827       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
9828       -1,    -1,    -1,     1,    -1,     3,    -1,    -1,    -1,    -1,
9829       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9830       -1,   110,   111,   112,    -1,    -1,   115,    -1,    -1,   118,
9831       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9832       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9833       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9835       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9836       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9837       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
9838       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9839       -1,    -1,   110,   111,   112,    -1,    -1,   115,    -1,    -1,
9840      118,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9841       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9842       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    76,
9845       77,    -1,    79,    80,    81,    82,    83,    -1,    85,    86,
9846       87,    -1,    -1,    -1,     0,     1,    -1,     3,    -1,    -1,
9847       -1,    -1,    -1,   100,   101,    -1,    -1,    -1,   105,    -1,
9848       -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9849       -1,   118,    28,    29,    30,    31,    32,    33,    34,    35,
9850       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9851       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
9852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9853       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9854       -1,    -1,    -1,    79,    80,    81,    82,    83,    -1,    85,
9855       86,    87,    -1,     1,    -1,     3,    -1,    -1,    -1,    -1,
9856       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9857       -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,
9858       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9859       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9860       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9862       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9863       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9864       -1,    -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9865       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9866       -1,    -1,   110,   111,   112,    -1,    -1,   115,   116,    28,
9867       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9868       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9869       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9870       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
9871       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9872       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
9873       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
9874       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9875       -1,   110,   111,    -1,    -1,    -1,    -1,   116,    28,    29,
9876       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9877       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9878       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9879       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
9880       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9881       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
9882        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9883      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9884      110,   111,    -1,    -1,    -1,    -1,   116,    28,    29,    30,
9885       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9886       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9887       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9888       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
9889       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9890       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,     1,
9891       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9893      111,    -1,    -1,    -1,    -1,   116,    28,    29,    30,    31,
9894       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9895       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9897       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
9898       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9899       82,    83,    -1,    85,    86,    87,    -1,    -1,     1,    -1,
9900        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9901       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
9902       -1,    -1,    -1,    -1,   116,    28,    29,    30,    31,    32,
9903       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9904       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9906       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9907       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9908       83,    -1,    85,    86,    87,    -1,    -1,     1,    -1,     3,
9909       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9910       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,
9911       -1,    -1,    -1,   116,    28,    29,    30,    31,    32,    33,
9912       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9913       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9915       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9916       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
9917       -1,    85,    86,    87,    -1,    -1,     1,    -1,     3,    -1,
9918       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9919       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,
9920       -1,    -1,   116,    28,    29,    30,    31,    32,    33,    34,
9921       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9922       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9924       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9925       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9926       85,    86,    87,    -1,     1,    -1,     3,    -1,    -1,    -1,
9927       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9928       -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,
9929      115,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9930       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9931       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9934       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9935       87,    -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9936       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9937       -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,    28,
9938       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9939       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9940       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9942       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9943       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
9944       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9945       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9946       -1,   110,   111,    -1,    -1,    -1,   115,    28,    29,    30,
9947       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9948       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9950       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
9951       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9952       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9953        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9955      111,   112,    -1,    -1,   115,    28,    29,    30,    31,    32,
9956       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9957       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9959       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9960       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9961       83,    -1,    85,    86,    87,    -1,    -1,    -1,     3,    -1,
9962       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9963       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9964       -1,    -1,   115,    28,    29,    30,    31,    32,    33,    34,
9965       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9966       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9967       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9968       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9969       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9970       85,    86,    87,    -1,    -1,    -1,     3,    -1,    -1,    -1,
9971       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9972       -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,
9973      115,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9974       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9975       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9978       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9979       87,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9980       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9981       -1,    -1,    -1,   110,   111,    -1,    -1,    -1,   115,    28,
9982       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9983       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9984       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9986       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9987       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
9988       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9989       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9990       -1,   110,   111,    -1,    -1,    -1,   115,    28,    29,    30,
9991       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9992       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9994       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9995       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9996       -1,    -1,    -1,    -1,    85,    86,    87,    -1,     1,    -1,
9997        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9999      111,   112,    -1,    -1,   115,    28,    29,    30,    31,    32,
10000       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10001       43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
10002       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10003       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10004       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10005       83,    -1,    85,    86,    87,     1,    -1,     3,    -1,    -1,
10006       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
10007       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,
10008       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
10009       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10010       46,    47,    48,    49,    50,    51,    -1,    -1,    -1,    -1,
10011       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10012       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10013       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
10014       86,    87,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
10015       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10016       -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,    28,
10017       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10018       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10019       49,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10020       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10021       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10022       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,     1,
10023       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10024       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10025       -1,   110,   111,    -1,    -1,    -1,    28,    29,    30,    31,
10026       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10027       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10029       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10030       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10031       -1,    -1,    -1,    85,    86,    87,     3,    -1,    -1,    -1,
10032       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10034       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10035       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10036       47,    48,    49,    50,    51,    -1,    -1,    -1,    -1,    -1,
10037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10038       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10039       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10040       87,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10041       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10042       -1,    -1,    -1,   110,   111,    -1,    28,    29,    30,    31,
10043       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10044       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
10045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10046       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10047       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10048       82,    83,    -1,    85,    86,    87,     3,    -1,    -1,    -1,
10049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10051       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10052       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10053       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10055       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10056       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10057       87,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10058       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10059      107,    -1,    -1,   110,   111,    -1,    28,    29,    30,    31,
10060       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10061       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10063       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10064       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10065       82,    83,    -1,    85,    86,    87,     3,    -1,    -1,    -1,
10066       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10068       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10069       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10070       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10073       -1,    -1,    79,    80,    81,    -1,    -1,    -1,    85,    86,
10074       87,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10075       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10076       -1,    -1,    -1,   110,   111,    -1,    28,    29,    30,    31,
10077       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10078       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10079       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10080       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10081       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10082       82,    83,    -1,    85,    86,    87,     3,    -1,    -1,    -1,
10083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10085       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10086       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10087       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10089       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10090       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10091       87,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10092       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10093       -1,    -1,    -1,   110,   111,    -1,    28,    29,    30,    31,
10094       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10095       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10097       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10098       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10099       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10102       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10103       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10104       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10105       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10106       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10107       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10109       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10110       -1,    -1,   110,   111,   112,    -1,    -1,   115,   116,    -1,
10111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    28,
10112       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10113       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10114       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10115       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10116       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10117       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10119       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10120       -1,   110,   111,   112,    -1,    -1,   115,    -1,    -1,    -1,
10121       -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    28,    29,
10122       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10123       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10124       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10125       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10126       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10127       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10129      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10130      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10131       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10132       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10133       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10135       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10136       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10137       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10138       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10139       -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,
10140       -1,    -1,    -1,    -1,    -1,    -1,   121,    28,    29,    30,
10141       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10142       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10143       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10144       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10145       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10146       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10147       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10149      111
10150 };
10151
10152 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10153    symbol of state STATE-NUM.  */
10154 static const yytype_uint16 yystos[] =
10155 {
10156        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
10157       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10158       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
10159       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
10160      100,   101,   105,   110,   111,   112,   115,   118,   138,   139,
10161      140,   142,   167,   204,   205,   206,   207,   208,   209,   264,
10162      267,   268,   271,   272,   273,   274,   275,   276,   277,   279,
10163      283,   286,   287,   288,   289,   290,   291,   296,   297,   306,
10164      307,   308,   315,   316,   320,   323,   328,   357,   360,   361,
10165      379,   380,   382,   383,   384,   385,   386,   387,    77,   124,
10166        5,    31,   209,   381,   209,   115,   115,   115,   142,   209,
10167      381,   277,   278,   315,   323,    37,   140,   209,   305,   306,
10168      308,   310,   311,   312,   314,   315,   323,   326,   327,   332,
10169      113,   118,   139,   140,   209,   122,   124,   118,   122,   121,
10170      112,   113,   204,   209,   122,   142,   209,   122,   124,   121,
10171      113,   122,   124,   122,   121,   122,   140,   209,   315,     1,
10172       31,    37,    38,   118,   138,   140,   206,   208,   209,   264,
10173      274,   275,   277,   279,   308,   312,   315,   323,   326,   327,
10174      328,   330,   338,   339,   340,   341,    37,    38,   140,   315,
10175      340,   115,   126,     1,    29,    30,    31,    32,    33,    65,
10176      116,   138,   209,   263,   267,   269,   270,   277,   279,   283,
10177      284,   285,   291,   295,   303,   304,   344,   345,   346,   347,
10178      348,   349,   323,   115,   308,   315,    34,    35,    36,    37,
10179       38,    39,    40,    41,    42,    43,    46,    47,    66,    85,
10180       87,   100,   122,   142,   163,   164,   263,   268,   269,   277,
10181      280,   284,   286,   294,   359,   362,   363,   364,   369,   370,
10182      371,    31,    76,   124,   206,   208,   296,   360,   361,   379,
10183      380,   387,     1,   206,   273,   290,   296,   328,   357,   383,
10184        1,   382,   383,     0,   209,   381,   381,     5,   119,   381,
10185        1,     4,     6,     8,     9,    65,    71,    72,    73,    84,
10186       85,    98,   102,   103,   104,   105,   106,   107,   108,   109,
10187      112,   115,   117,   125,   126,   128,   129,   130,   131,   142,
10188      168,   169,   209,   210,   211,   212,   215,   216,   220,   221,
10189      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
10190      233,   234,   235,   236,   237,   241,   243,   244,   246,   247,
10191      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
10192      381,   393,   394,   395,   396,   139,   209,   122,   142,   209,
10193      277,   323,   126,   115,   126,   116,   303,   304,   348,   349,
10194      323,   326,   327,   305,   310,   314,   315,   116,   315,   116,
10195      315,   315,    85,   142,   193,   194,   196,   198,   202,   203,
10196      209,   221,   235,   236,   244,   256,   261,   294,   118,   113,
10197      113,   118,     1,    68,    78,    80,    81,    85,    88,    91,
10198       92,    93,    94,    96,    98,    99,   115,   117,   118,   121,
10199      142,   143,   144,   145,   146,   147,   148,   149,   150,   165,
10200      166,   168,   169,   172,   173,   174,   175,   176,   177,   178,
10201      179,   180,   181,   185,   189,   190,   191,   192,   209,   216,
10202      241,   295,   307,   309,   315,   323,   328,   329,   358,    80,
10203       81,   209,   263,   267,   277,   280,   283,   291,   298,   299,
10204        1,   121,   191,   192,   140,   209,     1,   209,   265,   266,
10205        1,   121,   266,   299,    65,   193,   195,   197,   199,   200,
10206      201,   209,     1,   121,   191,   192,   299,     1,   121,   191,
10207      192,     1,   121,   191,   192,   140,   209,   120,   120,   120,
10208      122,   323,   308,   312,   315,     1,   119,   363,   370,   371,
10209      363,   370,   371,     1,   118,   120,   120,   323,   118,   127,
10210      139,   209,   257,   261,   262,   120,   122,   142,   209,   121,
10211      122,   121,   122,   315,    37,   115,   126,   128,   138,   140,
10212      209,   263,   269,   277,   279,   284,   305,   306,   315,   321,
10213      323,   324,   327,     1,   116,   120,     1,   116,   120,     1,
10214      120,     1,   120,   116,   116,   308,   115,   308,   115,   115,
10215        1,   118,     1,   121,     1,    37,    38,   118,   209,   263,
10216      269,   277,   280,   284,   315,   340,   341,     1,   118,     1,
10217      359,   362,   370,   371,   359,   362,    52,    53,    54,    55,
10218       56,    57,    58,    59,    60,    61,    62,    86,    88,    89,
10219       90,   118,   124,   186,   187,   188,   209,   216,   221,   237,
10220      239,   244,   257,   258,   259,   320,   350,   351,   354,   355,
10221      356,   363,   364,   365,   366,   367,   368,   370,   371,   373,
10222      374,   375,   376,   377,   378,   121,    31,   209,   381,   209,
10223      204,   205,   207,   208,   305,   306,   312,   315,   323,   328,
10224      330,   363,   371,   206,   296,   119,   236,   116,     1,   115,
10225      169,   212,   217,   220,   222,   242,   243,   245,   115,   221,
10226      244,   221,   244,   115,   209,   263,   269,   277,   280,   284,
10227      302,   261,   115,   115,   302,   261,   115,   115,   115,   115,
10228      115,   115,   222,   245,   116,   237,   239,   259,   269,   277,
10229      279,   284,   292,   342,   381,   122,   170,   171,   213,   218,
10230      237,   122,     1,   121,   122,     1,     7,     8,     9,   115,
10231      123,   126,    18,    19,    20,    21,    22,    23,    24,    25,
10232       26,    27,   119,   238,   171,   213,   214,   224,   246,   112,
10233      132,   133,   129,   130,    10,    11,   227,   249,    12,    13,
10234      113,   114,    14,    15,   128,   134,   135,    16,    17,   136,
10235      238,   116,     7,     8,     9,   115,   123,   126,   238,   112,
10236      132,   133,   129,   130,    10,    11,    12,    13,   113,   114,
10237       14,    15,   128,   134,   135,    16,    17,   136,   238,   116,
10238      116,   107,   209,   295,   388,   391,   392,   122,   122,   127,
10239      139,   261,   262,   127,   139,   261,   262,   116,   116,   116,
10240      116,   305,   310,   314,   116,   116,   305,   119,    11,   114,
10241      120,   119,   136,   136,   115,   315,   323,   324,    65,   193,
10242      201,   209,   201,     1,   209,   263,   277,   280,   291,   300,
10243      295,   328,   329,   115,   142,   209,   209,   295,     1,   115,
10244      300,   112,   115,   209,   295,   118,   370,   371,   370,   371,
10245      370,   118,   370,   371,   118,     1,   121,     1,     1,   118,
10246      120,   120,    69,    70,    91,    95,    97,   121,    69,    70,
10247      121,   118,     1,   189,   190,     1,   189,   190,     1,   119,
10248      115,   124,   209,   281,   282,   305,   311,   313,   315,   323,
10249      330,   331,   332,     1,   295,   303,   346,   323,   309,   315,
10250      115,   124,   149,   150,   165,   166,   168,   169,   178,   209,
10251      295,   113,   142,   209,   209,   263,   277,   280,   113,   113,
10252      119,   120,     1,   118,   122,    28,   141,   209,   209,   114,
10253      120,   119,   326,   338,   338,   338,   118,   120,   121,   151,
10254      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
10255      162,   213,   214,   216,   236,   257,   294,   335,   336,   305,
10256      308,   310,   312,   314,   305,   312,   122,   237,   258,   333,
10257      334,   370,   371,   370,   371,   338,   339,   338,   339,   127,
10258      127,   127,    51,   344,   345,     1,   266,   122,   122,     1,
10259      121,   191,   192,     1,   121,   191,   192,   122,   116,   209,
10260      303,   304,   315,   323,   324,   348,   349,   127,   139,   261,
10261      262,   315,   323,   327,   323,   115,   126,   321,     1,     1,
10262      120,     1,    51,   209,   344,   345,   120,     1,    51,   209,
10263      344,   345,   120,     1,    51,   209,   344,   345,   120,    51,
10264      209,   344,   345,     3,    28,    44,    74,    75,   116,   317,
10265      318,   319,   237,   139,   209,   121,   122,   118,   118,   124,
10266      261,   262,   124,   115,   115,     1,   115,    52,    53,    54,
10267       56,    57,    58,    59,    62,    86,   209,   259,   320,   350,
10268      373,   377,   115,   209,   118,   118,   118,   213,   214,   239,
10269      259,   115,   277,   115,   115,   182,   209,   118,   118,   118,
10270      124,   123,   238,     1,   123,   118,   120,   239,   259,   238,
10271      116,   120,   239,     1,   365,   366,   365,   366,   350,   351,
10272      359,   362,   350,   351,   359,   362,     1,     1,   381,   381,
10273      140,   209,   122,   122,   323,   312,   315,   363,   371,   363,
10274      371,   371,   236,   118,    65,   138,   209,   221,   244,   269,
10275      277,   279,   284,   293,   343,     1,     1,     7,     8,     9,
10276      115,   123,   126,     7,     8,     9,   115,   123,   126,   209,
10277      294,   113,   115,   126,   209,   263,   269,   277,   280,   284,
10278      315,   322,   323,   325,   209,   263,   269,   277,   280,   284,
10279      301,   239,   342,   370,   209,   126,   325,   301,   237,   381,
10280      381,   381,   237,   221,   244,   343,   116,   209,   269,   277,
10281      279,   284,   324,   116,   123,     1,   161,   162,     1,   121,
10282      120,   127,     1,   161,   162,   121,     1,   161,   162,     1,
10283      209,   116,   214,   218,   219,   258,     1,   209,   239,   259,
10284      213,   237,     1,   224,   246,   224,   246,   224,   246,   225,
10285      247,   225,   247,   226,   248,   226,   248,   227,   249,   227,
10286      249,   227,   249,   213,   214,   229,   250,   213,   214,   229,
10287      250,   213,   214,   230,   251,   213,   214,   231,   252,   213,
10288      214,   232,   253,   233,   254,   234,   255,   124,   213,   214,
10289      239,   240,   259,   260,   213,   237,     1,   209,   116,   218,
10290      219,     1,   209,   239,   259,   213,   237,   224,   246,   224,
10291      246,   224,   246,   225,   247,   225,   247,   226,   248,   226,
10292      248,   227,   249,   227,   249,   227,   249,   227,   249,   213,
10293      214,   229,   250,   213,   214,   229,   250,   213,   214,   230,
10294      251,   213,   214,   231,   252,   213,   214,   232,   253,   233,
10295      254,   234,   255,   124,   239,   240,   259,   260,   213,   237,
10296      113,   114,   209,   389,   390,   209,   121,   388,   391,   392,
10297      392,   127,   127,   127,   127,   127,   127,   193,   194,   196,
10298      198,   209,   202,   194,   196,   198,   239,   240,   259,   260,
10299      239,   240,   259,   260,   315,   323,   114,   119,   114,   122,
10300      113,   122,   209,   263,   277,   280,   324,   315,   323,   330,
10301      331,   182,   282,   305,   315,   323,   122,   209,   122,   209,
10302      324,   209,   315,   115,   121,   172,   173,   172,   173,   370,
10303      370,   370,   211,   370,   370,     1,   335,   336,   116,   261,
10304      262,   122,   120,     1,   295,   303,   346,   323,   305,   313,
10305      315,   124,   320,   209,   115,   309,   309,   209,     1,     1,
10306      282,   203,   113,   201,   201,   261,   262,   265,   191,   192,
10307        1,   121,   266,   119,   124,   119,   124,   119,   200,   196,
10308      209,   119,   370,   371,     1,   118,   120,   118,   120,   118,
10309      153,   154,   157,   158,   159,   121,   151,   154,   118,   121,
10310      153,   154,   157,   158,   159,   119,    37,   330,   331,   332,
10311      333,   334,   337,     1,   121,   266,     1,   121,   266,     1,
10312      121,   191,   192,   315,   323,   324,   116,   116,   116,   127,
10313      127,   127,   323,   321,   116,   348,   349,   127,   139,   261,
10314      262,   344,   345,   295,   344,   344,   344,   345,   116,   115,
10315      116,   120,   318,   116,   116,   116,     1,   161,   162,   350,
10316      351,   124,   124,   350,   351,   239,   259,   239,   259,   116,
10317      239,   259,   124,   261,   262,   124,   115,   115,   350,   115,
10318      214,   259,   115,   124,    56,     1,   116,   118,   209,   239,
10319      259,   372,   118,   118,   118,   118,   118,   381,   115,   237,
10320      237,   209,   350,   351,    90,   214,   258,    88,    89,    90,
10321      237,   258,   214,   258,   237,   258,   113,   312,   371,   371,
10322      118,   138,   139,   116,   138,   269,   277,   279,   284,   324,
10323      116,     1,   209,   116,   218,   219,     1,   209,   239,   259,
10324        1,   209,   116,   218,   219,     1,   209,   239,   259,   116,
10325      116,   324,   203,   116,   315,   325,   348,   349,   261,   262,
10326      113,   323,   115,   322,   126,   113,   126,   209,   263,   269,
10327      277,   280,   284,   325,   116,   116,   116,   116,   261,   262,
10328      126,   126,   325,   120,   116,   120,   120,   120,   116,   116,
10329      224,   246,   381,     1,   121,   213,   237,     1,     1,   116,
10330      120,   116,   127,   127,     1,   120,   124,   124,   120,   124,
10331      124,   116,   127,   127,   124,   124,   124,   124,   209,   209,
10332      118,   120,   209,   381,   121,   121,   124,   124,   124,   124,
10333      124,   124,   124,   124,   315,   323,   196,   203,   113,   122,
10334      122,   209,   323,   315,   116,   323,   305,   116,   122,   122,
10335      209,   116,     1,   161,   162,   281,   315,   209,   115,   305,
10336      313,   313,   261,   262,   115,   116,   114,   203,   114,   114,
10337      118,     1,   118,   194,   209,   193,   194,   193,   198,   122,
10338        1,   155,   156,     1,   155,   156,   371,     1,   335,   336,
10339      120,   121,   333,   334,     1,   118,     1,   118,   323,   321,
10340      116,   116,   116,   127,   127,   127,   324,   327,   239,   116,
10341      318,     1,   350,   351,   350,   351,   116,   116,   116,   116,
10342        1,   350,   116,   239,   350,   351,   124,   124,   259,   116,
10343      239,   259,    56,   259,   372,   381,   115,   350,   124,   118,
10344        1,   118,     1,   116,   259,   372,     3,   116,   124,   381,
10345      116,   116,   120,   115,   115,   182,   116,   116,     1,   116,
10346      116,   127,   127,   116,   127,   127,   116,   114,   315,   323,
10347      325,   116,   116,   116,   127,   127,   203,   322,   116,   348,
10348      349,   261,   262,   203,   261,   262,   113,   126,   115,   333,
10349      127,   127,   261,   262,   261,   262,   126,   342,   209,   209,
10350      237,     1,   214,   258,   213,   214,   213,   214,   236,   256,
10351      213,   214,   236,   256,   213,   214,   213,   214,   236,   256,
10352      213,   214,   236,   256,   213,   214,   236,   256,   213,   214,
10353      236,   256,   213,   214,   236,   256,   213,   214,   236,   256,
10354      389,   118,   118,   114,   203,   122,   370,   305,   119,   122,
10355        1,   115,   124,   124,   114,   191,   192,   118,   191,   192,
10356      119,   119,   337,   121,   333,   334,     1,   191,   192,   191,
10357      192,   116,   350,   350,   350,   350,   350,   351,   116,   115,
10358      372,   116,   239,   259,   239,   350,     1,   116,   239,   259,
10359      352,   353,   381,   118,   353,     3,   116,   124,   122,   182,
10360      237,   237,     1,     1,   322,   116,   114,   116,   116,   127,
10361      127,   114,   127,   127,   203,   261,   262,   342,   127,   127,
10362      127,   127,   261,   262,   116,   116,   116,   116,   114,   335,
10363      261,   262,   261,   262,   191,   192,   194,   194,   120,   121,
10364        1,    64,    64,   239,   259,   116,   239,   259,   116,   118,
10365      116,   118,   350,   351,   116,   350,   351,   116,   120,   124,
10366      115,     3,   116,   124,   353,   118,   353,    73,   182,   183,
10367      184,   116,   116,   116,   120,   114,   127,   127,   116,   127,
10368      127,   118,   121,   350,   350,   116,   116,   118,   350,   239,
10369      350,   351,   118,   352,   353,   237,   353,   118,   353,   116,
10370      124,     3,   116,   124,   370,   370,   121,   183,   122,   182,
10371      224,   246,   333,   116,   116,   116,   116,   116,   124,   118,
10372      353,   353,   118,   353,   184,   116,   350,   118,   118,   118,
10373      353,   116,   116,   116,   124,   121,   116,   118,   118,   118,
10374      353,   118,   116,   118
10375 };
10376
10377 #define yyerrok         (yyerrstatus = 0)
10378 #define yyclearin       (yychar = YYEMPTY)
10379 #define YYEMPTY         (-2)
10380 #define YYEOF           0
10381
10382 #define YYACCEPT        goto yyacceptlab
10383 #define YYABORT         goto yyabortlab
10384 #define YYERROR         goto yyerrorlab
10385
10386
10387 /* Like YYERROR except do call yyerror.  This remains here temporarily
10388    to ease the transition to the new meaning of YYERROR, for GCC.
10389    Once GCC version 2 has supplanted version 1, this can go.  However,
10390    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
10391    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
10392    discussed.  */
10393
10394 #define YYFAIL          goto yyerrlab
10395 #if defined YYFAIL
10396   /* This is here to suppress warnings from the GCC cpp's
10397      -Wunused-macros.  Normally we don't worry about that warning, but
10398      some users do, and we want to make it easy for users to remove
10399      YYFAIL uses, which will produce warnings from Bison 2.5.  */
10400 #endif
10401
10402 #define YYRECOVERING()  (!!yyerrstatus)
10403
10404 #define YYBACKUP(Token, Value)                                  \
10405 do                                                              \
10406   if (yychar == YYEMPTY && yylen == 1)                          \
10407     {                                                           \
10408       yychar = (Token);                                         \
10409       yylval = (Value);                                         \
10410       yytoken = YYTRANSLATE (yychar);                           \
10411       YYPOPSTACK (1);                                           \
10412       goto yybackup;                                            \
10413     }                                                           \
10414   else                                                          \
10415     {                                                           \
10416       yyerror (YY_("syntax error: cannot back up")); \
10417       YYERROR;                                                  \
10418     }                                                           \
10419 while (YYID (0))
10420
10421
10422 #define YYTERROR        1
10423 #define YYERRCODE       256
10424
10425
10426 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
10427    If N is 0, then set CURRENT to the empty location which ends
10428    the previous symbol: RHS[0] (always defined).  */
10429
10430 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
10431 #ifndef YYLLOC_DEFAULT
10432 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
10433     do                                                                  \
10434       if (YYID (N))                                                    \
10435         {                                                               \
10436           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
10437           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
10438           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
10439           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
10440         }                                                               \
10441       else                                                              \
10442         {                                                               \
10443           (Current).first_line   = (Current).last_line   =              \
10444             YYRHSLOC (Rhs, 0).last_line;                                \
10445           (Current).first_column = (Current).last_column =              \
10446             YYRHSLOC (Rhs, 0).last_column;                              \
10447         }                                                               \
10448     while (YYID (0))
10449 #endif
10450
10451
10452 /* YY_LOCATION_PRINT -- Print the location on the stream.
10453    This macro was not mandated originally: define only if we know
10454    we won't break user code: when these are the locations we know.  */
10455
10456 #ifndef YY_LOCATION_PRINT
10457 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
10458 #  define YY_LOCATION_PRINT(File, Loc)                  \
10459      fprintf (File, "%d.%d-%d.%d",                      \
10460               (Loc).first_line, (Loc).first_column,     \
10461               (Loc).last_line,  (Loc).last_column)
10462 # else
10463 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
10464 # endif
10465 #endif
10466
10467
10468 /* YYLEX -- calling `yylex' with the right arguments.  */
10469
10470 #ifdef YYLEX_PARAM
10471 # define YYLEX yylex (YYLEX_PARAM)
10472 #else
10473 # define YYLEX yylex ()
10474 #endif
10475
10476 /* Enable debugging if requested.  */
10477 #if YYDEBUG
10478
10479 # ifndef YYFPRINTF
10480 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10481 #  define YYFPRINTF fprintf
10482 # endif
10483
10484 # define YYDPRINTF(Args)                        \
10485 do {                                            \
10486   if (yydebug)                                  \
10487     YYFPRINTF Args;                             \
10488 } while (YYID (0))
10489
10490 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
10491 do {                                                                      \
10492   if (yydebug)                                                            \
10493     {                                                                     \
10494       YYFPRINTF (stderr, "%s ", Title);                                   \
10495       yy_symbol_print (stderr,                                            \
10496                   Type, Value, Location); \
10497       YYFPRINTF (stderr, "\n");                                           \
10498     }                                                                     \
10499 } while (YYID (0))
10500
10501
10502 /*--------------------------------.
10503 | Print this symbol on YYOUTPUT.  |
10504 `--------------------------------*/
10505
10506 /*ARGSUSED*/
10507 #if (defined __STDC__ || defined __C99__FUNC__ \
10508      || defined __cplusplus || defined _MSC_VER)
10509 static void
10510 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10511 #else
10512 static void
10513 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
10514     FILE *yyoutput;
10515     int yytype;
10516     YYSTYPE const * const yyvaluep;
10517     YYLTYPE const * const yylocationp;
10518 #endif
10519 {
10520   if (!yyvaluep)
10521     return;
10522   YYUSE (yylocationp);
10523 # ifdef YYPRINT
10524   if (yytype < YYNTOKENS)
10525     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10526 # else
10527   YYUSE (yyoutput);
10528 # endif
10529   switch (yytype)
10530     {
10531       default:
10532         break;
10533     }
10534 }
10535
10536
10537 /*--------------------------------.
10538 | Print this symbol on YYOUTPUT.  |
10539 `--------------------------------*/
10540
10541 #if (defined __STDC__ || defined __C99__FUNC__ \
10542      || defined __cplusplus || defined _MSC_VER)
10543 static void
10544 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10545 #else
10546 static void
10547 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10548     FILE *yyoutput;
10549     int yytype;
10550     YYSTYPE const * const yyvaluep;
10551     YYLTYPE const * const yylocationp;
10552 #endif
10553 {
10554   if (yytype < YYNTOKENS)
10555     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10556   else
10557     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10558
10559   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10560   YYFPRINTF (yyoutput, ": ");
10561   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10562   YYFPRINTF (yyoutput, ")");
10563 }
10564
10565 /*------------------------------------------------------------------.
10566 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10567 | TOP (included).                                                   |
10568 `------------------------------------------------------------------*/
10569
10570 #if (defined __STDC__ || defined __C99__FUNC__ \
10571      || defined __cplusplus || defined _MSC_VER)
10572 static void
10573 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
10574 #else
10575 static void
10576 yy_stack_print (yybottom, yytop)
10577     yytype_int16 *yybottom;
10578     yytype_int16 *yytop;
10579 #endif
10580 {
10581   YYFPRINTF (stderr, "Stack now");
10582   for (; yybottom <= yytop; yybottom++)
10583     {
10584       int yybot = *yybottom;
10585       YYFPRINTF (stderr, " %d", yybot);
10586     }
10587   YYFPRINTF (stderr, "\n");
10588 }
10589
10590 # define YY_STACK_PRINT(Bottom, Top)                            \
10591 do {                                                            \
10592   if (yydebug)                                                  \
10593     yy_stack_print ((Bottom), (Top));                           \
10594 } while (YYID (0))
10595
10596
10597 /*------------------------------------------------.
10598 | Report that the YYRULE is going to be reduced.  |
10599 `------------------------------------------------*/
10600
10601 #if (defined __STDC__ || defined __C99__FUNC__ \
10602      || defined __cplusplus || defined _MSC_VER)
10603 static void
10604 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
10605 #else
10606 static void
10607 yy_reduce_print (yyvsp, yylsp, yyrule)
10608     YYSTYPE *yyvsp;
10609     YYLTYPE *yylsp;
10610     int yyrule;
10611 #endif
10612 {
10613   int yynrhs = yyr2[yyrule];
10614   int yyi;
10615   unsigned long int yylno = yyrline[yyrule];
10616   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
10617              yyrule - 1, yylno);
10618   /* The symbols being reduced.  */
10619   for (yyi = 0; yyi < yynrhs; yyi++)
10620     {
10621       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
10622       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
10623                        &(yyvsp[(yyi + 1) - (yynrhs)])
10624                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
10625       YYFPRINTF (stderr, "\n");
10626     }
10627 }
10628
10629 # define YY_REDUCE_PRINT(Rule)          \
10630 do {                                    \
10631   if (yydebug)                          \
10632     yy_reduce_print (yyvsp, yylsp, Rule); \
10633 } while (YYID (0))
10634
10635 /* Nonzero means print parse trace.  It is left uninitialized so that
10636    multiple parsers can coexist.  */
10637 int yydebug;
10638 #else /* !YYDEBUG */
10639 # define YYDPRINTF(Args)
10640 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
10641 # define YY_STACK_PRINT(Bottom, Top)
10642 # define YY_REDUCE_PRINT(Rule)
10643 #endif /* !YYDEBUG */
10644
10645
10646 /* YYINITDEPTH -- initial size of the parser's stacks.  */
10647 #ifndef YYINITDEPTH
10648 # define YYINITDEPTH 200
10649 #endif
10650
10651 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
10652    if the built-in stack extension method is used).
10653
10654    Do not make this value too large; the results are undefined if
10655    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
10656    evaluated with infinite-precision integer arithmetic.  */
10657
10658 #ifndef YYMAXDEPTH
10659 # define YYMAXDEPTH 10000
10660 #endif
10661
10662 \f
10663
10664 #if YYERROR_VERBOSE
10665
10666 # ifndef yystrlen
10667 #  if defined __GLIBC__ && defined _STRING_H
10668 #   define yystrlen strlen
10669 #  else
10670 /* Return the length of YYSTR.  */
10671 #if (defined __STDC__ || defined __C99__FUNC__ \
10672      || defined __cplusplus || defined _MSC_VER)
10673 static YYSIZE_T
10674 yystrlen (const char *yystr)
10675 #else
10676 static YYSIZE_T
10677 yystrlen (yystr)
10678     const char *yystr;
10679 #endif
10680 {
10681   YYSIZE_T yylen;
10682   for (yylen = 0; yystr[yylen]; yylen++)
10683     continue;
10684   return yylen;
10685 }
10686 #  endif
10687 # endif
10688
10689 # ifndef yystpcpy
10690 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
10691 #   define yystpcpy stpcpy
10692 #  else
10693 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
10694    YYDEST.  */
10695 #if (defined __STDC__ || defined __C99__FUNC__ \
10696      || defined __cplusplus || defined _MSC_VER)
10697 static char *
10698 yystpcpy (char *yydest, const char *yysrc)
10699 #else
10700 static char *
10701 yystpcpy (yydest, yysrc)
10702     char *yydest;
10703     const char *yysrc;
10704 #endif
10705 {
10706   char *yyd = yydest;
10707   const char *yys = yysrc;
10708
10709   while ((*yyd++ = *yys++) != '\0')
10710     continue;
10711
10712   return yyd - 1;
10713 }
10714 #  endif
10715 # endif
10716
10717 # ifndef yytnamerr
10718 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
10719    quotes and backslashes, so that it's suitable for yyerror.  The
10720    heuristic is that double-quoting is unnecessary unless the string
10721    contains an apostrophe, a comma, or backslash (other than
10722    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
10723    null, do not copy; instead, return the length of what the result
10724    would have been.  */
10725 static YYSIZE_T
10726 yytnamerr (char *yyres, const char *yystr)
10727 {
10728   if (*yystr == '"')
10729     {
10730       YYSIZE_T yyn = 0;
10731       char const *yyp = yystr;
10732
10733       for (;;)
10734         switch (*++yyp)
10735           {
10736           case '\'':
10737           case ',':
10738             goto do_not_strip_quotes;
10739
10740           case '\\':
10741             if (*++yyp != '\\')
10742               goto do_not_strip_quotes;
10743             /* Fall through.  */
10744           default:
10745             if (yyres)
10746               yyres[yyn] = *yyp;
10747             yyn++;
10748             break;
10749
10750           case '"':
10751             if (yyres)
10752               yyres[yyn] = '\0';
10753             return yyn;
10754           }
10755     do_not_strip_quotes: ;
10756     }
10757
10758   if (! yyres)
10759     return yystrlen (yystr);
10760
10761   return yystpcpy (yyres, yystr) - yyres;
10762 }
10763 # endif
10764
10765 /* Copy into YYRESULT an error message about the unexpected token
10766    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
10767    including the terminating null byte.  If YYRESULT is null, do not
10768    copy anything; just return the number of bytes that would be
10769    copied.  As a special case, return 0 if an ordinary "syntax error"
10770    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
10771    size calculation.  */
10772 static YYSIZE_T
10773 yysyntax_error (char *yyresult, int yystate, int yychar)
10774 {
10775   int yyn = yypact[yystate];
10776
10777   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
10778     return 0;
10779   else
10780     {
10781       int yytype = YYTRANSLATE (yychar);
10782       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
10783       YYSIZE_T yysize = yysize0;
10784       YYSIZE_T yysize1;
10785       int yysize_overflow = 0;
10786       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
10787       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
10788       int yyx;
10789
10790 # if 0
10791       /* This is so xgettext sees the translatable formats that are
10792          constructed on the fly.  */
10793       YY_("syntax error, unexpected %s");
10794       YY_("syntax error, unexpected %s, expecting %s");
10795       YY_("syntax error, unexpected %s, expecting %s or %s");
10796       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
10797       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
10798 # endif
10799       char *yyfmt;
10800       char const *yyf;
10801       static char const yyunexpected[] = "syntax error, unexpected %s";
10802       static char const yyexpecting[] = ", expecting %s";
10803       static char const yyor[] = " or %s";
10804       char yyformat[sizeof yyunexpected
10805                     + sizeof yyexpecting - 1
10806                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
10807                        * (sizeof yyor - 1))];
10808       char const *yyprefix = yyexpecting;
10809
10810       /* Start YYX at -YYN if negative to avoid negative indexes in
10811          YYCHECK.  */
10812       int yyxbegin = yyn < 0 ? -yyn : 0;
10813
10814       /* Stay within bounds of both yycheck and yytname.  */
10815       int yychecklim = YYLAST - yyn + 1;
10816       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
10817       int yycount = 1;
10818
10819       yyarg[0] = yytname[yytype];
10820       yyfmt = yystpcpy (yyformat, yyunexpected);
10821
10822       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
10823         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
10824           {
10825             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
10826               {
10827                 yycount = 1;
10828                 yysize = yysize0;
10829                 yyformat[sizeof yyunexpected - 1] = '\0';
10830                 break;
10831               }
10832             yyarg[yycount++] = yytname[yyx];
10833             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
10834             yysize_overflow |= (yysize1 < yysize);
10835             yysize = yysize1;
10836             yyfmt = yystpcpy (yyfmt, yyprefix);
10837             yyprefix = yyor;
10838           }
10839
10840       yyf = YY_(yyformat);
10841       yysize1 = yysize + yystrlen (yyf);
10842       yysize_overflow |= (yysize1 < yysize);
10843       yysize = yysize1;
10844
10845       if (yysize_overflow)
10846         return YYSIZE_MAXIMUM;
10847
10848       if (yyresult)
10849         {
10850           /* Avoid sprintf, as that infringes on the user's name space.
10851              Don't have undefined behavior even if the translation
10852              produced a string with the wrong number of "%s"s.  */
10853           char *yyp = yyresult;
10854           int yyi = 0;
10855           while ((*yyp = *yyf) != '\0')
10856             {
10857               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
10858                 {
10859                   yyp += yytnamerr (yyp, yyarg[yyi++]);
10860                   yyf += 2;
10861                 }
10862               else
10863                 {
10864                   yyp++;
10865                   yyf++;
10866                 }
10867             }
10868         }
10869       return yysize;
10870     }
10871 }
10872 #endif /* YYERROR_VERBOSE */
10873 \f
10874
10875 /*-----------------------------------------------.
10876 | Release the memory associated to this symbol.  |
10877 `-----------------------------------------------*/
10878
10879 /*ARGSUSED*/
10880 #if (defined __STDC__ || defined __C99__FUNC__ \
10881      || defined __cplusplus || defined _MSC_VER)
10882 static void
10883 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
10884 #else
10885 static void
10886 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
10887     const char *yymsg;
10888     int yytype;
10889     YYSTYPE *yyvaluep;
10890     YYLTYPE *yylocationp;
10891 #endif
10892 {
10893   YYUSE (yyvaluep);
10894   YYUSE (yylocationp);
10895
10896   if (!yymsg)
10897     yymsg = "Deleting";
10898   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
10899
10900   switch (yytype)
10901     {
10902       case 138: /* "guess_type" */
10903
10904 /* Line 1009 of yacc.c  */
10905 #line 209 "grammar.y"
10906         { FreeSpecifier((yyvaluep->specifier)); };
10907
10908 /* Line 1009 of yacc.c  */
10909 #line 10909 "grammar.ec"
10910         break;
10911       case 139: /* "type" */
10912
10913 /* Line 1009 of yacc.c  */
10914 #line 209 "grammar.y"
10915         { FreeSpecifier((yyvaluep->specifier)); };
10916
10917 /* Line 1009 of yacc.c  */
10918 #line 10918 "grammar.ec"
10919         break;
10920       case 140: /* "base_strict_type" */
10921
10922 /* Line 1009 of yacc.c  */
10923 #line 209 "grammar.y"
10924         { FreeSpecifier((yyvaluep->specifier)); };
10925
10926 /* Line 1009 of yacc.c  */
10927 #line 10927 "grammar.ec"
10928         break;
10929       case 141: /* "base_strict_type_name" */
10930
10931 /* Line 1009 of yacc.c  */
10932 #line 244 "grammar.y"
10933         { delete (yyvaluep->string); };
10934
10935 /* Line 1009 of yacc.c  */
10936 #line 10936 "grammar.ec"
10937         break;
10938       case 142: /* "strict_type" */
10939
10940 /* Line 1009 of yacc.c  */
10941 #line 209 "grammar.y"
10942         { FreeSpecifier((yyvaluep->specifier)); };
10943
10944 /* Line 1009 of yacc.c  */
10945 #line 10945 "grammar.ec"
10946         break;
10947       case 143: /* "class_function_definition_start" */
10948
10949 /* Line 1009 of yacc.c  */
10950 #line 236 "grammar.y"
10951         { FreeClassFunction((yyvaluep->classFunction)); };
10952
10953 /* Line 1009 of yacc.c  */
10954 #line 10954 "grammar.ec"
10955         break;
10956       case 144: /* "constructor_function_definition_start" */
10957
10958 /* Line 1009 of yacc.c  */
10959 #line 236 "grammar.y"
10960         { FreeClassFunction((yyvaluep->classFunction)); };
10961
10962 /* Line 1009 of yacc.c  */
10963 #line 10963 "grammar.ec"
10964         break;
10965       case 145: /* "destructor_function_definition_start" */
10966
10967 /* Line 1009 of yacc.c  */
10968 #line 236 "grammar.y"
10969         { FreeClassFunction((yyvaluep->classFunction)); };
10970
10971 /* Line 1009 of yacc.c  */
10972 #line 10972 "grammar.ec"
10973         break;
10974       case 146: /* "virtual_class_function_definition_start" */
10975
10976 /* Line 1009 of yacc.c  */
10977 #line 236 "grammar.y"
10978         { FreeClassFunction((yyvaluep->classFunction)); };
10979
10980 /* Line 1009 of yacc.c  */
10981 #line 10981 "grammar.ec"
10982         break;
10983       case 147: /* "class_function_definition_start_error" */
10984
10985 /* Line 1009 of yacc.c  */
10986 #line 236 "grammar.y"
10987         { FreeClassFunction((yyvaluep->classFunction)); };
10988
10989 /* Line 1009 of yacc.c  */
10990 #line 10990 "grammar.ec"
10991         break;
10992       case 148: /* "virtual_class_function_definition_start_error" */
10993
10994 /* Line 1009 of yacc.c  */
10995 #line 236 "grammar.y"
10996         { FreeClassFunction((yyvaluep->classFunction)); };
10997
10998 /* Line 1009 of yacc.c  */
10999 #line 10999 "grammar.ec"
11000         break;
11001       case 149: /* "class_function_definition" */
11002
11003 /* Line 1009 of yacc.c  */
11004 #line 236 "grammar.y"
11005         { FreeClassFunction((yyvaluep->classFunction)); };
11006
11007 /* Line 1009 of yacc.c  */
11008 #line 11008 "grammar.ec"
11009         break;
11010       case 150: /* "class_function_definition_error" */
11011
11012 /* Line 1009 of yacc.c  */
11013 #line 236 "grammar.y"
11014         { FreeClassFunction((yyvaluep->classFunction)); };
11015
11016 /* Line 1009 of yacc.c  */
11017 #line 11017 "grammar.ec"
11018         break;
11019       case 151: /* "instance_class_function_definition_start" */
11020
11021 /* Line 1009 of yacc.c  */
11022 #line 236 "grammar.y"
11023         { FreeClassFunction((yyvaluep->classFunction)); };
11024
11025 /* Line 1009 of yacc.c  */
11026 #line 11026 "grammar.ec"
11027         break;
11028       case 152: /* "instance_class_function_definition_start_error" */
11029
11030 /* Line 1009 of yacc.c  */
11031 #line 236 "grammar.y"
11032         { FreeClassFunction((yyvaluep->classFunction)); };
11033
11034 /* Line 1009 of yacc.c  */
11035 #line 11035 "grammar.ec"
11036         break;
11037       case 153: /* "instance_class_function_definition" */
11038
11039 /* Line 1009 of yacc.c  */
11040 #line 236 "grammar.y"
11041         { FreeClassFunction((yyvaluep->classFunction)); };
11042
11043 /* Line 1009 of yacc.c  */
11044 #line 11044 "grammar.ec"
11045         break;
11046       case 154: /* "instance_class_function_definition_error" */
11047
11048 /* Line 1009 of yacc.c  */
11049 #line 236 "grammar.y"
11050         { FreeClassFunction((yyvaluep->classFunction)); };
11051
11052 /* Line 1009 of yacc.c  */
11053 #line 11053 "grammar.ec"
11054         break;
11055       case 155: /* "data_member_initialization" */
11056
11057 /* Line 1009 of yacc.c  */
11058 #line 234 "grammar.y"
11059         { FreeMemberInit((yyvaluep->memberInit)); };
11060
11061 /* Line 1009 of yacc.c  */
11062 #line 11062 "grammar.ec"
11063         break;
11064       case 156: /* "data_member_initialization_error" */
11065
11066 /* Line 1009 of yacc.c  */
11067 #line 234 "grammar.y"
11068         { FreeMemberInit((yyvaluep->memberInit)); };
11069
11070 /* Line 1009 of yacc.c  */
11071 #line 11071 "grammar.ec"
11072         break;
11073       case 157: /* "data_member_initialization_list" */
11074
11075 /* Line 1009 of yacc.c  */
11076 #line 259 "grammar.y"
11077         { FreeList((yyvaluep->list), FreeMemberInit); };
11078
11079 /* Line 1009 of yacc.c  */
11080 #line 11080 "grammar.ec"
11081         break;
11082       case 158: /* "data_member_initialization_list_error" */
11083
11084 /* Line 1009 of yacc.c  */
11085 #line 259 "grammar.y"
11086         { FreeList((yyvaluep->list), FreeMemberInit); };
11087
11088 /* Line 1009 of yacc.c  */
11089 #line 11089 "grammar.ec"
11090         break;
11091       case 159: /* "data_member_initialization_list_coloned" */
11092
11093 /* Line 1009 of yacc.c  */
11094 #line 259 "grammar.y"
11095         { FreeList((yyvaluep->list), FreeMemberInit); };
11096
11097 /* Line 1009 of yacc.c  */
11098 #line 11098 "grammar.ec"
11099         break;
11100       case 160: /* "members_initialization_list_coloned" */
11101
11102 /* Line 1009 of yacc.c  */
11103 #line 260 "grammar.y"
11104         { FreeList((yyvaluep->list), FreeMembersInit); };
11105
11106 /* Line 1009 of yacc.c  */
11107 #line 11107 "grammar.ec"
11108         break;
11109       case 161: /* "members_initialization_list" */
11110
11111 /* Line 1009 of yacc.c  */
11112 #line 260 "grammar.y"
11113         { FreeList((yyvaluep->list), FreeMembersInit); };
11114
11115 /* Line 1009 of yacc.c  */
11116 #line 11116 "grammar.ec"
11117         break;
11118       case 162: /* "members_initialization_list_error" */
11119
11120 /* Line 1009 of yacc.c  */
11121 #line 260 "grammar.y"
11122         { FreeList((yyvaluep->list), FreeMembersInit); };
11123
11124 /* Line 1009 of yacc.c  */
11125 #line 11125 "grammar.ec"
11126         break;
11127       case 163: /* "instantiation_named" */
11128
11129 /* Line 1009 of yacc.c  */
11130 #line 232 "grammar.y"
11131         { FreeInstance((yyvaluep->instance)); };
11132
11133 /* Line 1009 of yacc.c  */
11134 #line 11134 "grammar.ec"
11135         break;
11136       case 164: /* "instantiation_named_error" */
11137
11138 /* Line 1009 of yacc.c  */
11139 #line 232 "grammar.y"
11140         { FreeInstance((yyvaluep->instance)); };
11141
11142 /* Line 1009 of yacc.c  */
11143 #line 11143 "grammar.ec"
11144         break;
11145       case 168: /* "instantiation_unnamed" */
11146
11147 /* Line 1009 of yacc.c  */
11148 #line 232 "grammar.y"
11149         { FreeInstance((yyvaluep->instance)); };
11150
11151 /* Line 1009 of yacc.c  */
11152 #line 11152 "grammar.ec"
11153         break;
11154       case 169: /* "instantiation_unnamed_error" */
11155
11156 /* Line 1009 of yacc.c  */
11157 #line 232 "grammar.y"
11158         { FreeInstance((yyvaluep->instance)); };
11159
11160 /* Line 1009 of yacc.c  */
11161 #line 11161 "grammar.ec"
11162         break;
11163       case 172: /* "default_property" */
11164
11165 /* Line 1009 of yacc.c  */
11166 #line 234 "grammar.y"
11167         { FreeMemberInit((yyvaluep->memberInit)); };
11168
11169 /* Line 1009 of yacc.c  */
11170 #line 11170 "grammar.ec"
11171         break;
11172       case 173: /* "default_property_error" */
11173
11174 /* Line 1009 of yacc.c  */
11175 #line 234 "grammar.y"
11176         { FreeMemberInit((yyvaluep->memberInit)); };
11177
11178 /* Line 1009 of yacc.c  */
11179 #line 11179 "grammar.ec"
11180         break;
11181       case 174: /* "default_property_list" */
11182
11183 /* Line 1009 of yacc.c  */
11184 #line 259 "grammar.y"
11185         { FreeList((yyvaluep->list), FreeMemberInit); };
11186
11187 /* Line 1009 of yacc.c  */
11188 #line 11188 "grammar.ec"
11189         break;
11190       case 175: /* "default_property_list_error" */
11191
11192 /* Line 1009 of yacc.c  */
11193 #line 259 "grammar.y"
11194         { FreeList((yyvaluep->list), FreeMemberInit); };
11195
11196 /* Line 1009 of yacc.c  */
11197 #line 11197 "grammar.ec"
11198         break;
11199       case 178: /* "property" */
11200
11201 /* Line 1009 of yacc.c  */
11202 #line 245 "grammar.y"
11203         { FreeProperty((yyvaluep->prop)); };
11204
11205 /* Line 1009 of yacc.c  */
11206 #line 11206 "grammar.ec"
11207         break;
11208       case 189: /* "struct_declaration" */
11209
11210 /* Line 1009 of yacc.c  */
11211 #line 243 "grammar.y"
11212         { FreeClassDef((yyvaluep->classDef)); };
11213
11214 /* Line 1009 of yacc.c  */
11215 #line 11215 "grammar.ec"
11216         break;
11217       case 190: /* "struct_declaration_error" */
11218
11219 /* Line 1009 of yacc.c  */
11220 #line 243 "grammar.y"
11221         { FreeClassDef((yyvaluep->classDef)); };
11222
11223 /* Line 1009 of yacc.c  */
11224 #line 11224 "grammar.ec"
11225         break;
11226       case 191: /* "struct_declaration_list" */
11227
11228 /* Line 1009 of yacc.c  */
11229 #line 258 "grammar.y"
11230         { FreeList((yyvaluep->list), FreeClassDef); };
11231
11232 /* Line 1009 of yacc.c  */
11233 #line 11233 "grammar.ec"
11234         break;
11235       case 192: /* "struct_declaration_list_error" */
11236
11237 /* Line 1009 of yacc.c  */
11238 #line 258 "grammar.y"
11239         { FreeList((yyvaluep->list), FreeClassDef); };
11240
11241 /* Line 1009 of yacc.c  */
11242 #line 11242 "grammar.ec"
11243         break;
11244       case 193: /* "template_datatype" */
11245
11246 /* Line 1009 of yacc.c  */
11247 #line 264 "grammar.y"
11248         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11249
11250 /* Line 1009 of yacc.c  */
11251 #line 11251 "grammar.ec"
11252         break;
11253       case 194: /* "template_type_argument" */
11254
11255 /* Line 1009 of yacc.c  */
11256 #line 263 "grammar.y"
11257         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11258
11259 /* Line 1009 of yacc.c  */
11260 #line 11260 "grammar.ec"
11261         break;
11262       case 195: /* "template_type_parameter" */
11263
11264 /* Line 1009 of yacc.c  */
11265 #line 262 "grammar.y"
11266         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11267
11268 /* Line 1009 of yacc.c  */
11269 #line 11269 "grammar.ec"
11270         break;
11271       case 196: /* "template_identifier_argument" */
11272
11273 /* Line 1009 of yacc.c  */
11274 #line 263 "grammar.y"
11275         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11276
11277 /* Line 1009 of yacc.c  */
11278 #line 11278 "grammar.ec"
11279         break;
11280       case 197: /* "template_identifier_parameter" */
11281
11282 /* Line 1009 of yacc.c  */
11283 #line 262 "grammar.y"
11284         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11285
11286 /* Line 1009 of yacc.c  */
11287 #line 11287 "grammar.ec"
11288         break;
11289       case 198: /* "template_expression_argument" */
11290
11291 /* Line 1009 of yacc.c  */
11292 #line 263 "grammar.y"
11293         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11294
11295 /* Line 1009 of yacc.c  */
11296 #line 11296 "grammar.ec"
11297         break;
11298       case 199: /* "template_expression_parameter" */
11299
11300 /* Line 1009 of yacc.c  */
11301 #line 262 "grammar.y"
11302         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11303
11304 /* Line 1009 of yacc.c  */
11305 #line 11305 "grammar.ec"
11306         break;
11307       case 200: /* "template_parameter" */
11308
11309 /* Line 1009 of yacc.c  */
11310 #line 262 "grammar.y"
11311         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11312
11313 /* Line 1009 of yacc.c  */
11314 #line 11314 "grammar.ec"
11315         break;
11316       case 201: /* "template_parameters_list" */
11317
11318 /* Line 1009 of yacc.c  */
11319 #line 265 "grammar.y"
11320         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11321
11322 /* Line 1009 of yacc.c  */
11323 #line 11323 "grammar.ec"
11324         break;
11325       case 202: /* "template_argument" */
11326
11327 /* Line 1009 of yacc.c  */
11328 #line 263 "grammar.y"
11329         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11330
11331 /* Line 1009 of yacc.c  */
11332 #line 11332 "grammar.ec"
11333         break;
11334       case 203: /* "template_arguments_list" */
11335
11336 /* Line 1009 of yacc.c  */
11337 #line 266 "grammar.y"
11338         { FreeList((yyvaluep->list), FreeTemplateArgument); };
11339
11340 /* Line 1009 of yacc.c  */
11341 #line 11341 "grammar.ec"
11342         break;
11343       case 204: /* "class_entry" */
11344
11345 /* Line 1009 of yacc.c  */
11346 #line 240 "grammar.y"
11347         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11348
11349 /* Line 1009 of yacc.c  */
11350 #line 11350 "grammar.ec"
11351         break;
11352       case 205: /* "class_decl" */
11353
11354 /* Line 1009 of yacc.c  */
11355 #line 241 "grammar.y"
11356         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11357
11358 /* Line 1009 of yacc.c  */
11359 #line 11359 "grammar.ec"
11360         break;
11361       case 206: /* "class" */
11362
11363 /* Line 1009 of yacc.c  */
11364 #line 242 "grammar.y"
11365         { FreeClass((yyvaluep->_class)); };
11366
11367 /* Line 1009 of yacc.c  */
11368 #line 11368 "grammar.ec"
11369         break;
11370       case 207: /* "class_head" */
11371
11372 /* Line 1009 of yacc.c  */
11373 #line 242 "grammar.y"
11374         { FreeClass((yyvaluep->_class)); };
11375
11376 /* Line 1009 of yacc.c  */
11377 #line 11377 "grammar.ec"
11378         break;
11379       case 208: /* "class_error" */
11380
11381 /* Line 1009 of yacc.c  */
11382 #line 242 "grammar.y"
11383         { FreeClass((yyvaluep->_class)); };
11384
11385 /* Line 1009 of yacc.c  */
11386 #line 11386 "grammar.ec"
11387         break;
11388       case 209: /* "identifier" */
11389
11390 /* Line 1009 of yacc.c  */
11391 #line 196 "grammar.y"
11392         { FreeIdentifier((yyvaluep->id)); };
11393
11394 /* Line 1009 of yacc.c  */
11395 #line 11395 "grammar.ec"
11396         break;
11397       case 210: /* "primary_expression" */
11398
11399 /* Line 1009 of yacc.c  */
11400 #line 198 "grammar.y"
11401         { FreeExpression((yyvaluep->exp)); };
11402
11403 /* Line 1009 of yacc.c  */
11404 #line 11404 "grammar.ec"
11405         break;
11406       case 211: /* "i18n_string" */
11407
11408 /* Line 1009 of yacc.c  */
11409 #line 198 "grammar.y"
11410         { FreeExpression((yyvaluep->exp)); };
11411
11412 /* Line 1009 of yacc.c  */
11413 #line 11413 "grammar.ec"
11414         break;
11415       case 215: /* "primary_expression_error" */
11416
11417 /* Line 1009 of yacc.c  */
11418 #line 198 "grammar.y"
11419         { FreeExpression((yyvaluep->exp)); };
11420
11421 /* Line 1009 of yacc.c  */
11422 #line 11422 "grammar.ec"
11423         break;
11424       case 216: /* "postfix_expression" */
11425
11426 /* Line 1009 of yacc.c  */
11427 #line 198 "grammar.y"
11428         { FreeExpression((yyvaluep->exp)); };
11429
11430 /* Line 1009 of yacc.c  */
11431 #line 11431 "grammar.ec"
11432         break;
11433       case 218: /* "argument_expression_list" */
11434
11435 /* Line 1009 of yacc.c  */
11436 #line 247 "grammar.y"
11437         { FreeList((yyvaluep->list), FreeExpression); };
11438
11439 /* Line 1009 of yacc.c  */
11440 #line 11440 "grammar.ec"
11441         break;
11442       case 219: /* "argument_expression_list_error" */
11443
11444 /* Line 1009 of yacc.c  */
11445 #line 247 "grammar.y"
11446         { FreeList((yyvaluep->list), FreeExpression); };
11447
11448 /* Line 1009 of yacc.c  */
11449 #line 11449 "grammar.ec"
11450         break;
11451       case 221: /* "unary_expression" */
11452
11453 /* Line 1009 of yacc.c  */
11454 #line 198 "grammar.y"
11455         { FreeExpression((yyvaluep->exp)); };
11456
11457 /* Line 1009 of yacc.c  */
11458 #line 11458 "grammar.ec"
11459         break;
11460       case 224: /* "cast_expression" */
11461
11462 /* Line 1009 of yacc.c  */
11463 #line 198 "grammar.y"
11464         { FreeExpression((yyvaluep->exp)); };
11465
11466 /* Line 1009 of yacc.c  */
11467 #line 11467 "grammar.ec"
11468         break;
11469       case 225: /* "multiplicative_expression" */
11470
11471 /* Line 1009 of yacc.c  */
11472 #line 198 "grammar.y"
11473         { FreeExpression((yyvaluep->exp)); };
11474
11475 /* Line 1009 of yacc.c  */
11476 #line 11476 "grammar.ec"
11477         break;
11478       case 226: /* "additive_expression" */
11479
11480 /* Line 1009 of yacc.c  */
11481 #line 198 "grammar.y"
11482         { FreeExpression((yyvaluep->exp)); };
11483
11484 /* Line 1009 of yacc.c  */
11485 #line 11485 "grammar.ec"
11486         break;
11487       case 227: /* "shift_expression" */
11488
11489 /* Line 1009 of yacc.c  */
11490 #line 198 "grammar.y"
11491         { FreeExpression((yyvaluep->exp)); };
11492
11493 /* Line 1009 of yacc.c  */
11494 #line 11494 "grammar.ec"
11495         break;
11496       case 229: /* "relational_expression" */
11497
11498 /* Line 1009 of yacc.c  */
11499 #line 198 "grammar.y"
11500         { FreeExpression((yyvaluep->exp)); };
11501
11502 /* Line 1009 of yacc.c  */
11503 #line 11503 "grammar.ec"
11504         break;
11505       case 230: /* "equality_expression" */
11506
11507 /* Line 1009 of yacc.c  */
11508 #line 198 "grammar.y"
11509         { FreeExpression((yyvaluep->exp)); };
11510
11511 /* Line 1009 of yacc.c  */
11512 #line 11512 "grammar.ec"
11513         break;
11514       case 231: /* "and_expression" */
11515
11516 /* Line 1009 of yacc.c  */
11517 #line 198 "grammar.y"
11518         { FreeExpression((yyvaluep->exp)); };
11519
11520 /* Line 1009 of yacc.c  */
11521 #line 11521 "grammar.ec"
11522         break;
11523       case 232: /* "exclusive_or_expression" */
11524
11525 /* Line 1009 of yacc.c  */
11526 #line 198 "grammar.y"
11527         { FreeExpression((yyvaluep->exp)); };
11528
11529 /* Line 1009 of yacc.c  */
11530 #line 11530 "grammar.ec"
11531         break;
11532       case 233: /* "inclusive_or_expression" */
11533
11534 /* Line 1009 of yacc.c  */
11535 #line 198 "grammar.y"
11536         { FreeExpression((yyvaluep->exp)); };
11537
11538 /* Line 1009 of yacc.c  */
11539 #line 11539 "grammar.ec"
11540         break;
11541       case 234: /* "logical_and_expression" */
11542
11543 /* Line 1009 of yacc.c  */
11544 #line 198 "grammar.y"
11545         { FreeExpression((yyvaluep->exp)); };
11546
11547 /* Line 1009 of yacc.c  */
11548 #line 11548 "grammar.ec"
11549         break;
11550       case 235: /* "logical_or_expression" */
11551
11552 /* Line 1009 of yacc.c  */
11553 #line 198 "grammar.y"
11554         { FreeExpression((yyvaluep->exp)); };
11555
11556 /* Line 1009 of yacc.c  */
11557 #line 11557 "grammar.ec"
11558         break;
11559       case 236: /* "conditional_expression" */
11560
11561 /* Line 1009 of yacc.c  */
11562 #line 198 "grammar.y"
11563         { FreeExpression((yyvaluep->exp)); };
11564
11565 /* Line 1009 of yacc.c  */
11566 #line 11566 "grammar.ec"
11567         break;
11568       case 237: /* "assignment_expression" */
11569
11570 /* Line 1009 of yacc.c  */
11571 #line 198 "grammar.y"
11572         { FreeExpression((yyvaluep->exp)); };
11573
11574 /* Line 1009 of yacc.c  */
11575 #line 11575 "grammar.ec"
11576         break;
11577       case 239: /* "expression" */
11578
11579 /* Line 1009 of yacc.c  */
11580 #line 247 "grammar.y"
11581         { FreeList((yyvaluep->list), FreeExpression); };
11582
11583 /* Line 1009 of yacc.c  */
11584 #line 11584 "grammar.ec"
11585         break;
11586       case 241: /* "postfix_expression_error" */
11587
11588 /* Line 1009 of yacc.c  */
11589 #line 198 "grammar.y"
11590         { FreeExpression((yyvaluep->exp)); };
11591
11592 /* Line 1009 of yacc.c  */
11593 #line 11593 "grammar.ec"
11594         break;
11595       case 244: /* "unary_expression_error" */
11596
11597 /* Line 1009 of yacc.c  */
11598 #line 198 "grammar.y"
11599         { FreeExpression((yyvaluep->exp)); };
11600
11601 /* Line 1009 of yacc.c  */
11602 #line 11602 "grammar.ec"
11603         break;
11604       case 246: /* "cast_expression_error" */
11605
11606 /* Line 1009 of yacc.c  */
11607 #line 198 "grammar.y"
11608         { FreeExpression((yyvaluep->exp)); };
11609
11610 /* Line 1009 of yacc.c  */
11611 #line 11611 "grammar.ec"
11612         break;
11613       case 247: /* "multiplicative_expression_error" */
11614
11615 /* Line 1009 of yacc.c  */
11616 #line 198 "grammar.y"
11617         { FreeExpression((yyvaluep->exp)); };
11618
11619 /* Line 1009 of yacc.c  */
11620 #line 11620 "grammar.ec"
11621         break;
11622       case 248: /* "additive_expression_error" */
11623
11624 /* Line 1009 of yacc.c  */
11625 #line 198 "grammar.y"
11626         { FreeExpression((yyvaluep->exp)); };
11627
11628 /* Line 1009 of yacc.c  */
11629 #line 11629 "grammar.ec"
11630         break;
11631       case 249: /* "shift_expression_error" */
11632
11633 /* Line 1009 of yacc.c  */
11634 #line 198 "grammar.y"
11635         { FreeExpression((yyvaluep->exp)); };
11636
11637 /* Line 1009 of yacc.c  */
11638 #line 11638 "grammar.ec"
11639         break;
11640       case 250: /* "relational_expression_error" */
11641
11642 /* Line 1009 of yacc.c  */
11643 #line 198 "grammar.y"
11644         { FreeExpression((yyvaluep->exp)); };
11645
11646 /* Line 1009 of yacc.c  */
11647 #line 11647 "grammar.ec"
11648         break;
11649       case 251: /* "equality_expression_error" */
11650
11651 /* Line 1009 of yacc.c  */
11652 #line 198 "grammar.y"
11653         { FreeExpression((yyvaluep->exp)); };
11654
11655 /* Line 1009 of yacc.c  */
11656 #line 11656 "grammar.ec"
11657         break;
11658       case 252: /* "and_expression_error" */
11659
11660 /* Line 1009 of yacc.c  */
11661 #line 198 "grammar.y"
11662         { FreeExpression((yyvaluep->exp)); };
11663
11664 /* Line 1009 of yacc.c  */
11665 #line 11665 "grammar.ec"
11666         break;
11667       case 253: /* "exclusive_or_expression_error" */
11668
11669 /* Line 1009 of yacc.c  */
11670 #line 198 "grammar.y"
11671         { FreeExpression((yyvaluep->exp)); };
11672
11673 /* Line 1009 of yacc.c  */
11674 #line 11674 "grammar.ec"
11675         break;
11676       case 254: /* "inclusive_or_expression_error" */
11677
11678 /* Line 1009 of yacc.c  */
11679 #line 198 "grammar.y"
11680         { FreeExpression((yyvaluep->exp)); };
11681
11682 /* Line 1009 of yacc.c  */
11683 #line 11683 "grammar.ec"
11684         break;
11685       case 255: /* "logical_and_expression_error" */
11686
11687 /* Line 1009 of yacc.c  */
11688 #line 198 "grammar.y"
11689         { FreeExpression((yyvaluep->exp)); };
11690
11691 /* Line 1009 of yacc.c  */
11692 #line 11692 "grammar.ec"
11693         break;
11694       case 256: /* "logical_or_expression_error" */
11695
11696 /* Line 1009 of yacc.c  */
11697 #line 198 "grammar.y"
11698         { FreeExpression((yyvaluep->exp)); };
11699
11700 /* Line 1009 of yacc.c  */
11701 #line 11701 "grammar.ec"
11702         break;
11703       case 257: /* "conditional_expression_error" */
11704
11705 /* Line 1009 of yacc.c  */
11706 #line 198 "grammar.y"
11707         { FreeExpression((yyvaluep->exp)); };
11708
11709 /* Line 1009 of yacc.c  */
11710 #line 11710 "grammar.ec"
11711         break;
11712       case 258: /* "assignment_expression_error" */
11713
11714 /* Line 1009 of yacc.c  */
11715 #line 198 "grammar.y"
11716         { FreeExpression((yyvaluep->exp)); };
11717
11718 /* Line 1009 of yacc.c  */
11719 #line 11719 "grammar.ec"
11720         break;
11721       case 259: /* "expression_error" */
11722
11723 /* Line 1009 of yacc.c  */
11724 #line 247 "grammar.y"
11725         { FreeList((yyvaluep->list), FreeExpression); };
11726
11727 /* Line 1009 of yacc.c  */
11728 #line 11728 "grammar.ec"
11729         break;
11730       case 261: /* "constant_expression" */
11731
11732 /* Line 1009 of yacc.c  */
11733 #line 198 "grammar.y"
11734         { FreeExpression((yyvaluep->exp)); };
11735
11736 /* Line 1009 of yacc.c  */
11737 #line 11737 "grammar.ec"
11738         break;
11739       case 262: /* "constant_expression_error" */
11740
11741 /* Line 1009 of yacc.c  */
11742 #line 198 "grammar.y"
11743         { FreeExpression((yyvaluep->exp)); };
11744
11745 /* Line 1009 of yacc.c  */
11746 #line 11746 "grammar.ec"
11747         break;
11748       case 263: /* "storage_class_specifier" */
11749
11750 /* Line 1009 of yacc.c  */
11751 #line 209 "grammar.y"
11752         { FreeSpecifier((yyvaluep->specifier)); };
11753
11754 /* Line 1009 of yacc.c  */
11755 #line 11755 "grammar.ec"
11756         break;
11757       case 264: /* "external_storage_class_specifier" */
11758
11759 /* Line 1009 of yacc.c  */
11760 #line 209 "grammar.y"
11761         { FreeSpecifier((yyvaluep->specifier)); };
11762
11763 /* Line 1009 of yacc.c  */
11764 #line 11764 "grammar.ec"
11765         break;
11766       case 265: /* "enumerator" */
11767
11768 /* Line 1009 of yacc.c  */
11769 #line 214 "grammar.y"
11770         { FreeEnumerator((yyvaluep->enumerator)); };
11771
11772 /* Line 1009 of yacc.c  */
11773 #line 11773 "grammar.ec"
11774         break;
11775       case 266: /* "enumerator_list" */
11776
11777 /* Line 1009 of yacc.c  */
11778 #line 248 "grammar.y"
11779         { FreeList((yyvaluep->list), FreeEnumerator); };
11780
11781 /* Line 1009 of yacc.c  */
11782 #line 11782 "grammar.ec"
11783         break;
11784       case 268: /* "enum_specifier_nocompound" */
11785
11786 /* Line 1009 of yacc.c  */
11787 #line 209 "grammar.y"
11788         { FreeSpecifier((yyvaluep->specifier)); };
11789
11790 /* Line 1009 of yacc.c  */
11791 #line 11791 "grammar.ec"
11792         break;
11793       case 269: /* "enum_specifier_compound" */
11794
11795 /* Line 1009 of yacc.c  */
11796 #line 209 "grammar.y"
11797         { FreeSpecifier((yyvaluep->specifier)); };
11798
11799 /* Line 1009 of yacc.c  */
11800 #line 11800 "grammar.ec"
11801         break;
11802       case 270: /* "enum_specifier_compound_error" */
11803
11804 /* Line 1009 of yacc.c  */
11805 #line 209 "grammar.y"
11806         { FreeSpecifier((yyvaluep->specifier)); };
11807
11808 /* Line 1009 of yacc.c  */
11809 #line 11809 "grammar.ec"
11810         break;
11811       case 272: /* "enum_class" */
11812
11813 /* Line 1009 of yacc.c  */
11814 #line 209 "grammar.y"
11815         { FreeSpecifier((yyvaluep->specifier)); };
11816
11817 /* Line 1009 of yacc.c  */
11818 #line 11818 "grammar.ec"
11819         break;
11820       case 273: /* "enum_class_error" */
11821
11822 /* Line 1009 of yacc.c  */
11823 #line 209 "grammar.y"
11824         { FreeSpecifier((yyvaluep->specifier)); };
11825
11826 /* Line 1009 of yacc.c  */
11827 #line 11827 "grammar.ec"
11828         break;
11829       case 274: /* "class_specifier" */
11830
11831 /* Line 1009 of yacc.c  */
11832 #line 209 "grammar.y"
11833         { FreeSpecifier((yyvaluep->specifier)); };
11834
11835 /* Line 1009 of yacc.c  */
11836 #line 11836 "grammar.ec"
11837         break;
11838       case 275: /* "class_specifier_error" */
11839
11840 /* Line 1009 of yacc.c  */
11841 #line 209 "grammar.y"
11842         { FreeSpecifier((yyvaluep->specifier)); };
11843
11844 /* Line 1009 of yacc.c  */
11845 #line 11845 "grammar.ec"
11846         break;
11847       case 276: /* "ext_storage" */
11848
11849 /* Line 1009 of yacc.c  */
11850 #line 209 "grammar.y"
11851         { FreeSpecifier((yyvaluep->specifier)); };
11852
11853 /* Line 1009 of yacc.c  */
11854 #line 11854 "grammar.ec"
11855         break;
11856       case 277: /* "type_qualifier" */
11857
11858 /* Line 1009 of yacc.c  */
11859 #line 209 "grammar.y"
11860         { FreeSpecifier((yyvaluep->specifier)); };
11861
11862 /* Line 1009 of yacc.c  */
11863 #line 11863 "grammar.ec"
11864         break;
11865       case 278: /* "type_qualifier_list" */
11866
11867 /* Line 1009 of yacc.c  */
11868 #line 249 "grammar.y"
11869         { FreeList((yyvaluep->list), FreeSpecifier); };
11870
11871 /* Line 1009 of yacc.c  */
11872 #line 11872 "grammar.ec"
11873         break;
11874       case 279: /* "type_specifier" */
11875
11876 /* Line 1009 of yacc.c  */
11877 #line 209 "grammar.y"
11878         { FreeSpecifier((yyvaluep->specifier)); };
11879
11880 /* Line 1009 of yacc.c  */
11881 #line 11881 "grammar.ec"
11882         break;
11883       case 280: /* "strict_type_specifier" */
11884
11885 /* Line 1009 of yacc.c  */
11886 #line 209 "grammar.y"
11887         { FreeSpecifier((yyvaluep->specifier)); };
11888
11889 /* Line 1009 of yacc.c  */
11890 #line 11890 "grammar.ec"
11891         break;
11892       case 281: /* "struct_declarator" */
11893
11894 /* Line 1009 of yacc.c  */
11895 #line 215 "grammar.y"
11896         { FreeDeclarator((yyvaluep->declarator)); };
11897
11898 /* Line 1009 of yacc.c  */
11899 #line 11899 "grammar.ec"
11900         break;
11901       case 282: /* "struct_declarator_list" */
11902
11903 /* Line 1009 of yacc.c  */
11904 #line 251 "grammar.y"
11905         { FreeList((yyvaluep->list), FreeDeclarator); };
11906
11907 /* Line 1009 of yacc.c  */
11908 #line 11908 "grammar.ec"
11909         break;
11910       case 283: /* "struct_entry" */
11911
11912 /* Line 1009 of yacc.c  */
11913 #line 209 "grammar.y"
11914         { FreeSpecifier((yyvaluep->specifier)); };
11915
11916 /* Line 1009 of yacc.c  */
11917 #line 11917 "grammar.ec"
11918         break;
11919       case 284: /* "struct_or_union_specifier_compound" */
11920
11921 /* Line 1009 of yacc.c  */
11922 #line 209 "grammar.y"
11923         { FreeSpecifier((yyvaluep->specifier)); };
11924
11925 /* Line 1009 of yacc.c  */
11926 #line 11926 "grammar.ec"
11927         break;
11928       case 285: /* "struct_or_union_specifier_compound_error" */
11929
11930 /* Line 1009 of yacc.c  */
11931 #line 209 "grammar.y"
11932         { FreeSpecifier((yyvaluep->specifier)); };
11933
11934 /* Line 1009 of yacc.c  */
11935 #line 11935 "grammar.ec"
11936         break;
11937       case 286: /* "struct_or_union_specifier_nocompound" */
11938
11939 /* Line 1009 of yacc.c  */
11940 #line 209 "grammar.y"
11941         { FreeSpecifier((yyvaluep->specifier)); };
11942
11943 /* Line 1009 of yacc.c  */
11944 #line 11944 "grammar.ec"
11945         break;
11946       case 287: /* "struct_decl" */
11947
11948 /* Line 1009 of yacc.c  */
11949 #line 209 "grammar.y"
11950         { FreeSpecifier((yyvaluep->specifier)); };
11951
11952 /* Line 1009 of yacc.c  */
11953 #line 11953 "grammar.ec"
11954         break;
11955       case 288: /* "struct_head" */
11956
11957 /* Line 1009 of yacc.c  */
11958 #line 209 "grammar.y"
11959         { FreeSpecifier((yyvaluep->specifier)); };
11960
11961 /* Line 1009 of yacc.c  */
11962 #line 11962 "grammar.ec"
11963         break;
11964       case 289: /* "struct_class" */
11965
11966 /* Line 1009 of yacc.c  */
11967 #line 209 "grammar.y"
11968         { FreeSpecifier((yyvaluep->specifier)); };
11969
11970 /* Line 1009 of yacc.c  */
11971 #line 11971 "grammar.ec"
11972         break;
11973       case 290: /* "struct_class_error" */
11974
11975 /* Line 1009 of yacc.c  */
11976 #line 209 "grammar.y"
11977         { FreeSpecifier((yyvaluep->specifier)); };
11978
11979 /* Line 1009 of yacc.c  */
11980 #line 11980 "grammar.ec"
11981         break;
11982       case 292: /* "specifier_qualifier_list" */
11983
11984 /* Line 1009 of yacc.c  */
11985 #line 249 "grammar.y"
11986         { FreeList((yyvaluep->list), FreeSpecifier); };
11987
11988 /* Line 1009 of yacc.c  */
11989 #line 11989 "grammar.ec"
11990         break;
11991       case 293: /* "guess_specifier_qualifier_list" */
11992
11993 /* Line 1009 of yacc.c  */
11994 #line 249 "grammar.y"
11995         { FreeList((yyvaluep->list), FreeSpecifier); };
11996
11997 /* Line 1009 of yacc.c  */
11998 #line 11998 "grammar.ec"
11999         break;
12000       case 294: /* "declaration_specifiers" */
12001
12002 /* Line 1009 of yacc.c  */
12003 #line 249 "grammar.y"
12004         { FreeList((yyvaluep->list), FreeSpecifier); };
12005
12006 /* Line 1009 of yacc.c  */
12007 #line 12007 "grammar.ec"
12008         break;
12009       case 295: /* "guess_declaration_specifiers" */
12010
12011 /* Line 1009 of yacc.c  */
12012 #line 249 "grammar.y"
12013         { FreeList((yyvaluep->list), FreeSpecifier); };
12014
12015 /* Line 1009 of yacc.c  */
12016 #line 12016 "grammar.ec"
12017         break;
12018       case 296: /* "external_guess_declaration_specifiers" */
12019
12020 /* Line 1009 of yacc.c  */
12021 #line 249 "grammar.y"
12022         { FreeList((yyvaluep->list), FreeSpecifier); };
12023
12024 /* Line 1009 of yacc.c  */
12025 #line 12025 "grammar.ec"
12026         break;
12027       case 297: /* "external_guess_declaration_specifiers_error" */
12028
12029 /* Line 1009 of yacc.c  */
12030 #line 249 "grammar.y"
12031         { FreeList((yyvaluep->list), FreeSpecifier); };
12032
12033 /* Line 1009 of yacc.c  */
12034 #line 12034 "grammar.ec"
12035         break;
12036       case 298: /* "_inheritance_specifiers" */
12037
12038 /* Line 1009 of yacc.c  */
12039 #line 249 "grammar.y"
12040         { FreeList((yyvaluep->list), FreeSpecifier); };
12041
12042 /* Line 1009 of yacc.c  */
12043 #line 12043 "grammar.ec"
12044         break;
12045       case 299: /* "inheritance_specifiers" */
12046
12047 /* Line 1009 of yacc.c  */
12048 #line 249 "grammar.y"
12049         { FreeList((yyvaluep->list), FreeSpecifier); };
12050
12051 /* Line 1009 of yacc.c  */
12052 #line 12052 "grammar.ec"
12053         break;
12054       case 303: /* "identifier_list_error" */
12055
12056 /* Line 1009 of yacc.c  */
12057 #line 255 "grammar.y"
12058         { FreeList((yyvaluep->list), FreeTypeName); };
12059
12060 /* Line 1009 of yacc.c  */
12061 #line 12061 "grammar.ec"
12062         break;
12063       case 304: /* "identifier_list" */
12064
12065 /* Line 1009 of yacc.c  */
12066 #line 255 "grammar.y"
12067         { FreeList((yyvaluep->list), FreeTypeName); };
12068
12069 /* Line 1009 of yacc.c  */
12070 #line 12070 "grammar.ec"
12071         break;
12072       case 305: /* "direct_declarator_nofunction_type_ok" */
12073
12074 /* Line 1009 of yacc.c  */
12075 #line 215 "grammar.y"
12076         { FreeDeclarator((yyvaluep->declarator)); };
12077
12078 /* Line 1009 of yacc.c  */
12079 #line 12079 "grammar.ec"
12080         break;
12081       case 306: /* "direct_declarator_nofunction" */
12082
12083 /* Line 1009 of yacc.c  */
12084 #line 215 "grammar.y"
12085         { FreeDeclarator((yyvaluep->declarator)); };
12086
12087 /* Line 1009 of yacc.c  */
12088 #line 12088 "grammar.ec"
12089         break;
12090       case 307: /* "direct_declarator_function_start" */
12091
12092 /* Line 1009 of yacc.c  */
12093 #line 215 "grammar.y"
12094         { FreeDeclarator((yyvaluep->declarator)); };
12095
12096 /* Line 1009 of yacc.c  */
12097 #line 12097 "grammar.ec"
12098         break;
12099       case 308: /* "direct_declarator_function" */
12100
12101 /* Line 1009 of yacc.c  */
12102 #line 215 "grammar.y"
12103         { FreeDeclarator((yyvaluep->declarator)); };
12104
12105 /* Line 1009 of yacc.c  */
12106 #line 12106 "grammar.ec"
12107         break;
12108       case 309: /* "direct_declarator_function_error" */
12109
12110 /* Line 1009 of yacc.c  */
12111 #line 215 "grammar.y"
12112         { FreeDeclarator((yyvaluep->declarator)); };
12113
12114 /* Line 1009 of yacc.c  */
12115 #line 12115 "grammar.ec"
12116         break;
12117       case 310: /* "direct_declarator" */
12118
12119 /* Line 1009 of yacc.c  */
12120 #line 215 "grammar.y"
12121         { FreeDeclarator((yyvaluep->declarator)); };
12122
12123 /* Line 1009 of yacc.c  */
12124 #line 12124 "grammar.ec"
12125         break;
12126       case 311: /* "direct_declarator_function_start_type_ok" */
12127
12128 /* Line 1009 of yacc.c  */
12129 #line 215 "grammar.y"
12130         { FreeDeclarator((yyvaluep->declarator)); };
12131
12132 /* Line 1009 of yacc.c  */
12133 #line 12133 "grammar.ec"
12134         break;
12135       case 312: /* "direct_declarator_function_type_ok" */
12136
12137 /* Line 1009 of yacc.c  */
12138 #line 215 "grammar.y"
12139         { FreeDeclarator((yyvaluep->declarator)); };
12140
12141 /* Line 1009 of yacc.c  */
12142 #line 12142 "grammar.ec"
12143         break;
12144       case 313: /* "direct_declarator_function_error_type_ok" */
12145
12146 /* Line 1009 of yacc.c  */
12147 #line 215 "grammar.y"
12148         { FreeDeclarator((yyvaluep->declarator)); };
12149
12150 /* Line 1009 of yacc.c  */
12151 #line 12151 "grammar.ec"
12152         break;
12153       case 314: /* "direct_declarator_type_ok" */
12154
12155 /* Line 1009 of yacc.c  */
12156 #line 215 "grammar.y"
12157         { FreeDeclarator((yyvaluep->declarator)); };
12158
12159 /* Line 1009 of yacc.c  */
12160 #line 12160 "grammar.ec"
12161         break;
12162       case 315: /* "ext_decl" */
12163
12164 /* Line 1009 of yacc.c  */
12165 #line 269 "grammar.y"
12166         { FreeExtDecl((yyvaluep->extDecl)); };
12167
12168 /* Line 1009 of yacc.c  */
12169 #line 12169 "grammar.ec"
12170         break;
12171       case 317: /* "attribute_word" */
12172
12173 /* Line 1009 of yacc.c  */
12174 #line 244 "grammar.y"
12175         { delete (yyvaluep->string); };
12176
12177 /* Line 1009 of yacc.c  */
12178 #line 12178 "grammar.ec"
12179         break;
12180       case 318: /* "attribute" */
12181
12182 /* Line 1009 of yacc.c  */
12183 #line 270 "grammar.y"
12184         { FreeAttribute((yyvaluep->attribute)); };
12185
12186 /* Line 1009 of yacc.c  */
12187 #line 12187 "grammar.ec"
12188         break;
12189       case 319: /* "attribs_list" */
12190
12191 /* Line 1009 of yacc.c  */
12192 #line 271 "grammar.y"
12193         { FreeList((yyvaluep->list), FreeAttribute); };
12194
12195 /* Line 1009 of yacc.c  */
12196 #line 12196 "grammar.ec"
12197         break;
12198       case 320: /* "attrib" */
12199
12200 /* Line 1009 of yacc.c  */
12201 #line 268 "grammar.y"
12202         { FreeAttrib((yyvaluep->attrib)); };
12203
12204 /* Line 1009 of yacc.c  */
12205 #line 12205 "grammar.ec"
12206         break;
12207       case 321: /* "direct_abstract_declarator" */
12208
12209 /* Line 1009 of yacc.c  */
12210 #line 215 "grammar.y"
12211         { FreeDeclarator((yyvaluep->declarator)); };
12212
12213 /* Line 1009 of yacc.c  */
12214 #line 12214 "grammar.ec"
12215         break;
12216       case 322: /* "direct_abstract_declarator_noarray" */
12217
12218 /* Line 1009 of yacc.c  */
12219 #line 215 "grammar.y"
12220         { FreeDeclarator((yyvaluep->declarator)); };
12221
12222 /* Line 1009 of yacc.c  */
12223 #line 12223 "grammar.ec"
12224         break;
12225       case 323: /* "pointer" */
12226
12227 /* Line 1009 of yacc.c  */
12228 #line 197 "grammar.y"
12229         { FreePointer((yyvaluep->pointer)); };
12230
12231 /* Line 1009 of yacc.c  */
12232 #line 12232 "grammar.ec"
12233         break;
12234       case 324: /* "abstract_declarator" */
12235
12236 /* Line 1009 of yacc.c  */
12237 #line 215 "grammar.y"
12238         { FreeDeclarator((yyvaluep->declarator)); };
12239
12240 /* Line 1009 of yacc.c  */
12241 #line 12241 "grammar.ec"
12242         break;
12243       case 325: /* "abstract_declarator_noarray" */
12244
12245 /* Line 1009 of yacc.c  */
12246 #line 215 "grammar.y"
12247         { FreeDeclarator((yyvaluep->declarator)); };
12248
12249 /* Line 1009 of yacc.c  */
12250 #line 12250 "grammar.ec"
12251         break;
12252       case 326: /* "declarator" */
12253
12254 /* Line 1009 of yacc.c  */
12255 #line 215 "grammar.y"
12256         { FreeDeclarator((yyvaluep->declarator)); };
12257
12258 /* Line 1009 of yacc.c  */
12259 #line 12259 "grammar.ec"
12260         break;
12261       case 327: /* "declarator_type_ok" */
12262
12263 /* Line 1009 of yacc.c  */
12264 #line 215 "grammar.y"
12265         { FreeDeclarator((yyvaluep->declarator)); };
12266
12267 /* Line 1009 of yacc.c  */
12268 #line 12268 "grammar.ec"
12269         break;
12270       case 328: /* "declarator_function" */
12271
12272 /* Line 1009 of yacc.c  */
12273 #line 215 "grammar.y"
12274         { FreeDeclarator((yyvaluep->declarator)); };
12275
12276 /* Line 1009 of yacc.c  */
12277 #line 12277 "grammar.ec"
12278         break;
12279       case 329: /* "declarator_function_error" */
12280
12281 /* Line 1009 of yacc.c  */
12282 #line 215 "grammar.y"
12283         { FreeDeclarator((yyvaluep->declarator)); };
12284
12285 /* Line 1009 of yacc.c  */
12286 #line 12286 "grammar.ec"
12287         break;
12288       case 330: /* "declarator_function_type_ok" */
12289
12290 /* Line 1009 of yacc.c  */
12291 #line 215 "grammar.y"
12292         { FreeDeclarator((yyvaluep->declarator)); };
12293
12294 /* Line 1009 of yacc.c  */
12295 #line 12295 "grammar.ec"
12296         break;
12297       case 331: /* "declarator_function_error_type_ok" */
12298
12299 /* Line 1009 of yacc.c  */
12300 #line 215 "grammar.y"
12301         { FreeDeclarator((yyvaluep->declarator)); };
12302
12303 /* Line 1009 of yacc.c  */
12304 #line 12304 "grammar.ec"
12305         break;
12306       case 332: /* "declarator_nofunction_type_ok" */
12307
12308 /* Line 1009 of yacc.c  */
12309 #line 215 "grammar.y"
12310         { FreeDeclarator((yyvaluep->declarator)); };
12311
12312 /* Line 1009 of yacc.c  */
12313 #line 12313 "grammar.ec"
12314         break;
12315       case 333: /* "initializer" */
12316
12317 /* Line 1009 of yacc.c  */
12318 #line 221 "grammar.y"
12319         { FreeInitializer((yyvaluep->initializer)); };
12320
12321 /* Line 1009 of yacc.c  */
12322 #line 12322 "grammar.ec"
12323         break;
12324       case 334: /* "initializer_error" */
12325
12326 /* Line 1009 of yacc.c  */
12327 #line 221 "grammar.y"
12328         { FreeInitializer((yyvaluep->initializer)); };
12329
12330 /* Line 1009 of yacc.c  */
12331 #line 12331 "grammar.ec"
12332         break;
12333       case 335: /* "initializer_condition" */
12334
12335 /* Line 1009 of yacc.c  */
12336 #line 221 "grammar.y"
12337         { FreeInitializer((yyvaluep->initializer)); };
12338
12339 /* Line 1009 of yacc.c  */
12340 #line 12340 "grammar.ec"
12341         break;
12342       case 336: /* "initializer_condition_error" */
12343
12344 /* Line 1009 of yacc.c  */
12345 #line 221 "grammar.y"
12346         { FreeInitializer((yyvaluep->initializer)); };
12347
12348 /* Line 1009 of yacc.c  */
12349 #line 12349 "grammar.ec"
12350         break;
12351       case 337: /* "initializer_list" */
12352
12353 /* Line 1009 of yacc.c  */
12354 #line 253 "grammar.y"
12355         { FreeList((yyvaluep->list), FreeInitializer); };
12356
12357 /* Line 1009 of yacc.c  */
12358 #line 12358 "grammar.ec"
12359         break;
12360       case 338: /* "init_declarator" */
12361
12362 /* Line 1009 of yacc.c  */
12363 #line 222 "grammar.y"
12364         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12365
12366 /* Line 1009 of yacc.c  */
12367 #line 12367 "grammar.ec"
12368         break;
12369       case 339: /* "init_declarator_error" */
12370
12371 /* Line 1009 of yacc.c  */
12372 #line 222 "grammar.y"
12373         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12374
12375 /* Line 1009 of yacc.c  */
12376 #line 12376 "grammar.ec"
12377         break;
12378       case 340: /* "init_declarator_list" */
12379
12380 /* Line 1009 of yacc.c  */
12381 #line 254 "grammar.y"
12382         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12383
12384 /* Line 1009 of yacc.c  */
12385 #line 12385 "grammar.ec"
12386         break;
12387       case 341: /* "init_declarator_list_error" */
12388
12389 /* Line 1009 of yacc.c  */
12390 #line 254 "grammar.y"
12391         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12392
12393 /* Line 1009 of yacc.c  */
12394 #line 12394 "grammar.ec"
12395         break;
12396       case 342: /* "type_name" */
12397
12398 /* Line 1009 of yacc.c  */
12399 #line 223 "grammar.y"
12400         { FreeTypeName((yyvaluep->typeName)); };
12401
12402 /* Line 1009 of yacc.c  */
12403 #line 12403 "grammar.ec"
12404         break;
12405       case 343: /* "guess_type_name" */
12406
12407 /* Line 1009 of yacc.c  */
12408 #line 223 "grammar.y"
12409         { FreeTypeName((yyvaluep->typeName)); };
12410
12411 /* Line 1009 of yacc.c  */
12412 #line 12412 "grammar.ec"
12413         break;
12414       case 344: /* "parameter_declaration" */
12415
12416 /* Line 1009 of yacc.c  */
12417 #line 223 "grammar.y"
12418         { FreeTypeName((yyvaluep->typeName)); };
12419
12420 /* Line 1009 of yacc.c  */
12421 #line 12421 "grammar.ec"
12422         break;
12423       case 345: /* "parameter_declaration_error" */
12424
12425 /* Line 1009 of yacc.c  */
12426 #line 223 "grammar.y"
12427         { FreeTypeName((yyvaluep->typeName)); };
12428
12429 /* Line 1009 of yacc.c  */
12430 #line 12430 "grammar.ec"
12431         break;
12432       case 346: /* "parameter_list" */
12433
12434 /* Line 1009 of yacc.c  */
12435 #line 255 "grammar.y"
12436         { FreeList((yyvaluep->list), FreeTypeName); };
12437
12438 /* Line 1009 of yacc.c  */
12439 #line 12439 "grammar.ec"
12440         break;
12441       case 347: /* "parameter_list_error" */
12442
12443 /* Line 1009 of yacc.c  */
12444 #line 255 "grammar.y"
12445         { FreeList((yyvaluep->list), FreeTypeName); };
12446
12447 /* Line 1009 of yacc.c  */
12448 #line 12448 "grammar.ec"
12449         break;
12450       case 348: /* "parameter_type_list" */
12451
12452 /* Line 1009 of yacc.c  */
12453 #line 255 "grammar.y"
12454         { FreeList((yyvaluep->list), FreeTypeName); };
12455
12456 /* Line 1009 of yacc.c  */
12457 #line 12457 "grammar.ec"
12458         break;
12459       case 349: /* "parameter_type_list_error" */
12460
12461 /* Line 1009 of yacc.c  */
12462 #line 255 "grammar.y"
12463         { FreeList((yyvaluep->list), FreeTypeName); };
12464
12465 /* Line 1009 of yacc.c  */
12466 #line 12466 "grammar.ec"
12467         break;
12468       case 350: /* "statement" */
12469
12470 /* Line 1009 of yacc.c  */
12471 #line 224 "grammar.y"
12472         { FreeStatement((yyvaluep->stmt)); };
12473
12474 /* Line 1009 of yacc.c  */
12475 #line 12475 "grammar.ec"
12476         break;
12477       case 351: /* "statement_error" */
12478
12479 /* Line 1009 of yacc.c  */
12480 #line 224 "grammar.y"
12481         { FreeStatement((yyvaluep->stmt)); };
12482
12483 /* Line 1009 of yacc.c  */
12484 #line 12484 "grammar.ec"
12485         break;
12486       case 355: /* "labeled_statement" */
12487
12488 /* Line 1009 of yacc.c  */
12489 #line 224 "grammar.y"
12490         { FreeStatement((yyvaluep->stmt)); };
12491
12492 /* Line 1009 of yacc.c  */
12493 #line 12493 "grammar.ec"
12494         break;
12495       case 356: /* "labeled_statement_error" */
12496
12497 /* Line 1009 of yacc.c  */
12498 #line 224 "grammar.y"
12499         { FreeStatement((yyvaluep->stmt)); };
12500
12501 /* Line 1009 of yacc.c  */
12502 #line 12502 "grammar.ec"
12503         break;
12504       case 357: /* "declaration_mode" */
12505
12506 /* Line 1009 of yacc.c  */
12507 #line 267 "grammar.y"
12508         { };
12509
12510 /* Line 1009 of yacc.c  */
12511 #line 12511 "grammar.ec"
12512         break;
12513       case 359: /* "declaration" */
12514
12515 /* Line 1009 of yacc.c  */
12516 #line 228 "grammar.y"
12517         { FreeDeclaration((yyvaluep->declaration)); };
12518
12519 /* Line 1009 of yacc.c  */
12520 #line 12520 "grammar.ec"
12521         break;
12522       case 363: /* "declaration_list" */
12523
12524 /* Line 1009 of yacc.c  */
12525 #line 252 "grammar.y"
12526         { FreeList((yyvaluep->list), FreeDeclaration); };
12527
12528 /* Line 1009 of yacc.c  */
12529 #line 12529 "grammar.ec"
12530         break;
12531       case 364: /* "declaration_list_error" */
12532
12533 /* Line 1009 of yacc.c  */
12534 #line 252 "grammar.y"
12535         { FreeList((yyvaluep->list), FreeDeclaration); };
12536
12537 /* Line 1009 of yacc.c  */
12538 #line 12538 "grammar.ec"
12539         break;
12540       case 365: /* "statement_list" */
12541
12542 /* Line 1009 of yacc.c  */
12543 #line 256 "grammar.y"
12544         { FreeList((yyvaluep->list), FreeStatement); };
12545
12546 /* Line 1009 of yacc.c  */
12547 #line 12547 "grammar.ec"
12548         break;
12549       case 366: /* "statement_list_error" */
12550
12551 /* Line 1009 of yacc.c  */
12552 #line 256 "grammar.y"
12553         { FreeList((yyvaluep->list), FreeStatement); };
12554
12555 /* Line 1009 of yacc.c  */
12556 #line 12556 "grammar.ec"
12557         break;
12558       case 367: /* "compound_inside" */
12559
12560 /* Line 1009 of yacc.c  */
12561 #line 224 "grammar.y"
12562         { FreeStatement((yyvaluep->stmt)); };
12563
12564 /* Line 1009 of yacc.c  */
12565 #line 12565 "grammar.ec"
12566         break;
12567       case 368: /* "compound_inside_error" */
12568
12569 /* Line 1009 of yacc.c  */
12570 #line 224 "grammar.y"
12571         { FreeStatement((yyvaluep->stmt)); };
12572
12573 /* Line 1009 of yacc.c  */
12574 #line 12574 "grammar.ec"
12575         break;
12576       case 369: /* "compound_start" */
12577
12578 /* Line 1009 of yacc.c  */
12579 #line 261 "grammar.y"
12580         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
12581
12582 /* Line 1009 of yacc.c  */
12583 #line 12583 "grammar.ec"
12584         break;
12585       case 370: /* "compound_statement" */
12586
12587 /* Line 1009 of yacc.c  */
12588 #line 224 "grammar.y"
12589         { FreeStatement((yyvaluep->stmt)); };
12590
12591 /* Line 1009 of yacc.c  */
12592 #line 12592 "grammar.ec"
12593         break;
12594       case 371: /* "compound_statement_error" */
12595
12596 /* Line 1009 of yacc.c  */
12597 #line 224 "grammar.y"
12598         { FreeStatement((yyvaluep->stmt)); };
12599
12600 /* Line 1009 of yacc.c  */
12601 #line 12601 "grammar.ec"
12602         break;
12603       case 372: /* "expression_statement" */
12604
12605 /* Line 1009 of yacc.c  */
12606 #line 224 "grammar.y"
12607         { FreeStatement((yyvaluep->stmt)); };
12608
12609 /* Line 1009 of yacc.c  */
12610 #line 12610 "grammar.ec"
12611         break;
12612       case 373: /* "selection_statement" */
12613
12614 /* Line 1009 of yacc.c  */
12615 #line 224 "grammar.y"
12616         { FreeStatement((yyvaluep->stmt)); };
12617
12618 /* Line 1009 of yacc.c  */
12619 #line 12619 "grammar.ec"
12620         break;
12621       case 374: /* "selection_statement_error" */
12622
12623 /* Line 1009 of yacc.c  */
12624 #line 224 "grammar.y"
12625         { FreeStatement((yyvaluep->stmt)); };
12626
12627 /* Line 1009 of yacc.c  */
12628 #line 12628 "grammar.ec"
12629         break;
12630       case 375: /* "iteration_statement" */
12631
12632 /* Line 1009 of yacc.c  */
12633 #line 224 "grammar.y"
12634         { FreeStatement((yyvaluep->stmt)); };
12635
12636 /* Line 1009 of yacc.c  */
12637 #line 12637 "grammar.ec"
12638         break;
12639       case 376: /* "iteration_statement_error" */
12640
12641 /* Line 1009 of yacc.c  */
12642 #line 224 "grammar.y"
12643         { FreeStatement((yyvaluep->stmt)); };
12644
12645 /* Line 1009 of yacc.c  */
12646 #line 12646 "grammar.ec"
12647         break;
12648       case 377: /* "jump_statement" */
12649
12650 /* Line 1009 of yacc.c  */
12651 #line 224 "grammar.y"
12652         { FreeStatement((yyvaluep->stmt)); };
12653
12654 /* Line 1009 of yacc.c  */
12655 #line 12655 "grammar.ec"
12656         break;
12657       case 378: /* "jump_statement_error" */
12658
12659 /* Line 1009 of yacc.c  */
12660 #line 224 "grammar.y"
12661         { FreeStatement((yyvaluep->stmt)); };
12662
12663 /* Line 1009 of yacc.c  */
12664 #line 12664 "grammar.ec"
12665         break;
12666       case 379: /* "function_definition" */
12667
12668 /* Line 1009 of yacc.c  */
12669 #line 229 "grammar.y"
12670         { FreeFunction((yyvaluep->function)); };
12671
12672 /* Line 1009 of yacc.c  */
12673 #line 12673 "grammar.ec"
12674         break;
12675       case 380: /* "function_definition_error" */
12676
12677 /* Line 1009 of yacc.c  */
12678 #line 229 "grammar.y"
12679         { FreeFunction((yyvaluep->function)); };
12680
12681 /* Line 1009 of yacc.c  */
12682 #line 12682 "grammar.ec"
12683         break;
12684       case 381: /* "string_literal" */
12685
12686 /* Line 1009 of yacc.c  */
12687 #line 244 "grammar.y"
12688         { delete (yyvaluep->string); };
12689
12690 /* Line 1009 of yacc.c  */
12691 #line 12691 "grammar.ec"
12692         break;
12693       case 382: /* "external_declaration" */
12694
12695 /* Line 1009 of yacc.c  */
12696 #line 230 "grammar.y"
12697         { FreeExternal((yyvaluep->external)); };
12698
12699 /* Line 1009 of yacc.c  */
12700 #line 12700 "grammar.ec"
12701         break;
12702       case 383: /* "external_declaration_error" */
12703
12704 /* Line 1009 of yacc.c  */
12705 #line 230 "grammar.y"
12706         { FreeExternal((yyvaluep->external)); };
12707
12708 /* Line 1009 of yacc.c  */
12709 #line 12709 "grammar.ec"
12710         break;
12711       case 384: /* "translation_unit_error" */
12712
12713 /* Line 1009 of yacc.c  */
12714 #line 257 "grammar.y"
12715         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12716
12717 /* Line 1009 of yacc.c  */
12718 #line 12718 "grammar.ec"
12719         break;
12720       case 385: /* "translation_unit" */
12721
12722 /* Line 1009 of yacc.c  */
12723 #line 257 "grammar.y"
12724         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12725
12726 /* Line 1009 of yacc.c  */
12727 #line 12727 "grammar.ec"
12728         break;
12729
12730       default:
12731         break;
12732     }
12733 }
12734
12735 /* Prevent warnings from -Wmissing-prototypes.  */
12736 #ifdef YYPARSE_PARAM
12737 #if defined __STDC__ || defined __cplusplus
12738 int yyparse (void *YYPARSE_PARAM);
12739 #else
12740 int yyparse ();
12741 #endif
12742 #else /* ! YYPARSE_PARAM */
12743 #if defined __STDC__ || defined __cplusplus
12744 int yyparse (void);
12745 #else
12746 int yyparse ();
12747 #endif
12748 #endif /* ! YYPARSE_PARAM */
12749
12750
12751 /* The lookahead symbol.  */
12752 int yychar;
12753
12754 /* The semantic value of the lookahead symbol.  */
12755 YYSTYPE yylval;
12756
12757 /* Location data for the lookahead symbol.  */
12758 YYLTYPE yylloc;
12759
12760 /* Number of syntax errors so far.  */
12761 int yynerrs;
12762
12763
12764
12765 /*-------------------------.
12766 | yyparse or yypush_parse.  |
12767 `-------------------------*/
12768
12769 #ifdef YYPARSE_PARAM
12770 #if (defined __STDC__ || defined __C99__FUNC__ \
12771      || defined __cplusplus || defined _MSC_VER)
12772 int
12773 yyparse (void *YYPARSE_PARAM)
12774 #else
12775 int
12776 yyparse (YYPARSE_PARAM)
12777     void *YYPARSE_PARAM;
12778 #endif
12779 #else /* ! YYPARSE_PARAM */
12780 #if (defined __STDC__ || defined __C99__FUNC__ \
12781      || defined __cplusplus || defined _MSC_VER)
12782 int
12783 yyparse (void)
12784 #else
12785 int
12786 yyparse ()
12787
12788 #endif
12789 #endif
12790 {
12791
12792
12793     int yystate;
12794     /* Number of tokens to shift before error messages enabled.  */
12795     int yyerrstatus;
12796
12797     /* The stacks and their tools:
12798        `yyss': related to states.
12799        `yyvs': related to semantic values.
12800        `yyls': related to locations.
12801
12802        Refer to the stacks thru separate pointers, to allow yyoverflow
12803        to reallocate them elsewhere.  */
12804
12805     /* The state stack.  */
12806     yytype_int16 yyssa[YYINITDEPTH];
12807     yytype_int16 *yyss;
12808     yytype_int16 *yyssp;
12809
12810     /* The semantic value stack.  */
12811     YYSTYPE yyvsa[YYINITDEPTH];
12812     YYSTYPE *yyvs;
12813     YYSTYPE *yyvsp;
12814
12815     /* The location stack.  */
12816     YYLTYPE yylsa[YYINITDEPTH];
12817     YYLTYPE *yyls;
12818     YYLTYPE *yylsp;
12819
12820     /* The locations where the error started and ended.  */
12821     YYLTYPE yyerror_range[2];
12822
12823     YYSIZE_T yystacksize;
12824
12825   int yyn;
12826   int yyresult;
12827   /* Lookahead token as an internal (translated) token number.  */
12828   int yytoken;
12829   /* The variables used to return semantic value and location from the
12830      action routines.  */
12831   YYSTYPE yyval;
12832   YYLTYPE yyloc;
12833
12834 #if YYERROR_VERBOSE
12835   /* Buffer for error messages, and its allocated size.  */
12836   char yymsgbuf[128];
12837   char *yymsg = yymsgbuf;
12838   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
12839 #endif
12840
12841 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
12842
12843   /* The number of symbols on the RHS of the reduced rule.
12844      Keep to zero when no symbol should be popped.  */
12845   int yylen = 0;
12846
12847   yytoken = 0;
12848   yyss = yyssa;
12849   yyvs = yyvsa;
12850   yyls = yylsa;
12851   yystacksize = YYINITDEPTH;
12852
12853   YYDPRINTF ((stderr, "Starting parse\n"));
12854
12855   yystate = 0;
12856   yyerrstatus = 0;
12857   yynerrs = 0;
12858   yychar = YYEMPTY; /* Cause a token to be read.  */
12859
12860   /* Initialize stack pointers.
12861      Waste one element of value and location stack
12862      so that they stay on the same level as the state stack.
12863      The wasted elements are never initialized.  */
12864   yyssp = yyss;
12865   yyvsp = yyvs;
12866   yylsp = yyls;
12867
12868 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
12869   /* Initialize the default location before parsing starts.  */
12870   yylloc.first_line   = yylloc.last_line   = 1;
12871   yylloc.first_column = yylloc.last_column = 1;
12872 #endif
12873
12874   goto yysetstate;
12875
12876 /*------------------------------------------------------------.
12877 | yynewstate -- Push a new state, which is found in yystate.  |
12878 `------------------------------------------------------------*/
12879  yynewstate:
12880   /* In all cases, when you get here, the value and location stacks
12881      have just been pushed.  So pushing a state here evens the stacks.  */
12882   yyssp++;
12883
12884  yysetstate:
12885   *yyssp = yystate;
12886
12887   if (yyss + yystacksize - 1 <= yyssp)
12888     {
12889       /* Get the current used size of the three stacks, in elements.  */
12890       YYSIZE_T yysize = yyssp - yyss + 1;
12891
12892 #ifdef yyoverflow
12893       {
12894         /* Give user a chance to reallocate the stack.  Use copies of
12895            these so that the &'s don't force the real ones into
12896            memory.  */
12897         YYSTYPE *yyvs1 = yyvs;
12898         yytype_int16 *yyss1 = yyss;
12899         YYLTYPE *yyls1 = yyls;
12900
12901         /* Each stack pointer address is followed by the size of the
12902            data in use in that stack, in bytes.  This used to be a
12903            conditional around just the two extra args, but that might
12904            be undefined if yyoverflow is a macro.  */
12905         yyoverflow (YY_("memory exhausted"),
12906                     &yyss1, yysize * sizeof (*yyssp),
12907                     &yyvs1, yysize * sizeof (*yyvsp),
12908                     &yyls1, yysize * sizeof (*yylsp),
12909                     &yystacksize);
12910
12911         yyls = yyls1;
12912         yyss = yyss1;
12913         yyvs = yyvs1;
12914       }
12915 #else /* no yyoverflow */
12916 # ifndef YYSTACK_RELOCATE
12917       goto yyexhaustedlab;
12918 # else
12919       /* Extend the stack our own way.  */
12920       if (YYMAXDEPTH <= yystacksize)
12921         goto yyexhaustedlab;
12922       yystacksize *= 2;
12923       if (YYMAXDEPTH < yystacksize)
12924         yystacksize = YYMAXDEPTH;
12925
12926       {
12927         yytype_int16 *yyss1 = yyss;
12928         union yyalloc *yyptr =
12929           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
12930         if (! yyptr)
12931           goto yyexhaustedlab;
12932         YYSTACK_RELOCATE (yyss_alloc, yyss);
12933         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
12934         YYSTACK_RELOCATE (yyls_alloc, yyls);
12935 #  undef YYSTACK_RELOCATE
12936         if (yyss1 != yyssa)
12937           YYSTACK_FREE (yyss1);
12938       }
12939 # endif
12940 #endif /* no yyoverflow */
12941
12942       yyssp = yyss + yysize - 1;
12943       yyvsp = yyvs + yysize - 1;
12944       yylsp = yyls + yysize - 1;
12945
12946       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
12947                   (unsigned long int) yystacksize));
12948
12949       if (yyss + yystacksize - 1 <= yyssp)
12950         YYABORT;
12951     }
12952
12953   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
12954
12955   if (yystate == YYFINAL)
12956     YYACCEPT;
12957
12958   goto yybackup;
12959
12960 /*-----------.
12961 | yybackup.  |
12962 `-----------*/
12963 yybackup:
12964
12965   /* Do appropriate processing given the current state.  Read a
12966      lookahead token if we need one and don't already have one.  */
12967
12968   /* First try to decide what to do without reference to lookahead token.  */
12969   yyn = yypact[yystate];
12970   if (yyn == YYPACT_NINF)
12971     goto yydefault;
12972
12973   /* Not known => get a lookahead token if don't already have one.  */
12974
12975   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
12976   if (yychar == YYEMPTY)
12977     {
12978       YYDPRINTF ((stderr, "Reading a token: "));
12979       yychar = YYLEX;
12980     }
12981
12982   if (yychar <= YYEOF)
12983     {
12984       yychar = yytoken = YYEOF;
12985       YYDPRINTF ((stderr, "Now at end of input.\n"));
12986     }
12987   else
12988     {
12989       yytoken = YYTRANSLATE (yychar);
12990       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
12991     }
12992
12993   /* If the proper action on seeing token YYTOKEN is to reduce or to
12994      detect an error, take that action.  */
12995   yyn += yytoken;
12996   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
12997     goto yydefault;
12998   yyn = yytable[yyn];
12999   if (yyn <= 0)
13000     {
13001       if (yyn == 0 || yyn == YYTABLE_NINF)
13002         goto yyerrlab;
13003       yyn = -yyn;
13004       goto yyreduce;
13005     }
13006
13007   /* Count tokens shifted since error; after three, turn off error
13008      status.  */
13009   if (yyerrstatus)
13010     yyerrstatus--;
13011
13012   /* Shift the lookahead token.  */
13013   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
13014
13015   /* Discard the shifted token.  */
13016   yychar = YYEMPTY;
13017
13018   yystate = yyn;
13019   *++yyvsp = yylval;
13020   *++yylsp = yylloc;
13021   goto yynewstate;
13022
13023
13024 /*-----------------------------------------------------------.
13025 | yydefault -- do the default action for the current state.  |
13026 `-----------------------------------------------------------*/
13027 yydefault:
13028   yyn = yydefact[yystate];
13029   if (yyn == 0)
13030     goto yyerrlab;
13031   goto yyreduce;
13032
13033
13034 /*-----------------------------.
13035 | yyreduce -- Do a reduction.  |
13036 `-----------------------------*/
13037 yyreduce:
13038   /* yyn is the number of a rule to reduce with.  */
13039   yylen = yyr2[yyn];
13040
13041   /* If YYLEN is nonzero, implement the default value of the action:
13042      `$$ = $1'.
13043
13044      Otherwise, the following line sets YYVAL to garbage.
13045      This behavior is undocumented and Bison
13046      users should not rely upon it.  Assigning to YYVAL
13047      unconditionally makes the parser a bit smaller, and it avoids a
13048      GCC warning that YYVAL may be used uninitialized.  */
13049   yyval = yyvsp[1-yylen];
13050
13051   /* Default location.  */
13052   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
13053   YY_REDUCE_PRINT (yyn);
13054   switch (yyn)
13055     {
13056         case 2:
13057
13058 /* Line 1464 of yacc.c  */
13059 #line 279 "grammar.y"
13060     {
13061       (yyval.specifier) = null;
13062       // if($1._class && !$1._class.name)
13063       if((yyvsp[(1) - (2)].id)._class)
13064       {
13065          char name[1024];
13066          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13067          strcat(name, "::");
13068          strcat(name, (yyvsp[(1) - (2)].id).string);
13069          _DeclClass(0, name);
13070       }
13071       else
13072          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13073
13074       FreeIdentifier((yyvsp[(1) - (2)].id));
13075
13076       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
13077       resetScannerPos(&(yylsp[(1) - (2)]).start);
13078       yyclearin;
13079
13080       YYPOPSTACK(1);
13081       yystate = *yyssp;
13082       YY_STACK_PRINT (yyss, yyssp);
13083       YYPOPSTACK(1);
13084       yystate = *yyssp;
13085       YY_STACK_PRINT (yyss, yyssp);
13086       goto yysetstate;
13087    ;}
13088     break;
13089
13090   case 3:
13091
13092 /* Line 1464 of yacc.c  */
13093 #line 308 "grammar.y"
13094     {
13095       (yyval.specifier) = null;
13096    #ifdef PRECOMPILER
13097       // if($1._class && !$1._class.name)
13098       if((yyvsp[(1) - (2)].id)._class)
13099       {
13100          char name[1024];
13101          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13102          strcat(name, "::");
13103          strcat(name, (yyvsp[(1) - (2)].id).string);
13104          _DeclClass(0, name);
13105       }
13106       else
13107          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13108
13109       FreeIdentifier((yyvsp[(1) - (2)].id));
13110
13111       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
13112       resetScannerPos(&(yylsp[(1) - (2)]).start);
13113       yyclearin;
13114
13115       YYPOPSTACK(1);
13116       yystate = *yyssp;
13117       YY_STACK_PRINT (yyss, yyssp);
13118       YYPOPSTACK(1);
13119       yystate = *yyssp;
13120       YY_STACK_PRINT (yyss, yyssp);
13121       goto yysetstate;
13122    #endif
13123    ;}
13124     break;
13125
13126   case 4:
13127
13128 /* Line 1464 of yacc.c  */
13129 #line 366 "grammar.y"
13130     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
13131     break;
13132
13133   case 5:
13134
13135 /* Line 1464 of yacc.c  */
13136 #line 368 "grammar.y"
13137     {
13138    #ifdef PRECOMPILER
13139       // if($1._class && !$1._class.name)
13140       if((yyvsp[(1) - (2)].id)._class)
13141       {
13142          char name[1024];
13143          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13144          strcat(name, "::");
13145          strcat(name, (yyvsp[(1) - (2)].id).string);
13146          _DeclClass(0, name);
13147       }
13148       else
13149          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13150       FreeIdentifier((yyvsp[(1) - (2)].id));
13151       FreeIdentifier((yyvsp[(2) - (2)].id));
13152
13153       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
13154       resetScannerPos(&(yylsp[(1) - (2)]).start);
13155       yyclearin;
13156
13157       YYPOPSTACK(1);
13158       yystate = *yyssp;
13159       YY_STACK_PRINT (yyss, yyssp);
13160       YYPOPSTACK(1);
13161       yystate = *yyssp;
13162       YY_STACK_PRINT (yyss, yyssp);
13163       goto yysetstate;
13164    #else
13165       Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]); 
13166       Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);      
13167       yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13168    #endif
13169    ;}
13170     break;
13171
13172   case 6:
13173
13174 /* Line 1464 of yacc.c  */
13175 #line 467 "grammar.y"
13176     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13177     break;
13178
13179   case 7:
13180
13181 /* Line 1464 of yacc.c  */
13182 #line 471 "grammar.y"
13183     { (yyval.string) = CopyString(yytext); ;}
13184     break;
13185
13186   case 9:
13187
13188 /* Line 1464 of yacc.c  */
13189 #line 475 "grammar.y"
13190     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13191     break;
13192
13193   case 10:
13194
13195 /* Line 1464 of yacc.c  */
13196 #line 477 "grammar.y"
13197     {
13198       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13199       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13200       (yyval.specifier).loc = (yyloc);
13201
13202       (yylsp[(4) - (4)]).end.pos--;
13203       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start); 
13204       resetScannerPos(&(yylsp[(4) - (4)]).end);
13205       yyclearin;
13206     ;}
13207     break;
13208
13209   case 11:
13210
13211 /* Line 1464 of yacc.c  */
13212 #line 526 "grammar.y"
13213     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13214     break;
13215
13216   case 12:
13217
13218 /* Line 1464 of yacc.c  */
13219 #line 528 "grammar.y"
13220     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13221     break;
13222
13223   case 13:
13224
13225 /* Line 1464 of yacc.c  */
13226 #line 533 "grammar.y"
13227     { (yyval.classFunction) = MkClassFunction(null, null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; FreeList((yyvsp[(1) - (3)].list), FreeSpecifier); ;}
13228     break;
13229
13230   case 14:
13231
13232 /* Line 1464 of yacc.c  */
13233 #line 538 "grammar.y"
13234     { (yyval.classFunction) = MkClassFunction(null, null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; FreeList((yyvsp[(2) - (4)].list), FreeSpecifier) ;}
13235     break;
13236
13237   case 15:
13238
13239 /* Line 1464 of yacc.c  */
13240 #line 543 "grammar.y"
13241     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13242     break;
13243
13244   case 16:
13245
13246 /* Line 1464 of yacc.c  */
13247 #line 545 "grammar.y"
13248     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13249     break;
13250
13251   case 17:
13252
13253 /* Line 1464 of yacc.c  */
13254 #line 550 "grammar.y"
13255     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13256     break;
13257
13258   case 18:
13259
13260 /* Line 1464 of yacc.c  */
13261 #line 552 "grammar.y"
13262     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13263     break;
13264
13265   case 19:
13266
13267 /* Line 1464 of yacc.c  */
13268 #line 557 "grammar.y"
13269     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13270     break;
13271
13272   case 20:
13273
13274 /* Line 1464 of yacc.c  */
13275 #line 559 "grammar.y"
13276     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13277     break;
13278
13279   case 21:
13280
13281 /* Line 1464 of yacc.c  */
13282 #line 564 "grammar.y"
13283     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13284     break;
13285
13286   case 22:
13287
13288 /* Line 1464 of yacc.c  */
13289 #line 566 "grammar.y"
13290     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13291     break;
13292
13293   case 23:
13294
13295 /* Line 1464 of yacc.c  */
13296 #line 568 "grammar.y"
13297     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13298     break;
13299
13300   case 24:
13301
13302 /* Line 1464 of yacc.c  */
13303 #line 570 "grammar.y"
13304     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13305     break;
13306
13307   case 25:
13308
13309 /* Line 1464 of yacc.c  */
13310 #line 572 "grammar.y"
13311     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13312     break;
13313
13314   case 26:
13315
13316 /* Line 1464 of yacc.c  */
13317 #line 576 "grammar.y"
13318     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13319     break;
13320
13321   case 27:
13322
13323 /* Line 1464 of yacc.c  */
13324 #line 581 "grammar.y"
13325     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13326     break;
13327
13328   case 28:
13329
13330 /* Line 1464 of yacc.c  */
13331 #line 583 "grammar.y"
13332     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13333     break;
13334
13335   case 29:
13336
13337 /* Line 1464 of yacc.c  */
13338 #line 585 "grammar.y"
13339     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13340     break;
13341
13342   case 30:
13343
13344 /* Line 1464 of yacc.c  */
13345 #line 587 "grammar.y"
13346     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13347     break;
13348
13349   case 31:
13350
13351 /* Line 1464 of yacc.c  */
13352 #line 589 "grammar.y"
13353     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13354     break;
13355
13356   case 32:
13357
13358 /* Line 1464 of yacc.c  */
13359 #line 595 "grammar.y"
13360     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13361     break;
13362
13363   case 33:
13364
13365 /* Line 1464 of yacc.c  */
13366 #line 597 "grammar.y"
13367     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13368     break;
13369
13370   case 34:
13371
13372 /* Line 1464 of yacc.c  */
13373 #line 602 "grammar.y"
13374     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13375     break;
13376
13377   case 35:
13378
13379 /* Line 1464 of yacc.c  */
13380 #line 607 "grammar.y"
13381     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13382     break;
13383
13384   case 36:
13385
13386 /* Line 1464 of yacc.c  */
13387 #line 612 "grammar.y"
13388     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13389     break;
13390
13391   case 37:
13392
13393 /* Line 1464 of yacc.c  */
13394 #line 614 "grammar.y"
13395     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13396     break;
13397
13398   case 38:
13399
13400 /* Line 1464 of yacc.c  */
13401 #line 616 "grammar.y"
13402     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13403     break;
13404
13405   case 39:
13406
13407 /* Line 1464 of yacc.c  */
13408 #line 620 "grammar.y"
13409     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end;;}
13410     break;
13411
13412   case 40:
13413
13414 /* Line 1464 of yacc.c  */
13415 #line 621 "grammar.y"
13416     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13417     break;
13418
13419   case 41:
13420
13421 /* Line 1464 of yacc.c  */
13422 #line 625 "grammar.y"
13423     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end;;}
13424     break;
13425
13426   case 42:
13427
13428 /* Line 1464 of yacc.c  */
13429 #line 627 "grammar.y"
13430     { 
13431          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
13432          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end; 
13433
13434          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start); 
13435          yyclearin;
13436          resetScannerPos(&(yylsp[(2) - (3)]).end);
13437          (yyloc).start = (yylsp[(1) - (3)]).start;
13438          (yyloc).end = (yylsp[(2) - (3)]).end;
13439       ;}
13440     break;
13441
13442   case 43:
13443
13444 /* Line 1464 of yacc.c  */
13445 #line 637 "grammar.y"
13446     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13447     break;
13448
13449   case 44:
13450
13451 /* Line 1464 of yacc.c  */
13452 #line 641 "grammar.y"
13453     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13454     break;
13455
13456   case 45:
13457
13458 /* Line 1464 of yacc.c  */
13459 #line 643 "grammar.y"
13460     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13461     break;
13462
13463   case 46:
13464
13465 /* Line 1464 of yacc.c  */
13466 #line 645 "grammar.y"
13467     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13468     break;
13469
13470   case 47:
13471
13472 /* Line 1464 of yacc.c  */
13473 #line 649 "grammar.y"
13474     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13475     break;
13476
13477   case 48:
13478
13479 /* Line 1464 of yacc.c  */
13480 #line 651 "grammar.y"
13481     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13482     break;
13483
13484   case 49:
13485
13486 /* Line 1464 of yacc.c  */
13487 #line 653 "grammar.y"
13488     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13489     break;
13490
13491   case 50:
13492
13493 /* Line 1464 of yacc.c  */
13494 #line 656 "grammar.y"
13495     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end; 
13496          { 
13497             Initializer dummy = MkInitializerAssignment(MkExpDummy()); 
13498             MemberInit memberInit = MkMemberInit(null, dummy); 
13499             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end; 
13500             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end; 
13501             ListAdd((yyvsp[(1) - (3)].list), memberInit); 
13502           }
13503           (yyval.list) = (yyvsp[(1) - (3)].list);
13504        ;}
13505     break;
13506
13507   case 51:
13508
13509 /* Line 1464 of yacc.c  */
13510 #line 668 "grammar.y"
13511     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end; 
13512          { 
13513             Initializer dummy = MkInitializerAssignment(MkExpDummy()); 
13514             MemberInit memberInit = MkMemberInit(null, dummy); 
13515             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end; 
13516             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end; 
13517             ListAdd((yyvsp[(1) - (3)].list), memberInit); 
13518           }
13519           (yyval.list) = (yyvsp[(1) - (3)].list);
13520        ;}
13521     break;
13522
13523   case 52:
13524
13525 /* Line 1464 of yacc.c  */
13526 #line 679 "grammar.y"
13527     {
13528          Initializer dummy = MkInitializerAssignment(MkExpDummy());
13529          MemberInit memberInit = MkMemberInit(null, dummy); 
13530          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start; 
13531          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start; 
13532
13533          (yyval.list) = MkList();
13534          ListAdd((yyval.list), memberInit); 
13535
13536          dummy = MkInitializerAssignment(MkExpDummy()); 
13537          memberInit = MkMemberInit(null, dummy); 
13538          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end; 
13539          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end; 
13540          ListAdd((yyval.list), memberInit); 
13541       ;}
13542     break;
13543
13544   case 53:
13545
13546 /* Line 1464 of yacc.c  */
13547 #line 698 "grammar.y"
13548     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13549     break;
13550
13551   case 54:
13552
13553 /* Line 1464 of yacc.c  */
13554 #line 700 "grammar.y"
13555     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13556     break;
13557
13558   case 55:
13559
13560 /* Line 1464 of yacc.c  */
13561 #line 704 "grammar.y"
13562     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
13563     break;
13564
13565   case 56:
13566
13567 /* Line 1464 of yacc.c  */
13568 #line 705 "grammar.y"
13569     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13570     break;
13571
13572   case 57:
13573
13574 /* Line 1464 of yacc.c  */
13575 #line 706 "grammar.y"
13576     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13577     break;
13578
13579   case 58:
13580
13581 /* Line 1464 of yacc.c  */
13582 #line 707 "grammar.y"
13583     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13584     break;
13585
13586   case 59:
13587
13588 /* Line 1464 of yacc.c  */
13589 #line 708 "grammar.y"
13590     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13591     break;
13592
13593   case 60:
13594
13595 /* Line 1464 of yacc.c  */
13596 #line 709 "grammar.y"
13597     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13598     break;
13599
13600   case 61:
13601
13602 /* Line 1464 of yacc.c  */
13603 #line 710 "grammar.y"
13604     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
13605     break;
13606
13607   case 63:
13608
13609 /* Line 1464 of yacc.c  */
13610 #line 712 "grammar.y"
13611     { MembersInit members = MkMembersInitList(MkList()); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13612     break;
13613
13614   case 65:
13615
13616 /* Line 1464 of yacc.c  */
13617 #line 717 "grammar.y"
13618     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13619     break;
13620
13621   case 66:
13622
13623 /* Line 1464 of yacc.c  */
13624 #line 718 "grammar.y"
13625     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13626     break;
13627
13628   case 67:
13629
13630 /* Line 1464 of yacc.c  */
13631 #line 719 "grammar.y"
13632     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13633     break;
13634
13635   case 68:
13636
13637 /* Line 1464 of yacc.c  */
13638 #line 723 "grammar.y"
13639     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13640     break;
13641
13642   case 69:
13643
13644 /* Line 1464 of yacc.c  */
13645 #line 724 "grammar.y"
13646     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13647     break;
13648
13649   case 70:
13650
13651 /* Line 1464 of yacc.c  */
13652 #line 725 "grammar.y"
13653     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13654     break;
13655
13656   case 71:
13657
13658 /* Line 1464 of yacc.c  */
13659 #line 726 "grammar.y"
13660     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13661     break;
13662
13663   case 72:
13664
13665 /* Line 1464 of yacc.c  */
13666 #line 727 "grammar.y"
13667     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13668     break;
13669
13670   case 73:
13671
13672 /* Line 1464 of yacc.c  */
13673 #line 728 "grammar.y"
13674     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13675     break;
13676
13677   case 74:
13678
13679 /* Line 1464 of yacc.c  */
13680 #line 729 "grammar.y"
13681     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13682     break;
13683
13684   case 75:
13685
13686 /* Line 1464 of yacc.c  */
13687 #line 734 "grammar.y"
13688     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
13689     break;
13690
13691   case 76:
13692
13693 /* Line 1464 of yacc.c  */
13694 #line 736 "grammar.y"
13695     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
13696     break;
13697
13698   case 77:
13699
13700 /* Line 1464 of yacc.c  */
13701 #line 741 "grammar.y"
13702     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13703     break;
13704
13705   case 78:
13706
13707 /* Line 1464 of yacc.c  */
13708 #line 743 "grammar.y"
13709     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (5)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13710     break;
13711
13712   case 79:
13713
13714 /* Line 1464 of yacc.c  */
13715 #line 745 "grammar.y"
13716     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13717     break;
13718
13719   case 80:
13720
13721 /* Line 1464 of yacc.c  */
13722 #line 747 "grammar.y"
13723     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (3)].list), MkExpIdentifier((yyvsp[(2) - (3)].id)), null); (yyval.instance).exp.loc = (yylsp[(2) - (3)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (3)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13724     break;
13725
13726   case 81:
13727
13728 /* Line 1464 of yacc.c  */
13729 #line 749 "grammar.y"
13730     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13731     break;
13732
13733   case 82:
13734
13735 /* Line 1464 of yacc.c  */
13736 #line 779 "grammar.y"
13737     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13738     break;
13739
13740   case 83:
13741
13742 /* Line 1464 of yacc.c  */
13743 #line 781 "grammar.y"
13744     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13745     break;
13746
13747   case 84:
13748
13749 /* Line 1464 of yacc.c  */
13750 #line 786 "grammar.y"
13751     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list));(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13752     break;
13753
13754   case 85:
13755
13756 /* Line 1464 of yacc.c  */
13757 #line 788 "grammar.y"
13758     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (5)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13759     break;
13760
13761   case 86:
13762
13763 /* Line 1464 of yacc.c  */
13764 #line 790 "grammar.y"
13765     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list));(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13766     break;
13767
13768   case 87:
13769
13770 /* Line 1464 of yacc.c  */
13771 #line 792 "grammar.y"
13772     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (3)].list), MkExpIdentifier((yyvsp[(2) - (3)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (3)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (3)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13773     break;
13774
13775   case 88:
13776
13777 /* Line 1464 of yacc.c  */
13778 #line 794 "grammar.y"
13779     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13780     break;
13781
13782   case 89:
13783
13784 /* Line 1464 of yacc.c  */
13785 #line 823 "grammar.y"
13786     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(5) - (5)]).start;;}
13787     break;
13788
13789   case 90:
13790
13791 /* Line 1464 of yacc.c  */
13792 #line 825 "grammar.y"
13793     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(5) - (5)]).start;;}
13794     break;
13795
13796   case 91:
13797
13798 /* Line 1464 of yacc.c  */
13799 #line 827 "grammar.y"
13800     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), MkList());  (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).start;;}
13801     break;
13802
13803   case 92:
13804
13805 /* Line 1464 of yacc.c  */
13806 #line 832 "grammar.y"
13807     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
13808     break;
13809
13810   case 93:
13811
13812 /* Line 1464 of yacc.c  */
13813 #line 834 "grammar.y"
13814     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
13815     break;
13816
13817   case 94:
13818
13819 /* Line 1464 of yacc.c  */
13820 #line 839 "grammar.y"
13821     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13822     break;
13823
13824   case 95:
13825
13826 /* Line 1464 of yacc.c  */
13827 #line 841 "grammar.y"
13828     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13829       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
13830     break;
13831
13832   case 96:
13833
13834 /* Line 1464 of yacc.c  */
13835 #line 845 "grammar.y"
13836     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13837     break;
13838
13839   case 97:
13840
13841 /* Line 1464 of yacc.c  */
13842 #line 847 "grammar.y"
13843     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (2)].specifier), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13844     break;
13845
13846   case 98:
13847
13848 /* Line 1464 of yacc.c  */
13849 #line 849 "grammar.y"
13850     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (4)].specifier), null, (yyvsp[(3) - (4)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13851     break;
13852
13853   case 99:
13854
13855 /* Line 1464 of yacc.c  */
13856 #line 851 "grammar.y"
13857     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++;  ;}
13858     break;
13859
13860   case 100:
13861
13862 /* Line 1464 of yacc.c  */
13863 #line 856 "grammar.y"
13864     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13865       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
13866     break;
13867
13868   case 101:
13869
13870 /* Line 1464 of yacc.c  */
13871 #line 859 "grammar.y"
13872     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]); 
13873       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (2)].id).string), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (2)].id)); ;}
13874     break;
13875
13876   case 102:
13877
13878 /* Line 1464 of yacc.c  */
13879 #line 862 "grammar.y"
13880     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]); 
13881       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (4)].id).string), null, (yyvsp[(3) - (4)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (4)].id)); ;}
13882     break;
13883
13884   case 103:
13885
13886 /* Line 1464 of yacc.c  */
13887 #line 865 "grammar.y"
13888     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13889       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
13890     break;
13891
13892   case 104:
13893
13894 /* Line 1464 of yacc.c  */
13895 #line 930 "grammar.y"
13896     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13897     break;
13898
13899   case 105:
13900
13901 /* Line 1464 of yacc.c  */
13902 #line 932 "grammar.y"
13903     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13904     break;
13905
13906   case 106:
13907
13908 /* Line 1464 of yacc.c  */
13909 #line 937 "grammar.y"
13910     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (2)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13911     break;
13912
13913   case 107:
13914
13915 /* Line 1464 of yacc.c  */
13916 #line 939 "grammar.y"
13917     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13918     break;
13919
13920   case 108:
13921
13922 /* Line 1464 of yacc.c  */
13923 #line 941 "grammar.y"
13924     { (yyval.instance) = MkInstantiation(null, null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(1) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++;  ;}
13925     break;
13926
13927   case 109:
13928
13929 /* Line 1464 of yacc.c  */
13930 #line 943 "grammar.y"
13931     { (yyval.instance) = MkInstantiation(null, null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (1)]).end; (yyval.instance).insideLoc.end = (yylsp[(1) - (1)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13932     break;
13933
13934   case 110:
13935
13936 /* Line 1464 of yacc.c  */
13937 #line 945 "grammar.y"
13938     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (2)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13939     break;
13940
13941   case 111:
13942
13943 /* Line 1464 of yacc.c  */
13944 #line 975 "grammar.y"
13945     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
13946     break;
13947
13948   case 112:
13949
13950 /* Line 1464 of yacc.c  */
13951 #line 979 "grammar.y"
13952     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
13953     break;
13954
13955   case 113:
13956
13957 /* Line 1464 of yacc.c  */
13958 #line 980 "grammar.y"
13959     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy())); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end; (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end; ;}
13960     break;
13961
13962   case 114:
13963
13964 /* Line 1464 of yacc.c  */
13965 #line 981 "grammar.y"
13966     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
13967     break;
13968
13969   case 115:
13970
13971 /* Line 1464 of yacc.c  */
13972 #line 985 "grammar.y"
13973     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
13974     break;
13975
13976   case 116:
13977
13978 /* Line 1464 of yacc.c  */
13979 #line 986 "grammar.y"
13980     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13981     break;
13982
13983   case 117:
13984
13985 /* Line 1464 of yacc.c  */
13986 #line 987 "grammar.y"
13987     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13988     break;
13989
13990   case 118:
13991
13992 /* Line 1464 of yacc.c  */
13993 #line 991 "grammar.y"
13994     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
13995     break;
13996
13997   case 119:
13998
13999 /* Line 1464 of yacc.c  */
14000 #line 992 "grammar.y"
14001     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14002     break;
14003
14004   case 120:
14005
14006 /* Line 1464 of yacc.c  */
14007 #line 993 "grammar.y"
14008     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14009     break;
14010
14011   case 122:
14012
14013 /* Line 1464 of yacc.c  */
14014 #line 999 "grammar.y"
14015     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14016     break;
14017
14018   case 123:
14019
14020 /* Line 1464 of yacc.c  */
14021 #line 1002 "grammar.y"
14022     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14023     break;
14024
14025   case 124:
14026
14027 /* Line 1464 of yacc.c  */
14028 #line 1005 "grammar.y"
14029     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14030     break;
14031
14032   case 125:
14033
14034 /* Line 1464 of yacc.c  */
14035 #line 1008 "grammar.y"
14036     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14037     break;
14038
14039   case 126:
14040
14041 /* Line 1464 of yacc.c  */
14042 #line 1011 "grammar.y"
14043     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14044     break;
14045
14046   case 128:
14047
14048 /* Line 1464 of yacc.c  */
14049 #line 1017 "grammar.y"
14050     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14051     break;
14052
14053   case 129:
14054
14055 /* Line 1464 of yacc.c  */
14056 #line 1019 "grammar.y"
14057     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14058     break;
14059
14060   case 130:
14061
14062 /* Line 1464 of yacc.c  */
14063 #line 1021 "grammar.y"
14064     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
14065     break;
14066
14067   case 131:
14068
14069 /* Line 1464 of yacc.c  */
14070 #line 1023 "grammar.y"
14071     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
14072     break;
14073
14074   case 132:
14075
14076 /* Line 1464 of yacc.c  */
14077 #line 1025 "grammar.y"
14078     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
14079     break;
14080
14081   case 133:
14082
14083 /* Line 1464 of yacc.c  */
14084 #line 1029 "grammar.y"
14085     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
14086     break;
14087
14088   case 134:
14089
14090 /* Line 1464 of yacc.c  */
14091 #line 1034 "grammar.y"
14092     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14093     break;
14094
14095   case 135:
14096
14097 /* Line 1464 of yacc.c  */
14098 #line 1037 "grammar.y"
14099     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14100     break;
14101
14102   case 136:
14103
14104 /* Line 1464 of yacc.c  */
14105 #line 1040 "grammar.y"
14106     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14107     break;
14108
14109   case 137:
14110
14111 /* Line 1464 of yacc.c  */
14112 #line 1043 "grammar.y"
14113     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14114     break;
14115
14116   case 138:
14117
14118 /* Line 1464 of yacc.c  */
14119 #line 1046 "grammar.y"
14120     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14121     break;
14122
14123   case 140:
14124
14125 /* Line 1464 of yacc.c  */
14126 #line 1052 "grammar.y"
14127     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14128     break;
14129
14130   case 141:
14131
14132 /* Line 1464 of yacc.c  */
14133 #line 1054 "grammar.y"
14134     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14135     break;
14136
14137   case 142:
14138
14139 /* Line 1464 of yacc.c  */
14140 #line 1058 "grammar.y"
14141     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
14142     break;
14143
14144   case 143:
14145
14146 /* Line 1464 of yacc.c  */
14147 #line 1063 "grammar.y"
14148     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
14149     break;
14150
14151   case 144:
14152
14153 /* Line 1464 of yacc.c  */
14154 #line 1065 "grammar.y"
14155     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
14156     break;
14157
14158   case 145:
14159
14160 /* Line 1464 of yacc.c  */
14161 #line 1070 "grammar.y"
14162     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
14163     break;
14164
14165   case 146:
14166
14167 /* Line 1464 of yacc.c  */
14168 #line 1072 "grammar.y"
14169     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14170     break;
14171
14172   case 147:
14173
14174 /* Line 1464 of yacc.c  */
14175 #line 1077 "grammar.y"
14176     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14177     break;
14178
14179   case 148:
14180
14181 /* Line 1464 of yacc.c  */
14182 #line 1079 "grammar.y"
14183     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14184     break;
14185
14186   case 149:
14187
14188 /* Line 1464 of yacc.c  */
14189 #line 1084 "grammar.y"
14190     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14191     break;
14192
14193   case 150:
14194
14195 /* Line 1464 of yacc.c  */
14196 #line 1089 "grammar.y"
14197     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14198     break;
14199
14200   case 151:
14201
14202 /* Line 1464 of yacc.c  */
14203 #line 1091 "grammar.y"
14204     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14205     break;
14206
14207   case 152:
14208
14209 /* Line 1464 of yacc.c  */
14210 #line 1096 "grammar.y"
14211     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14212     break;
14213
14214   case 153:
14215
14216 /* Line 1464 of yacc.c  */
14217 #line 1098 "grammar.y"
14218     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14219     break;
14220
14221   case 154:
14222
14223 /* Line 1464 of yacc.c  */
14224 #line 1100 "grammar.y"
14225     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14226     break;
14227
14228   case 155:
14229
14230 /* Line 1464 of yacc.c  */
14231 #line 1102 "grammar.y"
14232     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14233     break;
14234
14235   case 156:
14236
14237 /* Line 1464 of yacc.c  */
14238 #line 1107 "grammar.y"
14239     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14240     break;
14241
14242   case 157:
14243
14244 /* Line 1464 of yacc.c  */
14245 #line 1109 "grammar.y"
14246     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14247     break;
14248
14249   case 158:
14250
14251 /* Line 1464 of yacc.c  */
14252 #line 1111 "grammar.y"
14253     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14254     break;
14255
14256   case 159:
14257
14258 /* Line 1464 of yacc.c  */
14259 #line 1113 "grammar.y"
14260     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14261     break;
14262
14263   case 160:
14264
14265 /* Line 1464 of yacc.c  */
14266 #line 1117 "grammar.y"
14267     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).start; ;}
14268     break;
14269
14270   case 161:
14271
14272 /* Line 1464 of yacc.c  */
14273 #line 1118 "grammar.y"
14274     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (2)].list)); if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).start; (yyval.classDef).loc = (yyloc); ;}
14275     break;
14276
14277   case 162:
14278
14279 /* Line 1464 of yacc.c  */
14280 #line 1119 "grammar.y"
14281     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14282     break;
14283
14284   case 163:
14285
14286 /* Line 1464 of yacc.c  */
14287 #line 1120 "grammar.y"
14288     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14289     break;
14290
14291   case 164:
14292
14293 /* Line 1464 of yacc.c  */
14294 #line 1121 "grammar.y"
14295     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14296     break;
14297
14298   case 165:
14299
14300 /* Line 1464 of yacc.c  */
14301 #line 1122 "grammar.y"
14302     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14303     break;
14304
14305   case 166:
14306
14307 /* Line 1464 of yacc.c  */
14308 #line 1123 "grammar.y"
14309     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14310     break;
14311
14312   case 167:
14313
14314 /* Line 1464 of yacc.c  */
14315 #line 1124 "grammar.y"
14316     { (yyval.classDef) = null; deleteWatchable = true; ;}
14317     break;
14318
14319   case 168:
14320
14321 /* Line 1464 of yacc.c  */
14322 #line 1125 "grammar.y"
14323     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14324     break;
14325
14326   case 169:
14327
14328 /* Line 1464 of yacc.c  */
14329 #line 1126 "grammar.y"
14330     { (yyval.classDef) = MkClassDefFixed(); ;}
14331     break;
14332
14333   case 170:
14334
14335 /* Line 1464 of yacc.c  */
14336 #line 1127 "grammar.y"
14337     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
14338     break;
14339
14340   case 171:
14341
14342 /* Line 1464 of yacc.c  */
14343 #line 1129 "grammar.y"
14344     { (yyval.classDef) = null; ;}
14345     break;
14346
14347   case 172:
14348
14349 /* Line 1464 of yacc.c  */
14350 #line 1130 "grammar.y"
14351     { memberAccessStack[defaultMemberAccess] = (yyvsp[(1) - (2)].declMode); if(defaultMemberAccess == 0) { (yyval.classDef) = MkClassDefMemberAccess(); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); (yyval.classDef).loc = (yyloc); } else (yyval.classDef) = null; ;}
14352     break;
14353
14354   case 173:
14355
14356 /* Line 1464 of yacc.c  */
14357 #line 1132 "grammar.y"
14358     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
14359     break;
14360
14361   case 174:
14362
14363 /* Line 1464 of yacc.c  */
14364 #line 1136 "grammar.y"
14365     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyvsp[(1) - (1)].classFunction).loc;  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14366     break;
14367
14368   case 175:
14369
14370 /* Line 1464 of yacc.c  */
14371 #line 1139 "grammar.y"
14372     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14373     break;
14374
14375   case 176:
14376
14377 /* Line 1464 of yacc.c  */
14378 #line 1140 "grammar.y"
14379     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14380     break;
14381
14382   case 177:
14383
14384 /* Line 1464 of yacc.c  */
14385 #line 1141 "grammar.y"
14386     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14387     break;
14388
14389   case 178:
14390
14391 /* Line 1464 of yacc.c  */
14392 #line 1142 "grammar.y"
14393     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (2)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14394     break;
14395
14396   case 179:
14397
14398 /* Line 1464 of yacc.c  */
14399 #line 1143 "grammar.y"
14400     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14401     break;
14402
14403   case 180:
14404
14405 /* Line 1464 of yacc.c  */
14406 #line 1144 "grammar.y"
14407     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14408     break;
14409
14410   case 181:
14411
14412 /* Line 1464 of yacc.c  */
14413 #line 1145 "grammar.y"
14414     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
14415     break;
14416
14417   case 182:
14418
14419 /* Line 1464 of yacc.c  */
14420 #line 1146 "grammar.y"
14421     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14422     break;
14423
14424   case 183:
14425
14426 /* Line 1464 of yacc.c  */
14427 #line 1147 "grammar.y"
14428     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
14429     break;
14430
14431   case 184:
14432
14433 /* Line 1464 of yacc.c  */
14434 #line 1148 "grammar.y"
14435     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
14436     break;
14437
14438   case 185:
14439
14440 /* Line 1464 of yacc.c  */
14441 #line 1149 "grammar.y"
14442     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
14443     break;
14444
14445   case 186:
14446
14447 /* Line 1464 of yacc.c  */
14448 #line 1150 "grammar.y"
14449     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14450     break;
14451
14452   case 187:
14453
14454 /* Line 1464 of yacc.c  */
14455 #line 1151 "grammar.y"
14456     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14457     break;
14458
14459   case 188:
14460
14461 /* Line 1464 of yacc.c  */
14462 #line 1152 "grammar.y"
14463     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); if((yyvsp[(1) - (1)].list)->last) ((MemberInit)(yyvsp[(1) - (1)].list)->last).loc.end = (yylsp[(1) - (1)]).end; (yyval.classDef).loc = (yyloc); ;}
14464     break;
14465
14466   case 189:
14467
14468 /* Line 1464 of yacc.c  */
14469 #line 1154 "grammar.y"
14470     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (2)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14471     break;
14472
14473   case 190:
14474
14475 /* Line 1464 of yacc.c  */
14476 #line 1155 "grammar.y"
14477     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (2)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14478     break;
14479
14480   case 191:
14481
14482 /* Line 1464 of yacc.c  */
14483 #line 1159 "grammar.y"
14484     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14485     break;
14486
14487   case 192:
14488
14489 /* Line 1464 of yacc.c  */
14490 #line 1160 "grammar.y"
14491     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14492     break;
14493
14494   case 193:
14495
14496 /* Line 1464 of yacc.c  */
14497 #line 1161 "grammar.y"
14498     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14499     break;
14500
14501   case 194:
14502
14503 /* Line 1464 of yacc.c  */
14504 #line 1165 "grammar.y"
14505     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
14506     break;
14507
14508   case 195:
14509
14510 /* Line 1464 of yacc.c  */
14511 #line 1169 "grammar.y"
14512     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14513     break;
14514
14515   case 196:
14516
14517 /* Line 1464 of yacc.c  */
14518 #line 1170 "grammar.y"
14519     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14520     break;
14521
14522   case 197:
14523
14524 /* Line 1464 of yacc.c  */
14525 #line 1171 "grammar.y"
14526     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14527     break;
14528
14529   case 198:
14530
14531 /* Line 1464 of yacc.c  */
14532 #line 1175 "grammar.y"
14533     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14534     break;
14535
14536   case 201:
14537
14538 /* Line 1464 of yacc.c  */
14539 #line 1178 "grammar.y"
14540     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14541     break;
14542
14543   case 202:
14544
14545 /* Line 1464 of yacc.c  */
14546 #line 1179 "grammar.y"
14547     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14548     break;
14549
14550   case 203:
14551
14552 /* Line 1464 of yacc.c  */
14553 #line 1183 "grammar.y"
14554     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
14555     break;
14556
14557   case 204:
14558
14559 /* Line 1464 of yacc.c  */
14560 #line 1184 "grammar.y"
14561     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
14562     break;
14563
14564   case 205:
14565
14566 /* Line 1464 of yacc.c  */
14567 #line 1185 "grammar.y"
14568     { (yyval.templateDatatype) = MkTemplateDatatype(MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)), null); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
14569     break;
14570
14571   case 206:
14572
14573 /* Line 1464 of yacc.c  */
14574 #line 1189 "grammar.y"
14575     { (yyval.templateArgument) = MkTemplateTypeArgument((yyvsp[(1) - (1)].templateDatatype)); ;}
14576     break;
14577
14578   case 207:
14579
14580 /* Line 1464 of yacc.c  */
14581 #line 1193 "grammar.y"
14582     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
14583     break;
14584
14585   case 208:
14586
14587 /* Line 1464 of yacc.c  */
14588 #line 1194 "grammar.y"
14589     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14590     break;
14591
14592   case 209:
14593
14594 /* Line 1464 of yacc.c  */
14595 #line 1195 "grammar.y"
14596     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14597     break;
14598
14599   case 210:
14600
14601 /* Line 1464 of yacc.c  */
14602 #line 1196 "grammar.y"
14603     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14604     break;
14605
14606   case 211:
14607
14608 /* Line 1464 of yacc.c  */
14609 #line 1197 "grammar.y"
14610     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
14611     break;
14612
14613   case 212:
14614
14615 /* Line 1464 of yacc.c  */
14616 #line 1198 "grammar.y"
14617     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14618     break;
14619
14620   case 213:
14621
14622 /* Line 1464 of yacc.c  */
14623 #line 1199 "grammar.y"
14624     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14625     break;
14626
14627   case 214:
14628
14629 /* Line 1464 of yacc.c  */
14630 #line 1200 "grammar.y"
14631     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14632     break;
14633
14634   case 215:
14635
14636 /* Line 1464 of yacc.c  */
14637 #line 1204 "grammar.y"
14638     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
14639     break;
14640
14641   case 216:
14642
14643 /* Line 1464 of yacc.c  */
14644 #line 1208 "grammar.y"
14645     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
14646     break;
14647
14648   case 217:
14649
14650 /* Line 1464 of yacc.c  */
14651 #line 1209 "grammar.y"
14652     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
14653     break;
14654
14655   case 218:
14656
14657 /* Line 1464 of yacc.c  */
14658 #line 1213 "grammar.y"
14659     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
14660     break;
14661
14662   case 219:
14663
14664 /* Line 1464 of yacc.c  */
14665 #line 1217 "grammar.y"
14666     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (2)].id), (yyvsp[(1) - (2)].templateDatatype), null); ;}
14667     break;
14668
14669   case 220:
14670
14671 /* Line 1464 of yacc.c  */
14672 #line 1218 "grammar.y"
14673     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(1) - (4)].templateDatatype), (yyvsp[(4) - (4)].templateArgument)); ;}
14674     break;
14675
14676   case 224:
14677
14678 /* Line 1464 of yacc.c  */
14679 #line 1228 "grammar.y"
14680     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
14681     break;
14682
14683   case 225:
14684
14685 /* Line 1464 of yacc.c  */
14686 #line 1229 "grammar.y"
14687     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
14688     break;
14689
14690   case 229:
14691
14692 /* Line 1464 of yacc.c  */
14693 #line 1236 "grammar.y"
14694     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14695     break;
14696
14697   case 230:
14698
14699 /* Line 1464 of yacc.c  */
14700 #line 1237 "grammar.y"
14701     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14702     break;
14703
14704   case 231:
14705
14706 /* Line 1464 of yacc.c  */
14707 #line 1238 "grammar.y"
14708     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14709     break;
14710
14711   case 232:
14712
14713 /* Line 1464 of yacc.c  */
14714 #line 1240 "grammar.y"
14715     {
14716       (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); 
14717       if((yyvsp[(1) - (3)].templateDatatype).specifiers && (yyvsp[(1) - (3)].templateDatatype).specifiers->first)
14718       {
14719          Specifier spec = (yyvsp[(1) - (3)].templateDatatype).specifiers->first;
14720          if(spec.type == nameSpecifier)
14721             (yyval.templateArgument).name = MkIdentifier(spec.name);
14722       }
14723       FreeTemplateDataType((yyvsp[(1) - (3)].templateDatatype));
14724       (yyval.templateArgument).loc = (yyloc);
14725    ;}
14726     break;
14727
14728   case 233:
14729
14730 /* Line 1464 of yacc.c  */
14731 #line 1252 "grammar.y"
14732     {
14733       (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); 
14734       if((yyvsp[(1) - (3)].templateDatatype).specifiers && (yyvsp[(1) - (3)].templateDatatype).specifiers->first)
14735       {
14736          Specifier spec = (yyvsp[(1) - (3)].templateDatatype).specifiers->first;
14737          if(spec.type == nameSpecifier)
14738             (yyval.templateArgument).name = MkIdentifier(spec.name);
14739       }
14740       FreeTemplateDataType((yyvsp[(1) - (3)].templateDatatype));
14741       (yyval.templateArgument).loc = (yyloc);
14742    ;}
14743     break;
14744
14745   case 234:
14746
14747 /* Line 1464 of yacc.c  */
14748 #line 1264 "grammar.y"
14749     {
14750       (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); 
14751       if((yyvsp[(1) - (3)].templateDatatype).specifiers && (yyvsp[(1) - (3)].templateDatatype).specifiers->first)
14752       {
14753          Specifier spec = (yyvsp[(1) - (3)].templateDatatype).specifiers->first;
14754          if(spec.type == nameSpecifier)
14755             (yyval.templateArgument).name = MkIdentifier(spec.name);
14756       }
14757       FreeTemplateDataType((yyvsp[(1) - (3)].templateDatatype));
14758       (yyval.templateArgument).loc = (yyloc);
14759    ;}
14760     break;
14761
14762   case 235:
14763
14764 /* Line 1464 of yacc.c  */
14765 #line 1278 "grammar.y"
14766     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
14767     break;
14768
14769   case 236:
14770
14771 /* Line 1464 of yacc.c  */
14772 #line 1279 "grammar.y"
14773     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
14774     break;
14775
14776   case 237:
14777
14778 /* Line 1464 of yacc.c  */
14779 #line 1284 "grammar.y"
14780     {
14781       if(curContext != globalContext)
14782          PopContext(curContext);
14783       (yyval.context) = PushContext();
14784    ;}
14785     break;
14786
14787   case 238:
14788
14789 /* Line 1464 of yacc.c  */
14790 #line 1291 "grammar.y"
14791     { (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14792     break;
14793
14794   case 239:
14795
14796 /* Line 1464 of yacc.c  */
14797 #line 1293 "grammar.y"
14798     { 
14799       (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); 
14800       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); 
14801       FreeSpecifier((yyvsp[(2) - (2)].specifier)); 
14802       ++defaultMemberAccess;
14803       memberAccessStack[defaultMemberAccess] = privateAccess;
14804    ;}
14805     break;
14806
14807   case 240:
14808
14809 /* Line 1464 of yacc.c  */
14810 #line 1300 "grammar.y"
14811     { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14812     break;
14813
14814   case 241:
14815
14816 /* Line 1464 of yacc.c  */
14817 #line 1301 "grammar.y"
14818     { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14819     break;
14820
14821   case 242:
14822
14823 /* Line 1464 of yacc.c  */
14824 #line 1303 "grammar.y"
14825     { (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14826     break;
14827
14828   case 243:
14829
14830 /* Line 1464 of yacc.c  */
14831 #line 1305 "grammar.y"
14832     { 
14833       (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
14834       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); 
14835       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); 
14836       FreeSpecifier((yyvsp[(2) - (5)].specifier)); 
14837       ++defaultMemberAccess;
14838       memberAccessStack[defaultMemberAccess] = privateAccess;
14839    ;}
14840     break;
14841
14842   case 244:
14843
14844 /* Line 1464 of yacc.c  */
14845 #line 1313 "grammar.y"
14846     { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14847     break;
14848
14849   case 245:
14850
14851 /* Line 1464 of yacc.c  */
14852 #line 1314 "grammar.y"
14853     { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14854     break;
14855
14856   case 246:
14857
14858 /* Line 1464 of yacc.c  */
14859 #line 1319 "grammar.y"
14860     {
14861          (yyval._class).loc = (yyloc);
14862          (yyval._class) = (yyvsp[(1) - (2)]._class); 
14863       ;}
14864     break;
14865
14866   case 247:
14867
14868 /* Line 1464 of yacc.c  */
14869 #line 1326 "grammar.y"
14870     {
14871          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
14872          POP_DEFAULT_ACCESS
14873          PopContext(curContext);
14874       ;}
14875     break;
14876
14877   case 248:
14878
14879 /* Line 1464 of yacc.c  */
14880 #line 1333 "grammar.y"
14881     {
14882          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
14883          POP_DEFAULT_ACCESS
14884          PopContext(curContext);
14885       ;}
14886     break;
14887
14888   case 249:
14889
14890 /* Line 1464 of yacc.c  */
14891 #line 1339 "grammar.y"
14892     {
14893          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
14894          POP_DEFAULT_ACCESS
14895          PopContext(curContext);
14896       ;}
14897     break;
14898
14899   case 250:
14900
14901 /* Line 1464 of yacc.c  */
14902 #line 1346 "grammar.y"
14903     {
14904          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
14905          POP_DEFAULT_ACCESS
14906          PopContext(curContext);
14907       ;}
14908     break;
14909
14910   case 251:
14911
14912 /* Line 1464 of yacc.c  */
14913 #line 1352 "grammar.y"
14914     {
14915          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
14916          POP_DEFAULT_ACCESS
14917          PopContext(curContext);
14918       ;}
14919     break;
14920
14921   case 252:
14922
14923 /* Line 1464 of yacc.c  */
14924 #line 1361 "grammar.y"
14925     {
14926          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
14927       ;}
14928     break;
14929
14930   case 253:
14931
14932 /* Line 1464 of yacc.c  */
14933 #line 1368 "grammar.y"
14934     {
14935          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
14936          POP_DEFAULT_ACCESS
14937          PopContext(curContext);
14938       ;}
14939     break;
14940
14941   case 254:
14942
14943 /* Line 1464 of yacc.c  */
14944 #line 1374 "grammar.y"
14945     {
14946          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
14947          POP_DEFAULT_ACCESS
14948          PopContext(curContext);
14949       ;}
14950     break;
14951
14952   case 255:
14953
14954 /* Line 1464 of yacc.c  */
14955 #line 1380 "grammar.y"
14956     {
14957          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
14958          POP_DEFAULT_ACCESS
14959          PopContext(curContext);
14960       ;}
14961     break;
14962
14963   case 256:
14964
14965 /* Line 1464 of yacc.c  */
14966 #line 1386 "grammar.y"
14967     {
14968          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
14969          POP_DEFAULT_ACCESS
14970          PopContext(curContext);
14971       ;}
14972     break;
14973
14974   case 257:
14975
14976 /* Line 1464 of yacc.c  */
14977 #line 1392 "grammar.y"
14978     {
14979          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
14980          POP_DEFAULT_ACCESS
14981          PopContext(curContext);
14982       ;}
14983     break;
14984
14985   case 258:
14986
14987 /* Line 1464 of yacc.c  */
14988 #line 1398 "grammar.y"
14989     {
14990          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
14991          POP_DEFAULT_ACCESS
14992          PopContext(curContext);
14993       ;}
14994     break;
14995
14996   case 259:
14997
14998 /* Line 1464 of yacc.c  */
14999 #line 1409 "grammar.y"
15000     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
15001     break;
15002
15003   case 261:
15004
15005 /* Line 1464 of yacc.c  */
15006 #line 1415 "grammar.y"
15007     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15008     break;
15009
15010   case 262:
15011
15012 /* Line 1464 of yacc.c  */
15013 #line 1419 "grammar.y"
15014     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
15015     break;
15016
15017   case 263:
15018
15019 /* Line 1464 of yacc.c  */
15020 #line 1420 "grammar.y"
15021     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
15022     break;
15023
15024   case 264:
15025
15026 /* Line 1464 of yacc.c  */
15027 #line 1421 "grammar.y"
15028     { (yyval.exp) = MkExpIntlString((yyvsp[(4) - (4)].string), (yyvsp[(2) - (4)].string)); delete (yyvsp[(2) - (4)].string); delete (yyvsp[(4) - (4)].string); (yyval.exp).loc = (yyloc); ;}
15029     break;
15030
15031   case 265:
15032
15033 /* Line 1464 of yacc.c  */
15034 #line 1425 "grammar.y"
15035     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
15036     break;
15037
15038   case 266:
15039
15040 /* Line 1464 of yacc.c  */
15041 #line 1426 "grammar.y"
15042     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15043     break;
15044
15045   case 267:
15046
15047 /* Line 1464 of yacc.c  */
15048 #line 1427 "grammar.y"
15049     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
15050     break;
15051
15052   case 268:
15053
15054 /* Line 1464 of yacc.c  */
15055 #line 1428 "grammar.y"
15056     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15057     break;
15058
15059   case 269:
15060
15061 /* Line 1464 of yacc.c  */
15062 #line 1429 "grammar.y"
15063     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
15064     break;
15065
15066   case 270:
15067
15068 /* Line 1464 of yacc.c  */
15069 #line 1430 "grammar.y"
15070     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
15071     break;
15072
15073   case 271:
15074
15075 /* Line 1464 of yacc.c  */
15076 #line 1431 "grammar.y"
15077     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
15078     break;
15079
15080   case 273:
15081
15082 /* Line 1464 of yacc.c  */
15083 #line 1433 "grammar.y"
15084     { Expression exp = MkExpDummy(); exp.loc.start = (yylsp[(1) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).start; (yyval.exp) = MkExpBrackets(MkListOne(exp)); (yyval.exp).loc = (yyloc); yyerror(); ;}
15085     break;
15086
15087   case 274:
15088
15089 /* Line 1464 of yacc.c  */
15090 #line 1434 "grammar.y"
15091     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15092     break;
15093
15094   case 275:
15095
15096 /* Line 1464 of yacc.c  */
15097 #line 1435 "grammar.y"
15098     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15099     break;
15100
15101   case 276:
15102
15103 /* Line 1464 of yacc.c  */
15104 #line 1436 "grammar.y"
15105     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15106     break;
15107
15108   case 277:
15109
15110 /* Line 1464 of yacc.c  */
15111 #line 1437 "grammar.y"
15112     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15113     break;
15114
15115   case 278:
15116
15117 /* Line 1464 of yacc.c  */
15118 #line 1438 "grammar.y"
15119     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15120     break;
15121
15122   case 279:
15123
15124 /* Line 1464 of yacc.c  */
15125 #line 1439 "grammar.y"
15126     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15127     break;
15128
15129   case 280:
15130
15131 /* Line 1464 of yacc.c  */
15132 #line 1440 "grammar.y"
15133     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15134     break;
15135
15136   case 281:
15137
15138 /* Line 1464 of yacc.c  */
15139 #line 1441 "grammar.y"
15140     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15141     break;
15142
15143   case 282:
15144
15145 /* Line 1464 of yacc.c  */
15146 #line 1442 "grammar.y"
15147     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15148     break;
15149
15150   case 283:
15151
15152 /* Line 1464 of yacc.c  */
15153 #line 1443 "grammar.y"
15154     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15155     break;
15156
15157   case 284:
15158
15159 /* Line 1464 of yacc.c  */
15160 #line 1444 "grammar.y"
15161     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15162     break;
15163
15164   case 285:
15165
15166 /* Line 1464 of yacc.c  */
15167 #line 1445 "grammar.y"
15168     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15169     break;
15170
15171   case 286:
15172
15173 /* Line 1464 of yacc.c  */
15174 #line 1446 "grammar.y"
15175     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15176     break;
15177
15178   case 287:
15179
15180 /* Line 1464 of yacc.c  */
15181 #line 1447 "grammar.y"
15182     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15183     break;
15184
15185   case 288:
15186
15187 /* Line 1464 of yacc.c  */
15188 #line 1448 "grammar.y"
15189     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15190     break;
15191
15192   case 289:
15193
15194 /* Line 1464 of yacc.c  */
15195 #line 1449 "grammar.y"
15196     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15197     break;
15198
15199   case 290:
15200
15201 /* Line 1464 of yacc.c  */
15202 #line 1450 "grammar.y"
15203     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
15204     break;
15205
15206   case 291:
15207
15208 /* Line 1464 of yacc.c  */
15209 #line 1451 "grammar.y"
15210     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
15211     break;
15212
15213   case 292:
15214
15215 /* Line 1464 of yacc.c  */
15216 #line 1452 "grammar.y"
15217     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15218     break;
15219
15220   case 293:
15221
15222 /* Line 1464 of yacc.c  */
15223 #line 1453 "grammar.y"
15224     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15225     break;
15226
15227   case 294:
15228
15229 /* Line 1464 of yacc.c  */
15230 #line 1455 "grammar.y"
15231     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15232     break;
15233
15234   case 299:
15235
15236 /* Line 1464 of yacc.c  */
15237 #line 1461 "grammar.y"
15238     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15239     break;
15240
15241   case 300:
15242
15243 /* Line 1464 of yacc.c  */
15244 #line 1465 "grammar.y"
15245     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15246     break;
15247
15248   case 301:
15249
15250 /* Line 1464 of yacc.c  */
15251 #line 1469 "grammar.y"
15252     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15253     break;
15254
15255   case 302:
15256
15257 /* Line 1464 of yacc.c  */
15258 #line 1473 "grammar.y"
15259     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15260     break;
15261
15262   case 303:
15263
15264 /* Line 1464 of yacc.c  */
15265 #line 1474 "grammar.y"
15266     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15267     break;
15268
15269   case 305:
15270
15271 /* Line 1464 of yacc.c  */
15272 #line 1480 "grammar.y"
15273     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15274     break;
15275
15276   case 306:
15277
15278 /* Line 1464 of yacc.c  */
15279 #line 1481 "grammar.y"
15280     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15281     break;
15282
15283   case 307:
15284
15285 /* Line 1464 of yacc.c  */
15286 #line 1482 "grammar.y"
15287     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
15288     break;
15289
15290   case 308:
15291
15292 /* Line 1464 of yacc.c  */
15293 #line 1483 "grammar.y"
15294     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); ;}
15295     break;
15296
15297   case 309:
15298
15299 /* Line 1464 of yacc.c  */
15300 #line 1484 "grammar.y"
15301     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); if((yyvsp[(3) - (4)].list)->last) ((Expression)(yyvsp[(3) - (4)].list)->last).loc.end = (yylsp[(4) - (4)]).start; ;}
15302     break;
15303
15304   case 310:
15305
15306 /* Line 1464 of yacc.c  */
15307 #line 1485 "grammar.y"
15308     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15309     break;
15310
15311   case 311:
15312
15313 /* Line 1464 of yacc.c  */
15314 #line 1486 "grammar.y"
15315     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15316     break;
15317
15318   case 312:
15319
15320 /* Line 1464 of yacc.c  */
15321 #line 1487 "grammar.y"
15322     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15323     break;
15324
15325   case 313:
15326
15327 /* Line 1464 of yacc.c  */
15328 #line 1488 "grammar.y"
15329     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15330     break;
15331
15332   case 314:
15333
15334 /* Line 1464 of yacc.c  */
15335 #line 1490 "grammar.y"
15336     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15337     break;
15338
15339   case 315:
15340
15341 /* Line 1464 of yacc.c  */
15342 #line 1491 "grammar.y"
15343     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15344     break;
15345
15346   case 316:
15347
15348 /* Line 1464 of yacc.c  */
15349 #line 1492 "grammar.y"
15350     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
15351     break;
15352
15353   case 317:
15354
15355 /* Line 1464 of yacc.c  */
15356 #line 1493 "grammar.y"
15357     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end;(yyval.exp).loc = (yyloc); ;}
15358     break;
15359
15360   case 318:
15361
15362 /* Line 1464 of yacc.c  */
15363 #line 1494 "grammar.y"
15364     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15365     break;
15366
15367   case 319:
15368
15369 /* Line 1464 of yacc.c  */
15370 #line 1495 "grammar.y"
15371     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15372     break;
15373
15374   case 320:
15375
15376 /* Line 1464 of yacc.c  */
15377 #line 1496 "grammar.y"
15378     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15379     break;
15380
15381   case 321:
15382
15383 /* Line 1464 of yacc.c  */
15384 #line 1497 "grammar.y"
15385     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15386     break;
15387
15388   case 323:
15389
15390 /* Line 1464 of yacc.c  */
15391 #line 1503 "grammar.y"
15392     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15393     break;
15394
15395   case 324:
15396
15397 /* Line 1464 of yacc.c  */
15398 #line 1504 "grammar.y"
15399     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15400     break;
15401
15402   case 325:
15403
15404 /* Line 1464 of yacc.c  */
15405 #line 1505 "grammar.y"
15406     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
15407     break;
15408
15409   case 326:
15410
15411 /* Line 1464 of yacc.c  */
15412 #line 1506 "grammar.y"
15413     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); ;}
15414     break;
15415
15416   case 327:
15417
15418 /* Line 1464 of yacc.c  */
15419 #line 1507 "grammar.y"
15420     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); if((yyvsp[(3) - (4)].list)->last) ((Expression)(yyvsp[(3) - (4)].list)->last).loc.end = (yylsp[(4) - (4)]).start; ;}
15421     break;
15422
15423   case 328:
15424
15425 /* Line 1464 of yacc.c  */
15426 #line 1508 "grammar.y"
15427     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15428     break;
15429
15430   case 329:
15431
15432 /* Line 1464 of yacc.c  */
15433 #line 1509 "grammar.y"
15434     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15435     break;
15436
15437   case 330:
15438
15439 /* Line 1464 of yacc.c  */
15440 #line 1510 "grammar.y"
15441     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15442     break;
15443
15444   case 331:
15445
15446 /* Line 1464 of yacc.c  */
15447 #line 1511 "grammar.y"
15448     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15449     break;
15450
15451   case 332:
15452
15453 /* Line 1464 of yacc.c  */
15454 #line 1513 "grammar.y"
15455     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15456     break;
15457
15458   case 333:
15459
15460 /* Line 1464 of yacc.c  */
15461 #line 1514 "grammar.y"
15462     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15463     break;
15464
15465   case 334:
15466
15467 /* Line 1464 of yacc.c  */
15468 #line 1515 "grammar.y"
15469     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
15470     break;
15471
15472   case 335:
15473
15474 /* Line 1464 of yacc.c  */
15475 #line 1516 "grammar.y"
15476     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end;(yyval.exp).loc = (yyloc); ;}
15477     break;
15478
15479   case 336:
15480
15481 /* Line 1464 of yacc.c  */
15482 #line 1517 "grammar.y"
15483     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15484     break;
15485
15486   case 337:
15487
15488 /* Line 1464 of yacc.c  */
15489 #line 1518 "grammar.y"
15490     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15491     break;
15492
15493   case 338:
15494
15495 /* Line 1464 of yacc.c  */
15496 #line 1519 "grammar.y"
15497     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15498     break;
15499
15500   case 339:
15501
15502 /* Line 1464 of yacc.c  */
15503 #line 1520 "grammar.y"
15504     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15505     break;
15506
15507   case 340:
15508
15509 /* Line 1464 of yacc.c  */
15510 #line 1524 "grammar.y"
15511     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15512     break;
15513
15514   case 341:
15515
15516 /* Line 1464 of yacc.c  */
15517 #line 1525 "grammar.y"
15518     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15519     break;
15520
15521   case 342:
15522
15523 /* Line 1464 of yacc.c  */
15524 #line 1526 "grammar.y"
15525     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15526     break;
15527
15528   case 343:
15529
15530 /* Line 1464 of yacc.c  */
15531 #line 1527 "grammar.y"
15532     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15533     break;
15534
15535   case 344:
15536
15537 /* Line 1464 of yacc.c  */
15538 #line 1531 "grammar.y"
15539     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15540     break;
15541
15542   case 345:
15543
15544 /* Line 1464 of yacc.c  */
15545 #line 1532 "grammar.y"
15546     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15547     break;
15548
15549   case 346:
15550
15551 /* Line 1464 of yacc.c  */
15552 #line 1533 "grammar.y"
15553     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15554     break;
15555
15556   case 347:
15557
15558 /* Line 1464 of yacc.c  */
15559 #line 1534 "grammar.y"
15560     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15561     break;
15562
15563   case 348:
15564
15565 /* Line 1464 of yacc.c  */
15566 #line 1535 "grammar.y"
15567     { Expression exp = MkExpDummy(); exp.loc.start = (yylsp[(2) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), exp); ;}
15568     break;
15569
15570   case 349:
15571
15572 /* Line 1464 of yacc.c  */
15573 #line 1539 "grammar.y"
15574     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15575     break;
15576
15577   case 350:
15578
15579 /* Line 1464 of yacc.c  */
15580 #line 1540 "grammar.y"
15581     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15582     break;
15583
15584   case 351:
15585
15586 /* Line 1464 of yacc.c  */
15587 #line 1541 "grammar.y"
15588     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15589     break;
15590
15591   case 352:
15592
15593 /* Line 1464 of yacc.c  */
15594 #line 1542 "grammar.y"
15595     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15596     break;
15597
15598   case 353:
15599
15600 /* Line 1464 of yacc.c  */
15601 #line 1543 "grammar.y"
15602     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15603     break;
15604
15605   case 354:
15606
15607 /* Line 1464 of yacc.c  */
15608 #line 1544 "grammar.y"
15609     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15610     break;
15611
15612   case 355:
15613
15614 /* Line 1464 of yacc.c  */
15615 #line 1545 "grammar.y"
15616     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15617     break;
15618
15619   case 356:
15620
15621 /* Line 1464 of yacc.c  */
15622 #line 1546 "grammar.y"
15623     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15624     break;
15625
15626   case 357:
15627
15628 /* Line 1464 of yacc.c  */
15629 #line 1547 "grammar.y"
15630     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15631     break;
15632
15633   case 358:
15634
15635 /* Line 1464 of yacc.c  */
15636 #line 1549 "grammar.y"
15637     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15638     break;
15639
15640   case 359:
15641
15642 /* Line 1464 of yacc.c  */
15643 #line 1550 "grammar.y"
15644     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15645     break;
15646
15647   case 360:
15648
15649 /* Line 1464 of yacc.c  */
15650 #line 1551 "grammar.y"
15651     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15652     break;
15653
15654   case 365:
15655
15656 /* Line 1464 of yacc.c  */
15657 #line 1565 "grammar.y"
15658     { (yyval.i) = '&'; ;}
15659     break;
15660
15661   case 366:
15662
15663 /* Line 1464 of yacc.c  */
15664 #line 1566 "grammar.y"
15665     { (yyval.i) = '*'; ;}
15666     break;
15667
15668   case 367:
15669
15670 /* Line 1464 of yacc.c  */
15671 #line 1567 "grammar.y"
15672     { (yyval.i) = '+'; ;}
15673     break;
15674
15675   case 368:
15676
15677 /* Line 1464 of yacc.c  */
15678 #line 1568 "grammar.y"
15679     { (yyval.i) = '-'; ;}
15680     break;
15681
15682   case 369:
15683
15684 /* Line 1464 of yacc.c  */
15685 #line 1569 "grammar.y"
15686     { (yyval.i) = '~'; ;}
15687     break;
15688
15689   case 370:
15690
15691 /* Line 1464 of yacc.c  */
15692 #line 1570 "grammar.y"
15693     { (yyval.i) = '!'; ;}
15694     break;
15695
15696   case 371:
15697
15698 /* Line 1464 of yacc.c  */
15699 #line 1571 "grammar.y"
15700     { (yyval.i) = DELETE; ;}
15701     break;
15702
15703   case 372:
15704
15705 /* Line 1464 of yacc.c  */
15706 #line 1572 "grammar.y"
15707     { (yyval.i) = _INCREF; ;}
15708     break;
15709
15710   case 374:
15711
15712 /* Line 1464 of yacc.c  */
15713 #line 1577 "grammar.y"
15714     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15715     break;
15716
15717   case 376:
15718
15719 /* Line 1464 of yacc.c  */
15720 #line 1582 "grammar.y"
15721     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15722     break;
15723
15724   case 377:
15725
15726 /* Line 1464 of yacc.c  */
15727 #line 1583 "grammar.y"
15728     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15729     break;
15730
15731   case 378:
15732
15733 /* Line 1464 of yacc.c  */
15734 #line 1584 "grammar.y"
15735     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15736     break;
15737
15738   case 379:
15739
15740 /* Line 1464 of yacc.c  */
15741 #line 1585 "grammar.y"
15742     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15743     break;
15744
15745   case 380:
15746
15747 /* Line 1464 of yacc.c  */
15748 #line 1586 "grammar.y"
15749     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15750     break;
15751
15752   case 381:
15753
15754 /* Line 1464 of yacc.c  */
15755 #line 1587 "grammar.y"
15756     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15757     break;
15758
15759   case 383:
15760
15761 /* Line 1464 of yacc.c  */
15762 #line 1592 "grammar.y"
15763     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15764     break;
15765
15766   case 384:
15767
15768 /* Line 1464 of yacc.c  */
15769 #line 1593 "grammar.y"
15770     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15771     break;
15772
15773   case 385:
15774
15775 /* Line 1464 of yacc.c  */
15776 #line 1594 "grammar.y"
15777     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15778     break;
15779
15780   case 386:
15781
15782 /* Line 1464 of yacc.c  */
15783 #line 1595 "grammar.y"
15784     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15785     break;
15786
15787   case 388:
15788
15789 /* Line 1464 of yacc.c  */
15790 #line 1600 "grammar.y"
15791     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15792     break;
15793
15794   case 389:
15795
15796 /* Line 1464 of yacc.c  */
15797 #line 1601 "grammar.y"
15798     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15799     break;
15800
15801   case 390:
15802
15803 /* Line 1464 of yacc.c  */
15804 #line 1602 "grammar.y"
15805     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15806     break;
15807
15808   case 391:
15809
15810 /* Line 1464 of yacc.c  */
15811 #line 1603 "grammar.y"
15812     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15813     break;
15814
15815   case 392:
15816
15817 /* Line 1464 of yacc.c  */
15818 #line 1608 "grammar.y"
15819     {
15820       (yyval.exp) = (yyvsp[(1) - (2)].exp);
15821       skipErrors = true;
15822    ;}
15823     break;
15824
15825   case 394:
15826
15827 /* Line 1464 of yacc.c  */
15828 #line 1616 "grammar.y"
15829     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
15830     break;
15831
15832   case 395:
15833
15834 /* Line 1464 of yacc.c  */
15835 #line 1617 "grammar.y"
15836     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15837     break;
15838
15839   case 396:
15840
15841 /* Line 1464 of yacc.c  */
15842 #line 1618 "grammar.y"
15843     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15844     break;
15845
15846   case 397:
15847
15848 /* Line 1464 of yacc.c  */
15849 #line 1619 "grammar.y"
15850     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15851     break;
15852
15853   case 398:
15854
15855 /* Line 1464 of yacc.c  */
15856 #line 1620 "grammar.y"
15857     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15858     break;
15859
15860   case 399:
15861
15862 /* Line 1464 of yacc.c  */
15863 #line 1621 "grammar.y"
15864     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15865     break;
15866
15867   case 400:
15868
15869 /* Line 1464 of yacc.c  */
15870 #line 1622 "grammar.y"
15871     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15872     break;
15873
15874   case 401:
15875
15876 /* Line 1464 of yacc.c  */
15877 #line 1623 "grammar.y"
15878     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15879     break;
15880
15881   case 403:
15882
15883 /* Line 1464 of yacc.c  */
15884 #line 1628 "grammar.y"
15885     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15886     break;
15887
15888   case 404:
15889
15890 /* Line 1464 of yacc.c  */
15891 #line 1629 "grammar.y"
15892     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15893     break;
15894
15895   case 405:
15896
15897 /* Line 1464 of yacc.c  */
15898 #line 1630 "grammar.y"
15899     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15900     break;
15901
15902   case 406:
15903
15904 /* Line 1464 of yacc.c  */
15905 #line 1631 "grammar.y"
15906     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15907     break;
15908
15909   case 407:
15910
15911 /* Line 1464 of yacc.c  */
15912 #line 1633 "grammar.y"
15913     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15914     break;
15915
15916   case 408:
15917
15918 /* Line 1464 of yacc.c  */
15919 #line 1634 "grammar.y"
15920     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15921     break;
15922
15923   case 409:
15924
15925 /* Line 1464 of yacc.c  */
15926 #line 1635 "grammar.y"
15927     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15928     break;
15929
15930   case 410:
15931
15932 /* Line 1464 of yacc.c  */
15933 #line 1636 "grammar.y"
15934     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15935     break;
15936
15937   case 412:
15938
15939 /* Line 1464 of yacc.c  */
15940 #line 1641 "grammar.y"
15941     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15942     break;
15943
15944   case 413:
15945
15946 /* Line 1464 of yacc.c  */
15947 #line 1642 "grammar.y"
15948     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15949     break;
15950
15951   case 414:
15952
15953 /* Line 1464 of yacc.c  */
15954 #line 1644 "grammar.y"
15955     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15956     break;
15957
15958   case 415:
15959
15960 /* Line 1464 of yacc.c  */
15961 #line 1645 "grammar.y"
15962     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15963     break;
15964
15965   case 417:
15966
15967 /* Line 1464 of yacc.c  */
15968 #line 1650 "grammar.y"
15969     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15970     break;
15971
15972   case 418:
15973
15974 /* Line 1464 of yacc.c  */
15975 #line 1651 "grammar.y"
15976     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15977     break;
15978
15979   case 419:
15980
15981 /* Line 1464 of yacc.c  */
15982 #line 1653 "grammar.y"
15983     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15984     break;
15985
15986   case 420:
15987
15988 /* Line 1464 of yacc.c  */
15989 #line 1654 "grammar.y"
15990     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15991     break;
15992
15993   case 422:
15994
15995 /* Line 1464 of yacc.c  */
15996 #line 1659 "grammar.y"
15997     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15998     break;
15999
16000   case 423:
16001
16002 /* Line 1464 of yacc.c  */
16003 #line 1660 "grammar.y"
16004     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16005     break;
16006
16007   case 424:
16008
16009 /* Line 1464 of yacc.c  */
16010 #line 1662 "grammar.y"
16011     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16012     break;
16013
16014   case 425:
16015
16016 /* Line 1464 of yacc.c  */
16017 #line 1663 "grammar.y"
16018     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16019     break;
16020
16021   case 427:
16022
16023 /* Line 1464 of yacc.c  */
16024 #line 1668 "grammar.y"
16025     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16026     break;
16027
16028   case 428:
16029
16030 /* Line 1464 of yacc.c  */
16031 #line 1669 "grammar.y"
16032     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16033     break;
16034
16035   case 430:
16036
16037 /* Line 1464 of yacc.c  */
16038 #line 1674 "grammar.y"
16039     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16040     break;
16041
16042   case 431:
16043
16044 /* Line 1464 of yacc.c  */
16045 #line 1675 "grammar.y"
16046     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16047     break;
16048
16049   case 433:
16050
16051 /* Line 1464 of yacc.c  */
16052 #line 1680 "grammar.y"
16053     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16054     break;
16055
16056   case 434:
16057
16058 /* Line 1464 of yacc.c  */
16059 #line 1681 "grammar.y"
16060     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16061     break;
16062
16063   case 435:
16064
16065 /* Line 1464 of yacc.c  */
16066 #line 1682 "grammar.y"
16067     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16068     break;
16069
16070   case 436:
16071
16072 /* Line 1464 of yacc.c  */
16073 #line 1683 "grammar.y"
16074     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16075     break;
16076
16077   case 437:
16078
16079 /* Line 1464 of yacc.c  */
16080 #line 1685 "grammar.y"
16081     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16082     break;
16083
16084   case 438:
16085
16086 /* Line 1464 of yacc.c  */
16087 #line 1686 "grammar.y"
16088     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16089     break;
16090
16091   case 439:
16092
16093 /* Line 1464 of yacc.c  */
16094 #line 1687 "grammar.y"
16095     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16096     break;
16097
16098   case 440:
16099
16100 /* Line 1464 of yacc.c  */
16101 #line 1688 "grammar.y"
16102     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16103     break;
16104
16105   case 441:
16106
16107 /* Line 1464 of yacc.c  */
16108 #line 1690 "grammar.y"
16109     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16110     break;
16111
16112   case 442:
16113
16114 /* Line 1464 of yacc.c  */
16115 #line 1691 "grammar.y"
16116     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16117     break;
16118
16119   case 443:
16120
16121 /* Line 1464 of yacc.c  */
16122 #line 1692 "grammar.y"
16123     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16124     break;
16125
16126   case 444:
16127
16128 /* Line 1464 of yacc.c  */
16129 #line 1693 "grammar.y"
16130     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16131     break;
16132
16133   case 445:
16134
16135 /* Line 1464 of yacc.c  */
16136 #line 1695 "grammar.y"
16137     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16138     break;
16139
16140   case 446:
16141
16142 /* Line 1464 of yacc.c  */
16143 #line 1696 "grammar.y"
16144     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16145     break;
16146
16147   case 447:
16148
16149 /* Line 1464 of yacc.c  */
16150 #line 1697 "grammar.y"
16151     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16152     break;
16153
16154   case 448:
16155
16156 /* Line 1464 of yacc.c  */
16157 #line 1698 "grammar.y"
16158     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16159     break;
16160
16161   case 450:
16162
16163 /* Line 1464 of yacc.c  */
16164 #line 1703 "grammar.y"
16165     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16166     break;
16167
16168   case 451:
16169
16170 /* Line 1464 of yacc.c  */
16171 #line 1704 "grammar.y"
16172     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16173     break;
16174
16175   case 452:
16176
16177 /* Line 1464 of yacc.c  */
16178 #line 1705 "grammar.y"
16179     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16180     break;
16181
16182   case 453:
16183
16184 /* Line 1464 of yacc.c  */
16185 #line 1706 "grammar.y"
16186     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16187     break;
16188
16189   case 454:
16190
16191 /* Line 1464 of yacc.c  */
16192 #line 1708 "grammar.y"
16193     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16194     break;
16195
16196   case 455:
16197
16198 /* Line 1464 of yacc.c  */
16199 #line 1709 "grammar.y"
16200     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16201     break;
16202
16203   case 456:
16204
16205 /* Line 1464 of yacc.c  */
16206 #line 1710 "grammar.y"
16207     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16208     break;
16209
16210   case 457:
16211
16212 /* Line 1464 of yacc.c  */
16213 #line 1711 "grammar.y"
16214     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16215     break;
16216
16217   case 458:
16218
16219 /* Line 1464 of yacc.c  */
16220 #line 1715 "grammar.y"
16221     { (yyval.i) = '='; ;}
16222     break;
16223
16224   case 459:
16225
16226 /* Line 1464 of yacc.c  */
16227 #line 1716 "grammar.y"
16228     { (yyval.i) = MUL_ASSIGN; ;}
16229     break;
16230
16231   case 460:
16232
16233 /* Line 1464 of yacc.c  */
16234 #line 1717 "grammar.y"
16235     { (yyval.i) = DIV_ASSIGN; ;}
16236     break;
16237
16238   case 461:
16239
16240 /* Line 1464 of yacc.c  */
16241 #line 1718 "grammar.y"
16242     { (yyval.i) = MOD_ASSIGN; ;}
16243     break;
16244
16245   case 462:
16246
16247 /* Line 1464 of yacc.c  */
16248 #line 1719 "grammar.y"
16249     { (yyval.i) = ADD_ASSIGN; ;}
16250     break;
16251
16252   case 463:
16253
16254 /* Line 1464 of yacc.c  */
16255 #line 1720 "grammar.y"
16256     { (yyval.i) = SUB_ASSIGN; ;}
16257     break;
16258
16259   case 464:
16260
16261 /* Line 1464 of yacc.c  */
16262 #line 1721 "grammar.y"
16263     { (yyval.i) = LEFT_ASSIGN; ;}
16264     break;
16265
16266   case 465:
16267
16268 /* Line 1464 of yacc.c  */
16269 #line 1722 "grammar.y"
16270     { (yyval.i) = RIGHT_ASSIGN; ;}
16271     break;
16272
16273   case 466:
16274
16275 /* Line 1464 of yacc.c  */
16276 #line 1723 "grammar.y"
16277     { (yyval.i) = AND_ASSIGN; ;}
16278     break;
16279
16280   case 467:
16281
16282 /* Line 1464 of yacc.c  */
16283 #line 1724 "grammar.y"
16284     { (yyval.i) = XOR_ASSIGN; ;}
16285     break;
16286
16287   case 468:
16288
16289 /* Line 1464 of yacc.c  */
16290 #line 1725 "grammar.y"
16291     { (yyval.i) = OR_ASSIGN; ;}
16292     break;
16293
16294   case 469:
16295
16296 /* Line 1464 of yacc.c  */
16297 #line 1729 "grammar.y"
16298     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16299     break;
16300
16301   case 470:
16302
16303 /* Line 1464 of yacc.c  */
16304 #line 1730 "grammar.y"
16305     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16306     break;
16307
16308   case 471:
16309
16310 /* Line 1464 of yacc.c  */
16311 #line 1731 "grammar.y"
16312     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16313     break;
16314
16315   case 473:
16316
16317 /* Line 1464 of yacc.c  */
16318 #line 1736 "grammar.y"
16319     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16320     break;
16321
16322   case 474:
16323
16324 /* Line 1464 of yacc.c  */
16325 #line 1737 "grammar.y"
16326     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16327     break;
16328
16329   case 475:
16330
16331 /* Line 1464 of yacc.c  */
16332 #line 1738 "grammar.y"
16333     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16334     break;
16335
16336   case 477:
16337
16338 /* Line 1464 of yacc.c  */
16339 #line 1743 "grammar.y"
16340     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16341     break;
16342
16343   case 479:
16344
16345 /* Line 1464 of yacc.c  */
16346 #line 1745 "grammar.y"
16347     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16348     break;
16349
16350   case 480:
16351
16352 /* Line 1464 of yacc.c  */
16353 #line 1747 "grammar.y"
16354     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16355     break;
16356
16357   case 481:
16358
16359 /* Line 1464 of yacc.c  */
16360 #line 1748 "grammar.y"
16361     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16362     break;
16363
16364   case 482:
16365
16366 /* Line 1464 of yacc.c  */
16367 #line 1750 "grammar.y"
16368     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16369     break;
16370
16371   case 483:
16372
16373 /* Line 1464 of yacc.c  */
16374 #line 1751 "grammar.y"
16375     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16376     break;
16377
16378   case 484:
16379
16380 /* Line 1464 of yacc.c  */
16381 #line 1756 "grammar.y"
16382     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16383     break;
16384
16385   case 485:
16386
16387 /* Line 1464 of yacc.c  */
16388 #line 1758 "grammar.y"
16389     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
16390     break;
16391
16392   case 486:
16393
16394 /* Line 1464 of yacc.c  */
16395 #line 1763 "grammar.y"
16396     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16397     break;
16398
16399   case 487:
16400
16401 /* Line 1464 of yacc.c  */
16402 #line 1767 "grammar.y"
16403     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); ;}
16404     break;
16405
16406   case 489:
16407
16408 /* Line 1464 of yacc.c  */
16409 #line 1769 "grammar.y"
16410     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16411     break;
16412
16413   case 490:
16414
16415 /* Line 1464 of yacc.c  */
16416 #line 1771 "grammar.y"
16417     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16418     break;
16419
16420   case 491:
16421
16422 /* Line 1464 of yacc.c  */
16423 #line 1772 "grammar.y"
16424     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16425     break;
16426
16427   case 492:
16428
16429 /* Line 1464 of yacc.c  */
16430 #line 1774 "grammar.y"
16431     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16432     break;
16433
16434   case 493:
16435
16436 /* Line 1464 of yacc.c  */
16437 #line 1775 "grammar.y"
16438     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16439     break;
16440
16441   case 494:
16442
16443 /* Line 1464 of yacc.c  */
16444 #line 1780 "grammar.y"
16445     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16446     break;
16447
16448   case 495:
16449
16450 /* Line 1464 of yacc.c  */
16451 #line 1782 "grammar.y"
16452     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
16453     break;
16454
16455   case 496:
16456
16457 /* Line 1464 of yacc.c  */
16458 #line 1787 "grammar.y"
16459     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16460     break;
16461
16462   case 497:
16463
16464 /* Line 1464 of yacc.c  */
16465 #line 1791 "grammar.y"
16466     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16467     break;
16468
16469   case 498:
16470
16471 /* Line 1464 of yacc.c  */
16472 #line 1792 "grammar.y"
16473     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16474     break;
16475
16476   case 499:
16477
16478 /* Line 1464 of yacc.c  */
16479 #line 1793 "grammar.y"
16480     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16481     break;
16482
16483   case 500:
16484
16485 /* Line 1464 of yacc.c  */
16486 #line 1794 "grammar.y"
16487     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16488     break;
16489
16490   case 501:
16491
16492 /* Line 1464 of yacc.c  */
16493 #line 1795 "grammar.y"
16494     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16495     break;
16496
16497   case 502:
16498
16499 /* Line 1464 of yacc.c  */
16500 #line 1796 "grammar.y"
16501     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16502     break;
16503
16504   case 503:
16505
16506 /* Line 1464 of yacc.c  */
16507 #line 1797 "grammar.y"
16508     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16509     break;
16510
16511   case 504:
16512
16513 /* Line 1464 of yacc.c  */
16514 #line 1798 "grammar.y"
16515     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16516     break;
16517
16518   case 505:
16519
16520 /* Line 1464 of yacc.c  */
16521 #line 1799 "grammar.y"
16522     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16523     break;
16524
16525   case 506:
16526
16527 /* Line 1464 of yacc.c  */
16528 #line 1800 "grammar.y"
16529     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16530     break;
16531
16532   case 507:
16533
16534 /* Line 1464 of yacc.c  */
16535 #line 1801 "grammar.y"
16536     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16537     break;
16538
16539   case 508:
16540
16541 /* Line 1464 of yacc.c  */
16542 #line 1802 "grammar.y"
16543     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16544     break;
16545
16546   case 514:
16547
16548 /* Line 1464 of yacc.c  */
16549 #line 1818 "grammar.y"
16550     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16551     break;
16552
16553   case 516:
16554
16555 /* Line 1464 of yacc.c  */
16556 #line 1823 "grammar.y"
16557     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16558     break;
16559
16560   case 517:
16561
16562 /* Line 1464 of yacc.c  */
16563 #line 1824 "grammar.y"
16564     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16565     break;
16566
16567   case 518:
16568
16569 /* Line 1464 of yacc.c  */
16570 #line 1825 "grammar.y"
16571     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16572     break;
16573
16574   case 519:
16575
16576 /* Line 1464 of yacc.c  */
16577 #line 1826 "grammar.y"
16578     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16579     break;
16580
16581   case 520:
16582
16583 /* Line 1464 of yacc.c  */
16584 #line 1827 "grammar.y"
16585     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16586     break;
16587
16588   case 521:
16589
16590 /* Line 1464 of yacc.c  */
16591 #line 1828 "grammar.y"
16592     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16593     break;
16594
16595   case 523:
16596
16597 /* Line 1464 of yacc.c  */
16598 #line 1833 "grammar.y"
16599     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16600     break;
16601
16602   case 524:
16603
16604 /* Line 1464 of yacc.c  */
16605 #line 1837 "grammar.y"
16606     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16607     break;
16608
16609   case 525:
16610
16611 /* Line 1464 of yacc.c  */
16612 #line 1841 "grammar.y"
16613     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16614     break;
16615
16616   case 526:
16617
16618 /* Line 1464 of yacc.c  */
16619 #line 1845 "grammar.y"
16620     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16621     break;
16622
16623   case 528:
16624
16625 /* Line 1464 of yacc.c  */
16626 #line 1853 "grammar.y"
16627     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16628     break;
16629
16630   case 529:
16631
16632 /* Line 1464 of yacc.c  */
16633 #line 1854 "grammar.y"
16634     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16635     break;
16636
16637   case 530:
16638
16639 /* Line 1464 of yacc.c  */
16640 #line 1855 "grammar.y"
16641     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16642     break;
16643
16644   case 531:
16645
16646 /* Line 1464 of yacc.c  */
16647 #line 1856 "grammar.y"
16648     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16649     break;
16650
16651   case 533:
16652
16653 /* Line 1464 of yacc.c  */
16654 #line 1862 "grammar.y"
16655     {
16656       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16657       {
16658          if((yyvsp[(1) - (2)].exp).identifier._class && !(yyvsp[(1) - (2)].exp).identifier._class.name)
16659          {
16660             char name[1024];
16661             strcpy(name, "::");
16662             strcat(name, (yyvsp[(1) - (2)].exp).identifier.string);
16663             _DeclClass(0, name);
16664          }
16665          else
16666             _DeclClass(0, (yyvsp[(1) - (2)].exp).identifier.string);
16667
16668          // printf("Declaring Class %s\n", $1.identifier.string);
16669          skipErrors = false;
16670
16671          FreeExpression((yyvsp[(1) - (2)].exp));
16672          FreeExpression((yyvsp[(2) - (2)].exp));
16673          
16674          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
16675          resetScannerPos(&(yylsp[(1) - (2)]).start);
16676          yyclearin;
16677
16678          YYPOPSTACK(1);
16679          yystate = *yyssp;
16680          YY_STACK_PRINT (yyss, yyssp);
16681
16682          YYPOPSTACK(1);
16683          yystate = *yyssp;
16684          YY_STACK_PRINT (yyss, yyssp);
16685 /*         
16686          YYPOPSTACK(1);
16687          yystate = *yyssp;
16688          YY_STACK_PRINT (yyss, yyssp);
16689
16690          YYPOPSTACK(1);
16691          yystate = *yyssp;
16692          YY_STACK_PRINT (yyss, yyssp);
16693 */
16694          yyerrok;
16695
16696          goto yysetstate;
16697       }
16698       else
16699       {
16700          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
16701          (yyval.exp).loc = (yyloc);
16702       } 
16703       skipErrors = false;
16704    ;}
16705     break;
16706
16707   case 534:
16708
16709 /* Line 1464 of yacc.c  */
16710 #line 1912 "grammar.y"
16711     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16712     break;
16713
16714   case 535:
16715
16716 /* Line 1464 of yacc.c  */
16717 #line 1913 "grammar.y"
16718     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16719     break;
16720
16721   case 536:
16722
16723 /* Line 1464 of yacc.c  */
16724 #line 1914 "grammar.y"
16725     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16726     break;
16727
16728   case 537:
16729
16730 /* Line 1464 of yacc.c  */
16731 #line 1915 "grammar.y"
16732     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16733     break;
16734
16735   case 538:
16736
16737 /* Line 1464 of yacc.c  */
16738 #line 1916 "grammar.y"
16739     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16740     break;
16741
16742   case 539:
16743
16744 /* Line 1464 of yacc.c  */
16745 #line 1917 "grammar.y"
16746     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16747     break;
16748
16749   case 540:
16750
16751 /* Line 1464 of yacc.c  */
16752 #line 1918 "grammar.y"
16753     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16754     break;
16755
16756   case 542:
16757
16758 /* Line 1464 of yacc.c  */
16759 #line 1923 "grammar.y"
16760     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16761     break;
16762
16763   case 543:
16764
16765 /* Line 1464 of yacc.c  */
16766 #line 1924 "grammar.y"
16767     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16768     break;
16769
16770   case 544:
16771
16772 /* Line 1464 of yacc.c  */
16773 #line 1925 "grammar.y"
16774     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16775     break;
16776
16777   case 545:
16778
16779 /* Line 1464 of yacc.c  */
16780 #line 1926 "grammar.y"
16781     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16782     break;
16783
16784   case 546:
16785
16786 /* Line 1464 of yacc.c  */
16787 #line 1933 "grammar.y"
16788     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16789     break;
16790
16791   case 547:
16792
16793 /* Line 1464 of yacc.c  */
16794 #line 1934 "grammar.y"
16795     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16796     break;
16797
16798   case 548:
16799
16800 /* Line 1464 of yacc.c  */
16801 #line 1935 "grammar.y"
16802     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16803     break;
16804
16805   case 549:
16806
16807 /* Line 1464 of yacc.c  */
16808 #line 1936 "grammar.y"
16809     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16810     break;
16811
16812   case 551:
16813
16814 /* Line 1464 of yacc.c  */
16815 #line 1941 "grammar.y"
16816     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16817     break;
16818
16819   case 552:
16820
16821 /* Line 1464 of yacc.c  */
16822 #line 1942 "grammar.y"
16823     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16824     break;
16825
16826   case 553:
16827
16828 /* Line 1464 of yacc.c  */
16829 #line 1944 "grammar.y"
16830     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16831     break;
16832
16833   case 554:
16834
16835 /* Line 1464 of yacc.c  */
16836 #line 1945 "grammar.y"
16837     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16838     break;
16839
16840   case 556:
16841
16842 /* Line 1464 of yacc.c  */
16843 #line 1950 "grammar.y"
16844     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16845     break;
16846
16847   case 557:
16848
16849 /* Line 1464 of yacc.c  */
16850 #line 1951 "grammar.y"
16851     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16852     break;
16853
16854   case 558:
16855
16856 /* Line 1464 of yacc.c  */
16857 #line 1953 "grammar.y"
16858     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16859     break;
16860
16861   case 559:
16862
16863 /* Line 1464 of yacc.c  */
16864 #line 1954 "grammar.y"
16865     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16866     break;
16867
16868   case 561:
16869
16870 /* Line 1464 of yacc.c  */
16871 #line 1959 "grammar.y"
16872     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16873     break;
16874
16875   case 562:
16876
16877 /* Line 1464 of yacc.c  */
16878 #line 1960 "grammar.y"
16879     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16880     break;
16881
16882   case 563:
16883
16884 /* Line 1464 of yacc.c  */
16885 #line 1962 "grammar.y"
16886     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16887     break;
16888
16889   case 564:
16890
16891 /* Line 1464 of yacc.c  */
16892 #line 1963 "grammar.y"
16893     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16894     break;
16895
16896   case 566:
16897
16898 /* Line 1464 of yacc.c  */
16899 #line 1968 "grammar.y"
16900     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16901     break;
16902
16903   case 567:
16904
16905 /* Line 1464 of yacc.c  */
16906 #line 1969 "grammar.y"
16907     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16908     break;
16909
16910   case 569:
16911
16912 /* Line 1464 of yacc.c  */
16913 #line 1974 "grammar.y"
16914     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16915     break;
16916
16917   case 570:
16918
16919 /* Line 1464 of yacc.c  */
16920 #line 1975 "grammar.y"
16921     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16922     break;
16923
16924   case 572:
16925
16926 /* Line 1464 of yacc.c  */
16927 #line 1980 "grammar.y"
16928     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16929     break;
16930
16931   case 573:
16932
16933 /* Line 1464 of yacc.c  */
16934 #line 1981 "grammar.y"
16935     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16936     break;
16937
16938   case 574:
16939
16940 /* Line 1464 of yacc.c  */
16941 #line 1982 "grammar.y"
16942     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16943     break;
16944
16945   case 575:
16946
16947 /* Line 1464 of yacc.c  */
16948 #line 1983 "grammar.y"
16949     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16950     break;
16951
16952   case 576:
16953
16954 /* Line 1464 of yacc.c  */
16955 #line 1984 "grammar.y"
16956     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16957     break;
16958
16959   case 577:
16960
16961 /* Line 1464 of yacc.c  */
16962 #line 1985 "grammar.y"
16963     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16964     break;
16965
16966   case 578:
16967
16968 /* Line 1464 of yacc.c  */
16969 #line 1986 "grammar.y"
16970     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16971     break;
16972
16973   case 579:
16974
16975 /* Line 1464 of yacc.c  */
16976 #line 1987 "grammar.y"
16977     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16978     break;
16979
16980   case 580:
16981
16982 /* Line 1464 of yacc.c  */
16983 #line 1989 "grammar.y"
16984     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16985     break;
16986
16987   case 581:
16988
16989 /* Line 1464 of yacc.c  */
16990 #line 1990 "grammar.y"
16991     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16992     break;
16993
16994   case 582:
16995
16996 /* Line 1464 of yacc.c  */
16997 #line 1991 "grammar.y"
16998     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16999     break;
17000
17001   case 583:
17002
17003 /* Line 1464 of yacc.c  */
17004 #line 1992 "grammar.y"
17005     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17006     break;
17007
17008   case 584:
17009
17010 /* Line 1464 of yacc.c  */
17011 #line 1993 "grammar.y"
17012     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17013     break;
17014
17015   case 585:
17016
17017 /* Line 1464 of yacc.c  */
17018 #line 1994 "grammar.y"
17019     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17020     break;
17021
17022   case 586:
17023
17024 /* Line 1464 of yacc.c  */
17025 #line 1995 "grammar.y"
17026     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17027     break;
17028
17029   case 587:
17030
17031 /* Line 1464 of yacc.c  */
17032 #line 1996 "grammar.y"
17033     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17034     break;
17035
17036   case 588:
17037
17038 /* Line 1464 of yacc.c  */
17039 #line 1998 "grammar.y"
17040     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17041     break;
17042
17043   case 589:
17044
17045 /* Line 1464 of yacc.c  */
17046 #line 1999 "grammar.y"
17047     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17048     break;
17049
17050   case 590:
17051
17052 /* Line 1464 of yacc.c  */
17053 #line 2000 "grammar.y"
17054     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17055     break;
17056
17057   case 591:
17058
17059 /* Line 1464 of yacc.c  */
17060 #line 2001 "grammar.y"
17061     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17062     break;
17063
17064   case 592:
17065
17066 /* Line 1464 of yacc.c  */
17067 #line 2003 "grammar.y"
17068     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17069     break;
17070
17071   case 593:
17072
17073 /* Line 1464 of yacc.c  */
17074 #line 2004 "grammar.y"
17075     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17076     break;
17077
17078   case 594:
17079
17080 /* Line 1464 of yacc.c  */
17081 #line 2005 "grammar.y"
17082     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17083     break;
17084
17085   case 595:
17086
17087 /* Line 1464 of yacc.c  */
17088 #line 2006 "grammar.y"
17089     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17090     break;
17091
17092   case 596:
17093
17094 /* Line 1464 of yacc.c  */
17095 #line 2009 "grammar.y"
17096     { 
17097          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy()); 
17098          (yyval.exp).loc = (yyloc); 
17099          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]); 
17100          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]); 
17101       ;}
17102     break;
17103
17104   case 597:
17105
17106 /* Line 1464 of yacc.c  */
17107 #line 2016 "grammar.y"
17108     {
17109          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17110       ;}
17111     break;
17112
17113   case 598:
17114
17115 /* Line 1464 of yacc.c  */
17116 #line 2020 "grammar.y"
17117     {
17118          (yyval.exp) = MkExpCondition((yyvsp[(1) - (2)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (2)]); (yyval.exp).cond.elseExp.loc = (yylsp[(2) - (2)]);
17119       ;}
17120     break;
17121
17122   case 599:
17123
17124 /* Line 1464 of yacc.c  */
17125 #line 2024 "grammar.y"
17126     {
17127          (yyval.exp) = MkExpCondition((yyvsp[(1) - (2)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (2)]); (yyval.exp).cond.elseExp.loc = (yylsp[(2) - (2)]);
17128       ;}
17129     break;
17130
17131   case 601:
17132
17133 /* Line 1464 of yacc.c  */
17134 #line 2031 "grammar.y"
17135     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17136     break;
17137
17138   case 602:
17139
17140 /* Line 1464 of yacc.c  */
17141 #line 2035 "grammar.y"
17142     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17143     break;
17144
17145   case 603:
17146
17147 /* Line 1464 of yacc.c  */
17148 #line 2040 "grammar.y"
17149     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17150     break;
17151
17152   case 604:
17153
17154 /* Line 1464 of yacc.c  */
17155 #line 2041 "grammar.y"
17156     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17157     break;
17158
17159   case 605:
17160
17161 /* Line 1464 of yacc.c  */
17162 #line 2045 "grammar.y"
17163     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17164     break;
17165
17166   case 606:
17167
17168 /* Line 1464 of yacc.c  */
17169 #line 2046 "grammar.y"
17170     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17171     break;
17172
17173   case 607:
17174
17175 /* Line 1464 of yacc.c  */
17176 #line 2047 "grammar.y"
17177     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17178     break;
17179
17180   case 608:
17181
17182 /* Line 1464 of yacc.c  */
17183 #line 2048 "grammar.y"
17184     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17185     break;
17186
17187   case 609:
17188
17189 /* Line 1464 of yacc.c  */
17190 #line 2054 "grammar.y"
17191     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17192     break;
17193
17194   case 610:
17195
17196 /* Line 1464 of yacc.c  */
17197 #line 2055 "grammar.y"
17198     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17199     break;
17200
17201   case 611:
17202
17203 /* Line 1464 of yacc.c  */
17204 #line 2056 "grammar.y"
17205     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17206     break;
17207
17208   case 612:
17209
17210 /* Line 1464 of yacc.c  */
17211 #line 2060 "grammar.y"
17212     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17213     break;
17214
17215   case 613:
17216
17217 /* Line 1464 of yacc.c  */
17218 #line 2061 "grammar.y"
17219     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17220     break;
17221
17222   case 614:
17223
17224 /* Line 1464 of yacc.c  */
17225 #line 2062 "grammar.y"
17226     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17227     break;
17228
17229   case 615:
17230
17231 /* Line 1464 of yacc.c  */
17232 #line 2063 "grammar.y"
17233     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17234     break;
17235
17236   case 618:
17237
17238 /* Line 1464 of yacc.c  */
17239 #line 2073 "grammar.y"
17240     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17241     break;
17242
17243   case 619:
17244
17245 /* Line 1464 of yacc.c  */
17246 #line 2074 "grammar.y"
17247     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17248     break;
17249
17250   case 620:
17251
17252 /* Line 1464 of yacc.c  */
17253 #line 2075 "grammar.y"
17254     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17255     break;
17256
17257   case 621:
17258
17259 /* Line 1464 of yacc.c  */
17260 #line 2076 "grammar.y"
17261     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17262     break;
17263
17264   case 622:
17265
17266 /* Line 1464 of yacc.c  */
17267 #line 2077 "grammar.y"
17268     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17269     break;
17270
17271   case 623:
17272
17273 /* Line 1464 of yacc.c  */
17274 #line 2081 "grammar.y"
17275     { (yyval.specifier) = MkSpecifier(TYPEDEF); declMode = defaultAccess; ;}
17276     break;
17277
17278   case 624:
17279
17280 /* Line 1464 of yacc.c  */
17281 #line 2082 "grammar.y"
17282     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17283     break;
17284
17285   case 625:
17286
17287 /* Line 1464 of yacc.c  */
17288 #line 2083 "grammar.y"
17289     { (yyval.specifier) = MkSpecifier(STATIC); declMode = staticAccess; ;}
17290     break;
17291
17292   case 626:
17293
17294 /* Line 1464 of yacc.c  */
17295 #line 2084 "grammar.y"
17296     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17297     break;
17298
17299   case 627:
17300
17301 /* Line 1464 of yacc.c  */
17302 #line 2085 "grammar.y"
17303     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17304     break;
17305
17306   case 628:
17307
17308 /* Line 1464 of yacc.c  */
17309 #line 2089 "grammar.y"
17310     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17311     break;
17312
17313   case 629:
17314
17315 /* Line 1464 of yacc.c  */
17316 #line 2090 "grammar.y"
17317     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17318     break;
17319
17320   case 630:
17321
17322 /* Line 1464 of yacc.c  */
17323 #line 2091 "grammar.y"
17324     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17325     break;
17326
17327   case 631:
17328
17329 /* Line 1464 of yacc.c  */
17330 #line 2095 "grammar.y"
17331     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17332     break;
17333
17334   case 632:
17335
17336 /* Line 1464 of yacc.c  */
17337 #line 2096 "grammar.y"
17338     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17339     break;
17340
17341   case 634:
17342
17343 /* Line 1464 of yacc.c  */
17344 #line 2101 "grammar.y"
17345     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17346     break;
17347
17348   case 635:
17349
17350 /* Line 1464 of yacc.c  */
17351 #line 2105 "grammar.y"
17352     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17353     break;
17354
17355   case 636:
17356
17357 /* Line 1464 of yacc.c  */
17358 #line 2106 "grammar.y"
17359     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17360     break;
17361
17362   case 637:
17363
17364 /* Line 1464 of yacc.c  */
17365 #line 2110 "grammar.y"
17366     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17367     break;
17368
17369   case 638:
17370
17371 /* Line 1464 of yacc.c  */
17372 #line 2111 "grammar.y"
17373     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17374     break;
17375
17376   case 639:
17377
17378 /* Line 1464 of yacc.c  */
17379 #line 2112 "grammar.y"
17380     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17381     break;
17382
17383   case 640:
17384
17385 /* Line 1464 of yacc.c  */
17386 #line 2116 "grammar.y"
17387     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17388     break;
17389
17390   case 641:
17391
17392 /* Line 1464 of yacc.c  */
17393 #line 2117 "grammar.y"
17394     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17395     break;
17396
17397   case 642:
17398
17399 /* Line 1464 of yacc.c  */
17400 #line 2119 "grammar.y"
17401     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17402     break;
17403
17404   case 643:
17405
17406 /* Line 1464 of yacc.c  */
17407 #line 2120 "grammar.y"
17408     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17409     break;
17410
17411   case 644:
17412
17413 /* Line 1464 of yacc.c  */
17414 #line 2121 "grammar.y"
17415     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17416     break;
17417
17418   case 645:
17419
17420 /* Line 1464 of yacc.c  */
17421 #line 2122 "grammar.y"
17422     { (yyval.specifier) = MkEnum((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list);  POP_DEFAULT_ACCESS ;}
17423     break;
17424
17425   case 646:
17426
17427 /* Line 1464 of yacc.c  */
17428 #line 2123 "grammar.y"
17429     { (yyval.specifier) = MkEnum((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list);  POP_DEFAULT_ACCESS ;}
17430     break;
17431
17432   case 647:
17433
17434 /* Line 1464 of yacc.c  */
17435 #line 2125 "grammar.y"
17436     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17437     break;
17438
17439   case 648:
17440
17441 /* Line 1464 of yacc.c  */
17442 #line 2126 "grammar.y"
17443     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (5)].specifier).name), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (5)].specifier)); POP_DEFAULT_ACCESS ;}
17444     break;
17445
17446   case 649:
17447
17448 /* Line 1464 of yacc.c  */
17449 #line 2127 "grammar.y"
17450     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17451     break;
17452
17453   case 650:
17454
17455 /* Line 1464 of yacc.c  */
17456 #line 2128 "grammar.y"
17457     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (6)].specifier).name), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list); FreeSpecifier((yyvsp[(2) - (6)].specifier)); POP_DEFAULT_ACCESS ;}
17458     break;
17459
17460   case 651:
17461
17462 /* Line 1464 of yacc.c  */
17463 #line 2129 "grammar.y"
17464     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (6)].specifier).name), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list); FreeSpecifier((yyvsp[(2) - (6)].specifier)); POP_DEFAULT_ACCESS ;}
17465     break;
17466
17467   case 652:
17468
17469 /* Line 1464 of yacc.c  */
17470 #line 2133 "grammar.y"
17471     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); ;}
17472     break;
17473
17474   case 653:
17475
17476 /* Line 1464 of yacc.c  */
17477 #line 2134 "grammar.y"
17478     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
17479     break;
17480
17481   case 654:
17482
17483 /* Line 1464 of yacc.c  */
17484 #line 2138 "grammar.y"
17485     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17486     break;
17487
17488   case 655:
17489
17490 /* Line 1464 of yacc.c  */
17491 #line 2139 "grammar.y"
17492     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17493     break;
17494
17495   case 656:
17496
17497 /* Line 1464 of yacc.c  */
17498 #line 2140 "grammar.y"
17499     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17500     break;
17501
17502   case 657:
17503
17504 /* Line 1464 of yacc.c  */
17505 #line 2144 "grammar.y"
17506     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(5) - (5)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17507     break;
17508
17509   case 658:
17510
17511 /* Line 1464 of yacc.c  */
17512 #line 2145 "grammar.y"
17513     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), (yyvsp[(5) - (6)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17514     break;
17515
17516   case 659:
17517
17518 /* Line 1464 of yacc.c  */
17519 #line 2146 "grammar.y"
17520     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17521     break;
17522
17523   case 660:
17524
17525 /* Line 1464 of yacc.c  */
17526 #line 2147 "grammar.y"
17527     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17528     break;
17529
17530   case 661:
17531
17532 /* Line 1464 of yacc.c  */
17533 #line 2148 "grammar.y"
17534     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17535     break;
17536
17537   case 662:
17538
17539 /* Line 1464 of yacc.c  */
17540 #line 2149 "grammar.y"
17541     { (yyval.specifier) = MkEnum((yyvsp[(1) - (8)].id), (yyvsp[(5) - (8)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (8)].list); (yyval.specifier).definitions = (yyvsp[(8) - (8)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17542     break;
17543
17544   case 663:
17545
17546 /* Line 1464 of yacc.c  */
17547 #line 2150 "grammar.y"
17548     { (yyval.specifier) = MkEnum((yyvsp[(1) - (8)].id), (yyvsp[(5) - (8)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (8)].list); (yyval.specifier).definitions = (yyvsp[(8) - (8)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17549     break;
17550
17551   case 664:
17552
17553 /* Line 1464 of yacc.c  */
17554 #line 2151 "grammar.y"
17555     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17556     break;
17557
17558   case 665:
17559
17560 /* Line 1464 of yacc.c  */
17561 #line 2152 "grammar.y"
17562     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17563     break;
17564
17565   case 666:
17566
17567 /* Line 1464 of yacc.c  */
17568 #line 2154 "grammar.y"
17569     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17570     break;
17571
17572   case 667:
17573
17574 /* Line 1464 of yacc.c  */
17575 #line 2155 "grammar.y"
17576     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17577     break;
17578
17579   case 668:
17580
17581 /* Line 1464 of yacc.c  */
17582 #line 2157 "grammar.y"
17583     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17584     break;
17585
17586   case 669:
17587
17588 /* Line 1464 of yacc.c  */
17589 #line 2158 "grammar.y"
17590     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17591     break;
17592
17593   case 670:
17594
17595 /* Line 1464 of yacc.c  */
17596 #line 2159 "grammar.y"
17597     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17598     break;
17599
17600   case 671:
17601
17602 /* Line 1464 of yacc.c  */
17603 #line 2160 "grammar.y"
17604     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(3) - (5)].list)); (yyval.specifier).definitions = (yyvsp[(5) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17605     break;
17606
17607   case 672:
17608
17609 /* Line 1464 of yacc.c  */
17610 #line 2161 "grammar.y"
17611     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(3) - (5)].list)); (yyval.specifier).definitions = (yyvsp[(5) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17612     break;
17613
17614   case 677:
17615
17616 /* Line 1464 of yacc.c  */
17617 #line 2175 "grammar.y"
17618     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
17619     break;
17620
17621   case 678:
17622
17623 /* Line 1464 of yacc.c  */
17624 #line 2179 "grammar.y"
17625     { (yyval.specifier) = MkSpecifier(CONST); ;}
17626     break;
17627
17628   case 679:
17629
17630 /* Line 1464 of yacc.c  */
17631 #line 2180 "grammar.y"
17632     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17633     break;
17634
17635   case 680:
17636
17637 /* Line 1464 of yacc.c  */
17638 #line 2181 "grammar.y"
17639     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17640     break;
17641
17642   case 681:
17643
17644 /* Line 1464 of yacc.c  */
17645 #line 2186 "grammar.y"
17646     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17647     break;
17648
17649   case 682:
17650
17651 /* Line 1464 of yacc.c  */
17652 #line 2187 "grammar.y"
17653     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
17654     break;
17655
17656   case 683:
17657
17658 /* Line 1464 of yacc.c  */
17659 #line 2191 "grammar.y"
17660     { (yyval.specifier) = MkSpecifier(VOID); ;}
17661     break;
17662
17663   case 684:
17664
17665 /* Line 1464 of yacc.c  */
17666 #line 2192 "grammar.y"
17667     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17668     break;
17669
17670   case 685:
17671
17672 /* Line 1464 of yacc.c  */
17673 #line 2193 "grammar.y"
17674     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17675     break;
17676
17677   case 686:
17678
17679 /* Line 1464 of yacc.c  */
17680 #line 2194 "grammar.y"
17681     { (yyval.specifier) = MkSpecifier(INT); ;}
17682     break;
17683
17684   case 687:
17685
17686 /* Line 1464 of yacc.c  */
17687 #line 2195 "grammar.y"
17688     { (yyval.specifier) = MkSpecifier(UINT); ;}
17689     break;
17690
17691   case 688:
17692
17693 /* Line 1464 of yacc.c  */
17694 #line 2196 "grammar.y"
17695     { (yyval.specifier) = MkSpecifier(INT64); ;}
17696     break;
17697
17698   case 689:
17699
17700 /* Line 1464 of yacc.c  */
17701 #line 2197 "grammar.y"
17702     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17703     break;
17704
17705   case 690:
17706
17707 /* Line 1464 of yacc.c  */
17708 #line 2198 "grammar.y"
17709     { (yyval.specifier) = MkSpecifier(LONG); ;}
17710     break;
17711
17712   case 691:
17713
17714 /* Line 1464 of yacc.c  */
17715 #line 2199 "grammar.y"
17716     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17717     break;
17718
17719   case 692:
17720
17721 /* Line 1464 of yacc.c  */
17722 #line 2200 "grammar.y"
17723     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17724     break;
17725
17726   case 693:
17727
17728 /* Line 1464 of yacc.c  */
17729 #line 2201 "grammar.y"
17730     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17731     break;
17732
17733   case 694:
17734
17735 /* Line 1464 of yacc.c  */
17736 #line 2202 "grammar.y"
17737     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17738     break;
17739
17740   case 695:
17741
17742 /* Line 1464 of yacc.c  */
17743 #line 2203 "grammar.y"
17744     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17745     break;
17746
17747   case 699:
17748
17749 /* Line 1464 of yacc.c  */
17750 #line 2207 "grammar.y"
17751     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
17752     break;
17753
17754   case 700:
17755
17756 /* Line 1464 of yacc.c  */
17757 #line 2208 "grammar.y"
17758     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
17759     break;
17760
17761   case 701:
17762
17763 /* Line 1464 of yacc.c  */
17764 #line 2209 "grammar.y"
17765     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
17766     break;
17767
17768   case 702:
17769
17770 /* Line 1464 of yacc.c  */
17771 #line 2210 "grammar.y"
17772     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
17773     break;
17774
17775   case 703:
17776
17777 /* Line 1464 of yacc.c  */
17778 #line 2211 "grammar.y"
17779     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
17780     break;
17781
17782   case 704:
17783
17784 /* Line 1464 of yacc.c  */
17785 #line 2212 "grammar.y"
17786     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
17787     break;
17788
17789   case 705:
17790
17791 /* Line 1464 of yacc.c  */
17792 #line 2216 "grammar.y"
17793     { (yyval.specifier) = MkSpecifier(VOID); ;}
17794     break;
17795
17796   case 706:
17797
17798 /* Line 1464 of yacc.c  */
17799 #line 2217 "grammar.y"
17800     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17801     break;
17802
17803   case 707:
17804
17805 /* Line 1464 of yacc.c  */
17806 #line 2218 "grammar.y"
17807     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17808     break;
17809
17810   case 708:
17811
17812 /* Line 1464 of yacc.c  */
17813 #line 2219 "grammar.y"
17814     { (yyval.specifier) = MkSpecifier(INT); ;}
17815     break;
17816
17817   case 709:
17818
17819 /* Line 1464 of yacc.c  */
17820 #line 2220 "grammar.y"
17821     { (yyval.specifier) = MkSpecifier(UINT); ;}
17822     break;
17823
17824   case 710:
17825
17826 /* Line 1464 of yacc.c  */
17827 #line 2221 "grammar.y"
17828     { (yyval.specifier) = MkSpecifier(INT64); ;}
17829     break;
17830
17831   case 711:
17832
17833 /* Line 1464 of yacc.c  */
17834 #line 2222 "grammar.y"
17835     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17836     break;
17837
17838   case 712:
17839
17840 /* Line 1464 of yacc.c  */
17841 #line 2223 "grammar.y"
17842     { (yyval.specifier) = MkSpecifier(LONG); ;}
17843     break;
17844
17845   case 713:
17846
17847 /* Line 1464 of yacc.c  */
17848 #line 2224 "grammar.y"
17849     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17850     break;
17851
17852   case 714:
17853
17854 /* Line 1464 of yacc.c  */
17855 #line 2225 "grammar.y"
17856     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17857     break;
17858
17859   case 715:
17860
17861 /* Line 1464 of yacc.c  */
17862 #line 2226 "grammar.y"
17863     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17864     break;
17865
17866   case 716:
17867
17868 /* Line 1464 of yacc.c  */
17869 #line 2227 "grammar.y"
17870     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17871     break;
17872
17873   case 717:
17874
17875 /* Line 1464 of yacc.c  */
17876 #line 2228 "grammar.y"
17877     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17878     break;
17879
17880   case 721:
17881
17882 /* Line 1464 of yacc.c  */
17883 #line 2232 "grammar.y"
17884     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
17885     break;
17886
17887   case 722:
17888
17889 /* Line 1464 of yacc.c  */
17890 #line 2233 "grammar.y"
17891     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
17892     break;
17893
17894   case 723:
17895
17896 /* Line 1464 of yacc.c  */
17897 #line 2234 "grammar.y"
17898     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
17899     break;
17900
17901   case 724:
17902
17903 /* Line 1464 of yacc.c  */
17904 #line 2235 "grammar.y"
17905     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
17906     break;
17907
17908   case 725:
17909
17910 /* Line 1464 of yacc.c  */
17911 #line 2242 "grammar.y"
17912     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
17913     break;
17914
17915   case 726:
17916
17917 /* Line 1464 of yacc.c  */
17918 #line 2244 "grammar.y"
17919     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
17920     break;
17921
17922   case 727:
17923
17924 /* Line 1464 of yacc.c  */
17925 #line 2246 "grammar.y"
17926     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
17927     break;
17928
17929   case 728:
17930
17931 /* Line 1464 of yacc.c  */
17932 #line 2248 "grammar.y"
17933     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
17934     break;
17935
17936   case 729:
17937
17938 /* Line 1464 of yacc.c  */
17939 #line 2250 "grammar.y"
17940     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17941     break;
17942
17943   case 730:
17944
17945 /* Line 1464 of yacc.c  */
17946 #line 2252 "grammar.y"
17947     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
17948     break;
17949
17950   case 731:
17951
17952 /* Line 1464 of yacc.c  */
17953 #line 2254 "grammar.y"
17954     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
17955     break;
17956
17957   case 732:
17958
17959 /* Line 1464 of yacc.c  */
17960 #line 2256 "grammar.y"
17961     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17962     break;
17963
17964   case 733:
17965
17966 /* Line 1464 of yacc.c  */
17967 #line 2258 "grammar.y"
17968     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17969     break;
17970
17971   case 734:
17972
17973 /* Line 1464 of yacc.c  */
17974 #line 2260 "grammar.y"
17975     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17976     break;
17977
17978   case 735:
17979
17980 /* Line 1464 of yacc.c  */
17981 #line 2264 "grammar.y"
17982     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
17983     break;
17984
17985   case 736:
17986
17987 /* Line 1464 of yacc.c  */
17988 #line 2265 "grammar.y"
17989     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
17990     break;
17991
17992   case 737:
17993
17994 /* Line 1464 of yacc.c  */
17995 #line 2270 "grammar.y"
17996     {
17997          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
17998          (yyval.specifier).addNameSpace = true;
17999          (yyval.specifier).ctx = PushContext();
18000       ;}
18001     break;
18002
18003   case 738:
18004
18005 /* Line 1464 of yacc.c  */
18006 #line 2276 "grammar.y"
18007     {
18008          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
18009          (yyval.specifier).ctx = PushContext();
18010          FreeSpecifier((yyvsp[(2) - (2)].specifier));
18011       ;}
18012     break;
18013
18014   case 739:
18015
18016 /* Line 1464 of yacc.c  */
18017 #line 2282 "grammar.y"
18018     {
18019          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
18020          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18021          (yyval.specifier).addNameSpace = true;
18022          (yyval.specifier).ctx = PushContext();
18023       ;}
18024     break;
18025
18026   case 740:
18027
18028 /* Line 1464 of yacc.c  */
18029 #line 2289 "grammar.y"
18030     {
18031          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
18032          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18033          (yyval.specifier).ctx = PushContext();
18034          FreeSpecifier((yyvsp[(3) - (3)].specifier));
18035       ;}
18036     break;
18037
18038   case 741:
18039
18040 /* Line 1464 of yacc.c  */
18041 #line 2298 "grammar.y"
18042     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18043     break;
18044
18045   case 742:
18046
18047 /* Line 1464 of yacc.c  */
18048 #line 2299 "grammar.y"
18049     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18050     break;
18051
18052   case 743:
18053
18054 /* Line 1464 of yacc.c  */
18055 #line 2300 "grammar.y"
18056     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18057     break;
18058
18059   case 744:
18060
18061 /* Line 1464 of yacc.c  */
18062 #line 2301 "grammar.y"
18063     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18064     break;
18065
18066   case 745:
18067
18068 /* Line 1464 of yacc.c  */
18069 #line 2305 "grammar.y"
18070     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18071     break;
18072
18073   case 746:
18074
18075 /* Line 1464 of yacc.c  */
18076 #line 2306 "grammar.y"
18077     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18078     break;
18079
18080   case 747:
18081
18082 /* Line 1464 of yacc.c  */
18083 #line 2307 "grammar.y"
18084     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18085     break;
18086
18087   case 748:
18088
18089 /* Line 1464 of yacc.c  */
18090 #line 2309 "grammar.y"
18091     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18092     break;
18093
18094   case 749:
18095
18096 /* Line 1464 of yacc.c  */
18097 #line 2310 "grammar.y"
18098     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18099     break;
18100
18101   case 750:
18102
18103 /* Line 1464 of yacc.c  */
18104 #line 2311 "grammar.y"
18105     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18106     break;
18107
18108   case 751:
18109
18110 /* Line 1464 of yacc.c  */
18111 #line 2313 "grammar.y"
18112     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18113     break;
18114
18115   case 752:
18116
18117 /* Line 1464 of yacc.c  */
18118 #line 2314 "grammar.y"
18119     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18120     break;
18121
18122   case 753:
18123
18124 /* Line 1464 of yacc.c  */
18125 #line 2315 "grammar.y"
18126     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18127     break;
18128
18129   case 754:
18130
18131 /* Line 1464 of yacc.c  */
18132 #line 2319 "grammar.y"
18133     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18134     break;
18135
18136   case 755:
18137
18138 /* Line 1464 of yacc.c  */
18139 #line 2324 "grammar.y"
18140     {
18141         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
18142         if(declMode)
18143         {
18144            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (1)].specifier).id.string);
18145         }
18146      ;}
18147     break;
18148
18149   case 756:
18150
18151 /* Line 1464 of yacc.c  */
18152 #line 2332 "grammar.y"
18153     {
18154       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (4)].specifier).id.string);
18155       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
18156       symbol.templateParams = (yyvsp[(3) - (4)].list);
18157    ;}
18158     break;
18159
18160   case 757:
18161
18162 /* Line 1464 of yacc.c  */
18163 #line 2341 "grammar.y"
18164     {
18165       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18166       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
18167       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
18168    ;}
18169     break;
18170
18171   case 758:
18172
18173 /* Line 1464 of yacc.c  */
18174 #line 2349 "grammar.y"
18175     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18176     break;
18177
18178   case 759:
18179
18180 /* Line 1464 of yacc.c  */
18181 #line 2351 "grammar.y"
18182     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18183     break;
18184
18185   case 760:
18186
18187 /* Line 1464 of yacc.c  */
18188 #line 2352 "grammar.y"
18189     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18190     break;
18191
18192   case 761:
18193
18194 /* Line 1464 of yacc.c  */
18195 #line 2353 "grammar.y"
18196     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18197     break;
18198
18199   case 762:
18200
18201 /* Line 1464 of yacc.c  */
18202 #line 2358 "grammar.y"
18203     {
18204       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18205       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18206       POP_DEFAULT_ACCESS
18207       PopContext(curContext);
18208    ;}
18209     break;
18210
18211   case 763:
18212
18213 /* Line 1464 of yacc.c  */
18214 #line 2365 "grammar.y"
18215     {
18216       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18217       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18218       POP_DEFAULT_ACCESS
18219       PopContext(curContext);
18220    ;}
18221     break;
18222
18223   case 764:
18224
18225 /* Line 1464 of yacc.c  */
18226 #line 2372 "grammar.y"
18227     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18228     break;
18229
18230   case 765:
18231
18232 /* Line 1464 of yacc.c  */
18233 #line 2375 "grammar.y"
18234     {
18235         PopContext(curContext);
18236         if(!declMode)
18237         {
18238            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18239            (yyvsp[(1) - (3)].specifier).id = null;
18240            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18241         }
18242         else
18243            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18244         POP_DEFAULT_ACCESS
18245      ;}
18246     break;
18247
18248   case 766:
18249
18250 /* Line 1464 of yacc.c  */
18251 #line 2388 "grammar.y"
18252     {
18253         PopContext(curContext);
18254
18255         if(!declMode)
18256         {
18257            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18258            (yyvsp[(1) - (3)].specifier).id = null;
18259            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18260         }
18261         else
18262            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18263         POP_DEFAULT_ACCESS
18264      ;}
18265     break;
18266
18267   case 767:
18268
18269 /* Line 1464 of yacc.c  */
18270 #line 2402 "grammar.y"
18271     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18272     break;
18273
18274   case 768:
18275
18276 /* Line 1464 of yacc.c  */
18277 #line 2405 "grammar.y"
18278     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18279     break;
18280
18281   case 769:
18282
18283 /* Line 1464 of yacc.c  */
18284 #line 2407 "grammar.y"
18285     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18286     break;
18287
18288   case 770:
18289
18290 /* Line 1464 of yacc.c  */
18291 #line 2409 "grammar.y"
18292     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18293     break;
18294
18295   case 771:
18296
18297 /* Line 1464 of yacc.c  */
18298 #line 2413 "grammar.y"
18299     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18300     break;
18301
18302   case 772:
18303
18304 /* Line 1464 of yacc.c  */
18305 #line 2414 "grammar.y"
18306     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18307     break;
18308
18309   case 773:
18310
18311 /* Line 1464 of yacc.c  */
18312 #line 2418 "grammar.y"
18313     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18314     break;
18315
18316   case 774:
18317
18318 /* Line 1464 of yacc.c  */
18319 #line 2419 "grammar.y"
18320     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18321     break;
18322
18323   case 775:
18324
18325 /* Line 1464 of yacc.c  */
18326 #line 2420 "grammar.y"
18327     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18328     break;
18329
18330   case 776:
18331
18332 /* Line 1464 of yacc.c  */
18333 #line 2421 "grammar.y"
18334     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18335     break;
18336
18337   case 777:
18338
18339 /* Line 1464 of yacc.c  */
18340 #line 2422 "grammar.y"
18341     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18342     break;
18343
18344   case 778:
18345
18346 /* Line 1464 of yacc.c  */
18347 #line 2423 "grammar.y"
18348     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18349     break;
18350
18351   case 779:
18352
18353 /* Line 1464 of yacc.c  */
18354 #line 2424 "grammar.y"
18355     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18356     break;
18357
18358   case 780:
18359
18360 /* Line 1464 of yacc.c  */
18361 #line 2425 "grammar.y"
18362     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18363     break;
18364
18365   case 781:
18366
18367 /* Line 1464 of yacc.c  */
18368 #line 2429 "grammar.y"
18369     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18370     break;
18371
18372   case 782:
18373
18374 /* Line 1464 of yacc.c  */
18375 #line 2430 "grammar.y"
18376     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18377     break;
18378
18379   case 783:
18380
18381 /* Line 1464 of yacc.c  */
18382 #line 2431 "grammar.y"
18383     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18384     break;
18385
18386   case 784:
18387
18388 /* Line 1464 of yacc.c  */
18389 #line 2432 "grammar.y"
18390     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18391     break;
18392
18393   case 785:
18394
18395 /* Line 1464 of yacc.c  */
18396 #line 2433 "grammar.y"
18397     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18398     break;
18399
18400   case 786:
18401
18402 /* Line 1464 of yacc.c  */
18403 #line 2434 "grammar.y"
18404     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18405     break;
18406
18407   case 787:
18408
18409 /* Line 1464 of yacc.c  */
18410 #line 2435 "grammar.y"
18411     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18412     break;
18413
18414   case 788:
18415
18416 /* Line 1464 of yacc.c  */
18417 #line 2436 "grammar.y"
18418     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18419     break;
18420
18421   case 789:
18422
18423 /* Line 1464 of yacc.c  */
18424 #line 2437 "grammar.y"
18425     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18426     break;
18427
18428   case 790:
18429
18430 /* Line 1464 of yacc.c  */
18431 #line 2438 "grammar.y"
18432     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18433     break;
18434
18435   case 791:
18436
18437 /* Line 1464 of yacc.c  */
18438 #line 2442 "grammar.y"
18439     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18440     break;
18441
18442   case 792:
18443
18444 /* Line 1464 of yacc.c  */
18445 #line 2443 "grammar.y"
18446     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18447     break;
18448
18449   case 793:
18450
18451 /* Line 1464 of yacc.c  */
18452 #line 2444 "grammar.y"
18453     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18454     break;
18455
18456   case 794:
18457
18458 /* Line 1464 of yacc.c  */
18459 #line 2445 "grammar.y"
18460     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18461     break;
18462
18463   case 795:
18464
18465 /* Line 1464 of yacc.c  */
18466 #line 2446 "grammar.y"
18467     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18468     break;
18469
18470   case 796:
18471
18472 /* Line 1464 of yacc.c  */
18473 #line 2447 "grammar.y"
18474     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18475     break;
18476
18477   case 797:
18478
18479 /* Line 1464 of yacc.c  */
18480 #line 2448 "grammar.y"
18481     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18482     break;
18483
18484   case 798:
18485
18486 /* Line 1464 of yacc.c  */
18487 #line 2449 "grammar.y"
18488     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18489     break;
18490
18491   case 799:
18492
18493 /* Line 1464 of yacc.c  */
18494 #line 2450 "grammar.y"
18495     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18496     break;
18497
18498   case 800:
18499
18500 /* Line 1464 of yacc.c  */
18501 #line 2451 "grammar.y"
18502     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18503     break;
18504
18505   case 801:
18506
18507 /* Line 1464 of yacc.c  */
18508 #line 2455 "grammar.y"
18509     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18510     break;
18511
18512   case 802:
18513
18514 /* Line 1464 of yacc.c  */
18515 #line 2456 "grammar.y"
18516     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18517     break;
18518
18519   case 803:
18520
18521 /* Line 1464 of yacc.c  */
18522 #line 2457 "grammar.y"
18523     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18524     break;
18525
18526   case 804:
18527
18528 /* Line 1464 of yacc.c  */
18529 #line 2458 "grammar.y"
18530     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18531     break;
18532
18533   case 805:
18534
18535 /* Line 1464 of yacc.c  */
18536 #line 2459 "grammar.y"
18537     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18538     break;
18539
18540   case 806:
18541
18542 /* Line 1464 of yacc.c  */
18543 #line 2460 "grammar.y"
18544     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18545     break;
18546
18547   case 807:
18548
18549 /* Line 1464 of yacc.c  */
18550 #line 2461 "grammar.y"
18551     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18552     break;
18553
18554   case 808:
18555
18556 /* Line 1464 of yacc.c  */
18557 #line 2462 "grammar.y"
18558     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18559     break;
18560
18561   case 809:
18562
18563 /* Line 1464 of yacc.c  */
18564 #line 2463 "grammar.y"
18565     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18566     break;
18567
18568   case 810:
18569
18570 /* Line 1464 of yacc.c  */
18571 #line 2464 "grammar.y"
18572     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18573     break;
18574
18575   case 811:
18576
18577 /* Line 1464 of yacc.c  */
18578 #line 2465 "grammar.y"
18579     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18580     break;
18581
18582   case 812:
18583
18584 /* Line 1464 of yacc.c  */
18585 #line 2466 "grammar.y"
18586     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18587     break;
18588
18589   case 813:
18590
18591 /* Line 1464 of yacc.c  */
18592 #line 2470 "grammar.y"
18593     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18594     break;
18595
18596   case 814:
18597
18598 /* Line 1464 of yacc.c  */
18599 #line 2471 "grammar.y"
18600     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18601     break;
18602
18603   case 815:
18604
18605 /* Line 1464 of yacc.c  */
18606 #line 2472 "grammar.y"
18607     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18608     break;
18609
18610   case 816:
18611
18612 /* Line 1464 of yacc.c  */
18613 #line 2473 "grammar.y"
18614     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18615     break;
18616
18617   case 817:
18618
18619 /* Line 1464 of yacc.c  */
18620 #line 2474 "grammar.y"
18621     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18622     break;
18623
18624   case 818:
18625
18626 /* Line 1464 of yacc.c  */
18627 #line 2475 "grammar.y"
18628     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18629     break;
18630
18631   case 819:
18632
18633 /* Line 1464 of yacc.c  */
18634 #line 2476 "grammar.y"
18635     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18636     break;
18637
18638   case 820:
18639
18640 /* Line 1464 of yacc.c  */
18641 #line 2477 "grammar.y"
18642     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18643     break;
18644
18645   case 821:
18646
18647 /* Line 1464 of yacc.c  */
18648 #line 2478 "grammar.y"
18649     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18650     break;
18651
18652   case 822:
18653
18654 /* Line 1464 of yacc.c  */
18655 #line 2479 "grammar.y"
18656     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18657     break;
18658
18659   case 823:
18660
18661 /* Line 1464 of yacc.c  */
18662 #line 2483 "grammar.y"
18663     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18664     break;
18665
18666   case 824:
18667
18668 /* Line 1464 of yacc.c  */
18669 #line 2484 "grammar.y"
18670     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18671     break;
18672
18673   case 825:
18674
18675 /* Line 1464 of yacc.c  */
18676 #line 2488 "grammar.y"
18677     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
18678     break;
18679
18680   case 826:
18681
18682 /* Line 1464 of yacc.c  */
18683 #line 2489 "grammar.y"
18684     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
18685     break;
18686
18687   case 827:
18688
18689 /* Line 1464 of yacc.c  */
18690 #line 2490 "grammar.y"
18691     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18692     break;
18693
18694   case 828:
18695
18696 /* Line 1464 of yacc.c  */
18697 #line 2491 "grammar.y"
18698     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18699     break;
18700
18701   case 829:
18702
18703 /* Line 1464 of yacc.c  */
18704 #line 2492 "grammar.y"
18705     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18706     break;
18707
18708   case 830:
18709
18710 /* Line 1464 of yacc.c  */
18711 #line 2493 "grammar.y"
18712     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18713     break;
18714
18715   case 831:
18716
18717 /* Line 1464 of yacc.c  */
18718 #line 2494 "grammar.y"
18719     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18720     break;
18721
18722   case 832:
18723
18724 /* Line 1464 of yacc.c  */
18725 #line 2495 "grammar.y"
18726     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18727     break;
18728
18729   case 833:
18730
18731 /* Line 1464 of yacc.c  */
18732 #line 2497 "grammar.y"
18733     { _DeclClass(0, (yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
18734     break;
18735
18736   case 834:
18737
18738 /* Line 1464 of yacc.c  */
18739 #line 2498 "grammar.y"
18740     { (yyval.list) = (yyvsp[(1) - (2)].list); _DeclClass(0, (yyvsp[(2) - (2)].id).string); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
18741     break;
18742
18743   case 835:
18744
18745 /* Line 1464 of yacc.c  */
18746 #line 2501 "grammar.y"
18747     {
18748          // if($1._class && !$1._class.name)
18749          if((yyvsp[(1) - (4)].id)._class)
18750          {
18751             char name[1024];
18752             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18753             strcat(name, "::");
18754             strcat(name, (yyvsp[(1) - (4)].id).string);
18755             _DeclClass(0, name);
18756          }
18757          else
18758             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18759
18760          (yyval.list) = MkList();
18761          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18762          FreeIdentifier((yyvsp[(1) - (4)].id));
18763       ;}
18764     break;
18765
18766   case 836:
18767
18768 /* Line 1464 of yacc.c  */
18769 #line 2519 "grammar.y"
18770     {
18771          (yyval.list) = (yyvsp[(1) - (5)].list);
18772          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18773          {
18774             char name[1024];
18775             strcpy(name, "::");
18776             strcat(name, (yyvsp[(2) - (5)].id).string);
18777             _DeclClass(0, name);
18778          }
18779          else
18780             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18781          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18782          FreeIdentifier((yyvsp[(2) - (5)].id));
18783       ;}
18784     break;
18785
18786   case 838:
18787
18788 /* Line 1464 of yacc.c  */
18789 #line 2537 "grammar.y"
18790     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
18791     break;
18792
18793   case 839:
18794
18795 /* Line 1464 of yacc.c  */
18796 #line 2541 "grammar.y"
18797     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18798     break;
18799
18800   case 840:
18801
18802 /* Line 1464 of yacc.c  */
18803 #line 2542 "grammar.y"
18804     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18805     break;
18806
18807   case 841:
18808
18809 /* Line 1464 of yacc.c  */
18810 #line 2543 "grammar.y"
18811     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18812     break;
18813
18814   case 842:
18815
18816 /* Line 1464 of yacc.c  */
18817 #line 2544 "grammar.y"
18818     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18819     break;
18820
18821   case 843:
18822
18823 /* Line 1464 of yacc.c  */
18824 #line 2545 "grammar.y"
18825     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18826     break;
18827
18828   case 844:
18829
18830 /* Line 1464 of yacc.c  */
18831 #line 2546 "grammar.y"
18832     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18833     break;
18834
18835   case 845:
18836
18837 /* Line 1464 of yacc.c  */
18838 #line 2547 "grammar.y"
18839     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18840     break;
18841
18842   case 846:
18843
18844 /* Line 1464 of yacc.c  */
18845 #line 2548 "grammar.y"
18846     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18847     break;
18848
18849   case 847:
18850
18851 /* Line 1464 of yacc.c  */
18852 #line 2550 "grammar.y"
18853     {
18854          // if($1._class && !$1._class.name)
18855          if((yyvsp[(1) - (4)].id)._class)
18856          {
18857             char name[1024];
18858             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18859             strcat(name, "::");
18860             strcat(name, (yyvsp[(1) - (4)].id).string);
18861             _DeclClass(0, name);
18862          }
18863          else
18864             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18865
18866          (yyval.list) = MkList();
18867          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18868          FreeIdentifier((yyvsp[(1) - (4)].id));
18869       ;}
18870     break;
18871
18872   case 848:
18873
18874 /* Line 1464 of yacc.c  */
18875 #line 2568 "grammar.y"
18876     {
18877          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18878          {
18879             char name[1024];
18880             strcpy(name, "::");
18881             strcat(name, (yyvsp[(2) - (5)].id).string);
18882             _DeclClass(0, name);
18883          }
18884          else
18885             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18886          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18887          FreeIdentifier((yyvsp[(2) - (5)].id));
18888       ;}
18889     break;
18890
18891   case 849:
18892
18893 /* Line 1464 of yacc.c  */
18894 #line 2584 "grammar.y"
18895     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18896     break;
18897
18898   case 850:
18899
18900 /* Line 1464 of yacc.c  */
18901 #line 2585 "grammar.y"
18902     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18903     break;
18904
18905   case 851:
18906
18907 /* Line 1464 of yacc.c  */
18908 #line 2586 "grammar.y"
18909     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18910     break;
18911
18912   case 852:
18913
18914 /* Line 1464 of yacc.c  */
18915 #line 2587 "grammar.y"
18916     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18917     break;
18918
18919   case 853:
18920
18921 /* Line 1464 of yacc.c  */
18922 #line 2588 "grammar.y"
18923     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18924     break;
18925
18926   case 854:
18927
18928 /* Line 1464 of yacc.c  */
18929 #line 2589 "grammar.y"
18930     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18931     break;
18932
18933   case 855:
18934
18935 /* Line 1464 of yacc.c  */
18936 #line 2590 "grammar.y"
18937     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18938     break;
18939
18940   case 856:
18941
18942 /* Line 1464 of yacc.c  */
18943 #line 2591 "grammar.y"
18944     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18945     break;
18946
18947   case 857:
18948
18949 /* Line 1464 of yacc.c  */
18950 #line 2592 "grammar.y"
18951     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18952     break;
18953
18954   case 858:
18955
18956 /* Line 1464 of yacc.c  */
18957 #line 2593 "grammar.y"
18958     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18959     break;
18960
18961   case 859:
18962
18963 /* Line 1464 of yacc.c  */
18964 #line 2594 "grammar.y"
18965     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18966     break;
18967
18968   case 860:
18969
18970 /* Line 1464 of yacc.c  */
18971 #line 2595 "grammar.y"
18972     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18973     break;
18974
18975   case 861:
18976
18977 /* Line 1464 of yacc.c  */
18978 #line 2597 "grammar.y"
18979     {
18980          // if($1._class && !$1._class.name)
18981          if((yyvsp[(1) - (4)].id)._class)
18982          {
18983             char name[1024];
18984             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18985             strcat(name, "::");
18986             strcat(name, (yyvsp[(1) - (4)].id).string);
18987             _DeclClass(0, name);
18988          }
18989          else
18990             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18991
18992          (yyval.list) = MkList();
18993          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18994          FreeIdentifier((yyvsp[(1) - (4)].id));
18995       ;}
18996     break;
18997
18998   case 862:
18999
19000 /* Line 1464 of yacc.c  */
19001 #line 2615 "grammar.y"
19002     {
19003          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19004          {
19005             char name[1024];
19006             strcpy(name, "::");
19007             strcat(name, (yyvsp[(2) - (5)].id).string);
19008             _DeclClass(0, name);
19009          }
19010          else
19011             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19012          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19013          FreeIdentifier((yyvsp[(2) - (5)].id));
19014       ;}
19015     break;
19016
19017   case 863:
19018
19019 /* Line 1464 of yacc.c  */
19020 #line 2631 "grammar.y"
19021     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19022     break;
19023
19024   case 864:
19025
19026 /* Line 1464 of yacc.c  */
19027 #line 2632 "grammar.y"
19028     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19029     break;
19030
19031   case 865:
19032
19033 /* Line 1464 of yacc.c  */
19034 #line 2633 "grammar.y"
19035     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19036     break;
19037
19038   case 866:
19039
19040 /* Line 1464 of yacc.c  */
19041 #line 2634 "grammar.y"
19042     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19043     break;
19044
19045   case 867:
19046
19047 /* Line 1464 of yacc.c  */
19048 #line 2635 "grammar.y"
19049     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19050     break;
19051
19052   case 868:
19053
19054 /* Line 1464 of yacc.c  */
19055 #line 2636 "grammar.y"
19056     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19057     break;
19058
19059   case 869:
19060
19061 /* Line 1464 of yacc.c  */
19062 #line 2637 "grammar.y"
19063     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19064     break;
19065
19066   case 870:
19067
19068 /* Line 1464 of yacc.c  */
19069 #line 2638 "grammar.y"
19070     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19071     break;
19072
19073   case 871:
19074
19075 /* Line 1464 of yacc.c  */
19076 #line 2639 "grammar.y"
19077     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19078     break;
19079
19080   case 872:
19081
19082 /* Line 1464 of yacc.c  */
19083 #line 2640 "grammar.y"
19084     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19085     break;
19086
19087   case 873:
19088
19089 /* Line 1464 of yacc.c  */
19090 #line 2641 "grammar.y"
19091     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19092     break;
19093
19094   case 874:
19095
19096 /* Line 1464 of yacc.c  */
19097 #line 2642 "grammar.y"
19098     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19099     break;
19100
19101   case 875:
19102
19103 /* Line 1464 of yacc.c  */
19104 #line 2644 "grammar.y"
19105     {
19106          // if($1._class && !$1._class.name)
19107          if((yyvsp[(1) - (4)].id)._class)
19108          {
19109             char name[1024];
19110             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19111             strcat(name, "::");
19112             strcat(name, (yyvsp[(1) - (4)].id).string);
19113             _DeclClass(0, name);
19114          }
19115          else
19116             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19117
19118          (yyval.list) = MkList();
19119          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19120          FreeIdentifier((yyvsp[(1) - (4)].id));
19121       ;}
19122     break;
19123
19124   case 876:
19125
19126 /* Line 1464 of yacc.c  */
19127 #line 2662 "grammar.y"
19128     {
19129          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19130          {
19131             char name[1024];
19132             strcpy(name, "::");
19133             strcat(name, (yyvsp[(2) - (5)].id).string);
19134             _DeclClass(0, name);
19135          }
19136          else
19137             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19138          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19139          FreeIdentifier((yyvsp[(2) - (5)].id));
19140       ;}
19141     break;
19142
19143   case 877:
19144
19145 /* Line 1464 of yacc.c  */
19146 #line 2678 "grammar.y"
19147     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19148     break;
19149
19150   case 878:
19151
19152 /* Line 1464 of yacc.c  */
19153 #line 2679 "grammar.y"
19154     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19155     break;
19156
19157   case 879:
19158
19159 /* Line 1464 of yacc.c  */
19160 #line 2683 "grammar.y"
19161     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
19162     break;
19163
19164   case 880:
19165
19166 /* Line 1464 of yacc.c  */
19167 #line 2684 "grammar.y"
19168     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19169     break;
19170
19171   case 881:
19172
19173 /* Line 1464 of yacc.c  */
19174 #line 2685 "grammar.y"
19175     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19176     break;
19177
19178   case 882:
19179
19180 /* Line 1464 of yacc.c  */
19181 #line 2686 "grammar.y"
19182     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19183     break;
19184
19185   case 883:
19186
19187 /* Line 1464 of yacc.c  */
19188 #line 2687 "grammar.y"
19189     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19190     break;
19191
19192   case 885:
19193
19194 /* Line 1464 of yacc.c  */
19195 #line 2693 "grammar.y"
19196     {
19197       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
19198       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
19199       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
19200       FreeSpecifier((yyvsp[(1) - (1)].specifier));
19201    ;}
19202     break;
19203
19204   case 886:
19205
19206 /* Line 1464 of yacc.c  */
19207 #line 2699 "grammar.y"
19208     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
19209     break;
19210
19211   case 887:
19212
19213 /* Line 1464 of yacc.c  */
19214 #line 2702 "grammar.y"
19215     {
19216          Declarator decl;
19217          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19218          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19219          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19220          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19221          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19222       ;}
19223     break;
19224
19225   case 888:
19226
19227 /* Line 1464 of yacc.c  */
19228 #line 2711 "grammar.y"
19229     {
19230          Declarator decl;
19231          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19232          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19233          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19234          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19235          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19236       ;}
19237     break;
19238
19239   case 889:
19240
19241 /* Line 1464 of yacc.c  */
19242 #line 2720 "grammar.y"
19243     {
19244          Declarator decl;
19245          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19246          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19247          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19248          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19249          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19250       ;}
19251     break;
19252
19253   case 890:
19254
19255 /* Line 1464 of yacc.c  */
19256 #line 2729 "grammar.y"
19257     {
19258          Declarator decl;
19259          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19260          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19261          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19262          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19263          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19264       ;}
19265     break;
19266
19267   case 891:
19268
19269 /* Line 1464 of yacc.c  */
19270 #line 2737 "grammar.y"
19271     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19272     break;
19273
19274   case 892:
19275
19276 /* Line 1464 of yacc.c  */
19277 #line 2738 "grammar.y"
19278     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19279     break;
19280
19281   case 893:
19282
19283 /* Line 1464 of yacc.c  */
19284 #line 2739 "grammar.y"
19285     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19286     break;
19287
19288   case 894:
19289
19290 /* Line 1464 of yacc.c  */
19291 #line 2740 "grammar.y"
19292     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19293     break;
19294
19295   case 895:
19296
19297 /* Line 1464 of yacc.c  */
19298 #line 2744 "grammar.y"
19299     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19300     break;
19301
19302   case 896:
19303
19304 /* Line 1464 of yacc.c  */
19305 #line 2745 "grammar.y"
19306     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19307     break;
19308
19309   case 897:
19310
19311 /* Line 1464 of yacc.c  */
19312 #line 2746 "grammar.y"
19313     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19314     break;
19315
19316   case 898:
19317
19318 /* Line 1464 of yacc.c  */
19319 #line 2747 "grammar.y"
19320     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19321     break;
19322
19323   case 899:
19324
19325 /* Line 1464 of yacc.c  */
19326 #line 2748 "grammar.y"
19327     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19328     break;
19329
19330   case 900:
19331
19332 /* Line 1464 of yacc.c  */
19333 #line 2749 "grammar.y"
19334     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19335     break;
19336
19337   case 901:
19338
19339 /* Line 1464 of yacc.c  */
19340 #line 2750 "grammar.y"
19341     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19342     break;
19343
19344   case 902:
19345
19346 /* Line 1464 of yacc.c  */
19347 #line 2751 "grammar.y"
19348     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19349     break;
19350
19351   case 903:
19352
19353 /* Line 1464 of yacc.c  */
19354 #line 2752 "grammar.y"
19355     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19356     break;
19357
19358   case 905:
19359
19360 /* Line 1464 of yacc.c  */
19361 #line 2760 "grammar.y"
19362     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19363     break;
19364
19365   case 906:
19366
19367 /* Line 1464 of yacc.c  */
19368 #line 2761 "grammar.y"
19369     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19370     break;
19371
19372   case 907:
19373
19374 /* Line 1464 of yacc.c  */
19375 #line 2762 "grammar.y"
19376     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19377     break;
19378
19379   case 908:
19380
19381 /* Line 1464 of yacc.c  */
19382 #line 2763 "grammar.y"
19383     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19384     break;
19385
19386   case 909:
19387
19388 /* Line 1464 of yacc.c  */
19389 #line 2764 "grammar.y"
19390     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19391     break;
19392
19393   case 910:
19394
19395 /* Line 1464 of yacc.c  */
19396 #line 2770 "grammar.y"
19397     {
19398          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list)); 
19399          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
19400          yyclearin;
19401          resetScannerPos(&(yylsp[(1) - (2)]).end);
19402          (yyloc).start = (yylsp[(1) - (2)]).start;
19403          (yyloc).end = (yylsp[(1) - (2)]).end;
19404       ;}
19405     break;
19406
19407   case 911:
19408
19409 /* Line 1464 of yacc.c  */
19410 #line 2779 "grammar.y"
19411     { 
19412          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); 
19413          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
19414          yyclearin;
19415          resetScannerPos(&(yylsp[(1) - (2)]).end);
19416          (yyloc).start = (yylsp[(1) - (2)]).start;
19417          (yyloc).end = (yylsp[(1) - (2)]).end;
19418       ;}
19419     break;
19420
19421   case 912:
19422
19423 /* Line 1464 of yacc.c  */
19424 #line 2788 "grammar.y"
19425     { 
19426          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); 
19427          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start); 
19428          yyclearin;
19429          resetScannerPos(&(yylsp[(1) - (3)]).end);
19430          (yyloc).start = (yylsp[(1) - (3)]).start;
19431          (yyloc).end = (yylsp[(1) - (3)]).end;
19432       ;}
19433     break;
19434
19435   case 913:
19436
19437 /* Line 1464 of yacc.c  */
19438 #line 2797 "grammar.y"
19439     { 
19440          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null); 
19441          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start); 
19442          yyclearin;
19443          resetScannerPos(&(yylsp[(1) - (4)]).end);
19444          (yyloc).start = (yylsp[(1) - (4)]).start;
19445          (yyloc).end = (yylsp[(1) - (4)]).end;
19446          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19447          FreeIdentifier((yyvsp[(3) - (4)].id));
19448       ;}
19449     break;
19450
19451   case 917:
19452
19453 /* Line 1464 of yacc.c  */
19454 #line 2820 "grammar.y"
19455     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19456     break;
19457
19458   case 918:
19459
19460 /* Line 1464 of yacc.c  */
19461 #line 2821 "grammar.y"
19462     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19463     break;
19464
19465   case 919:
19466
19467 /* Line 1464 of yacc.c  */
19468 #line 2822 "grammar.y"
19469     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19470     break;
19471
19472   case 920:
19473
19474 /* Line 1464 of yacc.c  */
19475 #line 2823 "grammar.y"
19476     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19477     break;
19478
19479   case 921:
19480
19481 /* Line 1464 of yacc.c  */
19482 #line 2824 "grammar.y"
19483     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19484     break;
19485
19486   case 922:
19487
19488 /* Line 1464 of yacc.c  */
19489 #line 2830 "grammar.y"
19490     {
19491          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list)); 
19492          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
19493          yyclearin;
19494          resetScannerPos(&(yylsp[(1) - (2)]).end);
19495          (yyloc).start = (yylsp[(1) - (2)]).start;
19496          (yyloc).end = (yylsp[(1) - (2)]).end;
19497       ;}
19498     break;
19499
19500   case 923:
19501
19502 /* Line 1464 of yacc.c  */
19503 #line 2839 "grammar.y"
19504     { 
19505          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); 
19506          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
19507          yyclearin;
19508          resetScannerPos(&(yylsp[(1) - (2)]).end);
19509          (yyloc).start = (yylsp[(1) - (2)]).start;
19510          (yyloc).end = (yylsp[(1) - (2)]).end;
19511       ;}
19512     break;
19513
19514   case 924:
19515
19516 /* Line 1464 of yacc.c  */
19517 #line 2848 "grammar.y"
19518     { 
19519          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); 
19520          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start); 
19521          yyclearin;
19522          resetScannerPos(&(yylsp[(1) - (3)]).end);
19523          (yyloc).start = (yylsp[(1) - (3)]).start;
19524          (yyloc).end = (yylsp[(1) - (3)]).end;
19525       ;}
19526     break;
19527
19528   case 925:
19529
19530 /* Line 1464 of yacc.c  */
19531 #line 2857 "grammar.y"
19532     { 
19533          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null); 
19534          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start); 
19535          yyclearin;
19536          resetScannerPos(&(yylsp[(1) - (4)]).end);
19537          (yyloc).start = (yylsp[(1) - (4)]).start;
19538          (yyloc).end = (yylsp[(1) - (4)]).end;
19539          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19540          FreeIdentifier((yyvsp[(3) - (4)].id));
19541       ;}
19542     break;
19543
19544   case 928:
19545
19546 /* Line 1464 of yacc.c  */
19547 #line 2920 "grammar.y"
19548     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19549     break;
19550
19551   case 929:
19552
19553 /* Line 1464 of yacc.c  */
19554 #line 2921 "grammar.y"
19555     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19556     break;
19557
19558   case 930:
19559
19560 /* Line 1464 of yacc.c  */
19561 #line 2922 "grammar.y"
19562     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
19563     break;
19564
19565   case 931:
19566
19567 /* Line 1464 of yacc.c  */
19568 #line 2924 "grammar.y"
19569     {
19570          char temp[1024];
19571          strcpy(temp, "__asm__(");
19572          strcat(temp, (yyvsp[(3) - (4)].string));
19573          strcat(temp, ")");
19574          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
19575          delete (yyvsp[(3) - (4)].string);
19576       ;}
19577     break;
19578
19579   case 932:
19580
19581 /* Line 1464 of yacc.c  */
19582 #line 2935 "grammar.y"
19583     { (yyval.i) = ATTRIB; ;}
19584     break;
19585
19586   case 933:
19587
19588 /* Line 1464 of yacc.c  */
19589 #line 2936 "grammar.y"
19590     { (yyval.i) = ATTRIB_DEP; ;}
19591     break;
19592
19593   case 934:
19594
19595 /* Line 1464 of yacc.c  */
19596 #line 2937 "grammar.y"
19597     { (yyval.i) = __ATTRIB; ;}
19598     break;
19599
19600   case 935:
19601
19602 /* Line 1464 of yacc.c  */
19603 #line 2942 "grammar.y"
19604     { (yyval.string)  = CopyString(yytext); ;}
19605     break;
19606
19607   case 936:
19608
19609 /* Line 1464 of yacc.c  */
19610 #line 2943 "grammar.y"
19611     { (yyval.string)  = CopyString(yytext); ;}
19612     break;
19613
19614   case 937:
19615
19616 /* Line 1464 of yacc.c  */
19617 #line 2944 "grammar.y"
19618     { (yyval.string)  = CopyString(yytext); ;}
19619     break;
19620
19621   case 938:
19622
19623 /* Line 1464 of yacc.c  */
19624 #line 2945 "grammar.y"
19625     { (yyval.string)  = CopyString(yytext); ;}
19626     break;
19627
19628   case 939:
19629
19630 /* Line 1464 of yacc.c  */
19631 #line 2946 "grammar.y"
19632     { (yyval.string)  = CopyString(yytext); ;}
19633     break;
19634
19635   case 940:
19636
19637 /* Line 1464 of yacc.c  */
19638 #line 2950 "grammar.y"
19639     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
19640     break;
19641
19642   case 941:
19643
19644 /* Line 1464 of yacc.c  */
19645 #line 2951 "grammar.y"
19646     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
19647     break;
19648
19649   case 942:
19650
19651 /* Line 1464 of yacc.c  */
19652 #line 2955 "grammar.y"
19653     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
19654     break;
19655
19656   case 943:
19657
19658 /* Line 1464 of yacc.c  */
19659 #line 2956 "grammar.y"
19660     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
19661     break;
19662
19663   case 944:
19664
19665 /* Line 1464 of yacc.c  */
19666 #line 2957 "grammar.y"
19667     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
19668     break;
19669
19670   case 945:
19671
19672 /* Line 1464 of yacc.c  */
19673 #line 2961 "grammar.y"
19674     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
19675     break;
19676
19677   case 946:
19678
19679 /* Line 1464 of yacc.c  */
19680 #line 2962 "grammar.y"
19681     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
19682     break;
19683
19684   case 947:
19685
19686 /* Line 1464 of yacc.c  */
19687 #line 2966 "grammar.y"
19688     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19689     break;
19690
19691   case 948:
19692
19693 /* Line 1464 of yacc.c  */
19694 #line 2967 "grammar.y"
19695     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19696     break;
19697
19698   case 949:
19699
19700 /* Line 1464 of yacc.c  */
19701 #line 2968 "grammar.y"
19702     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
19703     break;
19704
19705   case 950:
19706
19707 /* Line 1464 of yacc.c  */
19708 #line 2969 "grammar.y"
19709     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19710     break;
19711
19712   case 951:
19713
19714 /* Line 1464 of yacc.c  */
19715 #line 2970 "grammar.y"
19716     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19717     break;
19718
19719   case 952:
19720
19721 /* Line 1464 of yacc.c  */
19722 #line 2971 "grammar.y"
19723     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
19724     break;
19725
19726   case 953:
19727
19728 /* Line 1464 of yacc.c  */
19729 #line 2972 "grammar.y"
19730     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19731     break;
19732
19733   case 954:
19734
19735 /* Line 1464 of yacc.c  */
19736 #line 2973 "grammar.y"
19737     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19738     break;
19739
19740   case 955:
19741
19742 /* Line 1464 of yacc.c  */
19743 #line 2974 "grammar.y"
19744     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19745     break;
19746
19747   case 956:
19748
19749 /* Line 1464 of yacc.c  */
19750 #line 2975 "grammar.y"
19751     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19752     break;
19753
19754   case 957:
19755
19756 /* Line 1464 of yacc.c  */
19757 #line 2976 "grammar.y"
19758     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
19759     break;
19760
19761   case 958:
19762
19763 /* Line 1464 of yacc.c  */
19764 #line 2977 "grammar.y"
19765     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19766     break;
19767
19768   case 959:
19769
19770 /* Line 1464 of yacc.c  */
19771 #line 2978 "grammar.y"
19772     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19773     break;
19774
19775   case 960:
19776
19777 /* Line 1464 of yacc.c  */
19778 #line 2979 "grammar.y"
19779     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
19780     break;
19781
19782   case 961:
19783
19784 /* Line 1464 of yacc.c  */
19785 #line 2980 "grammar.y"
19786     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19787     break;
19788
19789   case 962:
19790
19791 /* Line 1464 of yacc.c  */
19792 #line 2981 "grammar.y"
19793     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19794     break;
19795
19796   case 963:
19797
19798 /* Line 1464 of yacc.c  */
19799 #line 2985 "grammar.y"
19800     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19801     break;
19802
19803   case 964:
19804
19805 /* Line 1464 of yacc.c  */
19806 #line 2986 "grammar.y"
19807     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19808     break;
19809
19810   case 965:
19811
19812 /* Line 1464 of yacc.c  */
19813 #line 2987 "grammar.y"
19814     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
19815     break;
19816
19817   case 966:
19818
19819 /* Line 1464 of yacc.c  */
19820 #line 2988 "grammar.y"
19821     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19822     break;
19823
19824   case 967:
19825
19826 /* Line 1464 of yacc.c  */
19827 #line 2989 "grammar.y"
19828     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19829     break;
19830
19831   case 968:
19832
19833 /* Line 1464 of yacc.c  */
19834 #line 2990 "grammar.y"
19835     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
19836     break;
19837
19838   case 969:
19839
19840 /* Line 1464 of yacc.c  */
19841 #line 2991 "grammar.y"
19842     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19843     break;
19844
19845   case 970:
19846
19847 /* Line 1464 of yacc.c  */
19848 #line 2992 "grammar.y"
19849     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19850     break;
19851
19852   case 971:
19853
19854 /* Line 1464 of yacc.c  */
19855 #line 2996 "grammar.y"
19856     { (yyval.pointer) = MkPointer(null, null); ;}
19857     break;
19858
19859   case 972:
19860
19861 /* Line 1464 of yacc.c  */
19862 #line 2997 "grammar.y"
19863     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
19864     break;
19865
19866   case 973:
19867
19868 /* Line 1464 of yacc.c  */
19869 #line 2998 "grammar.y"
19870     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
19871     break;
19872
19873   case 974:
19874
19875 /* Line 1464 of yacc.c  */
19876 #line 2999 "grammar.y"
19877     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
19878     break;
19879
19880   case 975:
19881
19882 /* Line 1464 of yacc.c  */
19883 #line 3003 "grammar.y"
19884     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
19885     break;
19886
19887   case 977:
19888
19889 /* Line 1464 of yacc.c  */
19890 #line 3005 "grammar.y"
19891     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19892     break;
19893
19894   case 978:
19895
19896 /* Line 1464 of yacc.c  */
19897 #line 3006 "grammar.y"
19898     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
19899     break;
19900
19901   case 979:
19902
19903 /* Line 1464 of yacc.c  */
19904 #line 3007 "grammar.y"
19905     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19906     break;
19907
19908   case 980:
19909
19910 /* Line 1464 of yacc.c  */
19911 #line 3011 "grammar.y"
19912     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
19913     break;
19914
19915   case 982:
19916
19917 /* Line 1464 of yacc.c  */
19918 #line 3013 "grammar.y"
19919     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19920     break;
19921
19922   case 983:
19923
19924 /* Line 1464 of yacc.c  */
19925 #line 3014 "grammar.y"
19926     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
19927     break;
19928
19929   case 984:
19930
19931 /* Line 1464 of yacc.c  */
19932 #line 3015 "grammar.y"
19933     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19934     break;
19935
19936   case 986:
19937
19938 /* Line 1464 of yacc.c  */
19939 #line 3021 "grammar.y"
19940     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19941     break;
19942
19943   case 987:
19944
19945 /* Line 1464 of yacc.c  */
19946 #line 3023 "grammar.y"
19947     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19948     break;
19949
19950   case 988:
19951
19952 /* Line 1464 of yacc.c  */
19953 #line 3025 "grammar.y"
19954     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
19955     break;
19956
19957   case 989:
19958
19959 /* Line 1464 of yacc.c  */
19960 #line 3027 "grammar.y"
19961     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
19962     break;
19963
19964   case 991:
19965
19966 /* Line 1464 of yacc.c  */
19967 #line 3033 "grammar.y"
19968     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19969     break;
19970
19971   case 992:
19972
19973 /* Line 1464 of yacc.c  */
19974 #line 3035 "grammar.y"
19975     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19976     break;
19977
19978   case 993:
19979
19980 /* Line 1464 of yacc.c  */
19981 #line 3037 "grammar.y"
19982     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
19983     break;
19984
19985   case 995:
19986
19987 /* Line 1464 of yacc.c  */
19988 #line 3042 "grammar.y"
19989     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19990     break;
19991
19992   case 996:
19993
19994 /* Line 1464 of yacc.c  */
19995 #line 3043 "grammar.y"
19996     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19997     break;
19998
19999   case 997:
20000
20001 /* Line 1464 of yacc.c  */
20002 #line 3044 "grammar.y"
20003     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20004     break;
20005
20006   case 999:
20007
20008 /* Line 1464 of yacc.c  */
20009 #line 3049 "grammar.y"
20010     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20011     break;
20012
20013   case 1000:
20014
20015 /* Line 1464 of yacc.c  */
20016 #line 3050 "grammar.y"
20017     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20018     break;
20019
20020   case 1001:
20021
20022 /* Line 1464 of yacc.c  */
20023 #line 3051 "grammar.y"
20024     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20025     break;
20026
20027   case 1003:
20028
20029 /* Line 1464 of yacc.c  */
20030 #line 3056 "grammar.y"
20031     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20032     break;
20033
20034   case 1004:
20035
20036 /* Line 1464 of yacc.c  */
20037 #line 3057 "grammar.y"
20038     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20039     break;
20040
20041   case 1005:
20042
20043 /* Line 1464 of yacc.c  */
20044 #line 3058 "grammar.y"
20045     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20046     break;
20047
20048   case 1007:
20049
20050 /* Line 1464 of yacc.c  */
20051 #line 3063 "grammar.y"
20052     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20053     break;
20054
20055   case 1008:
20056
20057 /* Line 1464 of yacc.c  */
20058 #line 3064 "grammar.y"
20059     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20060     break;
20061
20062   case 1009:
20063
20064 /* Line 1464 of yacc.c  */
20065 #line 3065 "grammar.y"
20066     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20067     break;
20068
20069   case 1011:
20070
20071 /* Line 1464 of yacc.c  */
20072 #line 3070 "grammar.y"
20073     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20074     break;
20075
20076   case 1012:
20077
20078 /* Line 1464 of yacc.c  */
20079 #line 3071 "grammar.y"
20080     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20081     break;
20082
20083   case 1013:
20084
20085 /* Line 1464 of yacc.c  */
20086 #line 3072 "grammar.y"
20087     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20088     break;
20089
20090   case 1014:
20091
20092 /* Line 1464 of yacc.c  */
20093 #line 3076 "grammar.y"
20094     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20095     break;
20096
20097   case 1015:
20098
20099 /* Line 1464 of yacc.c  */
20100 #line 3077 "grammar.y"
20101     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
20102     break;
20103
20104   case 1016:
20105
20106 /* Line 1464 of yacc.c  */
20107 #line 3079 "grammar.y"
20108     { 
20109          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); 
20110          (yyval.initializer).loc = (yyloc); 
20111
20112          {
20113             Expression exp = MkExpDummy();
20114             Initializer init = MkInitializerAssignment(exp);
20115             init.loc = (yylsp[(3) - (4)]);
20116             exp.loc = (yylsp[(3) - (4)]);
20117             ListAdd((yyvsp[(2) - (4)].list), init); 
20118          }
20119       ;}
20120     break;
20121
20122   case 1017:
20123
20124 /* Line 1464 of yacc.c  */
20125 #line 3094 "grammar.y"
20126     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20127     break;
20128
20129   case 1018:
20130
20131 /* Line 1464 of yacc.c  */
20132 #line 3095 "grammar.y"
20133     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
20134     break;
20135
20136   case 1019:
20137
20138 /* Line 1464 of yacc.c  */
20139 #line 3096 "grammar.y"
20140     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
20141     break;
20142
20143   case 1020:
20144
20145 /* Line 1464 of yacc.c  */
20146 #line 3098 "grammar.y"
20147     { 
20148          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list)); 
20149          (yyval.initializer).loc = (yyloc);
20150
20151          {
20152             Expression exp = MkExpDummy();
20153             Initializer init = MkInitializerAssignment(exp);
20154             init.loc = (yylsp[(3) - (5)]);
20155             exp.loc = (yylsp[(3) - (5)]);
20156             ListAdd((yyvsp[(2) - (5)].list), init); 
20157          }
20158       ;}
20159     break;
20160
20161   case 1021:
20162
20163 /* Line 1464 of yacc.c  */
20164 #line 3111 "grammar.y"
20165     { 
20166          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); 
20167          (yyval.initializer).loc = (yyloc);
20168
20169          {
20170             Expression exp = MkExpDummy();
20171             Initializer init = MkInitializerAssignment(exp);
20172             init.loc = (yylsp[(3) - (3)]);
20173             exp.loc = (yylsp[(3) - (3)]);
20174             ListAdd((yyvsp[(2) - (3)].list), init); 
20175          }
20176       ;}
20177     break;
20178
20179   case 1022:
20180
20181 /* Line 1464 of yacc.c  */
20182 #line 3126 "grammar.y"
20183     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20184     break;
20185
20186   case 1023:
20187
20188 /* Line 1464 of yacc.c  */
20189 #line 3128 "grammar.y"
20190     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20191     break;
20192
20193   case 1024:
20194
20195 /* Line 1464 of yacc.c  */
20196 #line 3132 "grammar.y"
20197     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20198     break;
20199
20200   case 1025:
20201
20202 /* Line 1464 of yacc.c  */
20203 #line 3133 "grammar.y"
20204     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20205     break;
20206
20207   case 1026:
20208
20209 /* Line 1464 of yacc.c  */
20210 #line 3137 "grammar.y"
20211     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20212     break;
20213
20214   case 1027:
20215
20216 /* Line 1464 of yacc.c  */
20217 #line 3138 "grammar.y"
20218     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20219     break;
20220
20221   case 1028:
20222
20223 /* Line 1464 of yacc.c  */
20224 #line 3139 "grammar.y"
20225     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20226     break;
20227
20228   case 1029:
20229
20230 /* Line 1464 of yacc.c  */
20231 #line 3140 "grammar.y"
20232     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20233     break;
20234
20235   case 1030:
20236
20237 /* Line 1464 of yacc.c  */
20238 #line 3143 "grammar.y"
20239     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20240     break;
20241
20242   case 1031:
20243
20244 /* Line 1464 of yacc.c  */
20245 #line 3144 "grammar.y"
20246     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20247     break;
20248
20249   case 1032:
20250
20251 /* Line 1464 of yacc.c  */
20252 #line 3148 "grammar.y"
20253     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20254     break;
20255
20256   case 1033:
20257
20258 /* Line 1464 of yacc.c  */
20259 #line 3149 "grammar.y"
20260     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20261     break;
20262
20263   case 1034:
20264
20265 /* Line 1464 of yacc.c  */
20266 #line 3150 "grammar.y"
20267     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20268     break;
20269
20270   case 1035:
20271
20272 /* Line 1464 of yacc.c  */
20273 #line 3154 "grammar.y"
20274     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20275     break;
20276
20277   case 1036:
20278
20279 /* Line 1464 of yacc.c  */
20280 #line 3158 "grammar.y"
20281     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20282     break;
20283
20284   case 1037:
20285
20286 /* Line 1464 of yacc.c  */
20287 #line 3162 "grammar.y"
20288     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20289     break;
20290
20291   case 1038:
20292
20293 /* Line 1464 of yacc.c  */
20294 #line 3163 "grammar.y"
20295     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20296     break;
20297
20298   case 1039:
20299
20300 /* Line 1464 of yacc.c  */
20301 #line 3164 "grammar.y"
20302     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20303     break;
20304
20305   case 1040:
20306
20307 /* Line 1464 of yacc.c  */
20308 #line 3165 "grammar.y"
20309     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20310     break;
20311
20312   case 1041:
20313
20314 /* Line 1464 of yacc.c  */
20315 #line 3167 "grammar.y"
20316     {
20317       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20318       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20319       (yyval.list) = MkList();
20320       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20321       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20322       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20323    ;}
20324     break;
20325
20326   case 1042:
20327
20328 /* Line 1464 of yacc.c  */
20329 #line 3175 "grammar.y"
20330     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20331     break;
20332
20333   case 1043:
20334
20335 /* Line 1464 of yacc.c  */
20336 #line 3184 "grammar.y"
20337     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20338     break;
20339
20340   case 1044:
20341
20342 /* Line 1464 of yacc.c  */
20343 #line 3185 "grammar.y"
20344     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20345     break;
20346
20347   case 1045:
20348
20349 /* Line 1464 of yacc.c  */
20350 #line 3186 "grammar.y"
20351     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20352     break;
20353
20354   case 1046:
20355
20356 /* Line 1464 of yacc.c  */
20357 #line 3187 "grammar.y"
20358     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20359     break;
20360
20361   case 1047:
20362
20363 /* Line 1464 of yacc.c  */
20364 #line 3191 "grammar.y"
20365     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20366     break;
20367
20368   case 1048:
20369
20370 /* Line 1464 of yacc.c  */
20371 #line 3192 "grammar.y"
20372     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20373     break;
20374
20375   case 1049:
20376
20377 /* Line 1464 of yacc.c  */
20378 #line 3196 "grammar.y"
20379     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20380     break;
20381
20382   case 1050:
20383
20384 /* Line 1464 of yacc.c  */
20385 #line 3197 "grammar.y"
20386     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20387     break;
20388
20389   case 1051:
20390
20391 /* Line 1464 of yacc.c  */
20392 #line 3202 "grammar.y"
20393     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20394     break;
20395
20396   case 1052:
20397
20398 /* Line 1464 of yacc.c  */
20399 #line 3203 "grammar.y"
20400     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20401     break;
20402
20403   case 1053:
20404
20405 /* Line 1464 of yacc.c  */
20406 #line 3204 "grammar.y"
20407     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20408     break;
20409
20410   case 1054:
20411
20412 /* Line 1464 of yacc.c  */
20413 #line 3205 "grammar.y"
20414     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20415     break;
20416
20417   case 1055:
20418
20419 /* Line 1464 of yacc.c  */
20420 #line 3206 "grammar.y"
20421     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20422     break;
20423
20424   case 1056:
20425
20426 /* Line 1464 of yacc.c  */
20427 #line 3208 "grammar.y"
20428     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20429     break;
20430
20431   case 1057:
20432
20433 /* Line 1464 of yacc.c  */
20434 #line 3226 "grammar.y"
20435     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20436     break;
20437
20438   case 1058:
20439
20440 /* Line 1464 of yacc.c  */
20441 #line 3227 "grammar.y"
20442     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20443     break;
20444
20445   case 1059:
20446
20447 /* Line 1464 of yacc.c  */
20448 #line 3231 "grammar.y"
20449     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20450     break;
20451
20452   case 1060:
20453
20454 /* Line 1464 of yacc.c  */
20455 #line 3232 "grammar.y"
20456     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20457     break;
20458
20459   case 1061:
20460
20461 /* Line 1464 of yacc.c  */
20462 #line 3233 "grammar.y"
20463     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20464     break;
20465
20466   case 1062:
20467
20468 /* Line 1464 of yacc.c  */
20469 #line 3234 "grammar.y"
20470     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20471     break;
20472
20473   case 1063:
20474
20475 /* Line 1464 of yacc.c  */
20476 #line 3235 "grammar.y"
20477     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20478     break;
20479
20480   case 1064:
20481
20482 /* Line 1464 of yacc.c  */
20483 #line 3236 "grammar.y"
20484     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20485     break;
20486
20487   case 1065:
20488
20489 /* Line 1464 of yacc.c  */
20490 #line 3238 "grammar.y"
20491     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20492     break;
20493
20494   case 1066:
20495
20496 /* Line 1464 of yacc.c  */
20497 #line 3239 "grammar.y"
20498     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20499     break;
20500
20501   case 1067:
20502
20503 /* Line 1464 of yacc.c  */
20504 #line 3240 "grammar.y"
20505     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20506     break;
20507
20508   case 1068:
20509
20510 /* Line 1464 of yacc.c  */
20511 #line 3241 "grammar.y"
20512     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20513     break;
20514
20515   case 1069:
20516
20517 /* Line 1464 of yacc.c  */
20518 #line 3245 "grammar.y"
20519     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20520     break;
20521
20522   case 1070:
20523
20524 /* Line 1464 of yacc.c  */
20525 #line 3246 "grammar.y"
20526     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20527     break;
20528
20529   case 1071:
20530
20531 /* Line 1464 of yacc.c  */
20532 #line 3247 "grammar.y"
20533     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20534     break;
20535
20536   case 1072:
20537
20538 /* Line 1464 of yacc.c  */
20539 #line 3248 "grammar.y"
20540     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20541     break;
20542
20543   case 1073:
20544
20545 /* Line 1464 of yacc.c  */
20546 #line 3249 "grammar.y"
20547     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20548     break;
20549
20550   case 1074:
20551
20552 /* Line 1464 of yacc.c  */
20553 #line 3251 "grammar.y"
20554     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20555     break;
20556
20557   case 1075:
20558
20559 /* Line 1464 of yacc.c  */
20560 #line 3252 "grammar.y"
20561     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20562     break;
20563
20564   case 1076:
20565
20566 /* Line 1464 of yacc.c  */
20567 #line 3253 "grammar.y"
20568     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20569     break;
20570
20571   case 1078:
20572
20573 /* Line 1464 of yacc.c  */
20574 #line 3258 "grammar.y"
20575     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20576     break;
20577
20578   case 1079:
20579
20580 /* Line 1464 of yacc.c  */
20581 #line 3259 "grammar.y"
20582     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20583     break;
20584
20585   case 1080:
20586
20587 /* Line 1464 of yacc.c  */
20588 #line 3260 "grammar.y"
20589     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20590     break;
20591
20592   case 1081:
20593
20594 /* Line 1464 of yacc.c  */
20595 #line 3261 "grammar.y"
20596     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20597     break;
20598
20599   case 1082:
20600
20601 /* Line 1464 of yacc.c  */
20602 #line 3262 "grammar.y"
20603     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
20604     break;
20605
20606   case 1084:
20607
20608 /* Line 1464 of yacc.c  */
20609 #line 3267 "grammar.y"
20610     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
20611     break;
20612
20613   case 1087:
20614
20615 /* Line 1464 of yacc.c  */
20616 #line 3274 "grammar.y"
20617     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
20618     break;
20619
20620   case 1089:
20621
20622 /* Line 1464 of yacc.c  */
20623 #line 3276 "grammar.y"
20624     { (yyval.stmt) = MkExpressionStmt(null); ;}
20625     break;
20626
20627   case 1090:
20628
20629 /* Line 1464 of yacc.c  */
20630 #line 3277 "grammar.y"
20631     { (yyval.stmt) = MkExpressionStmt(null); ;}
20632     break;
20633
20634   case 1091:
20635
20636 /* Line 1464 of yacc.c  */
20637 #line 3278 "grammar.y"
20638     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20639     break;
20640
20641   case 1099:
20642
20643 /* Line 1464 of yacc.c  */
20644 #line 3289 "grammar.y"
20645     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20646     break;
20647
20648   case 1100:
20649
20650 /* Line 1464 of yacc.c  */
20651 #line 3290 "grammar.y"
20652     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20653     break;
20654
20655   case 1101:
20656
20657 /* Line 1464 of yacc.c  */
20658 #line 3291 "grammar.y"
20659     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20660     break;
20661
20662   case 1102:
20663
20664 /* Line 1464 of yacc.c  */
20665 #line 3292 "grammar.y"
20666     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20667     break;
20668
20669   case 1103:
20670
20671 /* Line 1464 of yacc.c  */
20672 #line 3293 "grammar.y"
20673     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20674     break;
20675
20676   case 1104:
20677
20678 /* Line 1464 of yacc.c  */
20679 #line 3294 "grammar.y"
20680     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
20681     break;
20682
20683   case 1105:
20684
20685 /* Line 1464 of yacc.c  */
20686 #line 3295 "grammar.y"
20687     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
20688     break;
20689
20690   case 1106:
20691
20692 /* Line 1464 of yacc.c  */
20693 #line 3299 "grammar.y"
20694     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
20695     break;
20696
20697   case 1107:
20698
20699 /* Line 1464 of yacc.c  */
20700 #line 3300 "grammar.y"
20701     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp)); (yyval.asmField).loc = (yyloc); ;}
20702     break;
20703
20704   case 1108:
20705
20706 /* Line 1464 of yacc.c  */
20707 #line 3304 "grammar.y"
20708     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
20709     break;
20710
20711   case 1109:
20712
20713 /* Line 1464 of yacc.c  */
20714 #line 3305 "grammar.y"
20715     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
20716     break;
20717
20718   case 1110:
20719
20720 /* Line 1464 of yacc.c  */
20721 #line 3306 "grammar.y"
20722     { (yyval.list) = null; ;}
20723     break;
20724
20725   case 1111:
20726
20727 /* Line 1464 of yacc.c  */
20728 #line 3310 "grammar.y"
20729     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20730     break;
20731
20732   case 1112:
20733
20734 /* Line 1464 of yacc.c  */
20735 #line 3311 "grammar.y"
20736     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20737     break;
20738
20739   case 1113:
20740
20741 /* Line 1464 of yacc.c  */
20742 #line 3312 "grammar.y"
20743     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
20744     break;
20745
20746   case 1114:
20747
20748 /* Line 1464 of yacc.c  */
20749 #line 3313 "grammar.y"
20750     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (12)].specifier), (yyvsp[(4) - (12)].string), (yyvsp[(6) - (12)].list), (yyvsp[(8) - (12)].list), (yyvsp[(10) - (12)].list)); (yyval.stmt).loc = (yyloc); ;}
20751     break;
20752
20753   case 1115:
20754
20755 /* Line 1464 of yacc.c  */
20756 #line 3315 "grammar.y"
20757     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
20758     break;
20759
20760   case 1116:
20761
20762 /* Line 1464 of yacc.c  */
20763 #line 3316 "grammar.y"
20764     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
20765     break;
20766
20767   case 1117:
20768
20769 /* Line 1464 of yacc.c  */
20770 #line 3317 "grammar.y"
20771     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
20772     break;
20773
20774   case 1118:
20775
20776 /* Line 1464 of yacc.c  */
20777 #line 3319 "grammar.y"
20778     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20779     break;
20780
20781   case 1119:
20782
20783 /* Line 1464 of yacc.c  */
20784 #line 3320 "grammar.y"
20785     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20786     break;
20787
20788   case 1120:
20789
20790 /* Line 1464 of yacc.c  */
20791 #line 3321 "grammar.y"
20792     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
20793     break;
20794
20795   case 1121:
20796
20797 /* Line 1464 of yacc.c  */
20798 #line 3322 "grammar.y"
20799     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
20800     break;
20801
20802   case 1122:
20803
20804 /* Line 1464 of yacc.c  */
20805 #line 3324 "grammar.y"
20806     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
20807     break;
20808
20809   case 1123:
20810
20811 /* Line 1464 of yacc.c  */
20812 #line 3325 "grammar.y"
20813     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
20814     break;
20815
20816   case 1124:
20817
20818 /* Line 1464 of yacc.c  */
20819 #line 3326 "grammar.y"
20820     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
20821     break;
20822
20823   case 1125:
20824
20825 /* Line 1464 of yacc.c  */
20826 #line 3330 "grammar.y"
20827     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20828     break;
20829
20830   case 1126:
20831
20832 /* Line 1464 of yacc.c  */
20833 #line 3331 "grammar.y"
20834     { (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
20835     break;
20836
20837   case 1127:
20838
20839 /* Line 1464 of yacc.c  */
20840 #line 3332 "grammar.y"
20841     { (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
20842     break;
20843
20844   case 1128:
20845
20846 /* Line 1464 of yacc.c  */
20847 #line 3333 "grammar.y"
20848     { (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
20849     break;
20850
20851   case 1129:
20852
20853 /* Line 1464 of yacc.c  */
20854 #line 3334 "grammar.y"
20855     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20856     break;
20857
20858   case 1130:
20859
20860 /* Line 1464 of yacc.c  */
20861 #line 3338 "grammar.y"
20862     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20863     break;
20864
20865   case 1131:
20866
20867 /* Line 1464 of yacc.c  */
20868 #line 3339 "grammar.y"
20869     { (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
20870     break;
20871
20872   case 1132:
20873
20874 /* Line 1464 of yacc.c  */
20875 #line 3340 "grammar.y"
20876     { (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
20877     break;
20878
20879   case 1133:
20880
20881 /* Line 1464 of yacc.c  */
20882 #line 3341 "grammar.y"
20883     { (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
20884     break;
20885
20886   case 1134:
20887
20888 /* Line 1464 of yacc.c  */
20889 #line 3342 "grammar.y"
20890     { (yyval.stmt) = MkCaseStmt(MkExpDummy(), null); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (2)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (2)]).end; ;}
20891     break;
20892
20893   case 1135:
20894
20895 /* Line 1464 of yacc.c  */
20896 #line 3343 "grammar.y"
20897     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20898     break;
20899
20900   case 1136:
20901
20902 /* Line 1464 of yacc.c  */
20903 #line 3344 "grammar.y"
20904     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
20905     break;
20906
20907   case 1137:
20908
20909 /* Line 1464 of yacc.c  */
20910 #line 3348 "grammar.y"
20911     { (yyval.declMode) = declMode = publicAccess; ;}
20912     break;
20913
20914   case 1138:
20915
20916 /* Line 1464 of yacc.c  */
20917 #line 3349 "grammar.y"
20918     { (yyval.declMode) = declMode = privateAccess; ;}
20919     break;
20920
20921   case 1139:
20922
20923 /* Line 1464 of yacc.c  */
20924 #line 3350 "grammar.y"
20925     { (yyval.declMode) = declMode = defaultAccess; ;}
20926     break;
20927
20928   case 1140:
20929
20930 /* Line 1464 of yacc.c  */
20931 #line 3354 "grammar.y"
20932     { (yyval.declMode) = publicAccess; ;}
20933     break;
20934
20935   case 1141:
20936
20937 /* Line 1464 of yacc.c  */
20938 #line 3355 "grammar.y"
20939     { (yyval.declMode) = privateAccess; ;}
20940     break;
20941
20942   case 1142:
20943
20944 /* Line 1464 of yacc.c  */
20945 #line 3359 "grammar.y"
20946     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
20947     break;
20948
20949   case 1143:
20950
20951 /* Line 1464 of yacc.c  */
20952 #line 3360 "grammar.y"
20953     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
20954     break;
20955
20956   case 1144:
20957
20958 /* Line 1464 of yacc.c  */
20959 #line 3361 "grammar.y"
20960     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
20961     break;
20962
20963   case 1145:
20964
20965 /* Line 1464 of yacc.c  */
20966 #line 3362 "grammar.y"
20967     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); ;}
20968     break;
20969
20970   case 1146:
20971
20972 /* Line 1464 of yacc.c  */
20973 #line 3366 "grammar.y"
20974     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
20975     break;
20976
20977   case 1147:
20978
20979 /* Line 1464 of yacc.c  */
20980 #line 3367 "grammar.y"
20981     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
20982     break;
20983
20984   case 1148:
20985
20986 /* Line 1464 of yacc.c  */
20987 #line 3368 "grammar.y"
20988     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
20989     break;
20990
20991   case 1149:
20992
20993 /* Line 1464 of yacc.c  */
20994 #line 3370 "grammar.y"
20995     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
20996     break;
20997
20998   case 1150:
20999
21000 /* Line 1464 of yacc.c  */
21001 #line 3371 "grammar.y"
21002     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
21003     break;
21004
21005   case 1151:
21006
21007 /* Line 1464 of yacc.c  */
21008 #line 3372 "grammar.y"
21009     { declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
21010     break;
21011
21012   case 1152:
21013
21014 /* Line 1464 of yacc.c  */
21015 #line 3376 "grammar.y"
21016     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
21017     break;
21018
21019   case 1153:
21020
21021 /* Line 1464 of yacc.c  */
21022 #line 3380 "grammar.y"
21023     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
21024     break;
21025
21026   case 1154:
21027
21028 /* Line 1464 of yacc.c  */
21029 #line 3381 "grammar.y"
21030     {;}
21031     break;
21032
21033   case 1155:
21034
21035 /* Line 1464 of yacc.c  */
21036 #line 3383 "grammar.y"
21037     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21038     break;
21039
21040   case 1156:
21041
21042 /* Line 1464 of yacc.c  */
21043 #line 3384 "grammar.y"
21044     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21045     break;
21046
21047   case 1157:
21048
21049 /* Line 1464 of yacc.c  */
21050 #line 3385 "grammar.y"
21051     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); ;}
21052     break;
21053
21054   case 1158:
21055
21056 /* Line 1464 of yacc.c  */
21057 #line 3389 "grammar.y"
21058     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
21059     break;
21060
21061   case 1159:
21062
21063 /* Line 1464 of yacc.c  */
21064 #line 3390 "grammar.y"
21065     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21066     break;
21067
21068   case 1160:
21069
21070 /* Line 1464 of yacc.c  */
21071 #line 3391 "grammar.y"
21072     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21073     break;
21074
21075   case 1161:
21076
21077 /* Line 1464 of yacc.c  */
21078 #line 3392 "grammar.y"
21079     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
21080     break;
21081
21082   case 1162:
21083
21084 /* Line 1464 of yacc.c  */
21085 #line 3396 "grammar.y"
21086     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
21087     break;
21088
21089   case 1163:
21090
21091 /* Line 1464 of yacc.c  */
21092 #line 3397 "grammar.y"
21093     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
21094     break;
21095
21096   case 1164:
21097
21098 /* Line 1464 of yacc.c  */
21099 #line 3401 "grammar.y"
21100     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21101     break;
21102
21103   case 1165:
21104
21105 /* Line 1464 of yacc.c  */
21106 #line 3402 "grammar.y"
21107     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21108     break;
21109
21110   case 1166:
21111
21112 /* Line 1464 of yacc.c  */
21113 #line 3403 "grammar.y"
21114     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21115     break;
21116
21117   case 1167:
21118
21119 /* Line 1464 of yacc.c  */
21120 #line 3407 "grammar.y"
21121     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21122     break;
21123
21124   case 1168:
21125
21126 /* Line 1464 of yacc.c  */
21127 #line 3408 "grammar.y"
21128     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21129     break;
21130
21131   case 1169:
21132
21133 /* Line 1464 of yacc.c  */
21134 #line 3409 "grammar.y"
21135     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21136     break;
21137
21138   case 1170:
21139
21140 /* Line 1464 of yacc.c  */
21141 #line 3410 "grammar.y"
21142     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21143     break;
21144
21145   case 1171:
21146
21147 /* Line 1464 of yacc.c  */
21148 #line 3411 "grammar.y"
21149     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21150     break;
21151
21152   case 1172:
21153
21154 /* Line 1464 of yacc.c  */
21155 #line 3412 "grammar.y"
21156     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21157     break;
21158
21159   case 1173:
21160
21161 /* Line 1464 of yacc.c  */
21162 #line 3413 "grammar.y"
21163     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21164     break;
21165
21166   case 1174:
21167
21168 /* Line 1464 of yacc.c  */
21169 #line 3417 "grammar.y"
21170     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21171     break;
21172
21173   case 1175:
21174
21175 /* Line 1464 of yacc.c  */
21176 #line 3418 "grammar.y"
21177     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21178     break;
21179
21180   case 1176:
21181
21182 /* Line 1464 of yacc.c  */
21183 #line 3419 "grammar.y"
21184     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21185     break;
21186
21187   case 1177:
21188
21189 /* Line 1464 of yacc.c  */
21190 #line 3420 "grammar.y"
21191     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21192     break;
21193
21194   case 1178:
21195
21196 /* Line 1464 of yacc.c  */
21197 #line 3424 "grammar.y"
21198     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21199     break;
21200
21201   case 1179:
21202
21203 /* Line 1464 of yacc.c  */
21204 #line 3425 "grammar.y"
21205     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21206     break;
21207
21208   case 1180:
21209
21210 /* Line 1464 of yacc.c  */
21211 #line 3426 "grammar.y"
21212     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21213     break;
21214
21215   case 1181:
21216
21217 /* Line 1464 of yacc.c  */
21218 #line 3427 "grammar.y"
21219     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21220     break;
21221
21222   case 1182:
21223
21224 /* Line 1464 of yacc.c  */
21225 #line 3431 "grammar.y"
21226     { (yyval.context) = PushContext(); ;}
21227     break;
21228
21229   case 1183:
21230
21231 /* Line 1464 of yacc.c  */
21232 #line 3435 "grammar.y"
21233     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21234     break;
21235
21236   case 1184:
21237
21238 /* Line 1464 of yacc.c  */
21239 #line 3440 "grammar.y"
21240     { (yyval.stmt) = (yyvsp[(2) - (2)].stmt); (yyval.stmt).compound.context = (yyvsp[(1) - (2)].context); PopContext((yyvsp[(1) - (2)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21241     break;
21242
21243   case 1185:
21244
21245 /* Line 1464 of yacc.c  */
21246 #line 3442 "grammar.y"
21247     { (yyval.stmt) = MkCompoundStmt(null, null); (yyval.stmt).compound.context = (yyvsp[(1) - (1)].context); PopContext((yyvsp[(1) - (1)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21248     break;
21249
21250   case 1186:
21251
21252 /* Line 1464 of yacc.c  */
21253 #line 3445 "grammar.y"
21254     { (yyval.stmt) = (yyvsp[(2) - (2)].stmt); (yyval.stmt).compound.context = (yyvsp[(1) - (2)].context); PopContext((yyvsp[(1) - (2)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21255     break;
21256
21257   case 1187:
21258
21259 /* Line 1464 of yacc.c  */
21260 #line 3450 "grammar.y"
21261     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21262     break;
21263
21264   case 1188:
21265
21266 /* Line 1464 of yacc.c  */
21267 #line 3451 "grammar.y"
21268     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21269     break;
21270
21271   case 1189:
21272
21273 /* Line 1464 of yacc.c  */
21274 #line 3452 "grammar.y"
21275     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21276     break;
21277
21278   case 1190:
21279
21280 /* Line 1464 of yacc.c  */
21281 #line 3456 "grammar.y"
21282     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21283     break;
21284
21285   case 1191:
21286
21287 /* Line 1464 of yacc.c  */
21288 #line 3457 "grammar.y"
21289     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21290     break;
21291
21292   case 1192:
21293
21294 /* Line 1464 of yacc.c  */
21295 #line 3458 "grammar.y"
21296     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21297     break;
21298
21299   case 1193:
21300
21301 /* Line 1464 of yacc.c  */
21302 #line 3459 "grammar.y"
21303     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21304     break;
21305
21306   case 1194:
21307
21308 /* Line 1464 of yacc.c  */
21309 #line 3460 "grammar.y"
21310     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21311     break;
21312
21313   case 1195:
21314
21315 /* Line 1464 of yacc.c  */
21316 #line 3461 "grammar.y"
21317     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21318     break;
21319
21320   case 1196:
21321
21322 /* Line 1464 of yacc.c  */
21323 #line 3465 "grammar.y"
21324     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21325     break;
21326
21327   case 1198:
21328
21329 /* Line 1464 of yacc.c  */
21330 #line 3470 "grammar.y"
21331     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21332     break;
21333
21334   case 1199:
21335
21336 /* Line 1464 of yacc.c  */
21337 #line 3471 "grammar.y"
21338     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21339     break;
21340
21341   case 1200:
21342
21343 /* Line 1464 of yacc.c  */
21344 #line 3472 "grammar.y"
21345     { (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21346     break;
21347
21348   case 1201:
21349
21350 /* Line 1464 of yacc.c  */
21351 #line 3474 "grammar.y"
21352     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21353     break;
21354
21355   case 1202:
21356
21357 /* Line 1464 of yacc.c  */
21358 #line 3475 "grammar.y"
21359     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21360     break;
21361
21362   case 1203:
21363
21364 /* Line 1464 of yacc.c  */
21365 #line 3477 "grammar.y"
21366     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21367     break;
21368
21369   case 1204:
21370
21371 /* Line 1464 of yacc.c  */
21372 #line 3478 "grammar.y"
21373     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21374     break;
21375
21376   case 1205:
21377
21378 /* Line 1464 of yacc.c  */
21379 #line 3479 "grammar.y"
21380     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21381     break;
21382
21383   case 1206:
21384
21385 /* Line 1464 of yacc.c  */
21386 #line 3480 "grammar.y"
21387     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21388     break;
21389
21390   case 1207:
21391
21392 /* Line 1464 of yacc.c  */
21393 #line 3481 "grammar.y"
21394     { (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21395     break;
21396
21397   case 1208:
21398
21399 /* Line 1464 of yacc.c  */
21400 #line 3483 "grammar.y"
21401     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21402     break;
21403
21404   case 1209:
21405
21406 /* Line 1464 of yacc.c  */
21407 #line 3484 "grammar.y"
21408     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21409     break;
21410
21411   case 1210:
21412
21413 /* Line 1464 of yacc.c  */
21414 #line 3488 "grammar.y"
21415     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
21416     break;
21417
21418   case 1211:
21419
21420 /* Line 1464 of yacc.c  */
21421 #line 3489 "grammar.y"
21422     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
21423     break;
21424
21425   case 1212:
21426
21427 /* Line 1464 of yacc.c  */
21428 #line 3490 "grammar.y"
21429     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21430     break;
21431
21432   case 1213:
21433
21434 /* Line 1464 of yacc.c  */
21435 #line 3491 "grammar.y"
21436     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), MkExpressionStmt((yyvsp[(4) - (5)].list)), null, null); (yyval.stmt).loc = (yyloc); (yyval.stmt).forStmt.check.loc = (yylsp[(4) - (5)]); ;}
21437     break;
21438
21439   case 1214:
21440
21441 /* Line 1464 of yacc.c  */
21442 #line 3495 "grammar.y"
21443     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
21444     break;
21445
21446   case 1215:
21447
21448 /* Line 1464 of yacc.c  */
21449 #line 3496 "grammar.y"
21450     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21451     break;
21452
21453   case 1216:
21454
21455 /* Line 1464 of yacc.c  */
21456 #line 3497 "grammar.y"
21457     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21458     break;
21459
21460   case 1217:
21461
21462 /* Line 1464 of yacc.c  */
21463 #line 3498 "grammar.y"
21464     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21465     break;
21466
21467   case 1218:
21468
21469 /* Line 1464 of yacc.c  */
21470 #line 3500 "grammar.y"
21471     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21472     break;
21473
21474   case 1219:
21475
21476 /* Line 1464 of yacc.c  */
21477 #line 3501 "grammar.y"
21478     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21479     break;
21480
21481   case 1220:
21482
21483 /* Line 1464 of yacc.c  */
21484 #line 3502 "grammar.y"
21485     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21486     break;
21487
21488   case 1221:
21489
21490 /* Line 1464 of yacc.c  */
21491 #line 3503 "grammar.y"
21492     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21493     break;
21494
21495   case 1222:
21496
21497 /* Line 1464 of yacc.c  */
21498 #line 3504 "grammar.y"
21499     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21500     break;
21501
21502   case 1223:
21503
21504 /* Line 1464 of yacc.c  */
21505 #line 3505 "grammar.y"
21506     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21507     break;
21508
21509   case 1224:
21510
21511 /* Line 1464 of yacc.c  */
21512 #line 3506 "grammar.y"
21513     { (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21514     break;
21515
21516   case 1225:
21517
21518 /* Line 1464 of yacc.c  */
21519 #line 3509 "grammar.y"
21520     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21521     break;
21522
21523   case 1226:
21524
21525 /* Line 1464 of yacc.c  */
21526 #line 3513 "grammar.y"
21527     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21528     break;
21529
21530   case 1227:
21531
21532 /* Line 1464 of yacc.c  */
21533 #line 3514 "grammar.y"
21534     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
21535     break;
21536
21537   case 1228:
21538
21539 /* Line 1464 of yacc.c  */
21540 #line 3518 "grammar.y"
21541     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21542     break;
21543
21544   case 1229:
21545
21546 /* Line 1464 of yacc.c  */
21547 #line 3519 "grammar.y"
21548     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21549     break;
21550
21551   case 1230:
21552
21553 /* Line 1464 of yacc.c  */
21554 #line 3523 "grammar.y"
21555     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
21556     break;
21557
21558   case 1231:
21559
21560 /* Line 1464 of yacc.c  */
21561 #line 3524 "grammar.y"
21562     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
21563     break;
21564
21565   case 1232:
21566
21567 /* Line 1464 of yacc.c  */
21568 #line 3525 "grammar.y"
21569     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
21570     break;
21571
21572   case 1233:
21573
21574 /* Line 1464 of yacc.c  */
21575 #line 3526 "grammar.y"
21576     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
21577     break;
21578
21579   case 1234:
21580
21581 /* Line 1464 of yacc.c  */
21582 #line 3527 "grammar.y"
21583     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21584     break;
21585
21586   case 1235:
21587
21588 /* Line 1464 of yacc.c  */
21589 #line 3528 "grammar.y"
21590     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21591     break;
21592
21593   case 1236:
21594
21595 /* Line 1464 of yacc.c  */
21596 #line 3529 "grammar.y"
21597     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21598     break;
21599
21600   case 1237:
21601
21602 /* Line 1464 of yacc.c  */
21603 #line 3530 "grammar.y"
21604     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21605     break;
21606
21607   case 1238:
21608
21609 /* Line 1464 of yacc.c  */
21610 #line 3534 "grammar.y"
21611     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21612     break;
21613
21614   case 1239:
21615
21616 /* Line 1464 of yacc.c  */
21617 #line 3535 "grammar.y"
21618     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
21619     break;
21620
21621   case 1240:
21622
21623 /* Line 1464 of yacc.c  */
21624 #line 3536 "grammar.y"
21625     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
21626     break;
21627
21628   case 1241:
21629
21630 /* Line 1464 of yacc.c  */
21631 #line 3537 "grammar.y"
21632     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
21633     break;
21634
21635   case 1242:
21636
21637 /* Line 1464 of yacc.c  */
21638 #line 3543 "grammar.y"
21639     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); ;}
21640     break;
21641
21642   case 1243:
21643
21644 /* Line 1464 of yacc.c  */
21645 #line 3545 "grammar.y"
21646     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21647     break;
21648
21649   case 1244:
21650
21651 /* Line 1464 of yacc.c  */
21652 #line 3546 "grammar.y"
21653     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); ;}
21654     break;
21655
21656   case 1245:
21657
21658 /* Line 1464 of yacc.c  */
21659 #line 3548 "grammar.y"
21660     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21661     break;
21662
21663   case 1246:
21664
21665 /* Line 1464 of yacc.c  */
21666 #line 3550 "grammar.y"
21667     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21668     break;
21669
21670   case 1247:
21671
21672 /* Line 1464 of yacc.c  */
21673 #line 3551 "grammar.y"
21674     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
21675     break;
21676
21677   case 1248:
21678
21679 /* Line 1464 of yacc.c  */
21680 #line 3554 "grammar.y"
21681     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(4) - (4)].stmt).loc.end; ;}
21682     break;
21683
21684   case 1249:
21685
21686 /* Line 1464 of yacc.c  */
21687 #line 3555 "grammar.y"
21688     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
21689     break;
21690
21691   case 1250:
21692
21693 /* Line 1464 of yacc.c  */
21694 #line 3556 "grammar.y"
21695     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(4) - (4)].stmt).loc.end; ;}
21696     break;
21697
21698   case 1251:
21699
21700 /* Line 1464 of yacc.c  */
21701 #line 3557 "grammar.y"
21702     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
21703     break;
21704
21705   case 1252:
21706
21707 /* Line 1464 of yacc.c  */
21708 #line 3558 "grammar.y"
21709     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
21710     break;
21711
21712   case 1253:
21713
21714 /* Line 1464 of yacc.c  */
21715 #line 3559 "grammar.y"
21716     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
21717     break;
21718
21719   case 1254:
21720
21721 /* Line 1464 of yacc.c  */
21722 #line 3563 "grammar.y"
21723     { (yyval.string) = CopyString(yytext); ;}
21724     break;
21725
21726   case 1255:
21727
21728 /* Line 1464 of yacc.c  */
21729 #line 3565 "grammar.y"
21730     { 
21731       int len1 = strlen((yyvsp[(1) - (2)].string));
21732       int len2 = strlen(yytext);
21733       (yyval.string) = new byte[len1-1 + len2-1 + 1];
21734       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
21735       memcpy((yyval.string) + len1-1, yytext+1, len2);
21736       delete (yyvsp[(1) - (2)].string);
21737    ;}
21738     break;
21739
21740   case 1256:
21741
21742 /* Line 1464 of yacc.c  */
21743 #line 3576 "grammar.y"
21744     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; declMode = defaultDeclMode; ;}
21745     break;
21746
21747   case 1257:
21748
21749 /* Line 1464 of yacc.c  */
21750 #line 3578 "grammar.y"
21751     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21752     break;
21753
21754   case 1258:
21755
21756 /* Line 1464 of yacc.c  */
21757 #line 3581 "grammar.y"
21758     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
21759     break;
21760
21761   case 1259:
21762
21763 /* Line 1464 of yacc.c  */
21764 #line 3584 "grammar.y"
21765     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; declMode = defaultDeclMode; ;}
21766     break;
21767
21768   case 1260:
21769
21770 /* Line 1464 of yacc.c  */
21771 #line 3585 "grammar.y"
21772     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
21773     break;
21774
21775   case 1261:
21776
21777 /* Line 1464 of yacc.c  */
21778 #line 3586 "grammar.y"
21779     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
21780     break;
21781
21782   case 1262:
21783
21784 /* Line 1464 of yacc.c  */
21785 #line 3588 "grammar.y"
21786     {
21787       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
21788       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess); 
21789       (yyval.external).loc = (yyloc);
21790       FreeIdentifier((yyvsp[(2) - (3)].id));
21791       if(!isRemote)
21792          yyerror(); 
21793    ;}
21794     break;
21795
21796   case 1263:
21797
21798 /* Line 1464 of yacc.c  */
21799 #line 3597 "grammar.y"
21800     { (yyval.external) = null; ;}
21801     break;
21802
21803   case 1264:
21804
21805 /* Line 1464 of yacc.c  */
21806 #line 3599 "grammar.y"
21807     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
21808     break;
21809
21810   case 1265:
21811
21812 /* Line 1464 of yacc.c  */
21813 #line 3601 "grammar.y"
21814     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
21815     break;
21816
21817   case 1266:
21818
21819 /* Line 1464 of yacc.c  */
21820 #line 3602 "grammar.y"
21821     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
21822     break;
21823
21824   case 1267:
21825
21826 /* Line 1464 of yacc.c  */
21827 #line 3603 "grammar.y"
21828     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); declMode = defaultDeclMode; ;}
21829     break;
21830
21831   case 1268:
21832
21833 /* Line 1464 of yacc.c  */
21834 #line 3604 "grammar.y"
21835     { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); declMode = defaultDeclMode; ;}
21836     break;
21837
21838   case 1269:
21839
21840 /* Line 1464 of yacc.c  */
21841 #line 3606 "grammar.y"
21842     {
21843       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
21844       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
21845       (yyval.external).loc = (yyloc);
21846       FreeIdentifier((yyvsp[(3) - (4)].id));
21847       declMode = defaultDeclMode;
21848       if(!isRemote)
21849          yyerror();  
21850    ;}
21851     break;
21852
21853   case 1270:
21854
21855 /* Line 1464 of yacc.c  */
21856 #line 3615 "grammar.y"
21857     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
21858     break;
21859
21860   case 1271:
21861
21862 /* Line 1464 of yacc.c  */
21863 #line 3616 "grammar.y"
21864     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
21865     break;
21866
21867   case 1272:
21868
21869 /* Line 1464 of yacc.c  */
21870 #line 3617 "grammar.y"
21871     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
21872     break;
21873
21874   case 1273:
21875
21876 /* Line 1464 of yacc.c  */
21877 #line 3618 "grammar.y"
21878     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
21879     break;
21880
21881   case 1274:
21882
21883 /* Line 1464 of yacc.c  */
21884 #line 3619 "grammar.y"
21885     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21886     break;
21887
21888   case 1275:
21889
21890 /* Line 1464 of yacc.c  */
21891 #line 3620 "grammar.y"
21892     { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21893     break;
21894
21895   case 1276:
21896
21897 /* Line 1464 of yacc.c  */
21898 #line 3624 "grammar.y"
21899     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21900     break;
21901
21902   case 1277:
21903
21904 /* Line 1464 of yacc.c  */
21905 #line 3626 "grammar.y"
21906     {
21907       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
21908       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
21909       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
21910       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
21911       declMode = defaultDeclMode;
21912    ;}
21913     break;
21914
21915   case 1278:
21916
21917 /* Line 1464 of yacc.c  */
21918 #line 3633 "grammar.y"
21919     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc;  (yyvsp[(1) - (1)].function).declMode = declMode; declMode = defaultDeclMode; ;}
21920     break;
21921
21922   case 1279:
21923
21924 /* Line 1464 of yacc.c  */
21925 #line 3635 "grammar.y"
21926     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
21927     break;
21928
21929   case 1280:
21930
21931 /* Line 1464 of yacc.c  */
21932 #line 3636 "grammar.y"
21933     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
21934     break;
21935
21936   case 1281:
21937
21938 /* Line 1464 of yacc.c  */
21939 #line 3639 "grammar.y"
21940     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; declMode = defaultDeclMode; ;}
21941     break;
21942
21943   case 1282:
21944
21945 /* Line 1464 of yacc.c  */
21946 #line 3640 "grammar.y"
21947     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
21948     break;
21949
21950   case 1283:
21951
21952 /* Line 1464 of yacc.c  */
21953 #line 3644 "grammar.y"
21954     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
21955     break;
21956
21957   case 1284:
21958
21959 /* Line 1464 of yacc.c  */
21960 #line 3645 "grammar.y"
21961     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
21962     break;
21963
21964   case 1285:
21965
21966 /* Line 1464 of yacc.c  */
21967 #line 3646 "grammar.y"
21968     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
21969     break;
21970
21971   case 1288:
21972
21973 /* Line 1464 of yacc.c  */
21974 #line 3652 "grammar.y"
21975     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
21976     break;
21977
21978   case 1289:
21979
21980 /* Line 1464 of yacc.c  */
21981 #line 3653 "grammar.y"
21982     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
21983     break;
21984
21985   case 1290:
21986
21987 /* Line 1464 of yacc.c  */
21988 #line 3655 "grammar.y"
21989     { External _class = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), _class); _class.loc = (yylsp[(2) - (2)]);  (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21990     break;
21991
21992   case 1291:
21993
21994 /* Line 1464 of yacc.c  */
21995 #line 3657 "grammar.y"
21996     { External _class = MkExternalClass((yyvsp[(3) - (3)]._class)); (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), _class); _class.loc = (yylsp[(3) - (3)]);  (yyvsp[(3) - (3)]._class).declMode = ((yyvsp[(2) - (3)].declMode) != defaultAccess) ? (yyvsp[(2) - (3)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
21997     break;
21998
21999   case 1294:
22000
22001 /* Line 1464 of yacc.c  */
22002 #line 3663 "grammar.y"
22003     { ast = MkList(); ;}
22004     break;
22005
22006   case 1295:
22007
22008 /* Line 1464 of yacc.c  */
22009 #line 3667 "grammar.y"
22010     { Symbol symbol = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22011     break;
22012
22013   case 1296:
22014
22015 /* Line 1464 of yacc.c  */
22016 #line 3668 "grammar.y"
22017     { Symbol symbol = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); FreeSpecifier((yyvsp[(3) - (6)].specifier)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22018     break;
22019
22020   case 1297:
22021
22022 /* Line 1464 of yacc.c  */
22023 #line 3669 "grammar.y"
22024     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
22025     break;
22026
22027   case 1298:
22028
22029 /* Line 1464 of yacc.c  */
22030 #line 3673 "grammar.y"
22031     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
22032     break;
22033
22034   case 1299:
22035
22036 /* Line 1464 of yacc.c  */
22037 #line 3677 "grammar.y"
22038     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
22039     break;
22040
22041   case 1300:
22042
22043 /* Line 1464 of yacc.c  */
22044 #line 3678 "grammar.y"
22045     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
22046     break;
22047
22048   case 1301:
22049
22050 /* Line 1464 of yacc.c  */
22051 #line 3679 "grammar.y"
22052     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
22053     break;
22054
22055   case 1302:
22056
22057 /* Line 1464 of yacc.c  */
22058 #line 3683 "grammar.y"
22059     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
22060     break;
22061
22062   case 1303:
22063
22064 /* Line 1464 of yacc.c  */
22065 #line 3684 "grammar.y"
22066     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
22067     break;
22068
22069   case 1304:
22070
22071 /* Line 1464 of yacc.c  */
22072 #line 3688 "grammar.y"
22073     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
22074     break;
22075
22076   case 1305:
22077
22078 /* Line 1464 of yacc.c  */
22079 #line 3689 "grammar.y"
22080     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
22081     break;
22082
22083   case 1306:
22084
22085 /* Line 1464 of yacc.c  */
22086 #line 3693 "grammar.y"
22087     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22088     break;
22089
22090   case 1307:
22091
22092 /* Line 1464 of yacc.c  */
22093 #line 3694 "grammar.y"
22094     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22095     break;
22096
22097   case 1308:
22098
22099 /* Line 1464 of yacc.c  */
22100 #line 3695 "grammar.y"
22101     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22102     break;
22103
22104   case 1309:
22105
22106 /* Line 1464 of yacc.c  */
22107 #line 3696 "grammar.y"
22108     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22109     break;
22110
22111   case 1310:
22112
22113 /* Line 1464 of yacc.c  */
22114 #line 3700 "grammar.y"
22115     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
22116     break;
22117
22118   case 1311:
22119
22120 /* Line 1464 of yacc.c  */
22121 #line 3704 "grammar.y"
22122     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22123     break;
22124
22125   case 1312:
22126
22127 /* Line 1464 of yacc.c  */
22128 #line 3708 "grammar.y"
22129     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22130     break;
22131
22132   case 1313:
22133
22134 /* Line 1464 of yacc.c  */
22135 #line 3712 "grammar.y"
22136     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
22137     break;
22138
22139
22140
22141 /* Line 1464 of yacc.c  */
22142 #line 22142 "grammar.ec"
22143       default: break;
22144     }
22145   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
22146
22147   YYPOPSTACK (yylen);
22148   yylen = 0;
22149   YY_STACK_PRINT (yyss, yyssp);
22150
22151   *++yyvsp = yyval;
22152   *++yylsp = yyloc;
22153
22154   /* Now `shift' the result of the reduction.  Determine what state
22155      that goes to, based on the state we popped back to and the rule
22156      number reduced by.  */
22157
22158   yyn = yyr1[yyn];
22159
22160   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
22161   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
22162     yystate = yytable[yystate];
22163   else
22164     yystate = yydefgoto[yyn - YYNTOKENS];
22165
22166   goto yynewstate;
22167
22168
22169 /*------------------------------------.
22170 | yyerrlab -- here on detecting error |
22171 `------------------------------------*/
22172 yyerrlab:
22173   /* If not already recovering from an error, report this error.  */
22174   if (!yyerrstatus)
22175     {
22176       ++yynerrs;
22177 #if ! YYERROR_VERBOSE
22178       yyerror (YY_("syntax error"));
22179 #else
22180       {
22181         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
22182         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
22183           {
22184             YYSIZE_T yyalloc = 2 * yysize;
22185             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
22186               yyalloc = YYSTACK_ALLOC_MAXIMUM;
22187             if (yymsg != yymsgbuf)
22188               YYSTACK_FREE (yymsg);
22189             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
22190             if (yymsg)
22191               yymsg_alloc = yyalloc;
22192             else
22193               {
22194                 yymsg = yymsgbuf;
22195                 yymsg_alloc = sizeof yymsgbuf;
22196               }
22197           }
22198
22199         if (0 < yysize && yysize <= yymsg_alloc)
22200           {
22201             (void) yysyntax_error (yymsg, yystate, yychar);
22202             yyerror (yymsg);
22203           }
22204         else
22205           {
22206             yyerror (YY_("syntax error"));
22207             if (yysize != 0)
22208               goto yyexhaustedlab;
22209           }
22210       }
22211 #endif
22212     }
22213
22214   yyerror_range[0] = yylloc;
22215
22216   if (yyerrstatus == 3)
22217     {
22218       /* If just tried and failed to reuse lookahead token after an
22219          error, discard it.  */
22220
22221       if (yychar <= YYEOF)
22222         {
22223           /* Return failure if at end of input.  */
22224           if (yychar == YYEOF)
22225             YYABORT;
22226         }
22227       else
22228         {
22229           yydestruct ("Error: discarding",
22230                       yytoken, &yylval, &yylloc);
22231           yychar = YYEMPTY;
22232         }
22233     }
22234
22235   /* Else will try to reuse lookahead token after shifting the error
22236      token.  */
22237   goto yyerrlab1;
22238
22239
22240 /*---------------------------------------------------.
22241 | yyerrorlab -- error raised explicitly by YYERROR.  |
22242 `---------------------------------------------------*/
22243 yyerrorlab:
22244
22245   /* Pacify compilers like GCC when the user code never invokes
22246      YYERROR and the label yyerrorlab therefore never appears in user
22247      code.  */
22248   if (/*CONSTCOND*/ 0)
22249      goto yyerrorlab;
22250
22251   yyerror_range[0] = yylsp[1-yylen];
22252   /* Do not reclaim the symbols of the rule which action triggered
22253      this YYERROR.  */
22254   YYPOPSTACK (yylen);
22255   yylen = 0;
22256   YY_STACK_PRINT (yyss, yyssp);
22257   yystate = *yyssp;
22258   goto yyerrlab1;
22259
22260
22261 /*-------------------------------------------------------------.
22262 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22263 `-------------------------------------------------------------*/
22264 yyerrlab1:
22265   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22266
22267   for (;;)
22268     {
22269       yyn = yypact[yystate];
22270       if (yyn != YYPACT_NINF)
22271         {
22272           yyn += YYTERROR;
22273           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22274             {
22275               yyn = yytable[yyn];
22276               if (0 < yyn)
22277                 break;
22278             }
22279         }
22280
22281       /* Pop the current state because it cannot handle the error token.  */
22282       if (yyssp == yyss)
22283         YYABORT;
22284
22285       yyerror_range[0] = *yylsp;
22286       yydestruct ("Error: popping",
22287                   yystos[yystate], yyvsp, yylsp);
22288       YYPOPSTACK (1);
22289       yystate = *yyssp;
22290       YY_STACK_PRINT (yyss, yyssp);
22291     }
22292
22293   *++yyvsp = yylval;
22294
22295   yyerror_range[1] = yylloc;
22296   /* Using YYLLOC is tempting, but would change the location of
22297      the lookahead.  YYLOC is available though.  */
22298   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22299   *++yylsp = yyloc;
22300
22301   /* Shift the error token.  */
22302   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22303
22304   yystate = yyn;
22305   goto yynewstate;
22306
22307
22308 /*-------------------------------------.
22309 | yyacceptlab -- YYACCEPT comes here.  |
22310 `-------------------------------------*/
22311 yyacceptlab:
22312   yyresult = 0;
22313   goto yyreturn;
22314
22315 /*-----------------------------------.
22316 | yyabortlab -- YYABORT comes here.  |
22317 `-----------------------------------*/
22318 yyabortlab:
22319   yyresult = 1;
22320   goto yyreturn;
22321
22322 #if !defined(yyoverflow) || YYERROR_VERBOSE
22323 /*-------------------------------------------------.
22324 | yyexhaustedlab -- memory exhaustion comes here.  |
22325 `-------------------------------------------------*/
22326 yyexhaustedlab:
22327   yyerror (YY_("memory exhausted"));
22328   yyresult = 2;
22329   /* Fall through.  */
22330 #endif
22331
22332 yyreturn:
22333   if (yychar != YYEMPTY)
22334      yydestruct ("Cleanup: discarding lookahead",
22335                  yytoken, &yylval, &yylloc);
22336   /* Do not reclaim the symbols of the rule which action triggered
22337      this YYABORT or YYACCEPT.  */
22338   YYPOPSTACK (yylen);
22339   YY_STACK_PRINT (yyss, yyssp);
22340   while (yyssp != yyss)
22341     {
22342       yydestruct ("Cleanup: popping",
22343                   yystos[*yyssp], yyvsp, yylsp);
22344       YYPOPSTACK (1);
22345     }
22346 #ifndef yyoverflow
22347   if (yyss != yyssa)
22348     YYSTACK_FREE (yyss);
22349 #endif
22350 #if YYERROR_VERBOSE
22351   if (yymsg != yymsgbuf)
22352     YYSTACK_FREE (yymsg);
22353 #endif
22354   /* Make sure YYID is used.  */
22355   return YYID (yyresult);
22356 }
22357
22358
22359
22360 /* Line 1684 of yacc.c  */
22361 #line 3715 "grammar.y"
22362
22363