compiler: Updated bootstrap, precompiled parsers and i18n templates
[sdk] / compiler / bootstrap / libec / bootstrap / expression.c
1 #if defined(__GNUC__)
2 typedef long long int64;
3 typedef unsigned long long uint64;
4 #ifndef _WIN32
5 #define __declspec(x)
6 #endif
7 #elif defined(__TINYC__)
8 #include <stdarg.h>
9 #define __builtin_va_list va_list
10 #define __builtin_va_start va_start
11 #define __builtin_va_end va_end
12 #ifdef _WIN32
13 #define strcasecmp stricmp
14 #define strncasecmp strnicmp
15 #define __declspec(x) __attribute__((x))
16 #else
17 #define __declspec(x)
18 #endif
19 typedef long long int64;
20 typedef unsigned long long uint64;
21 #else
22 typedef __int64 int64;
23 typedef unsigned __int64 uint64;
24 #endif
25 #ifdef __BIG_ENDIAN__
26 #define __ENDIAN_PAD(x) (8 - (x))
27 #else
28 #define __ENDIAN_PAD(x) 0
29 #endif
30 #ifdef __MINGW32__
31 #ifdef _WIN64
32 typedef unsigned long long int uintptr_t;
33 typedef long long int intptr_t;
34 #else
35 typedef unsigned int uintptr_t;
36 typedef int intptr_t;
37 #endif
38 #else
39 #include <stdint.h>
40 #endif
41 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
42
43 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
44
45 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
46
47 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
48
49 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
50
51 struct __ecereNameSpace__ecere__sys__BTNode;
52
53 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
54
55 struct __ecereNameSpace__ecere__sys__BinaryTree
56 {
57 struct __ecereNameSpace__ecere__sys__BTNode * root;
58 int count;
59 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
60 void (*  FreeKey)(void *  key);
61 } __attribute__ ((gcc_struct));
62
63 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
64
65 struct __ecereNameSpace__ecere__sys__OldList
66 {
67 void *  first;
68 void *  last;
69 int count;
70 unsigned int offset;
71 unsigned int circ;
72 } __attribute__ ((gcc_struct));
73
74 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
75
76 struct __ecereNameSpace__ecere__com__Method
77 {
78 char *  name;
79 struct __ecereNameSpace__ecere__com__Method * parent;
80 struct __ecereNameSpace__ecere__com__Method * left;
81 struct __ecereNameSpace__ecere__com__Method * right;
82 int depth;
83 int (*  function)();
84 int vid;
85 int type;
86 struct __ecereNameSpace__ecere__com__Class * _class;
87 void *  symbol;
88 char *  dataTypeString;
89 struct Type * dataType;
90 int memberAccess;
91 } __attribute__ ((gcc_struct));
92
93 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
94
95 struct __ecereNameSpace__ecere__com__Property
96 {
97 struct __ecereNameSpace__ecere__com__Property * prev;
98 struct __ecereNameSpace__ecere__com__Property * next;
99 char *  name;
100 unsigned int isProperty;
101 int memberAccess;
102 int id;
103 struct __ecereNameSpace__ecere__com__Class * _class;
104 char *  dataTypeString;
105 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
106 struct Type * dataType;
107 void (*  Set)();
108 int (*  Get)();
109 unsigned int (*  IsSet)();
110 void *  data;
111 void *  symbol;
112 int vid;
113 unsigned int conversion;
114 unsigned int watcherOffset;
115 char *  category;
116 unsigned int compiled;
117 unsigned int selfWatchable;
118 unsigned int isWatchable;
119 } __attribute__ ((gcc_struct));
120
121 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
122
123 struct CodePosition
124 {
125 int line;
126 int charPos;
127 int pos;
128 unsigned int included;
129 } __attribute__ ((gcc_struct));
130
131 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
132
133 struct Location
134 {
135 struct CodePosition start;
136 struct CodePosition end;
137 } __attribute__ ((gcc_struct));
138
139 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
140
141 struct Attrib
142 {
143 struct Location loc;
144 int type;
145 struct __ecereNameSpace__ecere__sys__OldList *  attribs;
146 } __attribute__ ((gcc_struct));
147
148 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
149
150 struct ExtDecl;
151
152 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
153
154 struct ClassDefinition;
155
156 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
157
158 struct Context
159 {
160 struct Context * parent;
161 struct __ecereNameSpace__ecere__sys__BinaryTree types;
162 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
163 struct __ecereNameSpace__ecere__sys__BinaryTree symbols;
164 struct __ecereNameSpace__ecere__sys__BinaryTree structSymbols;
165 int nextID;
166 int simpleID;
167 struct __ecereNameSpace__ecere__sys__BinaryTree templateTypes;
168 struct ClassDefinition * classDef;
169 unsigned int templateTypesOnly;
170 unsigned int hasNameSpace;
171 } __attribute__ ((gcc_struct));
172
173 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
174
175 struct Instantiation
176 {
177 struct Instantiation * prev;
178 struct Instantiation * next;
179 struct Location loc;
180 struct Specifier * _class;
181 struct Expression * exp;
182 struct __ecereNameSpace__ecere__sys__OldList *  members;
183 struct Symbol * symbol;
184 unsigned int fullSet;
185 unsigned int isConstant;
186 unsigned char *  data;
187 struct Location nameLoc;
188 struct Location insideLoc;
189 unsigned int built;
190 } __attribute__ ((gcc_struct));
191
192 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
193
194 struct Declaration
195 {
196 struct Declaration * prev;
197 struct Declaration * next;
198 struct Location loc;
199 int type;
200 union
201 {
202 struct
203 {
204 struct __ecereNameSpace__ecere__sys__OldList *  specifiers;
205 struct __ecereNameSpace__ecere__sys__OldList *  declarators;
206 } __attribute__ ((gcc_struct));
207 struct Instantiation * inst;
208 struct
209 {
210 struct Identifier * id;
211 struct Expression * exp;
212 } __attribute__ ((gcc_struct));
213 } __attribute__ ((gcc_struct));
214 struct Specifier * extStorage;
215 struct Symbol * symbol;
216 int declMode;
217 } __attribute__ ((gcc_struct));
218
219 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
220
221 struct Statement
222 {
223 struct Statement * prev;
224 struct Statement * next;
225 struct Location loc;
226 int type;
227 union
228 {
229 struct __ecereNameSpace__ecere__sys__OldList *  expressions;
230 struct
231 {
232 struct Identifier * id;
233 struct Statement * stmt;
234 } __attribute__ ((gcc_struct)) labeled;
235 struct
236 {
237 struct Expression * exp;
238 struct Statement * stmt;
239 } __attribute__ ((gcc_struct)) caseStmt;
240 struct
241 {
242 struct __ecereNameSpace__ecere__sys__OldList * declarations;
243 struct __ecereNameSpace__ecere__sys__OldList * statements;
244 struct Context * context;
245 unsigned int isSwitch;
246 } __attribute__ ((gcc_struct)) compound;
247 struct
248 {
249 struct __ecereNameSpace__ecere__sys__OldList * exp;
250 struct Statement * stmt;
251 struct Statement * elseStmt;
252 } __attribute__ ((gcc_struct)) ifStmt;
253 struct
254 {
255 struct __ecereNameSpace__ecere__sys__OldList * exp;
256 struct Statement * stmt;
257 } __attribute__ ((gcc_struct)) switchStmt;
258 struct
259 {
260 struct __ecereNameSpace__ecere__sys__OldList * exp;
261 struct Statement * stmt;
262 } __attribute__ ((gcc_struct)) whileStmt;
263 struct
264 {
265 struct __ecereNameSpace__ecere__sys__OldList * exp;
266 struct Statement * stmt;
267 } __attribute__ ((gcc_struct)) doWhile;
268 struct
269 {
270 struct Statement * init;
271 struct Statement * check;
272 struct __ecereNameSpace__ecere__sys__OldList * increment;
273 struct Statement * stmt;
274 } __attribute__ ((gcc_struct)) forStmt;
275 struct
276 {
277 struct Identifier * id;
278 } __attribute__ ((gcc_struct)) gotoStmt;
279 struct
280 {
281 struct Specifier * spec;
282 char * statements;
283 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
284 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
285 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
286 } __attribute__ ((gcc_struct)) asmStmt;
287 struct
288 {
289 struct Expression * watcher;
290 struct Expression * object;
291 struct __ecereNameSpace__ecere__sys__OldList * watches;
292 } __attribute__ ((gcc_struct)) _watch;
293 struct
294 {
295 struct Identifier * id;
296 struct __ecereNameSpace__ecere__sys__OldList * exp;
297 struct __ecereNameSpace__ecere__sys__OldList * filter;
298 struct Statement * stmt;
299 } __attribute__ ((gcc_struct)) forEachStmt;
300 struct Declaration * decl;
301 } __attribute__ ((gcc_struct));
302 } __attribute__ ((gcc_struct));
303
304 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
305
306 struct TypeName;
307
308 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
309
310 struct Initializer
311 {
312 struct Initializer * prev;
313 struct Initializer * next;
314 struct Location loc;
315 int type;
316 union
317 {
318 struct Expression * exp;
319 struct __ecereNameSpace__ecere__sys__OldList *  list;
320 } __attribute__ ((gcc_struct));
321 unsigned int isConstant;
322 } __attribute__ ((gcc_struct));
323
324 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
325
326 struct __ecereNameSpace__ecere__com__DataValue
327 {
328 union
329 {
330 char c;
331 unsigned char uc;
332 short s;
333 unsigned short us;
334 int i;
335 unsigned int ui;
336 void *  p;
337 float f;
338 double d;
339 long long i64;
340 uint64 ui64;
341 } __attribute__ ((gcc_struct));
342 } __attribute__ ((gcc_struct));
343
344 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
345
346 struct Expression
347 {
348 struct Expression * prev;
349 struct Expression * next;
350 struct Location loc;
351 int type;
352 union
353 {
354 struct
355 {
356 char *  constant;
357 struct Identifier * identifier;
358 } __attribute__ ((gcc_struct));
359 struct Statement * compound;
360 struct Instantiation * instance;
361 char *  string;
362 struct __ecereNameSpace__ecere__sys__OldList *  list;
363 struct
364 {
365 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
366 struct Declarator * decl;
367 } __attribute__ ((gcc_struct)) _classExp;
368 struct
369 {
370 struct Identifier * id;
371 } __attribute__ ((gcc_struct)) classData;
372 struct
373 {
374 struct Expression * exp;
375 struct __ecereNameSpace__ecere__sys__OldList * arguments;
376 struct Location argLoc;
377 } __attribute__ ((gcc_struct)) call;
378 struct
379 {
380 struct Expression * exp;
381 struct __ecereNameSpace__ecere__sys__OldList * index;
382 } __attribute__ ((gcc_struct)) index;
383 struct
384 {
385 struct Expression * exp;
386 struct Identifier * member;
387 int memberType;
388 unsigned int thisPtr;
389 } __attribute__ ((gcc_struct)) member;
390 struct
391 {
392 int op;
393 struct Expression * exp1;
394 struct Expression * exp2;
395 } __attribute__ ((gcc_struct)) op;
396 struct TypeName * typeName;
397 struct Specifier * _class;
398 struct
399 {
400 struct TypeName * typeName;
401 struct Expression * exp;
402 } __attribute__ ((gcc_struct)) cast;
403 struct
404 {
405 struct Expression * cond;
406 struct __ecereNameSpace__ecere__sys__OldList * exp;
407 struct Expression * elseExp;
408 } __attribute__ ((gcc_struct)) cond;
409 struct
410 {
411 struct TypeName * typeName;
412 struct Expression * size;
413 } __attribute__ ((gcc_struct)) _new;
414 struct
415 {
416 struct TypeName * typeName;
417 struct Expression * size;
418 struct Expression * exp;
419 } __attribute__ ((gcc_struct)) _renew;
420 struct
421 {
422 char * table;
423 struct Identifier * id;
424 } __attribute__ ((gcc_struct)) db;
425 struct
426 {
427 struct Expression * ds;
428 struct Expression * name;
429 } __attribute__ ((gcc_struct)) dbopen;
430 struct
431 {
432 struct TypeName * typeName;
433 struct Initializer * initializer;
434 } __attribute__ ((gcc_struct)) initializer;
435 struct
436 {
437 struct Expression * exp;
438 struct TypeName * typeName;
439 } __attribute__ ((gcc_struct)) vaArg;
440 } __attribute__ ((gcc_struct));
441 unsigned int debugValue;
442 struct __ecereNameSpace__ecere__com__DataValue val;
443 unsigned int address;
444 unsigned int hasAddress;
445 struct Type * expType;
446 struct Type * destType;
447 unsigned int usage;
448 int tempCount;
449 unsigned int byReference;
450 unsigned int isConstant;
451 unsigned int addedThis;
452 unsigned int needCast;
453 unsigned int thisPtr;
454 } __attribute__ ((gcc_struct));
455
456 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
457
458 struct TemplateDatatype;
459
460 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
461
462 struct TemplateArgument;
463
464 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
465
466 struct TemplateParameter;
467
468 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
469
470 struct Specifier
471 {
472 struct Specifier * prev;
473 struct Specifier * next;
474 struct Location loc;
475 int type;
476 union
477 {
478 int specifier;
479 struct
480 {
481 struct ExtDecl * extDecl;
482 char *  name;
483 struct Symbol * symbol;
484 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
485 } __attribute__ ((gcc_struct));
486 struct
487 {
488 struct Identifier * id;
489 struct __ecereNameSpace__ecere__sys__OldList *  list;
490 struct __ecereNameSpace__ecere__sys__OldList *  baseSpecs;
491 struct __ecereNameSpace__ecere__sys__OldList *  definitions;
492 unsigned int addNameSpace;
493 struct Context * ctx;
494 struct ExtDecl * extDeclStruct;
495 } __attribute__ ((gcc_struct));
496 struct Expression * expression;
497 struct Specifier * _class;
498 struct TemplateParameter * templateParameter;
499 } __attribute__ ((gcc_struct));
500 } __attribute__ ((gcc_struct));
501
502 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
503
504 struct Identifier
505 {
506 struct Identifier * prev;
507 struct Identifier * next;
508 struct Location loc;
509 struct Symbol * classSym;
510 struct Specifier * _class;
511 char *  string;
512 struct Identifier * badID;
513 } __attribute__ ((gcc_struct));
514
515 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Pointer;
516
517 struct Pointer;
518
519 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
520
521 struct Declarator
522 {
523 struct Declarator * prev;
524 struct Declarator * next;
525 struct Location loc;
526 int type;
527 struct Symbol * symbol;
528 struct Declarator * declarator;
529 union
530 {
531 struct Identifier * identifier;
532 struct
533 {
534 struct Expression * exp;
535 struct Expression * posExp;
536 struct Attrib * attrib;
537 } __attribute__ ((gcc_struct)) structDecl;
538 struct
539 {
540 struct Expression * exp;
541 struct Specifier * enumClass;
542 } __attribute__ ((gcc_struct)) array;
543 struct
544 {
545 struct __ecereNameSpace__ecere__sys__OldList * parameters;
546 } __attribute__ ((gcc_struct)) function;
547 struct
548 {
549 struct Pointer * pointer;
550 } __attribute__ ((gcc_struct)) pointer;
551 struct
552 {
553 struct ExtDecl * extended;
554 } __attribute__ ((gcc_struct)) extended;
555 } __attribute__ ((gcc_struct));
556 } __attribute__ ((gcc_struct));
557
558 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
559
560 struct FunctionDefinition;
561
562 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
563
564 struct DBTableDef;
565
566 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
567
568 struct External;
569
570 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
571
572 struct ModuleImport;
573
574 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
575
576 struct ClassImport;
577
578 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
579
580 struct Symbol;
581
582 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
583
584 struct Type;
585
586 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
587
588 struct __ecereNameSpace__ecere__com__Class
589 {
590 struct __ecereNameSpace__ecere__com__Class * prev;
591 struct __ecereNameSpace__ecere__com__Class * next;
592 char *  name;
593 int offset;
594 int structSize;
595 int (* *  _vTbl)();
596 int vTblSize;
597 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
598 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
599 int offsetClass;
600 int sizeClass;
601 struct __ecereNameSpace__ecere__com__Class * base;
602 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
603 struct __ecereNameSpace__ecere__sys__BinaryTree members;
604 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
605 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
606 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
607 struct __ecereNameSpace__ecere__sys__OldList derivatives;
608 int memberID;
609 int startMemberID;
610 int type;
611 struct __ecereNameSpace__ecere__com__Instance * module;
612 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
613 char *  dataTypeString;
614 struct Type * dataType;
615 int typeSize;
616 int defaultAlignment;
617 void (*  Initialize)();
618 int memberOffset;
619 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
620 char *  designerClass;
621 unsigned int noExpansion;
622 char *  defaultProperty;
623 unsigned int comRedefinition;
624 int count;
625 unsigned int isRemote;
626 unsigned int internalDecl;
627 void *  data;
628 unsigned int computeSize;
629 int structAlignment;
630 int destructionWatchOffset;
631 unsigned int fixed;
632 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
633 int inheritanceAccess;
634 char *  fullName;
635 void *  symbol;
636 struct __ecereNameSpace__ecere__sys__OldList conversions;
637 struct __ecereNameSpace__ecere__sys__OldList templateParams;
638 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
639 struct __ecereNameSpace__ecere__com__Class * templateClass;
640 struct __ecereNameSpace__ecere__sys__OldList templatized;
641 int numParams;
642 } __attribute__ ((gcc_struct));
643
644 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
645
646 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
647
648 struct __ecereNameSpace__ecere__com__Instance
649 {
650 int (* *  _vTbl)();
651 struct __ecereNameSpace__ecere__com__Class * _class;
652 int _refCount;
653 } __attribute__ ((gcc_struct));
654
655 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
656
657 struct __ecereNameSpace__ecere__com__DataMember
658 {
659 struct __ecereNameSpace__ecere__com__DataMember * prev;
660 struct __ecereNameSpace__ecere__com__DataMember * next;
661 char *  name;
662 unsigned int isProperty;
663 int memberAccess;
664 int id;
665 struct __ecereNameSpace__ecere__com__Class * _class;
666 char *  dataTypeString;
667 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
668 struct Type * dataType;
669 int type;
670 int offset;
671 int memberID;
672 struct __ecereNameSpace__ecere__sys__OldList members;
673 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
674 int memberOffset;
675 int structAlignment;
676 } __attribute__ ((gcc_struct));
677
678 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
679
680 struct __ecereNameSpace__ecere__com__SerialBuffer
681 {
682 unsigned char *  _buffer;
683 unsigned int count;
684 unsigned int _size;
685 unsigned int pos;
686 } __attribute__ ((gcc_struct));
687
688 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
689
690 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
691 {
692 union
693 {
694 struct
695 {
696 char *  dataTypeString;
697 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
698 } __attribute__ ((gcc_struct));
699 struct __ecereNameSpace__ecere__com__DataValue expression;
700 struct
701 {
702 char *  memberString;
703 union
704 {
705 struct __ecereNameSpace__ecere__com__DataMember * member;
706 struct __ecereNameSpace__ecere__com__Property * prop;
707 struct __ecereNameSpace__ecere__com__Method * method;
708 } __attribute__ ((gcc_struct));
709 } __attribute__ ((gcc_struct));
710 } __attribute__ ((gcc_struct));
711 } __attribute__ ((gcc_struct));
712
713 enum yytokentype
714 {
715 IDENTIFIER = 258, CONSTANT = 259, STRING_LITERAL = 260, SIZEOF = 261, PTR_OP = 262, INC_OP = 263, DEC_OP = 264, LEFT_OP = 265, RIGHT_OP = 266, LE_OP = 267, GE_OP = 268, EQ_OP = 269, NE_OP = 270, AND_OP = 271, OR_OP = 272, MUL_ASSIGN = 273, DIV_ASSIGN = 274, MOD_ASSIGN = 275, ADD_ASSIGN = 276, SUB_ASSIGN = 277, LEFT_ASSIGN = 278, RIGHT_ASSIGN = 279, AND_ASSIGN = 280, XOR_ASSIGN = 281, OR_ASSIGN = 282, TYPE_NAME = 283, TYPEDEF = 284, EXTERN = 285, STATIC = 286, AUTO = 287, REGISTER = 288, CHAR = 289, SHORT = 290, INT = 291, UINT = 292, INT64 = 293, LONG = 294, SIGNED = 295, UNSIGNED = 296, FLOAT = 297, DOUBLE = 298, CONST = 299, VOLATILE = 300, VOID = 301, VALIST = 302, STRUCT = 303, UNION = 304, ENUM = 305, ELLIPSIS = 306, CASE = 307, DEFAULT = 308, IF = 309, SWITCH = 310, WHILE = 311, DO = 312, FOR = 313, GOTO = 314, CONTINUE = 315, BREAK = 316, RETURN = 317, IFX = 318, ELSE = 319, CLASS = 320, THISCLASS = 321, CLASS_NAME = 322, PROPERTY = 323, SETPROP = 324, GETPROP = 325, NEWOP = 326, RENEW = 327, DELETE = 328, EXT_DECL = 329, EXT_STORAGE = 330, IMPORT = 331, DEFINE = 332, VIRTUAL = 333, ATTRIB = 334, PUBLIC = 335, PRIVATE = 336, TYPED_OBJECT = 337, ANY_OBJECT = 338, _INCREF = 339, EXTENSION = 340, ASM = 341, TYPEOF = 342, WATCH = 343, STOPWATCHING = 344, FIREWATCHERS = 345, WATCHABLE = 346, CLASS_DESIGNER = 347, CLASS_NO_EXPANSION = 348, CLASS_FIXED = 349, ISPROPSET = 350, CLASS_DEFAULT_PROPERTY = 351, PROPERTY_CATEGORY = 352, CLASS_DATA = 353, CLASS_PROPERTY = 354, SUBCLASS = 355, NAMESPACE = 356, NEW0OP = 357, RENEW0 = 358, VAARG = 359, DBTABLE = 360, DBFIELD = 361, DBINDEX = 362, DATABASE_OPEN = 363, ALIGNOF = 364, ATTRIB_DEP = 365, __ATTRIB = 366
716 };
717
718 typedef union YYSTYPE
719 {
720 int specifierType;
721 int i;
722 int declMode;
723 struct Identifier * id;
724 struct Expression * exp;
725 struct Specifier * specifier;
726 struct __ecereNameSpace__ecere__sys__OldList * list;
727 struct Enumerator * enumerator;
728 struct Declarator * declarator;
729 struct Pointer * pointer;
730 struct Initializer * initializer;
731 struct InitDeclarator * initDeclarator;
732 struct TypeName * typeName;
733 struct Declaration * declaration;
734 struct Statement * stmt;
735 struct FunctionDefinition * function;
736 struct External * external;
737 struct Context * context;
738 struct AsmField * asmField;
739 struct Attrib * attrib;
740 struct ExtDecl * extDecl;
741 struct Attribute * attribute;
742 struct Instantiation * instance;
743 struct MembersInit * membersInit;
744 struct MemberInit * memberInit;
745 struct ClassFunction * classFunction;
746 struct ClassDefinition * _class;
747 struct ClassDef * classDef;
748 struct PropertyDef * prop;
749 char * string;
750 struct Symbol * symbol;
751 struct PropertyWatch * propertyWatch;
752 struct TemplateParameter * templateParameter;
753 struct TemplateArgument * templateArgument;
754 struct TemplateDatatype * templateDatatype;
755 struct DBTableEntry * dbtableEntry;
756 struct DBIndexItem * dbindexItem;
757 struct DBTableDef * dbtableDef;
758 } __attribute__ ((gcc_struct)) YYSTYPE;
759
760 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Enumerator;
761
762 struct Enumerator;
763
764 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_InitDeclarator;
765
766 struct InitDeclarator
767 {
768 struct InitDeclarator * prev;
769 struct InitDeclarator * next;
770 struct Location loc;
771 struct Declarator * declarator;
772 struct Initializer * initializer;
773 } __attribute__ ((gcc_struct));
774
775 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_AsmField;
776
777 struct AsmField;
778
779 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attribute;
780
781 struct Attribute
782 {
783 struct Attribute * prev;
784 struct Attribute * next;
785 struct Location loc;
786 char * attr;
787 struct Expression * exp;
788 } __attribute__ ((gcc_struct));
789
790 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassFunction;
791
792 struct ClassFunction
793 {
794 struct ClassFunction * prev;
795 struct ClassFunction * next;
796 struct Location loc;
797 struct __ecereNameSpace__ecere__sys__OldList *  specifiers;
798 struct Declarator * declarator;
799 struct __ecereNameSpace__ecere__sys__OldList *  declarations;
800 struct Statement * body;
801 struct __ecereNameSpace__ecere__com__Class * _class;
802 struct __ecereNameSpace__ecere__sys__OldList attached;
803 int declMode;
804 struct Type * type;
805 struct Symbol * propSet;
806 unsigned int isVirtual;
807 unsigned int isConstructor;
808 unsigned int isDestructor;
809 unsigned int dontMangle;
810 int id;
811 int idCode;
812 } __attribute__ ((gcc_struct));
813
814 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MembersInit;
815
816 struct MembersInit
817 {
818 struct MembersInit * prev;
819 struct MembersInit * next;
820 struct Location loc;
821 int type;
822 union
823 {
824 struct __ecereNameSpace__ecere__sys__OldList *  dataMembers;
825 struct ClassFunction * function;
826 } __attribute__ ((gcc_struct));
827 } __attribute__ ((gcc_struct));
828
829 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MemberInit;
830
831 struct MemberInit
832 {
833 struct MemberInit * prev;
834 struct MemberInit * next;
835 struct Location loc;
836 struct Location realLoc;
837 struct __ecereNameSpace__ecere__sys__OldList *  identifiers;
838 struct Initializer * initializer;
839 unsigned int used;
840 unsigned int variable;
841 unsigned int takeOutExp;
842 } __attribute__ ((gcc_struct));
843
844 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyDef;
845
846 struct PropertyDef
847 {
848 struct PropertyDef * prev;
849 struct PropertyDef * next;
850 struct Location loc;
851 struct __ecereNameSpace__ecere__sys__OldList *  specifiers;
852 struct Declarator * declarator;
853 struct Identifier * id;
854 struct Statement * getStmt;
855 struct Statement * setStmt;
856 struct Statement * issetStmt;
857 struct Symbol * symbol;
858 unsigned int conversion;
859 unsigned int isWatchable;
860 struct Expression * category;
861 } __attribute__ ((gcc_struct));
862
863 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
864
865 struct PropertyWatch;
866
867 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDef;
868
869 struct ClassDef
870 {
871 struct ClassDef * prev;
872 struct ClassDef * next;
873 struct Location loc;
874 int type;
875 union
876 {
877 struct Declaration * decl;
878 struct ClassFunction * function;
879 struct __ecereNameSpace__ecere__sys__OldList *  defProperties;
880 struct PropertyDef * propertyDef;
881 struct PropertyWatch * propertyWatch;
882 char *  designer;
883 struct Identifier * defaultProperty;
884 struct
885 {
886 struct Identifier * id;
887 struct Initializer * initializer;
888 } __attribute__ ((gcc_struct));
889 } __attribute__ ((gcc_struct));
890 int memberAccess;
891 void *  object;
892 } __attribute__ ((gcc_struct));
893
894 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableEntry;
895
896 struct DBTableEntry;
897
898 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBIndexItem;
899
900 struct DBIndexItem;
901
902 extern YYSTYPE yylval;
903
904 extern struct Location yylloc;
905
906 struct Expression * parsedExpression;
907
908 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
909
910 extern char * yytext;
911
912 int yylex();
913
914 int yyerror();
915
916 typedef unsigned char yytype_uint8;
917
918 typedef signed char yytype_int8;
919
920 typedef unsigned short int yytype_uint16;
921
922 typedef short int yytype_int16;
923
924 void * malloc(unsigned int);
925
926 void free(void *);
927
928 union yyalloc
929 {
930 yytype_int16 yyss_alloc;
931 YYSTYPE yyvs_alloc;
932 struct Location yyls_alloc;
933 } __attribute__ ((gcc_struct));
934
935 static const yytype_uint8 yytranslate[] = 
936 {
937 (unsigned char)0, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)124, (unsigned char)2, (unsigned char)2, (unsigned char)114, (unsigned char)126, (unsigned char)119, (unsigned char)2, (unsigned char)112, (unsigned char)113, (unsigned char)120, (unsigned char)121, (unsigned char)118, (unsigned char)122, (unsigned char)115, (unsigned char)125, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)132, (unsigned char)134, (unsigned char)127, (unsigned char)133, (unsigned char)128, (unsigned char)131, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)116, (unsigned char)2, (unsigned char)117, (unsigned char)129, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)135, (unsigned char)130, (unsigned char)136, (unsigned char)123, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)3, (unsigned char)4, (unsigned char)5, (unsigned char)6, (unsigned char)7, (unsigned char)8, (unsigned char)9, (unsigned char)10, (unsigned char)11, (unsigned char)12, (unsigned char)13, (unsigned char)14, (unsigned char)15, (unsigned char)16, (unsigned char)17, (unsigned char)18, (unsigned char)19, (unsigned char)20, (unsigned char)21, (unsigned char)22, (unsigned char)23, (unsigned char)24, (unsigned char)25, (unsigned char)26, (unsigned char)27, (unsigned char)28, (unsigned char)29, (unsigned char)30, (unsigned char)31, (unsigned char)32, (unsigned char)33, (unsigned char)34, (unsigned char)35, (unsigned char)36, (unsigned char)37, (unsigned char)38, (unsigned char)39, (unsigned char)40, (unsigned char)41, (unsigned char)42, (unsigned char)43, (unsigned char)44, (unsigned char)45, (unsigned char)46, (unsigned char)47, (unsigned char)48, (unsigned char)49, (unsigned char)50, (unsigned char)51, (unsigned char)52, (unsigned char)53, (unsigned char)54, (unsigned char)55, (unsigned char)56, (unsigned char)57, (unsigned char)58, (unsigned char)59, (unsigned char)60, (unsigned char)61, (unsigned char)62, (unsigned char)63, (unsigned char)64, (unsigned char)65, (unsigned char)66, (unsigned char)67, (unsigned char)68, (unsigned char)69, (unsigned char)70, (unsigned char)71, (unsigned char)72, (unsigned char)73, (unsigned char)74, (unsigned char)75, (unsigned char)76, (unsigned char)77, (unsigned char)78, (unsigned char)79, (unsigned char)80, (unsigned char)81, (unsigned char)82, (unsigned char)83, (unsigned char)84, (unsigned char)85, (unsigned char)86, (unsigned char)87, (unsigned char)88, (unsigned char)89, (unsigned char)90, (unsigned char)91, (unsigned char)92, (unsigned char)93, (unsigned char)94, (unsigned char)95, (unsigned char)96, (unsigned char)97, (unsigned char)98, (unsigned char)99, (unsigned char)100, (unsigned char)101, (unsigned char)102, (unsigned char)103, (unsigned char)104, (unsigned char)105, (unsigned char)106, (unsigned char)107, (unsigned char)108, (unsigned char)109, (unsigned char)110, (unsigned char)111
938 };
939
940 static const yytype_uint16 yyprhs[] = 
941 {
942 (unsigned short)0, (unsigned short)0, (unsigned short)3, (unsigned short)5, (unsigned short)7, (unsigned short)11, (unsigned short)13, (unsigned short)15, (unsigned short)17, (unsigned short)19, (unsigned short)22, (unsigned short)27, (unsigned short)30, (unsigned short)37, (unsigned short)43, (unsigned short)50, (unsigned short)56, (unsigned short)64, (unsigned short)71, (unsigned short)79, (unsigned short)86, (unsigned short)88, (unsigned short)90, (unsigned short)92, (unsigned short)97, (unsigned short)101, (unsigned short)106, (unsigned short)110, (unsigned short)114, (unsigned short)117, (unsigned short)120, (unsigned short)122, (unsigned short)127, (unsigned short)131, (unsigned short)136, (unsigned short)140, (unsigned short)144, (unsigned short)147, (unsigned short)150, (unsigned short)152, (unsigned short)154, (unsigned short)158, (unsigned short)162, (unsigned short)165, (unsigned short)168, (unsigned short)171, (unsigned short)176, (unsigned short)179, (unsigned short)184, (unsigned short)189, (unsigned short)192, (unsigned short)197, (unsigned short)199, (unsigned short)201, (unsigned short)203, (unsigned short)205, (unsigned short)207, (unsigned short)209, (unsigned short)211, (unsigned short)213, (unsigned short)215, (unsigned short)217, (unsigned short)219, (unsigned short)221, (unsigned short)226, (unsigned short)228, (unsigned short)232, (unsigned short)236, (unsigned short)240, (unsigned short)242, (unsigned short)246, (unsigned short)250, (unsigned short)252, (unsigned short)256, (unsigned short)260, (unsigned short)262, (unsigned short)266, (unsigned short)270, (unsigned short)274, (unsigned short)278, (unsigned short)280, (unsigned short)284, (unsigned short)288, (unsigned short)290, (unsigned short)294, (unsigned short)296, (unsigned short)300, (unsigned short)302, (unsigned short)306, (unsigned short)308, (unsigned short)312, (unsigned short)314, (unsigned short)318, (unsigned short)320, (unsigned short)326, (unsigned short)328, (unsigned short)332, (unsigned short)336, (unsigned short)338, (unsigned short)340, (unsigned short)342, (unsigned short)344, (unsigned short)346, (unsigned short)348, (unsigned short)350, (unsigned short)352, (unsigned short)354, (unsigned short)356, (unsigned short)358, (unsigned short)360, (unsigned short)364, (unsigned short)366, (unsigned short)369, (unsigned short)373, (unsigned short)376, (unsigned short)382, (unsigned short)384, (unsigned short)387, (unsigned short)389, (unsigned short)392, (unsigned short)394, (unsigned short)397, (unsigned short)399, (unsigned short)402, (unsigned short)404, (unsigned short)407, (unsigned short)409, (unsigned short)412, (unsigned short)414, (unsigned short)417, (unsigned short)419, (unsigned short)422, (unsigned short)424, (unsigned short)427, (unsigned short)429, (unsigned short)432, (unsigned short)434, (unsigned short)437, (unsigned short)439, (unsigned short)442, (unsigned short)444, (unsigned short)447, (unsigned short)449, (unsigned short)452, (unsigned short)454, (unsigned short)457, (unsigned short)459, (unsigned short)462, (unsigned short)464, (unsigned short)467, (unsigned short)469, (unsigned short)472, (unsigned short)474, (unsigned short)478, (unsigned short)480, (unsigned short)484, (unsigned short)486, (unsigned short)488, (unsigned short)490, (unsigned short)492, (unsigned short)494, (unsigned short)496, (unsigned short)498, (unsigned short)500, (unsigned short)502, (unsigned short)504, (unsigned short)506, (unsigned short)508, (unsigned short)510, (unsigned short)512, (unsigned short)514, (unsigned short)516, (unsigned short)521, (unsigned short)523, (unsigned short)526, (unsigned short)530, (unsigned short)537, (unsigned short)543, (unsigned short)545, (unsigned short)547, (unsigned short)549, (unsigned short)551, (unsigned short)553, (unsigned short)555, (unsigned short)557, (unsigned short)559, (unsigned short)561, (unsigned short)563, (unsigned short)565, (unsigned short)567, (unsigned short)569, (unsigned short)571, (unsigned short)573, (unsigned short)575, (unsigned short)577, (unsigned short)579, (unsigned short)581, (unsigned short)583, (unsigned short)585, (unsigned short)590, (unsigned short)592, (unsigned short)594, (unsigned short)596, (unsigned short)598, (unsigned short)600, (unsigned short)602, (unsigned short)604, (unsigned short)606, (unsigned short)608, (unsigned short)610, (unsigned short)612, (unsigned short)614, (unsigned short)616, (unsigned short)618, (unsigned short)620, (unsigned short)622, (unsigned short)627, (unsigned short)629, (unsigned short)635, (unsigned short)640, (unsigned short)645, (unsigned short)649, (unsigned short)655, (unsigned short)662, (unsigned short)668, (unsigned short)674, (unsigned short)679, (unsigned short)686, (unsigned short)689, (unsigned short)692, (unsigned short)696, (unsigned short)700, (unsigned short)702, (unsigned short)704, (unsigned short)706, (unsigned short)709, (unsigned short)713, (unsigned short)715, (unsigned short)719, (unsigned short)729, (unsigned short)739, (unsigned short)747, (unsigned short)755, (unsigned short)761, (unsigned short)772, (unsigned short)783, (unsigned short)792, (unsigned short)801, (unsigned short)808, (unsigned short)817, (unsigned short)826, (unsigned short)833, (unsigned short)840, (unsigned short)845, (unsigned short)855, (unsigned short)865, (unsigned short)873, (unsigned short)881, (unsigned short)887, (unsigned short)891, (unsigned short)894, (unsigned short)897, (unsigned short)900, (unsigned short)902, (unsigned short)905, (unsigned short)907, (unsigned short)909, (unsigned short)911, (unsigned short)915, (unsigned short)917, (unsigned short)920, (unsigned short)923, (unsigned short)927, (unsigned short)933, (unsigned short)936, (unsigned short)939, (unsigned short)944, (unsigned short)950, (unsigned short)958, (unsigned short)966, (unsigned short)972, (unsigned short)974, (unsigned short)978, (unsigned short)980, (unsigned short)984, (unsigned short)988, (unsigned short)991, (unsigned short)995, (unsigned short)999, (unsigned short)1003, (unsigned short)1008, (unsigned short)1013, (unsigned short)1016, (unsigned short)1020, (unsigned short)1024, (unsigned short)1029, (unsigned short)1033, (unsigned short)1036, (unsigned short)1040, (unsigned short)1044, (unsigned short)1049, (unsigned short)1051, (unsigned short)1053, (unsigned short)1056, (unsigned short)1059, (unsigned short)1062, (unsigned short)1066, (unsigned short)1068, (unsigned short)1070, (unsigned short)1073, (unsigned short)1076, (unsigned short)1079, (unsigned short)1083, (unsigned short)1085, (unsigned short)1088, (unsigned short)1092, (unsigned short)1094, (unsigned short)1098, (unsigned short)1103, (unsigned short)1107, (unsigned short)1112, (unsigned short)1114, (unsigned short)1117, (unsigned short)1120, (unsigned short)1124, (unsigned short)1128, (unsigned short)1130, (unsigned short)1132, (unsigned short)1135, (unsigned short)1138, (unsigned short)1141, (unsigned short)1145, (unsigned short)1149, (unsigned short)1152, (unsigned short)1154, (unsigned short)1157, (unsigned short)1159, (unsigned short)1162, (unsigned short)1165, (unsigned short)1169, (unsigned short)1171, (unsigned short)1175, (unsigned short)1177, (unsigned short)1181, (unsigned short)1184, (unsigned short)1187, (unsigned short)1189, (unsigned short)1191, (unsigned short)1195, (unsigned short)1197, (unsigned short)1200, (unsigned short)1202, (unsigned short)1206, (unsigned short)1211, (unsigned short)1213, (unsigned short)1215, (unsigned short)1217, (unsigned short)1221, (unsigned short)1223, (unsigned short)1225, (unsigned short)1227, (unsigned short)1229, (unsigned short)1231, (unsigned short)1233, (unsigned short)1237, (unsigned short)1242, (unsigned short)1246, (unsigned short)1248, (unsigned short)1251, (unsigned short)1253, (unsigned short)1256, (unsigned short)1259, (unsigned short)1261, (unsigned short)1263, (unsigned short)1266, (unsigned short)1268, (unsigned short)1271, (unsigned short)1275, (unsigned short)1277, (unsigned short)1280, (unsigned short)1286, (unsigned short)1294, (unsigned short)1300, (unsigned short)1306, (unsigned short)1314, (unsigned short)1321, (unsigned short)1329, (unsigned short)1334, (unsigned short)1340, (unsigned short)1345, (unsigned short)1349, (unsigned short)1352, (unsigned short)1355, (unsigned short)1358, (unsigned short)1362, (unsigned short)1364, (unsigned short)1370, (unsigned short)1375, (unsigned short)1380, (unsigned short)1384, (unsigned short)1389, (unsigned short)1393, (unsigned short)1397, (unsigned short)1400, (unsigned short)1403, (unsigned short)1405, (unsigned short)1409, (unsigned short)1414, (unsigned short)1418, (unsigned short)1421, (unsigned short)1424, (unsigned short)1427, (unsigned short)1430, (unsigned short)1433, (unsigned short)1436, (unsigned short)1439, (unsigned short)1442, (unsigned short)1446, (unsigned short)1448, (unsigned short)1450, (unsigned short)1454, (unsigned short)1457, (unsigned short)1459, (unsigned short)1461, (unsigned short)1464, (unsigned short)1467, (unsigned short)1469, (unsigned short)1472, (unsigned short)1474, (unsigned short)1476, (unsigned short)1479
943 };
944
945 static const yytype_int16 yyrhs[] = 
946 {
947 (short)245, (short)0, (short)(-1), (short)3, (short)(-1), (short)140, (short)(-1), (short)112, (short)163, (short)113, (short)(-1), (short)138, (short)(-1), (short)231, (short)(-1), (short)4, (short)(-1), (short)229, (short)(-1), (short)114, (short)229, (short)(-1), (short)114, (short)229, (short)115, (short)229, (short)(-1), (short)112, (short)113, (short)(-1), (short)71, (short)167, (short)201, (short)116, (short)164, (short)117, (short)(-1), (short)71, (short)167, (short)116, (short)164, (short)117, (short)(-1), (short)102, (short)167, (short)201, (short)116, (short)164, (short)117, (short)(-1), (short)102, (short)167, (short)116, (short)164, (short)117, (short)(-1), (short)72, (short)164, (short)169, (short)201, (short)116, (short)164, (short)117, (short)(-1), (short)72, (short)164, (short)169, (short)116, (short)164, (short)117, (short)(-1), (short)103, (short)164, (short)169, (short)201, (short)116, (short)164, (short)117, (short)(-1), (short)103, (short)164, (short)169, (short)116, (short)164, (short)117, (short)(-1), (short)1, (short)(-1), (short)232, (short)(-1), (short)139, (short)(-1), (short)142, (short)116, (short)163, (short)117, (short)(-1), (short)142, (short)112, (short)113, (short)(-1), (short)142, (short)112, (short)144, (short)113, (short)(-1), (short)142, (short)115, (short)138, (short)(-1), (short)142, (short)7, (short)138, (short)(-1), (short)142, (short)8, (short)(-1), (short)142, (short)9, (short)(-1), (short)140, (short)(-1), (short)143, (short)116, (short)163, (short)117, (short)(-1), (short)143, (short)112, (short)113, (short)(-1), (short)143, (short)112, (short)144, (short)113, (short)(-1), (short)143, (short)115, (short)138, (short)(-1), (short)143, (short)7, (short)138, (short)(-1), (short)143, (short)8, (short)(-1), (short)143, (short)9, (short)(-1), (short)161, (short)(-1), (short)141, (short)(-1), (short)144, (short)118, (short)161, (short)(-1), (short)144, (short)118, (short)141, (short)(-1), (short)8, (short)146, (short)(-1), (short)9, (short)146, (short)(-1), (short)148, (short)149, (short)(-1), (short)6, (short)112, (short)146, (short)113, (short)(-1), (short)6, (short)147, (short)(-1), (short)6, (short)112, (short)214, (short)113, (short)(-1), (short)109, (short)112, (short)146, (short)113, (short)(-1), (short)109, (short)147, (short)(-1), (short)109, (short)112, (short)214, (short)113, (short)(-1), (short)145, (short)(-1), (short)142, (short)(-1), (short)145, (short)(-1), (short)143, (short)(-1), (short)119, (short)(-1), (short)120, (short)(-1), (short)121, (short)(-1), (short)122, (short)(-1), (short)123, (short)(-1), (short)124, (short)(-1), (short)73, (short)(-1), (short)146, (short)(-1), (short)112, (short)214, (short)113, (short)149, (short)(-1), (short)149, (short)(-1), (short)150, (short)120, (short)149, (short)(-1), (short)150, (short)125, (short)149, (short)(-1), (short)150, (short)126, (short)149, (short)(-1), (short)150, (short)(-1), (short)151, (short)121, (short)150, (short)(-1), (short)151, (short)122, (short)150, (short)(-1), (short)151, (short)(-1), (short)152, (short)10, (short)151, (short)(-1), (short)152, (short)11, (short)151, (short)(-1), (short)152, (short)(-1), (short)153, (short)127, (short)152, (short)(-1), (short)153, (short)128, (short)152, (short)(-1), (short)153, (short)12, (short)152, (short)(-1), (short)153, (short)13, (short)152, (short)(-1), (short)153, (short)(-1), (short)154, (short)14, (short)153, (short)(-1), (short)154, (short)15, (short)153, (short)(-1), (short)154, (short)(-1), (short)155, (short)119, (short)154, (short)(-1), (short)155, (short)(-1), (short)156, (short)129, (short)155, (short)(-1), (short)156, (short)(-1), (short)157, (short)130, (short)156, (short)(-1), (short)157, (short)(-1), (short)158, (short)16, (short)157, (short)(-1), (short)158, (short)(-1), (short)159, (short)17, (short)158, (short)(-1), (short)159, (short)(-1), (short)159, (short)131, (short)163, (short)132, (short)160, (short)(-1), (short)160, (short)(-1), (short)146, (short)162, (short)161, (short)(-1), (short)146, (short)162, (short)141, (short)(-1), (short)133, (short)(-1), (short)18, (short)(-1), (short)19, (short)(-1), (short)20, (short)(-1), (short)21, (short)(-1), (short)22, (short)(-1), (short)23, (short)(-1), (short)24, (short)(-1), (short)25, (short)(-1), (short)26, (short)(-1), (short)27, (short)(-1), (short)161, (short)(-1), (short)163, (short)118, (short)161, (short)(-1), (short)160, (short)(-1), (short)167, (short)134, (short)(-1), (short)167, (short)170, (short)134, (short)(-1), (short)230, (short)134, (short)(-1), (short)77, (short)138, (short)133, (short)164, (short)134, (short)(-1), (short)179, (short)(-1), (short)166, (short)179, (short)(-1), (short)182, (short)(-1), (short)166, (short)182, (short)(-1), (short)195, (short)(-1), (short)166, (short)195, (short)(-1), (short)184, (short)(-1), (short)166, (short)184, (short)(-1), (short)172, (short)(-1), (short)167, (short)172, (short)(-1), (short)179, (short)(-1), (short)167, (short)179, (short)(-1), (short)182, (short)(-1), (short)167, (short)182, (short)(-1), (short)195, (short)(-1), (short)167, (short)195, (short)(-1), (short)184, (short)(-1), (short)167, (short)184, (short)(-1), (short)172, (short)(-1), (short)168, (short)172, (short)(-1), (short)179, (short)(-1), (short)168, (short)179, (short)(-1), (short)182, (short)(-1), (short)168, (short)182, (short)(-1), (short)180, (short)(-1), (short)168, (short)180, (short)(-1), (short)172, (short)(-1), (short)169, (short)172, (short)(-1), (short)179, (short)(-1), (short)169, (short)179, (short)(-1), (short)183, (short)(-1), (short)169, (short)183, (short)(-1), (short)184, (short)(-1), (short)169, (short)184, (short)(-1), (short)195, (short)(-1), (short)169, (short)195, (short)(-1), (short)171, (short)(-1), (short)170, (short)118, (short)171, (short)(-1), (short)202, (short)(-1), (short)202, (short)133, (short)215, (short)(-1), (short)29, (short)(-1), (short)30, (short)(-1), (short)31, (short)(-1), (short)32, (short)(-1), (short)33, (short)(-1), (short)74, (short)(-1), (short)178, (short)(-1), (short)79, (short)(-1), (short)110, (short)(-1), (short)111, (short)(-1), (short)3, (short)(-1), (short)28, (short)(-1), (short)75, (short)(-1), (short)74, (short)(-1), (short)44, (short)(-1), (short)175, (short)(-1), (short)175, (short)112, (short)163, (short)113, (short)(-1), (short)176, (short)(-1), (short)177, (short)176, (short)(-1), (short)177, (short)118, (short)176, (short)(-1), (short)174, (short)112, (short)112, (short)177, (short)113, (short)113, (short)(-1), (short)174, (short)112, (short)112, (short)113, (short)113, (short)(-1), (short)44, (short)(-1), (short)45, (short)(-1), (short)75, (short)(-1), (short)181, (short)(-1), (short)28, (short)(-1), (short)46, (short)(-1), (short)34, (short)(-1), (short)35, (short)(-1), (short)36, (short)(-1), (short)37, (short)(-1), (short)38, (short)(-1), (short)47, (short)(-1), (short)39, (short)(-1), (short)42, (short)(-1), (short)43, (short)(-1), (short)40, (short)(-1), (short)41, (short)(-1), (short)85, (short)(-1), (short)185, (short)(-1), (short)194, (short)(-1), (short)180, (short)(-1), (short)100, (short)112, (short)180, (short)113, (short)(-1), (short)66, (short)(-1), (short)46, (short)(-1), (short)34, (short)(-1), (short)35, (short)(-1), (short)36, (short)(-1), (short)37, (short)(-1), (short)38, (short)(-1), (short)47, (short)(-1), (short)39, (short)(-1), (short)42, (short)(-1), (short)43, (short)(-1), (short)40, (short)(-1), (short)41, (short)(-1), (short)185, (short)(-1), (short)194, (short)(-1), (short)181, (short)(-1), (short)100, (short)112, (short)180, (short)113, (short)(-1), (short)66, (short)(-1), (short)186, (short)138, (short)135, (short)187, (short)136, (short)(-1), (short)186, (short)135, (short)187, (short)136, (short)(-1), (short)186, (short)138, (short)135, (short)136, (short)(-1), (short)186, (short)135, (short)136, (short)(-1), (short)186, (short)181, (short)135, (short)187, (short)136, (short)(-1), (short)186, (short)173, (short)138, (short)135, (short)187, (short)136, (short)(-1), (short)186, (short)173, (short)135, (short)187, (short)136, (short)(-1), (short)186, (short)173, (short)138, (short)135, (short)136, (short)(-1), (short)186, (short)173, (short)135, (short)136, (short)(-1), (short)186, (short)173, (short)181, (short)135, (short)187, (short)136, (short)(-1), (short)186, (short)138, (short)(-1), (short)186, (short)181, (short)(-1), (short)186, (short)173, (short)138, (short)(-1), (short)186, (short)173, (short)181, (short)(-1), (short)48, (short)(-1), (short)49, (short)(-1), (short)191, (short)(-1), (short)187, (short)191, (short)(-1), (short)142, (short)133, (short)216, (short)(-1), (short)188, (short)(-1), (short)189, (short)118, (short)188, (short)(-1), (short)68, (short)168, (short)138, (short)135, (short)69, (short)224, (short)70, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)138, (short)135, (short)70, (short)224, (short)69, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)138, (short)135, (short)69, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)138, (short)135, (short)70, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)138, (short)135, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)138, (short)135, (short)69, (short)224, (short)70, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)138, (short)135, (short)70, (short)224, (short)69, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)138, (short)135, (short)69, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)138, (short)135, (short)70, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)138, (short)135, (short)136, (short)(-1), (short)68, (short)168, (short)135, (short)69, (short)224, (short)70, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)135, (short)70, (short)224, (short)69, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)135, (short)69, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)135, (short)70, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)135, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)135, (short)69, (short)224, (short)70, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)135, (short)70, (short)224, (short)69, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)135, (short)69, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)135, (short)70, (short)224, (short)136, (short)(-1), (short)68, (short)168, (short)200, (short)135, (short)136, (short)(-1), (short)167, (short)192, (short)134, (short)(-1), (short)167, (short)134, (short)(-1), (short)231, (short)134, (short)(-1), (short)230, (short)134, (short)(-1), (short)237, (short)(-1), (short)189, (short)134, (short)(-1), (short)190, (short)(-1), (short)134, (short)(-1), (short)193, (short)(-1), (short)192, (short)118, (short)193, (short)(-1), (short)202, (short)(-1), (short)202, (short)178, (short)(-1), (short)132, (short)164, (short)(-1), (short)202, (short)132, (short)164, (short)(-1), (short)202, (short)132, (short)164, (short)132, (short)164, (short)(-1), (short)50, (short)138, (short)(-1), (short)50, (short)181, (short)(-1), (short)50, (short)135, (short)196, (short)136, (short)(-1), (short)50, (short)138, (short)135, (short)196, (short)136, (short)(-1), (short)50, (short)138, (short)135, (short)196, (short)134, (short)187, (short)136, (short)(-1), (short)50, (short)181, (short)135, (short)196, (short)134, (short)187, (short)136, (short)(-1), (short)50, (short)181, (short)135, (short)196, (short)136, (short)(-1), (short)197, (short)(-1), (short)196, (short)118, (short)197, (short)(-1), (short)138, (short)(-1), (short)138, (short)133, (short)164, (short)(-1), (short)112, (short)200, (short)113, (short)(-1), (short)116, (short)117, (short)(-1), (short)116, (short)164, (short)117, (short)(-1), (short)116, (short)180, (short)117, (short)(-1), (short)198, (short)116, (short)117, (short)(-1), (short)198, (short)116, (short)164, (short)117, (short)(-1), (short)198, (short)116, (short)180, (short)117, (short)(-1), (short)112, (short)113, (short)(-1), (short)112, (short)210, (short)113, (short)(-1), (short)198, (short)112, (short)113, (short)(-1), (short)198, (short)112, (short)210, (short)113, (short)(-1), (short)112, (short)201, (short)113, (short)(-1), (short)112, (short)113, (short)(-1), (short)112, (short)210, (short)113, (short)(-1), (short)199, (short)112, (short)113, (short)(-1), (short)199, (short)112, (short)210, (short)113, (short)(-1), (short)209, (short)(-1), (short)198, (short)(-1), (short)209, (short)198, (short)(-1), (short)173, (short)209, (short)(-1), (short)173, (short)198, (short)(-1), (short)173, (short)209, (short)198, (short)(-1), (short)209, (short)(-1), (short)199, (short)(-1), (short)209, (short)199, (short)(-1), (short)173, (short)209, (short)(-1), (short)173, (short)199, (short)(-1), (short)173, (short)209, (short)199, (short)(-1), (short)205, (short)(-1), (short)209, (short)205, (short)(-1), (short)173, (short)209, (short)205, (short)(-1), (short)138, (short)(-1), (short)112, (short)202, (short)113, (short)(-1), (short)203, (short)116, (short)164, (short)117, (short)(-1), (short)203, (short)116, (short)117, (short)(-1), (short)203, (short)116, (short)180, (short)117, (short)(-1), (short)207, (short)(-1), (short)209, (short)207, (short)(-1), (short)173, (short)207, (short)(-1), (short)173, (short)209, (short)207, (short)(-1), (short)209, (short)173, (short)207, (short)(-1), (short)207, (short)(-1), (short)203, (short)(-1), (short)173, (short)207, (short)(-1), (short)173, (short)203, (short)(-1), (short)203, (short)112, (short)(-1), (short)206, (short)210, (short)113, (short)(-1), (short)206, (short)213, (short)113, (short)(-1), (short)206, (short)113, (short)(-1), (short)179, (short)(-1), (short)208, (short)179, (short)(-1), (short)120, (short)(-1), (short)120, (short)208, (short)(-1), (short)120, (short)209, (short)(-1), (short)120, (short)208, (short)209, (short)(-1), (short)211, (short)(-1), (short)211, (short)118, (short)51, (short)(-1), (short)212, (short)(-1), (short)211, (short)118, (short)212, (short)(-1), (short)167, (short)202, (short)(-1), (short)167, (short)200, (short)(-1), (short)167, (short)(-1), (short)138, (short)(-1), (short)213, (short)118, (short)138, (short)(-1), (short)166, (short)(-1), (short)166, (short)200, (short)(-1), (short)161, (short)(-1), (short)135, (short)217, (short)136, (short)(-1), (short)135, (short)217, (short)118, (short)136, (short)(-1), (short)160, (short)(-1), (short)141, (short)(-1), (short)215, (short)(-1), (short)217, (short)118, (short)215, (short)(-1), (short)219, (short)(-1), (short)224, (short)(-1), (short)225, (short)(-1), (short)226, (short)(-1), (short)227, (short)(-1), (short)228, (short)(-1), (short)138, (short)132, (short)218, (short)(-1), (short)52, (short)164, (short)132, (short)218, (short)(-1), (short)53, (short)132, (short)218, (short)(-1), (short)165, (short)(-1), (short)220, (short)165, (short)(-1), (short)218, (short)(-1), (short)221, (short)218, (short)(-1), (short)221, (short)165, (short)(-1), (short)221, (short)(-1), (short)220, (short)(-1), (short)220, (short)221, (short)(-1), (short)135, (short)(-1), (short)135, (short)136, (short)(-1), (short)223, (short)222, (short)136, (short)(-1), (short)134, (short)(-1), (short)163, (short)134, (short)(-1), (short)54, (short)112, (short)163, (short)113, (short)218, (short)(-1), (short)54, (short)112, (short)163, (short)113, (short)218, (short)64, (short)218, (short)(-1), (short)55, (short)112, (short)163, (short)113, (short)218, (short)(-1), (short)56, (short)112, (short)163, (short)113, (short)218, (short)(-1), (short)57, (short)218, (short)56, (short)112, (short)163, (short)113, (short)134, (short)(-1), (short)58, (short)112, (short)225, (short)225, (short)113, (short)218, (short)(-1), (short)58, (short)112, (short)225, (short)225, (short)163, (short)113, (short)218, (short)(-1), (short)56, (short)112, (short)113, (short)218, (short)(-1), (short)58, (short)112, (short)225, (short)113, (short)218, (short)(-1), (short)58, (short)112, (short)113, (short)218, (short)(-1), (short)59, (short)138, (short)134, (short)(-1), (short)60, (short)134, (short)(-1), (short)61, (short)134, (short)(-1), (short)62, (short)134, (short)(-1), (short)62, (short)163, (short)134, (short)(-1), (short)5, (short)(-1), (short)167, (short)138, (short)135, (short)244, (short)136, (short)(-1), (short)167, (short)138, (short)135, (short)136, (short)(-1), (short)180, (short)135, (short)244, (short)136, (short)(-1), (short)180, (short)135, (short)136, (short)(-1), (short)138, (short)135, (short)244, (short)136, (short)(-1), (short)138, (short)135, (short)136, (short)(-1), (short)135, (short)244, (short)136, (short)(-1), (short)135, (short)136, (short)(-1), (short)167, (short)204, (short)(-1), (short)204, (short)(-1), (short)167, (short)112, (short)113, (short)(-1), (short)123, (short)167, (short)112, (short)113, (short)(-1), (short)78, (short)167, (short)204, (short)(-1), (short)78, (short)204, (short)(-1), (short)233, (short)224, (short)(-1), (short)236, (short)224, (short)(-1), (short)236, (short)134, (short)(-1), (short)234, (short)224, (short)(-1), (short)235, (short)224, (short)(-1), (short)167, (short)204, (short)(-1), (short)238, (short)224, (short)(-1), (short)142, (short)133, (short)216, (short)(-1), (short)216, (short)(-1), (short)240, (short)(-1), (short)241, (short)118, (short)240, (short)(-1), (short)241, (short)134, (short)(-1), (short)242, (short)(-1), (short)239, (short)(-1), (short)243, (short)242, (short)(-1), (short)243, (short)239, (short)(-1), (short)134, (short)(-1), (short)243, (short)134, (short)(-1), (short)243, (short)(-1), (short)241, (short)(-1), (short)243, (short)241, (short)(-1), (short)161, (short)(-1)
948 };
949
950 static const yytype_uint16 yyrline[] = 
951 {
952 (unsigned short)0, (unsigned short)210, (unsigned short)210, (unsigned short)215, (unsigned short)216, (unsigned short)221, (unsigned short)223, (unsigned short)225, (unsigned short)227, (unsigned short)229, (unsigned short)230, (unsigned short)231, (unsigned short)234, (unsigned short)235, (unsigned short)236, (unsigned short)237, (unsigned short)238, (unsigned short)239, (unsigned short)240, (unsigned short)241, (unsigned short)242, (unsigned short)246, (unsigned short)250, (unsigned short)251, (unsigned short)252, (unsigned short)253, (unsigned short)254, (unsigned short)255, (unsigned short)256, (unsigned short)257, (unsigned short)262, (unsigned short)263, (unsigned short)264, (unsigned short)265, (unsigned short)266, (unsigned short)267, (unsigned short)268, (unsigned short)269, (unsigned short)273, (unsigned short)274, (unsigned short)275, (unsigned short)276, (unsigned short)280, (unsigned short)281, (unsigned short)282, (unsigned short)283, (unsigned short)284, (unsigned short)285, (unsigned short)286, (unsigned short)287, (unsigned short)288, (unsigned short)292, (unsigned short)293, (unsigned short)297, (unsigned short)298, (unsigned short)302, (unsigned short)303, (unsigned short)304, (unsigned short)305, (unsigned short)306, (unsigned short)307, (unsigned short)308, (unsigned short)312, (unsigned short)313, (unsigned short)317, (unsigned short)318, (unsigned short)319, (unsigned short)320, (unsigned short)324, (unsigned short)325, (unsigned short)326, (unsigned short)330, (unsigned short)331, (unsigned short)332, (unsigned short)336, (unsigned short)337, (unsigned short)338, (unsigned short)339, (unsigned short)340, (unsigned short)344, (unsigned short)345, (unsigned short)346, (unsigned short)350, (unsigned short)351, (unsigned short)355, (unsigned short)356, (unsigned short)360, (unsigned short)361, (unsigned short)365, (unsigned short)366, (unsigned short)370, (unsigned short)371, (unsigned short)375, (unsigned short)376, (unsigned short)380, (unsigned short)381, (unsigned short)383, (unsigned short)388, (unsigned short)389, (unsigned short)390, (unsigned short)391, (unsigned short)392, (unsigned short)393, (unsigned short)394, (unsigned short)395, (unsigned short)396, (unsigned short)397, (unsigned short)398, (unsigned short)402, (unsigned short)403, (unsigned short)407, (unsigned short)411, (unsigned short)412, (unsigned short)413, (unsigned short)414, (unsigned short)418, (unsigned short)419, (unsigned short)420, (unsigned short)421, (unsigned short)422, (unsigned short)423, (unsigned short)424, (unsigned short)425, (unsigned short)429, (unsigned short)430, (unsigned short)431, (unsigned short)432, (unsigned short)433, (unsigned short)434, (unsigned short)435, (unsigned short)436, (unsigned short)437, (unsigned short)438, (unsigned short)443, (unsigned short)444, (unsigned short)445, (unsigned short)446, (unsigned short)447, (unsigned short)448, (unsigned short)449, (unsigned short)450, (unsigned short)454, (unsigned short)455, (unsigned short)456, (unsigned short)457, (unsigned short)458, (unsigned short)459, (unsigned short)460, (unsigned short)461, (unsigned short)462, (unsigned short)463, (unsigned short)467, (unsigned short)468, (unsigned short)472, (unsigned short)473, (unsigned short)477, (unsigned short)478, (unsigned short)479, (unsigned short)480, (unsigned short)481, (unsigned short)485, (unsigned short)486, (unsigned short)490, (unsigned short)491, (unsigned short)492, (unsigned short)497, (unsigned short)498, (unsigned short)499, (unsigned short)500, (unsigned short)501, (unsigned short)505, (unsigned short)506, (unsigned short)510, (unsigned short)511, (unsigned short)512, (unsigned short)516, (unsigned short)517, (unsigned short)521, (unsigned short)522, (unsigned short)523, (unsigned short)527, (unsigned short)552, (unsigned short)556, (unsigned short)557, (unsigned short)558, (unsigned short)559, (unsigned short)560, (unsigned short)561, (unsigned short)562, (unsigned short)563, (unsigned short)564, (unsigned short)565, (unsigned short)566, (unsigned short)567, (unsigned short)568, (unsigned short)569, (unsigned short)570, (unsigned short)571, (unsigned short)572, (unsigned short)573, (unsigned short)577, (unsigned short)578, (unsigned short)579, (unsigned short)580, (unsigned short)581, (unsigned short)582, (unsigned short)583, (unsigned short)584, (unsigned short)585, (unsigned short)586, (unsigned short)587, (unsigned short)588, (unsigned short)589, (unsigned short)590, (unsigned short)591, (unsigned short)592, (unsigned short)593, (unsigned short)598, (unsigned short)599, (unsigned short)600, (unsigned short)601, (unsigned short)602, (unsigned short)605, (unsigned short)606, (unsigned short)607, (unsigned short)608, (unsigned short)609, (unsigned short)614, (unsigned short)615, (unsigned short)618, (unsigned short)620, (unsigned short)625, (unsigned short)626, (unsigned short)630, (unsigned short)631, (unsigned short)635, (unsigned short)639, (unsigned short)640, (unsigned short)644, (unsigned short)646, (unsigned short)648, (unsigned short)650, (unsigned short)652, (unsigned short)655, (unsigned short)657, (unsigned short)659, (unsigned short)661, (unsigned short)663, (unsigned short)666, (unsigned short)668, (unsigned short)670, (unsigned short)672, (unsigned short)674, (unsigned short)677, (unsigned short)679, (unsigned short)681, (unsigned short)683, (unsigned short)685, (unsigned short)690, (unsigned short)691, (unsigned short)692, (unsigned short)693, (unsigned short)694, (unsigned short)695, (unsigned short)696, (unsigned short)697, (unsigned short)701, (unsigned short)703, (unsigned short)708, (unsigned short)710, (unsigned short)712, (unsigned short)714, (unsigned short)716, (unsigned short)721, (unsigned short)722, (unsigned short)726, (unsigned short)728, (unsigned short)729, (unsigned short)730, (unsigned short)731, (unsigned short)735, (unsigned short)737, (unsigned short)742, (unsigned short)744, (unsigned short)750, (unsigned short)752, (unsigned short)754, (unsigned short)756, (unsigned short)758, (unsigned short)760, (unsigned short)762, (unsigned short)764, (unsigned short)766, (unsigned short)768, (unsigned short)770, (unsigned short)775, (unsigned short)777, (unsigned short)779, (unsigned short)781, (unsigned short)783, (unsigned short)788, (unsigned short)789, (unsigned short)790, (unsigned short)791, (unsigned short)792, (unsigned short)793, (unsigned short)797, (unsigned short)798, (unsigned short)799, (unsigned short)800, (unsigned short)801, (unsigned short)802, (unsigned short)848, (unsigned short)849, (unsigned short)851, (unsigned short)857, (unsigned short)859, (unsigned short)861, (unsigned short)863, (unsigned short)865, (unsigned short)870, (unsigned short)871, (unsigned short)874, (unsigned short)876, (unsigned short)878, (unsigned short)884, (unsigned short)885, (unsigned short)886, (unsigned short)888, (unsigned short)893, (unsigned short)897, (unsigned short)899, (unsigned short)901, (unsigned short)906, (unsigned short)907, (unsigned short)911, (unsigned short)912, (unsigned short)913, (unsigned short)914, (unsigned short)918, (unsigned short)919, (unsigned short)923, (unsigned short)924, (unsigned short)928, (unsigned short)929, (unsigned short)930, (unsigned short)934, (unsigned short)935, (unsigned short)939, (unsigned short)940, (unsigned short)949, (unsigned short)951, (unsigned short)953, (unsigned short)969, (unsigned short)970, (unsigned short)991, (unsigned short)993, (unsigned short)998, (unsigned short)999, (unsigned short)1000, (unsigned short)1001, (unsigned short)1002, (unsigned short)1003, (unsigned short)1007, (unsigned short)1009, (unsigned short)1011, (unsigned short)1016, (unsigned short)1017, (unsigned short)1021, (unsigned short)1022, (unsigned short)1025, (unsigned short)1029, (unsigned short)1030, (unsigned short)1031, (unsigned short)1035, (unsigned short)1039, (unsigned short)1047, (unsigned short)1052, (unsigned short)1053, (unsigned short)1057, (unsigned short)1058, (unsigned short)1059, (unsigned short)1063, (unsigned short)1064, (unsigned short)1065, (unsigned short)1066, (unsigned short)1068, (unsigned short)1069, (unsigned short)1070, (unsigned short)1074, (unsigned short)1075, (unsigned short)1076, (unsigned short)1077, (unsigned short)1078, (unsigned short)1082, (unsigned short)1086, (unsigned short)1088, (unsigned short)1093, (unsigned short)1095, (unsigned short)1097, (unsigned short)1099, (unsigned short)1104, (unsigned short)1106, (unsigned short)1111, (unsigned short)1113, (unsigned short)1118, (unsigned short)1123, (unsigned short)1128, (unsigned short)1130, (unsigned short)1135, (unsigned short)1137, (unsigned short)1139, (unsigned short)1141, (unsigned short)1143, (unsigned short)1149, (unsigned short)1154, (unsigned short)1159, (unsigned short)1160, (unsigned short)1164, (unsigned short)1166, (unsigned short)1171, (unsigned short)1176, (unsigned short)1177, (unsigned short)1178, (unsigned short)1179, (unsigned short)1180, (unsigned short)1181, (unsigned short)1185, (unsigned short)1186, (unsigned short)1187, (unsigned short)1191
953 };
954
955 static const char * const yytname[] = 
956 {
957 "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT", "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR", "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT", "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION", "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO", "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS", "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP", "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE", "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT", "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING", "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION", "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY", "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS", "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD", "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "'('", "')'", "'$'", "'.'", "'['", "']'", "','", "'&'", "'*'", "'+'", "'-'", "'~'", "'!'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "'{'", "'}'", "$accept", "identifier", "primary_expression", "simple_primary_expression", "anon_instantiation_expression", "postfix_expression", "simple_postfix_expression", "argument_expression_list", "common_unary_expression", "unary_expression", "simple_unary_expression", "unary_operator", "cast_expression", "multiplicative_expression", "additive_expression", "shift_expression", "relational_expression", "equality_expression", "and_expression", "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression", "conditional_expression", "assignment_expression", "assignment_operator", "expression", "constant_expression", "declaration", "specifier_qualifier_list", "declaration_specifiers", "property_specifiers", "renew_specifiers", "init_declarator_list", "init_declarator", "storage_class_specifier", "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list", "attrib", "type_qualifier", "type", "strict_type", "type_specifier", "strict_type_specifier", "struct_or_union_specifier_compound", "struct_or_union_specifier_nocompound", "struct_or_union", "struct_declaration_list", "default_property", "default_property_list", "property", "struct_declaration", "struct_declarator_list", "struct_declarator", "enum_specifier_nocompound", "enum_specifier_compound", "enumerator_list", "enumerator", "direct_abstract_declarator", "direct_abstract_declarator_noarray", "abstract_declarator", "abstract_declarator_noarray", "declarator", "direct_declarator_nofunction", "declarator_function", "direct_declarator", "direct_declarator_function_start", "direct_declarator_function", "type_qualifier_list", "pointer", "parameter_type_list", "parameter_list", "parameter_declaration", "identifier_list", "type_name", "initializer", "initializer_condition", "initializer_list", "statement", "labeled_statement", "declaration_list", "statement_list", "compound_inside", "compound_start", "compound_statement", "expression_statement", "selection_statement", "iteration_statement", "jump_statement", "string_literal", "instantiation_named", "instantiation_unnamed", "instantiation_anon", "class_function_definition_start", "constructor_function_definition_start", "destructor_function_definition_start", "virtual_class_function_definition_start", "class_function_definition", "instance_class_function_definition_start", "instance_class_function_definition", "data_member_initialization", "data_member_initialization_list", "data_member_initialization_list_coloned", "members_initialization_list_coloned", "members_initialization_list", "expression_unit", 0
958 };
959
960 static const yytype_uint8 yyr1[] = 
961 {
962 (unsigned char)0, (unsigned char)137, (unsigned char)138, (unsigned char)139, (unsigned char)139, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)140, (unsigned char)141, (unsigned char)142, (unsigned char)142, (unsigned char)142, (unsigned char)142, (unsigned char)142, (unsigned char)142, (unsigned char)142, (unsigned char)142, (unsigned char)143, (unsigned char)143, (unsigned char)143, (unsigned char)143, (unsigned char)143, (unsigned char)143, (unsigned char)143, (unsigned char)143, (unsigned char)144, (unsigned char)144, (unsigned char)144, (unsigned char)144, (unsigned char)145, (unsigned char)145, (unsigned char)145, (unsigned char)145, (unsigned char)145, (unsigned char)145, (unsigned char)145, (unsigned char)145, (unsigned char)145, (unsigned char)146, (unsigned char)146, (unsigned char)147, (unsigned char)147, (unsigned char)148, (unsigned char)148, (unsigned char)148, (unsigned char)148, (unsigned char)148, (unsigned char)148, (unsigned char)148, (unsigned char)149, (unsigned char)149, (unsigned char)150, (unsigned char)150, (unsigned char)150, (unsigned char)150, (unsigned char)151, (unsigned char)151, (unsigned char)151, (unsigned char)152, (unsigned char)152, (unsigned char)152, (unsigned char)153, (unsigned char)153, (unsigned char)153, (unsigned char)153, (unsigned char)153, (unsigned char)154, (unsigned char)154, (unsigned char)154, (unsigned char)155, (unsigned char)155, (unsigned char)156, (unsigned char)156, (unsigned char)157, (unsigned char)157, (unsigned char)158, (unsigned char)158, (unsigned char)159, (unsigned char)159, (unsigned char)160, (unsigned char)160, (unsigned char)161, (unsigned char)161, (unsigned char)161, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)162, (unsigned char)163, (unsigned char)163, (unsigned char)164, (unsigned char)165, (unsigned char)165, (unsigned char)165, (unsigned char)165, (unsigned char)166, (unsigned char)166, (unsigned char)166, (unsigned char)166, (unsigned char)166, (unsigned char)166, (unsigned char)166, (unsigned char)166, (unsigned char)167, (unsigned char)167, (unsigned char)167, (unsigned char)167, (unsigned char)167, (unsigned char)167, (unsigned char)167, (unsigned char)167, (unsigned char)167, (unsigned char)167, (unsigned char)168, (unsigned char)168, (unsigned char)168, (unsigned char)168, (unsigned char)168, (unsigned char)168, (unsigned char)168, (unsigned char)168, (unsigned char)169, (unsigned char)169, (unsigned char)169, (unsigned char)169, (unsigned char)169, (unsigned char)169, (unsigned char)169, (unsigned char)169, (unsigned char)169, (unsigned char)169, (unsigned char)170, (unsigned char)170, (unsigned char)171, (unsigned char)171, (unsigned char)172, (unsigned char)172, (unsigned char)172, (unsigned char)172, (unsigned char)172, (unsigned char)173, (unsigned char)173, (unsigned char)174, (unsigned char)174, (unsigned char)174, (unsigned char)175, (unsigned char)175, (unsigned char)175, (unsigned char)175, (unsigned char)175, (unsigned char)176, (unsigned char)176, (unsigned char)177, (unsigned char)177, (unsigned char)177, (unsigned char)178, (unsigned char)178, (unsigned char)179, (unsigned char)179, (unsigned char)179, (unsigned char)180, (unsigned char)181, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)182, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)183, (unsigned char)184, (unsigned char)184, (unsigned char)184, (unsigned char)184, (unsigned char)184, (unsigned char)184, (unsigned char)184, (unsigned char)184, (unsigned char)184, (unsigned char)184, (unsigned char)185, (unsigned char)185, (unsigned char)185, (unsigned char)185, (unsigned char)186, (unsigned char)186, (unsigned char)187, (unsigned char)187, (unsigned char)188, (unsigned char)189, (unsigned char)189, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)190, (unsigned char)191, (unsigned char)191, (unsigned char)191, (unsigned char)191, (unsigned char)191, (unsigned char)191, (unsigned char)191, (unsigned char)191, (unsigned char)192, (unsigned char)192, (unsigned char)193, (unsigned char)193, (unsigned char)193, (unsigned char)193, (unsigned char)193, (unsigned char)194, (unsigned char)194, (unsigned char)195, (unsigned char)195, (unsigned char)195, (unsigned char)195, (unsigned char)195, (unsigned char)196, (unsigned char)196, (unsigned char)197, (unsigned char)197, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)198, (unsigned char)199, (unsigned char)199, (unsigned char)199, (unsigned char)199, (unsigned char)199, (unsigned char)200, (unsigned char)200, (unsigned char)200, (unsigned char)200, (unsigned char)200, (unsigned char)200, (unsigned char)201, (unsigned char)201, (unsigned char)201, (unsigned char)201, (unsigned char)201, (unsigned char)201, (unsigned char)202, (unsigned char)202, (unsigned char)202, (unsigned char)203, (unsigned char)203, (unsigned char)203, (unsigned char)203, (unsigned char)203, (unsigned char)204, (unsigned char)204, (unsigned char)204, (unsigned char)204, (unsigned char)204, (unsigned char)205, (unsigned char)205, (unsigned char)205, (unsigned char)205, (unsigned char)206, (unsigned char)207, (unsigned char)207, (unsigned char)207, (unsigned char)208, (unsigned char)208, (unsigned char)209, (unsigned char)209, (unsigned char)209, (unsigned char)209, (unsigned char)210, (unsigned char)210, (unsigned char)211, (unsigned char)211, (unsigned char)212, (unsigned char)212, (unsigned char)212, (unsigned char)213, (unsigned char)213, (unsigned char)214, (unsigned char)214, (unsigned char)215, (unsigned char)215, (unsigned char)215, (unsigned char)216, (unsigned char)216, (unsigned char)217, (unsigned char)217, (unsigned char)218, (unsigned char)218, (unsigned char)218, (unsigned char)218, (unsigned char)218, (unsigned char)218, (unsigned char)219, (unsigned char)219, (unsigned char)219, (unsigned char)220, (unsigned char)220, (unsigned char)221, (unsigned char)221, (unsigned char)221, (unsigned char)222, (unsigned char)222, (unsigned char)222, (unsigned char)223, (unsigned char)224, (unsigned char)224, (unsigned char)225, (unsigned char)225, (unsigned char)226, (unsigned char)226, (unsigned char)226, (unsigned char)227, (unsigned char)227, (unsigned char)227, (unsigned char)227, (unsigned char)227, (unsigned char)227, (unsigned char)227, (unsigned char)228, (unsigned char)228, (unsigned char)228, (unsigned char)228, (unsigned char)228, (unsigned char)229, (unsigned char)230, (unsigned char)230, (unsigned char)231, (unsigned char)231, (unsigned char)231, (unsigned char)231, (unsigned char)232, (unsigned char)232, (unsigned char)233, (unsigned char)233, (unsigned char)234, (unsigned char)235, (unsigned char)236, (unsigned char)236, (unsigned char)237, (unsigned char)237, (unsigned char)237, (unsigned char)237, (unsigned char)237, (unsigned char)238, (unsigned char)239, (unsigned char)240, (unsigned char)240, (unsigned char)241, (unsigned char)241, (unsigned char)242, (unsigned char)243, (unsigned char)243, (unsigned char)243, (unsigned char)243, (unsigned char)243, (unsigned char)243, (unsigned char)244, (unsigned char)244, (unsigned char)244, (unsigned char)245
963 };
964
965 static const yytype_uint8 yyr2[] = 
966 {
967 (unsigned char)0, (unsigned char)2, (unsigned char)1, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)2, (unsigned char)4, (unsigned char)2, (unsigned char)6, (unsigned char)5, (unsigned char)6, (unsigned char)5, (unsigned char)7, (unsigned char)6, (unsigned char)7, (unsigned char)6, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)4, (unsigned char)3, (unsigned char)4, (unsigned char)3, (unsigned char)3, (unsigned char)2, (unsigned char)2, (unsigned char)1, (unsigned char)4, (unsigned char)3, (unsigned char)4, (unsigned char)3, (unsigned char)3, (unsigned char)2, (unsigned char)2, (unsigned char)1, (unsigned char)1, (unsigned char)3, (unsigned char)3, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)4, (unsigned char)2, (unsigned char)4, (unsigned char)4, (unsigned char)2, (unsigned char)4, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)4, (unsigned char)1, (unsigned char)3, (unsigned char)3, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)3, (unsigned char)3, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)5, (unsigned char)1, (unsigned char)3, (unsigned char)3, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)2, (unsigned char)3, (unsigned char)2, (unsigned char)5, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)4, (unsigned char)1, (unsigned char)2, (unsigned char)3, (unsigned char)6, (unsigned char)5, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)4, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)4, (unsigned char)1, (unsigned char)5, (unsigned char)4, (unsigned char)4, (unsigned char)3, (unsigned char)5, (unsigned char)6, (unsigned char)5, (unsigned char)5, (unsigned char)4, (unsigned char)6, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)3, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)2, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)9, (unsigned char)9, (unsigned char)7, (unsigned char)7, (unsigned char)5, (unsigned char)10, (unsigned char)10, (unsigned char)8, (unsigned char)8, (unsigned char)6, (unsigned char)8, (unsigned char)8, (unsigned char)6, (unsigned char)6, (unsigned char)4, (unsigned char)9, (unsigned char)9, (unsigned char)7, (unsigned char)7, (unsigned char)5, (unsigned char)3, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)5, (unsigned char)2, (unsigned char)2, (unsigned char)4, (unsigned char)5, (unsigned char)7, (unsigned char)7, (unsigned char)5, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)3, (unsigned char)2, (unsigned char)3, (unsigned char)3, (unsigned char)3, (unsigned char)4, (unsigned char)4, (unsigned char)2, (unsigned char)3, (unsigned char)3, (unsigned char)4, (unsigned char)3, (unsigned char)2, (unsigned char)3, (unsigned char)3, (unsigned char)4, (unsigned char)1, (unsigned char)1, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)1, (unsigned char)1, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)1, (unsigned char)2, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)4, (unsigned char)3, (unsigned char)4, (unsigned char)1, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)3, (unsigned char)1, (unsigned char)1, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)3, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)3, (unsigned char)2, (unsigned char)2, (unsigned char)1, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)3, (unsigned char)4, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)3, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)1, (unsigned char)3, (unsigned char)4, (unsigned char)3, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)2, (unsigned char)1, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)3, (unsigned char)1, (unsigned char)2, (unsigned char)5, (unsigned char)7, (unsigned char)5, (unsigned char)5, (unsigned char)7, (unsigned char)6, (unsigned char)7, (unsigned char)4, (unsigned char)5, (unsigned char)4, (unsigned char)3, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)1, (unsigned char)5, (unsigned char)4, (unsigned char)4, (unsigned char)3, (unsigned char)4, (unsigned char)3, (unsigned char)3, (unsigned char)2, (unsigned char)2, (unsigned char)1, (unsigned char)3, (unsigned char)4, (unsigned char)3, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)2, (unsigned char)3, (unsigned char)1, (unsigned char)1, (unsigned char)3, (unsigned char)2, (unsigned char)1, (unsigned char)1, (unsigned char)2, (unsigned char)2, (unsigned char)1, (unsigned char)2, (unsigned char)1, (unsigned char)1, (unsigned char)2, (unsigned char)1
968 };
969
970 static const yytype_uint16 yydefact[] = 
971 {
972 (unsigned short)0, (unsigned short)20, (unsigned short)2, (unsigned short)7, (unsigned short)394, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)181, (unsigned short)0, (unsigned short)0, (unsigned short)61, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)55, (unsigned short)56, (unsigned short)57, (unsigned short)58, (unsigned short)59, (unsigned short)60, (unsigned short)5, (unsigned short)22, (unsigned short)3, (unsigned short)52, (unsigned short)51, (unsigned short)62, (unsigned short)0, (unsigned short)64, (unsigned short)68, (unsigned short)71, (unsigned short)74, (unsigned short)79, (unsigned short)82, (unsigned short)84, (unsigned short)86, (unsigned short)88, (unsigned short)90, (unsigned short)92, (unsigned short)94, (unsigned short)430, (unsigned short)0, (unsigned short)180, (unsigned short)8, (unsigned short)6, (unsigned short)0, (unsigned short)0, (unsigned short)30, (unsigned short)54, (unsigned short)53, (unsigned short)46, (unsigned short)0, (unsigned short)42, (unsigned short)43, (unsigned short)155, (unsigned short)156, (unsigned short)157, (unsigned short)158, (unsigned short)159, (unsigned short)183, (unsigned short)184, (unsigned short)185, (unsigned short)186, (unsigned short)187, (unsigned short)189, (unsigned short)192, (unsigned short)193, (unsigned short)190, (unsigned short)191, (unsigned short)177, (unsigned short)178, (unsigned short)182, (unsigned short)188, (unsigned short)231, (unsigned short)232, (unsigned short)0, (unsigned short)199, (unsigned short)179, (unsigned short)194, (unsigned short)0, (unsigned short)0, (unsigned short)123, (unsigned short)125, (unsigned short)197, (unsigned short)127, (unsigned short)131, (unsigned short)195, (unsigned short)0, (unsigned short)196, (unsigned short)129, (unsigned short)62, (unsigned short)110, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)49, (unsigned short)11, (unsigned short)108, (unsigned short)0, (unsigned short)348, (unsigned short)115, (unsigned short)197, (unsigned short)117, (unsigned short)121, (unsigned short)119, (unsigned short)0, (unsigned short)9, (unsigned short)0, (unsigned short)0, (unsigned short)28, (unsigned short)29, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)98, (unsigned short)99, (unsigned short)100, (unsigned short)101, (unsigned short)102, (unsigned short)103, (unsigned short)104, (unsigned short)105, (unsigned short)106, (unsigned short)107, (unsigned short)97, (unsigned short)0, (unsigned short)44, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)1, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)36, (unsigned short)37, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)273, (unsigned short)274, (unsigned short)0, (unsigned short)160, (unsigned short)162, (unsigned short)163, (unsigned short)164, (unsigned short)0, (unsigned short)0, (unsigned short)335, (unsigned short)124, (unsigned short)0, (unsigned short)0, (unsigned short)161, (unsigned short)126, (unsigned short)128, (unsigned short)132, (unsigned short)130, (unsigned short)307, (unsigned short)0, (unsigned short)306, (unsigned short)0, (unsigned short)227, (unsigned short)0, (unsigned short)228, (unsigned short)201, (unsigned short)202, (unsigned short)203, (unsigned short)204, (unsigned short)205, (unsigned short)207, (unsigned short)210, (unsigned short)211, (unsigned short)208, (unsigned short)209, (unsigned short)200, (unsigned short)206, (unsigned short)216, (unsigned short)0, (unsigned short)0, (unsigned short)141, (unsigned short)143, (unsigned short)214, (unsigned short)145, (unsigned short)147, (unsigned short)212, (unsigned short)213, (unsigned short)149, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)4, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)116, (unsigned short)118, (unsigned short)122, (unsigned short)120, (unsigned short)301, (unsigned short)349, (unsigned short)300, (unsigned short)0, (unsigned short)0, (unsigned short)425, (unsigned short)0, (unsigned short)400, (unsigned short)354, (unsigned short)52, (unsigned short)353, (unsigned short)0, (unsigned short)417, (unsigned short)21, (unsigned short)0, (unsigned short)422, (unsigned short)418, (unsigned short)428, (unsigned short)421, (unsigned short)0, (unsigned short)0, (unsigned short)27, (unsigned short)24, (unsigned short)39, (unsigned short)0, (unsigned short)38, (unsigned short)26, (unsigned short)0, (unsigned short)96, (unsigned short)95, (unsigned short)65, (unsigned short)66, (unsigned short)67, (unsigned short)69, (unsigned short)70, (unsigned short)72, (unsigned short)73, (unsigned short)77, (unsigned short)78, (unsigned short)75, (unsigned short)76, (unsigned short)80, (unsigned short)81, (unsigned short)83, (unsigned short)85, (unsigned short)87, (unsigned short)89, (unsigned short)91, (unsigned short)0, (unsigned short)398, (unsigned short)0, (unsigned short)45, (unsigned short)47, (unsigned short)35, (unsigned short)32, (unsigned short)0, (unsigned short)34, (unsigned short)0, (unsigned short)282, (unsigned short)0, (unsigned short)280, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)296, (unsigned short)345, (unsigned short)0, (unsigned short)0, (unsigned short)339, (unsigned short)341, (unsigned short)0, (unsigned short)333, (unsigned short)336, (unsigned short)337, (unsigned short)310, (unsigned short)309, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)308, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)265, (unsigned short)220, (unsigned short)5, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)236, (unsigned short)0, (unsigned short)264, (unsigned short)233, (unsigned short)0, (unsigned short)404, (unsigned short)0, (unsigned short)320, (unsigned short)0, (unsigned short)0, (unsigned short)6, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)262, (unsigned short)0, (unsigned short)0, (unsigned short)229, (unsigned short)230, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)142, (unsigned short)144, (unsigned short)146, (unsigned short)148, (unsigned short)150, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)48, (unsigned short)50, (unsigned short)109, (unsigned short)291, (unsigned short)0, (unsigned short)0, (unsigned short)285, (unsigned short)0, (unsigned short)0, (unsigned short)304, (unsigned short)303, (unsigned short)0, (unsigned short)0, (unsigned short)302, (unsigned short)63, (unsigned short)10, (unsigned short)402, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)315, (unsigned short)414, (unsigned short)374, (unsigned short)0, (unsigned short)415, (unsigned short)0, (unsigned short)420, (unsigned short)426, (unsigned short)424, (unsigned short)429, (unsigned short)423, (unsigned short)399, (unsigned short)25, (unsigned short)0, (unsigned short)23, (unsigned short)0, (unsigned short)397, (unsigned short)33, (unsigned short)31, (unsigned short)0, (unsigned short)0, (unsigned short)275, (unsigned short)0, (unsigned short)0, (unsigned short)198, (unsigned short)0, (unsigned short)0, (unsigned short)344, (unsigned short)343, (unsigned short)326, (unsigned short)312, (unsigned short)325, (unsigned short)300, (unsigned short)295, (unsigned short)297, (unsigned short)0, (unsigned short)13, (unsigned short)334, (unsigned short)338, (unsigned short)311, (unsigned short)0, (unsigned short)298, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)133, (unsigned short)135, (unsigned short)139, (unsigned short)137, (unsigned short)0, (unsigned short)0, (unsigned short)408, (unsigned short)0, (unsigned short)56, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)259, (unsigned short)315, (unsigned short)0, (unsigned short)0, (unsigned short)266, (unsigned short)268, (unsigned short)403, (unsigned short)325, (unsigned short)0, (unsigned short)322, (unsigned short)0, (unsigned short)218, (unsigned short)234, (unsigned short)0, (unsigned short)263, (unsigned short)329, (unsigned short)0, (unsigned short)332, (unsigned short)346, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)321, (unsigned short)261, (unsigned short)260, (unsigned short)409, (unsigned short)412, (unsigned short)413, (unsigned short)411, (unsigned short)410, (unsigned short)219, (unsigned short)0, (unsigned short)225, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)15, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)284, (unsigned short)292, (unsigned short)286, (unsigned short)287, (unsigned short)305, (unsigned short)293, (unsigned short)0, (unsigned short)288, (unsigned short)0, (unsigned short)0, (unsigned short)401, (unsigned short)416, (unsigned short)375, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)377, (unsigned short)5, (unsigned short)0, (unsigned short)366, (unsigned short)0, (unsigned short)368, (unsigned short)357, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)358, (unsigned short)359, (unsigned short)360, (unsigned short)361, (unsigned short)362, (unsigned short)0, (unsigned short)419, (unsigned short)41, (unsigned short)40, (unsigned short)93, (unsigned short)283, (unsigned short)281, (unsigned short)0, (unsigned short)276, (unsigned short)0, (unsigned short)279, (unsigned short)328, (unsigned short)327, (unsigned short)303, (unsigned short)0, (unsigned short)313, (unsigned short)340, (unsigned short)342, (unsigned short)165, (unsigned short)166, (unsigned short)169, (unsigned short)168, (unsigned short)167, (unsigned short)0, (unsigned short)170, (unsigned short)172, (unsigned short)0, (unsigned short)299, (unsigned short)12, (unsigned short)273, (unsigned short)274, (unsigned short)0, (unsigned short)0, (unsigned short)134, (unsigned short)136, (unsigned short)140, (unsigned short)138, (unsigned short)0, (unsigned short)227, (unsigned short)0, (unsigned short)228, (unsigned short)407, (unsigned short)0, (unsigned short)316, (unsigned short)0, (unsigned short)235, (unsigned short)405, (unsigned short)270, (unsigned short)0, (unsigned short)327, (unsigned short)0, (unsigned short)0, (unsigned short)258, (unsigned short)0, (unsigned short)269, (unsigned short)0, (unsigned short)325, (unsigned short)323, (unsigned short)237, (unsigned short)318, (unsigned short)0, (unsigned short)0, (unsigned short)330, (unsigned short)331, (unsigned short)0, (unsigned short)324, (unsigned short)217, (unsigned short)223, (unsigned short)224, (unsigned short)0, (unsigned short)0, (unsigned short)221, (unsigned short)215, (unsigned short)17, (unsigned short)0, (unsigned short)14, (unsigned short)19, (unsigned short)0, (unsigned short)294, (unsigned short)289, (unsigned short)290, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)390, (unsigned short)391, (unsigned short)392, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)378, (unsigned short)111, (unsigned short)0, (unsigned short)151, (unsigned short)153, (unsigned short)367, (unsigned short)0, (unsigned short)370, (unsigned short)369, (unsigned short)376, (unsigned short)113, (unsigned short)0, (unsigned short)0, (unsigned short)314, (unsigned short)176, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)173, (unsigned short)0, (unsigned short)0, (unsigned short)252, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)229, (unsigned short)230, (unsigned short)406, (unsigned short)396, (unsigned short)0, (unsigned short)325, (unsigned short)267, (unsigned short)271, (unsigned short)327, (unsigned short)317, (unsigned short)319, (unsigned short)347, (unsigned short)222, (unsigned short)226, (unsigned short)16, (unsigned short)18, (unsigned short)0, (unsigned short)365, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)389, (unsigned short)393, (unsigned short)0, (unsigned short)363, (unsigned short)0, (unsigned short)112, (unsigned short)0, (unsigned short)277, (unsigned short)278, (unsigned short)0, (unsigned short)175, (unsigned short)174, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)242, (unsigned short)0, (unsigned short)0, (unsigned short)257, (unsigned short)0, (unsigned short)395, (unsigned short)0, (unsigned short)364, (unsigned short)0, (unsigned short)0, (unsigned short)386, (unsigned short)0, (unsigned short)0, (unsigned short)388, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)152, (unsigned short)0, (unsigned short)350, (unsigned short)154, (unsigned short)171, (unsigned short)0, (unsigned short)250, (unsigned short)0, (unsigned short)251, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)247, (unsigned short)272, (unsigned short)379, (unsigned short)381, (unsigned short)382, (unsigned short)0, (unsigned short)387, (unsigned short)0, (unsigned short)0, (unsigned short)114, (unsigned short)355, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)240, (unsigned short)0, (unsigned short)241, (unsigned short)0, (unsigned short)255, (unsigned short)0, (unsigned short)256, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)384, (unsigned short)0, (unsigned short)0, (unsigned short)351, (unsigned short)248, (unsigned short)249, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)245, (unsigned short)0, (unsigned short)246, (unsigned short)380, (unsigned short)383, (unsigned short)385, (unsigned short)352, (unsigned short)356, (unsigned short)238, (unsigned short)239, (unsigned short)253, (unsigned short)254, (unsigned short)0, (unsigned short)0, (unsigned short)243, (unsigned short)244
973 };
974
975 static const yytype_int16 yydefgoto[] = 
976 {
977 (short)(-1), (short)23, (short)24, (short)25, (short)230, (short)26, (short)50, (short)246, (short)27, (short)92, (short)52, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)100, (short)128, (short)499, (short)94, (short)614, (short)102, (short)310, (short)411, (short)199, (short)609, (short)610, (short)83, (short)311, (short)172, (short)536, (short)537, (short)538, (short)173, (short)84, (short)43, (short)44, (short)86, (short)203, (short)87, (short)88, (short)89, (short)312, (short)313, (short)314, (short)315, (short)316, (short)431, (short)432, (short)90, (short)91, (short)281, (short)282, (short)222, (short)178, (short)350, (short)179, (short)422, (short)317, (short)318, (short)396, (short)319, (short)320, (short)294, (short)321, (short)351, (short)290, (short)291, (short)448, (short)108, (short)693, (short)234, (short)716, (short)502, (short)503, (short)504, (short)505, (short)506, (short)369, (short)507, (short)508, (short)509, (short)510, (short)511, (short)45, (short)322, (short)46, (short)235, (short)324, (short)325, (short)326, (short)327, (short)328, (short)236, (short)237, (short)238, (short)239, (short)240, (short)241, (short)242, (short)47
978 };
979
980 static const yytype_int16 yypact[] = 
981 {
982 (short)5528, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)5601, (short)5655, (short)5655, (short)(-630), (short)7079, (short)5528, (short)(-630), (short)7079, (short)5528, (short)5681, (short)5056, (short)64, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-64), (short)(-630), (short)(-630), (short)534, (short)(-630), (short)609, (short)5528, (short)(-630), (short)344, (short)10, (short)386, (short)198, (short)395, (short)15, (short)41, (short)66, (short)90, (short)(-4), (short)(-630), (short)(-630), (short)83, (short)(-630), (short)(-630), (short)(-630), (short)269, (short)5180, (short)(-630), (short)542, (short)(-630), (short)(-630), (short)4658, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)17, (short)(-630), (short)(-630), (short)(-630), (short)126, (short)6236, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)133, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)7225, (short)6329, (short)7225, (short)5180, (short)(-630), (short)(-630), (short)(-630), (short)113, (short)6656, (short)(-630), (short)83, (short)(-630), (short)(-630), (short)(-630), (short)158, (short)162, (short)1964, (short)277, (short)(-630), (short)(-630), (short)4083, (short)277, (short)5528, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)4211, (short)(-630), (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)5528, (short)2088, (short)(-630), (short)175, (short)181, (short)277, (short)(-630), (short)(-630), (short)4156, (short)277, (short)5528, (short)277, (short)148, (short)165, (short)280, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)6422, (short)5528, (short)218, (short)(-630), (short)104, (short)203, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)216, (short)225, (short)232, (short)2572, (short)215, (short)56, (short)227, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)235, (short)6515, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)5528, (short)257, (short)6608, (short)268, (short)285, (short)(-630), (short)5528, (short)6143, (short)5267, (short)191, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)337, (short)(-630), (short)419, (short)5528, (short)64, (short)(-630), (short)2212, (short)(-630), (short)(-630), (short)27, (short)(-630), (short)5964, (short)(-630), (short)(-630), (short)272, (short)(-630), (short)(-630), (short)(-55), (short)(-630), (short)2336, (short)289, (short)(-630), (short)(-630), (short)(-630), (short)275, (short)(-630), (short)(-630), (short)349, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)344, (short)344, (short)10, (short)10, (short)386, (short)386, (short)386, (short)386, (short)198, (short)198, (short)395, (short)15, (short)41, (short)66, (short)90, (short)(-42), (short)(-630), (short)296, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)339, (short)(-630), (short)358, (short)305, (short)(-51), (short)(-630), (short)277, (short)277, (short)365, (short)(-630), (short)5871, (short)400, (short)403, (short)332, (short)(-630), (short)343, (short)(-630), (short)218, (short)(-630), (short)216, (short)232, (short)399, (short)6749, (short)5528, (short)216, (short)7152, (short)5964, (short)5234, (short)7079, (short)(-630), (short)(-630), (short)(-64), (short)347, (short)4709, (short)65, (short)2684, (short)(-630), (short)(-32), (short)(-630), (short)(-630), (short)443, (short)(-630), (short)6057, (short)(-630), (short)185, (short)393, (short)411, (short)272, (short)272, (short)272, (short)390, (short)(-630), (short)2796, (short)2908, (short)422, (short)429, (short)4351, (short)280, (short)5528, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)455, (short)460, (short)5528, (short)5528, (short)464, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)468, (short)472, (short)(-630), (short)471, (short)(-44), (short)337, (short)419, (short)6835, (short)5321, (short)337, (short)(-630), (short)(-630), (short)(-630), (short)453, (short)4211, (short)310, (short)(-630), (short)(-630), (short)456, (short)3925, (short)(-630), (short)4211, (short)(-630), (short)(-630), (short)(-630), (short)(-55), (short)(-630), (short)(-630), (short)(-630), (short)4211, (short)(-630), (short)5528, (short)(-630), (short)(-630), (short)(-630), (short)5528, (short)277, (short)(-630), (short)306, (short)311, (short)(-630), (short)5778, (short)85, (short)(-630), (short)(-630), (short)443, (short)(-630), (short)(-630), (short)398, (short)(-630), (short)(-630), (short)7006, (short)(-630), (short)(-630), (short)(-630), (short)216, (short)495, (short)(-630), (short)480, (short)483, (short)38, (short)4599, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)615, (short)5964, (short)(-630), (short)4932, (short)721, (short)65, (short)488, (short)185, (short)6921, (short)4211, (short)409, (short)5528, (short)(-630), (short)469, (short)65, (short)219, (short)(-630), (short)210, (short)(-630), (short)470, (short)185, (short)(-630), (short)34, (short)(-630), (short)(-630), (short)700, (short)(-630), (short)(-630), (short)5394, (short)(-630), (short)(-630), (short)490, (short)355, (short)34, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)3020, (short)(-630), (short)3132, (short)3244, (short)4351, (short)3356, (short)494, (short)498, (short)5528, (short)(-630), (short)500, (short)504, (short)5528, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)337, (short)(-630), (short)499, (short)(-630), (short)508, (short)86, (short)(-630), (short)(-630), (short)(-630), (short)5528, (short)479, (short)525, (short)527, (short)529, (short)4010, (short)532, (short)277, (short)511, (short)513, (short)4492, (short)277, (short)(-630), (short)(-24), (short)234, (short)(-630), (short)4819, (short)(-630), (short)(-630), (short)1592, (short)1716, (short)515, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)519, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)4351, (short)(-630), (short)4351, (short)(-630), (short)443, (short)(-630), (short)398, (short)34, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)546, (short)548, (short)(-630), (short)671, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-31), (short)526, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)20, (short)(-630), (short)38, (short)(-630), (short)(-630), (short)185, (short)(-630), (short)549, (short)(-630), (short)(-630), (short)(-630), (short)2460, (short)530, (short)185, (short)146, (short)(-630), (short)5528, (short)(-630), (short)34, (short)531, (short)(-630), (short)(-630), (short)(-630), (short)550, (short)112, (short)(-630), (short)(-630), (short)277, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)3468, (short)3580, (short)(-630), (short)(-630), (short)(-630), (short)551, (short)(-630), (short)(-630), (short)552, (short)(-630), (short)(-630), (short)(-630), (short)538, (short)4010, (short)5528, (short)5528, (short)5448, (short)621, (short)4404, (short)537, (short)(-630), (short)(-630), (short)(-630), (short)249, (short)545, (short)4010, (short)(-630), (short)(-630), (short)258, (short)(-630), (short)547, (short)(-630), (short)1840, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)3692, (short)3804, (short)(-630), (short)(-630), (short)5528, (short)566, (short)512, (short)(-630), (short)272, (short)272, (short)(-630), (short)8, (short)170, (short)560, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)561, (short)563, (short)(-630), (short)554, (short)565, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)4010, (short)(-630), (short)361, (short)371, (short)4010, (short)374, (short)571, (short)4010, (short)4438, (short)(-630), (short)(-630), (short)5528, (short)(-630), (short)310, (short)(-630), (short)4239, (short)(-630), (short)(-630), (short)384, (short)(-630), (short)(-630), (short)(-18), (short)(-38), (short)272, (short)272, (short)(-630), (short)272, (short)272, (short)(-630), (short)254, (short)(-630), (short)5528, (short)(-630), (short)4010, (short)4010, (short)(-630), (short)4010, (short)5528, (short)(-630), (short)4010, (short)5474, (short)568, (short)(-630), (short)4239, (short)(-630), (short)(-630), (short)(-630), (short)272, (short)(-630), (short)272, (short)(-630), (short)(-16), (short)(-36), (short)129, (short)(-27), (short)272, (short)272, (short)(-630), (short)(-630), (short)642, (short)(-630), (short)(-630), (short)394, (short)(-630), (short)4010, (short)415, (short)(-630), (short)(-630), (short)212, (short)572, (short)574, (short)272, (short)(-630), (short)272, (short)(-630), (short)272, (short)(-630), (short)272, (short)(-630), (short)138, (short)(-23), (short)4010, (short)573, (short)(-630), (short)4010, (short)1423, (short)(-630), (short)(-630), (short)(-630), (short)575, (short)577, (short)578, (short)580, (short)272, (short)(-630), (short)272, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)581, (short)583, (short)(-630), (short)(-630)
983 };
984
985 static const yytype_int16 yypgoto[] = 
986 {
987 (short)(-630), (short)457, (short)(-630), (short)105, (short)(-98), (short)(-28), (short)(-630), (short)564, (short)246, (short)0, (short)707, (short)(-630), (short)36, (short)404, (short)412, (short)423, (short)425, (short)579, (short)586, (short)582, (short)585, (short)576, (short)(-630), (short)14, (short)1, (short)(-630), (short)(-13), (short)59, (short)(-357), (short)(-630), (short)13, (short)(-630), (short)628, (short)(-630), (short)74, (short)141, (short)745, (short)(-630), (short)(-630), (short)(-517), (short)(-630), (short)303, (short)1019, (short)892, (short)(-45), (short)661, (short)(-135), (short)(-1), (short)(-77), (short)(-228), (short)(-273), (short)298, (short)(-630), (short)(-630), (short)(-283), (short)(-630), (short)174, (short)176, (short)77, (short)292, (short)362, (short)(-206), (short)(-110), (short)(-94), (short)238, (short)(-284), (short)954, (short)(-223), (short)(-272), (short)(-630), (short)1027, (short)(-630), (short)35, (short)(-124), (short)(-630), (short)346, (short)(-630), (short)2, (short)(-629), (short)(-336), (short)(-630), (short)(-321), (short)(-630), (short)(-630), (short)251, (short)(-630), (short)(-630), (short)601, (short)(-544), (short)(-630), (short)(-630), (short)(-630), (short)(-7), (short)(-364), (short)290, (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)(-630), (short)509, (short)388, (short)516, (short)521, (short)(-630), (short)(-145), (short)(-630)
988 };
989
990 static const yytype_int16 yytable[] = 
991 {
992 (short)28, (short)42, (short)101, (short)394, (short)272, (short)512, (short)54, (short)55, (short)223, (short)109, (short)367, (short)355, (short)500, (short)147, (short)106, (short)28, (short)245, (short)205, (short)359, (short)205, (short)2, (short)625, (short)82, (short)2, (short)93, (short)95, (short)433, (short)93, (short)483, (short)440, (short)250, (short)697, (short)161, (short)721, (short)111, (short)112, (short)113, (short)2, (short)626, (short)627, (short)101, (short)2, (short)725, (short)289, (short)184, (short)8, (short)743, (short)106, (short)151, (short)202, (short)152, (short)202, (short)695, (short)28, (short)719, (short)656, (short)459, (short)461, (short)245, (short)2, (short)464, (short)296, (short)715, (short)371, (short)338, (short)129, (short)8, (short)386, (short)2, (short)4, (short)301, (short)110, (short)96, (short)475, (short)416, (short)338, (short)214, (short)671, (short)672, (short)372, (short)418, (short)176, (short)231, (short)363, (short)8, (short)387, (short)441, (short)434, (short)2, (short)557, (short)381, (short)149, (short)107, (short)204, (short)176, (short)204, (short)106, (short)211, (short)698, (short)212, (short)722, (short)220, (short)442, (short)249, (short)749, (short)628, (short)146, (short)668, (short)606, (short)726, (short)49, (short)110, (short)688, (short)744, (short)28, (short)247, (short)28, (short)180, (short)696, (short)49, (short)720, (short)231, (short)205, (short)233, (short)232, (short)107, (short)527, (short)148, (short)28, (short)251, (short)180, (short)133, (short)134, (short)205, (short)143, (short)270, (short)2, (short)224, (short)332, (short)114, (short)512, (short)512, (short)115, (short)116, (short)673, (short)279, (short)365, (short)612, (short)28, (short)2, (short)476, (short)527, (short)159, (short)309, (short)202, (short)630, (short)28, (short)247, (short)28, (short)177, (short)364, (short)8, (short)233, (short)232, (short)527, (short)202, (short)252, (short)253, (short)254, (short)598, (short)144, (short)207, (short)177, (short)207, (short)107, (short)408, (short)440, (short)365, (short)440, (short)221, (short)287, (short)440, (short)93, (short)416, (short)615, (short)169, (short)355, (short)405, (short)2, (short)581, (short)582, (short)330, (short)359, (short)393, (short)553, (short)447, (short)145, (short)391, (short)339, (short)723, (short)231, (short)216, (short)180, (short)592, (short)295, (short)169, (short)297, (short)163, (short)741, (short)339, (short)137, (short)138, (short)164, (short)231, (short)28, (short)348, (short)167, (short)611, (short)149, (short)361, (short)163, (short)149, (short)93, (short)170, (short)169, (short)164, (short)213, (short)292, (short)287, (short)642, (short)93, (short)214, (short)176, (short)478, (short)180, (short)200, (short)170, (short)200, (short)162, (short)674, (short)675, (short)233, (short)232, (short)165, (short)166, (short)180, (short)618, (short)149, (short)619, (short)512, (short)224, (short)51, (short)356, (short)620, (short)233, (short)232, (short)165, (short)166, (short)365, (short)163, (short)51, (short)360, (short)71, (short)72, (short)164, (short)724, (short)169, (short)342, (short)181, (short)150, (short)206, (short)225, (short)206, (short)649, (short)742, (short)353, (short)340, (short)226, (short)427, (short)433, (short)2, (short)514, (short)620, (short)283, (short)309, (short)660, (short)176, (short)340, (short)273, (short)164, (short)620, (short)101, (short)615, (short)79, (short)274, (short)165, (short)166, (short)365, (short)440, (short)440, (short)284, (short)309, (short)309, (short)215, (short)28, (short)309, (short)676, (short)216, (short)8, (short)176, (short)177, (short)169, (short)287, (short)2, (short)93, (short)298, (short)417, (short)549, (short)424, (short)476, (short)165, (short)166, (short)398, (short)703, (short)704, (short)139, (short)140, (short)680, (short)299, (short)404, (short)733, (short)683, (short)287, (short)209, (short)686, (short)440, (short)440, (short)563, (short)169, (short)423, (short)336, (short)300, (short)565, (short)231, (short)167, (short)436, (short)438, (short)334, (short)734, (short)93, (short)329, (short)336, (short)214, (short)564, (short)111, (short)112, (short)113, (short)93, (short)93, (short)409, (short)707, (short)708, (short)333, (short)709, (short)177, (short)542, (short)711, (short)214, (short)607, (short)28, (short)287, (short)552, (short)93, (short)343, (short)170, (short)206, (short)661, (short)611, (short)232, (short)28, (short)515, (short)346, (short)501, (short)658, (short)163, (short)232, (short)206, (short)177, (short)378, (short)164, (short)705, (short)731, (short)662, (short)379, (short)466, (short)516, (short)135, (short)136, (short)347, (short)93, (short)423, (short)2, (short)469, (short)470, (short)287, (short)288, (short)101, (short)368, (short)745, (short)141, (short)142, (short)747, (short)2, (short)309, (short)287, (short)636, (short)176, (short)480, (short)106, (short)28, (short)165, (short)166, (short)365, (short)176, (short)386, (short)377, (short)398, (short)525, (short)170, (short)386, (short)169, (short)309, (short)382, (short)309, (short)309, (short)309, (short)309, (short)341, (short)385, (short)232, (short)519, (short)93, (short)520, (short)412, (short)517, (short)521, (short)224, (short)522, (short)345, (short)357, (short)401, (short)170, (short)383, (short)358, (short)423, (short)295, (short)554, (short)379, (short)93, (short)114, (short)402, (short)423, (short)115, (short)116, (short)130, (short)562, (short)380, (short)214, (short)575, (short)131, (short)132, (short)323, (short)163, (short)576, (short)681, (short)384, (short)214, (short)164, (short)390, (short)214, (short)425, (short)93, (short)604, (short)163, (short)682, (short)93, (short)559, (short)684, (short)164, (short)214, (short)28, (short)309, (short)214, (short)309, (short)177, (short)28, (short)107, (short)694, (short)530, (short)93, (short)176, (short)177, (short)214, (short)572, (short)28, (short)28, (short)633, (short)730, (short)165, (short)166, (short)391, (short)406, (short)214, (short)399, (short)216, (short)530, (short)400, (short)501, (short)501, (short)165, (short)166, (short)365, (short)558, (short)531, (short)456, (short)368, (short)586, (short)451, (short)732, (short)169, (short)589, (short)215, (short)231, (short)214, (short)160, (short)216, (short)423, (short)255, (short)256, (short)532, (short)531, (short)111, (short)112, (short)113, (short)593, (short)452, (short)182, (short)257, (short)258, (short)153, (short)154, (short)155, (short)545, (short)309, (short)309, (short)443, (short)532, (short)462, (short)170, (short)444, (short)259, (short)260, (short)261, (short)262, (short)463, (short)170, (short)263, (short)264, (short)243, (short)533, (short)534, (short)467, (short)248, (short)233, (short)232, (short)388, (short)389, (short)468, (short)177, (short)93, (short)471, (short)472, (short)650, (short)651, (short)653, (short)473, (short)533, (short)534, (short)474, (short)482, (short)309, (short)309, (short)484, (short)539, (short)28, (short)28, (short)28, (short)28, (short)423, (short)28, (short)540, (short)555, (short)323, (short)574, (short)560, (short)(-320), (short)28, (short)584, (short)535, (short)666, (short)275, (short)594, (short)590, (short)28, (short)278, (short)585, (short)280, (short)587, (short)2, (short)323, (short)323, (short)588, (short)28, (short)323, (short)639, (short)591, (short)501, (short)117, (short)118, (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)125, (short)126, (short)595, (short)308, (short)596, (short)331, (short)597, (short)170, (short)8, (short)599, (short)601, (short)114, (short)602, (short)28, (short)115, (short)116, (short)616, (short)28, (short)617, (short)156, (short)28, (short)28, (short)157, (short)158, (short)621, (short)622, (short)629, (short)634, (short)28, (short)692, (short)(-322), (short)(-321), (short)641, (short)646, (short)647, (short)648, (short)657, (short)710, (short)93, (short)530, (short)713, (short)105, (short)654, (short)659, (short)667, (short)663, (short)28, (short)28, (short)685, (short)28, (short)28, (short)679, (short)28, (short)28, (short)163, (short)366, (short)28, (short)692, (short)93, (short)164, (short)677, (short)423, (short)678, (short)(-323), (short)531, (short)(-324), (short)1, (short)714, (short)2, (short)3, (short)4, (short)729, (short)746, (short)735, (short)105, (short)736, (short)750, (short)28, (short)751, (short)752, (short)532, (short)753, (short)756, (short)689, (short)757, (short)277, (short)98, (short)265, (short)269, (short)210, (short)165, (short)166, (short)267, (short)8, (short)28, (short)266, (short)268, (short)28, (short)28, (short)692, (short)690, (short)566, (short)638, (short)706, (short)570, (short)280, (short)280, (short)127, (short)175, (short)366, (short)533, (short)534, (short)529, (short)518, (short)323, (short)374, (short)323, (short)323, (short)323, (short)323, (short)613, (short)175, (short)375, (short)105, (short)513, (short)366, (short)308, (short)376, (short)219, (short)0, (short)71, (short)72, (short)429, (short)366, (short)308, (short)0, (short)9, (short)10, (short)0, (short)0, (short)0, (short)446, (short)0, (short)366, (short)0, (short)0, (short)0, (short)0, (short)0, (short)623, (short)0, (short)308, (short)308, (short)0, (short)624, (short)308, (short)0, (short)0, (short)0, (short)0, (short)(-335), (short)79, (short)0, (short)0, (short)0, (short)(-335), (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)323, (short)0, (short)323, (short)53, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)366, (short)0, (short)0, (short)0, (short)498, (short)171, (short)0, (short)0, (short)0, (short)(-335), (short)(-335), (short)0, (short)183, (short)0, (short)0, (short)370, (short)0, (short)0, (short)171, (short)169, (short)0, (short)280, (short)0, (short)0, (short)0, (short)217, (short)366, (short)366, (short)0, (short)0, (short)0, (short)0, (short)0, (short)366, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)541, (short)544, (short)0, (short)0, (short)323, (short)323, (short)550, (short)366, (short)0, (short)308, (short)0, (short)366, (short)0, (short)366, (short)0, (short)0, (short)366, (short)0, (short)0, (short)0, (short)366, (short)0, (short)0, (short)0, (short)0, (short)0, (short)366, (short)175, (short)366, (short)0, (short)0, (short)0, (short)0, (short)0, (short)85, (short)0, (short)0, (short)85, (short)0, (short)366, (short)104, (short)323, (short)323, (short)0, (short)0, (short)171, (short)0, (short)0, (short)0, (short)308, (short)0, (short)308, (short)308, (short)308, (short)308, (short)0, (short)0, (short)0, (short)453, (short)454, (short)455, (short)457, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)104, (short)0, (short)0, (short)0, (short)171, (short)0, (short)0, (short)498, (short)175, (short)600, (short)0, (short)0, (short)0, (short)605, (short)0, (short)171, (short)0, (short)0, (short)429, (short)0, (short)217, (short)498, (short)498, (short)415, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)175, (short)0, (short)0, (short)85, (short)0, (short)308, (short)0, (short)308, (short)0, (short)0, (short)0, (short)366, (short)366, (short)0, (short)0, (short)0, (short)85, (short)0, (short)104, (short)0, (short)0, (short)0, (short)0, (short)85, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)104, (short)0, (short)0, (short)0, (short)631, (short)0, (short)632, (short)0, (short)0, (short)366, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)366, (short)366, (short)0, (short)0, (short)0, (short)366, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)392, (short)643, (short)103, (short)0, (short)0, (short)0, (short)308, (short)308, (short)0, (short)104, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)421, (short)0, (short)498, (short)0, (short)0, (short)285, (short)430, (short)0, (short)0, (short)0, (short)85, (short)0, (short)0, (short)0, (short)498, (short)0, (short)0, (short)449, (short)103, (short)0, (short)0, (short)498, (short)0, (short)548, (short)104, (short)0, (short)308, (short)308, (short)0, (short)175, (short)0, (short)105, (short)0, (short)0, (short)0, (short)0, (short)175, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)174, (short)0, (short)0, (short)0, (short)498, (short)0, (short)85, (short)354, (short)498, (short)421, (short)0, (short)498, (short)201, (short)174, (short)201, (short)103, (short)0, (short)366, (short)0, (short)104, (short)218, (short)0, (short)0, (short)0, (short)85, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)104, (short)0, (short)0, (short)392, (short)0, (short)498, (short)498, (short)0, (short)498, (short)0, (short)526, (short)498, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)217, (short)0, (short)0, (short)0, (short)0, (short)551, (short)175, (short)0, (short)421, (short)0, (short)0, (short)0, (short)526, (short)498, (short)0, (short)421, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)85, (short)0, (short)567, (short)0, (short)0, (short)0, (short)0, (short)498, (short)0, (short)293, (short)498, (short)0, (short)85, (short)0, (short)0, (short)414, (short)85, (short)0, (short)85, (short)0, (short)0, (short)0, (short)0, (short)85, (short)0, (short)104, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)85, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)337, (short)0, (short)0, (short)104, (short)104, (short)0, (short)0, (short)104, (short)465, (short)669, (short)670, (short)337, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)395, (short)0, (short)0, (short)0, (short)0, (short)421, (short)0, (short)0, (short)85, (short)481, (short)0, (short)174, (short)0, (short)0, (short)0, (short)0, (short)0, (short)395, (short)0, (short)0, (short)104, (short)0, (short)0, (short)395, (short)0, (short)0, (short)0, (short)0, (short)0, (short)526, (short)0, (short)699, (short)700, (short)0, (short)701, (short)702, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)85, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)85, (short)0, (short)0, (short)717, (short)0, (short)718, (short)526, (short)0, (short)0, (short)0, (short)547, (short)727, (short)728, (short)174, (short)526, (short)421, (short)85, (short)0, (short)104, (short)0, (short)403, (short)397, (short)0, (short)85, (short)0, (short)0, (short)395, (short)737, (short)413, (short)738, (short)0, (short)739, (short)0, (short)740, (short)0, (short)0, (short)174, (short)0, (short)397, (short)0, (short)0, (short)0, (short)0, (short)573, (short)435, (short)437, (short)0, (short)0, (short)0, (short)754, (short)0, (short)755, (short)395, (short)523, (short)0, (short)450, (short)0, (short)0, (short)104, (short)395, (short)104, (short)104, (short)104, (short)104, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)395, (short)0, (short)523, (short)0, (short)395, (short)0, (short)0, (short)395, (short)0, (short)0, (short)0, (short)523, (short)0, (short)0, (short)0, (short)0, (short)0, (short)395, (short)0, (short)397, (short)85, (short)0, (short)0, (short)104, (short)104, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)421, (short)0, (short)0, (short)0, (short)0, (short)104, (short)0, (short)104, (short)0, (short)0, (short)0, (short)0, (short)397, (short)524, (short)0, (short)0, (short)0, (short)0, (short)1, (short)397, (short)2, (short)3, (short)4, (short)5, (short)546, (short)6, (short)7, (short)0, (short)0, (short)0, (short)174, (short)0, (short)103, (short)293, (short)0, (short)0, (short)0, (short)174, (short)0, (short)0, (short)397, (short)0, (short)524, (short)0, (short)397, (short)8, (short)104, (short)397, (short)0, (short)395, (short)0, (short)561, (short)0, (short)0, (short)0, (short)0, (short)0, (short)568, (short)0, (short)569, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)104, (short)104, (short)0, (short)577, (short)0, (short)0, (short)395, (short)523, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)104, (short)0, (short)0, (short)395, (short)0, (short)104, (short)104, (short)0, (short)0, (short)0, (short)0, (short)395, (short)395, (short)0, (short)0, (short)174, (short)523, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)397, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)397, (short)524, (short)0, (short)0, (short)0, (short)0, (short)691, (short)748, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)397, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)637, (short)397, (short)0, (short)0, (short)1, (short)640, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)395, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)485, (short)486, (short)487, (short)488, (short)489, (short)490, (short)491, (short)492, (short)493, (short)494, (short)495, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)496, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)397, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)497, (short)368, (short)(-372), (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)485, (short)486, (short)487, (short)488, (short)489, (short)490, (short)491, (short)492, (short)493, (short)494, (short)495, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)496, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)497, (short)368, (short)(-371), (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)485, (short)486, (short)487, (short)488, (short)489, (short)490, (short)491, (short)492, (short)493, (short)494, (short)495, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)496, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)497, (short)368, (short)(-373), (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)227, (short)228, (short)229, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)227, (short)228, (short)271, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)227, (short)228, (short)362, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)373, (short)228, (short)(-427), (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)227, (short)228, (short)635, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)307, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)439, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)458, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)460, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)578, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)579, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)580, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)583, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)644, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)645, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)664, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)0, (short)169, (short)0, (short)1, (short)305, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)306, (short)0, (short)665, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)485, (short)486, (short)487, (short)488, (short)489, (short)490, (short)491, (short)492, (short)493, (short)494, (short)495, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)496, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)8, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)497, (short)368, (short)0, (short)485, (short)486, (short)487, (short)488, (short)489, (short)490, (short)491, (short)492, (short)493, (short)494, (short)495, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)497, (short)368, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)244, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)228, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)8, (short)15, (short)276, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)228, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)228, (short)0, (short)14, (short)0, (short)0, (short)15, (short)1, (short)16, (short)2, (short)3, (short)4, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)691, (short)0, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)78, (short)0, (short)302, (short)0, (short)0, (short)9, (short)10, (short)0, (short)163, (short)79, (short)0, (short)0, (short)303, (short)164, (short)0, (short)8, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)304, (short)0, (short)16, (short)8, (short)0, (short)0, (short)0, (short)0, (short)169, (short)0, (short)0, (short)305, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)306, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)9, (short)10, (short)11, (short)0, (short)14, (short)0, (short)0, (short)15, (short)655, (short)16, (short)0, (short)8, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)497, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)687, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)497, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)2, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)603, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)410, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)78, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)8, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)215, (short)2, (short)0, (short)0, (short)216, (short)0, (short)0, (short)0, (short)169, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)0, (short)543, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)99, (short)16, (short)0, (short)0, (short)78, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)426, (short)2, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)169, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)427, (short)0, (short)428, (short)0, (short)0, (short)0, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)365, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)169, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)608, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)0, (short)0, (short)0, (short)0, (short)0, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)165, (short)166, (short)419, (short)99, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)420, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)0, (short)0, (short)0, (short)0, (short)0, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)99, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)0, (short)0, (short)0, (short)0, (short)0, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)0, (short)0, (short)80, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)81, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)53, (short)99, (short)16, (short)8, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)9, (short)10, (short)11, (short)163, (short)0, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)12, (short)13, (short)9, (short)10, (short)11, (short)0, (short)0, (short)14, (short)165, (short)166, (short)419, (short)99, (short)16, (short)8, (short)0, (short)0, (short)0, (short)17, (short)420, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)352, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)9, (short)10, (short)11, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)479, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)1, (short)8, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)8, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)571, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)8, (short)14, (short)0, (short)0, (short)15, (short)652, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)712, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)9, (short)10, (short)11, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)8, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)15, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)0, (short)0, (short)1, (short)0, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)1, (short)8, (short)2, (short)3, (short)4, (short)5, (short)0, (short)6, (short)7, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)8, (short)14, (short)0, (short)0, (short)48, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)9, (short)10, (short)11, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)9, (short)10, (short)11, (short)0, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)53, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)0, (short)2, (short)0, (short)12, (short)13, (short)0, (short)0, (short)0, (short)0, (short)0, (short)14, (short)0, (short)0, (short)97, (short)0, (short)16, (short)0, (short)0, (short)0, (short)0, (short)17, (short)18, (short)19, (short)20, (short)21, (short)22, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)2, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)391, (short)349, (short)0, (short)0, (short)216, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)2, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)391, (short)0, (short)0, (short)0, (short)216, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)2, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)365, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)445, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)215, (short)349, (short)0, (short)0, (short)216, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)167, (short)0, (short)0, (short)0, (short)168, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)167, (short)0, (short)0, (short)0, (short)208, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)167, (short)286, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)185, (short)186, (short)187, (short)188, (short)189, (short)190, (short)191, (short)192, (short)193, (short)194, (short)71, (short)72, (short)195, (short)196, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)197, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)198, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)167, (short)0, (short)0, (short)0, (short)335, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)185, (short)186, (short)187, (short)188, (short)189, (short)190, (short)191, (short)192, (short)193, (short)194, (short)71, (short)72, (short)195, (short)196, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)197, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)163, (short)79, (short)8, (short)0, (short)0, (short)164, (short)0, (short)0, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)198, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)167, (short)0, (short)78, (short)0, (short)344, (short)0, (short)0, (short)0, (short)169, (short)0, (short)163, (short)79, (short)0, (short)0, (short)0, (short)164, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)165, (short)166, (short)215, (short)0, (short)0, (short)0, (short)216, (short)0, (short)0, (short)0, (short)169, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)407, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)477, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)556, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)528, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)63, (short)64, (short)65, (short)66, (short)67, (short)68, (short)69, (short)70, (short)71, (short)72, (short)73, (short)74, (short)75, (short)76, (short)410, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)78, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)80, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)81, (short)8, (short)56, (short)57, (short)58, (short)59, (short)60, (short)185, (short)186, (short)187, (short)188, (short)189, (short)190, (short)191, (short)192, (short)193, (short)194, (short)71, (short)72, (short)195, (short)196, (short)75, (short)76, (short)77, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)197, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)79, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)198
993 };
994
995 static const yytype_int16 yycheck[] = 
996 {
997 (short)0, (short)0, (short)15, (short)287, (short)149, (short)369, (short)6, (short)7, (short)102, (short)16, (short)233, (short)217, (short)369, (short)17, (short)15, (short)15, (short)114, (short)94, (short)224, (short)96, (short)3, (short)538, (short)9, (short)3, (short)10, (short)12, (short)310, (short)13, (short)364, (short)312, (short)128, (short)69, (short)77, (short)69, (short)7, (short)8, (short)9, (short)3, (short)69, (short)70, (short)53, (short)3, (short)69, (short)167, (short)89, (short)28, (short)69, (short)48, (short)48, (short)94, (short)48, (short)96, (short)70, (short)53, (short)70, (short)599, (short)329, (short)330, (short)156, (short)3, (short)333, (short)171, (short)691, (short)118, (short)199, (short)29, (short)28, (short)118, (short)3, (short)5, (short)180, (short)135, (short)13, (short)117, (short)302, (short)210, (short)118, (short)69, (short)70, (short)134, (short)303, (short)82, (short)110, (short)228, (short)28, (short)136, (short)118, (short)310, (short)3, (short)425, (short)132, (short)135, (short)15, (short)94, (short)95, (short)96, (short)97, (short)97, (short)136, (short)97, (short)136, (short)102, (short)134, (short)116, (short)733, (short)136, (short)16, (short)624, (short)132, (short)136, (short)5, (short)135, (short)656, (short)136, (short)114, (short)114, (short)116, (short)82, (short)136, (short)14, (short)136, (short)149, (short)199, (short)110, (short)110, (short)48, (short)398, (short)131, (short)128, (short)128, (short)95, (short)121, (short)122, (short)210, (short)119, (short)148, (short)3, (short)102, (short)183, (short)112, (short)504, (short)505, (short)115, (short)116, (short)136, (short)158, (short)112, (short)504, (short)148, (short)3, (short)356, (short)423, (short)135, (short)181, (short)199, (short)135, (short)156, (short)156, (short)158, (short)82, (short)133, (short)28, (short)149, (short)149, (short)436, (short)210, (short)130, (short)131, (short)132, (short)490, (short)129, (short)94, (short)95, (short)96, (short)97, (short)299, (short)459, (short)112, (short)461, (short)102, (short)167, (short)464, (short)168, (short)411, (short)505, (short)120, (short)392, (short)297, (short)3, (short)462, (short)463, (short)135, (short)398, (short)287, (short)417, (short)319, (short)130, (short)112, (short)199, (short)70, (short)228, (short)116, (short)167, (short)117, (short)169, (short)120, (short)171, (short)74, (short)70, (short)210, (short)12, (short)13, (short)79, (short)241, (short)214, (short)214, (short)112, (short)501, (short)135, (short)226, (short)74, (short)135, (short)208, (short)82, (short)120, (short)79, (short)113, (short)168, (short)215, (short)117, (short)216, (short)118, (short)233, (short)357, (short)199, (short)94, (short)95, (short)96, (short)112, (short)69, (short)70, (short)228, (short)228, (short)110, (short)111, (short)210, (short)519, (short)135, (short)521, (short)613, (short)215, (short)5, (short)217, (short)525, (short)241, (short)241, (short)110, (short)111, (short)112, (short)74, (short)14, (short)225, (short)44, (short)45, (short)79, (short)136, (short)120, (short)208, (short)135, (short)0, (short)94, (short)113, (short)96, (short)594, (short)136, (short)216, (short)199, (short)115, (short)132, (short)563, (short)3, (short)379, (short)554, (short)135, (short)312, (short)606, (short)287, (short)210, (short)113, (short)79, (short)562, (short)304, (short)613, (short)75, (short)113, (short)110, (short)111, (short)112, (short)581, (short)582, (short)135, (short)329, (short)330, (short)112, (short)304, (short)333, (short)136, (short)116, (short)28, (short)310, (short)233, (short)120, (short)299, (short)3, (short)300, (short)112, (short)303, (short)411, (short)305, (short)525, (short)110, (short)111, (short)287, (short)69, (short)70, (short)127, (short)128, (short)648, (short)112, (short)294, (short)118, (short)652, (short)319, (short)95, (short)655, (short)618, (short)619, (short)118, (short)120, (short)304, (short)199, (short)116, (short)132, (short)371, (short)112, (short)310, (short)311, (short)112, (short)136, (short)335, (short)135, (short)210, (short)118, (short)134, (short)7, (short)8, (short)9, (short)343, (short)344, (short)300, (short)681, (short)682, (short)135, (short)684, (short)287, (short)410, (short)687, (short)118, (short)134, (short)369, (short)357, (short)416, (short)358, (short)116, (short)233, (short)199, (short)118, (short)661, (short)364, (short)379, (short)379, (short)113, (short)369, (short)134, (short)74, (short)371, (short)210, (short)310, (short)113, (short)79, (short)136, (short)712, (short)134, (short)118, (short)335, (short)381, (short)10, (short)11, (short)113, (short)385, (short)365, (short)3, (short)343, (short)344, (short)391, (short)167, (short)419, (short)135, (short)729, (short)14, (short)15, (short)732, (short)3, (short)441, (short)401, (short)560, (short)417, (short)358, (short)419, (short)419, (short)110, (short)111, (short)112, (short)424, (short)118, (short)136, (short)391, (short)392, (short)287, (short)118, (short)120, (short)459, (short)136, (short)461, (short)462, (short)463, (short)464, (short)199, (short)133, (short)425, (short)134, (short)427, (short)136, (short)302, (short)385, (short)134, (short)411, (short)136, (short)210, (short)112, (short)118, (short)310, (short)113, (short)116, (short)419, (short)420, (short)421, (short)118, (short)444, (short)112, (short)117, (short)426, (short)115, (short)116, (short)120, (short)430, (short)117, (short)118, (short)113, (short)125, (short)126, (short)181, (short)74, (short)118, (short)113, (short)117, (short)118, (short)79, (short)113, (short)118, (short)133, (short)467, (short)495, (short)74, (short)113, (short)471, (short)427, (short)113, (short)79, (short)118, (short)490, (short)519, (short)118, (short)521, (short)417, (short)495, (short)419, (short)113, (short)3, (short)485, (short)501, (short)424, (short)118, (short)444, (short)504, (short)505, (short)551, (short)113, (short)110, (short)111, (short)112, (short)112, (short)118, (short)113, (short)116, (short)3, (short)113, (short)504, (short)505, (short)110, (short)111, (short)112, (short)113, (short)28, (short)134, (short)135, (short)467, (short)134, (short)113, (short)120, (short)471, (short)112, (short)560, (short)118, (short)77, (short)116, (short)501, (short)133, (short)134, (short)44, (short)28, (short)7, (short)8, (short)9, (short)485, (short)134, (short)89, (short)135, (short)136, (short)7, (short)8, (short)9, (short)411, (short)581, (short)582, (short)112, (short)44, (short)135, (short)417, (short)116, (short)137, (short)138, (short)139, (short)140, (short)135, (short)424, (short)141, (short)142, (short)111, (short)74, (short)75, (short)116, (short)115, (short)560, (short)560, (short)283, (short)284, (short)117, (short)501, (short)565, (short)116, (short)113, (short)595, (short)596, (short)597, (short)113, (short)74, (short)75, (short)117, (short)136, (short)618, (short)619, (short)136, (short)113, (short)594, (short)595, (short)596, (short)597, (short)563, (short)599, (short)117, (short)113, (short)312, (short)113, (short)135, (short)135, (short)606, (short)113, (short)113, (short)622, (short)153, (short)132, (short)113, (short)613, (short)157, (short)117, (short)159, (short)117, (short)3, (short)329, (short)330, (short)117, (short)622, (short)333, (short)565, (short)117, (short)613, (short)18, (short)19, (short)20, (short)21, (short)22, (short)23, (short)24, (short)25, (short)26, (short)27, (short)112, (short)181, (short)112, (short)183, (short)112, (short)501, (short)28, (short)112, (short)134, (short)112, (short)134, (short)648, (short)115, (short)116, (short)136, (short)652, (short)134, (short)112, (short)655, (short)656, (short)115, (short)116, (short)113, (short)112, (short)135, (short)113, (short)663, (short)663, (short)135, (short)135, (short)117, (short)117, (short)117, (short)132, (short)134, (short)685, (short)659, (short)3, (short)688, (short)15, (short)56, (short)133, (short)113, (short)133, (short)681, (short)682, (short)112, (short)684, (short)685, (short)132, (short)687, (short)688, (short)74, (short)233, (short)691, (short)691, (short)679, (short)79, (short)135, (short)661, (short)136, (short)135, (short)28, (short)135, (short)1, (short)134, (short)3, (short)4, (short)5, (short)64, (short)134, (short)136, (short)48, (short)136, (short)136, (short)712, (short)136, (short)136, (short)44, (short)136, (short)136, (short)659, (short)136, (short)156, (short)14, (short)143, (short)147, (short)96, (short)110, (short)111, (short)145, (short)28, (short)729, (short)144, (short)146, (short)732, (short)733, (short)733, (short)661, (short)433, (short)563, (short)679, (short)441, (short)283, (short)284, (short)133, (short)82, (short)287, (short)74, (short)75, (short)401, (short)386, (short)459, (short)241, (short)461, (short)462, (short)463, (short)464, (short)504, (short)95, (short)241, (short)97, (short)371, (short)303, (short)304, (short)241, (short)102, (short)(-1), (short)44, (short)45, (short)310, (short)311, (short)312, (short)(-1), (short)71, (short)72, (short)(-1), (short)(-1), (short)(-1), (short)319, (short)(-1), (short)321, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)113, (short)(-1), (short)329, (short)330, (short)(-1), (short)118, (short)333, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)519, (short)(-1), (short)521, (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)365, (short)(-1), (short)(-1), (short)(-1), (short)369, (short)82, (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)(-1), (short)89, (short)(-1), (short)(-1), (short)236, (short)(-1), (short)(-1), (short)95, (short)120, (short)(-1), (short)386, (short)(-1), (short)(-1), (short)(-1), (short)102, (short)391, (short)392, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)398, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)410, (short)411, (short)(-1), (short)(-1), (short)581, (short)582, (short)416, (short)417, (short)(-1), (short)419, (short)(-1), (short)421, (short)(-1), (short)423, (short)(-1), (short)(-1), (short)426, (short)(-1), (short)(-1), (short)(-1), (short)430, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)436, (short)233, (short)438, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)9, (short)(-1), (short)(-1), (short)12, (short)(-1), (short)449, (short)15, (short)618, (short)619, (short)(-1), (short)(-1), (short)167, (short)(-1), (short)(-1), (short)(-1), (short)459, (short)(-1), (short)461, (short)462, (short)463, (short)464, (short)(-1), (short)(-1), (short)(-1), (short)324, (short)325, (short)326, (short)327, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)48, (short)(-1), (short)(-1), (short)(-1), (short)199, (short)(-1), (short)(-1), (short)490, (short)287, (short)492, (short)(-1), (short)(-1), (short)(-1), (short)496, (short)(-1), (short)210, (short)(-1), (short)(-1), (short)501, (short)(-1), (short)215, (short)504, (short)505, (short)302, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)310, (short)(-1), (short)(-1), (short)82, (short)(-1), (short)519, (short)(-1), (short)521, (short)(-1), (short)(-1), (short)(-1), (short)525, (short)526, (short)(-1), (short)(-1), (short)(-1), (short)95, (short)(-1), (short)97, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)(-1), (short)(-1), (short)(-1), (short)549, (short)(-1), (short)551, (short)(-1), (short)(-1), (short)554, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)562, (short)563, (short)(-1), (short)(-1), (short)(-1), (short)567, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)287, (short)576, (short)15, (short)(-1), (short)(-1), (short)(-1), (short)581, (short)582, (short)(-1), (short)149, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)304, (short)(-1), (short)594, (short)(-1), (short)(-1), (short)162, (short)310, (short)(-1), (short)(-1), (short)(-1), (short)167, (short)(-1), (short)(-1), (short)(-1), (short)606, (short)(-1), (short)(-1), (short)321, (short)48, (short)(-1), (short)(-1), (short)613, (short)(-1), (short)411, (short)181, (short)(-1), (short)618, (short)619, (short)(-1), (short)417, (short)(-1), (short)419, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)424, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)82, (short)(-1), (short)(-1), (short)(-1), (short)648, (short)(-1), (short)215, (short)216, (short)652, (short)365, (short)(-1), (short)655, (short)94, (short)95, (short)96, (short)97, (short)(-1), (short)661, (short)(-1), (short)228, (short)102, (short)(-1), (short)(-1), (short)(-1), (short)233, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)241, (short)(-1), (short)(-1), (short)391, (short)(-1), (short)681, (short)682, (short)(-1), (short)684, (short)(-1), (short)398, (short)687, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)411, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)416, (short)501, (short)(-1), (short)419, (short)(-1), (short)(-1), (short)(-1), (short)423, (short)712, (short)(-1), (short)426, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)287, (short)(-1), (short)436, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)729, (short)(-1), (short)169, (short)732, (short)(-1), (short)299, (short)(-1), (short)(-1), (short)302, (short)303, (short)(-1), (short)305, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)310, (short)(-1), (short)312, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)319, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)199, (short)(-1), (short)(-1), (short)329, (short)330, (short)(-1), (short)(-1), (short)333, (short)334, (short)626, (short)627, (short)210, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)287, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)501, (short)(-1), (short)(-1), (short)357, (short)358, (short)(-1), (short)233, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)304, (short)(-1), (short)(-1), (short)369, (short)(-1), (short)(-1), (short)310, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)525, (short)(-1), (short)671, (short)672, (short)(-1), (short)674, (short)675, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)391, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)401, (short)(-1), (short)(-1), (short)695, (short)(-1), (short)697, (short)554, (short)(-1), (short)(-1), (short)(-1), (short)411, (short)703, (short)704, (short)287, (short)562, (short)563, (short)417, (short)(-1), (short)419, (short)(-1), (short)294, (short)287, (short)(-1), (short)424, (short)(-1), (short)(-1), (short)365, (short)719, (short)302, (short)721, (short)(-1), (short)723, (short)(-1), (short)725, (short)(-1), (short)(-1), (short)310, (short)(-1), (short)304, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)444, (short)310, (short)311, (short)(-1), (short)(-1), (short)(-1), (short)741, (short)(-1), (short)743, (short)391, (short)392, (short)(-1), (short)321, (short)(-1), (short)(-1), (short)459, (short)398, (short)461, (short)462, (short)463, (short)464, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)419, (short)(-1), (short)421, (short)(-1), (short)423, (short)(-1), (short)(-1), (short)426, (short)(-1), (short)(-1), (short)(-1), (short)430, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)436, (short)(-1), (short)365, (short)501, (short)(-1), (short)(-1), (short)504, (short)505, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)661, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)519, (short)(-1), (short)521, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)391, (short)392, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)398, (short)3, (short)4, (short)5, (short)6, (short)411, (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)417, (short)(-1), (short)419, (short)420, (short)(-1), (short)(-1), (short)(-1), (short)424, (short)(-1), (short)(-1), (short)419, (short)(-1), (short)421, (short)(-1), (short)423, (short)28, (short)560, (short)426, (short)(-1), (short)501, (short)(-1), (short)430, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)436, (short)(-1), (short)438, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)581, (short)582, (short)(-1), (short)449, (short)(-1), (short)(-1), (short)525, (short)526, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)613, (short)(-1), (short)(-1), (short)554, (short)(-1), (short)618, (short)619, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)562, (short)563, (short)(-1), (short)(-1), (short)501, (short)567, (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)501, (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)525, (short)526, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)554, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)562, (short)563, (short)(-1), (short)(-1), (short)1, (short)567, (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)661, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)52, (short)53, (short)54, (short)55, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)77, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)661, (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)134, (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)52, (short)53, (short)54, (short)55, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)77, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)134, (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)52, (short)53, (short)54, (short)55, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)77, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)134, (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)134, (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)134, (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)134, (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)134, (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)135, (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)120, (short)(-1), (short)1, (short)123, (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)136, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)52, (short)53, (short)54, (short)55, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)77, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)28, (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)135, (short)(-1), (short)52, (short)53, (short)54, (short)55, (short)56, (short)57, (short)58, (short)59, (short)60, (short)61, (short)62, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)135, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)113, (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)135, (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)28, (short)112, (short)113, (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)135, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)135, (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)1, (short)114, (short)3, (short)4, (short)5, (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)135, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)68, (short)(-1), (short)(-1), (short)71, (short)72, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)78, (short)79, (short)(-1), (short)28, (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)114, (short)28, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)123, (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)113, (short)114, (short)(-1), (short)28, (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)113, (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)3, (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)66, (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)28, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)3, (short)(-1), (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)135, (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)113, (short)114, (short)(-1), (short)(-1), (short)66, (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)3, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)120, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)132, (short)(-1), (short)134, (short)(-1), (short)(-1), (short)(-1), (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)120, (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)134, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)110, (short)111, (short)112, (short)113, (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)113, (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)113, (short)114, (short)28, (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)71, (short)72, (short)73, (short)74, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)109, (short)110, (short)111, (short)112, (short)113, (short)114, (short)28, (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)117, (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)71, (short)72, (short)73, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)117, (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)28, (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)117, (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)109, (short)(-1), (short)(-1), (short)112, (short)113, (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)113, (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)71, (short)72, (short)73, (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)(-1), (short)(-1), (short)1, (short)(-1), (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)1, (short)28, (short)3, (short)4, (short)5, (short)6, (short)(-1), (short)8, (short)9, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)28, (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)71, (short)72, (short)73, (short)(-1), (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)(-1), (short)3, (short)(-1), (short)102, (short)103, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)109, (short)(-1), (short)(-1), (short)112, (short)(-1), (short)114, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)119, (short)120, (short)121, (short)122, (short)123, (short)124, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)3, (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)113, (short)(-1), (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)3, (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)(-1), (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)3, (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)113, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)113, (short)(-1), (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)(-1), (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)(-1), (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)113, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)(-1), (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)74, (short)75, (short)28, (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)66, (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)(-1), (short)74, (short)75, (short)(-1), (short)(-1), (short)(-1), (short)79, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)110, (short)111, (short)112, (short)(-1), (short)(-1), (short)(-1), (short)116, (short)(-1), (short)(-1), (short)(-1), (short)120, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)113, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)113, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)112, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)51, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)85, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100, (short)28, (short)29, (short)30, (short)31, (short)32, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)43, (short)44, (short)45, (short)46, (short)47, (short)48, (short)49, (short)50, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)66, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)75, (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)(-1), (short)100
998 };
999
1000 static const yytype_uint8 yystos[] = 
1001 {
1002 (unsigned char)0, (unsigned char)1, (unsigned char)3, (unsigned char)4, (unsigned char)5, (unsigned char)6, (unsigned char)8, (unsigned char)9, (unsigned char)28, (unsigned char)71, (unsigned char)72, (unsigned char)73, (unsigned char)102, (unsigned char)103, (unsigned char)109, (unsigned char)112, (unsigned char)114, (unsigned char)119, (unsigned char)120, (unsigned char)121, (unsigned char)122, (unsigned char)123, (unsigned char)124, (unsigned char)138, (unsigned char)139, (unsigned char)140, (unsigned char)142, (unsigned char)145, (unsigned char)146, (unsigned char)148, (unsigned char)149, (unsigned char)150, (unsigned char)151, (unsigned char)152, (unsigned char)153, (unsigned char)154, (unsigned char)155, (unsigned char)156, (unsigned char)157, (unsigned char)158, (unsigned char)159, (unsigned char)160, (unsigned char)161, (unsigned char)180, (unsigned char)181, (unsigned char)229, (unsigned char)231, (unsigned char)245, (unsigned char)112, (unsigned char)140, (unsigned char)143, (unsigned char)145, (unsigned char)147, (unsigned char)112, (unsigned char)146, (unsigned char)146, (unsigned char)29, (unsigned char)30, (unsigned char)31, (unsigned char)32, (unsigned char)33, (unsigned char)34, (unsigned char)35, (unsigned char)36, (unsigned char)37, (unsigned char)38, (unsigned char)39, (unsigned char)40, (unsigned char)41, (unsigned char)42, (unsigned char)43, (unsigned char)44, (unsigned char)45, (unsigned char)46, (unsigned char)47, (unsigned char)48, (unsigned char)49, (unsigned char)50, (unsigned char)66, (unsigned char)75, (unsigned char)85, (unsigned char)100, (unsigned char)167, (unsigned char)172, (unsigned char)179, (unsigned char)180, (unsigned char)182, (unsigned char)184, (unsigned char)185, (unsigned char)186, (unsigned char)194, (unsigned char)195, (unsigned char)146, (unsigned char)160, (unsigned char)164, (unsigned char)167, (unsigned char)164, (unsigned char)112, (unsigned char)147, (unsigned char)113, (unsigned char)161, (unsigned char)163, (unsigned char)166, (unsigned char)179, (unsigned char)180, (unsigned char)182, (unsigned char)184, (unsigned char)195, (unsigned char)214, (unsigned char)229, (unsigned char)135, (unsigned char)7, (unsigned char)8, (unsigned char)9, (unsigned char)112, (unsigned char)115, (unsigned char)116, (unsigned char)18, (unsigned char)19, (unsigned char)20, (unsigned char)21, (unsigned char)22, (unsigned char)23, (unsigned char)24, (unsigned char)25, (unsigned char)26, (unsigned char)27, (unsigned char)133, (unsigned char)162, (unsigned char)149, (unsigned char)120, (unsigned char)125, (unsigned char)126, (unsigned char)121, (unsigned char)122, (unsigned char)10, (unsigned char)11, (unsigned char)12, (unsigned char)13, (unsigned char)127, (unsigned char)128, (unsigned char)14, (unsigned char)15, (unsigned char)119, (unsigned char)129, (unsigned char)130, (unsigned char)16, (unsigned char)17, (unsigned char)131, (unsigned char)135, (unsigned char)0, (unsigned char)146, (unsigned char)214, (unsigned char)7, (unsigned char)8, (unsigned char)9, (unsigned char)112, (unsigned char)115, (unsigned char)116, (unsigned char)135, (unsigned char)138, (unsigned char)181, (unsigned char)112, (unsigned char)74, (unsigned char)79, (unsigned char)110, (unsigned char)111, (unsigned char)112, (unsigned char)116, (unsigned char)120, (unsigned char)172, (unsigned char)173, (unsigned char)174, (unsigned char)178, (unsigned char)179, (unsigned char)182, (unsigned char)184, (unsigned char)195, (unsigned char)199, (unsigned char)201, (unsigned char)209, (unsigned char)135, (unsigned char)138, (unsigned char)173, (unsigned char)181, (unsigned char)34, (unsigned char)35, (unsigned char)36, (unsigned char)37, (unsigned char)38, (unsigned char)39, (unsigned char)40, (unsigned char)41, (unsigned char)42, (unsigned char)43, (unsigned char)46, (unsigned char)47, (unsigned char)66, (unsigned char)100, (unsigned char)169, (unsigned char)172, (unsigned char)179, (unsigned char)181, (unsigned char)183, (unsigned char)184, (unsigned char)185, (unsigned char)194, (unsigned char)195, (unsigned char)116, (unsigned char)201, (unsigned char)169, (unsigned char)146, (unsigned char)214, (unsigned char)113, (unsigned char)118, (unsigned char)112, (unsigned char)116, (unsigned char)173, (unsigned char)179, (unsigned char)182, (unsigned char)184, (unsigned char)195, (unsigned char)198, (unsigned char)200, (unsigned char)209, (unsigned char)113, (unsigned char)115, (unsigned char)134, (unsigned char)135, (unsigned char)136, (unsigned char)141, (unsigned char)142, (unsigned char)160, (unsigned char)167, (unsigned char)216, (unsigned char)232, (unsigned char)238, (unsigned char)239, (unsigned char)240, (unsigned char)241, (unsigned char)242, (unsigned char)243, (unsigned char)244, (unsigned char)138, (unsigned char)113, (unsigned char)141, (unsigned char)144, (unsigned char)161, (unsigned char)138, (unsigned char)163, (unsigned char)141, (unsigned char)161, (unsigned char)149, (unsigned char)149, (unsigned char)149, (unsigned char)150, (unsigned char)150, (unsigned char)151, (unsigned char)151, (unsigned char)152, (unsigned char)152, (unsigned char)152, (unsigned char)152, (unsigned char)153, (unsigned char)153, (unsigned char)154, (unsigned char)155, (unsigned char)156, (unsigned char)157, (unsigned char)158, (unsigned char)163, (unsigned char)136, (unsigned char)244, (unsigned char)113, (unsigned char)113, (unsigned char)138, (unsigned char)113, (unsigned char)144, (unsigned char)138, (unsigned char)163, (unsigned char)138, (unsigned char)196, (unsigned char)197, (unsigned char)135, (unsigned char)135, (unsigned char)180, (unsigned char)113, (unsigned char)167, (unsigned char)201, (unsigned char)210, (unsigned char)211, (unsigned char)212, (unsigned char)164, (unsigned char)179, (unsigned char)208, (unsigned char)209, (unsigned char)199, (unsigned char)209, (unsigned char)112, (unsigned char)112, (unsigned char)116, (unsigned char)199, (unsigned char)68, (unsigned char)78, (unsigned char)112, (unsigned char)123, (unsigned char)134, (unsigned char)136, (unsigned char)138, (unsigned char)142, (unsigned char)167, (unsigned char)173, (unsigned char)187, (unsigned char)188, (unsigned char)189, (unsigned char)190, (unsigned char)191, (unsigned char)203, (unsigned char)204, (unsigned char)206, (unsigned char)207, (unsigned char)209, (unsigned char)230, (unsigned char)231, (unsigned char)233, (unsigned char)234, (unsigned char)235, (unsigned char)236, (unsigned char)237, (unsigned char)135, (unsigned char)135, (unsigned char)138, (unsigned char)181, (unsigned char)135, (unsigned char)112, (unsigned char)116, (unsigned char)172, (unsigned char)179, (unsigned char)183, (unsigned char)184, (unsigned char)195, (unsigned char)201, (unsigned char)164, (unsigned char)116, (unsigned char)116, (unsigned char)201, (unsigned char)113, (unsigned char)113, (unsigned char)161, (unsigned char)113, (unsigned char)200, (unsigned char)210, (unsigned char)117, (unsigned char)164, (unsigned char)180, (unsigned char)198, (unsigned char)209, (unsigned char)112, (unsigned char)116, (unsigned char)198, (unsigned char)149, (unsigned char)229, (unsigned char)136, (unsigned char)244, (unsigned char)133, (unsigned char)112, (unsigned char)138, (unsigned char)204, (unsigned char)135, (unsigned char)223, (unsigned char)224, (unsigned char)118, (unsigned char)134, (unsigned char)134, (unsigned char)239, (unsigned char)241, (unsigned char)242, (unsigned char)136, (unsigned char)113, (unsigned char)118, (unsigned char)117, (unsigned char)132, (unsigned char)136, (unsigned char)113, (unsigned char)117, (unsigned char)133, (unsigned char)118, (unsigned char)136, (unsigned char)196, (unsigned char)196, (unsigned char)113, (unsigned char)112, (unsigned char)173, (unsigned char)200, (unsigned char)202, (unsigned char)203, (unsigned char)205, (unsigned char)207, (unsigned char)209, (unsigned char)113, (unsigned char)113, (unsigned char)118, (unsigned char)117, (unsigned char)179, (unsigned char)209, (unsigned char)199, (unsigned char)112, (unsigned char)113, (unsigned char)210, (unsigned char)164, (unsigned char)50, (unsigned char)168, (unsigned char)172, (unsigned char)179, (unsigned char)180, (unsigned char)182, (unsigned char)186, (unsigned char)167, (unsigned char)204, (unsigned char)112, (unsigned char)120, (unsigned char)173, (unsigned char)202, (unsigned char)209, (unsigned char)167, (unsigned char)133, (unsigned char)112, (unsigned char)132, (unsigned char)134, (unsigned char)138, (unsigned char)173, (unsigned char)192, (unsigned char)193, (unsigned char)202, (unsigned char)204, (unsigned char)207, (unsigned char)209, (unsigned char)207, (unsigned char)209, (unsigned char)136, (unsigned char)191, (unsigned char)118, (unsigned char)134, (unsigned char)112, (unsigned char)116, (unsigned char)113, (unsigned char)138, (unsigned char)210, (unsigned char)213, (unsigned char)173, (unsigned char)207, (unsigned char)134, (unsigned char)134, (unsigned char)224, (unsigned char)224, (unsigned char)224, (unsigned char)134, (unsigned char)224, (unsigned char)136, (unsigned char)187, (unsigned char)136, (unsigned char)187, (unsigned char)135, (unsigned char)135, (unsigned char)187, (unsigned char)180, (unsigned char)164, (unsigned char)116, (unsigned char)117, (unsigned char)164, (unsigned char)164, (unsigned char)116, (unsigned char)113, (unsigned char)113, (unsigned char)117, (unsigned char)117, (unsigned char)198, (unsigned char)113, (unsigned char)210, (unsigned char)117, (unsigned char)164, (unsigned char)180, (unsigned char)136, (unsigned char)216, (unsigned char)136, (unsigned char)52, (unsigned char)53, (unsigned char)54, (unsigned char)55, (unsigned char)56, (unsigned char)57, (unsigned char)58, (unsigned char)59, (unsigned char)60, (unsigned char)61, (unsigned char)62, (unsigned char)77, (unsigned char)134, (unsigned char)138, (unsigned char)163, (unsigned char)165, (unsigned char)167, (unsigned char)218, (unsigned char)219, (unsigned char)220, (unsigned char)221, (unsigned char)222, (unsigned char)224, (unsigned char)225, (unsigned char)226, (unsigned char)227, (unsigned char)228, (unsigned char)230, (unsigned char)240, (unsigned char)141, (unsigned char)161, (unsigned char)160, (unsigned char)164, (unsigned char)197, (unsigned char)134, (unsigned char)136, (unsigned char)134, (unsigned char)136, (unsigned char)203, (unsigned char)207, (unsigned char)209, (unsigned char)173, (unsigned char)205, (unsigned char)51, (unsigned char)212, (unsigned char)3, (unsigned char)28, (unsigned char)44, (unsigned char)74, (unsigned char)75, (unsigned char)113, (unsigned char)175, (unsigned char)176, (unsigned char)177, (unsigned char)113, (unsigned char)117, (unsigned char)138, (unsigned char)181, (unsigned char)135, (unsigned char)138, (unsigned char)172, (unsigned char)179, (unsigned char)180, (unsigned char)182, (unsigned char)200, (unsigned char)138, (unsigned char)173, (unsigned char)181, (unsigned char)204, (unsigned char)209, (unsigned char)113, (unsigned char)112, (unsigned char)216, (unsigned char)113, (unsigned char)164, (unsigned char)135, (unsigned char)207, (unsigned char)209, (unsigned char)118, (unsigned char)134, (unsigned char)132, (unsigned char)178, (unsigned char)173, (unsigned char)207, (unsigned char)207, (unsigned char)188, (unsigned char)117, (unsigned char)164, (unsigned char)180, (unsigned char)113, (unsigned char)113, (unsigned char)118, (unsigned char)207, (unsigned char)136, (unsigned char)136, (unsigned char)136, (unsigned char)187, (unsigned char)187, (unsigned char)136, (unsigned char)113, (unsigned char)117, (unsigned char)164, (unsigned char)117, (unsigned char)117, (unsigned char)164, (unsigned char)113, (unsigned char)117, (unsigned char)117, (unsigned char)164, (unsigned char)132, (unsigned char)112, (unsigned char)112, (unsigned char)112, (unsigned char)218, (unsigned char)112, (unsigned char)138, (unsigned char)134, (unsigned char)134, (unsigned char)134, (unsigned char)163, (unsigned char)138, (unsigned char)132, (unsigned char)134, (unsigned char)134, (unsigned char)170, (unsigned char)171, (unsigned char)202, (unsigned char)165, (unsigned char)221, (unsigned char)165, (unsigned char)218, (unsigned char)136, (unsigned char)134, (unsigned char)187, (unsigned char)187, (unsigned char)205, (unsigned char)113, (unsigned char)112, (unsigned char)113, (unsigned char)118, (unsigned char)176, (unsigned char)69, (unsigned char)70, (unsigned char)136, (unsigned char)135, (unsigned char)135, (unsigned char)138, (unsigned char)138, (unsigned char)181, (unsigned char)113, (unsigned char)136, (unsigned char)244, (unsigned char)207, (unsigned char)193, (unsigned char)164, (unsigned char)207, (unsigned char)117, (unsigned char)117, (unsigned char)138, (unsigned char)136, (unsigned char)136, (unsigned char)117, (unsigned char)117, (unsigned char)132, (unsigned char)218, (unsigned char)163, (unsigned char)163, (unsigned char)113, (unsigned char)163, (unsigned char)56, (unsigned char)113, (unsigned char)225, (unsigned char)134, (unsigned char)134, (unsigned char)133, (unsigned char)218, (unsigned char)118, (unsigned char)134, (unsigned char)133, (unsigned char)136, (unsigned char)136, (unsigned char)163, (unsigned char)113, (unsigned char)176, (unsigned char)224, (unsigned char)224, (unsigned char)69, (unsigned char)70, (unsigned char)136, (unsigned char)69, (unsigned char)70, (unsigned char)136, (unsigned char)135, (unsigned char)136, (unsigned char)132, (unsigned char)218, (unsigned char)113, (unsigned char)113, (unsigned char)218, (unsigned char)113, (unsigned char)112, (unsigned char)218, (unsigned char)113, (unsigned char)225, (unsigned char)164, (unsigned char)171, (unsigned char)135, (unsigned char)161, (unsigned char)215, (unsigned char)113, (unsigned char)70, (unsigned char)136, (unsigned char)69, (unsigned char)136, (unsigned char)224, (unsigned char)224, (unsigned char)224, (unsigned char)224, (unsigned char)69, (unsigned char)70, (unsigned char)136, (unsigned char)164, (unsigned char)218, (unsigned char)218, (unsigned char)218, (unsigned char)163, (unsigned char)218, (unsigned char)113, (unsigned char)163, (unsigned char)134, (unsigned char)215, (unsigned char)217, (unsigned char)224, (unsigned char)224, (unsigned char)70, (unsigned char)136, (unsigned char)69, (unsigned char)136, (unsigned char)70, (unsigned char)136, (unsigned char)69, (unsigned char)136, (unsigned char)224, (unsigned char)224, (unsigned char)64, (unsigned char)113, (unsigned char)218, (unsigned char)113, (unsigned char)118, (unsigned char)136, (unsigned char)136, (unsigned char)136, (unsigned char)224, (unsigned char)224, (unsigned char)224, (unsigned char)224, (unsigned char)70, (unsigned char)136, (unsigned char)69, (unsigned char)136, (unsigned char)218, (unsigned char)134, (unsigned char)218, (unsigned char)136, (unsigned char)215, (unsigned char)136, (unsigned char)136, (unsigned char)136, (unsigned char)136, (unsigned char)224, (unsigned char)224, (unsigned char)136, (unsigned char)136
1003 };
1004
1005 typedef unsigned int size_t;
1006
1007 void exit(int status);
1008
1009 void * calloc(size_t nmemb, size_t size);
1010
1011 void free(void * ptr);
1012
1013 void * malloc(size_t size);
1014
1015 void * realloc(void * ptr, size_t size);
1016
1017 long int strtol(const char * nptr, char ** endptr, int base);
1018
1019 long long int strtoll(const char * nptr, char ** endptr, int base);
1020
1021 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
1022
1023 typedef __builtin_va_list __gnuc_va_list;
1024
1025 typedef __gnuc_va_list va_list;
1026
1027 typedef void FILE;
1028
1029 FILE * bsl_stdin(void);
1030
1031 FILE * bsl_stdout(void);
1032
1033 FILE * bsl_stderr(void);
1034
1035 char * fgets(char * s, int size, FILE * stream);
1036
1037 FILE * fopen(const char * path, const char * mode);
1038
1039 int fclose(FILE * fp);
1040
1041 int fflush(FILE * stream);
1042
1043 int fgetc(FILE * stream);
1044
1045 int fprintf(FILE * stream, const char * format, ...);
1046
1047 int fputc(int c, FILE * stream);
1048
1049 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
1050
1051 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
1052
1053 int vsnprintf(char *, size_t, const char *, ...);
1054
1055 int snprintf(char * str, size_t, const char * format, ...);
1056
1057 int fseek(FILE * stream, long offset, int whence);
1058
1059 long ftell(FILE * stream);
1060
1061 int feof(FILE * stream);
1062
1063 int ferror(FILE * stream);
1064
1065 int fileno(FILE * stream);
1066
1067 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1068 {
1069 if(!yyvaluep)
1070 return ;
1071 ((void)(yylocationp));
1072 ((void)(yyoutput));
1073 switch(yytype)
1074 {
1075 default:
1076 break;
1077 }
1078 }
1079
1080 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1081 {
1082 if(yytype < 137)
1083 fprintf(yyoutput, "token %s (", yytname[yytype]);
1084 else
1085 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1086 ((void)0);
1087 fprintf(yyoutput, ": ");
1088 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1089 fprintf(yyoutput, ")");
1090 }
1091
1092 static void yy_stack_print(yytype_int16 * yybottom, yytype_int16 * yytop)
1093 {
1094 fprintf((bsl_stderr()), "Stack now");
1095 for(; yybottom <= yytop; yybottom++)
1096 {
1097 int yybot = *yybottom;
1098
1099 fprintf((bsl_stderr()), " %d", yybot);
1100 }
1101 fprintf((bsl_stderr()), "\n");
1102 }
1103
1104 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1105 {
1106 int yynrhs = yyr2[yyrule];
1107 int yyi;
1108 unsigned long int yylno = yyrline[yyrule];
1109
1110 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1111 for(yyi = 0; yyi < yynrhs; yyi++)
1112 {
1113 fprintf((bsl_stderr()), "   $%d = ", yyi + 1);
1114 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1115 fprintf((bsl_stderr()), "\n");
1116 }
1117 }
1118
1119 int expression_yydebug;
1120
1121 extern void FreeIdentifier(struct Identifier * id);
1122
1123 extern void FreeExpression(struct Expression * exp);
1124
1125 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (* )(void * ));
1126
1127 extern void FreeDeclaration(struct Declaration * decl);
1128
1129 extern void FreeSpecifier(struct Specifier * spec);
1130
1131 extern void FreeInitDeclarator(struct InitDeclarator * decl);
1132
1133 extern void FreeExtDecl(struct ExtDecl * extDecl);
1134
1135 extern void FreeAttribute(struct Attribute * attr);
1136
1137 extern void FreeAttrib(struct Attrib * attr);
1138
1139 extern void FreeClassDef(struct ClassDef * def);
1140
1141 extern void FreeMemberInit(struct MemberInit * init);
1142
1143 extern void FreeProperty(struct PropertyDef * def);
1144
1145 extern void FreeDeclarator(struct Declarator * decl);
1146
1147 extern void FreeEnumerator(struct Enumerator * enumerator);
1148
1149 extern void FreePointer(struct Pointer * pointer);
1150
1151 extern void FreeTypeName(struct TypeName * typeName);
1152
1153 extern void FreeInitializer(struct Initializer * initializer);
1154
1155 extern void FreeStatement(struct Statement * stmt);
1156
1157 extern void PopContext(struct Context * ctx);
1158
1159 extern void FreeContext(struct Context * context);
1160
1161 extern void FreeInstance(struct Instantiation * inst);
1162
1163 extern void FreeClassFunction(struct ClassFunction * func);
1164
1165 extern void FreeMembersInit(struct MembersInit * init);
1166
1167 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
1168 {
1169 ((void)(yyvaluep));
1170 ((void)(yylocationp));
1171 if(!yymsg)
1172 yymsg = "Deleting";
1173 do
1174 {
1175 if(expression_yydebug)
1176 {
1177 fprintf((bsl_stderr()), "%s ", yymsg);
1178 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
1179 fprintf((bsl_stderr()), "\n");
1180 }
1181 }while((0));
1182 switch(yytype)
1183 {
1184 case 138:
1185 {
1186 FreeIdentifier((*yyvaluep).id);
1187 }
1188 ;
1189 break;
1190 case 139:
1191 {
1192 FreeExpression((*yyvaluep).exp);
1193 }
1194 ;
1195 break;
1196 case 142:
1197 {
1198 FreeExpression((*yyvaluep).exp);
1199 }
1200 ;
1201 break;
1202 case 144:
1203 {
1204 FreeList((*yyvaluep).list, FreeExpression);
1205 }
1206 ;
1207 break;
1208 case 146:
1209 {
1210 FreeExpression((*yyvaluep).exp);
1211 }
1212 ;
1213 break;
1214 case 149:
1215 {
1216 FreeExpression((*yyvaluep).exp);
1217 }
1218 ;
1219 break;
1220 case 150:
1221 {
1222 FreeExpression((*yyvaluep).exp);
1223 }
1224 ;
1225 break;
1226 case 151:
1227 {
1228 FreeExpression((*yyvaluep).exp);
1229 }
1230 ;
1231 break;
1232 case 152:
1233 {
1234 FreeExpression((*yyvaluep).exp);
1235 }
1236 ;
1237 break;
1238 case 153:
1239 {
1240 FreeExpression((*yyvaluep).exp);
1241 }
1242 ;
1243 break;
1244 case 154:
1245 {
1246 FreeExpression((*yyvaluep).exp);
1247 }
1248 ;
1249 break;
1250 case 155:
1251 {
1252 FreeExpression((*yyvaluep).exp);
1253 }
1254 ;
1255 break;
1256 case 156:
1257 {
1258 FreeExpression((*yyvaluep).exp);
1259 }
1260 ;
1261 break;
1262 case 157:
1263 {
1264 FreeExpression((*yyvaluep).exp);
1265 }
1266 ;
1267 break;
1268 case 158:
1269 {
1270 FreeExpression((*yyvaluep).exp);
1271 }
1272 ;
1273 break;
1274 case 159:
1275 {
1276 FreeExpression((*yyvaluep).exp);
1277 }
1278 ;
1279 break;
1280 case 160:
1281 {
1282 FreeExpression((*yyvaluep).exp);
1283 }
1284 ;
1285 break;
1286 case 161:
1287 {
1288 FreeExpression((*yyvaluep).exp);
1289 }
1290 ;
1291 break;
1292 case 163:
1293 {
1294 FreeList((*yyvaluep).list, FreeExpression);
1295 }
1296 ;
1297 break;
1298 case 164:
1299 {
1300 FreeExpression((*yyvaluep).exp);
1301 }
1302 ;
1303 break;
1304 case 165:
1305 {
1306 FreeDeclaration((*yyvaluep).declaration);
1307 }
1308 ;
1309 break;
1310 case 166:
1311 {
1312 FreeList((*yyvaluep).list, FreeSpecifier);
1313 }
1314 ;
1315 break;
1316 case 167:
1317 {
1318 FreeList((*yyvaluep).list, FreeSpecifier);
1319 }
1320 ;
1321 break;
1322 case 170:
1323 {
1324 FreeList((*yyvaluep).list, FreeInitDeclarator);
1325 }
1326 ;
1327 break;
1328 case 171:
1329 {
1330 FreeInitDeclarator((*yyvaluep).initDeclarator);
1331 }
1332 ;
1333 break;
1334 case 172:
1335 {
1336 FreeSpecifier((*yyvaluep).specifier);
1337 }
1338 ;
1339 break;
1340 case 173:
1341 {
1342 FreeExtDecl((*yyvaluep).extDecl);
1343 }
1344 ;
1345 break;
1346 case 175:
1347 {
1348 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1349 }
1350 ;
1351 break;
1352 case 176:
1353 {
1354 FreeAttribute((*yyvaluep).attribute);
1355 }
1356 ;
1357 break;
1358 case 177:
1359 {
1360 FreeList((*yyvaluep).list, FreeAttribute);
1361 }
1362 ;
1363 break;
1364 case 178:
1365 {
1366 FreeAttrib((*yyvaluep).attrib);
1367 }
1368 ;
1369 break;
1370 case 179:
1371 {
1372 FreeSpecifier((*yyvaluep).specifier);
1373 }
1374 ;
1375 break;
1376 case 180:
1377 {
1378 FreeSpecifier((*yyvaluep).specifier);
1379 }
1380 ;
1381 break;
1382 case 181:
1383 {
1384 FreeSpecifier((*yyvaluep).specifier);
1385 }
1386 ;
1387 break;
1388 case 182:
1389 {
1390 FreeSpecifier((*yyvaluep).specifier);
1391 }
1392 ;
1393 break;
1394 case 183:
1395 {
1396 FreeSpecifier((*yyvaluep).specifier);
1397 }
1398 ;
1399 break;
1400 case 184:
1401 {
1402 FreeSpecifier((*yyvaluep).specifier);
1403 }
1404 ;
1405 break;
1406 case 185:
1407 {
1408 FreeSpecifier((*yyvaluep).specifier);
1409 }
1410 ;
1411 break;
1412 case 187:
1413 {
1414 FreeList((*yyvaluep).list, FreeClassDef);
1415 }
1416 ;
1417 break;
1418 case 188:
1419 {
1420 FreeMemberInit((*yyvaluep).memberInit);
1421 }
1422 ;
1423 break;
1424 case 189:
1425 {
1426 FreeList((*yyvaluep).list, FreeMemberInit);
1427 }
1428 ;
1429 break;
1430 case 190:
1431 {
1432 FreeProperty((*yyvaluep).prop);
1433 }
1434 ;
1435 break;
1436 case 191:
1437 {
1438 FreeClassDef((*yyvaluep).classDef);
1439 }
1440 ;
1441 break;
1442 case 192:
1443 {
1444 FreeList((*yyvaluep).list, FreeDeclarator);
1445 }
1446 ;
1447 break;
1448 case 193:
1449 {
1450 FreeDeclarator((*yyvaluep).declarator);
1451 }
1452 ;
1453 break;
1454 case 194:
1455 {
1456 FreeSpecifier((*yyvaluep).specifier);
1457 }
1458 ;
1459 break;
1460 case 195:
1461 {
1462 FreeSpecifier((*yyvaluep).specifier);
1463 }
1464 ;
1465 break;
1466 case 196:
1467 {
1468 FreeList((*yyvaluep).list, FreeEnumerator);
1469 }
1470 ;
1471 break;
1472 case 197:
1473 {
1474 FreeEnumerator((*yyvaluep).enumerator);
1475 }
1476 ;
1477 break;
1478 case 198:
1479 {
1480 FreeDeclarator((*yyvaluep).declarator);
1481 }
1482 ;
1483 break;
1484 case 199:
1485 {
1486 FreeDeclarator((*yyvaluep).declarator);
1487 }
1488 ;
1489 break;
1490 case 200:
1491 {
1492 FreeDeclarator((*yyvaluep).declarator);
1493 }
1494 ;
1495 break;
1496 case 201:
1497 {
1498 FreeDeclarator((*yyvaluep).declarator);
1499 }
1500 ;
1501 break;
1502 case 202:
1503 {
1504 FreeDeclarator((*yyvaluep).declarator);
1505 }
1506 ;
1507 break;
1508 case 203:
1509 {
1510 FreeDeclarator((*yyvaluep).declarator);
1511 }
1512 ;
1513 break;
1514 case 204:
1515 {
1516 FreeDeclarator((*yyvaluep).declarator);
1517 }
1518 ;
1519 break;
1520 case 205:
1521 {
1522 FreeDeclarator((*yyvaluep).declarator);
1523 }
1524 ;
1525 break;
1526 case 206:
1527 {
1528 FreeDeclarator((*yyvaluep).declarator);
1529 }
1530 ;
1531 break;
1532 case 207:
1533 {
1534 FreeDeclarator((*yyvaluep).declarator);
1535 }
1536 ;
1537 break;
1538 case 208:
1539 {
1540 FreeList((*yyvaluep).list, FreeSpecifier);
1541 }
1542 ;
1543 break;
1544 case 209:
1545 {
1546 FreePointer((*yyvaluep).pointer);
1547 }
1548 ;
1549 break;
1550 case 210:
1551 {
1552 FreeList((*yyvaluep).list, FreeTypeName);
1553 }
1554 ;
1555 break;
1556 case 211:
1557 {
1558 FreeList((*yyvaluep).list, FreeTypeName);
1559 }
1560 ;
1561 break;
1562 case 212:
1563 {
1564 FreeTypeName((*yyvaluep).typeName);
1565 }
1566 ;
1567 break;
1568 case 213:
1569 {
1570 FreeList((*yyvaluep).list, FreeTypeName);
1571 }
1572 ;
1573 break;
1574 case 214:
1575 {
1576 FreeTypeName((*yyvaluep).typeName);
1577 }
1578 ;
1579 break;
1580 case 215:
1581 {
1582 FreeInitializer((*yyvaluep).initializer);
1583 }
1584 ;
1585 break;
1586 case 216:
1587 {
1588 FreeInitializer((*yyvaluep).initializer);
1589 }
1590 ;
1591 break;
1592 case 217:
1593 {
1594 FreeList((*yyvaluep).list, FreeInitializer);
1595 }
1596 ;
1597 break;
1598 case 218:
1599 {
1600 FreeStatement((*yyvaluep).stmt);
1601 }
1602 ;
1603 break;
1604 case 219:
1605 {
1606 FreeStatement((*yyvaluep).stmt);
1607 }
1608 ;
1609 break;
1610 case 220:
1611 {
1612 FreeList((*yyvaluep).list, FreeDeclaration);
1613 }
1614 ;
1615 break;
1616 case 221:
1617 {
1618 FreeList((*yyvaluep).list, FreeStatement);
1619 }
1620 ;
1621 break;
1622 case 222:
1623 {
1624 FreeStatement((*yyvaluep).stmt);
1625 }
1626 ;
1627 break;
1628 case 223:
1629 {
1630 PopContext((*yyvaluep).context);
1631 FreeContext((*yyvaluep).context);
1632 (((*yyvaluep).context ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((*yyvaluep).context) : 0, __ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).context)) : 0), (*yyvaluep).context = 0);
1633 }
1634 ;
1635 break;
1636 case 224:
1637 {
1638 FreeStatement((*yyvaluep).stmt);
1639 }
1640 ;
1641 break;
1642 case 225:
1643 {
1644 FreeStatement((*yyvaluep).stmt);
1645 }
1646 ;
1647 break;
1648 case 226:
1649 {
1650 FreeStatement((*yyvaluep).stmt);
1651 }
1652 ;
1653 break;
1654 case 227:
1655 {
1656 FreeStatement((*yyvaluep).stmt);
1657 }
1658 ;
1659 break;
1660 case 228:
1661 {
1662 FreeStatement((*yyvaluep).stmt);
1663 }
1664 ;
1665 break;
1666 case 229:
1667 {
1668 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1669 }
1670 ;
1671 break;
1672 case 230:
1673 {
1674 FreeInstance((*yyvaluep).instance);
1675 }
1676 ;
1677 break;
1678 case 231:
1679 {
1680 FreeInstance((*yyvaluep).instance);
1681 }
1682 ;
1683 break;
1684 case 233:
1685 {
1686 FreeClassFunction((*yyvaluep).classFunction);
1687 }
1688 ;
1689 break;
1690 case 234:
1691 {
1692 FreeClassFunction((*yyvaluep).classFunction);
1693 }
1694 ;
1695 break;
1696 case 235:
1697 {
1698 FreeClassFunction((*yyvaluep).classFunction);
1699 }
1700 ;
1701 break;
1702 case 236:
1703 {
1704 FreeClassFunction((*yyvaluep).classFunction);
1705 }
1706 ;
1707 break;
1708 case 237:
1709 {
1710 FreeClassFunction((*yyvaluep).classFunction);
1711 }
1712 ;
1713 break;
1714 case 238:
1715 {
1716 FreeClassFunction((*yyvaluep).classFunction);
1717 }
1718 ;
1719 break;
1720 case 239:
1721 {
1722 FreeClassFunction((*yyvaluep).classFunction);
1723 }
1724 ;
1725 break;
1726 case 240:
1727 {
1728 FreeMemberInit((*yyvaluep).memberInit);
1729 }
1730 ;
1731 break;
1732 case 241:
1733 {
1734 FreeList((*yyvaluep).list, FreeMemberInit);
1735 }
1736 ;
1737 break;
1738 case 242:
1739 {
1740 FreeList((*yyvaluep).list, FreeMemberInit);
1741 }
1742 ;
1743 break;
1744 case 243:
1745 {
1746 FreeList((*yyvaluep).list, FreeMembersInit);
1747 }
1748 ;
1749 break;
1750 case 244:
1751 {
1752 FreeList((*yyvaluep).list, FreeMembersInit);
1753 }
1754 ;
1755 break;
1756 default:
1757 break;
1758 }
1759 }
1760
1761 int expression_yyparse(void);
1762
1763 int expression_yychar;
1764
1765 YYSTYPE expression_yylval;
1766
1767 struct Location expression_yylloc;
1768
1769 int expression_yynerrs;
1770
1771 extern struct Identifier * MkIdentifier(char *  string);
1772
1773 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
1774
1775 extern struct Expression * MkExpIdentifier(struct Identifier * id);
1776
1777 extern struct Expression * MkExpInstance(struct Instantiation * inst);
1778
1779 extern struct Expression * MkExpConstant(char *  string);
1780
1781 extern struct Expression * MkExpString(char *  string);
1782
1783 extern struct Expression * MkExpIntlString(char *  string, char *  context);
1784
1785 extern struct Expression * MkExpDummy(void);
1786
1787 extern struct __ecereNameSpace__ecere__sys__OldList *  MkListOne(void *  item);
1788
1789 extern struct Expression * MkExpNew(struct TypeName * type, struct Expression * size);
1790
1791 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
1792
1793 extern struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size);
1794
1795 extern struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * type, struct Expression * size);
1796
1797 extern struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * type, struct Expression * size);
1798
1799 extern struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * index);
1800
1801 extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
1802
1803 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
1804
1805 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
1806
1807 extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
1808
1809 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
1810
1811 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *  item);
1812
1813 extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
1814
1815 extern struct Expression * MkExpTypeAlign(struct TypeName * typeName);
1816
1817 extern struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * expression);
1818
1819 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
1820
1821 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
1822
1823 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
1824
1825 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
1826
1827 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
1828
1829 extern struct Specifier * MkSpecifier(int specifier);
1830
1831 extern struct ExtDecl * MkExtDeclString(char * s);
1832
1833 extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
1834
1835 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
1836
1837 extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
1838
1839 extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList *  attribs);
1840
1841 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
1842
1843 extern struct Specifier * MkSpecifierName(char *  name);
1844
1845 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
1846
1847 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1848
1849 extern int declMode;
1850
1851 extern struct Symbol * DeclClass(int symbolID, char *  name);
1852
1853 extern struct Context * globalContext;
1854
1855 extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer);
1856
1857 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
1858
1859 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
1860
1861 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
1862
1863 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
1864
1865 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
1866
1867 extern struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys__OldList * defProperties);
1868
1869 extern struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef);
1870
1871 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
1872
1873 extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
1874
1875 extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
1876
1877 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
1878
1879 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
1880
1881 extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class);
1882
1883 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
1884
1885 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
1886
1887 extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator);
1888
1889 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
1890
1891 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
1892
1893 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
1894
1895 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
1896
1897 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
1898
1899 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
1900
1901 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
1902
1903 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
1904
1905 extern struct Context * PushContext(void);
1906
1907 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
1908
1909 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
1910
1911 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
1912
1913 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
1914
1915 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
1916
1917 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
1918
1919 extern struct Statement * MkGotoStmt(struct Identifier * id);
1920
1921 extern struct Statement * MkContinueStmt(void);
1922
1923 extern struct Statement * MkBreakStmt(void);
1924
1925 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
1926
1927 extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1928
1929 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1930
1931 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
1932
1933 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
1934
1935 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
1936
1937 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
1938
1939 extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function);
1940
1941 int expression_yyparse(void)
1942 {
1943 int yystate;
1944 int yyerrstatus;
1945 yytype_int16 yyssa[200];
1946 yytype_int16 * yyss;
1947 yytype_int16 * yyssp;
1948 YYSTYPE yyvsa[200];
1949 YYSTYPE * yyvs;
1950 YYSTYPE * yyvsp;
1951 struct Location yylsa[200];
1952 struct Location * yyls;
1953 struct Location * yylsp;
1954 struct Location yyerror_range[2];
1955 unsigned int yystacksize;
1956 int yyn;
1957 int yyresult;
1958 int yytoken;
1959 YYSTYPE yyval;
1960 struct Location yyloc;
1961 int yylen = 0;
1962
1963 yytoken = 0;
1964 yyss = yyssa;
1965 yyvs = yyvsa;
1966 yyls = yylsa;
1967 yystacksize = 200;
1968 do
1969 {
1970 if(expression_yydebug)
1971 fprintf((bsl_stderr()), "Starting parse\n");
1972 }while((0));
1973 yystate = 0;
1974 yyerrstatus = 0;
1975 expression_yynerrs = 0;
1976 expression_yychar = (-2);
1977 yyssp = yyss;
1978 yyvsp = yyvs;
1979 yylsp = yyls;
1980 goto yysetstate;
1981 yynewstate:
1982 yyssp++;
1983 yysetstate:
1984 *yyssp = yystate;
1985 if(yyss + yystacksize - 1 <= yyssp)
1986 {
1987 unsigned int yysize = yyssp - yyss + 1;
1988
1989 if(10000 <= yystacksize)
1990 goto yyexhaustedlab;
1991 yystacksize *= 2;
1992 if(10000 < yystacksize)
1993 yystacksize = 10000;
1994 {
1995 yytype_int16 * yyss1 = yyss;
1996 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
1997
1998 if(!yyptr)
1999 goto yyexhaustedlab;
2000 do
2001 {
2002 unsigned int yynewbytes;
2003
2004 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof *(yyss));
2005 yyss = &(*yyptr).yyss_alloc;
2006 yynewbytes = yystacksize * sizeof *yyss + (sizeof(union yyalloc) - 1);
2007 yyptr += yynewbytes / sizeof *yyptr;
2008 }while((0));
2009 do
2010 {
2011 unsigned int yynewbytes;
2012
2013 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof *(yyvs));
2014 yyvs = &(*yyptr).yyvs_alloc;
2015 yynewbytes = yystacksize * sizeof *yyvs + (sizeof(union yyalloc) - 1);
2016 yyptr += yynewbytes / sizeof *yyptr;
2017 }while((0));
2018 do
2019 {
2020 unsigned int yynewbytes;
2021
2022 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof *(yyls));
2023 yyls = &(*yyptr).yyls_alloc;
2024 yynewbytes = yystacksize * sizeof *yyls + (sizeof(union yyalloc) - 1);
2025 yyptr += yynewbytes / sizeof *yyptr;
2026 }while((0));
2027 if(yyss1 != yyssa)
2028 free(yyss1);
2029 }
2030 yyssp = yyss + yysize - 1;
2031 yyvsp = yyvs + yysize - 1;
2032 yylsp = yyls + yysize - 1;
2033 do
2034 {
2035 if(expression_yydebug)
2036 fprintf((bsl_stderr()), "Stack size increased to %lu\n", yystacksize);
2037 }while((0));
2038 if(yyss + yystacksize - 1 <= yyssp)
2039 goto yyabortlab;
2040 }
2041 do
2042 {
2043 if(expression_yydebug)
2044 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
2045 }while((0));
2046 if(yystate == 150)
2047 goto yyacceptlab;
2048 goto yybackup;
2049 yybackup:
2050 yyn = yypact[yystate];
2051 if(yyn == -630)
2052 goto yydefault;
2053 if(expression_yychar == (-2))
2054 {
2055 do
2056 {
2057 if(expression_yydebug)
2058 fprintf((bsl_stderr()), "Reading a token: ");
2059 }while((0));
2060 expression_yychar = yylex();
2061 }
2062 if(expression_yychar <= 0)
2063 {
2064 expression_yychar = yytoken = 0;
2065 do
2066 {
2067 if(expression_yydebug)
2068 fprintf((bsl_stderr()), "Now at end of input.\n");
2069 }while((0));
2070 }
2071 else
2072 {
2073 yytoken = ((unsigned int)(expression_yychar) <= 366 ? yytranslate[expression_yychar] : 2);
2074 do
2075 {
2076 if(expression_yydebug)
2077 {
2078 fprintf((bsl_stderr()), "%s ", "Next token is");
2079 yy_symbol_print((bsl_stderr()), yytoken, &expression_yylval, &expression_yylloc);
2080 fprintf((bsl_stderr()), "\n");
2081 }
2082 }while((0));
2083 }
2084 yyn += yytoken;
2085 if(yyn < 0 || 7325 < yyn || yycheck[yyn] != yytoken)
2086 goto yydefault;
2087 yyn = yytable[yyn];
2088 if(yyn <= 0)
2089 {
2090 if(yyn == 0 || yyn == -428)
2091 goto yyerrlab;
2092 yyn = -yyn;
2093 goto yyreduce;
2094 }
2095 if(yyerrstatus)
2096 yyerrstatus--;
2097 do
2098 {
2099 if(expression_yydebug)
2100 {
2101 fprintf((bsl_stderr()), "%s ", "Shifting");
2102 yy_symbol_print((bsl_stderr()), yytoken, &expression_yylval, &expression_yylloc);
2103 fprintf((bsl_stderr()), "\n");
2104 }
2105 }while((0));
2106 expression_yychar = (-2);
2107 yystate = yyn;
2108 *++yyvsp = expression_yylval;
2109 *++yylsp = expression_yylloc;
2110 goto yynewstate;
2111 yydefault:
2112 yyn = yydefact[yystate];
2113 if(yyn == 0)
2114 goto yyerrlab;
2115 goto yyreduce;
2116 yyreduce:
2117 yylen = yyr2[yyn];
2118 yyval = yyvsp[1 - yylen];
2119 (yyloc.start = ((yylsp - yylen))[1].start);
2120 (yyloc.end = ((yylsp - yylen))[yylen].end);
2121 ;
2122 do
2123 {
2124 if(expression_yydebug)
2125 yy_reduce_print(yyvsp, yylsp, yyn);
2126 }while((0));
2127 switch(yyn)
2128 {
2129 case 2:
2130 {
2131 yyval.id = MkIdentifier(yytext);
2132 yyval.id->loc = (yylsp[(1) - (1)]);
2133 ;
2134 }
2135 break;
2136 case 4:
2137 {
2138 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
2139 yyval.exp->loc = (yyloc);
2140 ;
2141 }
2142 break;
2143 case 5:
2144 {
2145 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
2146 yyval.exp->loc = (yyloc);
2147 ;
2148 }
2149 break;
2150 case 6:
2151 {
2152 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2153 yyval.exp->loc = (yyloc);
2154 ;
2155 }
2156 break;
2157 case 7:
2158 {
2159 yyval.exp = MkExpConstant(yytext);
2160 yyval.exp->loc = (yyloc);
2161 ;
2162 }
2163 break;
2164 case 8:
2165 {
2166 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
2167 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
2168 yyval.exp->loc = (yyloc);
2169 ;
2170 }
2171 break;
2172 case 9:
2173 {
2174 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
2175 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
2176 yyval.exp->loc = (yyloc);
2177 ;
2178 }
2179 break;
2180 case 10:
2181 {
2182 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
2183 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
2184 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
2185 yyval.exp->loc = (yyloc);
2186 ;
2187 }
2188 break;
2189 case 11:
2190 {
2191 struct Expression * exp = MkExpDummy();
2192
2193 exp->loc.start = (yylsp[(1) - (2)]).end;
2194 exp->loc.end = (yylsp[(2) - (2)]).start;
2195 yyval.exp = MkExpBrackets(MkListOne(exp));
2196 yyval.exp->loc = (yyloc);
2197 yyerror();
2198 ;
2199 }
2200 break;
2201 case 12:
2202 {
2203 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2204 yyval.exp->loc = (yyloc);
2205 ;
2206 }
2207 break;
2208 case 13:
2209 {
2210 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2211 yyval.exp->loc = (yyloc);
2212 ;
2213 }
2214 break;
2215 case 14:
2216 {
2217 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2218 yyval.exp->loc = (yyloc);
2219 ;
2220 }
2221 break;
2222 case 15:
2223 {
2224 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2225 yyval.exp->loc = (yyloc);
2226 ;
2227 }
2228 break;
2229 case 16:
2230 {
2231 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2232 yyval.exp->loc = (yyloc);
2233 ;
2234 }
2235 break;
2236 case 17:
2237 {
2238 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2239 yyval.exp->loc = (yyloc);
2240 ;
2241 }
2242 break;
2243 case 18:
2244 {
2245 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2246 yyval.exp->loc = (yyloc);
2247 ;
2248 }
2249 break;
2250 case 19:
2251 {
2252 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2253 yyval.exp->loc = (yyloc);
2254 ;
2255 }
2256 break;
2257 case 20:
2258 {
2259 yyval.exp = MkExpDummy();
2260 ;
2261 }
2262 break;
2263 case 21:
2264 {
2265 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2266 yyval.exp->loc = (yyloc);
2267 ;
2268 }
2269 break;
2270 case 23:
2271 {
2272 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2273 yyval.exp->loc = (yyloc);
2274 ;
2275 }
2276 break;
2277 case 24:
2278 {
2279 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
2280 yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
2281 yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
2282 yyval.exp->loc = (yyloc);
2283 ;
2284 }
2285 break;
2286 case 25:
2287 {
2288 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2289 yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
2290 yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
2291 yyval.exp->loc = (yyloc);
2292 ;
2293 }
2294 break;
2295 case 26:
2296 {
2297 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2298 yyval.exp->loc = (yyloc);
2299 ;
2300 }
2301 break;
2302 case 27:
2303 {
2304 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2305 yyval.exp->loc = (yyloc);
2306 ;
2307 }
2308 break;
2309 case 28:
2310 {
2311 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
2312 yyval.exp->loc = (yyloc);
2313 ;
2314 }
2315 break;
2316 case 29:
2317 {
2318 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
2319 yyval.exp->loc = (yyloc);
2320 ;
2321 }
2322 break;
2323 case 31:
2324 {
2325 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2326 yyval.exp->loc = (yyloc);
2327 ;
2328 }
2329 break;
2330 case 32:
2331 {
2332 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
2333 yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
2334 yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
2335 yyval.exp->loc = (yyloc);
2336 ;
2337 }
2338 break;
2339 case 33:
2340 {
2341 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2342 yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
2343 yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
2344 yyval.exp->loc = (yyloc);
2345 ;
2346 }
2347 break;
2348 case 34:
2349 {
2350 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2351 yyval.exp->loc = (yyloc);
2352 ;
2353 }
2354 break;
2355 case 35:
2356 {
2357 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2358 yyval.exp->loc = (yyloc);
2359 ;
2360 }
2361 break;
2362 case 36:
2363 {
2364 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
2365 yyval.exp->loc = (yyloc);
2366 ;
2367 }
2368 break;
2369 case 37:
2370 {
2371 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
2372 yyval.exp->loc = (yyloc);
2373 ;
2374 }
2375 break;
2376 case 38:
2377 {
2378 yyval.list = MkList();
2379 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2380 ;
2381 }
2382 break;
2383 case 39:
2384 {
2385 yyval.list = MkList();
2386 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2387 ;
2388 }
2389 break;
2390 case 40:
2391 {
2392 yyval.list = yyvsp[(1) - (3)].list;
2393 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2394 ;
2395 }
2396 break;
2397 case 41:
2398 {
2399 yyval.list = yyvsp[(1) - (3)].list;
2400 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2401 ;
2402 }
2403 break;
2404 case 42:
2405 {
2406 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
2407 yyval.exp->loc = (yyloc);
2408 ;
2409 }
2410 break;
2411 case 43:
2412 {
2413 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
2414 yyval.exp->loc = (yyloc);
2415 ;
2416 }
2417 break;
2418 case 44:
2419 {
2420 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
2421 yyval.exp->loc = (yyloc);
2422 ;
2423 }
2424 break;
2425 case 45:
2426 {
2427 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(3) - (4)].exp);
2428 yyval.exp->loc = (yyloc);
2429 ;
2430 }
2431 break;
2432 case 46:
2433 {
2434 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
2435 yyval.exp->loc = (yyloc);
2436 ;
2437 }
2438 break;
2439 case 47:
2440 {
2441 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
2442 yyval.exp->loc = (yyloc);
2443 ;
2444 }
2445 break;
2446 case 48:
2447 {
2448 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(3) - (4)].exp);
2449 yyval.exp->loc = (yyloc);
2450 ;
2451 }
2452 break;
2453 case 49:
2454 {
2455 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
2456 yyval.exp->loc = (yyloc);
2457 ;
2458 }
2459 break;
2460 case 50:
2461 {
2462 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
2463 yyval.exp->loc = (yyloc);
2464 ;
2465 }
2466 break;
2467 case 55:
2468 {
2469 yyval.i = '&';
2470 ;
2471 }
2472 break;
2473 case 56:
2474 {
2475 yyval.i = '*';
2476 ;
2477 }
2478 break;
2479 case 57:
2480 {
2481 yyval.i = '+';
2482 ;
2483 }
2484 break;
2485 case 58:
2486 {
2487 yyval.i = '-';
2488 ;
2489 }
2490 break;
2491 case 59:
2492 {
2493 yyval.i = '~';
2494 ;
2495 }
2496 break;
2497 case 60:
2498 {
2499 yyval.i = '!';
2500 ;
2501 }
2502 break;
2503 case 61:
2504 {
2505 yyval.i = DELETE;
2506 ;
2507 }
2508 break;
2509 case 63:
2510 {
2511 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
2512 yyval.exp->loc = (yyloc);
2513 ;
2514 }
2515 break;
2516 case 65:
2517 {
2518 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
2519 yyval.exp->loc = (yyloc);
2520 ;
2521 }
2522 break;
2523 case 66:
2524 {
2525 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
2526 yyval.exp->loc = (yyloc);
2527 ;
2528 }
2529 break;
2530 case 67:
2531 {
2532 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
2533 yyval.exp->loc = (yyloc);
2534 ;
2535 }
2536 break;
2537 case 69:
2538 {
2539 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
2540 yyval.exp->loc = (yyloc);
2541 ;
2542 }
2543 break;
2544 case 70:
2545 {
2546 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
2547 yyval.exp->loc = (yyloc);
2548 ;
2549 }
2550 break;
2551 case 72:
2552 {
2553 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
2554 yyval.exp->loc = (yyloc);
2555 ;
2556 }
2557 break;
2558 case 73:
2559 {
2560 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
2561 yyval.exp->loc = (yyloc);
2562 ;
2563 }
2564 break;
2565 case 75:
2566 {
2567 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
2568 yyval.exp->loc = (yyloc);
2569 ;
2570 }
2571 break;
2572 case 76:
2573 {
2574 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
2575 yyval.exp->loc = (yyloc);
2576 ;
2577 }
2578 break;
2579 case 77:
2580 {
2581 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
2582 yyval.exp->loc = (yyloc);
2583 ;
2584 }
2585 break;
2586 case 78:
2587 {
2588 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
2589 yyval.exp->loc = (yyloc);
2590 ;
2591 }
2592 break;
2593 case 80:
2594 {
2595 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
2596 yyval.exp->loc = (yyloc);
2597 ;
2598 }
2599 break;
2600 case 81:
2601 {
2602 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
2603 yyval.exp->loc = (yyloc);
2604 ;
2605 }
2606 break;
2607 case 83:
2608 {
2609 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
2610 yyval.exp->loc = (yyloc);
2611 ;
2612 }
2613 break;
2614 case 85:
2615 {
2616 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
2617 yyval.exp->loc = (yyloc);
2618 ;
2619 }
2620 break;
2621 case 87:
2622 {
2623 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
2624 yyval.exp->loc = (yyloc);
2625 ;
2626 }
2627 break;
2628 case 89:
2629 {
2630 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
2631 yyval.exp->loc = (yyloc);
2632 ;
2633 }
2634 break;
2635 case 91:
2636 {
2637 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
2638 yyval.exp->loc = (yyloc);
2639 ;
2640 }
2641 break;
2642 case 93:
2643 {
2644 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
2645 yyval.exp->loc = (yyloc);
2646 ;
2647 }
2648 break;
2649 case 95:
2650 {
2651 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
2652 yyval.exp->loc = (yyloc);
2653 ;
2654 }
2655 break;
2656 case 96:
2657 {
2658 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
2659 yyval.exp->loc = (yyloc);
2660 ;
2661 }
2662 break;
2663 case 97:
2664 {
2665 yyval.i = '=';
2666 ;
2667 }
2668 break;
2669 case 98:
2670 {
2671 yyval.i = MUL_ASSIGN;
2672 ;
2673 }
2674 break;
2675 case 99:
2676 {
2677 yyval.i = DIV_ASSIGN;
2678 ;
2679 }
2680 break;
2681 case 100:
2682 {
2683 yyval.i = MOD_ASSIGN;
2684 ;
2685 }
2686 break;
2687 case 101:
2688 {
2689 yyval.i = ADD_ASSIGN;
2690 ;
2691 }
2692 break;
2693 case 102:
2694 {
2695 yyval.i = SUB_ASSIGN;
2696 ;
2697 }
2698 break;
2699 case 103:
2700 {
2701 yyval.i = LEFT_ASSIGN;
2702 ;
2703 }
2704 break;
2705 case 104:
2706 {
2707 yyval.i = RIGHT_ASSIGN;
2708 ;
2709 }
2710 break;
2711 case 105:
2712 {
2713 yyval.i = AND_ASSIGN;
2714 ;
2715 }
2716 break;
2717 case 106:
2718 {
2719 yyval.i = XOR_ASSIGN;
2720 ;
2721 }
2722 break;
2723 case 107:
2724 {
2725 yyval.i = OR_ASSIGN;
2726 ;
2727 }
2728 break;
2729 case 108:
2730 {
2731 yyval.list = MkList();
2732 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2733 ;
2734 }
2735 break;
2736 case 109:
2737 {
2738 yyval.list = yyvsp[(1) - (3)].list;
2739 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2740 ;
2741 }
2742 break;
2743 case 111:
2744 {
2745 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
2746 yyval.declaration->loc = (yyloc);
2747 ;
2748 }
2749 break;
2750 case 112:
2751 {
2752 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
2753 yyval.declaration->loc = (yyloc);
2754 ;
2755 }
2756 break;
2757 case 113:
2758 {
2759 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
2760 yyval.declaration->loc = (yyloc);
2761 ;
2762 }
2763 break;
2764 case 114:
2765 {
2766 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
2767 yyval.declaration->loc = (yyloc);
2768 ;
2769 }
2770 break;
2771 case 115:
2772 {
2773 yyval.list = MkList();
2774 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2775 ;
2776 }
2777 break;
2778 case 116:
2779 {
2780 yyval.list = yyvsp[(1) - (2)].list;
2781 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2782 ;
2783 }
2784 break;
2785 case 117:
2786 {
2787 yyval.list = MkList();
2788 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2789 ;
2790 }
2791 break;
2792 case 118:
2793 {
2794 yyval.list = yyvsp[(1) - (2)].list;
2795 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2796 ;
2797 }
2798 break;
2799 case 119:
2800 {
2801 yyval.list = MkList();
2802 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2803 ;
2804 }
2805 break;
2806 case 120:
2807 {
2808 yyval.list = yyvsp[(1) - (2)].list;
2809 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2810 ;
2811 }
2812 break;
2813 case 121:
2814 {
2815 yyval.list = MkList();
2816 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2817 ;
2818 }
2819 break;
2820 case 122:
2821 {
2822 yyval.list = yyvsp[(1) - (2)].list;
2823 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2824 ;
2825 }
2826 break;
2827 case 123:
2828 {
2829 yyval.list = MkList();
2830 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2831 ;
2832 }
2833 break;
2834 case 124:
2835 {
2836 yyval.list = yyvsp[(1) - (2)].list;
2837 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2838 ;
2839 }
2840 break;
2841 case 125:
2842 {
2843 yyval.list = MkList();
2844 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2845 ;
2846 }
2847 break;
2848 case 126:
2849 {
2850 yyval.list = yyvsp[(1) - (2)].list;
2851 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2852 ;
2853 }
2854 break;
2855 case 127:
2856 {
2857 yyval.list = MkList();
2858 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2859 ;
2860 }
2861 break;
2862 case 128:
2863 {
2864 yyval.list = yyvsp[(1) - (2)].list;
2865 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2866 ;
2867 }
2868 break;
2869 case 129:
2870 {
2871 yyval.list = MkList();
2872 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2873 ;
2874 }
2875 break;
2876 case 130:
2877 {
2878 yyval.list = yyvsp[(1) - (2)].list;
2879 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2880 ;
2881 }
2882 break;
2883 case 131:
2884 {
2885 yyval.list = MkList();
2886 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2887 ;
2888 }
2889 break;
2890 case 132:
2891 {
2892 yyval.list = yyvsp[(1) - (2)].list;
2893 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2894 ;
2895 }
2896 break;
2897 case 133:
2898 {
2899 yyval.list = MkList();
2900 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2901 ;
2902 }
2903 break;
2904 case 134:
2905 {
2906 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2907 ;
2908 }
2909 break;
2910 case 135:
2911 {
2912 yyval.list = MkList();
2913 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2914 ;
2915 }
2916 break;
2917 case 136:
2918 {
2919 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2920 ;
2921 }
2922 break;
2923 case 137:
2924 {
2925 yyval.list = MkList();
2926 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2927 ;
2928 }
2929 break;
2930 case 138:
2931 {
2932 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2933 ;
2934 }
2935 break;
2936 case 139:
2937 {
2938 yyval.list = MkList();
2939 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2940 ;
2941 }
2942 break;
2943 case 140:
2944 {
2945 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2946 ;
2947 }
2948 break;
2949 case 141:
2950 {
2951 yyval.list = MkList();
2952 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2953 ;
2954 }
2955 break;
2956 case 142:
2957 {
2958 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2959 ;
2960 }
2961 break;
2962 case 143:
2963 {
2964 yyval.list = MkList();
2965 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2966 ;
2967 }
2968 break;
2969 case 144:
2970 {
2971 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2972 ;
2973 }
2974 break;
2975 case 145:
2976 {
2977 yyval.list = MkList();
2978 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2979 ;
2980 }
2981 break;
2982 case 146:
2983 {
2984 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2985 ;
2986 }
2987 break;
2988 case 147:
2989 {
2990 yyval.list = MkList();
2991 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2992 ;
2993 }
2994 break;
2995 case 148:
2996 {
2997 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2998 ;
2999 }
3000 break;
3001 case 149:
3002 {
3003 yyval.list = MkList();
3004 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3005 ;
3006 }
3007 break;
3008 case 150:
3009 {
3010 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3011 ;
3012 }
3013 break;
3014 case 151:
3015 {
3016 yyval.list = MkList();
3017 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
3018 ;
3019 }
3020 break;
3021 case 152:
3022 {
3023 yyval.list = yyvsp[(1) - (3)].list;
3024 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
3025 ;
3026 }
3027 break;
3028 case 153:
3029 {
3030 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
3031 yyval.initDeclarator->loc = (yyloc);
3032 ;
3033 }
3034 break;
3035 case 154:
3036 {
3037 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
3038 yyval.initDeclarator->loc = (yyloc);
3039 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
3040 ;
3041 }
3042 break;
3043 case 155:
3044 {
3045 yyval.specifier = MkSpecifier(TYPEDEF);
3046 ;
3047 }
3048 break;
3049 case 156:
3050 {
3051 yyval.specifier = MkSpecifier(EXTERN);
3052 ;
3053 }
3054 break;
3055 case 157:
3056 {
3057 yyval.specifier = MkSpecifier(STATIC);
3058 ;
3059 }
3060 break;
3061 case 158:
3062 {
3063 yyval.specifier = MkSpecifier(AUTO);
3064 ;
3065 }
3066 break;
3067 case 159:
3068 {
3069 yyval.specifier = MkSpecifier(REGISTER);
3070 ;
3071 }
3072 break;
3073 case 160:
3074 {
3075 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3076 ;
3077 }
3078 break;
3079 case 161:
3080 {
3081 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
3082 ;
3083 }
3084 break;
3085 case 162:
3086 {
3087 yyval.i = ATTRIB;
3088 ;
3089 }
3090 break;
3091 case 163:
3092 {
3093 yyval.i = ATTRIB_DEP;
3094 ;
3095 }
3096 break;
3097 case 164:
3098 {
3099 yyval.i = __ATTRIB;
3100 ;
3101 }
3102 break;
3103 case 165:
3104 {
3105 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3106 ;
3107 }
3108 break;
3109 case 166:
3110 {
3111 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3112 ;
3113 }
3114 break;
3115 case 167:
3116 {
3117 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3118 ;
3119 }
3120 break;
3121 case 168:
3122 {
3123 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3124 ;
3125 }
3126 break;
3127 case 169:
3128 {
3129 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3130 ;
3131 }
3132 break;
3133 case 170:
3134 {
3135 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
3136 yyval.attribute->loc = (yyloc);
3137 ;
3138 }
3139 break;
3140 case 171:
3141 {
3142 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
3143 yyval.attribute->loc = (yyloc);
3144 ;
3145 }
3146 break;
3147 case 172:
3148 {
3149 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
3150 ;
3151 }
3152 break;
3153 case 173:
3154 {
3155 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
3156 yyval.list = yyvsp[(1) - (2)].list;
3157 ;
3158 }
3159 break;
3160 case 174:
3161 {
3162 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
3163 yyval.list = yyvsp[(1) - (3)].list;
3164 ;
3165 }
3166 break;
3167 case 175:
3168 {
3169 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
3170 yyval.attrib->loc = (yyloc);
3171 ;
3172 }
3173 break;
3174 case 176:
3175 {
3176 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
3177 yyval.attrib->loc = (yyloc);
3178 ;
3179 }
3180 break;
3181 case 177:
3182 {
3183 yyval.specifier = MkSpecifier(CONST);
3184 ;
3185 }
3186 break;
3187 case 178:
3188 {
3189 yyval.specifier = MkSpecifier(VOLATILE);
3190 ;
3191 }
3192 break;
3193 case 179:
3194 {
3195 yyval.specifier = MkSpecifierExtended(MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext)));
3196 ;
3197 }
3198 break;
3199 case 180:
3200 {
3201 yyval.specifier = yyvsp[(1) - (1)].specifier;
3202 ;
3203 }
3204 break;
3205 case 181:
3206 {
3207 yyval.specifier = MkSpecifierName(yytext);
3208 ;
3209 }
3210 break;
3211 case 182:
3212 {
3213 yyval.specifier = MkSpecifier(VOID);
3214 ;
3215 }
3216 break;
3217 case 183:
3218 {
3219 yyval.specifier = MkSpecifier(CHAR);
3220 ;
3221 }
3222 break;
3223 case 184:
3224 {
3225 yyval.specifier = MkSpecifier(SHORT);
3226 ;
3227 }
3228 break;
3229 case 185:
3230 {
3231 yyval.specifier = MkSpecifier(INT);
3232 ;
3233 }
3234 break;
3235 case 186:
3236 {
3237 yyval.specifier = MkSpecifier(UINT);
3238 ;
3239 }
3240 break;
3241 case 187:
3242 {
3243 yyval.specifier = MkSpecifier(INT64);
3244 ;
3245 }
3246 break;
3247 case 188:
3248 {
3249 yyval.specifier = MkSpecifier(VALIST);
3250 ;
3251 }
3252 break;
3253 case 189:
3254 {
3255 yyval.specifier = MkSpecifier(LONG);
3256 ;
3257 }
3258 break;
3259 case 190:
3260 {
3261 yyval.specifier = MkSpecifier(FLOAT);
3262 ;
3263 }
3264 break;
3265 case 191:
3266 {
3267 yyval.specifier = MkSpecifier(DOUBLE);
3268 ;
3269 }
3270 break;
3271 case 192:
3272 {
3273 yyval.specifier = MkSpecifier(SIGNED);
3274 ;
3275 }
3276 break;
3277 case 193:
3278 {
3279 yyval.specifier = MkSpecifier(UNSIGNED);
3280 ;
3281 }
3282 break;
3283 case 194:
3284 {
3285 yyval.specifier = MkSpecifier(EXTENSION);
3286 ;
3287 }
3288 break;
3289 case 198:
3290 {
3291 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
3292 ;
3293 }
3294 break;
3295 case 199:
3296 {
3297 yyval.specifier = MkSpecifier(THISCLASS);
3298 ;
3299 }
3300 break;
3301 case 200:
3302 {
3303 yyval.specifier = MkSpecifier(VOID);
3304 ;
3305 }
3306 break;
3307 case 201:
3308 {
3309 yyval.specifier = MkSpecifier(CHAR);
3310 ;
3311 }
3312 break;
3313 case 202:
3314 {
3315 yyval.specifier = MkSpecifier(SHORT);
3316 ;
3317 }
3318 break;
3319 case 203:
3320 {
3321 yyval.specifier = MkSpecifier(INT);
3322 ;
3323 }
3324 break;
3325 case 204:
3326 {
3327 yyval.specifier = MkSpecifier(UINT);
3328 ;
3329 }
3330 break;
3331 case 205:
3332 {
3333 yyval.specifier = MkSpecifier(INT64);
3334 ;
3335 }
3336 break;
3337 case 206:
3338 {
3339 yyval.specifier = MkSpecifier(VALIST);
3340 ;
3341 }
3342 break;
3343 case 207:
3344 {
3345 yyval.specifier = MkSpecifier(LONG);
3346 ;
3347 }
3348 break;
3349 case 208:
3350 {
3351 yyval.specifier = MkSpecifier(FLOAT);
3352 ;
3353 }
3354 break;
3355 case 209:
3356 {
3357 yyval.specifier = MkSpecifier(DOUBLE);
3358 ;
3359 }
3360 break;
3361 case 210:
3362 {
3363 yyval.specifier = MkSpecifier(SIGNED);
3364 ;
3365 }
3366 break;
3367 case 211:
3368 {
3369 yyval.specifier = MkSpecifier(UNSIGNED);
3370 ;
3371 }
3372 break;
3373 case 215:
3374 {
3375 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
3376 ;
3377 }
3378 break;
3379 case 216:
3380 {
3381 yyval.specifier = MkSpecifier(THISCLASS);
3382 ;
3383 }
3384 break;
3385 case 217:
3386 {
3387 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
3388 if(declMode)
3389 DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].id->string);
3390 ;
3391 }
3392 break;
3393 case 218:
3394 {
3395 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(3) - (4)].list);
3396 ;
3397 }
3398 break;
3399 case 219:
3400 {
3401 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, yyvsp[(2) - (4)].id, (((void *)0)));
3402 if(declMode)
3403 DeclClass(globalContext->nextID++, yyvsp[(2) - (4)].id->string);
3404 ;
3405 }
3406 break;
3407 case 220:
3408 {
3409 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
3410 ;
3411 }
3412 break;
3413 case 221:
3414 {
3415 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
3416 if(declMode)
3417 DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
3418 FreeSpecifier(yyvsp[(2) - (5)].specifier);
3419 ;
3420 }
3421 break;
3422 case 222:
3423 {
3424 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
3425 yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
3426 if(declMode)
3427 DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
3428 ;
3429 }
3430 break;
3431 case 223:
3432 {
3433 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
3434 yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
3435 ;
3436 }
3437 break;
3438 case 224:
3439 {
3440 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
3441 yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
3442 if(declMode)
3443 DeclClass(globalContext->nextID++, yyvsp[(3) - (5)].id->string);
3444 ;
3445 }
3446 break;
3447 case 225:
3448 {
3449 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
3450 yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
3451 ;
3452 }
3453 break;
3454 case 226:
3455 {
3456 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->name), yyvsp[(5) - (6)].list);
3457 yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
3458 if(declMode)
3459 DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
3460 FreeSpecifier(yyvsp[(3) - (6)].specifier);
3461 ;
3462 }
3463 break;
3464 case 227:
3465 {
3466 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
3467 if(declMode)
3468 DeclClass(0, yyvsp[(2) - (2)].id->string);
3469 ;
3470 }
3471 break;
3472 case 228:
3473 {
3474 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
3475 if(declMode)
3476 DeclClass(0, yyvsp[(2) - (2)].specifier->name);
3477 FreeSpecifier(yyvsp[(2) - (2)].specifier);
3478 ;
3479 }
3480 break;
3481 case 229:
3482 {
3483 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
3484 yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
3485 if(declMode)
3486 DeclClass(0, yyvsp[(3) - (3)].id->string);
3487 ;
3488 }
3489 break;
3490 case 230:
3491 {
3492 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->name), (((void *)0)));
3493 yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
3494 if(declMode)
3495 DeclClass(0, yyvsp[(3) - (3)].specifier->name);
3496 FreeSpecifier(yyvsp[(3) - (3)].specifier);
3497 ;
3498 }
3499 break;
3500 case 231:
3501 {
3502 yyval.specifierType = 3;
3503 ;
3504 }
3505 break;
3506 case 232:
3507 {
3508 yyval.specifierType = 4;
3509 ;
3510 }
3511 break;
3512 case 233:
3513 {
3514 yyval.list = MkList();
3515 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
3516 ;
3517 }
3518 break;
3519 case 234:
3520 {
3521 yyval.list = yyvsp[(1) - (2)].list;
3522 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
3523 ;
3524 }
3525 break;
3526 case 235:
3527 {
3528 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3529 yyval.memberInit->loc = (yyloc);
3530 yyval.memberInit->realLoc = (yyloc);
3531 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3532 ;
3533 }
3534 break;
3535 case 236:
3536 {
3537 yyval.list = MkList();
3538 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3539 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
3540 ;
3541 }
3542 break;
3543 case 237:
3544 {
3545 yyval.list = yyvsp[(1) - (3)].list;
3546 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3547 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3548 ;
3549 }
3550 break;
3551 case 238:
3552 {
3553 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
3554 yyval.prop->loc = (yyloc);
3555 ;
3556 }
3557 break;
3558 case 239:
3559 {
3560 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
3561 yyval.prop->loc = (yyloc);
3562 ;
3563 }
3564 break;
3565 case 240:
3566 {
3567 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].stmt, (((void *)0)));
3568 yyval.prop->loc = (yyloc);
3569 ;
3570 }
3571 break;
3572 case 241:
3573 {
3574 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, (((void *)0)), yyvsp[(6) - (7)].stmt);
3575 yyval.prop->loc = (yyloc);
3576 ;
3577 }
3578 break;
3579 case 242:
3580 {
3581 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, (((void *)0)), yyvsp[(3) - (5)].id, (((void *)0)), (((void *)0)));
3582 yyval.prop->loc = (yyloc);
3583 ;
3584 }
3585 break;
3586 case 243:
3587 {
3588 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(7) - (10)].stmt, yyvsp[(9) - (10)].stmt);
3589 yyval.prop->loc = (yyloc);
3590 ;
3591 }
3592 break;
3593 case 244:
3594 {
3595 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(9) - (10)].stmt, yyvsp[(7) - (10)].stmt);
3596 yyval.prop->loc = (yyloc);
3597 ;
3598 }
3599 break;
3600 case 245:
3601 {
3602 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, yyvsp[(7) - (8)].stmt, (((void *)0)));
3603 yyval.prop->loc = (yyloc);
3604 ;
3605 }
3606 break;
3607 case 246:
3608 {
3609 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, (((void *)0)), yyvsp[(7) - (8)].stmt);
3610 yyval.prop->loc = (yyloc);
3611 ;
3612 }
3613 break;
3614 case 247:
3615 {
3616 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator, yyvsp[(4) - (6)].id, (((void *)0)), (((void *)0)));
3617 yyval.prop->loc = (yyloc);
3618 ;
3619 }
3620 break;
3621 case 248:
3622 {
3623 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (8)].stmt, yyvsp[(7) - (8)].stmt);
3624 yyval.prop->loc = (yyloc);
3625 ;
3626 }
3627 break;
3628 case 249:
3629 {
3630 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(7) - (8)].stmt, yyvsp[(5) - (8)].stmt);
3631 yyval.prop->loc = (yyloc);
3632 ;
3633 }
3634 break;
3635 case 250:
3636 {
3637 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt, (((void *)0)));
3638 yyval.prop->loc = (yyloc);
3639 ;
3640 }
3641 break;
3642 case 251:
3643 {
3644 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt);
3645 yyval.prop->loc = (yyloc);
3646 ;
3647 }
3648 break;
3649 case 252:
3650 {
3651 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
3652 yyval.prop->loc = (yyloc);
3653 ;
3654 }
3655 break;
3656 case 253:
3657 {
3658 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
3659 yyval.prop->loc = (yyloc);
3660 ;
3661 }
3662 break;
3663 case 254:
3664 {
3665 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
3666 yyval.prop->loc = (yyloc);
3667 ;
3668 }
3669 break;
3670 case 255:
3671 {
3672 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), yyvsp[(6) - (7)].stmt, (((void *)0)));
3673 yyval.prop->loc = (yyloc);
3674 ;
3675 }
3676 break;
3677 case 256:
3678 {
3679 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), (((void *)0)), yyvsp[(6) - (7)].stmt);
3680 yyval.prop->loc = (yyloc);
3681 ;
3682 }
3683 break;
3684 case 257:
3685 {
3686 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
3687 yyval.prop->loc = (yyloc);
3688 ;
3689 }
3690 break;
3691 case 258:
3692 {
3693 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
3694 yyval.classDef->decl->loc = (yyloc);
3695 yyval.classDef->loc = (yyloc);
3696 ;
3697 }
3698 break;
3699 case 259:
3700 {
3701 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
3702 yyval.classDef->decl->loc = (yyloc);
3703 yyval.classDef->loc = (yyloc);
3704 ;
3705 }
3706 break;
3707 case 260:
3708 {
3709 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
3710 yyval.classDef->loc = (yyloc);
3711 yyval.classDef->decl->loc = (yyloc);
3712 ;
3713 }
3714 break;
3715 case 261:
3716 {
3717 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
3718 yyval.classDef->loc = (yyloc);
3719 yyval.classDef->decl->loc = (yyloc);
3720 ;
3721 }
3722 break;
3723 case 262:
3724 {
3725 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
3726 yyval.classDef->loc = (yyloc);
3727 ;
3728 }
3729 break;
3730 case 263:
3731 {
3732 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
3733 if((*yyvsp[(1) - (2)].list).last)
3734 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
3735 yyval.classDef->loc = (yyloc);
3736 ;
3737 }
3738 break;
3739 case 264:
3740 {
3741 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
3742 yyval.classDef->loc = (yyloc);
3743 globalContext->nextID++;
3744 ;
3745 }
3746 break;
3747 case 265:
3748 {
3749 yyval.classDef = (((void *)0));
3750 ;
3751 }
3752 break;
3753 case 266:
3754 {
3755 yyval.list = MkList();
3756 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
3757 ;
3758 }
3759 break;
3760 case 267:
3761 {
3762 yyval.list = yyvsp[(1) - (3)].list;
3763 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
3764 ;
3765 }
3766 break;
3767 case 268:
3768 {
3769 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
3770 yyval.declarator->loc = (yyloc);
3771 ;
3772 }
3773 break;
3774 case 269:
3775 {
3776 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
3777 yyval.declarator->structDecl.attrib = yyvsp[(2) - (2)].attrib;
3778 yyval.declarator->loc = (yyloc);
3779 ;
3780 }
3781 break;
3782 case 270:
3783 {
3784 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
3785 yyval.declarator->loc = (yyloc);
3786 ;
3787 }
3788 break;
3789 case 271:
3790 {
3791 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
3792 yyval.declarator->loc = (yyloc);
3793 ;
3794 }
3795 break;
3796 case 272:
3797 {
3798 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
3799 yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
3800 yyval.declarator->loc = (yyloc);
3801 ;
3802 }
3803 break;
3804 case 273:
3805 {
3806 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
3807 if(declMode)
3808 DeclClass(0, yyvsp[(2) - (2)].id->string);
3809 ;
3810 }
3811 break;
3812 case 274:
3813 {
3814 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
3815 if(declMode)
3816 DeclClass(0, yyvsp[(2) - (2)].specifier->name);
3817 FreeSpecifier(yyvsp[(2) - (2)].specifier);
3818 ;
3819 }
3820 break;
3821 case 275:
3822 {
3823 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (4)].list);
3824 ;
3825 }
3826 break;
3827 case 276:
3828 {
3829 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
3830 if(declMode)
3831 DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].id->string);
3832 ;
3833 }
3834 break;
3835 case 277:
3836 {
3837 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
3838 yyval.specifier->definitions = yyvsp[(6) - (7)].list;
3839 if(declMode)
3840 DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
3841 ;
3842 }
3843 break;
3844 case 278:
3845 {
3846 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->name), yyvsp[(4) - (7)].list);
3847 yyval.specifier->definitions = yyvsp[(6) - (7)].list;
3848 if(declMode)
3849 DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->name);
3850 FreeSpecifier(yyvsp[(2) - (7)].specifier);
3851 ;
3852 }
3853 break;
3854 case 279:
3855 {
3856 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
3857 if(declMode)
3858 DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
3859 FreeSpecifier(yyvsp[(2) - (5)].specifier);
3860 ;
3861 }
3862 break;
3863 case 280:
3864 {
3865 yyval.list = MkList();
3866 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
3867 ;
3868 }
3869 break;
3870 case 281:
3871 {
3872 yyval.list = yyvsp[(1) - (3)].list;
3873 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
3874 ;
3875 }
3876 break;
3877 case 282:
3878 {
3879 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
3880 ;
3881 }
3882 break;
3883 case 283:
3884 {
3885 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
3886 ;
3887 }
3888 break;
3889 case 284:
3890 {
3891 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
3892 ;
3893 }
3894 break;
3895 case 285:
3896 {
3897 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
3898 ;
3899 }
3900 break;
3901 case 286:
3902 {
3903 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
3904 ;
3905 }
3906 break;
3907 case 287:
3908 {
3909 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
3910 ;
3911 }
3912 break;
3913 case 288:
3914 {
3915 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
3916 ;
3917 }
3918 break;
3919 case 289:
3920 {
3921 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
3922 ;
3923 }
3924 break;
3925 case 290:
3926 {
3927 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
3928 ;
3929 }
3930 break;
3931 case 291:
3932 {
3933 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
3934 ;
3935 }
3936 break;
3937 case 292:
3938 {
3939 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
3940 ;
3941 }
3942 break;
3943 case 293:
3944 {
3945 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
3946 ;
3947 }
3948 break;
3949 case 294:
3950 {
3951 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
3952 ;
3953 }
3954 break;
3955 case 295:
3956 {
3957 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
3958 ;
3959 }
3960 break;
3961 case 296:
3962 {
3963 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
3964 ;
3965 }
3966 break;
3967 case 297:
3968 {
3969 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
3970 ;
3971 }
3972 break;
3973 case 298:
3974 {
3975 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
3976 ;
3977 }
3978 break;
3979 case 299:
3980 {
3981 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
3982 ;
3983 }
3984 break;
3985 case 300:
3986 {
3987 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
3988 ;
3989 }
3990 break;
3991 case 302:
3992 {
3993 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3994 ;
3995 }
3996 break;
3997 case 303:
3998 {
3999 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4000 ;
4001 }
4002 break;
4003 case 304:
4004 {
4005 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4006 ;
4007 }
4008 break;
4009 case 305:
4010 {
4011 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4012 ;
4013 }
4014 break;
4015 case 306:
4016 {
4017 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4018 ;
4019 }
4020 break;
4021 case 308:
4022 {
4023 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4024 ;
4025 }
4026 break;
4027 case 309:
4028 {
4029 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4030 ;
4031 }
4032 break;
4033 case 310:
4034 {
4035 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4036 ;
4037 }
4038 break;
4039 case 311:
4040 {
4041 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4042 ;
4043 }
4044 break;
4045 case 313:
4046 {
4047 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4048 ;
4049 }
4050 break;
4051 case 314:
4052 {
4053 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4054 ;
4055 }
4056 break;
4057 case 315:
4058 {
4059 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
4060 ;
4061 }
4062 break;
4063 case 316:
4064 {
4065 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4066 ;
4067 }
4068 break;
4069 case 317:
4070 {
4071 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4072 ;
4073 }
4074 break;
4075 case 318:
4076 {
4077 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4078 ;
4079 }
4080 break;
4081 case 319:
4082 {
4083 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4084 ;
4085 }
4086 break;
4087 case 321:
4088 {
4089 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4090 ;
4091 }
4092 break;
4093 case 322:
4094 {
4095 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4096 ;
4097 }
4098 break;
4099 case 323:
4100 {
4101 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4102 ;
4103 }
4104 break;
4105 case 324:
4106 {
4107 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4108 ;
4109 }
4110 break;
4111 case 327:
4112 {
4113 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4114 ;
4115 }
4116 break;
4117 case 328:
4118 {
4119 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4120 ;
4121 }
4122 break;
4123 case 330:
4124 {
4125 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4126 ;
4127 }
4128 break;
4129 case 331:
4130 {
4131 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4132 ;
4133 }
4134 break;
4135 case 332:
4136 {
4137 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
4138 ;
4139 }
4140 break;
4141 case 333:
4142 {
4143 yyval.list = MkList();
4144 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
4145 ;
4146 }
4147 break;
4148 case 334:
4149 {
4150 yyval.list = yyvsp[(1) - (2)].list;
4151 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
4152 ;
4153 }
4154 break;
4155 case 335:
4156 {
4157 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
4158 ;
4159 }
4160 break;
4161 case 336:
4162 {
4163 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
4164 ;
4165 }
4166 break;
4167 case 337:
4168 {
4169 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
4170 ;
4171 }
4172 break;
4173 case 338:
4174 {
4175 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
4176 ;
4177 }
4178 break;
4179 case 340:
4180 {
4181 yyval.list = yyvsp[(1) - (3)].list;
4182 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
4183 ;
4184 }
4185 break;
4186 case 341:
4187 {
4188 yyval.list = MkList();
4189 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
4190 ;
4191 }
4192 break;
4193 case 342:
4194 {
4195 yyval.list = yyvsp[(1) - (3)].list;
4196 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
4197 ;
4198 }
4199 break;
4200 case 343:
4201 {
4202 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4203 ;
4204 }
4205 break;
4206 case 344:
4207 {
4208 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4209 ;
4210 }
4211 break;
4212 case 345:
4213 {
4214 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
4215 ;
4216 }
4217 break;
4218 case 346:
4219 {
4220 yyval.list = MkList();
4221 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
4222 ;
4223 }
4224 break;
4225 case 347:
4226 {
4227 yyval.list = yyvsp[(1) - (3)].list;
4228 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
4229 ;
4230 }
4231 break;
4232 case 348:
4233 {
4234 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
4235 ;
4236 }
4237 break;
4238 case 349:
4239 {
4240 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4241 ;
4242 }
4243 break;
4244 case 350:
4245 {
4246 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
4247 yyval.initializer->loc = (yyloc);
4248 ;
4249 }
4250 break;
4251 case 351:
4252 {
4253 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
4254 yyval.initializer->loc = (yyloc);
4255 ;
4256 }
4257 break;
4258 case 352:
4259 {
4260 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
4261 yyval.initializer->loc = (yyloc);
4262 {
4263 struct Expression * exp = MkExpDummy();
4264 struct Initializer * init = MkInitializerAssignment(exp);
4265
4266 init->loc = (yylsp[(3) - (4)]);
4267 exp->loc = (yylsp[(3) - (4)]);
4268 ListAdd(yyvsp[(2) - (4)].list, init);
4269 }
4270 ;
4271 }
4272 break;
4273 case 353:
4274 {
4275 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
4276 yyval.initializer->loc = (yyloc);
4277 ;
4278 }
4279 break;
4280 case 354:
4281 {
4282 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
4283 yyval.initializer->loc = (yyloc);
4284 ;
4285 }
4286 break;
4287 case 355:
4288 {
4289 yyval.list = MkList();
4290 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
4291 ;
4292 }
4293 break;
4294 case 356:
4295 {
4296 yyval.list = yyvsp[(1) - (3)].list;
4297 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
4298 ;
4299 }
4300 break;
4301 case 363:
4302 {
4303 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
4304 yyval.stmt->loc = (yyloc);
4305 ;
4306 }
4307 break;
4308 case 364:
4309 {
4310 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
4311 yyval.stmt->loc = (yyloc);
4312 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
4313 ;
4314 }
4315 break;
4316 case 365:
4317 {
4318 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
4319 yyval.stmt->loc = (yyloc);
4320 ;
4321 }
4322 break;
4323 case 366:
4324 {
4325 yyval.list = MkList();
4326 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
4327 ;
4328 }
4329 break;
4330 case 367:
4331 {
4332 yyval.list = yyvsp[(1) - (2)].list;
4333 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
4334 ;
4335 }
4336 break;
4337 case 368:
4338 {
4339 yyval.list = MkList();
4340 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
4341 ;
4342 }
4343 break;
4344 case 369:
4345 {
4346 yyval.list = yyvsp[(1) - (2)].list;
4347 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
4348 ;
4349 }
4350 break;
4351 case 370:
4352 {
4353 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
4354
4355 stmt->loc = (yylsp[(2) - (2)]);
4356 ListAdd(yyvsp[(1) - (2)].list, stmt);
4357 yyval.list = yyvsp[(1) - (2)].list;
4358 ;
4359 }
4360 break;
4361 case 371:
4362 {
4363 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
4364 ;
4365 }
4366 break;
4367 case 372:
4368 {
4369 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
4370 ;
4371 }
4372 break;
4373 case 373:
4374 {
4375 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
4376 ;
4377 }
4378 break;
4379 case 374:
4380 {
4381 yyval.context = PushContext();
4382 ;
4383 }
4384 break;
4385 case 375:
4386 {
4387 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
4388 yyval.stmt->compound.context = PushContext();
4389 PopContext(yyval.stmt->compound.context);
4390 yyval.stmt->loc = (yyloc);
4391 ;
4392 }
4393 break;
4394 case 376:
4395 {
4396 yyval.stmt = yyvsp[(2) - (3)].stmt;
4397 yyval.stmt->compound.context = yyvsp[(1) - (3)].context;
4398 PopContext(yyvsp[(1) - (3)].context);
4399 yyval.stmt->loc = (yyloc);
4400 ;
4401 }
4402 break;
4403 case 377:
4404 {
4405 yyval.stmt = MkExpressionStmt((((void *)0)));
4406 yyval.stmt->loc = (yyloc);
4407 ;
4408 }
4409 break;
4410 case 378:
4411 {
4412 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
4413 yyval.stmt->loc = (yyloc);
4414 ;
4415 }
4416 break;
4417 case 379:
4418 {
4419 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
4420 yyval.stmt->loc = (yyloc);
4421 ;
4422 }
4423 break;
4424 case 380:
4425 {
4426 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
4427 yyval.stmt->loc = (yyloc);
4428 ;
4429 }
4430 break;
4431 case 381:
4432 {
4433 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
4434 yyval.stmt->loc = (yyloc);
4435 ;
4436 }
4437 break;
4438 case 382:
4439 {
4440 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
4441 yyval.stmt->loc = (yyloc);
4442 ;
4443 }
4444 break;
4445 case 383:
4446 {
4447 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
4448 yyval.stmt->loc = (yyloc);
4449 ;
4450 }
4451 break;
4452 case 384:
4453 {
4454 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
4455 yyval.stmt->loc = (yyloc);
4456 ;
4457 }
4458 break;
4459 case 385:
4460 {
4461 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
4462 yyval.stmt->loc = (yyloc);
4463 ;
4464 }
4465 break;
4466 case 386:
4467 {
4468 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
4469 yyval.stmt->loc = (yyloc);
4470 ;
4471 }
4472 break;
4473 case 387:
4474 {
4475 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
4476 yyval.stmt->loc = (yyloc);
4477 ;
4478 }
4479 break;
4480 case 388:
4481 {
4482 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
4483 yyval.stmt->loc = (yyloc);
4484 ;
4485 }
4486 break;
4487 case 389:
4488 {
4489 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
4490 yyval.stmt->loc = (yyloc);
4491 ;
4492 }
4493 break;
4494 case 390:
4495 {
4496 yyval.stmt = MkContinueStmt();
4497 yyval.stmt->loc = (yyloc);
4498 ;
4499 }
4500 break;
4501 case 391:
4502 {
4503 yyval.stmt = MkBreakStmt();
4504 yyval.stmt->loc = (yyloc);
4505 ;
4506 }
4507 break;
4508 case 392:
4509 {
4510 struct Expression * exp = MkExpDummy();
4511
4512 yyval.stmt = MkReturnStmt(MkListOne(exp));
4513 yyval.stmt->loc = (yyloc);
4514 exp->loc = (yylsp[(2) - (2)]);
4515 ;
4516 }
4517 break;
4518 case 393:
4519 {
4520 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
4521 yyval.stmt->loc = (yyloc);
4522 ;
4523 }
4524 break;
4525 case 394:
4526 {
4527 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
4528 ;
4529 }
4530 break;
4531 case 395:
4532 {
4533 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
4534 yyval.instance->loc = (yyloc);
4535 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4536 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4537 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4538 ;
4539 }
4540 break;
4541 case 396:
4542 {
4543 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
4544 yyval.instance->loc = (yyloc);
4545 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4546 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4547 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
4548 ;
4549 }
4550 break;
4551 case 397:
4552 {
4553 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
4554 yyval.instance->loc = (yyloc);
4555 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4556 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
4557 ;
4558 }
4559 break;
4560 case 398:
4561 {
4562 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), MkList());
4563 yyval.instance->loc = (yyloc);
4564 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4565 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
4566 ;
4567 }
4568 break;
4569 case 399:
4570 {
4571 struct Location tmpLoc = expression_yylloc;
4572
4573 expression_yylloc = (yylsp[(1) - (4)]);
4574 expression_yylloc = tmpLoc;
4575 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
4576 yyval.instance->loc = (yyloc);
4577 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4578 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
4579 FreeIdentifier(yyvsp[(1) - (4)].id);
4580 ;
4581 }
4582 break;
4583 case 400:
4584 {
4585 struct Location tmpLoc = expression_yylloc;
4586
4587 expression_yylloc = (yylsp[(1) - (3)]);
4588 expression_yylloc = tmpLoc;
4589 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), MkList());
4590 yyval.instance->loc = (yyloc);
4591 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4592 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
4593 FreeIdentifier(yyvsp[(1) - (3)].id);
4594 ;
4595 }
4596 break;
4597 case 401:
4598 {
4599 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
4600 yyval.instance->loc = (yyloc);
4601 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
4602 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
4603 ;
4604 }
4605 break;
4606 case 402:
4607 {
4608 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), MkList());
4609 yyval.instance->loc = (yyloc);
4610 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4611 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4612 ;
4613 }
4614 break;
4615 case 403:
4616 {
4617 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
4618 yyval.classFunction->loc = (yyloc);
4619 yyval.classFunction->id = ++globalContext->nextID;
4620 ;
4621 }
4622 break;
4623 case 404:
4624 {
4625 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
4626 yyval.classFunction->loc = (yyloc);
4627 yyval.classFunction->id = ++globalContext->nextID;
4628 ;
4629 }
4630 break;
4631 case 405:
4632 {
4633 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4634 yyval.classFunction->isConstructor = 0x1;
4635 yyval.classFunction->loc = (yyloc);
4636 yyval.classFunction->id = ++globalContext->nextID;
4637 FreeList(yyvsp[(1) - (3)].list, FreeSpecifier);
4638 ;
4639 }
4640 break;
4641 case 406:
4642 {
4643 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4644 yyval.classFunction->isDestructor = 0x1;
4645 yyval.classFunction->loc = (yyloc);
4646 yyval.classFunction->id = ++globalContext->nextID;
4647 FreeList(yyvsp[(2) - (4)].list, FreeSpecifier);
4648 ;
4649 }
4650 break;
4651 case 407:
4652 {
4653 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
4654 yyval.classFunction->isVirtual = 0x1;
4655 yyval.classFunction->loc = (yyloc);
4656 yyval.classFunction->id = ++globalContext->nextID;
4657 ;
4658 }
4659 break;
4660 case 408:
4661 {
4662 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
4663 yyval.classFunction->isVirtual = 0x1;
4664 yyval.classFunction->loc = (yyloc);
4665 yyval.classFunction->id = ++globalContext->nextID;
4666 ;
4667 }
4668 break;
4669 case 409:
4670 {
4671 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
4672 yyval.classFunction->loc = (yyloc);
4673 ;
4674 }
4675 break;
4676 case 410:
4677 {
4678 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
4679 yyval.classFunction->loc = (yyloc);
4680 ;
4681 }
4682 break;
4683 case 411:
4684 {
4685 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
4686 yyval.classFunction->loc = (yyloc);
4687 ;
4688 }
4689 break;
4690 case 412:
4691 {
4692 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
4693 yyval.classFunction->loc = (yyloc);
4694 ;
4695 }
4696 break;
4697 case 413:
4698 {
4699 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
4700 yyval.classFunction->loc = (yyloc);
4701 ;
4702 }
4703 break;
4704 case 414:
4705 {
4706 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
4707 yyval.classFunction->loc = (yyloc);
4708 yyval.classFunction->id = ++globalContext->nextID;
4709 ;
4710 }
4711 break;
4712 case 415:
4713 {
4714 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
4715 yyval.classFunction->loc = (yyloc);
4716 ;
4717 }
4718 break;
4719 case 416:
4720 {
4721 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4722 yyval.memberInit->loc = (yyloc);
4723 yyval.memberInit->realLoc = (yyloc);
4724 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4725 ;
4726 }
4727 break;
4728 case 417:
4729 {
4730 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
4731 yyval.memberInit->loc = (yyloc);
4732 yyval.memberInit->realLoc = (yyloc);
4733 ;
4734 }
4735 break;
4736 case 418:
4737 {
4738 yyval.list = MkList();
4739 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4740 ;
4741 }
4742 break;
4743 case 419:
4744 {
4745 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4746 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4747 yyval.list = yyvsp[(1) - (3)].list;
4748 ;
4749 }
4750 break;
4751 case 420:
4752 {
4753 if((*yyvsp[(1) - (2)].list).last)
4754 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
4755 yyval.list = yyvsp[(1) - (2)].list;
4756 ;
4757 }
4758 break;
4759 case 421:
4760 {
4761 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
4762
4763 yyval.list = MkList();
4764 ListAdd(yyval.list, members);
4765 members->loc = (yylsp[(1) - (1)]);
4766 ;
4767 }
4768 break;
4769 case 422:
4770 {
4771 yyval.list = MkList();
4772 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
4773 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
4774 ;
4775 }
4776 break;
4777 case 423:
4778 {
4779 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
4780
4781 ListAdd(yyval.list, members);
4782 members->loc = (yylsp[(2) - (2)]);
4783 yyval.list = yyvsp[(1) - (2)].list;
4784 ;
4785 }
4786 break;
4787 case 424:
4788 {
4789 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
4790 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
4791 yyval.list = yyvsp[(1) - (2)].list;
4792 ;
4793 }
4794 break;
4795 case 425:
4796 {
4797 struct MembersInit * members = MkMembersInitList(MkList());
4798
4799 yyval.list = MkList();
4800 ListAdd(yyval.list, members);
4801 members->loc = (yylsp[(1) - (1)]);
4802 ;
4803 }
4804 break;
4805 case 426:
4806 {
4807 struct MembersInit * members = MkMembersInitList(MkList());
4808
4809 ListAdd(yyval.list, members);
4810 members->loc = (yylsp[(2) - (2)]);
4811 yyval.list = yyvsp[(1) - (2)].list;
4812 ;
4813 }
4814 break;
4815 case 428:
4816 {
4817 yyval.list = MkList();
4818 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
4819 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
4820 ;
4821 }
4822 break;
4823 case 429:
4824 {
4825 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
4826 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
4827 ;
4828 }
4829 break;
4830 case 430:
4831 {
4832 parsedExpression = yyvsp[(1) - (1)].exp;
4833 ;
4834 }
4835 break;
4836 default:
4837 break;
4838 }
4839 do
4840 {
4841 if(expression_yydebug)
4842 {
4843 fprintf((bsl_stderr()), "%s ", "-> $$ =");
4844 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
4845 fprintf((bsl_stderr()), "\n");
4846 }
4847 }while((0));
4848 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4849 yylen = 0;
4850 do
4851 {
4852 if(expression_yydebug)
4853 yy_stack_print((yyss), (yyssp));
4854 }while((0));
4855 *++yyvsp = yyval;
4856 *++yylsp = yyloc;
4857 yyn = yyr1[yyn];
4858 yystate = yypgoto[yyn - 137] + *yyssp;
4859 if(0 <= yystate && yystate <= 7325 && yycheck[yystate] == *yyssp)
4860 yystate = yytable[yystate];
4861 else
4862 yystate = yydefgoto[yyn - 137];
4863 goto yynewstate;
4864 yyerrlab:
4865 if(!yyerrstatus)
4866 {
4867 ++expression_yynerrs;
4868 yyerror("syntax error");
4869 }
4870 yyerror_range[0] = expression_yylloc;
4871 if(yyerrstatus == 3)
4872 {
4873 if(expression_yychar <= 0)
4874 {
4875 if(expression_yychar == 0)
4876 goto yyabortlab;
4877 }
4878 else
4879 {
4880 yydestruct("Error: discarding", yytoken, &expression_yylval, &expression_yylloc);
4881 expression_yychar = (-2);
4882 }
4883 }
4884 goto yyerrlab1;
4885 yyerrorlab:
4886 if(0)
4887 goto yyerrorlab;
4888 yyerror_range[0] = yylsp[1 - yylen];
4889 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4890 yylen = 0;
4891 do
4892 {
4893 if(expression_yydebug)
4894 yy_stack_print((yyss), (yyssp));
4895 }while((0));
4896 yystate = *yyssp;
4897 goto yyerrlab1;
4898 yyerrlab1:
4899 yyerrstatus = 3;
4900 for(; ; )
4901 {
4902 yyn = yypact[yystate];
4903 if(yyn != -630)
4904 {
4905 yyn += 1;
4906 if(0 <= yyn && yyn <= 7325 && yycheck[yyn] == (short)1)
4907 {
4908 yyn = yytable[yyn];
4909 if(0 < yyn)
4910 break;
4911 }
4912 }
4913 if(yyssp == yyss)
4914 goto yyabortlab;
4915 yyerror_range[0] = *yylsp;
4916 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
4917 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
4918 yystate = *yyssp;
4919 do
4920 {
4921 if(expression_yydebug)
4922 yy_stack_print((yyss), (yyssp));
4923 }while((0));
4924 }
4925 *++yyvsp = expression_yylval;
4926 yyerror_range[1] = expression_yylloc;
4927 (yyloc.start = ((yyerror_range - 1))[1].start);
4928 (yyloc.end = ((yyerror_range - 1))[2].end);
4929 ;
4930 *++yylsp = yyloc;
4931 do
4932 {
4933 if(expression_yydebug)
4934 {
4935 fprintf((bsl_stderr()), "%s ", "Shifting");
4936 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
4937 fprintf((bsl_stderr()), "\n");
4938 }
4939 }while((0));
4940 yystate = yyn;
4941 goto yynewstate;
4942 yyacceptlab:
4943 yyresult = 0;
4944 goto yyreturn;
4945 yyabortlab:
4946 yyresult = 1;
4947 goto yyreturn;
4948 yyexhaustedlab:
4949 yyerror("memory exhausted");
4950 yyresult = 2;
4951 yyreturn:
4952 if(expression_yychar != (-2))
4953 yydestruct("Cleanup: discarding lookahead", yytoken, &expression_yylval, &expression_yylloc);
4954 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4955 do
4956 {
4957 if(expression_yydebug)
4958 yy_stack_print((yyss), (yyssp));
4959 }while((0));
4960 while(yyssp != yyss)
4961 {
4962 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
4963 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
4964 }
4965 if(yyss != yyssa)
4966 free(yyss);
4967 return (yyresult);
4968 }
4969
4970 void __ecereRegisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
4971 {
4972 struct __ecereNameSpace__ecere__com__Class * class;
4973
4974 }
4975
4976 void __ecereUnregisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
4977 {
4978
4979 }
4980