~ubuntu-branches/ubuntu/trusty/drizzle/trusty

« back to all changes in this revision

Viewing changes to drizzled/sql_yacc.cc

  • Committer: Bazaar Package Importer
  • Author(s): Monty Taylor
  • Date: 2010-03-18 12:12:31 UTC
  • Revision ID: james.westby@ubuntu.com-20100318121231-k6g1xe6cshbwa0f8
Tags: upstream-2010.03.1347
ImportĀ upstreamĀ versionĀ 2010.03.1347

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* A Bison parser, made by GNU Bison 2.3.  */
 
2
 
 
3
/* Skeleton implementation for Bison's Yacc-like parsers in C
 
4
 
 
5
   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 
6
   Free Software Foundation, Inc.
 
7
 
 
8
   This program is free software; you can redistribute it and/or modify
 
9
   it under the terms of the GNU General Public License as published by
 
10
   the Free Software Foundation; either version 2, or (at your option)
 
11
   any later version.
 
12
 
 
13
   This program is distributed in the hope that it will be useful,
 
14
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
   GNU General Public License for more details.
 
17
 
 
18
   You should have received a copy of the GNU General Public License
 
19
   along with this program; if not, write to the Free Software
 
20
   Foundation, Inc., 51 Franklin Street, Fifth Floor,
 
21
   Boston, MA 02110-1301, USA.  */
 
22
 
 
23
/* As a special exception, you may create a larger work that contains
 
24
   part or all of the Bison parser skeleton and distribute that work
 
25
   under terms of your choice, so long as that work isn't itself a
 
26
   parser generator using the skeleton or a modified version thereof
 
27
   as a parser skeleton.  Alternatively, if you modify or redistribute
 
28
   the parser skeleton itself, you may (at your option) remove this
 
29
   special exception, which will cause the skeleton and the resulting
 
30
   Bison output files to be licensed under the GNU General Public
 
31
   License without this special exception.
 
32
 
 
33
   This special exception was added by the Free Software Foundation in
 
34
   version 2.2 of Bison.  */
 
35
 
 
36
/* C LALR(1) parser skeleton written by Richard Stallman, by
 
37
   simplifying the original so-called "semantic" parser.  */
 
38
 
 
39
/* All symbols defined below should begin with yy or YY, to avoid
 
40
   infringing on user name space.  This should be done even for local
 
41
   variables, as they might otherwise be expanded by user macros.
 
42
   There are some unavoidable exceptions within include files to
 
43
   define necessary library symbols; they are noted "INFRINGES ON
 
44
   USER NAME SPACE" below.  */
 
45
 
 
46
/* Identify Bison output.  */
 
47
#define YYBISON 1
 
48
 
 
49
/* Bison version.  */
 
50
#define YYBISON_VERSION "2.3"
 
51
 
 
52
/* Skeleton name.  */
 
53
#define YYSKELETON_NAME "yacc.c"
 
54
 
 
55
/* Pure parsers.  */
 
56
#define YYPURE 1
 
57
 
 
58
/* Using locations.  */
 
59
#define YYLSP_NEEDED 0
 
60
 
 
61
/* Substitute the variable and function names.  */
 
62
#define yyparse DRIZZLEparse
 
63
#define yylex   DRIZZLElex
 
64
#define yyerror DRIZZLEerror
 
65
#define yylval  DRIZZLElval
 
66
#define yychar  DRIZZLEchar
 
67
#define yydebug DRIZZLEdebug
 
68
#define yynerrs DRIZZLEnerrs
 
69
 
 
70
 
 
71
/* Tokens.  */
 
72
#ifndef YYTOKENTYPE
 
73
# define YYTOKENTYPE
 
74
   /* Put the tokens into the symbol table, so that GDB and other debuggers
 
75
      know about them.  */
 
76
   enum yytokentype {
 
77
     ABORT_SYM = 258,
 
78
     ACTION = 259,
 
79
     ADD = 260,
 
80
     ADDDATE_SYM = 261,
 
81
     AFTER_SYM = 262,
 
82
     AGGREGATE_SYM = 263,
 
83
     ALL = 264,
 
84
     ALTER = 265,
 
85
     ANALYZE_SYM = 266,
 
86
     AND_SYM = 267,
 
87
     ANY_SYM = 268,
 
88
     AS = 269,
 
89
     ASC = 270,
 
90
     ASENSITIVE_SYM = 271,
 
91
     AT_SYM = 272,
 
92
     AUTO_INC = 273,
 
93
     AVG_ROW_LENGTH = 274,
 
94
     AVG_SYM = 275,
 
95
     BEFORE_SYM = 276,
 
96
     BEGIN_SYM = 277,
 
97
     BETWEEN_SYM = 278,
 
98
     BIGINT_SYM = 279,
 
99
     BINARY = 280,
 
100
     BIN_NUM = 281,
 
101
     BIT_SYM = 282,
 
102
     BLOB_SYM = 283,
 
103
     BLOCK_SIZE_SYM = 284,
 
104
     BLOCK_SYM = 285,
 
105
     BOOLEAN_SYM = 286,
 
106
     BOOL_SYM = 287,
 
107
     BOTH = 288,
 
108
     BTREE_SYM = 289,
 
109
     BY = 290,
 
110
     BYTE_SYM = 291,
 
111
     CALL_SYM = 292,
 
112
     CASCADE = 293,
 
113
     CASCADED = 294,
 
114
     CASE_SYM = 295,
 
115
     CAST_SYM = 296,
 
116
     CHAIN_SYM = 297,
 
117
     CHANGE = 298,
 
118
     CHAR_SYM = 299,
 
119
     CHECKSUM_SYM = 300,
 
120
     CHECK_SYM = 301,
 
121
     CLOSE_SYM = 302,
 
122
     COALESCE = 303,
 
123
     COLLATE_SYM = 304,
 
124
     COLLATION_SYM = 305,
 
125
     COLUMNS = 306,
 
126
     COLUMN_SYM = 307,
 
127
     COMMENT_SYM = 308,
 
128
     COMMITTED_SYM = 309,
 
129
     COMMIT_SYM = 310,
 
130
     COMPACT_SYM = 311,
 
131
     COMPRESSED_SYM = 312,
 
132
     CONCURRENT = 313,
 
133
     CONDITION_SYM = 314,
 
134
     CONNECTION_SYM = 315,
 
135
     CONSISTENT_SYM = 316,
 
136
     CONSTRAINT = 317,
 
137
     CONTAINS_SYM = 318,
 
138
     CONTINUE_SYM = 319,
 
139
     CONVERT_SYM = 320,
 
140
     COUNT_SYM = 321,
 
141
     CREATE = 322,
 
142
     CROSS = 323,
 
143
     CUBE_SYM = 324,
 
144
     CURDATE = 325,
 
145
     CURRENT_USER = 326,
 
146
     CURSOR_SYM = 327,
 
147
     DATABASE = 328,
 
148
     DATABASES = 329,
 
149
     DATAFILE_SYM = 330,
 
150
     DATA_SYM = 331,
 
151
     DATETIME_SYM = 332,
 
152
     DATE_ADD_INTERVAL = 333,
 
153
     DATE_SUB_INTERVAL = 334,
 
154
     DATE_SYM = 335,
 
155
     DAY_HOUR_SYM = 336,
 
156
     DAY_MICROSECOND_SYM = 337,
 
157
     DAY_MINUTE_SYM = 338,
 
158
     DAY_SECOND_SYM = 339,
 
159
     DAY_SYM = 340,
 
160
     DEALLOCATE_SYM = 341,
 
161
     DECIMAL_NUM = 342,
 
162
     DECIMAL_SYM = 343,
 
163
     DECLARE_SYM = 344,
 
164
     DEFAULT = 345,
 
165
     DELETE_SYM = 346,
 
166
     DESC = 347,
 
167
     DESCRIBE = 348,
 
168
     DETERMINISTIC_SYM = 349,
 
169
     DISABLE_SYM = 350,
 
170
     DISCARD = 351,
 
171
     DISTINCT = 352,
 
172
     DIV_SYM = 353,
 
173
     DOUBLE_SYM = 354,
 
174
     DROP = 355,
 
175
     DUMPFILE = 356,
 
176
     DUPLICATE_SYM = 357,
 
177
     DYNAMIC_SYM = 358,
 
178
     EACH_SYM = 359,
 
179
     ELSE = 360,
 
180
     ELSEIF_SYM = 361,
 
181
     ENABLE_SYM = 362,
 
182
     ENCLOSED = 363,
 
183
     END = 364,
 
184
     ENDS_SYM = 365,
 
185
     END_OF_INPUT = 366,
 
186
     ENGINE_SYM = 367,
 
187
     ENUM_SYM = 368,
 
188
     EQ = 369,
 
189
     EQUAL_SYM = 370,
 
190
     ERRORS = 371,
 
191
     ESCAPED = 372,
 
192
     ESCAPE_SYM = 373,
 
193
     EXCLUSIVE_SYM = 374,
 
194
     EXISTS = 375,
 
195
     EXTENDED_SYM = 376,
 
196
     EXTRACT_SYM = 377,
 
197
     FALSE_SYM = 378,
 
198
     FETCH_SYM = 379,
 
199
     COLUMN_FORMAT_SYM = 380,
 
200
     FILE_SYM = 381,
 
201
     FIRST_SYM = 382,
 
202
     FIXED_SYM = 383,
 
203
     FLOAT_NUM = 384,
 
204
     FLUSH_SYM = 385,
 
205
     FORCE_SYM = 386,
 
206
     FOREIGN = 387,
 
207
     FOR_SYM = 388,
 
208
     FOUND_SYM = 389,
 
209
     FRAC_SECOND_SYM = 390,
 
210
     FROM = 391,
 
211
     FULL = 392,
 
212
     GE = 393,
 
213
     GLOBAL_SYM = 394,
 
214
     GROUP_SYM = 395,
 
215
     GROUP_CONCAT_SYM = 396,
 
216
     GT_SYM = 397,
 
217
     HASH_SYM = 398,
 
218
     HAVING = 399,
 
219
     HEX_NUM = 400,
 
220
     HOUR_MICROSECOND_SYM = 401,
 
221
     HOUR_MINUTE_SYM = 402,
 
222
     HOUR_SECOND_SYM = 403,
 
223
     HOUR_SYM = 404,
 
224
     IDENT = 405,
 
225
     IDENTIFIED_SYM = 406,
 
226
     IDENT_QUOTED = 407,
 
227
     IF = 408,
 
228
     IGNORE_SYM = 409,
 
229
     IMPORT = 410,
 
230
     INDEXES = 411,
 
231
     INDEX_SYM = 412,
 
232
     INFILE = 413,
 
233
     INNER_SYM = 414,
 
234
     INOUT_SYM = 415,
 
235
     INSENSITIVE_SYM = 416,
 
236
     INSERT = 417,
 
237
     INTERVAL_SYM = 418,
 
238
     INTO = 419,
 
239
     INT_SYM = 420,
 
240
     IN_SYM = 421,
 
241
     IS = 422,
 
242
     ISOLATION = 423,
 
243
     ITERATE_SYM = 424,
 
244
     JOIN_SYM = 425,
 
245
     KEYS = 426,
 
246
     KEY_BLOCK_SIZE = 427,
 
247
     KEY_SYM = 428,
 
248
     KILL_SYM = 429,
 
249
     LAST_SYM = 430,
 
250
     LE = 431,
 
251
     LEADING = 432,
 
252
     LEFT = 433,
 
253
     LEVEL_SYM = 434,
 
254
     LEX_HOSTNAME = 435,
 
255
     LIKE = 436,
 
256
     LIMIT = 437,
 
257
     LINES = 438,
 
258
     LIST_SYM = 439,
 
259
     LOAD = 440,
 
260
     LOCAL_SYM = 441,
 
261
     LOCATOR_SYM = 442,
 
262
     LOCKS_SYM = 443,
 
263
     LOCK_SYM = 444,
 
264
     LOGS_SYM = 445,
 
265
     LONG_NUM = 446,
 
266
     LONG_SYM = 447,
 
267
     LOOP_SYM = 448,
 
268
     LT = 449,
 
269
     MATCH = 450,
 
270
     MAX_ROWS = 451,
 
271
     MAX_SIZE_SYM = 452,
 
272
     MAX_SYM = 453,
 
273
     MAX_VALUE_SYM = 454,
 
274
     MEDIUM_SYM = 455,
 
275
     MERGE_SYM = 456,
 
276
     MICROSECOND_SYM = 457,
 
277
     MINUTE_MICROSECOND_SYM = 458,
 
278
     MINUTE_SECOND_SYM = 459,
 
279
     MINUTE_SYM = 460,
 
280
     MIN_ROWS = 461,
 
281
     MIN_SYM = 462,
 
282
     MODE_SYM = 463,
 
283
     MODIFIES_SYM = 464,
 
284
     MODIFY_SYM = 465,
 
285
     MOD_SYM = 466,
 
286
     MONTH_SYM = 467,
 
287
     NAMES_SYM = 468,
 
288
     NAME_SYM = 469,
 
289
     NATIONAL_SYM = 470,
 
290
     NATURAL = 471,
 
291
     NE = 472,
 
292
     NEG = 473,
 
293
     NEW_SYM = 474,
 
294
     NEXT_SYM = 475,
 
295
     NONE_SYM = 476,
 
296
     NOT_SYM = 477,
 
297
     NOW_SYM = 478,
 
298
     NO_SYM = 479,
 
299
     NULL_SYM = 480,
 
300
     NUM = 481,
 
301
     NUMERIC_SYM = 482,
 
302
     OFFLINE_SYM = 483,
 
303
     OFFSET_SYM = 484,
 
304
     ON = 485,
 
305
     ONE_SHOT_SYM = 486,
 
306
     ONE_SYM = 487,
 
307
     ONLINE_SYM = 488,
 
308
     OPEN_SYM = 489,
 
309
     OPTIMIZE = 490,
 
310
     OPTION = 491,
 
311
     OPTIONALLY = 492,
 
312
     ORDER_SYM = 493,
 
313
     OR_SYM = 494,
 
314
     OUTER = 495,
 
315
     OUTFILE = 496,
 
316
     OUT_SYM = 497,
 
317
     PAGE_SYM = 498,
 
318
     PARTIAL = 499,
 
319
     PHASE_SYM = 500,
 
320
     POSITION_SYM = 501,
 
321
     PRECISION = 502,
 
322
     PREV_SYM = 503,
 
323
     PRIMARY_SYM = 504,
 
324
     PROCESS = 505,
 
325
     PROCESSLIST_SYM = 506,
 
326
     QUARTER_SYM = 507,
 
327
     QUERY_SYM = 508,
 
328
     RANGE_SYM = 509,
 
329
     READS_SYM = 510,
 
330
     READ_ONLY_SYM = 511,
 
331
     READ_SYM = 512,
 
332
     READ_WRITE_SYM = 513,
 
333
     REAL = 514,
 
334
     REDUNDANT_SYM = 515,
 
335
     REFERENCES = 516,
 
336
     RELEASE_SYM = 517,
 
337
     RENAME = 518,
 
338
     REPEATABLE_SYM = 519,
 
339
     REPEAT_SYM = 520,
 
340
     REPLACE = 521,
 
341
     RESTRICT = 522,
 
342
     RETURNS_SYM = 523,
 
343
     RETURN_SYM = 524,
 
344
     REVERSE_SYM = 525,
 
345
     REVOKE = 526,
 
346
     RIGHT = 527,
 
347
     ROLLBACK_SYM = 528,
 
348
     ROLLUP_SYM = 529,
 
349
     ROUTINE_SYM = 530,
 
350
     ROWS_SYM = 531,
 
351
     ROW_FORMAT_SYM = 532,
 
352
     ROW_SYM = 533,
 
353
     SAVEPOINT_SYM = 534,
 
354
     SECOND_MICROSECOND_SYM = 535,
 
355
     SECOND_SYM = 536,
 
356
     SECURITY_SYM = 537,
 
357
     SELECT_SYM = 538,
 
358
     SENSITIVE_SYM = 539,
 
359
     SEPARATOR_SYM = 540,
 
360
     SERIALIZABLE_SYM = 541,
 
361
     SERIAL_SYM = 542,
 
362
     SESSION_SYM = 543,
 
363
     SERVER_SYM = 544,
 
364
     SERVER_OPTIONS = 545,
 
365
     SET = 546,
 
366
     SET_VAR = 547,
 
367
     SHARE_SYM = 548,
 
368
     SHOW = 549,
 
369
     SHUTDOWN = 550,
 
370
     SIMPLE_SYM = 551,
 
371
     SNAPSHOT_SYM = 552,
 
372
     SPECIFIC_SYM = 553,
 
373
     SQLEXCEPTION_SYM = 554,
 
374
     SQLSTATE_SYM = 555,
 
375
     SQLWARNING_SYM = 556,
 
376
     SQL_BIG_RESULT = 557,
 
377
     SQL_BUFFER_RESULT = 558,
 
378
     SQL_CALC_FOUND_ROWS = 559,
 
379
     SQL_SMALL_RESULT = 560,
 
380
     SQL_SYM = 561,
 
381
     STARTING = 562,
 
382
     START_SYM = 563,
 
383
     STATUS_SYM = 564,
 
384
     STDDEV_SAMP_SYM = 565,
 
385
     STD_SYM = 566,
 
386
     STOP_SYM = 567,
 
387
     STORAGE_SYM = 568,
 
388
     STORED_SYM = 569,
 
389
     STRAIGHT_JOIN = 570,
 
390
     STRING_SYM = 571,
 
391
     SUBDATE_SYM = 572,
 
392
     SUBJECT_SYM = 573,
 
393
     SUBSTRING = 574,
 
394
     SUM_SYM = 575,
 
395
     SUSPEND_SYM = 576,
 
396
     SWAPS_SYM = 577,
 
397
     SWITCHES_SYM = 578,
 
398
     SYSDATE = 579,
 
399
     TABLES = 580,
 
400
     TABLESPACE = 581,
 
401
     TABLE_REF_PRIORITY = 582,
 
402
     TABLE_SYM = 583,
 
403
     TEMPORARY_SYM = 584,
 
404
     TERMINATED = 585,
 
405
     TEXT_STRING = 586,
 
406
     TEXT_SYM = 587,
 
407
     THEN_SYM = 588,
 
408
     TIMESTAMP_SYM = 589,
 
409
     TIMESTAMP_ADD = 590,
 
410
     TIMESTAMP_DIFF = 591,
 
411
     TO_SYM = 592,
 
412
     TRAILING = 593,
 
413
     TRANSACTION_SYM = 594,
 
414
     TRIM = 595,
 
415
     TRUE_SYM = 596,
 
416
     TRUNCATE_SYM = 597,
 
417
     TYPES_SYM = 598,
 
418
     TYPE_SYM = 599,
 
419
     ULONGLONG_NUM = 600,
 
420
     UNCOMMITTED_SYM = 601,
 
421
     UNDOFILE_SYM = 602,
 
422
     UNDO_SYM = 603,
 
423
     UNION_SYM = 604,
 
424
     UNIQUE_SYM = 605,
 
425
     UNKNOWN_SYM = 606,
 
426
     UNLOCK_SYM = 607,
 
427
     UPDATE_SYM = 608,
 
428
     USAGE = 609,
 
429
     USER = 610,
 
430
     USE_SYM = 611,
 
431
     USING = 612,
 
432
     UTC_DATE_SYM = 613,
 
433
     UTC_TIMESTAMP_SYM = 614,
 
434
     VALUES = 615,
 
435
     VALUE_SYM = 616,
 
436
     VARBINARY = 617,
 
437
     VARCHAR_SYM = 618,
 
438
     VARIABLES = 619,
 
439
     VARIANCE_SYM = 620,
 
440
     VARYING = 621,
 
441
     VAR_SAMP_SYM = 622,
 
442
     WARNINGS = 623,
 
443
     WEEK_SYM = 624,
 
444
     WHEN_SYM = 625,
 
445
     WHERE = 626,
 
446
     WITH = 627,
 
447
     WITH_ROLLUP_SYM = 628,
 
448
     WORK_SYM = 629,
 
449
     WRITE_SYM = 630,
 
450
     XOR = 631,
 
451
     YEAR_MONTH_SYM = 632,
 
452
     YEAR_SYM = 633
 
453
   };
 
454
#endif
 
455
/* Tokens.  */
 
456
#define ABORT_SYM 258
 
457
#define ACTION 259
 
458
#define ADD 260
 
459
#define ADDDATE_SYM 261
 
460
#define AFTER_SYM 262
 
461
#define AGGREGATE_SYM 263
 
462
#define ALL 264
 
463
#define ALTER 265
 
464
#define ANALYZE_SYM 266
 
465
#define AND_SYM 267
 
466
#define ANY_SYM 268
 
467
#define AS 269
 
468
#define ASC 270
 
469
#define ASENSITIVE_SYM 271
 
470
#define AT_SYM 272
 
471
#define AUTO_INC 273
 
472
#define AVG_ROW_LENGTH 274
 
473
#define AVG_SYM 275
 
474
#define BEFORE_SYM 276
 
475
#define BEGIN_SYM 277
 
476
#define BETWEEN_SYM 278
 
477
#define BIGINT_SYM 279
 
478
#define BINARY 280
 
479
#define BIN_NUM 281
 
480
#define BIT_SYM 282
 
481
#define BLOB_SYM 283
 
482
#define BLOCK_SIZE_SYM 284
 
483
#define BLOCK_SYM 285
 
484
#define BOOLEAN_SYM 286
 
485
#define BOOL_SYM 287
 
486
#define BOTH 288
 
487
#define BTREE_SYM 289
 
488
#define BY 290
 
489
#define BYTE_SYM 291
 
490
#define CALL_SYM 292
 
491
#define CASCADE 293
 
492
#define CASCADED 294
 
493
#define CASE_SYM 295
 
494
#define CAST_SYM 296
 
495
#define CHAIN_SYM 297
 
496
#define CHANGE 298
 
497
#define CHAR_SYM 299
 
498
#define CHECKSUM_SYM 300
 
499
#define CHECK_SYM 301
 
500
#define CLOSE_SYM 302
 
501
#define COALESCE 303
 
502
#define COLLATE_SYM 304
 
503
#define COLLATION_SYM 305
 
504
#define COLUMNS 306
 
505
#define COLUMN_SYM 307
 
506
#define COMMENT_SYM 308
 
507
#define COMMITTED_SYM 309
 
508
#define COMMIT_SYM 310
 
509
#define COMPACT_SYM 311
 
510
#define COMPRESSED_SYM 312
 
511
#define CONCURRENT 313
 
512
#define CONDITION_SYM 314
 
513
#define CONNECTION_SYM 315
 
514
#define CONSISTENT_SYM 316
 
515
#define CONSTRAINT 317
 
516
#define CONTAINS_SYM 318
 
517
#define CONTINUE_SYM 319
 
518
#define CONVERT_SYM 320
 
519
#define COUNT_SYM 321
 
520
#define CREATE 322
 
521
#define CROSS 323
 
522
#define CUBE_SYM 324
 
523
#define CURDATE 325
 
524
#define CURRENT_USER 326
 
525
#define CURSOR_SYM 327
 
526
#define DATABASE 328
 
527
#define DATABASES 329
 
528
#define DATAFILE_SYM 330
 
529
#define DATA_SYM 331
 
530
#define DATETIME_SYM 332
 
531
#define DATE_ADD_INTERVAL 333
 
532
#define DATE_SUB_INTERVAL 334
 
533
#define DATE_SYM 335
 
534
#define DAY_HOUR_SYM 336
 
535
#define DAY_MICROSECOND_SYM 337
 
536
#define DAY_MINUTE_SYM 338
 
537
#define DAY_SECOND_SYM 339
 
538
#define DAY_SYM 340
 
539
#define DEALLOCATE_SYM 341
 
540
#define DECIMAL_NUM 342
 
541
#define DECIMAL_SYM 343
 
542
#define DECLARE_SYM 344
 
543
#define DEFAULT 345
 
544
#define DELETE_SYM 346
 
545
#define DESC 347
 
546
#define DESCRIBE 348
 
547
#define DETERMINISTIC_SYM 349
 
548
#define DISABLE_SYM 350
 
549
#define DISCARD 351
 
550
#define DISTINCT 352
 
551
#define DIV_SYM 353
 
552
#define DOUBLE_SYM 354
 
553
#define DROP 355
 
554
#define DUMPFILE 356
 
555
#define DUPLICATE_SYM 357
 
556
#define DYNAMIC_SYM 358
 
557
#define EACH_SYM 359
 
558
#define ELSE 360
 
559
#define ELSEIF_SYM 361
 
560
#define ENABLE_SYM 362
 
561
#define ENCLOSED 363
 
562
#define END 364
 
563
#define ENDS_SYM 365
 
564
#define END_OF_INPUT 366
 
565
#define ENGINE_SYM 367
 
566
#define ENUM_SYM 368
 
567
#define EQ 369
 
568
#define EQUAL_SYM 370
 
569
#define ERRORS 371
 
570
#define ESCAPED 372
 
571
#define ESCAPE_SYM 373
 
572
#define EXCLUSIVE_SYM 374
 
573
#define EXISTS 375
 
574
#define EXTENDED_SYM 376
 
575
#define EXTRACT_SYM 377
 
576
#define FALSE_SYM 378
 
577
#define FETCH_SYM 379
 
578
#define COLUMN_FORMAT_SYM 380
 
579
#define FILE_SYM 381
 
580
#define FIRST_SYM 382
 
581
#define FIXED_SYM 383
 
582
#define FLOAT_NUM 384
 
583
#define FLUSH_SYM 385
 
584
#define FORCE_SYM 386
 
585
#define FOREIGN 387
 
586
#define FOR_SYM 388
 
587
#define FOUND_SYM 389
 
588
#define FRAC_SECOND_SYM 390
 
589
#define FROM 391
 
590
#define FULL 392
 
591
#define GE 393
 
592
#define GLOBAL_SYM 394
 
593
#define GROUP_SYM 395
 
594
#define GROUP_CONCAT_SYM 396
 
595
#define GT_SYM 397
 
596
#define HASH_SYM 398
 
597
#define HAVING 399
 
598
#define HEX_NUM 400
 
599
#define HOUR_MICROSECOND_SYM 401
 
600
#define HOUR_MINUTE_SYM 402
 
601
#define HOUR_SECOND_SYM 403
 
602
#define HOUR_SYM 404
 
603
#define IDENT 405
 
604
#define IDENTIFIED_SYM 406
 
605
#define IDENT_QUOTED 407
 
606
#define IF 408
 
607
#define IGNORE_SYM 409
 
608
#define IMPORT 410
 
609
#define INDEXES 411
 
610
#define INDEX_SYM 412
 
611
#define INFILE 413
 
612
#define INNER_SYM 414
 
613
#define INOUT_SYM 415
 
614
#define INSENSITIVE_SYM 416
 
615
#define INSERT 417
 
616
#define INTERVAL_SYM 418
 
617
#define INTO 419
 
618
#define INT_SYM 420
 
619
#define IN_SYM 421
 
620
#define IS 422
 
621
#define ISOLATION 423
 
622
#define ITERATE_SYM 424
 
623
#define JOIN_SYM 425
 
624
#define KEYS 426
 
625
#define KEY_BLOCK_SIZE 427
 
626
#define KEY_SYM 428
 
627
#define KILL_SYM 429
 
628
#define LAST_SYM 430
 
629
#define LE 431
 
630
#define LEADING 432
 
631
#define LEFT 433
 
632
#define LEVEL_SYM 434
 
633
#define LEX_HOSTNAME 435
 
634
#define LIKE 436
 
635
#define LIMIT 437
 
636
#define LINES 438
 
637
#define LIST_SYM 439
 
638
#define LOAD 440
 
639
#define LOCAL_SYM 441
 
640
#define LOCATOR_SYM 442
 
641
#define LOCKS_SYM 443
 
642
#define LOCK_SYM 444
 
643
#define LOGS_SYM 445
 
644
#define LONG_NUM 446
 
645
#define LONG_SYM 447
 
646
#define LOOP_SYM 448
 
647
#define LT 449
 
648
#define MATCH 450
 
649
#define MAX_ROWS 451
 
650
#define MAX_SIZE_SYM 452
 
651
#define MAX_SYM 453
 
652
#define MAX_VALUE_SYM 454
 
653
#define MEDIUM_SYM 455
 
654
#define MERGE_SYM 456
 
655
#define MICROSECOND_SYM 457
 
656
#define MINUTE_MICROSECOND_SYM 458
 
657
#define MINUTE_SECOND_SYM 459
 
658
#define MINUTE_SYM 460
 
659
#define MIN_ROWS 461
 
660
#define MIN_SYM 462
 
661
#define MODE_SYM 463
 
662
#define MODIFIES_SYM 464
 
663
#define MODIFY_SYM 465
 
664
#define MOD_SYM 466
 
665
#define MONTH_SYM 467
 
666
#define NAMES_SYM 468
 
667
#define NAME_SYM 469
 
668
#define NATIONAL_SYM 470
 
669
#define NATURAL 471
 
670
#define NE 472
 
671
#define NEG 473
 
672
#define NEW_SYM 474
 
673
#define NEXT_SYM 475
 
674
#define NONE_SYM 476
 
675
#define NOT_SYM 477
 
676
#define NOW_SYM 478
 
677
#define NO_SYM 479
 
678
#define NULL_SYM 480
 
679
#define NUM 481
 
680
#define NUMERIC_SYM 482
 
681
#define OFFLINE_SYM 483
 
682
#define OFFSET_SYM 484
 
683
#define ON 485
 
684
#define ONE_SHOT_SYM 486
 
685
#define ONE_SYM 487
 
686
#define ONLINE_SYM 488
 
687
#define OPEN_SYM 489
 
688
#define OPTIMIZE 490
 
689
#define OPTION 491
 
690
#define OPTIONALLY 492
 
691
#define ORDER_SYM 493
 
692
#define OR_SYM 494
 
693
#define OUTER 495
 
694
#define OUTFILE 496
 
695
#define OUT_SYM 497
 
696
#define PAGE_SYM 498
 
697
#define PARTIAL 499
 
698
#define PHASE_SYM 500
 
699
#define POSITION_SYM 501
 
700
#define PRECISION 502
 
701
#define PREV_SYM 503
 
702
#define PRIMARY_SYM 504
 
703
#define PROCESS 505
 
704
#define PROCESSLIST_SYM 506
 
705
#define QUARTER_SYM 507
 
706
#define QUERY_SYM 508
 
707
#define RANGE_SYM 509
 
708
#define READS_SYM 510
 
709
#define READ_ONLY_SYM 511
 
710
#define READ_SYM 512
 
711
#define READ_WRITE_SYM 513
 
712
#define REAL 514
 
713
#define REDUNDANT_SYM 515
 
714
#define REFERENCES 516
 
715
#define RELEASE_SYM 517
 
716
#define RENAME 518
 
717
#define REPEATABLE_SYM 519
 
718
#define REPEAT_SYM 520
 
719
#define REPLACE 521
 
720
#define RESTRICT 522
 
721
#define RETURNS_SYM 523
 
722
#define RETURN_SYM 524
 
723
#define REVERSE_SYM 525
 
724
#define REVOKE 526
 
725
#define RIGHT 527
 
726
#define ROLLBACK_SYM 528
 
727
#define ROLLUP_SYM 529
 
728
#define ROUTINE_SYM 530
 
729
#define ROWS_SYM 531
 
730
#define ROW_FORMAT_SYM 532
 
731
#define ROW_SYM 533
 
732
#define SAVEPOINT_SYM 534
 
733
#define SECOND_MICROSECOND_SYM 535
 
734
#define SECOND_SYM 536
 
735
#define SECURITY_SYM 537
 
736
#define SELECT_SYM 538
 
737
#define SENSITIVE_SYM 539
 
738
#define SEPARATOR_SYM 540
 
739
#define SERIALIZABLE_SYM 541
 
740
#define SERIAL_SYM 542
 
741
#define SESSION_SYM 543
 
742
#define SERVER_SYM 544
 
743
#define SERVER_OPTIONS 545
 
744
#define SET 546
 
745
#define SET_VAR 547
 
746
#define SHARE_SYM 548
 
747
#define SHOW 549
 
748
#define SHUTDOWN 550
 
749
#define SIMPLE_SYM 551
 
750
#define SNAPSHOT_SYM 552
 
751
#define SPECIFIC_SYM 553
 
752
#define SQLEXCEPTION_SYM 554
 
753
#define SQLSTATE_SYM 555
 
754
#define SQLWARNING_SYM 556
 
755
#define SQL_BIG_RESULT 557
 
756
#define SQL_BUFFER_RESULT 558
 
757
#define SQL_CALC_FOUND_ROWS 559
 
758
#define SQL_SMALL_RESULT 560
 
759
#define SQL_SYM 561
 
760
#define STARTING 562
 
761
#define START_SYM 563
 
762
#define STATUS_SYM 564
 
763
#define STDDEV_SAMP_SYM 565
 
764
#define STD_SYM 566
 
765
#define STOP_SYM 567
 
766
#define STORAGE_SYM 568
 
767
#define STORED_SYM 569
 
768
#define STRAIGHT_JOIN 570
 
769
#define STRING_SYM 571
 
770
#define SUBDATE_SYM 572
 
771
#define SUBJECT_SYM 573
 
772
#define SUBSTRING 574
 
773
#define SUM_SYM 575
 
774
#define SUSPEND_SYM 576
 
775
#define SWAPS_SYM 577
 
776
#define SWITCHES_SYM 578
 
777
#define SYSDATE 579
 
778
#define TABLES 580
 
779
#define TABLESPACE 581
 
780
#define TABLE_REF_PRIORITY 582
 
781
#define TABLE_SYM 583
 
782
#define TEMPORARY_SYM 584
 
783
#define TERMINATED 585
 
784
#define TEXT_STRING 586
 
785
#define TEXT_SYM 587
 
786
#define THEN_SYM 588
 
787
#define TIMESTAMP_SYM 589
 
788
#define TIMESTAMP_ADD 590
 
789
#define TIMESTAMP_DIFF 591
 
790
#define TO_SYM 592
 
791
#define TRAILING 593
 
792
#define TRANSACTION_SYM 594
 
793
#define TRIM 595
 
794
#define TRUE_SYM 596
 
795
#define TRUNCATE_SYM 597
 
796
#define TYPES_SYM 598
 
797
#define TYPE_SYM 599
 
798
#define ULONGLONG_NUM 600
 
799
#define UNCOMMITTED_SYM 601
 
800
#define UNDOFILE_SYM 602
 
801
#define UNDO_SYM 603
 
802
#define UNION_SYM 604
 
803
#define UNIQUE_SYM 605
 
804
#define UNKNOWN_SYM 606
 
805
#define UNLOCK_SYM 607
 
806
#define UPDATE_SYM 608
 
807
#define USAGE 609
 
808
#define USER 610
 
809
#define USE_SYM 611
 
810
#define USING 612
 
811
#define UTC_DATE_SYM 613
 
812
#define UTC_TIMESTAMP_SYM 614
 
813
#define VALUES 615
 
814
#define VALUE_SYM 616
 
815
#define VARBINARY 617
 
816
#define VARCHAR_SYM 618
 
817
#define VARIABLES 619
 
818
#define VARIANCE_SYM 620
 
819
#define VARYING 621
 
820
#define VAR_SAMP_SYM 622
 
821
#define WARNINGS 623
 
822
#define WEEK_SYM 624
 
823
#define WHEN_SYM 625
 
824
#define WHERE 626
 
825
#define WITH 627
 
826
#define WITH_ROLLUP_SYM 628
 
827
#define WORK_SYM 629
 
828
#define WRITE_SYM 630
 
829
#define XOR 631
 
830
#define YEAR_MONTH_SYM 632
 
831
#define YEAR_SYM 633
 
832
 
 
833
 
 
834
 
 
835
 
 
836
/* Copy the first part of user declarations.  */
 
837
#line 23 "sql_yacc.yy"
 
838
 
 
839
/* session is passed as an argument to yyparse(), and subsequently to yylex().
 
840
** The type will be void*, so it must be  cast to (Session*) when used.
 
841
** Use the YYSession macro for this.
 
842
*/
 
843
#define YYPARSE_PARAM yysession
 
844
#define YYLEX_PARAM yysession
 
845
#define YYSession (static_cast<Session *>(yysession))
 
846
 
 
847
#define YYENABLE_NLS 0
 
848
#define YYLTYPE_IS_TRIVIAL 0
 
849
 
 
850
#define DRIZZLE_YACC
 
851
#define YYINITDEPTH 100
 
852
#define YYMAXDEPTH 3200                        /* Because of 64K stack */
 
853
#define Lex (YYSession->lex)
 
854
 
 
855
#include "config.h"
 
856
#include "drizzled/parser.h"
 
857
 
 
858
int yylex(void *yylval, void *yysession);
 
859
 
 
860
#define yyoverflow(A,B,C,D,E,F)               \
 
861
  {                                           \
 
862
    ulong val= *(F);                          \
 
863
    if (drizzled::my_yyoverflow((B), (D), &val)) \
 
864
    {                                         \
 
865
      yyerror((char*) (A));                   \
 
866
      return 2;                               \
 
867
    }                                         \
 
868
    else                                      \
 
869
    {                                         \
 
870
      *(F)= (YYSIZE_T)val;                    \
 
871
    }                                         \
 
872
  }
 
873
 
 
874
#define DRIZZLE_YYABORT                         \
 
875
  do                                          \
 
876
  {                                           \
 
877
    LEX::cleanup_lex_after_parse_error(YYSession);\
 
878
    YYABORT;                                  \
 
879
  } while (0)
 
880
 
 
881
#define DRIZZLE_YYABORT_UNLESS(A)         \
 
882
  if (!(A))                             \
 
883
  {                                     \
 
884
    my_parse_error(ER(ER_SYNTAX_ERROR));\
 
885
    DRIZZLE_YYABORT;                      \
 
886
  }
 
887
 
 
888
 
 
889
#define YYDEBUG 0
 
890
 
 
891
namespace drizzled
 
892
{
 
893
 
 
894
class Table_ident;
 
895
class Item;
 
896
class Item_num;
 
897
 
 
898
 
 
899
static bool check_reserved_words(LEX_STRING *name)
 
900
{
 
901
  if (!my_strcasecmp(system_charset_info, name->str, "GLOBAL") ||
 
902
      !my_strcasecmp(system_charset_info, name->str, "LOCAL") ||
 
903
      !my_strcasecmp(system_charset_info, name->str, "SESSION"))
 
904
    return true;
 
905
  return false;
 
906
}
 
907
 
 
908
/**
 
909
  @brief Push an error message into MySQL error stack with line
 
910
  and position information.
 
911
 
 
912
  This function provides semantic action implementers with a way
 
913
  to push the famous "You have a syntax error near..." error
 
914
  message into the error stack, which is normally produced only if
 
915
  a parse error is discovered internally by the Bison generated
 
916
  parser.
 
917
*/
 
918
 
 
919
static void my_parse_error(const char *s)
 
920
{
 
921
  Session *session= current_session;
 
922
  Lex_input_stream *lip= session->m_lip;
 
923
 
 
924
  const char *yytext= lip->get_tok_start();
 
925
  /* Push an error into the error stack */
 
926
  my_printf_error(ER_PARSE_ERROR,  ER(ER_PARSE_ERROR), MYF(0), s,
 
927
                  (yytext ? yytext : ""),
 
928
                  lip->yylineno);
 
929
}
 
930
 
 
931
/**
 
932
  @brief Bison callback to report a syntax/OOM error
 
933
 
 
934
  This function is invoked by the bison-generated parser
 
935
  when a syntax error, a parse error or an out-of-memory
 
936
  condition occurs. This function is not invoked when the
 
937
  parser is requested to abort by semantic action code
 
938
  by means of YYABORT or YYACCEPT macros. This is why these
 
939
  macros should not be used (use DRIZZLE_YYABORT/DRIZZLE_YYACCEPT
 
940
  instead).
 
941
 
 
942
  The parser will abort immediately after invoking this callback.
 
943
 
 
944
  This function is not for use in semantic actions and is internal to
 
945
  the parser, as it performs some pre-return cleanup.
 
946
  In semantic actions, please use my_parse_error or my_error to
 
947
  push an error into the error stack and DRIZZLE_YYABORT
 
948
  to abort from the parser.
 
949
*/
 
950
 
 
951
static void DRIZZLEerror(const char *s)
 
952
{
 
953
  Session *session= current_session;
 
954
 
 
955
  /*
 
956
    Restore the original LEX if it was replaced when parsing
 
957
    a stored procedure. We must ensure that a parsing error
 
958
    does not leave any side effects in the Session.
 
959
  */
 
960
  LEX::cleanup_lex_after_parse_error(session);
 
961
 
 
962
  /* "parse error" changed into "syntax error" between bison 1.75 and 1.875 */
 
963
  if (strcmp(s,"parse error") == 0 || strcmp(s,"syntax error") == 0)
 
964
    s= ER(ER_SYNTAX_ERROR);
 
965
  my_parse_error(s);
 
966
}
 
967
 
 
968
/**
 
969
  Helper to resolve the SQL:2003 Syntax exception 1) in <in predicate>.
 
970
  See SQL:2003, Part 2, section 8.4 <in predicate>, Note 184, page 383.
 
971
  This function returns the proper item for the SQL expression
 
972
  <code>left [NOT] IN ( expr )</code>
 
973
  @param session the current thread
 
974
  @param left the in predicand
 
975
  @param equal true for IN predicates, false for NOT IN predicates
 
976
  @param expr first and only expression of the in value list
 
977
  @return an expression representing the IN predicate.
 
978
*/
 
979
static Item* handle_sql2003_note184_exception(Session *session,
 
980
                                              Item* left, bool equal,
 
981
                                              Item *expr)
 
982
{
 
983
  /*
 
984
    Relevant references for this issue:
 
985
    - SQL:2003, Part 2, section 8.4 <in predicate>, page 383,
 
986
    - SQL:2003, Part 2, section 7.2 <row value expression>, page 296,
 
987
    - SQL:2003, Part 2, section 6.3 <value expression primary>, page 174,
 
988
    - SQL:2003, Part 2, section 7.15 <subquery>, page 370,
 
989
    - SQL:2003 Feature F561, "Full value expressions".
 
990
 
 
991
    The exception in SQL:2003 Note 184 means:
 
992
    Item_singlerow_subselect, which corresponds to a <scalar subquery>,
 
993
    should be re-interpreted as an Item_in_subselect, which corresponds
 
994
    to a <table subquery> when used inside an <in predicate>.
 
995
 
 
996
    Our reading of Note 184 is reccursive, so that all:
 
997
    - IN (( <subquery> ))
 
998
    - IN ((( <subquery> )))
 
999
    - IN '('^N <subquery> ')'^N
 
1000
    - etc
 
1001
    should be interpreted as a <table subquery>, no matter how deep in the
 
1002
    expression the <subquery> is.
 
1003
  */
 
1004
 
 
1005
  Item *result;
 
1006
 
 
1007
  if (expr->type() == Item::SUBSELECT_ITEM)
 
1008
  {
 
1009
    Item_subselect *expr2 = (Item_subselect*) expr;
 
1010
 
 
1011
    if (expr2->substype() == Item_subselect::SINGLEROW_SUBS)
 
1012
    {
 
1013
      Item_singlerow_subselect *expr3 = (Item_singlerow_subselect*) expr2;
 
1014
      Select_Lex *subselect;
 
1015
 
 
1016
      /*
 
1017
        Implement the mandated change, by altering the semantic tree:
 
1018
          left IN Item_singlerow_subselect(subselect)
 
1019
        is modified to
 
1020
          left IN (subselect)
 
1021
        which is represented as
 
1022
          Item_in_subselect(left, subselect)
 
1023
      */
 
1024
      subselect= expr3->invalidate_and_restore_select_lex();
 
1025
      result= new (session->mem_root) Item_in_subselect(left, subselect);
 
1026
 
 
1027
      if (! equal)
 
1028
        result = negate_expression(session, result);
 
1029
 
 
1030
      return(result);
 
1031
    }
 
1032
  }
 
1033
 
 
1034
  if (equal)
 
1035
    result= new (session->mem_root) Item_func_eq(left, expr);
 
1036
  else
 
1037
    result= new (session->mem_root) Item_func_ne(left, expr);
 
1038
 
 
1039
  return(result);
 
1040
}
 
1041
 
 
1042
/**
 
1043
   @brief Creates a new Select_Lex for a UNION branch.
 
1044
 
 
1045
   Sets up and initializes a Select_Lex structure for a query once the parser
 
1046
   discovers a UNION token. The current Select_Lex is pushed on the stack and
 
1047
   the new Select_Lex becomes the current one..=
 
1048
 
 
1049
   @lex The parser state.
 
1050
 
 
1051
   @is_union_distinct True if the union preceding the new select statement
 
1052
   uses UNION DISTINCT.
 
1053
 
 
1054
   @return <code>false</code> if successful, <code>true</code> if an error was
 
1055
   reported. In the latter case parsing should stop.
 
1056
 */
 
1057
static bool add_select_to_union_list(LEX *lex, bool is_union_distinct)
 
1058
{
 
1059
  if (lex->result)
 
1060
  {
 
1061
    /* Only the last SELECT can have  INTO...... */
 
1062
    my_error(ER_WRONG_USAGE, MYF(0), "UNION", "INTO");
 
1063
    return true;
 
1064
  }
 
1065
  if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
 
1066
  {
 
1067
    my_parse_error(ER(ER_SYNTAX_ERROR));
 
1068
    return true;
 
1069
  }
 
1070
  /* This counter shouldn't be incremented for UNION parts */
 
1071
  lex->nest_level--;
 
1072
  if (mysql_new_select(lex, 0))
 
1073
    return true;
 
1074
  mysql_init_select(lex);
 
1075
  lex->current_select->linkage=UNION_TYPE;
 
1076
  if (is_union_distinct) /* UNION DISTINCT - remember position */
 
1077
    lex->current_select->master_unit()->union_distinct=
 
1078
      lex->current_select;
 
1079
  return false;
 
1080
}
 
1081
 
 
1082
/**
 
1083
   @brief Initializes a Select_Lex for a query within parentheses (aka
 
1084
   braces).
 
1085
 
 
1086
   @return false if successful, true if an error was reported. In the latter
 
1087
   case parsing should stop.
 
1088
 */
 
1089
static bool setup_select_in_parentheses(LEX *lex)
 
1090
{
 
1091
  Select_Lex * sel= lex->current_select;
 
1092
  if (sel->set_braces(1))
 
1093
  {
 
1094
    my_parse_error(ER(ER_SYNTAX_ERROR));
 
1095
    return true;
 
1096
  }
 
1097
  if (sel->linkage == UNION_TYPE &&
 
1098
      !sel->master_unit()->first_select()->braces &&
 
1099
      sel->master_unit()->first_select()->linkage ==
 
1100
      UNION_TYPE)
 
1101
  {
 
1102
    my_parse_error(ER(ER_SYNTAX_ERROR));
 
1103
    return true;
 
1104
  }
 
1105
  if (sel->linkage == UNION_TYPE &&
 
1106
      sel->olap != UNSPECIFIED_OLAP_TYPE &&
 
1107
      sel->master_unit()->fake_select_lex)
 
1108
  {
 
1109
    my_error(ER_WRONG_USAGE, MYF(0), "CUBE/ROLLUP", "ORDER BY");
 
1110
    return true;
 
1111
  }
 
1112
  /* select in braces, can't contain global parameters */
 
1113
  if (sel->master_unit()->fake_select_lex)
 
1114
    sel->master_unit()->global_parameters=
 
1115
      sel->master_unit()->fake_select_lex;
 
1116
  return false;
 
1117
}
 
1118
 
 
1119
static Item* reserved_keyword_function(const std::string &name, List<Item> *item_list)
 
1120
{
 
1121
  const plugin::Function *udf= plugin::Function::get(name.c_str(), name.length());
 
1122
  Item *item= NULL;
 
1123
 
 
1124
  if (udf)
 
1125
  {
 
1126
    item= Create_udf_func::s_singleton.create(current_session, udf, item_list);
 
1127
  } else {
 
1128
    my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", name.c_str());
 
1129
  }
 
1130
 
 
1131
  return item;
 
1132
}
 
1133
 
 
1134
} /* namespace drizzled; */
 
1135
 
 
1136
using namespace drizzled;
 
1137
 
 
1138
 
 
1139
/* Enabling traces.  */
 
1140
#ifndef YYDEBUG
 
1141
# define YYDEBUG 0
 
1142
#endif
 
1143
 
 
1144
/* Enabling verbose error messages.  */
 
1145
#ifdef YYERROR_VERBOSE
 
1146
# undef YYERROR_VERBOSE
 
1147
# define YYERROR_VERBOSE 1
 
1148
#else
 
1149
# define YYERROR_VERBOSE 0
 
1150
#endif
 
1151
 
 
1152
/* Enabling the token table.  */
 
1153
#ifndef YYTOKEN_TABLE
 
1154
# define YYTOKEN_TABLE 0
 
1155
#endif
 
1156
 
 
1157
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 
1158
typedef union YYSTYPE
 
1159
#line 323 "sql_yacc.yy"
 
1160
{
 
1161
  int  num;
 
1162
  ulong ulong_num;
 
1163
  uint64_t ulonglong_number;
 
1164
  int64_t longlong_number;
 
1165
  drizzled::LEX_STRING lex_str;
 
1166
  drizzled::LEX_STRING *lex_str_ptr;
 
1167
  drizzled::LEX_SYMBOL symbol;
 
1168
  drizzled::Table_ident *table;
 
1169
  char *simple_string;
 
1170
  drizzled::Item *item;
 
1171
  drizzled::Item_num *item_num;
 
1172
  drizzled::List<drizzled::Item> *item_list;
 
1173
  drizzled::List<drizzled::String> *string_list;
 
1174
  drizzled::String *string;
 
1175
  drizzled::Key_part_spec *key_part;
 
1176
  const drizzled::plugin::Function *udf;
 
1177
  drizzled::TableList *table_list;
 
1178
  struct drizzled::sys_var_with_base variable;
 
1179
  enum drizzled::sql_var_t var_type;
 
1180
  drizzled::Key::Keytype key_type;
 
1181
  enum drizzled::ha_key_alg key_alg;
 
1182
  enum drizzled::row_type row_type;
 
1183
  enum drizzled::column_format_type column_format_type;
 
1184
  enum drizzled::ha_rkey_function ha_rkey_mode;
 
1185
  enum drizzled::enum_tx_isolation tx_isolation;
 
1186
  enum drizzled::Cast_target cast_type;
 
1187
  const drizzled::CHARSET_INFO *charset;
 
1188
  drizzled::thr_lock_type lock_type;
 
1189
  drizzled::interval_type interval, interval_time_st;
 
1190
  enum drizzled::enum_drizzle_timestamp_type date_time_type;
 
1191
  drizzled::Select_Lex *select_lex;
 
1192
  drizzled::chooser_compare_func_creator boolfunc2creator;
 
1193
  struct drizzled::st_lex *lex;
 
1194
  enum drizzled::index_hint_type index_hint;
 
1195
  enum drizzled::enum_filetype filetype;
 
1196
  enum drizzled::ha_build_method build_method;
 
1197
  enum drizzled::Foreign_key::fk_option m_fk_option;
 
1198
}
 
1199
/* Line 193 of yacc.c.  */
 
1200
#line 1201 "drizzled/sql_yacc.cc"
 
1201
        YYSTYPE;
 
1202
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
 
1203
# define YYSTYPE_IS_DECLARED 1
 
1204
# define YYSTYPE_IS_TRIVIAL 1
 
1205
#endif
 
1206
 
 
1207
 
 
1208
 
 
1209
/* Copy the second part of user declarations.  */
 
1210
#line 363 "sql_yacc.yy"
 
1211
 
 
1212
namespace drizzled
 
1213
{
 
1214
bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
 
1215
}
 
1216
 
 
1217
 
 
1218
/* Line 216 of yacc.c.  */
 
1219
#line 1220 "drizzled/sql_yacc.cc"
 
1220
 
 
1221
#ifdef short
 
1222
# undef short
 
1223
#endif
 
1224
 
 
1225
#ifdef YYTYPE_UINT8
 
1226
typedef YYTYPE_UINT8 yytype_uint8;
 
1227
#else
 
1228
typedef unsigned char yytype_uint8;
 
1229
#endif
 
1230
 
 
1231
#ifdef YYTYPE_INT8
 
1232
typedef YYTYPE_INT8 yytype_int8;
 
1233
#elif (defined __STDC__ || defined __C99__FUNC__ \
 
1234
     || defined __cplusplus || defined _MSC_VER)
 
1235
typedef signed char yytype_int8;
 
1236
#else
 
1237
typedef short int yytype_int8;
 
1238
#endif
 
1239
 
 
1240
#ifdef YYTYPE_UINT16
 
1241
typedef YYTYPE_UINT16 yytype_uint16;
 
1242
#else
 
1243
typedef unsigned short int yytype_uint16;
 
1244
#endif
 
1245
 
 
1246
#ifdef YYTYPE_INT16
 
1247
typedef YYTYPE_INT16 yytype_int16;
 
1248
#else
 
1249
typedef short int yytype_int16;
 
1250
#endif
 
1251
 
 
1252
#ifndef YYSIZE_T
 
1253
# ifdef __SIZE_TYPE__
 
1254
#  define YYSIZE_T __SIZE_TYPE__
 
1255
# elif defined size_t
 
1256
#  define YYSIZE_T size_t
 
1257
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
 
1258
     || defined __cplusplus || defined _MSC_VER)
 
1259
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 
1260
#  define YYSIZE_T size_t
 
1261
# else
 
1262
#  define YYSIZE_T unsigned int
 
1263
# endif
 
1264
#endif
 
1265
 
 
1266
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
 
1267
 
 
1268
#ifndef YY_
 
1269
# if YYENABLE_NLS
 
1270
#  if ENABLE_NLS
 
1271
#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
 
1272
#   define YY_(msgid) dgettext ("bison-runtime", msgid)
 
1273
#  endif
 
1274
# endif
 
1275
# ifndef YY_
 
1276
#  define YY_(msgid) msgid
 
1277
# endif
 
1278
#endif
 
1279
 
 
1280
/* Suppress unused-variable warnings by "using" E.  */
 
1281
#if ! defined lint || defined __GNUC__
 
1282
# define YYUSE(e) ((void) (e))
 
1283
#else
 
1284
# define YYUSE(e) /* empty */
 
1285
#endif
 
1286
 
 
1287
/* Identity function, used to suppress warnings about constant conditions.  */
 
1288
#ifndef lint
 
1289
# define YYID(n) (n)
 
1290
#else
 
1291
#if (defined __STDC__ || defined __C99__FUNC__ \
 
1292
     || defined __cplusplus || defined _MSC_VER)
 
1293
static int
 
1294
YYID (int i)
 
1295
#else
 
1296
static int
 
1297
YYID (i)
 
1298
    int i;
 
1299
#endif
 
1300
{
 
1301
  return i;
 
1302
}
 
1303
#endif
 
1304
 
 
1305
#if ! defined yyoverflow || YYERROR_VERBOSE
 
1306
 
 
1307
/* The parser invokes alloca or malloc; define the necessary symbols.  */
 
1308
 
 
1309
# ifdef YYSTACK_USE_ALLOCA
 
1310
#  if YYSTACK_USE_ALLOCA
 
1311
#   ifdef __GNUC__
 
1312
#    define YYSTACK_ALLOC __builtin_alloca
 
1313
#   elif defined __BUILTIN_VA_ARG_INCR
 
1314
#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
 
1315
#   elif defined _AIX
 
1316
#    define YYSTACK_ALLOC __alloca
 
1317
#   elif defined _MSC_VER
 
1318
#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
 
1319
#    define alloca _alloca
 
1320
#   else
 
1321
#    define YYSTACK_ALLOC alloca
 
1322
#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
1323
     || defined __cplusplus || defined _MSC_VER)
 
1324
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 
1325
#     ifndef _STDLIB_H
 
1326
#      define _STDLIB_H 1
 
1327
#     endif
 
1328
#    endif
 
1329
#   endif
 
1330
#  endif
 
1331
# endif
 
1332
 
 
1333
# ifdef YYSTACK_ALLOC
 
1334
   /* Pacify GCC's `empty if-body' warning.  */
 
1335
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
 
1336
#  ifndef YYSTACK_ALLOC_MAXIMUM
 
1337
    /* The OS might guarantee only one guard page at the bottom of the stack,
 
1338
       and a page size can be as small as 4096 bytes.  So we cannot safely
 
1339
       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
 
1340
       to allow for a few compiler-allocated temporary stack slots.  */
 
1341
#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
 
1342
#  endif
 
1343
# else
 
1344
#  define YYSTACK_ALLOC YYMALLOC
 
1345
#  define YYSTACK_FREE YYFREE
 
1346
#  ifndef YYSTACK_ALLOC_MAXIMUM
 
1347
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
 
1348
#  endif
 
1349
#  if (defined __cplusplus && ! defined _STDLIB_H \
 
1350
       && ! ((defined YYMALLOC || defined malloc) \
 
1351
             && (defined YYFREE || defined free)))
 
1352
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 
1353
#   ifndef _STDLIB_H
 
1354
#    define _STDLIB_H 1
 
1355
#   endif
 
1356
#  endif
 
1357
#  ifndef YYMALLOC
 
1358
#   define YYMALLOC malloc
 
1359
#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
1360
     || defined __cplusplus || defined _MSC_VER)
 
1361
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 
1362
#   endif
 
1363
#  endif
 
1364
#  ifndef YYFREE
 
1365
#   define YYFREE free
 
1366
#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
1367
     || defined __cplusplus || defined _MSC_VER)
 
1368
void free (void *); /* INFRINGES ON USER NAME SPACE */
 
1369
#   endif
 
1370
#  endif
 
1371
# endif
 
1372
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
 
1373
 
 
1374
 
 
1375
#if (! defined yyoverflow \
 
1376
     && (! defined __cplusplus \
 
1377
         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 
1378
 
 
1379
/* A type that is properly aligned for any stack member.  */
 
1380
union yyalloc
 
1381
{
 
1382
  yytype_int16 yyss;
 
1383
  YYSTYPE yyvs;
 
1384
  };
 
1385
 
 
1386
/* The size of the maximum gap between one aligned stack and the next.  */
 
1387
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
 
1388
 
 
1389
/* The size of an array large to enough to hold all stacks, each with
 
1390
   N elements.  */
 
1391
# define YYSTACK_BYTES(N) \
 
1392
     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
 
1393
      + YYSTACK_GAP_MAXIMUM)
 
1394
 
 
1395
/* Copy COUNT objects from FROM to TO.  The source and destination do
 
1396
   not overlap.  */
 
1397
# ifndef YYCOPY
 
1398
#  if defined __GNUC__ && 1 < __GNUC__
 
1399
#   define YYCOPY(To, From, Count) \
 
1400
      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
 
1401
#  else
 
1402
#   define YYCOPY(To, From, Count)              \
 
1403
      do                                        \
 
1404
        {                                       \
 
1405
          YYSIZE_T yyi;                         \
 
1406
          for (yyi = 0; yyi < (Count); yyi++)   \
 
1407
            (To)[yyi] = (From)[yyi];            \
 
1408
        }                                       \
 
1409
      while (YYID (0))
 
1410
#  endif
 
1411
# endif
 
1412
 
 
1413
/* Relocate STACK from its old location to the new one.  The
 
1414
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
 
1415
   elements in the stack, and YYPTR gives the new location of the
 
1416
   stack.  Advance YYPTR to a properly aligned location for the next
 
1417
   stack.  */
 
1418
# define YYSTACK_RELOCATE(Stack)                                        \
 
1419
    do                                                                  \
 
1420
      {                                                                 \
 
1421
        YYSIZE_T yynewbytes;                                            \
 
1422
        YYCOPY (&yyptr->Stack, Stack, yysize);                          \
 
1423
        Stack = &yyptr->Stack;                                          \
 
1424
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
 
1425
        yyptr += yynewbytes / sizeof (*yyptr);                          \
 
1426
      }                                                                 \
 
1427
    while (YYID (0))
 
1428
 
 
1429
#endif
 
1430
 
 
1431
/* YYFINAL -- State number of the termination state.  */
 
1432
#define YYFINAL  280
 
1433
/* YYLAST -- Last index in YYTABLE.  */
 
1434
#define YYLAST   17687
 
1435
 
 
1436
/* YYNTOKENS -- Number of terminals.  */
 
1437
#define YYNTOKENS  392
 
1438
/* YYNNTS -- Number of nonterminals.  */
 
1439
#define YYNNTS  401
 
1440
/* YYNRULES -- Number of rules.  */
 
1441
#define YYNRULES  1133
 
1442
/* YYNRULES -- Number of states.  */
 
1443
#define YYNSTATES  1951
 
1444
 
 
1445
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 
1446
#define YYUNDEFTOK  2
 
1447
#define YYMAXUTOK   633
 
1448
 
 
1449
#define YYTRANSLATE(YYX)                                                \
 
1450
  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
1451
 
 
1452
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
 
1453
static const yytype_uint16 yytranslate[] =
 
1454
{
 
1455
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1456
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1457
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1458
       2,     2,     2,   387,     2,     2,     2,   383,     2,     2,
 
1459
     384,   385,   381,   380,   386,   379,   390,   382,     2,     2,
 
1460
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1461
       2,     2,     2,     2,   391,     2,     2,     2,     2,     2,
 
1462
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1463
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1464
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1465
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1466
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1467
       2,     2,     2,   388,     2,   389,     2,     2,     2,     2,
 
1468
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1469
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1470
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1471
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1472
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1473
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1474
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1475
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1476
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1477
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1478
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1479
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1480
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
 
1481
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
 
1482
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 
1483
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 
1484
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 
1485
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 
1486
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
 
1487
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
 
1488
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
 
1489
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
 
1490
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
 
1491
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 
1492
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
 
1493
     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
 
1494
     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
 
1495
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
 
1496
     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
 
1497
     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
 
1498
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
 
1499
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
 
1500
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
 
1501
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
 
1502
     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
 
1503
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
 
1504
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
 
1505
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
 
1506
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 
1507
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
 
1508
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
 
1509
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 
1510
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
 
1511
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
 
1512
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
 
1513
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
 
1514
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
 
1515
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
 
1516
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
 
1517
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
 
1518
     375,   376,   377,   378
 
1519
};
 
1520
 
 
1521
#if YYDEBUG
 
1522
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
 
1523
   YYRHS.  */
 
1524
static const yytype_uint16 yyprhs[] =
 
1525
{
 
1526
       0,     0,     3,     5,     8,    10,    12,    14,    16,    18,
 
1527
      20,    22,    24,    26,    28,    30,    32,    34,    36,    38,
 
1528
      40,    42,    44,    46,    48,    50,    52,    54,    56,    58,
 
1529
      60,    62,    64,    65,    73,    74,    88,    89,    96,    99,
 
1530
     102,   106,   111,   116,   117,   122,   123,   124,   130,   131,
 
1531
     139,   140,   141,   148,   149,   151,   152,   154,   155,   157,
 
1532
     158,   162,   163,   165,   167,   170,   172,   175,   179,   183,
 
1533
     187,   191,   195,   199,   201,   205,   210,   215,   217,   219,
 
1534
     221,   223,   225,   227,   229,   231,   233,   235,   237,   240,
 
1535
     242,   246,   248,   250,   253,   256,   264,   273,   282,   285,
 
1536
     288,   289,   291,   294,   295,   297,   300,   301,   305,   308,
 
1537
     310,   313,   318,   320,   325,   330,   332,   334,   336,   338,
 
1538
     340,   343,   346,   349,   350,   356,   358,   360,   363,   365,
 
1539
     367,   369,   371,   373,   376,   377,   381,   383,   389,   390,
 
1540
     394,   395,   397,   398,   400,   403,   405,   407,   410,   413,
 
1541
     416,   421,   423,   427,   430,   432,   435,   438,   441,   444,
 
1542
     446,   448,   450,   452,   453,   455,   456,   458,   464,   465,
 
1543
     469,   473,   475,   476,   479,   482,   485,   486,   490,   494,
 
1544
     501,   508,   510,   512,   515,   518,   521,   523,   526,   529,
 
1545
     531,   533,   534,   536,   538,   540,   542,   543,   545,   546,
 
1546
     548,   551,   552,   554,   556,   559,   562,   565,   567,   571,
 
1547
     574,   576,   578,   583,   586,   588,   593,   594,   596,   597,
 
1548
     600,   602,   606,   607,   615,   616,   622,   623,   625,   626,
 
1549
     629,   632,   634,   635,   637,   639,   641,   645,   648,   652,
 
1550
     655,   660,   661,   668,   669,   670,   678,   682,   687,   691,
 
1551
     695,   698,   701,   708,   714,   718,   722,   724,   726,   728,
 
1552
     729,   731,   732,   734,   735,   738,   740,   741,   743,   745,
 
1553
     747,   751,   752,   756,   757,   762,   763,   768,   769,   774,
 
1554
     775,   780,   782,   786,   790,   792,   795,   800,   803,   807,
 
1555
     810,   814,   815,   819,   820,   821,   828,   831,   833,   835,
 
1556
     838,   841,   849,   850,   852,   855,   857,   859,   861,   863,
 
1557
     865,   867,   869,   871,   872,   875,   880,   884,   886,   888,
 
1558
     892,   897,   898,   899,   900,   903,   906,   908,   910,   911,
 
1559
     914,   918,   922,   926,   929,   933,   938,   942,   947,   951,
 
1560
     956,   958,   962,   967,   971,   975,   982,   984,   990,   997,
 
1561
    1003,  1011,  1018,  1027,  1033,  1040,  1045,  1051,  1053,  1057,
 
1562
    1061,  1067,  1073,  1077,  1081,  1085,  1089,  1093,  1095,  1097,
 
1563
    1099,  1101,  1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,
 
1564
    1119,  1121,  1123,  1125,  1127,  1131,  1133,  1135,  1137,  1140,
 
1565
    1143,  1147,  1151,  1157,  1164,  1169,  1174,  1177,  1184,  1190,
 
1566
    1197,  1202,  1207,  1213,  1218,  1221,  1226,  1231,  1236,  1247,
 
1567
    1254,  1263,  1270,  1275,  1280,  1287,  1292,  1297,  1302,  1310,
 
1568
    1318,  1326,  1333,  1340,  1347,  1354,  1358,  1363,  1370,  1379,
 
1569
    1382,  1391,  1400,  1407,  1410,  1415,  1422,  1429,  1438,  1447,
 
1570
    1454,  1463,  1470,  1473,  1478,  1487,  1496,  1499,  1502,  1507,
 
1571
    1512,  1516,  1525,  1530,  1537,  1542,  1549,  1558,  1563,  1570,
 
1572
    1571,  1577,  1578,  1580,  1582,  1586,  1591,  1596,  1602,  1608,
 
1573
    1613,  1614,  1615,  1623,  1628,  1634,  1639,  1645,  1650,  1655,
 
1574
    1660,  1665,  1670,  1676,  1677,  1686,  1687,  1691,  1695,  1697,
 
1575
    1702,  1703,  1705,  1706,  1709,  1710,  1712,  1713,  1717,  1720,
 
1576
    1723,  1725,  1727,  1730,  1732,  1736,  1737,  1739,  1740,  1743,
 
1577
    1748,  1754,  1756,  1758,  1760,  1762,  1767,  1769,  1773,  1777,
 
1578
    1781,  1782,  1789,  1790,  1797,  1798,  1807,  1812,  1813,  1822,
 
1579
    1823,  1834,  1841,  1842,  1851,  1852,  1863,  1870,  1872,  1875,
 
1580
    1878,  1879,  1884,  1888,  1894,  1898,  1899,  1900,  1909,  1911,
 
1581
    1912,  1913,  1920,  1921,  1925,  1926,  1927,  1933,  1934,  1936,
 
1582
    1937,  1939,  1940,  1943,  1947,  1951,  1953,  1955,  1956,  1964,
 
1583
    1965,  1973,  1975,  1978,  1979,  1980,  1983,  1984,  1987,  1988,
 
1584
    1990,  1992,  1994,  1996,  2000,  2002,  2006,  2008,  2010,  2012,
 
1585
    2014,  2016,  2018,  2020,  2022,  2024,  2026,  2028,  2030,  2032,
 
1586
    2034,  2036,  2038,  2040,  2042,  2044,  2046,  2048,  2050,  2052,
 
1587
    2053,  2055,  2057,  2058,  2061,  2062,  2064,  2065,  2066,  2070,
 
1588
    2071,  2072,  2076,  2079,  2080,  2081,  2086,  2091,  2094,  2095,
 
1589
    2097,  2101,  2105,  2107,  2110,  2111,  2113,  2114,  2119,  2124,
 
1590
    2127,  2128,  2130,  2132,  2133,  2135,  2136,  2138,  2141,  2143,
 
1591
    2147,  2151,  2153,  2155,  2157,  2158,  2161,  2163,  2165,  2167,
 
1592
    2169,  2171,  2173,  2175,  2177,  2179,  2181,  2183,  2184,  2187,
 
1593
    2191,  2193,  2196,  2197,  2201,  2202,  2208,  2211,  2213,  2219,
 
1594
    2220,  2228,  2233,  2235,  2239,  2241,  2242,  2245,  2246,  2248,
 
1595
    2249,  2250,  2258,  2259,  2260,  2266,  2269,  2271,  2273,  2275,
 
1596
    2279,  2284,  2285,  2289,  2293,  2295,  2298,  2301,  2302,  2306,
 
1597
    2307,  2313,  2317,  2319,  2323,  2325,  2329,  2331,  2333,  2334,
 
1598
    2336,  2337,  2342,  2343,  2345,  2349,  2351,  2353,  2355,  2356,
 
1599
    2357,  2364,  2365,  2366,  2377,  2381,  2383,  2387,  2391,  2393,
 
1600
    2397,  2398,  2403,  2404,  2411,  2412,  2415,  2417,  2421,  2422,
 
1601
    2424,  2425,  2429,  2432,  2436,  2441,  2447,  2453,  2459,  2465,
 
1602
    2468,  2471,  2475,  2477,  2481,  2486,  2490,  2491,  2494,  2496,
 
1603
    2498,  2499,  2502,  2505,  2506,  2511,  2512,  2517,  2519,  2521,
 
1604
    2522,  2524,  2525,  2527,  2529,  2530,  2534,  2538,  2540,  2541,
 
1605
    2545,  2550,  2552,  2554,  2555,  2557,  2561,  2562,  2564,  2566,
 
1606
    2569,  2570,  2571,  2572,  2573,  2592,  2594,  2595,  2597,  2598,
 
1607
    2600,  2602,  2603,  2606,  2609,  2611,  2615,  2620,  2624,  2628,
 
1608
    2629,  2632,  2635,  2637,  2641,  2645,  2646,  2650,  2652,  2654,
 
1609
    2655,  2659,  2662,  2666,  2668,  2670,  2673,  2674,  2677,  2679,
 
1610
    2682,  2684,  2686,  2688,  2690,  2693,  2696,  2698,  2700,  2702,
 
1611
    2704,  2706,  2708,  2710,  2713,  2716,  2718,  2720,  2722,  2724,
 
1612
    2726,  2728,  2730,  2734,  2740,  2742,  2744,  2746,  2748,  2750,
 
1613
    2754,  2759,  2765,  2767,  2773,  2777,  2780,  2782,  2786,  2789,
 
1614
    2791,  2793,  2795,  2797,  2799,  2801,  2803,  2805,  2807,  2809,
 
1615
    2811,  2813,  2815,  2817,  2819,  2821,  2823,  2825,  2827,  2829,
 
1616
    2831,  2833,  2835,  2837,  2839,  2841,  2843,  2845,  2847,  2849,
 
1617
    2851,  2853,  2855,  2857,  2859,  2861,  2863,  2865,  2867,  2869,
 
1618
    2871,  2873,  2875,  2877,  2879,  2881,  2883,  2885,  2887,  2889,
 
1619
    2891,  2893,  2895,  2897,  2899,  2901,  2903,  2905,  2907,  2909,
 
1620
    2911,  2913,  2915,  2917,  2919,  2921,  2923,  2925,  2927,  2929,
 
1621
    2931,  2933,  2935,  2937,  2939,  2941,  2943,  2945,  2947,  2949,
 
1622
    2951,  2953,  2955,  2957,  2959,  2961,  2963,  2965,  2967,  2969,
 
1623
    2971,  2973,  2975,  2977,  2979,  2981,  2983,  2985,  2987,  2989,
 
1624
    2991,  2993,  2995,  2997,  2999,  3001,  3003,  3005,  3007,  3009,
 
1625
    3011,  3013,  3015,  3017,  3019,  3021,  3023,  3025,  3027,  3029,
 
1626
    3031,  3033,  3035,  3037,  3039,  3041,  3043,  3045,  3047,  3049,
 
1627
    3051,  3053,  3055,  3057,  3059,  3061,  3063,  3065,  3067,  3069,
 
1628
    3071,  3073,  3075,  3077,  3079,  3081,  3083,  3085,  3087,  3089,
 
1629
    3091,  3093,  3095,  3097,  3099,  3101,  3103,  3105,  3107,  3109,
 
1630
    3111,  3113,  3115,  3117,  3119,  3121,  3123,  3125,  3127,  3129,
 
1631
    3131,  3133,  3135,  3137,  3138,  3143,  3144,  3146,  3148,  3152,
 
1632
    3153,  3156,  3158,  3160,  3162,  3164,  3165,  3167,  3168,  3170,
 
1633
    3172,  3174,  3175,  3178,  3181,  3184,  3186,  3189,  3194,  3200,
 
1634
    3205,  3212,  3214,  3217,  3220,  3223,  3225,  3227,  3229,  3231,
 
1635
    3233,  3235,  3237,  3239,  3240,  3244,  3245,  3249,  3250,  3252,
 
1636
    3253,  3257,  3260,  3261,  3263,  3266,  3267,  3269,  3274,  3279,
 
1637
    3285,  3288,  3292,  3293,  3295,  3296,  3301,  3302,  3304,  3306,
 
1638
    3307,  3310,  3313,  3315,  3316,  3318,  3320,  3323,  3327,  3329,
 
1639
    3330,  3336,  3340,  3341
 
1640
};
 
1641
 
 
1642
/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 
1643
static const yytype_int16 yyrhs[] =
 
1644
{
 
1645
     393,     0,    -1,   111,    -1,   394,   111,    -1,   395,    -1,
 
1646
     769,    -1,   475,    -1,   495,    -1,   497,    -1,   493,    -1,
 
1647
     775,    -1,   396,    -1,   680,    -1,   694,    -1,   641,    -1,
 
1648
     700,    -1,   647,    -1,   706,    -1,   709,    -1,   778,    -1,
 
1649
     499,    -1,   650,    -1,   776,    -1,   777,    -1,   503,    -1,
 
1650
     750,    -1,   688,    -1,   491,    -1,   686,    -1,   767,    -1,
 
1651
     673,    -1,   708,    -1,    -1,    67,   411,   328,   412,   741,
 
1652
     397,   400,    -1,    -1,    67,   480,   398,   462,   157,   746,
 
1653
     464,   230,   741,   384,   470,   385,   465,    -1,    -1,    67,
 
1654
      73,   412,   746,   399,   410,    -1,   384,   401,    -1,   413,
 
1655
     403,    -1,   181,   741,   413,    -1,   384,   181,   741,   385,
 
1656
      -1,   422,   385,   413,   403,    -1,    -1,   406,   385,   402,
 
1657
     782,    -1,    -1,    -1,   716,   409,   406,   404,   779,    -1,
 
1658
      -1,   716,   409,   384,   406,   385,   405,   782,    -1,    -1,
 
1659
      -1,   283,   407,   514,   518,   408,   421,    -1,    -1,    14,
 
1660
      -1,    -1,   418,    -1,    -1,   329,    -1,    -1,   153,   530,
 
1661
     120,    -1,    -1,   415,    -1,   416,    -1,   416,   414,    -1,
 
1662
     416,    -1,   416,   415,    -1,   416,   386,   415,    -1,   112,
 
1663
     665,   747,    -1,    29,   665,   631,    -1,    53,   665,   743,
 
1664
      -1,    18,   665,   632,    -1,   277,   665,   420,    -1,   417,
 
1665
      -1,   172,   665,   631,    -1,   449,    49,   665,   448,    -1,
 
1666
     449,    49,   665,   448,    -1,    90,    -1,   128,    -1,   103,
 
1667
      -1,    90,    -1,   128,    -1,   103,    -1,    57,    -1,   260,
 
1668
      -1,    56,    -1,   243,    -1,   626,    -1,   513,   517,    -1,
 
1669
     423,    -1,   422,   386,   423,    -1,   424,    -1,   425,    -1,
 
1670
     430,   426,    -1,   430,   451,    -1,   457,   472,   464,   384,
 
1671
     470,   385,   465,    -1,   428,   458,   472,   464,   384,   470,
 
1672
     385,   465,    -1,   428,   132,   173,   472,   384,   470,   385,
 
1673
     451,    -1,   429,   426,    -1,   428,   427,    -1,    -1,   427,
 
1674
      -1,    46,   524,    -1,    -1,   429,    -1,    62,   472,    -1,
 
1675
      -1,   740,   431,   432,    -1,   433,   443,    -1,   437,    -1,
 
1676
     438,   442,    -1,   435,   384,   226,   385,    -1,   435,    -1,
 
1677
     436,   384,   226,   385,    -1,   362,   384,   226,   385,    -1,
 
1678
      80,    -1,   334,    -1,    77,    -1,    28,    -1,   332,    -1,
 
1679
      88,   439,    -1,   227,   439,    -1,   128,   439,    -1,    -1,
 
1680
     113,   434,   384,   474,   385,    -1,   287,    -1,    44,    -1,
 
1681
     435,   366,    -1,   363,    -1,   165,    -1,    24,    -1,   259,
 
1682
      -1,    99,    -1,    99,   247,    -1,    -1,   384,   226,   385,
 
1683
      -1,   440,    -1,   384,   226,   386,   226,   385,    -1,    -1,
 
1684
     384,   226,   385,    -1,    -1,   440,    -1,    -1,   444,    -1,
 
1685
     444,   445,    -1,   445,    -1,   225,    -1,   125,   419,    -1,
 
1686
     530,   225,    -1,    90,   446,    -1,   230,   353,   223,   523,
 
1687
      -1,    18,    -1,   287,    90,   361,    -1,   450,   173,    -1,
 
1688
     350,    -1,   350,   173,    -1,    53,   743,    -1,    49,   447,
 
1689
      -1,   223,   523,    -1,   731,    -1,   747,    -1,   447,    -1,
 
1690
      90,    -1,    -1,    90,    -1,    -1,   249,    -1,   261,   741,
 
1691
     452,   454,   455,    -1,    -1,   384,   453,   385,    -1,   453,
 
1692
     386,   746,    -1,   746,    -1,    -1,   195,   137,    -1,   195,
 
1693
     244,    -1,   195,   296,    -1,    -1,   230,   353,   456,    -1,
 
1694
     230,    91,   456,    -1,   230,   353,   456,   230,    91,   456,
 
1695
      -1,   230,    91,   456,   230,   353,   456,    -1,   267,    -1,
 
1696
      38,    -1,   291,   225,    -1,   224,     4,    -1,   291,    90,
 
1697
      -1,   459,    -1,   249,   173,    -1,   350,   460,    -1,   173,
 
1698
      -1,   157,    -1,    -1,   459,    -1,   171,    -1,   157,    -1,
 
1699
     156,    -1,    -1,   350,    -1,    -1,   463,    -1,   463,   467,
 
1700
      -1,    -1,   466,    -1,   468,    -1,   466,   468,    -1,   357,
 
1701
     469,    -1,   344,   469,    -1,   467,    -1,   172,   665,   631,
 
1702
      -1,    53,   743,    -1,    34,    -1,   143,    -1,   470,   386,
 
1703
     471,   624,    -1,   471,   624,    -1,   746,    -1,   746,   384,
 
1704
     226,   385,    -1,    -1,   740,    -1,    -1,   390,   746,    -1,
 
1705
     730,    -1,   474,   386,   730,    -1,    -1,    10,   480,   488,
 
1706
     328,   741,   476,   479,    -1,    -1,    10,    73,   478,   477,
 
1707
     418,    -1,    -1,   746,    -1,    -1,    96,   326,    -1,   155,
 
1708
     326,    -1,   481,    -1,    -1,   233,    -1,   228,    -1,   483,
 
1709
      -1,   481,   386,   483,    -1,     5,   487,    -1,   482,   424,
 
1710
     489,    -1,     5,   425,    -1,   482,   384,   422,   385,    -1,
 
1711
      -1,    43,   487,   740,   484,   430,   489,    -1,    -1,    -1,
 
1712
     210,   487,   740,   485,   432,   486,   489,    -1,   100,   487,
 
1713
     740,    -1,   100,   132,   173,   472,    -1,   100,   249,   173,
 
1714
      -1,   100,   459,   740,    -1,    95,   171,    -1,   107,   171,
 
1715
      -1,    10,   487,   740,   291,    90,   731,    -1,    10,   487,
 
1716
     740,   100,    90,    -1,   263,   490,   741,    -1,    65,   337,
 
1717
     448,    -1,   414,    -1,   131,    -1,   617,    -1,    -1,    52,
 
1718
      -1,    -1,   154,    -1,    -1,     7,   746,    -1,   127,    -1,
 
1719
      -1,   337,    -1,   114,    -1,    14,    -1,   308,   339,   492,
 
1720
      -1,    -1,   372,    61,   297,    -1,    -1,    45,   766,   494,
 
1721
     643,    -1,    -1,    11,   766,   496,   643,    -1,    -1,    46,
 
1722
     766,   498,   643,    -1,    -1,   263,   766,   500,   501,    -1,
 
1723
     502,    -1,   501,   386,   502,    -1,   741,   337,   741,    -1,
 
1724
     504,    -1,   283,   507,    -1,   384,   505,   385,   782,    -1,
 
1725
     283,   509,    -1,   384,   505,   385,    -1,   283,   578,    -1,
 
1726
     384,   506,   385,    -1,    -1,   509,   508,   779,    -1,    -1,
 
1727
      -1,   510,   514,   518,   511,   512,   517,    -1,   620,   626,
 
1728
      -1,   637,    -1,   513,    -1,   637,   513,    -1,   513,   637,
 
1729
      -1,   136,   560,   609,   614,   611,   620,   626,    -1,    -1,
 
1730
     515,    -1,   515,   516,    -1,   516,    -1,   315,    -1,    97,
 
1731
      -1,   305,    -1,   302,    -1,   303,    -1,   304,    -1,     9,
 
1732
      -1,    -1,   133,   353,    -1,   189,   166,   293,   208,    -1,
 
1733
     518,   386,   519,    -1,   519,    -1,   381,    -1,   520,   735,
 
1734
     521,    -1,   520,   524,   521,   522,    -1,    -1,    -1,    -1,
 
1735
      14,   746,    -1,    14,   743,    -1,   746,    -1,   743,    -1,
 
1736
      -1,   384,   385,    -1,   524,   528,   524,    -1,   524,   376,
 
1737
     524,    -1,   524,   529,   524,    -1,   222,   524,    -1,   525,
 
1738
     167,   341,    -1,   525,   167,   530,   341,    -1,   525,   167,
 
1739
     123,    -1,   525,   167,   530,   123,    -1,   525,   167,   351,
 
1740
      -1,   525,   167,   530,   351,    -1,   525,    -1,   525,   167,
 
1741
     225,    -1,   525,   167,   530,   225,    -1,   525,   115,   526,
 
1742
      -1,   525,   531,   526,    -1,   525,   531,   532,   384,   790,
 
1743
     385,    -1,   526,    -1,   527,   166,   384,   790,   385,    -1,
 
1744
     527,   530,   166,   384,   790,   385,    -1,   527,   166,   384,
 
1745
     524,   385,    -1,   527,   166,   384,   524,   386,   555,   385,
 
1746
      -1,   527,   530,   166,   384,   524,   385,    -1,   527,   530,
 
1747
     166,   384,   524,   386,   555,   385,    -1,   527,    23,   527,
 
1748
      12,   526,    -1,   527,   530,    23,   527,    12,   526,    -1,
 
1749
     527,   181,   533,   613,    -1,   527,   530,   181,   533,   613,
 
1750
      -1,   527,    -1,   527,   380,   527,    -1,   527,   379,   527,
 
1751
      -1,   527,   380,   163,   524,   603,    -1,   527,   379,   163,
 
1752
     524,   603,    -1,   527,   381,   527,    -1,   527,   382,   527,
 
1753
      -1,   527,   383,   527,    -1,   527,    98,   527,    -1,   527,
 
1754
     211,   527,    -1,   533,    -1,   239,    -1,    12,    -1,   222,
 
1755
      -1,   114,    -1,   138,    -1,   142,    -1,   176,    -1,   194,
 
1756
      -1,   217,    -1,     9,    -1,    13,    -1,   737,    -1,   534,
 
1757
      -1,   535,    -1,   537,    -1,   536,    -1,   533,    49,   747,
 
1758
      -1,   732,    -1,   546,    -1,   542,    -1,   380,   533,    -1,
 
1759
     379,   533,    -1,   384,   790,   385,    -1,   384,   524,   385,
 
1760
      -1,   384,   524,   386,   555,   385,    -1,   278,   384,   524,
 
1761
     386,   555,   385,    -1,   120,   384,   790,   385,    -1,   388,
 
1762
     746,   524,   389,    -1,    25,   533,    -1,    41,   384,   524,
 
1763
      14,   554,   385,    -1,    40,   556,   558,   557,   109,    -1,
 
1764
      65,   384,   524,   386,   554,   385,    -1,    90,   384,   737,
 
1765
     385,    -1,   360,   384,   738,   385,    -1,   163,   524,   603,
 
1766
     380,   524,    -1,    44,   384,   555,   385,    -1,    71,   523,
 
1767
      -1,    80,   384,   524,   385,    -1,    85,   384,   524,   385,
 
1768
      -1,   149,   384,   524,   385,    -1,   162,   384,   524,   386,
 
1769
     524,   386,   524,   386,   524,   385,    -1,   163,   384,   524,
 
1770
     386,   524,   385,    -1,   163,   384,   524,   386,   524,   386,
 
1771
     555,   385,    -1,   178,   384,   524,   386,   524,   385,    -1,
 
1772
     205,   384,   524,   385,    -1,   212,   384,   524,   385,    -1,
 
1773
     272,   384,   524,   386,   524,   385,    -1,   281,   384,   524,
 
1774
     385,    -1,   334,   384,   524,   385,    -1,   340,   384,   524,
 
1775
     385,    -1,   340,   384,   177,   524,   136,   524,   385,    -1,
 
1776
     340,   384,   338,   524,   136,   524,   385,    -1,   340,   384,
 
1777
      33,   524,   136,   524,   385,    -1,   340,   384,   177,   136,
 
1778
     524,   385,    -1,   340,   384,   338,   136,   524,   385,    -1,
 
1779
     340,   384,    33,   136,   524,   385,    -1,   340,   384,   524,
 
1780
     136,   524,   385,    -1,   355,   384,   385,    -1,   378,   384,
 
1781
     524,   385,    -1,     6,   384,   524,   386,   524,   385,    -1,
 
1782
       6,   384,   524,   386,   163,   524,   603,   385,    -1,    70,
 
1783
     523,    -1,    78,   384,   524,   386,   163,   524,   603,   385,
 
1784
      -1,    79,   384,   524,   386,   163,   524,   603,   385,    -1,
 
1785
     122,   384,   603,   136,   524,   385,    -1,   223,   523,    -1,
 
1786
     223,   384,   524,   385,    -1,   246,   384,   527,   166,   524,
 
1787
     385,    -1,   317,   384,   524,   386,   524,   385,    -1,   317,
 
1788
     384,   524,   386,   163,   524,   603,   385,    -1,   319,   384,
 
1789
     524,   386,   524,   386,   524,   385,    -1,   319,   384,   524,
 
1790
     386,   524,   385,    -1,   319,   384,   524,   136,   524,   133,
 
1791
     524,   385,    -1,   319,   384,   524,   136,   524,   385,    -1,
 
1792
     324,   523,    -1,   324,   384,   524,   385,    -1,   335,   384,
 
1793
     604,   386,   524,   386,   524,   385,    -1,   336,   384,   604,
 
1794
     386,   524,   386,   524,   385,    -1,   358,   523,    -1,   359,
 
1795
     523,    -1,    48,   384,   555,   385,    -1,    50,   384,   524,
 
1796
     385,    -1,    73,   384,   385,    -1,   153,   384,   524,   386,
 
1797
     524,   386,   524,   385,    -1,   202,   384,   524,   385,    -1,
 
1798
     211,   384,   524,   386,   524,   385,    -1,   252,   384,   524,
 
1799
     385,    -1,   265,   384,   524,   386,   524,   385,    -1,   266,
 
1800
     384,   524,   386,   524,   386,   524,   385,    -1,   270,   384,
 
1801
     524,   385,    -1,   342,   384,   524,   386,   524,   385,    -1,
 
1802
      -1,   742,   384,   538,   539,   385,    -1,    -1,   540,    -1,
 
1803
     541,    -1,   540,   386,   541,    -1,   520,   524,   521,   522,
 
1804
      -1,    20,   384,   552,   385,    -1,    20,   384,    97,   552,
 
1805
     385,    -1,    66,   384,   608,   381,   385,    -1,    66,   384,
 
1806
     552,   385,    -1,    -1,    -1,    66,   384,    97,   543,   555,
 
1807
     544,   385,    -1,   207,   384,   552,   385,    -1,   207,   384,
 
1808
      97,   552,   385,    -1,   198,   384,   552,   385,    -1,   198,
 
1809
     384,    97,   552,   385,    -1,   311,   384,   552,   385,    -1,
 
1810
     365,   384,   552,   385,    -1,   310,   384,   552,   385,    -1,
 
1811
     367,   384,   552,   385,    -1,   320,   384,   552,   385,    -1,
 
1812
     320,   384,    97,   552,   385,    -1,    -1,   141,   384,   549,
 
1813
     545,   555,   551,   550,   385,    -1,    -1,   391,   547,   548,
 
1814
      -1,   747,   292,   524,    -1,   747,    -1,   391,   759,   747,
 
1815
     473,    -1,    -1,    97,    -1,    -1,   285,   730,    -1,    -1,
 
1816
     621,    -1,    -1,   608,   553,   524,    -1,    25,   441,    -1,
 
1817
      44,   441,    -1,    80,    -1,    77,    -1,    88,   439,    -1,
 
1818
     524,    -1,   555,   386,   524,    -1,    -1,   524,    -1,    -1,
 
1819
     105,   524,    -1,   370,   524,   333,   524,    -1,   558,   370,
 
1820
     524,   333,   524,    -1,   572,    -1,   563,    -1,   562,    -1,
 
1821
     559,    -1,   388,   746,   559,   389,    -1,   561,    -1,   562,
 
1822
     386,   561,    -1,   559,   571,   559,    -1,   559,   315,   572,
 
1823
      -1,    -1,   559,   571,   559,   230,   564,   524,    -1,    -1,
 
1824
     559,   315,   572,   230,   565,   524,    -1,    -1,   559,   571,
 
1825
     559,   357,   566,   384,   602,   385,    -1,   559,   216,   170,
 
1826
     572,    -1,    -1,   559,   178,   588,   170,   559,   230,   567,
 
1827
     524,    -1,    -1,   559,   178,   588,   170,   572,   568,   357,
 
1828
     384,   602,   385,    -1,   559,   216,   178,   588,   170,   572,
 
1829
      -1,    -1,   559,   272,   588,   170,   559,   230,   569,   524,
 
1830
      -1,    -1,   559,   272,   588,   170,   572,   570,   357,   384,
 
1831
     602,   385,    -1,   559,   216,   272,   588,   170,   572,    -1,
 
1832
     170,    -1,   159,   170,    -1,    68,   170,    -1,    -1,   573,
 
1833
     741,   607,   597,    -1,   587,   586,   583,    -1,   384,   586,
 
1834
     574,   385,   607,    -1,   581,   620,   626,    -1,    -1,    -1,
 
1835
     574,   349,   786,   575,   787,   576,   620,   626,    -1,   578,
 
1836
      -1,    -1,    -1,   579,   514,   518,   580,   421,   517,    -1,
 
1837
      -1,   586,   582,   562,    -1,    -1,    -1,   584,   514,   518,
 
1838
     585,   421,    -1,    -1,   283,    -1,    -1,   240,    -1,    -1,
 
1839
     133,   170,    -1,   133,   238,    35,    -1,   133,   140,    35,
 
1840
      -1,   131,    -1,   154,    -1,    -1,   590,   459,   589,   592,
 
1841
     384,   601,   385,    -1,    -1,   356,   459,   589,   593,   384,
 
1842
     599,   385,    -1,   591,    -1,   594,   591,    -1,    -1,    -1,
 
1843
     596,   594,    -1,    -1,   598,   595,    -1,    -1,   601,    -1,
 
1844
     746,    -1,   249,    -1,   600,    -1,   601,   386,   600,    -1,
 
1845
     746,    -1,   602,   386,   746,    -1,   605,    -1,    81,    -1,
 
1846
      82,    -1,    83,    -1,    84,    -1,   146,    -1,   147,    -1,
 
1847
     148,    -1,   203,    -1,   204,    -1,   280,    -1,   377,    -1,
 
1848
     605,    -1,   135,    -1,    85,    -1,   369,    -1,   149,    -1,
 
1849
     205,    -1,   212,    -1,   252,    -1,   281,    -1,   202,    -1,
 
1850
     378,    -1,    -1,    14,    -1,   114,    -1,    -1,   606,   746,
 
1851
      -1,    -1,     9,    -1,    -1,    -1,   371,   610,   524,    -1,
 
1852
      -1,    -1,   144,   612,   524,    -1,   118,   533,    -1,    -1,
 
1853
      -1,   140,    35,   615,   616,    -1,   615,   386,   736,   624,
 
1854
      -1,   736,   624,    -1,    -1,   373,    -1,   238,    35,   618,
 
1855
      -1,   618,   386,   619,    -1,   619,    -1,   738,   624,    -1,
 
1856
      -1,   621,    -1,    -1,   238,    35,   622,   623,    -1,   623,
 
1857
     386,   736,   624,    -1,   736,   624,    -1,    -1,    15,    -1,
 
1858
      92,    -1,    -1,   627,    -1,    -1,   627,    -1,   182,   628,
 
1859
      -1,   629,    -1,   629,   386,   629,    -1,   629,   229,   629,
 
1860
      -1,   345,    -1,   191,    -1,   226,    -1,    -1,   182,   629,
 
1861
      -1,   226,    -1,   145,    -1,   191,    -1,   345,    -1,    87,
 
1862
      -1,   129,    -1,   226,    -1,   345,    -1,   191,    -1,    87,
 
1863
      -1,   129,    -1,    -1,   634,   635,    -1,   635,   386,   636,
 
1864
      -1,   636,    -1,   391,   747,    -1,    -1,   164,   638,   639,
 
1865
      -1,    -1,   241,   745,   640,   717,   720,    -1,   101,   745,
 
1866
      -1,   633,    -1,   100,   646,   766,   645,   643,    -1,    -1,
 
1867
     100,   480,   157,   746,   230,   741,   642,    -1,   100,    73,
 
1868
     645,   746,    -1,   644,    -1,   643,   386,   644,    -1,   741,
 
1869
      -1,    -1,   153,   120,    -1,    -1,   329,    -1,    -1,    -1,
 
1870
     162,   648,   488,   653,   649,   655,   671,    -1,    -1,    -1,
 
1871
     266,   651,   653,   652,   655,    -1,   164,   654,    -1,   654,
 
1872
      -1,   644,    -1,   658,    -1,   384,   385,   658,    -1,   384,
 
1873
     657,   385,   658,    -1,    -1,   291,   656,   662,    -1,   657,
 
1874
     386,   734,    -1,   734,    -1,   360,   661,    -1,   361,   661,
 
1875
      -1,    -1,   406,   659,   779,    -1,    -1,   384,   406,   385,
 
1876
     660,   782,    -1,   661,   386,   666,    -1,   666,    -1,   662,
 
1877
     386,   663,    -1,   663,    -1,   738,   664,   670,    -1,   114,
 
1878
      -1,   292,    -1,    -1,   664,    -1,    -1,   384,   667,   668,
 
1879
     385,    -1,    -1,   669,    -1,   669,   386,   670,    -1,   670,
 
1880
      -1,   524,    -1,    90,    -1,    -1,    -1,   230,   102,   672,
 
1881
     173,   353,   678,    -1,    -1,    -1,   353,   488,   741,   674,
 
1882
     291,   676,   675,   609,   620,   630,    -1,   676,   386,   677,
 
1883
      -1,   677,    -1,   738,   664,   670,    -1,   678,   386,   679,
 
1884
      -1,   679,    -1,   738,   664,   670,    -1,    -1,    91,   681,
 
1885
     684,   682,    -1,    -1,   136,   741,   683,   609,   620,   630,
 
1886
      -1,    -1,   685,   684,    -1,   154,    -1,   342,   687,   644,
 
1887
      -1,    -1,   328,    -1,    -1,   294,   689,   690,    -1,    74,
 
1888
     693,    -1,   325,   691,   693,    -1,   328,   309,   691,   693,
 
1889
      -1,    51,   692,   741,   691,   693,    -1,   461,   692,   741,
 
1890
     691,   609,    -1,    66,   384,   381,   385,   368,    -1,    66,
 
1891
     384,   381,   385,   116,    -1,   368,   625,    -1,   116,   625,
 
1892
      -1,   758,   309,   693,    -1,   251,    -1,   758,   364,   693,
 
1893
      -1,    67,    73,   412,   746,    -1,    67,   328,   741,    -1,
 
1894
      -1,   692,   746,    -1,   136,    -1,   166,    -1,    -1,   181,
 
1895
     743,    -1,   371,   524,    -1,    -1,   697,   741,   695,   699,
 
1896
      -1,    -1,   697,   698,   696,   503,    -1,    92,    -1,    93,
 
1897
      -1,    -1,   121,    -1,    -1,   730,    -1,   746,    -1,    -1,
 
1898
     130,   701,   702,    -1,   702,   386,   703,    -1,   703,    -1,
 
1899
      -1,   766,   704,   705,    -1,   325,   372,   257,   189,    -1,
 
1900
     190,    -1,   309,    -1,    -1,   643,    -1,   174,   707,   524,
 
1901
      -1,    -1,    60,    -1,   253,    -1,   356,   746,    -1,    -1,
 
1902
      -1,    -1,    -1,   185,   714,   710,   715,   158,   745,   711,
 
1903
     716,   164,   712,   328,   741,   713,   717,   720,   723,   725,
 
1904
     728,    -1,    76,    -1,    -1,    58,    -1,    -1,   266,    -1,
 
1905
     154,    -1,    -1,    51,   718,    -1,   718,   719,    -1,   719,
 
1906
      -1,   330,    35,   730,    -1,   237,   108,    35,   730,    -1,
 
1907
     108,    35,   730,    -1,   117,    35,   730,    -1,    -1,   183,
 
1908
     721,    -1,   721,   722,    -1,   722,    -1,   330,    35,   730,
 
1909
      -1,   307,    35,   730,    -1,    -1,   154,   226,   724,    -1,
 
1910
     183,    -1,   276,    -1,    -1,   384,   726,   385,    -1,   384,
 
1911
     385,    -1,   726,   386,   727,    -1,   727,    -1,   738,    -1,
 
1912
     391,   747,    -1,    -1,   291,   678,    -1,   744,    -1,   729,
 
1913
     744,    -1,   744,    -1,   145,    -1,    26,    -1,   732,    -1,
 
1914
     380,   733,    -1,   379,   733,    -1,   729,    -1,   733,    -1,
 
1915
     225,    -1,   123,    -1,   341,    -1,   145,    -1,    26,    -1,
 
1916
      80,   729,    -1,   334,   729,    -1,   226,    -1,   191,    -1,
 
1917
     345,    -1,    87,    -1,   129,    -1,   738,    -1,   735,    -1,
 
1918
     746,   390,   381,    -1,   746,   390,   746,   390,   381,    -1,
 
1919
     524,    -1,   746,    -1,   739,    -1,   746,    -1,   739,    -1,
 
1920
     746,   390,   746,    -1,   390,   746,   390,   746,    -1,   746,
 
1921
     390,   746,   390,   746,    -1,   746,    -1,   746,   390,   746,
 
1922
     390,   746,    -1,   746,   390,   746,    -1,   390,   746,    -1,
 
1923
     746,    -1,   746,   390,   746,    -1,   390,   746,    -1,   150,
 
1924
      -1,   152,    -1,   331,    -1,   331,    -1,   331,    -1,   742,
 
1925
      -1,   748,    -1,   746,    -1,   743,    -1,   180,    -1,   749,
 
1926
      -1,    22,    -1,    36,    -1,    45,    -1,    47,    -1,    53,
 
1927
      -1,    55,    -1,    63,    -1,    86,    -1,   109,    -1,   130,
 
1928
      -1,   224,    -1,   234,    -1,   273,    -1,   279,    -1,   282,
 
1929
      -1,   289,    -1,   308,    -1,   312,    -1,   342,    -1,     4,
 
1930
      -1,     6,    -1,     7,    -1,     8,    -1,    13,    -1,    17,
 
1931
      -1,    18,    -1,    19,    -1,    20,    -1,    27,    -1,    29,
 
1932
      -1,    30,    -1,    32,    -1,    31,    -1,    34,    -1,    39,
 
1933
      -1,    42,    -1,    48,    -1,    50,    -1,   125,    -1,    51,
 
1934
      -1,    54,    -1,    56,    -1,    57,    -1,    58,    -1,    60,
 
1935
      -1,    61,    -1,    69,    -1,    76,    -1,    74,    -1,    75,
 
1936
      -1,    77,    -1,    80,    -1,    85,    -1,    95,    -1,    96,
 
1937
      -1,   101,    -1,   102,    -1,   103,    -1,   110,    -1,   113,
 
1938
      -1,   112,    -1,   116,    -1,   118,    -1,   119,    -1,   121,
 
1939
      -1,   134,    -1,   107,    -1,   137,    -1,   126,    -1,   127,
 
1940
      -1,   128,    -1,   135,    -1,   139,    -1,   143,    -1,   149,
 
1941
      -1,   151,    -1,   155,    -1,   156,    -1,   168,    -1,   172,
 
1942
      -1,   175,    -1,   179,    -1,   184,    -1,   186,    -1,   188,
 
1943
      -1,   190,    -1,   196,    -1,   197,    -1,   199,    -1,   200,
 
1944
      -1,   201,    -1,   202,    -1,   205,    -1,   206,    -1,   210,
 
1945
      -1,   208,    -1,   212,    -1,   214,    -1,   213,    -1,   215,
 
1946
      -1,   220,    -1,   219,    -1,   221,    -1,   228,    -1,   229,
 
1947
      -1,   231,    -1,   232,    -1,   233,    -1,   243,    -1,   244,
 
1948
      -1,   245,    -1,   248,    -1,   250,    -1,   251,    -1,   252,
 
1949
      -1,   253,    -1,   256,    -1,   260,    -1,   264,    -1,   268,
 
1950
      -1,   270,    -1,   274,    -1,   275,    -1,   276,    -1,   277,
 
1951
      -1,   278,    -1,   281,    -1,   287,    -1,   286,    -1,   288,
 
1952
      -1,   296,    -1,   293,    -1,   295,    -1,   297,    -1,   303,
 
1953
      -1,   309,    -1,   313,    -1,   316,    -1,   317,    -1,   318,
 
1954
      -1,   321,    -1,   322,    -1,   323,    -1,   325,    -1,   326,
 
1955
      -1,   329,    -1,   332,    -1,   339,    -1,   334,    -1,   335,
 
1956
      -1,   336,    -1,   343,    -1,   344,    -1,   346,    -1,   347,
 
1957
      -1,   351,    -1,   355,    -1,   364,    -1,   361,    -1,   368,
 
1958
      -1,   369,    -1,   374,    -1,   378,    -1,    -1,   291,   752,
 
1959
     751,   753,    -1,    -1,   236,    -1,   754,    -1,   753,   386,
 
1960
     754,    -1,    -1,   755,   760,    -1,   757,    -1,   139,    -1,
 
1961
     186,    -1,   288,    -1,    -1,   231,    -1,    -1,   139,    -1,
 
1962
     186,    -1,   288,    -1,    -1,   139,   390,    -1,   186,   390,
 
1963
      -1,   288,   390,    -1,   761,    -1,   757,   762,    -1,   756,
 
1964
     763,   664,   765,    -1,   756,   339,   168,   179,   764,    -1,
 
1965
     391,   747,   664,   524,    -1,   391,   391,   759,   763,   664,
 
1966
     765,    -1,   746,    -1,   257,   346,    -1,   257,    54,    -1,
 
1967
     264,   257,    -1,   286,    -1,   524,    -1,    90,    -1,   230,
 
1968
      -1,     9,    -1,    25,    -1,   328,    -1,   325,    -1,    -1,
 
1969
     352,   768,   766,    -1,    -1,    22,   770,   771,    -1,    -1,
 
1970
     374,    -1,    -1,    12,   224,    42,    -1,    12,    42,    -1,
 
1971
      -1,   262,    -1,   224,   262,    -1,    -1,   279,    -1,    55,
 
1972
     771,   772,   773,    -1,   273,   771,   772,   773,    -1,   273,
 
1973
     771,   337,   774,   746,    -1,   279,   746,    -1,   262,   279,
 
1974
     746,    -1,    -1,   780,    -1,    -1,   349,   786,   781,   504,
 
1975
      -1,    -1,   780,    -1,   783,    -1,    -1,   784,   785,    -1,
 
1976
     621,   625,    -1,   627,    -1,    -1,    97,    -1,     9,    -1,
 
1977
     283,   577,    -1,   384,   506,   385,    -1,   787,    -1,    -1,
 
1978
     788,   349,   786,   789,   787,    -1,   791,   788,   792,    -1,
 
1979
      -1,    -1
 
1980
};
 
1981
 
 
1982
/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 
1983
static const yytype_uint16 yyrline[] =
 
1984
{
 
1985
       0,   962,   962,   979,   983,   984,   989,   990,   991,   992,
 
1986
     993,   994,   995,   996,   997,   998,   999,  1000,  1001,  1002,
 
1987
    1003,  1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,  1012,
 
1988
    1013,  1014,  1021,  1020,  1054,  1053,  1081,  1080,  1098,  1099,
 
1989
    1101,  1111,  1124,  1127,  1126,  1132,  1134,  1133,  1137,  1136,
 
1990
    1143,  1173,  1142,  1187,  1188,  1192,  1193,  1197,  1198,  1202,
 
1991
    1203,  1206,  1208,  1212,  1213,  1217,  1218,  1219,  1223,  1233,
 
1992
    1242,  1249,  1260,  1268,  1269,  1282,  1301,  1311,  1312,  1313,
 
1993
    1316,  1317,  1318,  1319,  1320,  1321,  1322,  1326,  1327,  1331,
 
1994
    1332,  1336,  1337,  1341,  1342,  1349,  1358,  1368,  1387,  1391,
 
1995
    1397,  1399,  1403,  1407,  1408,  1412,  1417,  1416,  1451,  1455,
 
1996
    1472,  1485,  1503,  1514,  1533,  1554,  1564,  1574,  1584,  1596,
 
1997
    1607,  1617,  1627,  1638,  1637,  1649,  1667,  1671,  1672,  1676,
 
1998
    1677,  1681,  1685,  1687,  1693,  1694,  1696,  1701,  1710,  1711,
 
1999
    1715,  1716,  1720,  1721,  1725,  1726,  1730,  1742,  1749,  1761,
 
2000
    1768,  1770,  1783,  1798,  1813,  1821,  1829,  1837,  1853,  1855,
 
2001
    1860,  1871,  1872,  1876,  1877,  1880,  1882,  1886,  1898,  1899,
 
2002
    1903,  1905,  1915,  1916,  1918,  1920,  1926,  1930,  1935,  1940,
 
2003
    1946,  1955,  1956,  1957,  1958,  1959,  1963,  1967,  1968,  1972,
 
2004
    1973,  1977,  1978,  1982,  1983,  1984,  1988,  1989,  1993,  2005,
 
2005
    2006,  2010,  2011,  2015,  2016,  2020,  2021,  2025,  2026,  2028,
 
2006
    2033,  2034,  2038,  2039,  2043,  2044,  2056,  2057,  2061,  2062,
 
2007
    2066,  2067,  2075,  2074,  2099,  2098,  2117,  2118,  2121,  2123,
 
2008
    2128,  2133,  2138,  2141,  2145,  2152,  2153,  2157,  2167,  2168,
 
2009
    2174,  2182,  2181,  2189,  2202,  2188,  2217,  2224,  2231,  2239,
 
2010
    2247,  2254,  2261,  2268,  2275,  2297,  2307,  2313,  2319,  2328,
 
2011
    2329,  2333,  2334,  2338,  2339,  2346,  2356,  2357,  2358,  2359,
 
2012
    2363,  2374,  2375,  2384,  2383,  2398,  2397,  2411,  2410,  2425,
 
2013
    2424,  2436,  2437,  2441,  2459,  2471,  2472,  2476,  2481,  2486,
 
2014
    2491,  2496,  2495,  2515,  2523,  2515,  2530,  2531,  2532,  2533,
 
2015
    2534,  2538,  2547,  2549,  2561,  2562,  2566,  2567,  2568,  2569,
 
2016
    2570,  2576,  2582,  2585,  2587,  2592,  2601,  2602,  2603,  2615,
 
2017
    2622,  2642,  2650,  2658,  2659,  2660,  2661,  2662,  2666,  2667,
 
2018
    2672,  2721,  2726,  2767,  2769,  2771,  2773,  2775,  2777,  2779,
 
2019
    2781,  2785,  2787,  2789,  2791,  2793,  2795,  2799,  2803,  2809,
 
2020
    2813,  2819,  2823,  2831,  2833,  2839,  2841,  2843,  2847,  2849,
 
2021
    2851,  2853,  2855,  2857,  2859,  2861,  2863,  2865,  2869,  2873,
 
2022
    2877,  2881,  2882,  2883,  2884,  2885,  2886,  2890,  2891,  2895,
 
2023
    2896,  2897,  2898,  2899,  2900,  2908,  2909,  2910,  2911,  2912,
 
2024
    2914,  2918,  2919,  2924,  2929,  2933,  2934,  2939,  2947,  2949,
 
2025
    2956,  2961,  2966,  2978,  2980,  2984,  2986,  2988,  2990,  2992,
 
2026
    3001,  3009,  3011,  3013,  3015,  3017,  3019,  3021,  3023,  3025,
 
2027
    3027,  3029,  3031,  3033,  3035,  3037,  3041,  3057,  3062,  3064,
 
2028
    3068,  3070,  3072,  3074,  3078,  3082,  3084,  3089,  3091,  3103,
 
2029
    3114,  3126,  3137,  3139,  3141,  3143,  3145,  3149,  3161,  3163,
 
2030
    3165,  3173,  3175,  3177,  3179,  3181,  3183,  3185,  3195,  3209,
 
2031
    3208,  3256,  3257,  3261,  3266,  3274,  3294,  3296,  3298,  3300,
 
2032
    3303,  3305,  3302,  3308,  3315,  3317,  3319,  3321,  3323,  3325,
 
2033
    3327,  3329,  3331,  3334,  3333,  3349,  3348,  3357,  3361,  3365,
 
2034
    3379,  3380,  3385,  3388,  3393,  3396,  3408,  3407,  3424,  3426,
 
2035
    3428,  3430,  3432,  3437,  3442,  3450,  3451,  3455,  3456,  3460,
 
2036
    3466,  3477,  3478,  3487,  3498,  3499,  3505,  3506,  3526,  3528,
 
2037
    3532,  3530,  3547,  3545,  3563,  3561,  3568,  3577,  3575,  3593,
 
2038
    3592,  3602,  3613,  3611,  3630,  3629,  3640,  3651,  3652,  3653,
 
2039
    3665,  3665,  3678,  3718,  3760,  3764,  3769,  3761,  3781,  3801,
 
2040
    3809,  3801,  3818,  3817,  3840,  3856,  3840,  3863,  3867,  3887,
 
2041
    3888,  3893,  3896,  3897,  3898,  3902,  3903,  3908,  3907,  3913,
 
2042
    3912,  3920,  3921,  3924,  3926,  3926,  3930,  3930,  3935,  3936,
 
2043
    3940,  3942,  3947,  3948,  3952,  3960,  3970,  3971,  3972,  3973,
 
2044
    3974,  3975,  3976,  3977,  3978,  3979,  3980,  3981,  3985,  3986,
 
2045
    4004,  4005,  4006,  4007,  4008,  4009,  4010,  4011,  4012,  4015,
 
2046
    4017,  4018,  4022,  4023,  4027,  4029,  4033,  4035,  4034,  4048,
 
2047
    4051,  4050,  4065,  4071,  4081,  4083,  4087,  4089,  4094,  4095,
 
2048
    4120,  4124,  4125,  4129,  4142,  4144,  4149,  4148,  4183,  4185,
 
2049
    4190,  4191,  4192,  4197,  4203,  4207,  4208,  4212,  4216,  4223,
 
2050
    4230,  4240,  4241,  4242,  4247,  4251,  4260,  4261,  4262,  4263,
 
2051
    4264,  4265,  4269,  4270,  4271,  4272,  4273,  4277,  4277,  4287,
 
2052
    4288,  4292,  4308,  4307,  4314,  4313,  4321,  4332,  4341,  4352,
 
2053
    4352,  4367,  4379,  4380,  4384,  4392,  4393,  4397,  4398,  4406,
 
2054
    4418,  4405,  4428,  4438,  4427,  4447,  4448,  4452,  4461,  4462,
 
2055
    4463,  4465,  4464,  4475,  4476,  4480,  4481,  4483,  4482,  4486,
 
2056
    4485,  4491,  4492,  4496,  4497,  4501,  4511,  4512,  4516,  4517,
 
2057
    4522,  4521,  4535,  4536,  4540,  4545,  4553,  4554,  4557,  4559,
 
2058
    4559,  4567,  4580,  4566,  4600,  4601,  4605,  4613,  4614,  4618,
 
2059
    4631,  4630,  4647,  4646,  4657,  4658,  4662,  4666,  4678,  4680,
 
2060
    4687,  4686,  4699,  4736,  4788,  4829,  4871,  4912,  4920,  4928,
 
2061
    4935,  4942,  4981,  5003,  5042,  5052,  5064,  5065,  5069,  5070,
 
2062
    5073,  5075,  5082,  5093,  5092,  5134,  5133,  5143,  5144,  5148,
 
2063
    5149,  5153,  5154,  5155,  5168,  5167,  5181,  5182,  5187,  5186,
 
2064
    5192,  5197,  5202,  5210,  5211,  5217,  5230,  5231,  5232,  5238,
 
2065
    5253,  5267,  5276,  5282,  5252,  5298,  5301,  5302,  5309,  5310,
 
2066
    5311,  5314,  5316,  5320,  5321,  5325,  5330,  5337,  5342,  5349,
 
2067
    5351,  5355,  5356,  5360,  5365,  5372,  5374,  5382,  5383,  5387,
 
2068
    5388,  5389,  5393,  5395,  5400,  5401,  5406,  5407,  5413,  5418,
 
2069
    5425,  5431,  5442,  5455,  5456,  5457,  5465,  5466,  5467,  5472,
 
2070
    5473,  5474,  5475,  5476,  5477,  5481,  5486,  5491,  5493,  5501,
 
2071
    5516,  5517,  5521,  5527,  5536,  5540,  5552,  5556,  5566,  5570,
 
2072
    5590,  5606,  5626,  5627,  5644,  5655,  5659,  5660,  5661,  5665,
 
2073
    5666,  5684,  5691,  5698,  5705,  5706,  5715,  5716,  5717,  5722,
 
2074
    5723,  5724,  5725,  5726,  5727,  5728,  5729,  5730,  5731,  5732,
 
2075
    5733,  5734,  5735,  5736,  5737,  5738,  5739,  5740,  5741,  5751,
 
2076
    5752,  5753,  5754,  5755,  5756,  5757,  5758,  5759,  5760,  5761,
 
2077
    5762,  5763,  5764,  5765,  5766,  5767,  5768,  5769,  5770,  5771,
 
2078
    5772,  5773,  5774,  5775,  5776,  5777,  5778,  5779,  5780,  5781,
 
2079
    5782,  5783,  5784,  5785,  5786,  5787,  5788,  5789,  5790,  5791,
 
2080
    5792,  5793,  5794,  5795,  5796,  5797,  5798,  5799,  5800,  5801,
 
2081
    5802,  5803,  5804,  5805,  5806,  5807,  5808,  5809,  5810,  5811,
 
2082
    5812,  5813,  5814,  5815,  5816,  5817,  5818,  5819,  5820,  5821,
 
2083
    5822,  5823,  5824,  5825,  5826,  5827,  5828,  5829,  5830,  5831,
 
2084
    5832,  5833,  5834,  5835,  5836,  5837,  5838,  5839,  5840,  5841,
 
2085
    5842,  5843,  5844,  5845,  5846,  5847,  5848,  5849,  5850,  5851,
 
2086
    5852,  5853,  5854,  5855,  5856,  5857,  5858,  5859,  5860,  5861,
 
2087
    5862,  5863,  5864,  5865,  5866,  5867,  5868,  5869,  5870,  5871,
 
2088
    5872,  5873,  5874,  5875,  5876,  5877,  5878,  5879,  5880,  5881,
 
2089
    5882,  5883,  5884,  5885,  5886,  5887,  5888,  5889,  5890,  5891,
 
2090
    5892,  5893,  5894,  5901,  5900,  5917,  5918,  5922,  5923,  5927,
 
2091
    5927,  5935,  5936,  5937,  5938,  5942,  5943,  5947,  5948,  5949,
 
2092
    5950,  5954,  5955,  5956,  5957,  5961,  5962,  5966,  5978,  5990,
 
2093
    5994,  6002,  6019,  6020,  6021,  6022,  6026,  6027,  6028,  6029,
 
2094
    6030,  6034,  6035,  6040,  6039,  6053,  6052,  6064,  6065,  6070,
 
2095
    6071,  6072,  6077,  6078,  6079,  6083,  6084,  6088,  6102,  6113,
 
2096
    6126,  6138,  6155,  6156,  6161,  6160,  6176,  6177,  6178,  6182,
 
2097
    6182,  6206,  6207,  6211,  6212,  6213,  6217,  6221,  6228,  6231,
 
2098
    6229,  6244,  6251,  6271
 
2099
};
 
2100
#endif
 
2101
 
 
2102
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
 
2103
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
 
2104
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 
2105
static const char *const yytname[] =
 
2106
{
 
2107
  "$end", "error", "$undefined", "ABORT_SYM", "ACTION", "ADD",
 
2108
  "ADDDATE_SYM", "AFTER_SYM", "AGGREGATE_SYM", "ALL", "ALTER",
 
2109
  "ANALYZE_SYM", "AND_SYM", "ANY_SYM", "AS", "ASC", "ASENSITIVE_SYM",
 
2110
  "AT_SYM", "AUTO_INC", "AVG_ROW_LENGTH", "AVG_SYM", "BEFORE_SYM",
 
2111
  "BEGIN_SYM", "BETWEEN_SYM", "BIGINT_SYM", "BINARY", "BIN_NUM", "BIT_SYM",
 
2112
  "BLOB_SYM", "BLOCK_SIZE_SYM", "BLOCK_SYM", "BOOLEAN_SYM", "BOOL_SYM",
 
2113
  "BOTH", "BTREE_SYM", "BY", "BYTE_SYM", "CALL_SYM", "CASCADE", "CASCADED",
 
2114
  "CASE_SYM", "CAST_SYM", "CHAIN_SYM", "CHANGE", "CHAR_SYM",
 
2115
  "CHECKSUM_SYM", "CHECK_SYM", "CLOSE_SYM", "COALESCE", "COLLATE_SYM",
 
2116
  "COLLATION_SYM", "COLUMNS", "COLUMN_SYM", "COMMENT_SYM", "COMMITTED_SYM",
 
2117
  "COMMIT_SYM", "COMPACT_SYM", "COMPRESSED_SYM", "CONCURRENT",
 
2118
  "CONDITION_SYM", "CONNECTION_SYM", "CONSISTENT_SYM", "CONSTRAINT",
 
2119
  "CONTAINS_SYM", "CONTINUE_SYM", "CONVERT_SYM", "COUNT_SYM", "CREATE",
 
2120
  "CROSS", "CUBE_SYM", "CURDATE", "CURRENT_USER", "CURSOR_SYM", "DATABASE",
 
2121
  "DATABASES", "DATAFILE_SYM", "DATA_SYM", "DATETIME_SYM",
 
2122
  "DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DATE_SYM", "DAY_HOUR_SYM",
 
2123
  "DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DAY_SYM",
 
2124
  "DEALLOCATE_SYM", "DECIMAL_NUM", "DECIMAL_SYM", "DECLARE_SYM", "DEFAULT",
 
2125
  "DELETE_SYM", "DESC", "DESCRIBE", "DETERMINISTIC_SYM", "DISABLE_SYM",
 
2126
  "DISCARD", "DISTINCT", "DIV_SYM", "DOUBLE_SYM", "DROP", "DUMPFILE",
 
2127
  "DUPLICATE_SYM", "DYNAMIC_SYM", "EACH_SYM", "ELSE", "ELSEIF_SYM",
 
2128
  "ENABLE_SYM", "ENCLOSED", "END", "ENDS_SYM", "END_OF_INPUT",
 
2129
  "ENGINE_SYM", "ENUM_SYM", "EQ", "EQUAL_SYM", "ERRORS", "ESCAPED",
 
2130
  "ESCAPE_SYM", "EXCLUSIVE_SYM", "EXISTS", "EXTENDED_SYM", "EXTRACT_SYM",
 
2131
  "FALSE_SYM", "FETCH_SYM", "COLUMN_FORMAT_SYM", "FILE_SYM", "FIRST_SYM",
 
2132
  "FIXED_SYM", "FLOAT_NUM", "FLUSH_SYM", "FORCE_SYM", "FOREIGN", "FOR_SYM",
 
2133
  "FOUND_SYM", "FRAC_SECOND_SYM", "FROM", "FULL", "GE", "GLOBAL_SYM",
 
2134
  "GROUP_SYM", "GROUP_CONCAT_SYM", "GT_SYM", "HASH_SYM", "HAVING",
 
2135
  "HEX_NUM", "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM",
 
2136
  "HOUR_SYM", "IDENT", "IDENTIFIED_SYM", "IDENT_QUOTED", "IF",
 
2137
  "IGNORE_SYM", "IMPORT", "INDEXES", "INDEX_SYM", "INFILE", "INNER_SYM",
 
2138
  "INOUT_SYM", "INSENSITIVE_SYM", "INSERT", "INTERVAL_SYM", "INTO",
 
2139
  "INT_SYM", "IN_SYM", "IS", "ISOLATION", "ITERATE_SYM", "JOIN_SYM",
 
2140
  "KEYS", "KEY_BLOCK_SIZE", "KEY_SYM", "KILL_SYM", "LAST_SYM", "LE",
 
2141
  "LEADING", "LEFT", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE", "LIMIT", "LINES",
 
2142
  "LIST_SYM", "LOAD", "LOCAL_SYM", "LOCATOR_SYM", "LOCKS_SYM", "LOCK_SYM",
 
2143
  "LOGS_SYM", "LONG_NUM", "LONG_SYM", "LOOP_SYM", "LT", "MATCH",
 
2144
  "MAX_ROWS", "MAX_SIZE_SYM", "MAX_SYM", "MAX_VALUE_SYM", "MEDIUM_SYM",
 
2145
  "MERGE_SYM", "MICROSECOND_SYM", "MINUTE_MICROSECOND_SYM",
 
2146
  "MINUTE_SECOND_SYM", "MINUTE_SYM", "MIN_ROWS", "MIN_SYM", "MODE_SYM",
 
2147
  "MODIFIES_SYM", "MODIFY_SYM", "MOD_SYM", "MONTH_SYM", "NAMES_SYM",
 
2148
  "NAME_SYM", "NATIONAL_SYM", "NATURAL", "NE", "NEG", "NEW_SYM",
 
2149
  "NEXT_SYM", "NONE_SYM", "NOT_SYM", "NOW_SYM", "NO_SYM", "NULL_SYM",
 
2150
  "NUM", "NUMERIC_SYM", "OFFLINE_SYM", "OFFSET_SYM", "ON", "ONE_SHOT_SYM",
 
2151
  "ONE_SYM", "ONLINE_SYM", "OPEN_SYM", "OPTIMIZE", "OPTION", "OPTIONALLY",
 
2152
  "ORDER_SYM", "OR_SYM", "OUTER", "OUTFILE", "OUT_SYM", "PAGE_SYM",
 
2153
  "PARTIAL", "PHASE_SYM", "POSITION_SYM", "PRECISION", "PREV_SYM",
 
2154
  "PRIMARY_SYM", "PROCESS", "PROCESSLIST_SYM", "QUARTER_SYM", "QUERY_SYM",
 
2155
  "RANGE_SYM", "READS_SYM", "READ_ONLY_SYM", "READ_SYM", "READ_WRITE_SYM",
 
2156
  "REAL", "REDUNDANT_SYM", "REFERENCES", "RELEASE_SYM", "RENAME",
 
2157
  "REPEATABLE_SYM", "REPEAT_SYM", "REPLACE", "RESTRICT", "RETURNS_SYM",
 
2158
  "RETURN_SYM", "REVERSE_SYM", "REVOKE", "RIGHT", "ROLLBACK_SYM",
 
2159
  "ROLLUP_SYM", "ROUTINE_SYM", "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM",
 
2160
  "SAVEPOINT_SYM", "SECOND_MICROSECOND_SYM", "SECOND_SYM", "SECURITY_SYM",
 
2161
  "SELECT_SYM", "SENSITIVE_SYM", "SEPARATOR_SYM", "SERIALIZABLE_SYM",
 
2162
  "SERIAL_SYM", "SESSION_SYM", "SERVER_SYM", "SERVER_OPTIONS", "SET",
 
2163
  "SET_VAR", "SHARE_SYM", "SHOW", "SHUTDOWN", "SIMPLE_SYM", "SNAPSHOT_SYM",
 
2164
  "SPECIFIC_SYM", "SQLEXCEPTION_SYM", "SQLSTATE_SYM", "SQLWARNING_SYM",
 
2165
  "SQL_BIG_RESULT", "SQL_BUFFER_RESULT", "SQL_CALC_FOUND_ROWS",
 
2166
  "SQL_SMALL_RESULT", "SQL_SYM", "STARTING", "START_SYM", "STATUS_SYM",
 
2167
  "STDDEV_SAMP_SYM", "STD_SYM", "STOP_SYM", "STORAGE_SYM", "STORED_SYM",
 
2168
  "STRAIGHT_JOIN", "STRING_SYM", "SUBDATE_SYM", "SUBJECT_SYM", "SUBSTRING",
 
2169
  "SUM_SYM", "SUSPEND_SYM", "SWAPS_SYM", "SWITCHES_SYM", "SYSDATE",
 
2170
  "TABLES", "TABLESPACE", "TABLE_REF_PRIORITY", "TABLE_SYM",
 
2171
  "TEMPORARY_SYM", "TERMINATED", "TEXT_STRING", "TEXT_SYM", "THEN_SYM",
 
2172
  "TIMESTAMP_SYM", "TIMESTAMP_ADD", "TIMESTAMP_DIFF", "TO_SYM", "TRAILING",
 
2173
  "TRANSACTION_SYM", "TRIM", "TRUE_SYM", "TRUNCATE_SYM", "TYPES_SYM",
 
2174
  "TYPE_SYM", "ULONGLONG_NUM", "UNCOMMITTED_SYM", "UNDOFILE_SYM",
 
2175
  "UNDO_SYM", "UNION_SYM", "UNIQUE_SYM", "UNKNOWN_SYM", "UNLOCK_SYM",
 
2176
  "UPDATE_SYM", "USAGE", "USER", "USE_SYM", "USING", "UTC_DATE_SYM",
 
2177
  "UTC_TIMESTAMP_SYM", "VALUES", "VALUE_SYM", "VARBINARY", "VARCHAR_SYM",
 
2178
  "VARIABLES", "VARIANCE_SYM", "VARYING", "VAR_SAMP_SYM", "WARNINGS",
 
2179
  "WEEK_SYM", "WHEN_SYM", "WHERE", "WITH", "WITH_ROLLUP_SYM", "WORK_SYM",
 
2180
  "WRITE_SYM", "XOR", "YEAR_MONTH_SYM", "YEAR_SYM", "'-'", "'+'", "'*'",
 
2181
  "'/'", "'%'", "'('", "')'", "','", "'!'", "'{'", "'}'", "'.'", "'@'",
 
2182
  "$accept", "query", "verb_clause", "statement", "create", "@1", "@2",
 
2183
  "@3", "create2", "create2a", "@4", "create3", "@5", "@6",
 
2184
  "create_select", "@7", "@8", "opt_as", "opt_create_database_options",
 
2185
  "opt_table_options", "opt_if_not_exists", "opt_create_table_options",
 
2186
  "create_table_options_space_separated", "create_table_options",
 
2187
  "create_table_option", "default_collation", "default_collation_schema",
 
2188
  "column_format_types", "row_types", "opt_select_from", "field_list",
 
2189
  "field_list_item", "column_def", "key_def", "opt_check_constraint",
 
2190
  "check_constraint", "opt_constraint", "constraint", "field_spec", "@9",
 
2191
  "field_def", "type", "@10", "char", "varchar", "int_type", "real_type",
 
2192
  "float_options", "precision", "opt_len", "opt_precision",
 
2193
  "opt_attribute", "opt_attribute_list", "attribute",
 
2194
  "now_or_signed_literal", "collation_name", "collation_name_or_default",
 
2195
  "opt_default", "opt_primary", "references", "opt_ref_list", "ref_list",
 
2196
  "opt_match_clause", "opt_on_update_delete", "delete_option", "key_type",
 
2197
  "constraint_key_type", "key_or_index", "opt_key_or_index",
 
2198
  "keys_or_index", "opt_unique", "init_key_options", "key_alg",
 
2199
  "key_options", "key_opts", "key_using_alg", "key_opt", "btree_or_rtree",
 
2200
  "key_list", "key_part", "opt_ident", "opt_component", "string_list",
 
2201
  "alter", "@11", "@12", "ident_or_empty", "alter_commands",
 
2202
  "build_method", "alter_list", "add_column", "alter_list_item", "@13",
 
2203
  "@14", "@15", "opt_column", "opt_ignore", "opt_place", "opt_to", "start",
 
2204
  "start_transaction_opts", "checksum", "@16", "analyze", "@17", "check",
 
2205
  "@18", "rename", "@19", "table_to_table_list", "table_to_table",
 
2206
  "select", "select_init", "select_paren", "select_paren_derived",
 
2207
  "select_init2", "@20", "select_part2", "@21", "@22", "select_into",
 
2208
  "select_from", "select_options", "select_option_list", "select_option",
 
2209
  "select_lock_type", "select_item_list", "select_item", "remember_name",
 
2210
  "remember_end", "select_alias", "optional_braces", "expr", "bool_pri",
 
2211
  "predicate", "bit_expr", "or", "and", "not", "comp_op", "all_or_any",
 
2212
  "simple_expr", "function_call_keyword", "function_call_nonkeyword",
 
2213
  "function_call_conflict", "function_call_generic", "@23",
 
2214
  "opt_udf_expr_list", "udf_expr_list", "udf_expr", "sum_expr", "@24",
 
2215
  "@25", "@26", "variable", "@27", "variable_aux", "opt_distinct",
 
2216
  "opt_gconcat_separator", "opt_gorder_clause", "in_sum_expr", "@28",
 
2217
  "cast_type", "expr_list", "opt_expr", "opt_else", "when_list",
 
2218
  "table_ref", "join_table_list", "esc_table_ref", "derived_table_list",
 
2219
  "join_table", "@29", "@30", "@31", "@32", "@33", "@34", "@35",
 
2220
  "normal_join", "table_factor", "@36", "select_derived_union", "@37",
 
2221
  "@38", "select_init2_derived", "select_part2_derived", "@39", "@40",
 
2222
  "select_derived", "@41", "select_derived2", "@42", "@43",
 
2223
  "get_select_lex", "select_derived_init", "opt_outer",
 
2224
  "index_hint_clause", "index_hint_type", "index_hint_definition", "@44",
 
2225
  "@45", "index_hints_list", "opt_index_hints_list", "@46",
 
2226
  "opt_key_definition", "@47", "opt_key_usage_list", "key_usage_element",
 
2227
  "key_usage_list", "using_list", "interval", "interval_time_stamp",
 
2228
  "interval_time_st", "table_alias", "opt_table_alias", "opt_all",
 
2229
  "where_clause", "@48", "having_clause", "@49", "opt_escape",
 
2230
  "group_clause", "group_list", "olap_opt", "alter_order_clause",
 
2231
  "alter_order_list", "alter_order_item", "opt_order_clause",
 
2232
  "order_clause", "@50", "order_list", "order_dir",
 
2233
  "opt_limit_clause_init", "opt_limit_clause", "limit_clause",
 
2234
  "limit_options", "limit_option", "delete_limit_clause", "ulong_num",
 
2235
  "ulonglong_num", "select_var_list_init", "@51", "select_var_list",
 
2236
  "select_var_ident", "into", "@52", "into_destination", "@53", "drop",
 
2237
  "@54", "table_list", "table_name", "if_exists", "opt_temporary",
 
2238
  "insert", "@55", "@56", "replace", "@57", "@58", "insert2",
 
2239
  "insert_table", "insert_field_spec", "@59", "fields", "insert_values",
 
2240
  "@60", "@61", "values_list", "ident_eq_list", "ident_eq_value", "equal",
 
2241
  "opt_equal", "no_braces", "@62", "opt_values", "values",
 
2242
  "expr_or_default", "opt_insert_update", "@63", "update", "@64", "@65",
 
2243
  "update_list", "update_elem", "insert_update_list", "insert_update_elem",
 
2244
  "delete", "@66", "single_multi", "@67", "opt_delete_options",
 
2245
  "opt_delete_option", "truncate", "opt_table_sym", "show", "@68",
 
2246
  "show_param", "opt_db", "from_or_in", "show_wild", "describe", "@69",
 
2247
  "@70", "describe_command", "opt_extended_describe",
 
2248
  "opt_describe_column", "flush", "@71", "flush_options", "flush_option",
 
2249
  "@72", "opt_table_list", "kill", "kill_option", "use", "load", "@73",
 
2250
  "@74", "@75", "@76", "data_file", "load_data_lock", "opt_duplicate",
 
2251
  "opt_field_term", "field_term_list", "field_term", "opt_line_term",
 
2252
  "line_term_list", "line_term", "opt_ignore_lines", "lines_or_rows",
 
2253
  "opt_field_or_var_spec", "fields_or_vars", "field_or_var",
 
2254
  "opt_load_data_set_spec", "text_literal", "text_string",
 
2255
  "signed_literal", "literal", "NUM_literal", "insert_ident", "table_wild",
 
2256
  "order_ident", "simple_ident", "simple_ident_nospvar", "simple_ident_q",
 
2257
  "field_ident", "table_ident", "IDENT_sys", "TEXT_STRING_sys",
 
2258
  "TEXT_STRING_literal", "TEXT_STRING_filesystem", "ident",
 
2259
  "ident_or_text", "keyword", "keyword_sp", "set", "@77", "opt_option",
 
2260
  "option_value_list", "option_type_value", "@78", "option_type",
 
2261
  "option_type2", "opt_var_type", "opt_var_ident_type", "ext_option_value",
 
2262
  "sys_option_value", "option_value", "internal_variable_name",
 
2263
  "isolation_types", "set_expr_or_default", "table_or_tables", "unlock",
 
2264
  "@79", "begin", "@80", "opt_work", "opt_chain", "opt_release",
 
2265
  "opt_savepoint", "commit", "rollback", "savepoint", "release",
 
2266
  "union_clause", "union_list", "@81", "union_opt", "union_order_or_limit",
 
2267
  "@82", "order_or_limit", "union_option", "query_specification",
 
2268
  "query_expression_body", "@83", "subselect", "subselect_start",
 
2269
  "subselect_end", 0
 
2270
};
 
2271
#endif
 
2272
 
 
2273
# ifdef YYPRINT
 
2274
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
 
2275
   token YYLEX-NUM.  */
 
2276
static const yytype_uint16 yytoknum[] =
 
2277
{
 
2278
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 
2279
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
 
2280
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
 
2281
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 
2282
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
 
2283
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
 
2284
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
 
2285
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
 
2286
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
 
2287
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
 
2288
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
 
2289
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
 
2290
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
 
2291
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
 
2292
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
 
2293
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
 
2294
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
 
2295
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
 
2296
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
 
2297
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
 
2298
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
 
2299
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
 
2300
     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
 
2301
     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
 
2302
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
 
2303
     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
 
2304
     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
 
2305
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
 
2306
     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
 
2307
     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
 
2308
     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
 
2309
     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
 
2310
     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
 
2311
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
 
2312
     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
 
2313
     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
 
2314
     615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
 
2315
     625,   626,   627,   628,   629,   630,   631,   632,   633,    45,
 
2316
      43,    42,    47,    37,    40,    41,    44,    33,   123,   125,
 
2317
      46,    64
 
2318
};
 
2319
# endif
 
2320
 
 
2321
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 
2322
static const yytype_uint16 yyr1[] =
 
2323
{
 
2324
       0,   392,   393,   393,   394,   394,   395,   395,   395,   395,
 
2325
     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
 
2326
     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
 
2327
     395,   395,   397,   396,   398,   396,   399,   396,   400,   400,
 
2328
     400,   400,   401,   402,   401,   403,   404,   403,   405,   403,
 
2329
     407,   408,   406,   409,   409,   410,   410,   411,   411,   412,
 
2330
     412,   413,   413,   414,   414,   415,   415,   415,   416,   416,
 
2331
     416,   416,   416,   416,   416,   417,   418,   419,   419,   419,
 
2332
     420,   420,   420,   420,   420,   420,   420,   421,   421,   422,
 
2333
     422,   423,   423,   424,   424,   425,   425,   425,   425,   425,
 
2334
     426,   426,   427,   428,   428,   429,   431,   430,   432,   433,
 
2335
     433,   433,   433,   433,   433,   433,   433,   433,   433,   433,
 
2336
     433,   433,   433,   434,   433,   433,   435,   436,   436,   437,
 
2337
     437,   438,   438,   438,   439,   439,   439,   440,   441,   441,
 
2338
     442,   442,   443,   443,   444,   444,   445,   445,   445,   445,
 
2339
     445,   445,   445,   445,   445,   445,   445,   445,   446,   446,
 
2340
     447,   448,   448,   449,   449,   450,   450,   451,   452,   452,
 
2341
     453,   453,   454,   454,   454,   454,   455,   455,   455,   455,
 
2342
     455,   456,   456,   456,   456,   456,   457,   458,   458,   459,
 
2343
     459,   460,   460,   461,   461,   461,   462,   462,   463,   464,
 
2344
     464,   465,   465,   466,   466,   467,   467,   468,   468,   468,
 
2345
     469,   469,   470,   470,   471,   471,   472,   472,   473,   473,
 
2346
     474,   474,   476,   475,   477,   475,   478,   478,   479,   479,
 
2347
     479,   479,   480,   480,   480,   481,   481,   482,   483,   483,
 
2348
     483,   484,   483,   485,   486,   483,   483,   483,   483,   483,
 
2349
     483,   483,   483,   483,   483,   483,   483,   483,   483,   487,
 
2350
     487,   488,   488,   489,   489,   489,   490,   490,   490,   490,
 
2351
     491,   492,   492,   494,   493,   496,   495,   498,   497,   500,
 
2352
     499,   501,   501,   502,   503,   504,   504,   505,   505,   506,
 
2353
     506,   508,   507,   510,   511,   509,   512,   512,   512,   512,
 
2354
     512,   513,   514,   514,   515,   515,   516,   516,   516,   516,
 
2355
     516,   516,   516,   517,   517,   517,   518,   518,   518,   519,
 
2356
     519,   520,   521,   522,   522,   522,   522,   522,   523,   523,
 
2357
     524,   524,   524,   524,   524,   524,   524,   524,   524,   524,
 
2358
     524,   525,   525,   525,   525,   525,   525,   526,   526,   526,
 
2359
     526,   526,   526,   526,   526,   526,   526,   526,   527,   527,
 
2360
     527,   527,   527,   527,   527,   527,   527,   527,   528,   529,
 
2361
     530,   531,   531,   531,   531,   531,   531,   532,   532,   533,
 
2362
     533,   533,   533,   533,   533,   533,   533,   533,   533,   533,
 
2363
     533,   533,   533,   533,   533,   533,   533,   533,   533,   533,
 
2364
     533,   533,   533,   534,   534,   534,   534,   534,   534,   534,
 
2365
     534,   534,   534,   534,   534,   534,   534,   534,   534,   534,
 
2366
     534,   534,   534,   534,   534,   534,   534,   535,   535,   535,
 
2367
     535,   535,   535,   535,   535,   535,   535,   535,   535,   535,
 
2368
     535,   535,   535,   535,   535,   535,   535,   535,   536,   536,
 
2369
     536,   536,   536,   536,   536,   536,   536,   536,   536,   538,
 
2370
     537,   539,   539,   540,   540,   541,   542,   542,   542,   542,
 
2371
     543,   544,   542,   542,   542,   542,   542,   542,   542,   542,
 
2372
     542,   542,   542,   545,   542,   547,   546,   548,   548,   548,
 
2373
     549,   549,   550,   550,   551,   551,   553,   552,   554,   554,
 
2374
     554,   554,   554,   555,   555,   556,   556,   557,   557,   558,
 
2375
     558,   559,   559,   560,   561,   561,   562,   562,   563,   563,
 
2376
     564,   563,   565,   563,   566,   563,   563,   567,   563,   568,
 
2377
     563,   563,   569,   563,   570,   563,   563,   571,   571,   571,
 
2378
     573,   572,   572,   572,   574,   575,   576,   574,   577,   579,
 
2379
     580,   578,   582,   581,   584,   585,   583,   586,   587,   588,
 
2380
     588,   589,   589,   589,   589,   590,   590,   592,   591,   593,
 
2381
     591,   594,   594,   595,   596,   595,   598,   597,   599,   599,
 
2382
     600,   600,   601,   601,   602,   602,   603,   603,   603,   603,
 
2383
     603,   603,   603,   603,   603,   603,   603,   603,   604,   604,
 
2384
     605,   605,   605,   605,   605,   605,   605,   605,   605,   606,
 
2385
     606,   606,   607,   607,   608,   608,   609,   610,   609,   611,
 
2386
     612,   611,   613,   613,   614,   614,   615,   615,   616,   616,
 
2387
     617,   618,   618,   619,   620,   620,   622,   621,   623,   623,
 
2388
     624,   624,   624,   625,   625,   626,   626,   627,   628,   628,
 
2389
     628,   629,   629,   629,   630,   630,   631,   631,   631,   631,
 
2390
     631,   631,   632,   632,   632,   632,   632,   634,   633,   635,
 
2391
     635,   636,   638,   637,   640,   639,   639,   639,   641,   642,
 
2392
     641,   641,   643,   643,   644,   645,   645,   646,   646,   648,
 
2393
     649,   647,   651,   652,   650,   653,   653,   654,   655,   655,
 
2394
     655,   656,   655,   657,   657,   658,   658,   659,   658,   660,
 
2395
     658,   661,   661,   662,   662,   663,   664,   664,   665,   665,
 
2396
     667,   666,   668,   668,   669,   669,   670,   670,   671,   672,
 
2397
     671,   674,   675,   673,   676,   676,   677,   678,   678,   679,
 
2398
     681,   680,   683,   682,   684,   684,   685,   686,   687,   687,
 
2399
     689,   688,   690,   690,   690,   690,   690,   690,   690,   690,
 
2400
     690,   690,   690,   690,   690,   690,   691,   691,   692,   692,
 
2401
     693,   693,   693,   695,   694,   696,   694,   697,   697,   698,
 
2402
     698,   699,   699,   699,   701,   700,   702,   702,   704,   703,
 
2403
     703,   703,   703,   705,   705,   706,   707,   707,   707,   708,
 
2404
     710,   711,   712,   713,   709,   714,   715,   715,   716,   716,
 
2405
     716,   717,   717,   718,   718,   719,   719,   719,   719,   720,
 
2406
     720,   721,   721,   722,   722,   723,   723,   724,   724,   725,
 
2407
     725,   725,   726,   726,   727,   727,   728,   728,   729,   729,
 
2408
     730,   730,   730,   731,   731,   731,   732,   732,   732,   732,
 
2409
     732,   732,   732,   732,   732,   733,   733,   733,   733,   733,
 
2410
     734,   734,   735,   735,   736,   737,   737,   738,   738,   739,
 
2411
     739,   739,   740,   740,   740,   740,   741,   741,   741,   742,
 
2412
     742,   743,   744,   745,   746,   746,   747,   747,   747,   748,
 
2413
     748,   748,   748,   748,   748,   748,   748,   748,   748,   748,
 
2414
     748,   748,   748,   748,   748,   748,   748,   748,   748,   749,
 
2415
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2416
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2417
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2418
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2419
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2420
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2421
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2422
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2423
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2424
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2425
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2426
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2427
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2428
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
 
2429
     749,   749,   749,   751,   750,   752,   752,   753,   753,   755,
 
2430
     754,   756,   756,   756,   756,   757,   757,   758,   758,   758,
 
2431
     758,   759,   759,   759,   759,   760,   760,   761,   761,   762,
 
2432
     762,   763,   764,   764,   764,   764,   765,   765,   765,   765,
 
2433
     765,   766,   766,   768,   767,   770,   769,   771,   771,   772,
 
2434
     772,   772,   773,   773,   773,   774,   774,   775,   776,   776,
 
2435
     777,   778,   779,   779,   781,   780,   782,   782,   782,   784,
 
2436
     783,   785,   785,   786,   786,   786,   787,   787,   788,   789,
 
2437
     788,   790,   791,   792
 
2438
};
 
2439
 
 
2440
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 
2441
static const yytype_uint8 yyr2[] =
 
2442
{
 
2443
       0,     2,     1,     2,     1,     1,     1,     1,     1,     1,
 
2444
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2445
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2446
       1,     1,     0,     7,     0,    13,     0,     6,     2,     2,
 
2447
       3,     4,     4,     0,     4,     0,     0,     5,     0,     7,
 
2448
       0,     0,     6,     0,     1,     0,     1,     0,     1,     0,
 
2449
       3,     0,     1,     1,     2,     1,     2,     3,     3,     3,
 
2450
       3,     3,     3,     1,     3,     4,     4,     1,     1,     1,
 
2451
       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
 
2452
       3,     1,     1,     2,     2,     7,     8,     8,     2,     2,
 
2453
       0,     1,     2,     0,     1,     2,     0,     3,     2,     1,
 
2454
       2,     4,     1,     4,     4,     1,     1,     1,     1,     1,
 
2455
       2,     2,     2,     0,     5,     1,     1,     2,     1,     1,
 
2456
       1,     1,     1,     2,     0,     3,     1,     5,     0,     3,
 
2457
       0,     1,     0,     1,     2,     1,     1,     2,     2,     2,
 
2458
       4,     1,     3,     2,     1,     2,     2,     2,     2,     1,
 
2459
       1,     1,     1,     0,     1,     0,     1,     5,     0,     3,
 
2460
       3,     1,     0,     2,     2,     2,     0,     3,     3,     6,
 
2461
       6,     1,     1,     2,     2,     2,     1,     2,     2,     1,
 
2462
       1,     0,     1,     1,     1,     1,     0,     1,     0,     1,
 
2463
       2,     0,     1,     1,     2,     2,     2,     1,     3,     2,
 
2464
       1,     1,     4,     2,     1,     4,     0,     1,     0,     2,
 
2465
       1,     3,     0,     7,     0,     5,     0,     1,     0,     2,
 
2466
       2,     1,     0,     1,     1,     1,     3,     2,     3,     2,
 
2467
       4,     0,     6,     0,     0,     7,     3,     4,     3,     3,
 
2468
       2,     2,     6,     5,     3,     3,     1,     1,     1,     0,
 
2469
       1,     0,     1,     0,     2,     1,     0,     1,     1,     1,
 
2470
       3,     0,     3,     0,     4,     0,     4,     0,     4,     0,
 
2471
       4,     1,     3,     3,     1,     2,     4,     2,     3,     2,
 
2472
       3,     0,     3,     0,     0,     6,     2,     1,     1,     2,
 
2473
       2,     7,     0,     1,     2,     1,     1,     1,     1,     1,
 
2474
       1,     1,     1,     0,     2,     4,     3,     1,     1,     3,
 
2475
       4,     0,     0,     0,     2,     2,     1,     1,     0,     2,
 
2476
       3,     3,     3,     2,     3,     4,     3,     4,     3,     4,
 
2477
       1,     3,     4,     3,     3,     6,     1,     5,     6,     5,
 
2478
       7,     6,     8,     5,     6,     4,     5,     1,     3,     3,
 
2479
       5,     5,     3,     3,     3,     3,     3,     1,     1,     1,
 
2480
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2481
       1,     1,     1,     1,     3,     1,     1,     1,     2,     2,
 
2482
       3,     3,     5,     6,     4,     4,     2,     6,     5,     6,
 
2483
       4,     4,     5,     4,     2,     4,     4,     4,    10,     6,
 
2484
       8,     6,     4,     4,     6,     4,     4,     4,     7,     7,
 
2485
       7,     6,     6,     6,     6,     3,     4,     6,     8,     2,
 
2486
       8,     8,     6,     2,     4,     6,     6,     8,     8,     6,
 
2487
       8,     6,     2,     4,     8,     8,     2,     2,     4,     4,
 
2488
       3,     8,     4,     6,     4,     6,     8,     4,     6,     0,
 
2489
       5,     0,     1,     1,     3,     4,     4,     5,     5,     4,
 
2490
       0,     0,     7,     4,     5,     4,     5,     4,     4,     4,
 
2491
       4,     4,     5,     0,     8,     0,     3,     3,     1,     4,
 
2492
       0,     1,     0,     2,     0,     1,     0,     3,     2,     2,
 
2493
       1,     1,     2,     1,     3,     0,     1,     0,     2,     4,
 
2494
       5,     1,     1,     1,     1,     4,     1,     3,     3,     3,
 
2495
       0,     6,     0,     6,     0,     8,     4,     0,     8,     0,
 
2496
      10,     6,     0,     8,     0,    10,     6,     1,     2,     2,
 
2497
       0,     4,     3,     5,     3,     0,     0,     8,     1,     0,
 
2498
       0,     6,     0,     3,     0,     0,     5,     0,     1,     0,
 
2499
       1,     0,     2,     3,     3,     1,     1,     0,     7,     0,
 
2500
       7,     1,     2,     0,     0,     2,     0,     2,     0,     1,
 
2501
       1,     1,     1,     3,     1,     3,     1,     1,     1,     1,
 
2502
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2503
       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
 
2504
       1,     1,     0,     2,     0,     1,     0,     0,     3,     0,
 
2505
       0,     3,     2,     0,     0,     4,     4,     2,     0,     1,
 
2506
       3,     3,     1,     2,     0,     1,     0,     4,     4,     2,
 
2507
       0,     1,     1,     0,     1,     0,     1,     2,     1,     3,
 
2508
       3,     1,     1,     1,     0,     2,     1,     1,     1,     1,
 
2509
       1,     1,     1,     1,     1,     1,     1,     0,     2,     3,
 
2510
       1,     2,     0,     3,     0,     5,     2,     1,     5,     0,
 
2511
       7,     4,     1,     3,     1,     0,     2,     0,     1,     0,
 
2512
       0,     7,     0,     0,     5,     2,     1,     1,     1,     3,
 
2513
       4,     0,     3,     3,     1,     2,     2,     0,     3,     0,
 
2514
       5,     3,     1,     3,     1,     3,     1,     1,     0,     1,
 
2515
       0,     4,     0,     1,     3,     1,     1,     1,     0,     0,
 
2516
       6,     0,     0,    10,     3,     1,     3,     3,     1,     3,
 
2517
       0,     4,     0,     6,     0,     2,     1,     3,     0,     1,
 
2518
       0,     3,     2,     3,     4,     5,     5,     5,     5,     2,
 
2519
       2,     3,     1,     3,     4,     3,     0,     2,     1,     1,
 
2520
       0,     2,     2,     0,     4,     0,     4,     1,     1,     0,
 
2521
       1,     0,     1,     1,     0,     3,     3,     1,     0,     3,
 
2522
       4,     1,     1,     0,     1,     3,     0,     1,     1,     2,
 
2523
       0,     0,     0,     0,    18,     1,     0,     1,     0,     1,
 
2524
       1,     0,     2,     2,     1,     3,     4,     3,     3,     0,
 
2525
       2,     2,     1,     3,     3,     0,     3,     1,     1,     0,
 
2526
       3,     2,     3,     1,     1,     2,     0,     2,     1,     2,
 
2527
       1,     1,     1,     1,     2,     2,     1,     1,     1,     1,
 
2528
       1,     1,     1,     2,     2,     1,     1,     1,     1,     1,
 
2529
       1,     1,     3,     5,     1,     1,     1,     1,     1,     3,
 
2530
       4,     5,     1,     5,     3,     2,     1,     3,     2,     1,
 
2531
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2532
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2533
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2534
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2535
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2536
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2537
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2538
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2539
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2540
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2541
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2542
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2543
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2544
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2545
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2546
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2547
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
2548
       1,     1,     1,     0,     4,     0,     1,     1,     3,     0,
 
2549
       2,     1,     1,     1,     1,     0,     1,     0,     1,     1,
 
2550
       1,     0,     2,     2,     2,     1,     2,     4,     5,     4,
 
2551
       6,     1,     2,     2,     2,     1,     1,     1,     1,     1,
 
2552
       1,     1,     1,     0,     3,     0,     3,     0,     1,     0,
 
2553
       3,     2,     0,     1,     2,     0,     1,     4,     4,     5,
 
2554
       2,     3,     0,     1,     0,     4,     0,     1,     1,     0,
 
2555
       2,     2,     1,     0,     1,     1,     2,     3,     1,     0,
 
2556
       5,     3,     0,     0
 
2557
};
 
2558
 
 
2559
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
 
2560
   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
 
2561
   means the default is an error.  */
 
2562
static const yytype_uint16 yydefact[] =
 
2563
{
 
2564
       0,   232,     0,  1095,     0,     0,  1097,   232,   740,   777,
 
2565
     778,   687,     2,   784,   689,   796,     0,     0,     0,   692,
 
2566
    1097,     0,   293,  1055,   750,     0,   748,  1093,   261,     0,
 
2567
       0,     0,     0,     4,    11,     6,    27,     9,     7,     8,
 
2568
      20,    24,   284,    14,    16,    21,    30,    12,    28,    26,
 
2569
      13,   779,    15,    17,    31,    18,    25,    29,     5,    10,
 
2570
      22,    23,    19,   226,   234,   233,   261,  1092,  1091,   275,
 
2571
    1097,   273,   277,  1098,  1099,    59,    58,     0,    34,   744,
 
2572
     685,   688,     0,     0,     0,   261,   797,   798,     0,   805,
 
2573
     800,     0,   279,     0,  1099,   909,   910,   911,   912,   913,
 
2574
     914,   915,   916,   917,   890,   918,   919,   920,   922,   921,
 
2575
     923,   891,   924,   925,   892,   893,   926,   927,   929,   894,
 
2576
     930,   895,   931,   932,   933,   934,   935,   896,   936,   938,
 
2577
     939,   937,   940,   941,   942,   897,   943,   944,   945,   946,
 
2578
     947,   956,   898,   948,   950,   949,   951,   952,   953,   954,
 
2579
     928,   958,   959,   960,   899,   955,   961,   957,   962,   963,
 
2580
     964,   879,   965,   880,   966,   967,   968,   969,   970,   971,
 
2581
     972,   973,   974,   975,   976,   977,   978,   979,   980,   981,
 
2582
     982,   983,   985,   984,   986,   988,   987,   989,   991,   990,
 
2583
     992,   900,   993,   994,   995,   996,   997,   901,   998,   999,
 
2584
    1000,  1001,  1002,  1003,  1004,  1005,  1006,  1007,  1008,  1009,
 
2585
    1010,   902,  1011,  1012,  1013,  1014,  1015,   903,  1016,   904,
 
2586
    1018,  1017,  1019,   905,  1021,  1022,  1020,  1023,  1024,   906,
 
2587
    1025,   907,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1033,
 
2588
    1034,  1035,  1036,  1038,  1039,  1040,  1037,   908,  1041,  1042,
 
2589
    1043,  1044,  1045,  1046,  1048,  1047,  1049,  1050,  1051,  1052,
 
2590
     884,  1110,   885,   889,   285,   291,   302,  1056,  1053,  1067,
 
2591
     271,   749,     0,     0,   262,     0,   799,   293,     0,     0,
 
2592
       1,     3,   954,     0,   775,   773,   876,   224,   227,     0,
 
2593
       0,  1096,     0,     0,     0,  1102,     0,     0,    59,   196,
 
2594
     746,     0,   744,     0,     0,     0,   685,   791,   792,  1092,
 
2595
     785,   787,   788,     0,   910,   917,     0,   852,   505,     0,
 
2596
       0,   926,   927,     0,     0,   328,   328,     0,     0,     0,
 
2597
     941,   942,   858,     0,     0,     0,   849,   859,     0,   851,
 
2598
     964,     0,     0,     0,     0,   856,     0,   981,   982,     0,
 
2599
       0,   986,     0,   328,   848,   855,     0,  1004,     0,     0,
 
2600
    1010,     0,  1015,  1016,     0,     0,  1028,     0,     0,   328,
 
2601
     882,  1038,  1039,  1040,     0,   850,   908,   857,  1046,   328,
 
2602
     328,     0,     0,     0,  1052,     0,     0,  1132,     0,     0,
 
2603
     485,   795,   340,   346,   357,   367,   380,   381,   383,   382,
 
2604
     387,   386,   846,   385,   847,   379,   866,   884,   838,   865,
 
2605
     806,  1111,     0,     0,   697,   693,   696,   684,  1105,  1102,
 
2606
    1112,   312,   307,   309,   310,   311,   308,   306,   321,   303,
 
2607
     305,  1059,     0,     0,     0,   770,   643,  1068,   195,   194,
 
2608
     193,  1069,   762,  1070,   766,     0,   643,     0,   751,     0,
 
2609
       0,   270,   747,  1094,   731,   287,     0,  1116,   878,     0,
 
2610
     781,     0,   163,     0,   276,   682,   274,   278,  1101,     0,
 
2611
       0,  1103,  1107,   370,     0,    36,     0,   197,     0,     0,
 
2612
     741,   745,   686,   681,     0,     0,     0,     0,   793,   690,
 
2613
       0,   614,   396,   506,     0,     0,     0,     0,     0,     0,
 
2614
     614,     0,   429,   404,     0,     0,     0,     0,   853,     0,
 
2615
       0,  1132,     0,   490,     0,     0,     0,  1132,     0,     0,
 
2616
     614,     0,     0,   614,     0,     0,   333,     0,   433,     0,
 
2617
       0,     0,     0,     0,     0,     0,     0,   614,   614,     0,
 
2618
       0,   614,     0,   442,     0,   854,     0,     0,     0,     0,
 
2619
       0,   446,   447,     0,   614,   614,     0,   389,   388,     0,
 
2620
       0,     0,     0,     0,     0,   369,   368,     0,     0,     0,
 
2621
     371,     0,   372,   373,     0,   374,   375,   376,     0,     0,
 
2622
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2623
       0,   839,   459,     0,   807,     0,   280,   281,     0,   695,
 
2624
       0,  1106,     0,  1108,  1123,   292,  1113,   318,   294,   317,
 
2625
       0,   304,  1054,  1057,  1065,   768,   769,     0,     0,    59,
 
2626
       0,     0,     0,   752,     0,   760,   644,   770,     0,   766,
 
2627
     759,     0,   770,   770,     0,     0,   288,  1117,   286,  1118,
 
2628
       0,   776,   842,   841,   774,   782,   840,   783,   877,   164,
 
2629
     225,     0,   222,     0,  1100,  1104,    60,    55,    32,     0,
 
2630
     742,     0,   678,     0,   786,   794,   789,     0,     0,   615,
 
2631
     614,     0,   496,     0,   507,     0,   503,     0,     0,     0,
 
2632
       0,   470,     0,   496,   329,   450,     0,     0,     0,     0,
 
2633
       0,     0,   587,   588,   589,   590,   600,   591,   592,   593,
 
2634
     602,   607,   594,   595,   603,   604,   605,   596,   606,   601,
 
2635
     597,   608,     0,   586,   491,   483,     0,     0,     0,     0,
 
2636
       0,     0,   614,     0,     0,     0,   614,     0,     0,     0,
 
2637
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2638
       0,     0,     0,   614,     0,     0,     0,   599,     0,   598,
 
2639
       0,     0,     0,     0,     0,     0,   425,     0,   868,   867,
 
2640
       0,     0,     0,   391,     0,   390,   549,     0,  1128,  1133,
 
2641
       0,     0,   888,   881,  1071,   486,   887,   886,   488,   331,
 
2642
     330,   332,   343,   336,   341,   334,   338,     0,   377,   913,
 
2643
     344,     0,     0,   365,  1132,   623,   366,     0,   359,     0,
 
2644
     358,   362,   363,   364,     0,     0,     0,   384,   321,   869,
 
2645
       0,     0,     0,    50,   701,     0,     0,     0,   707,   694,
 
2646
     698,  1109,  1125,  1124,  1114,   321,   634,   322,   322,   865,
 
2647
    1059,  1062,  1063,  1066,  1064,     0,  1061,  1060,  1075,   766,
 
2648
       0,     0,   765,   771,   772,   652,   653,   651,   647,   648,
 
2649
     753,   767,   770,   766,   761,   763,   272,     0,     0,   643,
 
2650
    1122,  1120,   718,   163,   683,    37,    56,    61,   198,   616,
 
2651
     679,   790,   728,     0,     0,   466,     0,     0,     0,     0,
 
2652
       0,     0,   403,     0,   448,   449,     0,     0,   469,     0,
 
2653
       0,     0,   405,   406,   400,   394,     0,     0,   407,     0,
 
2654
       0,     0,     0,     0,     0,   475,   452,   412,     0,   473,
 
2655
       0,   413,   434,     0,   454,     0,     0,   457,     0,     0,
 
2656
     415,   479,   477,     0,     0,     0,     0,   481,   443,   416,
 
2657
       0,     0,     0,     0,     0,     0,     0,     0,     0,   417,
 
2658
       0,   401,   478,   480,   426,     0,  1126,   548,   302,   549,
 
2659
       0,     0,  1123,  1131,   395,   870,     0,     0,     0,     0,
 
2660
       0,   337,   342,   335,   339,  1132,     0,     0,     0,     0,
 
2661
     355,     0,     0,     0,  1132,   623,     0,     0,   462,   463,
 
2662
       0,   883,   801,   282,   283,   302,     0,   720,   705,   712,
 
2663
     706,     0,     0,     0,   704,   861,   860,   867,  1112,     0,
 
2664
     316,   540,   672,   313,   298,   645,   635,   297,   323,   319,
 
2665
       0,  1058,  1037,  1081,     0,     0,  1076,   770,     0,   764,
 
2666
       0,     0,   754,   616,   732,   735,     0,   636,  1121,   716,
 
2667
     717,   719,     0,   259,   259,   718,   718,   259,   718,     0,
 
2668
       0,     0,   259,     0,   718,   257,     0,   718,   259,     0,
 
2669
     266,   718,   256,    63,    73,     0,   223,   231,     0,   235,
 
2670
     258,     0,   103,    33,   808,    62,    65,   199,     0,   617,
 
2671
     634,   680,     0,   691,     0,     0,   467,   497,     0,   508,
 
2672
       0,   398,   138,   138,   501,   500,   134,     0,   504,     0,
 
2673
     471,   468,     0,     0,     0,   494,     0,     0,     0,   402,
 
2674
       0,   476,   474,     0,     0,     0,     0,     0,     0,     0,
 
2675
       0,     0,     0,   482,     0,     0,     0,     0,     0,     0,
 
2676
       0,     0,     0,     0,   392,   321,   289,     0,  1127,  1129,
 
2677
    1072,  1073,  1074,   218,   487,     0,   353,   349,     0,   347,
 
2678
     622,   361,   360,     0,     0,     0,   356,   322,   460,   321,
 
2679
     871,   808,   321,   702,   714,     0,   722,     0,     0,   699,
 
2680
     709,     0,     0,   708,  1115,   558,   557,     0,   514,   616,
 
2681
     516,   513,   512,   511,     0,   557,   667,     0,     0,   295,
 
2682
     300,   296,   646,   299,     0,   320,   327,   326,   862,   869,
 
2683
       0,     0,  1071,     0,   755,   758,   757,   650,   649,   756,
 
2684
       0,   616,     0,     0,   162,   161,    76,   160,   260,   216,
 
2685
     190,   189,   239,     0,   100,   216,   186,   237,     0,     0,
 
2686
       0,     0,     0,     0,   250,   229,     0,     0,     0,     0,
 
2687
     251,     0,   230,     0,     0,     0,   269,   268,   267,     0,
 
2688
       0,    64,   718,   163,   103,     0,   263,   100,   106,   872,
 
2689
      61,     0,    38,     0,     0,    89,    91,    92,   810,   809,
 
2690
      39,    53,   163,    66,     0,     0,   200,     0,     0,   654,
 
2691
     729,     0,   427,   509,     0,     0,   498,   499,     0,   502,
 
2692
     136,   397,   399,     0,     0,     0,   432,   492,   495,     0,
 
2693
       0,   409,     0,   411,   453,   435,   455,     0,   414,   393,
 
2694
       0,   436,     0,   441,   439,     0,     0,     0,   423,     0,
 
2695
     421,     0,   422,     0,   424,   458,   550,   290,     0,     0,
 
2696
     489,   345,     0,   354,   351,     0,   348,   323,   464,     0,
 
2697
      51,     0,     0,   727,   726,     0,   723,   725,   711,  1116,
 
2698
     700,   703,   557,   540,     0,     0,   537,   559,     0,   559,
 
2699
     540,   540,   624,   540,   609,   554,     0,     0,   677,     0,
 
2700
     673,   314,     0,   325,   324,     0,     0,  1089,  1090,  1087,
 
2701
    1088,  1086,  1077,     0,     0,   734,   634,   736,   864,   637,
 
2702
     640,   105,   217,     0,     0,     0,   191,    99,   216,    98,
 
2703
     101,   198,     0,   665,   666,   664,   662,   663,    71,   660,
 
2704
     661,   657,   658,   656,   659,    69,   241,    70,   255,   216,
 
2705
     248,   249,   246,    68,    74,   243,   630,   632,   640,   254,
 
2706
      85,    83,    80,    82,    81,    86,    84,    72,     0,   236,
 
2707
       0,   875,     0,   265,   238,     0,    93,    94,     0,     0,
 
2708
      40,     0,    43,    61,   103,    54,     0,    67,   210,   211,
 
2709
     206,   205,     0,   618,     0,   743,     0,     0,   510,     0,
 
2710
       0,   472,     0,     0,     0,     0,     0,     0,     0,     0,
 
2711
       0,     0,     0,     0,     0,   420,   418,   419,   645,  1130,
 
2712
     219,   350,     0,   465,   802,   645,   713,   715,   721,     0,
 
2713
     710,     0,   634,   552,     0,   539,   538,   560,     0,   540,
 
2714
     559,   559,     0,   519,   518,     0,   619,   517,   610,   611,
 
2715
       0,   576,   542,   302,   676,   674,     0,   668,   670,     0,
 
2716
     863,     0,     0,  1085,  1078,     0,  1079,   654,     0,   641,
 
2717
     642,   639,   102,   216,   187,   192,   188,   198,     0,     0,
 
2718
       0,     0,   247,     0,     0,   633,    75,   240,   264,   168,
 
2719
     130,   118,   126,   117,   115,   134,   132,   123,   134,   129,
 
2720
     134,   131,   125,   119,   116,     0,   128,   107,   142,   112,
 
2721
       0,   109,   140,   874,    41,  1119,   808,    90,     0,    46,
 
2722
       0,   655,     0,   428,   139,   135,     0,   430,   431,   493,
 
2723
     484,   451,     0,   410,   456,   437,   440,   438,   444,   445,
 
2724
     313,   313,    87,   352,     0,    52,   724,  1123,   609,   645,
 
2725
     540,   515,   540,   526,     0,     0,   540,   522,   520,   524,
 
2726
       0,   620,   634,   613,   541,   573,   321,   811,   671,     0,
 
2727
     315,  1083,  1082,  1084,     0,   733,   640,     0,     0,     0,
 
2728
     253,     0,   263,   244,   631,     0,   172,   120,   133,     0,
 
2729
     122,   121,     0,   151,     0,     0,     0,     0,   146,     0,
 
2730
     166,     0,   154,   108,   143,   145,     0,     0,   127,     0,
 
2731
       0,     0,   141,   110,     0,    44,    42,     0,  1112,     0,
 
2732
     640,   214,     0,     0,     0,   551,    88,     0,   545,   543,
 
2733
     544,   553,     0,   511,   540,   540,     0,   511,     0,     0,
 
2734
       0,   628,   640,     0,   645,   577,     0,   555,     0,   819,
 
2735
     669,  1080,   638,     0,     0,     0,     0,     0,     0,     0,
 
2736
     252,   843,   242,   263,     0,   171,     0,   176,     0,     0,
 
2737
     157,   156,   328,   149,   159,    77,    79,    78,   147,     0,
 
2738
       0,   155,   144,   153,   148,     0,     0,     0,   873,    48,
 
2739
      47,   201,     0,   213,     0,   730,   738,     0,   137,   408,
 
2740
     803,     0,   527,     0,   531,   536,   532,     0,   523,   521,
 
2741
       0,   629,     0,   625,   627,   621,   301,   565,   566,     0,
 
2742
       0,   571,   575,   645,     0,     0,     0,     0,   812,   814,
 
2743
       0,   675,     0,     0,   201,   845,   844,   245,   169,     0,
 
2744
     173,   174,   175,     0,   167,     0,   220,   114,   158,   328,
 
2745
     152,   111,   113,  1119,     0,   718,    35,   202,   207,   203,
 
2746
     640,     0,     0,     0,   811,   546,     0,     0,     0,     0,
 
2747
       0,   584,   640,   561,   561,   572,   556,     0,     0,     0,
 
2748
       0,   813,     0,     0,   820,   822,     0,   201,    95,   170,
 
2749
       0,     0,   124,     0,   150,    49,   209,     0,   204,   212,
 
2750
     215,   737,   739,   819,   634,   528,     0,   533,     0,   525,
 
2751
       0,   626,     0,   569,   567,   817,   818,     0,   815,     0,
 
2752
       0,   821,    97,    96,   182,     0,   181,     0,   178,   177,
 
2753
     221,   208,   825,   645,     0,     0,   585,     0,   562,     0,
 
2754
       0,     0,   816,   824,   823,   184,   185,   183,     0,     0,
 
2755
       0,   829,   547,   530,   535,   564,   563,   578,     0,     0,
 
2756
       0,     0,     0,   836,   581,     0,   582,   579,   580,     0,
 
2757
     180,   179,   827,   828,   826,   831,     0,     0,   833,   834,
 
2758
       0,   804,   570,     0,   568,   835,   830,     0,   837,   583,
 
2759
     832
 
2760
};
 
2761
 
 
2762
/* YYDEFGOTO[NTERM-NUM].  */
 
2763
static const yytype_int16 yydefgoto[] =
 
2764
{
 
2765
      -1,    31,    32,    33,    34,   867,   299,   657,  1063,  1252,
 
2766
    1575,  1260,  1678,  1813,   818,   985,  1485,  1446,   865,    77,
 
2767
     297,  1064,  1052,  1065,  1066,  1054,   650,  1738,  1427,  1600,
 
2768
    1254,  1255,  1256,  1257,  1389,  1390,  1213,  1214,  1247,  1438,
 
2769
    1567,  1568,  1649,  1569,  1570,  1571,  1572,  1279,  1280,  1276,
 
2770
    1673,  1663,  1664,  1665,  1733,  1205,  1206,  1055,  1666,  1437,
 
2771
    1646,  1724,  1727,  1804,  1888,  1215,  1388,  1216,  1536,   447,
 
2772
     478,  1067,  1068,  1816,  1817,  1818,  1819,  1450,  1679,  1680,
 
2773
    1381,  1320,  1805,    35,   863,   462,   287,  1056,    66,  1057,
 
2774
    1058,  1059,  1541,  1543,  1723,  1217,   275,  1434,  1239,    36,
 
2775
     451,    37,   292,    38,   290,    39,   293,    40,   412,   596,
 
2776
     597,    41,    42,   279,   951,   264,   420,   265,   266,   826,
 
2777
    1003,  1601,   428,   429,   430,  1179,   608,   609,   610,  1008,
 
2778
    1185,   502,   676,   392,   393,   394,   568,   569,  1667,   578,
 
2779
     791,   395,   396,   397,   398,   399,   808,   977,   978,   979,
 
2780
     400,   887,  1283,   897,   401,   564,   775,   715,  1465,  1287,
 
2781
     671,   876,  1087,   945,   494,   880,   674,  1168,  1169,  1170,
 
2782
    1171,  1172,  1699,  1698,  1700,  1826,  1763,  1828,  1767,  1351,
 
2783
    1173,  1174,  1491,  1761,  1864,   946,   947,   948,  1478,  1492,
 
2784
    1610,  1512,  1513,  1783,  1342,  1175,  1498,  1873,  1780,  1781,
 
2785
    1901,  1900,  1782,  1705,  1706,  1624,  1625,  1925,  1926,  1927,
 
2786
    1830,   712,   748,   713,  1510,  1511,   672,  1070,  1268,  1622,
 
2787
    1703,   970,  1506,  1701,  1773,  1060,  1416,  1417,  1005,  1006,
 
2788
    1203,  1379,  1531,   625,  1602,  1182,   848,   849,  1455,  1405,
 
2789
    1398,  1358,  1359,  1517,  1518,  1007,  1176,  1360,  1627,    43,
 
2790
    1071,   464,   465,   304,    83,    44,    85,   667,    45,    93,
 
2791
     600,   415,   416,   819,   986,   993,   820,   998,  1339,   988,
 
2792
    1153,  1154,  1031,  1032,   989,  1156,  1335,  1336,  1337,  1073,
 
2793
    1456,    46,   635,  1201,  1024,  1025,  1755,  1756,    47,    79,
 
2794
     480,   869,   301,   302,    48,   272,    49,   269,   448,   627,
 
2795
     628,   623,    50,   460,   459,    51,   284,   644,    52,    84,
 
2796
     310,   311,   488,   666,    53,    88,    54,    55,   410,  1151,
 
2797
    1604,  1824,    90,   595,  1261,  1709,  1788,  1789,  1791,  1844,
 
2798
    1845,  1911,  1934,  1923,  1937,  1938,  1941,   402,   645,  1720,
 
2799
     403,   404,   994,   995,  1380,   405,  1757,   406,  1248,   417,
 
2800
     407,   776,   408,   982,   409,  1207,   262,   263,    56,   431,
 
2801
     268,   612,   613,   614,   835,   836,   449,   959,   837,   838,
 
2802
    1016,  1014,  1524,  1372,   312,    57,   273,    58,    70,    74,
 
2803
     295,   472,   602,    59,    60,    61,    62,   605,   637,   999,
 
2804
     638,   639,   640,   861,   824,   768,   769,  1318,   560,   561,
 
2805
     953
 
2806
};
 
2807
 
 
2808
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
 
2809
   STATE-NUM.  */
 
2810
#define YYPACT_NINF -1428
 
2811
static const yytype_int16 yypact[] =
 
2812
{
 
2813
    1364,   524,   180, -1428,   180,   180,  -150,   513, -1428, -1428,
 
2814
   -1428,   814, -1428, -1428, -1428,    65,   164,   -32,   180, -1428,
 
2815
    -150, 16940, -1428,   120, -1428,    83,   210, -1428,   258, 16940,
 
2816
     285,   487,   439, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2817
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2818
   -1428, 12512, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2819
   -1428, -1428, -1428, 16940, -1428, -1428,   258, -1428, -1428, -1428,
 
2820
    -150, -1428, -1428, -1428,   568,   448, -1428,   295, -1428,   457,
 
2821
     527, -1428,   562,   180,   677,   258, -1428, -1428,  5747, -1428,
 
2822
   -1428, 16940, -1428, 11774,    52, -1428, -1428, -1428, -1428, -1428,
 
2823
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2824
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2825
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2826
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2827
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2828
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2829
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2830
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2831
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2832
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2833
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2834
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2835
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2836
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2837
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2838
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2839
   -1428, -1428, -1428, -1428, -1428, -1428,   846, -1428, -1428,   969,
 
2840
     405, -1428, 12881,   180, -1428, 12881, -1428, -1428,   285,   362,
 
2841
   -1428, -1428,   310, 16940, -1428, -1428,   410, -1428, -1428,   484,
 
2842
   12881, -1428, 12881, 12881,    86,   -20,   597, 16940,   448,   465,
 
2843
   -1428,   690,   457,   717, 16940, 16940,   527, -1428, -1428,   489,
 
2844
     480, -1428, -1428, 11774,   488,   494,  8030, -1428,  5747,   516,
 
2845
     519,   532,   553,   565,   573,   599,   599,   630,   639,   654,
 
2846
     263,   660, -1428,   668,   672,   686, -1428, -1428,   702, -1428,
 
2847
     709,   716,   722,  6126,   736, -1428,   738,   740,   758,   768,
 
2848
     770,   776,  5747,   786, -1428, -1428,   788,   796,   799,   812,
 
2849
     815,   831,   833,   838,   841,   844,   847,   852,   861,   867,
 
2850
   -1428,   322,   872,   874,   881, -1428,   890, -1428,   900,   599,
 
2851
     599,   902,   903,   906,   908,  8030,  8030,  5747, 16940, 16940,
 
2852
   -1428,   301,  1521, -1428,   858,   835, -1428, -1428, -1428, -1428,
 
2853
   -1428, -1428,   576, -1428, -1428, -1428, -1428,   909, -1428,   520,
 
2854
     873, -1428, 12881, 12881, -1428, -1428, -1428, -1428,   673,   -20,
 
2855
     625, -1428, -1428, -1428, -1428, -1428, -1428, -1428,   627,   846,
 
2856
   -1428, -1428,    75,   912,     2,   -43,   836, -1428, -1428, -1428,
 
2857
   -1428, -1428, -1428, -1428,    75,   757,   836,    75, -1428,  -119,
 
2858
    1018, -1428, -1428, -1428, -1428, -1428,   748,    -8, -1428,   348,
 
2859
   14726, 16940,  1047, 12881,   761, -1428,   761,   761, -1428,  1200,
 
2860
    1037, -1428, -1428, -1428,  1180, -1428, 12881, -1428,  1145, 12881,
 
2861
   -1428, -1428, -1428, -1428,  1074, 12881,  1048,   677, 12881, -1428,
 
2862
    5747,   277,   835,   301,   937,  5747,  5747,  5747,  5747,  5747,
 
2863
     569,   926, -1428, -1428,   929,  5747,  5747,  5747,   576,  5747,
 
2864
   13250, -1428,  1626,  1218,  5747,  5747,  5747,  5747,  1359,  5747,
 
2865
     640,  5747,  5747,   688,  5747,  5747, -1428,  4222, -1428,  8030,
 
2866
    5747,  5747,  5747,  5747,  5747,  5747,  5747,  1307,  1307,  5747,
 
2867
    5747,   749,  4222, -1428,  5747,   576,  1131,  1131,  3455,  5747,
 
2868
     932, -1428, -1428, 13250,  1307,  1307,  5747,   835,   835,    62,
 
2869
     935,   391,  5747,   931,  9167, -1428, -1428,  5747,  5747,  5747,
 
2870
   -1428,  8030, -1428, -1428,   763, -1428, -1428, -1428,  6514,  8030,
 
2871
    8030,   938,  8030,  8030,  8409,  8788,  8030,  8030,  8030,   629,
 
2872
   15464, -1428, -1428, 16940, -1428,  1167,   943, -1428,   989, -1428,
 
2873
     478, -1428, 16940, -1428,   792, -1428, -1428, -1428,   945, -1428,
 
2874
    5747, -1428,   946, -1428,     1, -1428, -1428, 12881,   954,   448,
 
2875
   12881,  1007,  5747, -1428,   372, -1428, -1428,   -43, 16940,    75,
 
2876
   -1428, 12881,   -43,   -43,  1043,  1050, -1428, -1428, -1428, -1428,
 
2877
      -3, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2878
   -1428,  1293, -1428, 12881, -1428, -1428, -1428,   718, -1428, 16940,
 
2879
   -1428, 12881,   761,  1158, -1428,   761, -1428,   478,    55, -1428,
 
2880
    1307,   963, -1428,  5747,   -28,    84,   301,   463,   505,   172,
 
2881
      73, -1428,   964,   970, -1428, -1428,    97,   114,   176,   177,
 
2882
     971,   975, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2883
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2884
   -1428, -1428,  1219, -1428, -1428, -1428,   182,   123,   130,    76,
 
2885
     981,   131,  1307,   977,   197,   207,  1307,   979,   134,   240,
 
2886
     245,   785,   252,   137,   138,   283,   139,   142,   326,   980,
 
2887
     983,   143,    42,  1307,   984,   327,   338, -1428,   990, -1428,
 
2888
     991,  4610,  4989,  5368,    59,   145, -1428,   985, -1428,   520,
 
2889
     995,   996,   345, -1428,  5747, -1428, -1428,   425, -1428,  1017,
 
2890
      38, 16940, -1428, -1428,   523, -1428, -1428, -1428,  1092,  1373,
 
2891
      56, -1428, -1428, -1428, -1428, -1428, -1428,   619, -1428,  1006,
 
2892
   -1428,  1011,   514, -1428,  5747,   526, -1428,  6126,   645,  6126,
 
2893
     645, -1428, -1428, -1428,  8030,  1012,  8030, -1428,  1002,  1009,
 
2894
    1070, 12881, 12881, -1428, -1428,  1019,  1019, 11405, -1428, -1428,
 
2895
   -1428, -1428, -1428, -1428, -1428, -1428,   554,   301, -1428,  1016,
 
2896
   -1428, -1428, -1428, -1428, -1428, 17309,  1024, -1428, -1428,    75,
 
2897
    1031, 16940, -1428, -1428,   301, -1428, -1428, -1428, -1428,   -70,
 
2898
   -1428, -1428,   -43,    75, -1428, -1428, -1428, 13250,  1367,   836,
 
2899
   -1428, -1428,    87,  1851, -1428, -1428, -1428,   901, -1428,  1046,
 
2900
   -1428, -1428,  1190,  6893,  1036, -1428,  5747,   308,  5747,  5747,
 
2901
    1315,  1094, -1428,  5747, -1428, -1428,  1094,  5747, -1428,  1040,
 
2902
    1265,  1266, -1428, -1428, -1428, -1428,  5747,  5747, -1428,  5747,
 
2903
    5747,  5747,  5747,  5747,  1045, -1428, -1428, -1428,  1049, -1428,
 
2904
    5747, -1428, -1428,  5747, -1428,  5747,  5747, -1428,  5747,  5747,
 
2905
   -1428, -1428, -1428,  7272,  5747,  5747,  1053, -1428, -1428, -1428,
 
2906
    5747,  5747,  5747,   542,  5747,   669,  5747,   670,  5747, -1428,
 
2907
    5747, -1428, -1428, -1428, -1428,   536, -1428, -1428,   846, -1428,
 
2908
     425,  1060,   792, -1428, -1428, -1428,  1056,  1058,  1059, 15464,
 
2909
    5747, -1428, -1428, -1428, -1428, -1428,  8030,    90,  1065,  8030,
 
2910
   -1428,  1359,  1359,   695,  5747,   526,  5747,  1066,  1072, -1428,
 
2911
   16940, -1428, -1428, -1428, -1428,   846, 13250, -1428,  1076, -1428,
 
2912
    1076,   473,  1075,   543, -1428, -1428, -1428,  1016,   625,   348,
 
2913
   -1428,  -138, -1428,    47,  1269,   836, -1428,  1299, 15833, -1428,
 
2914
   13988, -1428,  1295, -1428,    87,  9542, -1428,   -43,   -22, -1428,
 
2915
     372,   372, -1428,  1046,  1080, -1428,    87, -1428, -1428, -1428,
 
2916
   -1428, -1428, 15095,    70,  1415,    87,    87,  1415,    87,  1132,
 
2917
    1297,  1144,   940,  1300,    87, -1428,  1146,    87,  1415,  1439,
 
2918
      69,    87, -1428,  1310, -1428,  1431, -1428,  1100, 12143, -1428,
 
2919
   -1428, 12881, 10667, -1428,    22, -1428,    40,   396,  1257, -1428,
 
2920
    1250, -1428,  1389, -1428,  6126,   351, -1428,   301,  5747,   301,
 
2921
     325, -1428,  1109,  1109, -1428, -1428,  1112,  1113,   301,  1116,
 
2922
    1111, -1428,  5747,  5747,   375,  -111,   151,   158,    92, -1428,
 
2923
     383, -1428, -1428,   388,   395,   422,   159,   492,   676,  6126,
 
2924
     500,   157,    96, -1428,   163,   165,   548,  5747,   577,  5747,
 
2925
     588,  5747,   590,   591, -1428,   627, -1428,  1117, -1428, -1428,
 
2926
   -1428, -1428, -1428,  1114,   301,  1118, -1428, -1428,  5747, -1428,
 
2927
     835, -1428, -1428,  8030,   112,  1125, -1428,   301, -1428, -1428,
 
2928
   -1428,    -7,   627,  1127, -1428,    87,  7651,  1019,  1228, -1428,
 
2929
   -1428,   473, 13250, -1428, -1428, -1428, -1428, 16940,  1314,  1046,
 
2930
   -1428,  1129, -1428, -1428, 12881, -1428,    91,  1163,  1352, -1428,
 
2931
   -1428, -1428, -1428, -1428, 16202, -1428, -1428, -1428, -1428,  1134,
 
2932
    1340,  3843,   523,    87, -1428, -1428, -1428, -1428, -1428, -1428,
 
2933
   13250,  1046,  7651,  5747, -1428, -1428, -1428, -1428, -1428, 13619,
 
2934
   -1428, -1428, -1428,    30,    33, 13619, -1428, -1428, 13619,   753,
 
2935
      27, 13619,  1007, 15095, -1428, -1428,  1348,  1349, 13619, 13619,
 
2936
   -1428, 15464, -1428,    27, 13619, 13250, -1428, -1428, -1428, 12881,
 
2937
     808, -1428,    87,  1885, 11036, 16940,   129,    46, -1428,  1137,
 
2938
    1310, 12881, -1428,  1143,   724, -1428, -1428, -1428, -1428, -1428,
 
2939
   -1428,  1515,  1260, -1428,   127,   127, -1428, 12881,  5747,  1351,
 
2940
   -1428,  1359, -1428,   301,  5747,  1305, -1428, -1428,  1308, -1428,
 
2941
   -1428, -1428, -1428,  1154,  1359,  1359, -1428,  1255, -1428,  5747,
 
2942
    5747, -1428,  5747, -1428, -1428, -1428, -1428,  5747, -1428, -1428,
 
2943
    1359, -1428,  5747, -1428, -1428,  5747,  5747,  5747, -1428,   592,
 
2944
   -1428,   593, -1428,   596, -1428, -1428,   945, -1428,   391, 16940,
 
2945
   -1428, -1428,   726, -1428, -1428,  5747, -1428, 15833, -1428,  1377,
 
2946
     945, 13250,  7651,   668,   301,  1159,  1157, -1428, -1428,    -8,
 
2947
   -1428, -1428, -1428,   433,  1375,  1378, -1428,  1311,   -12,  1311,
 
2948
     433,   433,  1407,  -138,   556, -1428,  1070,  1070, -1428,  1161,
 
2949
   -1428, -1428,  1261, -1428, -1428, 14357,   -49, -1428,  8030,   668,
 
2950
   -1428,   301, -1428, 16940,  5747, -1428,  1250, -1428,   301,  1170,
 
2951
     171, -1428, -1428,  5747,  1380,  1384,   606, -1428, 13619, -1428,
 
2952
   -1428, -1428,    13, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2953
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, 13619,
 
2954
   -1428, -1428, -1428, -1428, -1428, -1428,  1172, -1428,   171, -1428,
 
2955
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, 15095, -1428,
 
2956
     730, -1428, 16940, -1428, -1428, 12881, -1428, -1428,  1437, 16940,
 
2957
   -1428,  1181, -1428,  1310, 11036, -1428,   461, -1428, -1428, -1428,
 
2958
   -1428, -1428,  1176,   301,   372, -1428,  1394,  -164,   301,  1183,
 
2959
     746, -1428,  1184,  1185,    77,  1187,   608,   170,   750,   614,
 
2960
    -152,   621,   624,   631,   634, -1428, -1428, -1428,   547, -1428,
 
2961
   -1428, -1428,   759, -1428, -1428,   547, -1428, -1428, -1428,  7651,
 
2962
   -1428,  -168,  1250, -1428,   745, -1428, -1428, -1428,  1403,   433,
 
2963
    1311,  1311,  1404,  1346,   -77,  1542,  1435, -1428, -1428, -1428,
 
2964
   16940, -1428, -1428,   846, -1428, -1428, 15464,  1196, -1428,  1376,
 
2965
   -1428,     3,  1326, -1428, -1428,    87,   301,  1351,  5747, -1428,
 
2966
   -1428, -1428,   301, 13619, -1428, -1428, -1428, -1428,  1204,  1495,
 
2967
    1499, 13619, -1428,  1437, 13250, -1428, -1428, -1428, -1428,  1206,
 
2968
   -1428, -1428, -1428, -1428, -1428,  1112,  1344, -1428,  1112, -1428,
 
2969
    1112, -1428, -1428, -1428, -1428,  1210, -1428, -1428,  1004,  -161,
 
2970
    1211, -1428,  1213,  1209, -1428,    10,    22, -1428,  1228, -1428,
 
2971
   16940, -1428,  1247, -1428, -1428, -1428,  1379, -1428, -1428, -1428,
 
2972
   -1428, -1428,  5747, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
2973
      47,    47, -1428, -1428,  1275, -1428, -1428,   792,   710,   836,
 
2974
    -138, -1428,   433, -1428,  1434,  1436,   433, -1428, -1428, -1428,
 
2975
    5747, -1428,  1250, -1428, -1428,   -34,   627,  1556, -1428,  1161,
 
2976
   -1428, -1428, -1428, -1428,  3843, -1428,   171,  1224,  1229, 16940,
 
2977
   -1428,  1201,   129, -1428, -1428, 16940,  1417, -1428, -1428,  1230,
 
2978
   -1428, -1428,  1390, -1428, 15464,  1007,   978,   110, -1428,  1262,
 
2979
   -1428,  1527,  1446, -1428,  1004, -1428,  1447,  1396, -1428,  1397,
 
2980
    1399,  1405, -1428, -1428, 16940, -1428, -1428,  1249,   625,   771,
 
2981
     171,  1248, 13250,  1253,   636, -1428, -1428, 12881, -1428, -1428,
 
2982
   -1428,  1129,  1003,  1285,   433,   433,  1175,  1287,  5747,  5747,
 
2983
    1264,   403,   171,  5747,   836, -1428,   -31,   945,    89,  1462,
 
2984
   -1428, -1428, -1428, 16940, 16940,   773,   576,   576,   772,   772,
 
2985
   -1428, -1428, -1428,   129,   790, -1428,     0,  1416,    77,  1271,
 
2986
   -1428, -1428,   599, -1428, -1428, -1428, -1428, -1428, -1428,  1426,
 
2987
    1290, -1428, -1428, -1428, -1428,  1277,  1280,  1268, -1428, -1428,
 
2988
   -1428,    31, 16940, -1428,  1441,  1274, -1428,    87, -1428, -1428,
 
2989
   -1428,   391, -1428,  1312, -1428, -1428, -1428,  1313,   301,   301,
 
2990
   16940, -1428,  5747, -1428, -1428,   301, -1428, -1428, -1428,   606,
 
2991
     606, -1428,   -31,   547,  1633,  1636,  1565,  1640,    89, -1428,
 
2992
    -116, -1428,   800,   805,    31, -1428, -1428, -1428, -1428, 16940,
 
2993
   -1428, -1428, -1428,    -1, -1428,   826, -1428, -1428, -1428,   599,
 
2994
   -1428, -1428, -1428,    10,  1007,    87, -1428,    31, -1428, -1428,
 
2995
     171,  1291, 13250,  7651,  1556, -1428,  5747,  1294,  5747,  1296,
 
2996
     862, -1428,   171,  1544,  1544, -1428, -1428,    77,    77,  1644,
 
2997
      77, -1428,  1646,  1647,  -116, -1428,  1422,    31, -1428, -1428,
 
2998
      67,    67, -1428,    77, -1428, -1428, -1428,    27, -1428, -1428,
 
2999
   -1428, -1428, -1428,  1462,  1250,   301, 16940,   301, 16940, -1428,
 
3000
   16940, -1428,   682, -1428, -1428, -1428, -1428,    77, -1428,    77,
 
3001
      77, -1428, -1428, -1428, -1428,  1680, -1428,    74,  1455,  1456,
 
3002
   -1428, -1428,  1533,   836,   864,   869, -1428,  1654, -1428,  1655,
 
3003
    1317,  1318, -1428, -1428, -1428, -1428, -1428, -1428,  1338,  1603,
 
3004
    1469,  1321, -1428, -1428, -1428, -1428, -1428, 16571, 16571,    67,
 
3005
      67,   -15,  9917,  1408, -1428,  1327, -1428,  1328, -1428,   875,
 
3006
   -1428, -1428, -1428, -1428, -1428, -1428, 15464,   878, -1428, -1428,
 
3007
   13250, -1428, -1428, 16571, -1428, -1428, -1428, 10292,  1274, -1428,
 
3008
   -1428
 
3009
};
 
3010
 
 
3011
/* YYPGOTO[NTERM-NUM].  */
 
3012
static const yytype_int16 yypgoto[] =
 
3013
{
 
3014
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
3015
   -1428,   122, -1428, -1428,  -804, -1428, -1428, -1428, -1428, -1428,
 
3016
    -220, -1116,   665,  -960,  -819, -1428,  1062, -1428, -1428, -1412,
 
3017
     469,   278,   663,   693,   476,   517, -1428, -1428,   186, -1428,
 
3018
     189, -1428, -1428, -1428, -1428, -1428, -1428,  -526,   161,   646,
 
3019
   -1428, -1428, -1428,    78, -1428,    80, -1128,  -333, -1428,  -107,
 
3020
   -1428, -1428, -1428, -1428,  -871, -1428, -1428, -1031, -1428, -1428,
 
3021
   -1428, -1428, -1250, -1218, -1428,   674,   -73,   475,  -911,    -9,
 
3022
   -1048, -1428, -1428, -1428, -1428, -1428, -1428, -1428,   649, -1428,
 
3023
   -1428,   502, -1428, -1428, -1428,   150,   154, -1376, -1428, -1428,
 
3024
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
3025
     936,  1292,   747,  1472,   802, -1428, -1428,  1476, -1428, -1428,
 
3026
   -1428,  -714,  -922, -1428,  1325,  -332, -1090,   930,  -755,  -742,
 
3027
     429,  -324,  1726, -1428,  -537,   504, -1428, -1428,  -209, -1428,
 
3028
   -1428,  -304, -1428, -1428, -1428, -1428, -1428, -1428, -1428,   609,
 
3029
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
3030
    1055, -1428,   871,  -474, -1428, -1428, -1428, -1252, -1428,   406,
 
3031
     152, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
3032
    -940, -1428, -1428, -1428, -1428, -1428,   811, -1428, -1428, -1428,
 
3033
   -1428, -1428, -1428, -1428,  -949, -1428,  -846,   -71, -1428,   -18,
 
3034
   -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,  -178,  -157,
 
3035
   -1043,  -501,  1220,   725, -1428,   160,  1270,  -904, -1428, -1428,
 
3036
   -1428,   791, -1428, -1428, -1428, -1428, -1428,   232, -1067,  -601,
 
3037
   -1428, -1428, -1369,  -394,  -991,  -385, -1428,  -974,   253, -1212,
 
3038
   -1428, -1428, -1428, -1428,   153,   775, -1428, -1428, -1428, -1428,
 
3039
   -1428,  -182,   -65,  1477, -1428, -1428, -1428, -1428, -1428, -1428,
 
3040
   -1428,  1471,  1372,  1119, -1428, -1428,  -818, -1428, -1428,   972,
 
3041
   -1428,   456,  -995, -1011,   632, -1428, -1428, -1428, -1184, -1428,
 
3042
   -1428, -1428, -1428, -1428, -1428,   594,  -149,   -30, -1428, -1428,
 
3043
   -1428, -1428,  1488, -1428, -1428, -1428, -1428, -1428, -1428,  -244,
 
3044
    -222,  -567, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
3045
   -1428,  1306, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
 
3046
   -1428, -1428, -1428, -1428,   644,   -27, -1428,     8,   -61, -1428,
 
3047
     -41, -1428, -1428, -1428, -1428,  -142, -1428,  -323, -1384,   155,
 
3048
   -1006,  -442,   648,  1197, -1427,  1298,  -549,  -543,  -530,   -46,
 
3049
     -21,  -605,  -401,   -74,   642,  -558, -1428, -1428, -1428, -1428,
 
3050
   -1428, -1428,   976, -1428, -1428, -1428, -1428,   620, -1428, -1428,
 
3051
   -1428,   440, -1428,   181,   113, -1428, -1428, -1428, -1428,   179,
 
3052
    1723,  1400, -1428, -1428, -1428, -1428, -1428,  -983,  -411, -1428,
 
3053
   -1302, -1428, -1428, -1428,  -932, -1275, -1428, -1428,  -473, -1428,
 
3054
   -1428
 
3055
};
 
3056
 
 
3057
/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
 
3058
   positive, shift that token.  If negative, reduce the rule which
 
3059
   number is the opposite.  If zero, do what YYDEFACT says.
 
3060
   If YYTABLE_NINF, syntax error.  */
 
3061
#define YYTABLE_NINF -1120
 
3062
static const yytype_int16 yytable[] =
 
3063
{
 
3064
     260,   591,   503,  1269,   757,   285,   778,   508,   260,   606,
 
3065
     758,  1228,   492,   992,  1181,  1163,   843,   720,  1377,  1191,
 
3066
    1129,  1414,   677,   678,  1219,  1220,  1125,  1222,   414,   528,
 
3067
     260,  1202,   807,  1231,   782,  1316,  1233,  1490,   691,   859,
 
3068
    1240,   790,   260,  1479,  1053,   543,  1197,  1198,   545,  1545,
 
3069
     565,   626,   630,   976,   565,   551,   552,  1631,  1035,   646,
 
3070
     850,   626,  1330,  1152,   294,   854,   855,   565,   565,  1036,
 
3071
     260,   565,   260,  1605,   565,   619,  1383,   878,   476,  1383,
 
3072
    1589,   557,   558,  1236,  1814,   565,  1009,   474,   565,  -163,
 
3073
    1850,  1494,  1383,  1038,  1195,  1408,   565,  -574,   881,  1504,
 
3074
    1777,  1636,   565,   642,   565,  1884,  1263,   591,   565,   565,
 
3075
     466,   467,  1004,  1539,  1399,    69,  -103,    71,    72,  1199,
 
3076
    -574, -1116,  1208,  1778,   565,    86,   565,   858,   468,   651,
 
3077
     649,    92,  1209,   -45,  1440,   565,  1432,  1800,   621,  1348,
 
3078
     831,  1538,   565,   565,   591,  1165,   565,  1258,  1487,   565,
 
3079
     565,   565,  1044,  1618,   565,   565,  1400,   565,  1499,  1020,
 
3080
    1332,  1448,  1384,   565,  1906,  -104,  1500,  1391,  1932,   565,
 
3081
     565,   565,  1401,  1159, -1119,   565,  1258,   565,   924,   624,
 
3082
    1177,  1607,   565,  1237,   565,   589,  1529,   832,   565,   565,
 
3083
     632,  1842,  1356,  1702,   565,   938,   306,  1784,  1374,    94,
 
3084
    1735,  1029,  -103,  1815,   470,  1668,  1785,   452,  1521,   565,
 
3085
     617,   615,  1047,  1736,  1843,  1522,   902,  1608,  1402,   565,
 
3086
     289,  1583,   643,  1669,    73,   631,  1355,  1210,   902,   454,
 
3087
   -1119,  1428,   833,  1595,  1053,   858,  1178,  1523,  1737,   313,
 
3088
      89,   616,   471,  1211,  1801,   633,  1166,    91,   414,   291,
 
3089
    1167,   260,   565,  1403,   260,   860,  1433,   565,  1253,  1259,
 
3090
    1501,  1933,   260,  1530,   565,  1352,  1722,  1712,   996,   260,
 
3091
    1449,   260,   260,  1675,   758,   883,   260,   566,   795,  1385,
 
3092
    1619,   566,  -104,   260,   260,  1022,   669,  1638,  1259,   834,
 
3093
    1302,  1885,   260,  1183,   566,   565,  1802,  1376,   566,  1907,
 
3094
    1546,   566,  1447,   662,  1540,  1606,   665,  1435,  1026,  1527,
 
3095
     469,  1753,   566,   565,   758,   566,  1021,  1051,    87,  -103,
 
3096
     565,   968,  -574,   566,   651,  1779,  1786,  1576,   622,   566,
 
3097
     620,   566,  1357,  1774,  1886,   566,   566,   565,   565,   565,
 
3098
    1537,   604,   879,  1340,  1806,  1832,  1196,  1797,   414,  1632,
 
3099
     565,   566,  1851,   566,   992,  1535,   267,   565,  1887,   604,
 
3100
    1692,  1542,   566,   565,  1696,   787,   598,   260,   260,   566,
 
3101
     566,  1836,  1404,   566,   670,  1264,   566,   566,   566,  1030,
 
3102
    1386,   566,   566,  -104,   566,   852,   453,   565,  1265,   418,
 
3103
     566,   260,   260,  1493,   976,   565,   566,   566,   566,   841,
 
3104
     565,  1133,   566,  1186,   566,  1327,  1238,   565,   370,   566,
 
3105
    1503,   566,   274,  1090,   567,   566,   566,   652,   567,  1787,
 
3106
    -103,   566,   270,  1095,  1053,  1609,  1262,   954,   925,  1136,
 
3107
     658,   567,   567,   660,   565,   567,   566,  1155,   567,   260,
 
3108
     260,   873,   260,   758,   939,  1108,   566,   763,   764,   567,
 
3109
    1194,  1859,   567,  1875,  1876,   260,  1878,  1193,   260,   886,
 
3110
     567,   763,   901,  1871,   260,  1028,   567,   260,   567,  1890,
 
3111
    1141,  1142,   567,   567,   626,  1137,  1138,  1291,  1292,   566,
 
3112
    1581,  1304,  1305,   890,   566,  1637,  1825,   280,   567,   260,
 
3113
     567,   566,  1135,  1902,  1288,  1903,  1904,  1324,  1325,   567,
 
3114
     891,  1145,   975,  1502,   565,    67,   567,   567,    68,   899,
 
3115
     567,  1855,   565,   567,   567,   567,   900,   903,   567,   567,
 
3116
     910,   567,   566,   915,   916,   918,   966,   567,   919,   923,
 
3117
    1634,   940,   260,   567,   567,   567,  1707,  1289,   271,   567,
 
3118
     566,   567,  1303,   260,  1290,  1297,   567,   566,   567,  1306,
 
3119
     281,  1307,   567,   567,   565,  1704,  1592,   885,   567,  1613,
 
3120
     565,   892,   893,   845,   566,   566,   566,   898,   277,   260,
 
3121
    1508,   839,   260,   567,   842,   590,  1848,   566,   669,  1363,
 
3122
     294,   260,   906,   567,   566,   853,    75,   606,   864,   565,
 
3123
     566,  1626,   907,  -780,   370,  1017,   260,    63,   846,   260,
 
3124
     565,   296,   565,   565,   565,   565,  1323,   260,   565,  1023,
 
3125
     260,   300,   580,   996,   566,   870,   567,  1407,  1690,   758,
 
3126
     565,   567,   566,   298,  -612,   911,   565,   566,   567,  1883,
 
3127
     912,    22,   260,   565,   566,  1721,   565,   914,   260,  1862,
 
3128
     260,  1078,  1579,   565,   969,  1891,   565,   507,   565,   669,
 
3129
    1721,  1026,   804,   370,  1614,  1615,    78,   758,  1274,   567,
 
3130
      82,   566,   956,   261,  1322,  1140,   681,  -612,   917,   278,
 
3131
    1509,   276,  1693,  1413,   766,  1688,  1697,   567,  1117,  1382,
 
3132
     303,   565,   565,  1001,   567,  1382,  1418,  -612,  1392,  -612,
 
3133
    1001,  1406,   758,   286,  -780,  1750,  -612,   669,  1411,  1412,
 
3134
    -612,   567,   567,   567,  1415,   288,   544,  1143,   949,   957,
 
3135
    -612,   920,   928,  1776,   567,  -612,  1165,   847,  1002,   305,
 
3136
    -612,   567,  1186,   929,  1508,   583,  -612,   567,  1715,   624,
 
3137
     944,   566,    30,   411,  -612,   286,  1272,   722,  -612,   566,
 
3138
    1264,    64,   961,   580,   813,  -612,    65,   457,  1833,  1834,
 
3139
     260,   567,    64,  1265,  1764,  1765,   813,    65,   669,   567,
 
3140
    1286,   813,  1823,  1210,   567,   598,   984,  -163,  1293,   814,
 
3141
    1457,   567,  -612,  1294,  1677,   767,  1771,   450,  -612,  1211,
 
3142
    1295,   566,  1155,  1462,  1463,   726,  -612,   566,   758,  1772,
 
3143
     260,   260,   858,   580,  -612,   805,   260,  1893,   567,  1470,
 
3144
     461,   822,  1792,  1793,  1857,  1119,  1121,  1296,   649,   950,
 
3145
     806,   958,   463,  1344,   260,   477,   566,  1166,  1468,   473,
 
3146
     260,  -612,  1897,  1894,  1509,  1895,   479,   566,  -612,   566,
 
3147
     566,   566,   566,   815,   816,   566,   260,   482,   815,   816,
 
3148
    1393,   -57,    76,  -612,   962,  1578,   743,   566,   882,   883,
 
3149
    -612,  1482,  1898,   566,  -612,   421,   583,  1158,  1382,   332,
 
3150
     566,   486,   817,   566,  1420,  1421,   487,   307,   567,  -612,
 
3151
     566,  -612,   490,   566,  -612,   566,   567,  1298,   491,  1382,
 
3152
    -612,   579,  1394,   580,   590,  1301,   783,    80,  -612,   823,
 
3153
     884,   883,  -612,   584,   585,   586,   587,   588,  1422,  -612,
 
3154
     495,   337,  1912,   496,  1345,  -612,   583,   370,   566,   566,
 
3155
     593,  1423,  -612,  -612,   286,  1346,   497,   286,   567,  1035,
 
3156
    1899,  1124,   883,  1347,   567,   458,  -612,  -612,  1161,  1162,
 
3157
    1036,   594,   286,  1308,   286,   286,  1424,   498,   260,   475,
 
3158
    -612,  -612,  -612,   422,  1395,  -612,   483,   484,  -612,   499,
 
3159
    -163,   913,   601,   567,  1038,   286,   580,   500,  1628,   260,
 
3160
     963,  1348,  1310,   345,   567,   260,   567,   567,   567,   567,
 
3161
     964,  -232,   567,  1312,   604,  1314,  1315,  1475,  1476,  1396,
 
3162
    1889,  1477,  -612,   501,   567,   473,   308,   260,   784,   260,
 
3163
     567,   649,  1208,  1591,   260,  1418,   583,   567,   355,  1594,
 
3164
     567,   758,   309,  1382,   317,    68,  1596,   567,   607,  1597,
 
3165
     567,   260,   567,  1044,   504,  1250,  1598,  1349,   624,  1599,
 
3166
     432,  1759,  1653,   505,   581,  -612,   586,   587,   588,  1647,
 
3167
     562,   563,  1650,   731,  1651,   433,   434,   260,   506,   582,
 
3168
     260,   260,    64,   435,   509,   567,   567,    65,  1930,  1931,
 
3169
    1731,  1425,   510,  1654,   286,   286,   511,  1655,  1716,  -612,
 
3170
    1350,  1299,   883,   646,   492,   332,   629,  -612,  1426,   583,
 
3171
     512,  1344,  1226,  1047,   584,   585,   586,   587,   588,   634,
 
3172
     473,  -612,  1061,   792,   793,   436,   513,   796,   798,   800,
 
3173
     801,   802,   803,   514,  1656,  -612,  -612,  1210,  1397,  -612,
 
3174
     515,   336,   647,   648,   785,   286,   516,   337,   437,  1443,
 
3175
    1444,  1481,   883,  1211,   786,  1547,  1444,   377,   286,  1082,
 
3176
     519,   286,   520,   339,   521,   438,   439,   286,  1354,  1657,
 
3177
     286,  1585,  1586,   636,  1611,  1593,   883,   649,  1083,   758,
 
3178
     440,   260,   522,    81,  1603,   883,   260,   653,   423,   424,
 
3179
     425,   426,   523,   260,   524,   441,  1751,  1752,  1794,  1752,
 
3180
     525,   427,  1345,   260,   584,   585,   586,   587,   588,   345,
 
3181
     527,  1084,   529,  1346,  1085,  1798,  1799,  -165,  1051,   260,
 
3182
     530,  1347,  1086,   531,  1218,  1846,  1752,  1221,   260,  1227,
 
3183
    1847,  1752,  1229,  1419,   260,   759,   532,   260,  1234,   533,
 
3184
     260,  1732,   260,   354,   355,  1441,   777,   260,   260,  1856,
 
3185
     260,  1852,  1853,   260,   260,   534,   696,   535,   260,  1348,
 
3186
     442,  1452,   536,   260,   260,   537,   473,   317,   538,  1658,
 
3187
     260,   539,   777,  1762,  1659,   809,   540,   584,   585,   586,
 
3188
     587,   588,   654,  1344,   821,   541,   260,  1869,  1870,  1913,
 
3189
    1870,   542,   829,  1660,  1914,  1870,   546,   443,   547,   286,
 
3190
    1944,  1943,   286,  1946,  1947,   548,   747,   606,  1685,  1686,
 
3191
     851,   749,   749,   286,   549,  1349,  1795,  1796,  1035,   758,
 
3192
     700,  1716,  1514,  1515,   550,  1062,   553,   554,   332,  1036,
 
3193
     555,  1661,   556,   592,   444,   286,   618,   445,   260,   655,
 
3194
     656,   868,   659,   286,   661,   663,   260,   673,   973,   370,
 
3195
     260,   684,  1717,  1038,   685,   714,   669,   756,  1350,   375,
 
3196
     765,   771,   794,   377,   336,   810,   812,   646,  1035,   811,
 
3197
     337,   825,   830,   701,  1345,   840,   704,   446,   773,  1036,
 
3198
     856,   857,   862,   705,   260,  1346,   339,   871,   875,   888,
 
3199
     649,   889,   260,  1347,  1662,   896,   894,  1718,  1719,  -163,
 
3200
     895,   902,   905,  1038,   909,   921,   952,   260,   922,   927,
 
3201
     941,   565,  1044,  1939,     1,     2,   930,   931,  1945,   758,
 
3202
     942,   943,  1344,   706,   960,   565,     3,  -461,   260,  1549,
 
3203
    -378,  1348,   345,   508,   545,   965,   974,   758,  1939,   980,
 
3204
     649,   981,  1027,   987,   758,  1766,  1010,   260,  1808,     4,
 
3205
       5,   260,   708,   955,   260,  1015,  1018,  1069,   260,     6,
 
3206
    1072,  1076,  1044,   260,  1081,  1091,   354,   355,  1092,  1093,
 
3207
    1101,     7,  1047,  1002,  1102,  1001,   646,   646,  1113,   646,
 
3208
     692,   693,   694,   695,   696,  1128,  1130,  1349,  1131,  1132,
 
3209
    1139,  1148,   646,   286,   286,     8,     9,    10,  1149,   997,
 
3210
    1160,  1550,  1157,  1190,    11,  1551,  1200,  1208,  1224,  1223,
 
3211
    1225,  1230,  1232,  1345,  1235,    12,   646,  1013,   646,   646,
 
3212
    1242,  1552,  1047,  1019,  1346,  1854,  1243,  1267,   858,   260,
 
3213
    1350,  1270,  1347,  1275,    13,   260,  1278,   883,  1281,   759,
 
3214
     709,  1282,  1317,  1321,  1319,   697,   698,   699,   700,   711,
 
3215
    1326,   813,   260,  1331,  1553,  1353,  1361,  1554,  1362,  1366,
 
3216
     260,  1409,  1410,   260,  1365,  1555,    14,  1439,  1442,  1445,
 
3217
    1348,  1459,   370,  1454,  1460,  1717,  1556,  1051,    15,  1461,
 
3218
    1464,  1484,   375,  1489,  1488,  1495,   377,  1505,  1496,    16,
 
3219
    1557,  1497,  1516,  1533,  1519,   682,  1528,  1534,  1544,   260,
 
3220
    1580,   701,   702,   703,   704,  1558,  1574,  1582,  1584,  1587,
 
3221
    1588,   705,  1590,  1612,  1616,   723,  1617,  1620,   727,  1621,
 
3222
    1718,  1719,  1629,  1633,  1630,  1640,  1349,  1051,  1639,  1641,
 
3223
    1645,  1648,   739,   740,  1652,  1670,   744,  1671,   566,  1674,
 
3224
    1682,   777,  1559,  1687,  1694,  1683,  1695,  1708,  1713,   760,
 
3225
     761,   706,  1726,  1714,  1728,  1739,  1729,  1740,   260,  1741,
 
3226
    1743,  1744,  1150,  1745,   260,  1746,    17,    18,   759,  1350,
 
3227
      19,  1747,  1754,   260,  1749,   570,   571,    20,  1758,   707,
 
3228
     708,  1760,  -529,    21,  -534,  1790,  1803,    22,  1770,  1809,
 
3229
    1187,  1810,  1189,   260,  1586,    23,  1807,   777,    24,   572,
 
3230
    1822,   260,  1811,   573,  1560,  1812,   260,  1821,  1837,  1827,
 
3231
    1829,  1838,    25,  1839,   777,  1840,  1860,  1872,  1866,  1877,
 
3232
    1868,  1879,  1880,  1435,  1905,  1908,  1909,  1910,   574,  1915,
 
3233
    1916,  1919,   260,   260,  1920,  1921,  1561,   575,  1676,  1940,
 
3234
    1249,  1917,  1918,   286,  1249,  1922,    26,   692,   693,   694,
 
3235
     695,   696,  1942,  1430,  1943,   576,    27,    28,  1241,   866,
 
3236
      29,  1246,  1577,  1436,  1562,   874,  1212,  1642,   709,  1277,
 
3237
    1387,   260,  1643,  1672,  1730,   567,   710,   711,   577,  1882,
 
3238
    1451,  1266,  1742,  1820,  1858,  1429,  1164,   983,    30,   260,
 
3239
     456,   641,  1127,   455,   611,  1000,  1483,  1089,  1328,  1507,
 
3240
    1126,  1929,  1691,  1874,  1835,  1949,  1146,   750,  1689,  1563,
 
3241
     683,  1564,   697,   698,   699,   700,  1644,   904,   260,  1180,
 
3242
    1635,   908,  1710,   485,   489,   599,   872,  1486,   990,  1338,
 
3243
     481,  1948,  1861,   664,  1375,  1329,  1841,  1863,   926,  1565,
 
3244
    1566,   260,  1892,  1881,   997,  1950,  1011,   828,   690,  1343,
 
3245
    1341,  1734,  1373,  1525,   391,  1711,   286,   419,     0,   603,
 
3246
       0,     0,     0,     0,     0,     0,  1364,     0,   701,   702,
 
3247
     703,   704,     0,     0,     0,     0,     0,     0,   705,     0,
 
3248
       0,     0,   759,     0,     0,   260,     0,   260,     0,   260,
 
3249
       0,  1249,     0,     0,     0,     0,  1033,  1249,     0,     0,
 
3250
    1249,  1034,     0,  1249,     0,   777,     0,     0,     0,  1035,
 
3251
    1249,  1249,     0,   777,     0,     0,  1249,   759,   706,     0,
 
3252
    1036,   286,     0,     0,     0,     0,  1249,  1431,     0,     0,
 
3253
    1033,     0,     0,   286,  1037,  1034,   260,   260,     0,     0,
 
3254
       0,   260,     0,  1035,  1038,     0,   707,   708,     0,   286,
 
3255
       0,     0,     0,     0,  1036,   260,  1039,     0,     0,   260,
 
3256
       0,     0,   260,     0,     0,     0,   260,     0,  1037,     0,
 
3257
       0,     0,     0,     0,     0,     0,     0,     0,  1038,     0,
 
3258
       0,   649,     0,     0,     0,     0,  1040,  1041,     0,     0,
 
3259
    1039,  1042,     0,     0,     0,     0,     0,     0,  1043,     0,
 
3260
       0,  1480,  -228,  1044,     0,     0,     0,     0,     0,  1187,
 
3261
       0,     0,     0,   759,     0,   649,     0,     0,     0,     0,
 
3262
    1040,     0,  1045,     0,     0,  1042,     0,     0,     0,     0,
 
3263
       0,     0,  1043,     0,     0,   709,     0,  1044,     0,     0,
 
3264
       0,     0,     0,   710,   711,     0,  1046,  1150,     0,     0,
 
3265
       0,     0,     0,     0,     0,  1013,  1045,     0,     0,     0,
 
3266
       0,     0,     0,  1047,     0,     0,     0,     0,     0,     0,
 
3267
    1249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3268
       0,     0,     0,     0,   493,     0,     0,     0,     0,     0,
 
3269
       0,  1249,     0,     0,     0,     0,     0,  1047,     0,     0,
 
3270
       0,  1048,     0,     0,     0,     0,     0,     0,     0,   518,
 
3271
     777,     0,     0,     0,  1548,     0,     0,   286,   526,     0,
 
3272
       0,  1573,     0,     0,     0,     0,  1249,     0,     0,  1049,
 
3273
       0,     0,     0,     0,     0,  1048,     0,     0,     0,     0,
 
3274
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3275
       0,     0,     0,   559,  1050,     0,     0,     0,     0,     0,
 
3276
       0,     0,     0,  1049,     0,     0,     0,     0,  1051,     0,
 
3277
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3278
       0,     0,     0,     0,     0,     0,     0,     0,  1050,     0,
 
3279
       0,     0,  1623,     0,     0,     0,     0,     0,   777,     0,
 
3280
       0,     0,  1051,     0,     0,     0,     0,     0,     0,     0,
 
3281
       0,     0,     0,     0,     0,  1249,     0,     0,     0,     0,
 
3282
       0,     0,     0,  1249,     0,     0,   759,     0,     0,     0,
 
3283
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3284
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3285
       0,     0,     0,     0,     0,     0,   668,     0,     0,     0,
 
3286
       0,   675,  1681,     0,   679,   680,     0,     0,     0,     0,
 
3287
       0,   686,   687,   688,     0,   689,     0,     0,     0,     0,
 
3288
     716,   717,   718,   719,     0,   721,     0,   724,   725,     0,
 
3289
     728,   729,     0,   730,     0,     0,   732,   733,   734,   735,
 
3290
     736,   737,   738,     0,     0,   741,   742,     0,   745,     0,
 
3291
     746,     0,     0,     0,   754,   755,     0,     0,     0,     0,
 
3292
       0,  1681,   762,     0,     0,     0,     0,  1725,   770,     0,
 
3293
       0,     0,     0,   779,   780,   781,   777,     0,     0,     0,
 
3294
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3295
       0,     0,     0,     0,     0,     0,  1748,     0,     0,     0,
 
3296
       0,     0,     0,     0,   759,     0,     0,     0,     0,   286,
 
3297
       0,     0,     0,     0,     0,     0,   827,     0,     0,     0,
 
3298
       0,     0,     0,     0,     0,     0,     0,     0,   844,     0,
 
3299
       0,     0,     0,     0,     0,  1681,  1681,     0,     0,     0,
 
3300
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3301
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3302
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3303
       0,     0,     0,     0,  1681,     0,     0,     0,     0,   877,
 
3304
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3305
       0,     0,  1831,     0,     0,     0,     0,     0,     0,     0,
 
3306
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3307
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3308
       0,  1849,     0,     0,     0,     0,     0,     0,     0,     0,
 
3309
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3310
       0,     0,     0,     0,   759,     0,     0,     0,     0,     0,
 
3311
       0,     0,     0,     0,     0,     0,     0,   933,   935,   937,
 
3312
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3313
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3314
       0,     0,     0,     0,     0,     0,     0,     0,  1831,     0,
 
3315
    1831,     0,  1896,     0,     0,     0,     0,     0,     0,     0,
 
3316
     967,     0,     0,   971,     0,   972,     0,     0,     0,     0,
 
3317
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3318
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3319
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1928,
 
3320
    1928,     0,     0,     0,   759,     0,     0,     0,     0,     0,
 
3321
       0,     0,     0,     0,     0,     0,     0,     0,   777,     0,
 
3322
       0,     0,   759,     0,     0,  1928,     0,     0,     0,   759,
 
3323
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1075,
 
3324
       0,     0,  1077,     0,  1079,  1080,     0,     0,     0,  1088,
 
3325
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3326
       0,     0,  1094,     0,     0,  1096,  1097,  1098,  1099,  1100,
 
3327
       0,     0,     0,     0,     0,     0,  1103,     0,     0,  1104,
 
3328
       0,  1105,  1106,     0,  1107,     0,     0,     0,     0,  1110,
 
3329
    1111,  1112,     0,     0,     0,     0,  1114,  1115,  1116,     0,
 
3330
    1118,     0,  1120,     0,  1122,     0,  1123,     0,     0,     0,
 
3331
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3332
       0,     0,     0,     0,     0,     0,  1134,     0,     0,     0,
 
3333
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3334
    1144,     0,  1147,     0,     0,     0,     0,     0,     0,     0,
 
3335
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3336
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3337
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3338
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3339
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3340
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3341
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3342
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3343
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3344
    1271,     0,     0,     0,  1273,     0,     0,     0,     0,     0,
 
3345
       0,     0,     0,     0,     0,     0,     0,     0,  1284,  1285,
 
3346
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3347
       0,     0,     0,     0,     0,  1300,     0,     0,     0,     0,
 
3348
       0,     0,     0,  1309,     0,  1311,     0,  1313,     0,     0,
 
3349
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3350
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3351
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3352
       0,     0,  1334,     0,     0,     0,     0,     0,     0,     0,
 
3353
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3354
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3355
       0,     0,     0,     0,     0,     0,     0,  1371,     0,     0,
 
3356
       0,     0,     0,     0,     0,     0,     0,     0,  1334,  1378,
 
3357
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3358
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3359
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3360
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3361
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3362
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3363
       0,     0,     0,     0,  1453,     0,     0,     0,     0,     0,
 
3364
    1458,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3365
       0,     0,     0,     0,     0,  1466,  1467,     0,     0,     0,
 
3366
       0,     0,     0,  1469,     0,     0,     0,     0,  1471,     0,
 
3367
       0,  1472,  1473,  1474,     0,     0,     0,     0,     0,     0,
 
3368
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3369
       0,     0,     0,     0,     0,     0,     0,     0,  1334,     0,
 
3370
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3371
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3372
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3373
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3374
    1526,     0,     0,     0,     0,     0,     0,     0,     0,  1532,
 
3375
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3376
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3377
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3378
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3379
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3380
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3381
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3382
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3383
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3384
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3385
       0,     0,     0,     0,     0,  1334,     0,     0,     0,     0,
 
3386
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3387
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3388
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3389
       0,     0,     0,     0,  1378,     0,     0,     0,     0,     0,
 
3390
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3391
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3392
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3393
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3394
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3395
       0,     0,     0,     0,     0,     0,     0,     0,  1684,     0,
 
3396
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3397
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3398
       0,     0,     0,     0,     0,     0,  1378,     0,     0,     0,
 
3399
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3400
    1371,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3401
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3402
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3403
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3404
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3405
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3406
       0,     0,     0,     0,  1768,  1769,     0,     0,     0,  1775,
 
3407
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3408
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
3409
       0,     0,     0,     0,     0,     0,     0,     0,     0,    95,
 
3410
       0,   314,    97,    98,     0,     0,     0,     0,    99,     0,
 
3411
       0,     0,   100,   101,   102,   315,     0,   104,     0,     0,
 
3412
     316,   317,   105,     0,   106,   107,   108,   109,   751,   110,
 
3413
       0,   111,     0,     0,   112,   318,   319,   113,  1378,   320,
 
3414
     114,     0,   115,   321,     0,   322,   118,     0,   119,   120,
 
3415
     121,   122,   123,   124,     0,   125,   126,     0,   127,     0,
 
3416
     323,   324,     0,     0,   128,   325,   326,     0,   327,   129,
 
3417
     130,   131,   132,   328,   329,   330,     0,     0,     0,     0,
 
3418
     331,   135,   332,     0,     0,   333,     0,     0,     0,  1334,
 
3419
     136,   137,  1865,     0,  1867,     0,   138,   139,   140,     0,
 
3420
       0,     0,   141,     0,   142,   143,     0,   144,   145,     0,
 
3421
       0,   146,     0,   147,   148,   334,   149,   335,   336,     0,
 
3422
     150,   151,   152,   153,   337,   154,     0,     0,     0,   155,
 
3423
     156,     0,   157,     0,   158,     0,   338,     0,   159,     0,
 
3424
     339,     0,     0,     0,   340,   161,   162,   163,   341,     0,
 
3425
     164,   165,     0,     0,     0,     0,     0,   342,   343,     0,
 
3426
       0,     0,     0,   166,     0,     0,     0,   167,     0,     0,
 
3427
     168,     0,   752,   344,   169,     0,     0,     0,     0,   170,
 
3428
       0,   171,     0,   172,     0,   173,   345,     0,     0,     0,
 
3429
       0,   174,   175,   346,   176,   177,   178,   347,     0,     0,
 
3430
     348,   181,   349,   182,     0,   183,   350,   351,   185,   186,
 
3431
     187,     0,     0,     0,   188,   189,   190,   352,   353,   191,
 
3432
     354,   355,     0,   192,   193,     0,   194,   195,   196,   197,
 
3433
       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
 
3434
     200,   356,     0,   201,     0,   202,   203,   357,   205,     0,
 
3435
       0,   206,     0,     0,     0,   207,     0,     0,     0,   208,
 
3436
     358,   359,     0,   209,     0,   360,     0,   361,   211,   212,
 
3437
     213,   214,   215,   362,   217,     0,   363,   219,     0,     0,
 
3438
       0,   220,   221,   222,   223,     0,     0,     0,   224,     0,
 
3439
     225,   226,   227,     0,     0,     0,     0,     0,   228,     0,
 
3440
       0,     0,     0,   229,   230,   364,   365,   231,   232,     0,
 
3441
       0,   233,   366,   235,   367,   368,   236,   237,   238,   369,
 
3442
     239,   240,     0,     0,   241,     0,   370,   242,     0,   371,
 
3443
     372,   373,     0,   753,   246,   374,   375,   376,   248,   249,
 
3444
     377,   250,   251,     0,     0,     0,   252,     0,     0,     0,
 
3445
     378,     0,     0,   379,   380,   381,   254,     0,     0,   255,
 
3446
     382,     0,   383,   256,   257,     0,     0,     0,     0,   258,
 
3447
       0,     0,     0,   384,   385,   386,     0,     0,     0,   387,
 
3448
       0,     0,     0,   388,     0,   389,   390,    95,     0,   314,
 
3449
      97,    98,  1367,     0,     0,     0,    99,     0,     0,     0,
 
3450
     100,   101,   102,   315,     0,   104,     0,     0,  1368,   317,
 
3451
     105,     0,   106,   107,   108,   109,     0,   110,     0,   111,
 
3452
       0,     0,   112,   318,   319,   113,     0,   320,   114,     0,
 
3453
     115,   321,     0,   322,   118,     0,   119,   120,   121,   122,
 
3454
     123,   124,     0,   125,   126,     0,   127,     0,   323,   324,
 
3455
       0,     0,   128,   325,   326,     0,   327,   129,   130,   131,
 
3456
     132,   328,   329,   330,     0,     0,     0,     0,   331,   135,
 
3457
     332,     0,     0,  1369,     0,     0,     0,     0,   136,   137,
 
3458
       0,     0,     0,     0,   138,   139,   140,     0,     0,     0,
 
3459
     141,     0,   142,   143,     0,   144,   145,     0,     0,   146,
 
3460
       0,   147,   148,   334,   149,   335,   336,     0,   150,   151,
 
3461
     152,   153,   337,   154,     0,     0,     0,   155,   156,     0,
 
3462
     157,     0,   158,     0,   338,     0,   159,     0,   339,     0,
 
3463
       0,     0,   340,   161,   162,   163,   341,     0,   164,   165,
 
3464
       0,     0,     0,     0,     0,   342,   343,     0,     0,     0,
 
3465
       0,   166,     0,     0,     0,   167,     0,     0,   168,     0,
 
3466
       0,   344,   169,     0,     0,     0,     0,   170,     0,   171,
 
3467
       0,   172,     0,   173,   345,     0,     0,     0,     0,   174,
 
3468
     175,   346,   176,   177,   178,   347,     0,     0,   348,   181,
 
3469
     349,   182,     0,   183,   350,   351,   185,   186,   187,     0,
 
3470
       0,     0,   188,   189,   190,   352,   353,   191,   354,   355,
 
3471
       0,   192,   193,  1370,   194,   195,   196,   197,     0,     0,
 
3472
       0,     0,     0,     0,     0,     0,   198,   199,   200,   356,
 
3473
       0,   201,     0,   202,   203,   357,   205,     0,     0,   206,
 
3474
       0,     0,     0,   207,     0,     0,     0,   208,   358,   359,
 
3475
       0,   209,     0,   360,     0,   361,   211,   212,   213,   214,
 
3476
     215,   362,   217,     0,   363,   219,     0,     0,     0,   220,
 
3477
     221,   222,   223,     0,     0,     0,   224,     0,   225,   226,
 
3478
     227,     0,     0,     0,     0,     0,   228,     0,     0,     0,
 
3479
       0,   229,   230,   364,   365,   231,   232,     0,     0,   233,
 
3480
     366,   235,   367,   368,   236,   237,   238,   369,   239,   240,
 
3481
       0,     0,   241,     0,   370,   242,     0,   371,   372,   373,
 
3482
       0,     0,   246,   374,   375,   376,   248,   249,   377,   250,
 
3483
     251,     0,     0,     0,   252,     0,     0,     0,   378,     0,
 
3484
       0,   379,   380,   381,   254,     0,     0,   255,   382,     0,
 
3485
     383,   256,   257,     0,     0,     0,     0,   258,     0,     0,
 
3486
       0,   384,   385,   386,     0,     0,    95,   387,   314,    97,
 
3487
      98,   388,     0,   389,   390,    99,     0,     0,     0,   100,
 
3488
     101,   102,   315,     0,   104,     0,     0,   316,   317,   105,
 
3489
       0,   106,   107,   108,   109,     0,   110,     0,   111,     0,
 
3490
       0,   112,   318,   319,   113,     0,   320,   114,     0,   115,
 
3491
     321,     0,   322,   118,     0,   119,   120,   121,   122,   123,
 
3492
     124,     0,   125,   126,     0,   127,     0,   323,   324,     0,
 
3493
       0,   128,   325,   326,     0,   327,   129,   130,   131,   132,
 
3494
     328,   329,   330,     0,     0,     0,     0,   331,   135,   332,
 
3495
       0,     0,   333,     0,     0,     0,     0,   136,   137,     0,
 
3496
       0,     0,     0,   138,   139,   140,     0,     0,     0,   141,
 
3497
       0,   142,   143,     0,   144,   145,     0,     0,   146,     0,
 
3498
     147,   148,   334,   149,   335,   336,     0,   150,   151,   152,
 
3499
     153,   337,   154,     0,     0,     0,   155,   156,     0,   157,
 
3500
       0,   158,     0,   338,     0,   159,     0,   339,     0,     0,
 
3501
       0,   340,   161,   162,   163,   341,     0,   164,   165,     0,
 
3502
       0,     0,     0,     0,   342,   343,     0,     0,     0,     0,
 
3503
     166,     0,     0,     0,   167,     0,     0,   168,     0,     0,
 
3504
     344,   169,     0,     0,     0,     0,   170,     0,   171,     0,
 
3505
     172,     0,   173,   345,     0,     0,     0,     0,   174,   175,
 
3506
     346,   176,   177,   178,   347,     0,     0,   348,   181,   349,
 
3507
     182,     0,   183,   350,   351,   185,   186,   187,     0,     0,
 
3508
       0,   188,   189,   190,   352,   353,   191,   354,   355,     0,
 
3509
     192,   193,     0,   194,   195,   196,   197,     0,     0,     0,
 
3510
       0,     0,     0,     0,     0,   198,   199,   200,   356,     0,
 
3511
     201,     0,   202,   203,   357,   205,     0,     0,   206,     0,
 
3512
       0,     0,   207,     0,     0,     0,   208,   358,   359,     0,
 
3513
     209,     0,   360,     0,   361,   211,   212,   213,   214,   215,
 
3514
     362,   217,     0,   363,   219,     0,     0,     0,   220,   221,
 
3515
     222,   223,     0,     0,     0,   224,     0,   225,   226,   227,
 
3516
       0,     0,     0,     0,     0,   228,     0,     0,     0,     0,
 
3517
     229,   230,   364,   365,   231,   232,     0,     0,   233,   366,
 
3518
     235,   367,   368,   236,   237,   238,   369,   239,   240,     0,
 
3519
       0,   241,     0,   370,   242,     0,   371,   372,   373,     0,
 
3520
       0,   246,   374,   375,   376,   248,   249,   377,   250,   251,
 
3521
       0,     0,     0,   252,     0,     0,     0,   378,     0,     0,
 
3522
     379,   380,   381,   254,     0,     0,   255,   382,     0,   383,
 
3523
     256,   257,     0,     0,     0,     0,   258,     0,     0,     0,
 
3524
     384,   385,   386,     0,     0,     0,   387,   684,     0,     0,
 
3525
     388,     0,   389,   390,    95,     0,   314,    97,    98,     0,
 
3526
       0,     0,     0,    99,     0,     0,     0,   100,   101,   102,
 
3527
     315,     0,   104,     0,     0,   316,   317,   105,     0,   106,
 
3528
     107,   108,   109,     0,   110,     0,   111,     0,     0,   112,
 
3529
     318,   319,   113,     0,   320,   114,     0,   115,   321,     0,
 
3530
     322,   118,     0,   119,   120,   121,   122,   123,   124,     0,
 
3531
     125,   126,     0,   127,     0,   323,   324,     0,     0,   128,
 
3532
     325,   326,     0,   327,   129,   130,   131,   132,   328,   329,
 
3533
     330,     0,     0,     0,     0,   331,   135,   332,     0,     0,
 
3534
     333,     0,     0,     0,     0,   136,   137,     0,     0,     0,
 
3535
       0,   138,   139,   140,     0,     0,     0,   141,     0,   142,
 
3536
     143,     0,   144,   145,     0,     0,   146,     0,   147,   148,
 
3537
     334,   149,   335,   336,     0,   150,   151,   152,   153,   337,
 
3538
     154,     0,     0,     0,   155,   156,   932,   157,     0,   158,
 
3539
       0,   338,     0,   159,     0,   339,     0,     0,     0,   340,
 
3540
     161,   162,   163,   341,     0,   164,   165,     0,     0,     0,
 
3541
       0,     0,   342,   343,     0,     0,     0,     0,   166,     0,
 
3542
       0,     0,   167,     0,     0,   168,     0,     0,   344,   169,
 
3543
       0,     0,     0,     0,   170,     0,   171,     0,   172,     0,
 
3544
     173,   345,     0,     0,     0,     0,   174,   175,   346,   176,
 
3545
     177,   178,   347,     0,     0,   348,   181,   349,   182,     0,
 
3546
     183,   350,   351,   185,   186,   187,     0,     0,     0,   188,
 
3547
     189,   190,   352,   353,   191,   354,   355,     0,   192,   193,
 
3548
       0,   194,   195,   196,   197,     0,     0,     0,     0,     0,
 
3549
       0,     0,     0,   198,   199,   200,   356,     0,   201,     0,
 
3550
     202,   203,   357,   205,     0,     0,   206,     0,     0,     0,
 
3551
     207,     0,     0,     0,   208,   358,   359,     0,   209,     0,
 
3552
     360,     0,   361,   211,   212,   213,   214,   215,   362,   217,
 
3553
       0,   363,   219,     0,     0,     0,   220,   221,   222,   223,
 
3554
       0,     0,     0,   224,     0,   225,   226,   227,     0,     0,
 
3555
       0,     0,     0,   228,     0,     0,     0,     0,   229,   230,
 
3556
     364,   365,   231,   232,     0,     0,   233,   366,   235,   367,
 
3557
     368,   236,   237,   238,   369,   239,   240,     0,     0,   241,
 
3558
       0,   370,   242,     0,   371,   372,   373,     0,     0,   246,
 
3559
     374,   375,   376,   248,   249,   377,   250,   251,     0,     0,
 
3560
       0,   252,     0,     0,     0,   378,     0,     0,   379,   380,
 
3561
     381,   254,     0,     0,   255,   382,     0,   383,   256,   257,
 
3562
       0,     0,     0,     0,   258,     0,     0,     0,   384,   385,
 
3563
     386,     0,     0,    95,   387,   314,    97,    98,   388,     0,
 
3564
     389,   390,    99,     0,     0,     0,   100,   101,   102,   315,
 
3565
       0,   104,     0,     0,   316,   317,   105,     0,   106,   107,
 
3566
     108,   109,     0,   110,     0,   111,     0,     0,   112,   318,
 
3567
     319,   113,     0,   320,   114,     0,   115,   321,     0,   322,
 
3568
     118,     0,   119,   120,   121,   122,   123,   124,     0,   125,
 
3569
     126,     0,   127,     0,   323,   324,     0,     0,   128,   325,
 
3570
     326,     0,   327,   129,   130,   131,   132,   328,   329,   330,
 
3571
       0,     0,     0,     0,   331,   135,   332,     0,     0,   333,
 
3572
       0,     0,     0,     0,   136,   137,     0,     0,     0,     0,
 
3573
     138,   139,   140,     0,     0,     0,   141,     0,   142,   143,
 
3574
       0,   144,   145,     0,     0,   146,     0,   147,   148,   334,
 
3575
     149,   335,   336,     0,   150,   151,   152,   153,   337,   154,
 
3576
       0,     0,     0,   155,   156,   934,   157,     0,   158,     0,
 
3577
     338,     0,   159,     0,   339,     0,     0,     0,   340,   161,
 
3578
     162,   163,   341,     0,   164,   165,     0,     0,     0,     0,
 
3579
       0,   342,   343,     0,     0,     0,     0,   166,     0,     0,
 
3580
       0,   167,     0,     0,   168,     0,     0,   344,   169,     0,
 
3581
       0,     0,     0,   170,     0,   171,     0,   172,     0,   173,
 
3582
     345,     0,     0,     0,     0,   174,   175,   346,   176,   177,
 
3583
     178,   347,     0,     0,   348,   181,   349,   182,     0,   183,
 
3584
     350,   351,   185,   186,   187,     0,     0,     0,   188,   189,
 
3585
     190,   352,   353,   191,   354,   355,     0,   192,   193,     0,
 
3586
     194,   195,   196,   197,     0,     0,     0,     0,     0,     0,
 
3587
       0,     0,   198,   199,   200,   356,     0,   201,     0,   202,
 
3588
     203,   357,   205,     0,     0,   206,     0,     0,     0,   207,
 
3589
       0,     0,     0,   208,   358,   359,     0,   209,     0,   360,
 
3590
       0,   361,   211,   212,   213,   214,   215,   362,   217,     0,
 
3591
     363,   219,     0,     0,     0,   220,   221,   222,   223,     0,
 
3592
       0,     0,   224,     0,   225,   226,   227,     0,     0,     0,
 
3593
       0,     0,   228,     0,     0,     0,     0,   229,   230,   364,
 
3594
     365,   231,   232,     0,     0,   233,   366,   235,   367,   368,
 
3595
     236,   237,   238,   369,   239,   240,     0,     0,   241,     0,
 
3596
     370,   242,     0,   371,   372,   373,     0,     0,   246,   374,
 
3597
     375,   376,   248,   249,   377,   250,   251,     0,     0,     0,
 
3598
     252,     0,     0,     0,   378,     0,     0,   379,   380,   381,
 
3599
     254,     0,     0,   255,   382,     0,   383,   256,   257,     0,
 
3600
       0,     0,     0,   258,     0,     0,     0,   384,   385,   386,
 
3601
       0,     0,    95,   387,   314,    97,    98,   388,     0,   389,
 
3602
     390,    99,     0,     0,     0,   100,   101,   102,   315,     0,
 
3603
     104,     0,     0,   316,   317,   105,     0,   106,   107,   108,
 
3604
     109,     0,   110,     0,   111,     0,     0,   112,   318,   319,
 
3605
     113,     0,   320,   114,     0,   115,   321,     0,   322,   118,
 
3606
       0,   119,   120,   121,   122,   123,   124,     0,   125,   126,
 
3607
       0,   127,     0,   323,   324,     0,     0,   128,   325,   326,
 
3608
       0,   327,   129,   130,   131,   132,   328,   329,   330,     0,
 
3609
       0,     0,     0,   331,   135,   332,     0,     0,   333,     0,
 
3610
       0,     0,     0,   136,   137,     0,     0,     0,     0,   138,
 
3611
     139,   140,     0,     0,     0,   141,     0,   142,   143,     0,
 
3612
     144,   145,     0,     0,   146,     0,   147,   148,   334,   149,
 
3613
     335,   336,     0,   150,   151,   152,   153,   337,   154,     0,
 
3614
       0,     0,   155,   156,   936,   157,     0,   158,     0,   338,
 
3615
       0,   159,     0,   339,     0,     0,     0,   340,   161,   162,
 
3616
     163,   341,     0,   164,   165,     0,     0,     0,     0,     0,
 
3617
     342,   343,     0,     0,     0,     0,   166,     0,     0,     0,
 
3618
     167,     0,     0,   168,     0,     0,   344,   169,     0,     0,
 
3619
       0,     0,   170,     0,   171,     0,   172,     0,   173,   345,
 
3620
       0,     0,     0,     0,   174,   175,   346,   176,   177,   178,
 
3621
     347,     0,     0,   348,   181,   349,   182,     0,   183,   350,
 
3622
     351,   185,   186,   187,     0,     0,     0,   188,   189,   190,
 
3623
     352,   353,   191,   354,   355,     0,   192,   193,     0,   194,
 
3624
     195,   196,   197,     0,     0,     0,     0,     0,     0,     0,
 
3625
       0,   198,   199,   200,   356,     0,   201,     0,   202,   203,
 
3626
     357,   205,     0,     0,   206,     0,     0,     0,   207,     0,
 
3627
       0,     0,   208,   358,   359,     0,   209,     0,   360,     0,
 
3628
     361,   211,   212,   213,   214,   215,   362,   217,     0,   363,
 
3629
     219,     0,     0,     0,   220,   221,   222,   223,     0,     0,
 
3630
       0,   224,     0,   225,   226,   227,     0,     0,     0,     0,
 
3631
       0,   228,     0,     0,     0,     0,   229,   230,   364,   365,
 
3632
     231,   232,     0,     0,   233,   366,   235,   367,   368,   236,
 
3633
     237,   238,   369,   239,   240,     0,     0,   241,     0,   370,
 
3634
     242,     0,   371,   372,   373,     0,     0,   246,   374,   375,
 
3635
     376,   248,   249,   377,   250,   251,     0,     0,     0,   252,
 
3636
       0,     0,     0,   378,     0,     0,   379,   380,   381,   254,
 
3637
       0,     0,   255,   382,     0,   383,   256,   257,     0,     0,
 
3638
       0,     0,   258,     0,     0,     0,   384,   385,   386,     0,
 
3639
       0,    95,   387,   314,    97,    98,   388,     0,   389,   390,
 
3640
      99,     0,     0,     0,   100,   101,   102,   315,     0,   104,
 
3641
       0,     0,   316,   317,   105,     0,   106,   107,   108,   109,
 
3642
       0,   110,     0,   111,     0,     0,   112,   318,   319,   113,
 
3643
       0,   320,   114,     0,   115,   321,     0,   322,   118,     0,
 
3644
     119,   120,   121,   122,   123,   124,     0,   125,   126,     0,
 
3645
     127,     0,   323,   324,     0,     0,   128,   325,   326,     0,
 
3646
     327,   129,   130,   131,   132,   328,   329,   330,     0,     0,
 
3647
       0,     0,   331,   135,   332,     0,     0,   333,     0,     0,
 
3648
       0,     0,   136,   137,     0,     0,     0,     0,   138,   139,
 
3649
     140,     0,     0,     0,   141,     0,   142,   143,     0,   144,
 
3650
     145,     0,     0,   146,     0,   147,   148,   334,   149,   335,
 
3651
     336,     0,   150,   151,   152,   153,   337,   154,     0,     0,
 
3652
       0,   155,   156,     0,   157,     0,   158,     0,   338,     0,
 
3653
     159,     0,   339,     0,     0,     0,   340,   161,   162,   163,
 
3654
     341,     0,   164,   165,     0,     0,     0,     0,     0,   342,
 
3655
     343,     0,     0,     0,     0,   166,     0,     0,     0,   167,
 
3656
       0,     0,   168,     0,     0,   344,   169,     0,     0,     0,
 
3657
       0,   170,     0,   171,     0,   172,     0,   173,   345,     0,
 
3658
       0,     0,     0,   174,   175,   346,   176,   177,   178,   347,
 
3659
       0,     0,   348,   181,   349,   182,     0,   183,   350,   351,
 
3660
     185,   186,   187,     0,     0,     0,   188,   189,   190,   352,
 
3661
     353,   191,   354,   355,     0,   192,   193,     0,   194,   195,
 
3662
     196,   197,     0,     0,     0,     0,     0,     0,     0,     0,
 
3663
     198,   199,   200,   356,     0,   201,     0,   202,   203,   357,
 
3664
     205,     0,     0,   206,     0,     0,     0,   207,     0,     0,
 
3665
       0,   208,   358,   359,     0,   209,     0,   360,     0,   361,
 
3666
     211,   212,   213,   214,   215,   362,   217,     0,   363,   219,
 
3667
       0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
 
3668
     224,     0,   225,   226,   227,     0,     0,     0,     0,     0,
 
3669
     228,     0,     0,     0,     0,   229,   230,   364,   365,   231,
 
3670
     232,     0,     0,   233,   366,   235,   367,   368,   236,   237,
 
3671
     238,   369,   239,   240,     0,     0,   241,     0,   370,   242,
 
3672
       0,   371,   372,   373,     0,     0,   246,   374,   375,   376,
 
3673
     248,   249,   377,   250,   251,     0,     0,     0,   252,     0,
 
3674
       0,     0,   378,     0,     0,   379,   380,   381,   254,     0,
 
3675
       0,   255,   382,     0,   383,   256,   257,     0,     0,     0,
 
3676
       0,   258,     0,     0,     0,   384,   385,   386,     0,     0,
 
3677
      95,   387,   314,    97,    98,   388,     0,   389,   390,    99,
 
3678
       0,     0,     0,   100,   101,   102,   315,     0,   104,     0,
 
3679
       0,   316,   317,   105,     0,   106,   107,   108,   109,     0,
 
3680
     110,     0,   111,     0,     0,   112,   318,   319,   113,     0,
 
3681
     320,   114,     0,   115,   321,     0,   322,   118,     0,   119,
 
3682
     120,   121,   122,   123,   124,     0,   125,   126,     0,   127,
 
3683
       0,   323,   324,     0,     0,   128,   325,   326,     0,   327,
 
3684
     129,   130,   131,   132,   328,   329,   330,     0,     0,     0,
 
3685
       0,   331,   135,   332,     0,     0,   333,     0,     0,     0,
 
3686
       0,   136,   137,     0,     0,     0,     0,   138,   139,   140,
 
3687
       0,     0,     0,   141,     0,   142,   143,     0,   144,   145,
 
3688
       0,     0,   146,     0,   147,   148,   334,   149,   335,   336,
 
3689
       0,   150,   151,   152,   153,   337,   154,     0,     0,     0,
 
3690
     155,   156,     0,   157,     0,   158,     0,   338,     0,   159,
 
3691
       0,   339,     0,     0,     0,   340,   161,   162,   163,   341,
 
3692
       0,   164,   165,     0,     0,     0,     0,     0,   342,   343,
 
3693
       0,     0,     0,     0,   166,     0,     0,     0,   167,     0,
 
3694
       0,   168,     0,     0,   344,   169,     0,     0,     0,     0,
 
3695
     170,     0,   171,     0,   172,     0,   173,   345,     0,     0,
 
3696
       0,     0,   174,   175,   346,   176,   177,   178,   347,     0,
 
3697
       0,   348,   181,   349,   182,     0,   183,   350,   351,   185,
 
3698
     186,   187,     0,     0,     0,   188,   189,   190,   352,   353,
 
3699
     191,   354,   355,     0,   192,   193,     0,   194,   195,   196,
 
3700
     197,     0,     0,     0,     0,     0,     0,     0,     0,   198,
 
3701
     199,   200,   356,     0,   201,     0,   202,   203,   357,   205,
 
3702
       0,     0,   206,     0,     0,     0,   207,     0,     0,     0,
 
3703
     208,   358,   359,     0,   209,     0,   360,     0,   361,   211,
 
3704
     212,   213,   214,   215,   362,   217,     0,   363,   219,     0,
 
3705
       0,     0,   220,   221,   222,   223,     0,     0,     0,   224,
 
3706
       0,   225,   226,   227,     0,     0,     0,     0,     0,   228,
 
3707
       0,     0,     0,     0,   229,   230,   364,   365,   231,   232,
 
3708
       0,     0,   233,   366,   235,   367,   368,   236,   237,   238,
 
3709
     369,   239,   240,     0,     0,   241,     0,   370,   242,     0,
 
3710
     371,   372,   373,     0,     0,   246,   374,   375,   376,   248,
 
3711
     249,   377,   250,   251,     0,     0,     0,   252,     0,     0,
 
3712
       0,   378,     0,     0,   379,   380,   381,   254,     0,     0,
 
3713
     255,   382,     0,   383,   256,   257,     0,     0,     0,     0,
 
3714
     258,     0,     0,     0,   384,   385,   386,     0,     0,     0,
 
3715
     517,     0,     0,     0,   388,     0,   389,   390,    95,     0,
 
3716
     314,    97,    98,   788,     0,     0,     0,   789,     0,     0,
 
3717
       0,   100,   101,   102,   315,     0,   104,     0,     0,   316,
 
3718
     317,   105,     0,   106,   107,   108,   109,     0,   110,     0,
 
3719
     111,     0,     0,   112,   318,   319,   113,     0,   320,   114,
 
3720
       0,   115,   321,     0,   322,   118,     0,   119,   120,   121,
 
3721
     122,   123,   124,     0,   125,   126,     0,   127,     0,   323,
 
3722
     324,     0,     0,   128,   325,   326,     0,   327,   129,   130,
 
3723
     131,   132,   328,   329,   330,     0,     0,     0,     0,   331,
 
3724
     135,   332,     0,     0,   333,     0,     0,     0,     0,   136,
 
3725
     137,     0,     0,     0,     0,   138,   139,   140,     0,     0,
 
3726
       0,   141,     0,   142,   143,     0,   144,   145,     0,     0,
 
3727
     146,     0,   147,   148,   334,   149,   335,   336,     0,   150,
 
3728
     151,   152,   153,   337,   154,     0,     0,     0,   155,   156,
 
3729
       0,   157,     0,   158,     0,   338,     0,   159,     0,   339,
 
3730
       0,     0,     0,   340,   161,   162,   163,   341,     0,   164,
 
3731
     165,     0,     0,     0,     0,     0,   342,   343,     0,     0,
 
3732
       0,     0,   166,     0,     0,     0,   167,     0,     0,   168,
 
3733
       0,     0,   344,   169,     0,     0,     0,     0,   170,     0,
 
3734
     171,     0,   172,     0,   173,   345,     0,     0,     0,     0,
 
3735
     174,   175,   346,   176,   177,   178,   347,     0,     0,   348,
 
3736
     181,   349,   182,     0,   183,   350,   351,   185,   186,   187,
 
3737
       0,     0,     0,   188,   189,   190,     0,   353,   191,   354,
 
3738
     355,     0,   192,   193,     0,   194,   195,   196,   197,     0,
 
3739
       0,     0,     0,     0,     0,     0,     0,   198,   199,   200,
 
3740
     356,     0,   201,     0,   202,   203,   357,   205,     0,     0,
 
3741
     206,     0,     0,     0,   207,     0,     0,     0,   208,   358,
 
3742
     359,     0,   209,     0,   360,     0,   361,   211,   212,   213,
 
3743
     214,   215,   362,   217,     0,   363,   219,     0,     0,     0,
 
3744
     220,   221,   222,   223,     0,     0,     0,   224,     0,   225,
 
3745
     226,   227,     0,     0,     0,     0,     0,   228,     0,     0,
 
3746
       0,     0,   229,   230,   364,   365,   231,   232,     0,     0,
 
3747
     233,   366,   235,   367,   368,   236,   237,   238,   369,   239,
 
3748
     240,     0,     0,   241,     0,   370,   242,     0,   371,   372,
 
3749
     373,     0,     0,   246,   374,   375,   376,   248,   249,   377,
 
3750
     250,   251,     0,     0,     0,   252,     0,     0,     0,   378,
 
3751
       0,     0,   379,   380,   381,   254,     0,     0,   255,   382,
 
3752
       0,   383,   256,   257,     0,     0,     0,     0,   258,     0,
 
3753
       0,     0,   384,   385,   386,     0,     0,    95,   387,   314,
 
3754
      97,    98,   388,     0,   389,   390,    99,     0,     0,     0,
 
3755
     100,   101,   102,   315,     0,   104,     0,     0,   316,   317,
 
3756
     105,     0,   106,   107,   108,   109,     0,   110,     0,   111,
 
3757
       0,     0,   112,   318,   319,   113,     0,   320,   114,     0,
 
3758
     115,   321,     0,   322,   118,     0,   119,   120,   121,   122,
 
3759
     123,   124,     0,   125,   126,     0,   127,     0,   323,   324,
 
3760
       0,     0,   128,   325,   326,     0,   327,   129,   130,   131,
 
3761
     132,   328,   329,   330,     0,     0,     0,     0,   331,   135,
 
3762
     332,     0,     0,   333,     0,     0,     0,     0,   136,   137,
 
3763
       0,     0,     0,     0,   138,   139,   140,     0,     0,     0,
 
3764
     141,     0,   142,   143,     0,   144,   145,     0,     0,   146,
 
3765
       0,   147,   148,   334,   149,   335,   336,     0,   150,   151,
 
3766
     152,   153,   337,   154,     0,     0,     0,   155,   156,     0,
 
3767
     157,     0,   158,     0,   338,     0,   159,     0,   339,     0,
 
3768
       0,     0,   340,   161,   162,   163,   341,     0,   164,   165,
 
3769
       0,     0,     0,     0,     0,   342,  1074,     0,     0,     0,
 
3770
       0,   166,     0,     0,     0,   167,     0,     0,   168,     0,
 
3771
       0,   344,   169,     0,     0,     0,     0,   170,     0,   171,
 
3772
       0,   172,     0,   173,   345,     0,     0,     0,     0,   174,
 
3773
     175,   346,   176,   177,   178,   347,     0,     0,   348,   181,
 
3774
     349,   182,     0,   183,   350,   351,   185,   186,   187,     0,
 
3775
       0,     0,   188,   189,   190,   352,   353,   191,   354,   355,
 
3776
       0,   192,   193,     0,   194,   195,   196,   197,     0,     0,
 
3777
       0,     0,     0,     0,     0,     0,   198,   199,   200,   356,
 
3778
       0,   201,     0,   202,   203,   357,   205,     0,     0,   206,
 
3779
       0,     0,     0,   207,     0,     0,     0,   208,   358,   359,
 
3780
       0,   209,     0,   360,     0,   361,   211,   212,   213,   214,
 
3781
     215,   362,   217,     0,   363,   219,     0,     0,     0,   220,
 
3782
     221,   222,   223,     0,     0,     0,   224,     0,   225,   226,
 
3783
     227,     0,     0,     0,     0,     0,   228,     0,     0,     0,
 
3784
       0,   229,   230,   364,   365,   231,   232,     0,     0,   233,
 
3785
     366,   235,   367,   368,   236,   237,   238,   369,   239,   240,
 
3786
       0,     0,   241,     0,   370,   242,     0,   371,   372,   373,
 
3787
       0,     0,   246,   374,   375,   376,   248,   249,   377,   250,
 
3788
     251,     0,     0,     0,   252,     0,     0,     0,   378,     0,
 
3789
       0,   379,   380,   381,   254,     0,     0,   255,   382,     0,
 
3790
     383,   256,   257,     0,     0,     0,     0,   258,     0,     0,
 
3791
       0,   384,   385,   386,     0,     0,    95,   387,   314,    97,
 
3792
      98,   388,     0,   389,   390,    99,     0,     0,     0,   100,
 
3793
     101,   102,   315,     0,   104,     0,     0,   316,   317,   105,
 
3794
       0,   106,   107,   108,   109,     0,   110,     0,   111,     0,
 
3795
       0,   112,   318,   319,   113,     0,   320,   114,     0,   115,
 
3796
     321,     0,   322,   118,     0,   119,   120,   121,   122,   123,
 
3797
     124,     0,   125,   126,     0,   127,     0,   323,   324,     0,
 
3798
       0,   128,   325,   326,     0,   327,   129,   130,   131,   132,
 
3799
     328,   329,   330,     0,     0,     0,     0,   331,   135,   332,
 
3800
       0,     0,   333,     0,     0,     0,     0,   136,   137,     0,
 
3801
       0,     0,     0,   138,   139,   140,     0,     0,     0,   141,
 
3802
       0,   142,   143,     0,   144,   145,     0,     0,   146,     0,
 
3803
     147,   148,   334,   149,   335,   336,     0,   150,   151,   152,
 
3804
     153,   337,   154,     0,     0,     0,   155,   156,     0,   157,
 
3805
       0,   158,     0,   338,     0,   159,     0,   339,     0,     0,
 
3806
       0,   340,   161,   162,   163,   341,     0,   164,   165,     0,
 
3807
       0,     0,     0,     0,   342,  1109,     0,     0,     0,     0,
 
3808
     166,     0,     0,     0,   167,     0,     0,   168,     0,     0,
 
3809
     344,   169,     0,     0,     0,     0,   170,     0,   171,     0,
 
3810
     172,     0,   173,   345,     0,     0,     0,     0,   174,   175,
 
3811
     346,   176,   177,   178,   347,     0,     0,   348,   181,   349,
 
3812
     182,     0,   183,   350,   351,   185,   186,   187,     0,     0,
 
3813
       0,   188,   189,   190,   352,   353,   191,   354,   355,     0,
 
3814
     192,   193,     0,   194,   195,   196,   197,     0,     0,     0,
 
3815
       0,     0,     0,     0,     0,   198,   199,   200,   356,     0,
 
3816
     201,     0,   202,   203,   357,   205,     0,     0,   206,     0,
 
3817
       0,     0,   207,     0,     0,     0,   208,   358,   359,     0,
 
3818
     209,     0,   360,     0,   361,   211,   212,   213,   214,   215,
 
3819
     362,   217,     0,   363,   219,     0,     0,     0,   220,   221,
 
3820
     222,   223,     0,     0,     0,   224,     0,   225,   226,   227,
 
3821
       0,     0,     0,     0,     0,   228,     0,     0,     0,     0,
 
3822
     229,   230,   364,   365,   231,   232,     0,     0,   233,   366,
 
3823
     235,   367,   368,   236,   237,   238,   369,   239,   240,     0,
 
3824
       0,   241,     0,   370,   242,     0,   371,   372,   373,     0,
 
3825
       0,   246,   374,   375,   376,   248,   249,   377,   250,   251,
 
3826
       0,     0,     0,   252,     0,     0,     0,   378,     0,     0,
 
3827
     379,   380,   381,   254,     0,     0,   255,   382,     0,   383,
 
3828
     256,   257,     0,     0,     0,     0,   258,     0,     0,     0,
 
3829
     384,   385,   386,     0,     0,    95,   387,   314,    97,    98,
 
3830
     388,     0,   389,   390,    99,     0,     0,     0,   100,   101,
 
3831
     102,   315,     0,   104,     0,     0,   316,   317,   105,     0,
 
3832
     106,   107,   108,   109,     0,   110,     0,   111,     0,     0,
 
3833
     112,   318,   319,   113,     0,   320,   114,     0,   115,   321,
 
3834
       0,   322,   118,     0,   119,   120,   121,   122,   123,   124,
 
3835
       0,   125,   126,     0,   127,     0,   323,   324,     0,     0,
 
3836
     128,   325,   326,     0,   327,   129,   130,   131,   132,   328,
 
3837
     329,   330,     0,     0,     0,     0,   331,   135,   332,     0,
 
3838
       0,  1333,     0,     0,     0,     0,   136,   137,     0,     0,
 
3839
       0,     0,   138,   139,   140,     0,     0,     0,   141,     0,
 
3840
     142,   143,     0,   144,   145,     0,     0,   146,     0,   147,
 
3841
     148,   334,   149,   335,   336,     0,   150,   151,   152,   153,
 
3842
     337,   154,     0,     0,     0,   155,   156,     0,   157,     0,
 
3843
     158,     0,   338,     0,   159,     0,   339,     0,     0,     0,
 
3844
     340,   161,   162,   163,   341,     0,   164,   165,     0,     0,
 
3845
       0,     0,     0,   342,   343,     0,     0,     0,     0,   166,
 
3846
       0,     0,     0,   167,     0,     0,   168,     0,     0,   344,
 
3847
     169,     0,     0,     0,     0,   170,     0,   171,     0,   172,
 
3848
       0,   173,   345,     0,     0,     0,     0,   174,   175,   346,
 
3849
     176,   177,   178,   347,     0,     0,   348,   181,   349,   182,
 
3850
       0,   183,   350,   351,   185,   186,   187,     0,     0,     0,
 
3851
     188,   189,   190,   352,   353,   191,   354,   355,     0,   192,
 
3852
     193,     0,   194,   195,   196,   197,     0,     0,     0,     0,
 
3853
       0,     0,     0,     0,   198,   199,   200,   356,     0,   201,
 
3854
       0,   202,   203,   357,   205,     0,     0,   206,     0,     0,
 
3855
       0,   207,     0,     0,     0,   208,   358,   359,     0,   209,
 
3856
       0,   360,     0,   361,   211,   212,   213,   214,   215,   362,
 
3857
     217,     0,   363,   219,     0,     0,     0,   220,   221,   222,
 
3858
     223,     0,     0,     0,   224,     0,   225,   226,   227,     0,
 
3859
       0,     0,     0,     0,   228,     0,     0,     0,     0,   229,
 
3860
     230,   364,   365,   231,   232,     0,     0,   233,   366,   235,
 
3861
     367,   368,   236,   237,   238,   369,   239,   240,     0,     0,
 
3862
     241,     0,   370,   242,     0,   371,   372,   373,     0,     0,
 
3863
     246,   374,   375,   376,   248,   249,   377,   250,   251,     0,
 
3864
       0,     0,   252,     0,     0,     0,   378,     0,     0,   379,
 
3865
     380,   381,   254,     0,     0,   255,   382,     0,   383,   256,
 
3866
     257,     0,     0,     0,     0,   258,     0,     0,     0,   384,
 
3867
     385,   386,     0,     0,    95,   387,   314,    97,    98,   388,
 
3868
       0,   389,   390,    99,     0,     0,     0,   100,   101,   102,
 
3869
     315,     0,   104,     0,     0,   316,   317,   105,     0,   106,
 
3870
     107,   108,   109,     0,   110,     0,   111,     0,     0,   112,
 
3871
     318,   319,   113,     0,   320,   114,     0,   115,   321,     0,
 
3872
     322,   118,     0,   119,   120,   121,   122,   123,   124,     0,
 
3873
     125,   126,     0,   127,     0,   323,   324,     0,     0,   128,
 
3874
     325,   326,     0,   327,   129,   130,   131,   132,   328,   329,
 
3875
     330,     0,     0,     0,     0,   331,   135,   332,     0,     0,
 
3876
     333,     0,     0,     0,     0,   136,   137,     0,     0,     0,
 
3877
       0,   138,   139,   140,     0,     0,     0,   141,     0,   142,
 
3878
     143,     0,   144,   145,     0,     0,   146,     0,   147,   148,
 
3879
     334,   149,   335,   336,     0,   150,   151,   152,   153,   337,
 
3880
     154,     0,     0,     0,   155,   156,     0,   157,     0,   158,
 
3881
       0,   338,     0,   159,     0,   339,     0,     0,     0,   340,
 
3882
     161,   162,   163,   341,     0,   164,   165,     0,     0,     0,
 
3883
       0,     0,   342,   343,     0,     0,     0,     0,   166,     0,
 
3884
       0,     0,   167,     0,     0,   168,     0,     0,   344,   169,
 
3885
       0,     0,     0,     0,   170,     0,   171,     0,   172,     0,
 
3886
     173,   345,     0,     0,     0,     0,   174,   175,   346,   176,
 
3887
     177,   178,   347,     0,     0,   348,   181,   349,   182,     0,
 
3888
     183,   350,   351,   185,   186,   187,     0,     0,     0,   188,
 
3889
     189,   190,     0,   353,   191,   354,   355,     0,   192,   193,
 
3890
       0,   194,   195,   196,   197,     0,     0,     0,     0,     0,
 
3891
       0,     0,     0,   198,   199,   200,   356,     0,   201,     0,
 
3892
     202,   203,   357,   205,     0,     0,   206,     0,     0,     0,
 
3893
     207,     0,     0,     0,   208,   358,   359,     0,   209,     0,
 
3894
     360,     0,   361,   211,   212,   213,   214,   215,   362,   217,
 
3895
       0,   363,   219,     0,     0,     0,   220,   221,   222,   223,
 
3896
       0,     0,     0,   224,     0,   225,   226,   227,     0,     0,
 
3897
       0,     0,     0,   228,     0,     0,     0,     0,   229,   230,
 
3898
     364,   365,   231,   232,     0,     0,   233,   366,   235,   367,
 
3899
     368,   236,   237,   238,   369,   239,   240,     0,     0,   241,
 
3900
       0,   370,   242,     0,   371,   372,   373,     0,     0,   246,
 
3901
     374,   375,   376,   248,   249,   377,   250,   251,     0,     0,
 
3902
       0,   252,     0,     0,     0,   378,     0,     0,   379,   380,
 
3903
     381,   254,     0,     0,   255,   382,     0,   383,   256,   257,
 
3904
       0,     0,     0,     0,   258,     0,     0,     0,   384,   385,
 
3905
     386,     0,     0,    95,   387,   314,    97,    98,   388,     0,
 
3906
     389,   390,    99,     0,     0,     0,   100,   101,   102,   315,
 
3907
       0,   104,     0,     0,   316,   317,   105,     0,   106,   107,
 
3908
     108,   109,     0,   110,     0,   111,     0,     0,   112,   318,
 
3909
     319,   113,     0,   320,   114,     0,   115,   321,     0,   322,
 
3910
     118,     0,   119,   120,   121,   122,   123,   124,     0,   125,
 
3911
     126,     0,   127,     0,   323,   324,     0,     0,   128,   325,
 
3912
     326,     0,   327,   129,   130,   131,   132,   328,   329,   330,
 
3913
       0,     0,     0,     0,   331,   135,   332,     0,     0,   333,
 
3914
       0,     0,     0,     0,   136,   137,     0,     0,     0,     0,
 
3915
     138,   139,   140,     0,     0,     0,   141,     0,   142,   143,
 
3916
       0,   144,   145,     0,     0,   146,     0,   147,   148,   334,
 
3917
     149,   335,   336,     0,   150,   151,   152,   153,   337,   154,
 
3918
       0,     0,     0,   155,   156,     0,   157,     0,   158,     0,
 
3919
     338,     0,   159,     0,   339,     0,     0,     0,   340,   161,
 
3920
     162,   163,   341,     0,   164,   165,     0,     0,     0,     0,
 
3921
       0,   342,   797,     0,     0,     0,     0,   166,     0,     0,
 
3922
       0,   167,     0,     0,   168,     0,     0,   344,   169,     0,
 
3923
       0,     0,     0,   170,     0,   171,     0,   172,     0,   173,
 
3924
     345,     0,     0,     0,     0,   174,   175,   346,   176,   177,
 
3925
     178,   347,     0,     0,   348,   181,   349,   182,     0,   183,
 
3926
     350,   351,   185,   186,   187,     0,     0,     0,   188,   189,
 
3927
     190,     0,   353,   191,   354,   355,     0,   192,   193,     0,
 
3928
     194,   195,   196,   197,     0,     0,     0,     0,     0,     0,
 
3929
       0,     0,   198,   199,   200,   356,     0,   201,     0,   202,
 
3930
     203,   357,   205,     0,     0,   206,     0,     0,     0,   207,
 
3931
       0,     0,     0,   208,   358,   359,     0,   209,     0,   360,
 
3932
       0,   361,   211,   212,   213,   214,   215,   362,   217,     0,
 
3933
     363,   219,     0,     0,     0,   220,   221,   222,   223,     0,
 
3934
       0,     0,   224,     0,   225,   226,   227,     0,     0,     0,
 
3935
       0,     0,   228,     0,     0,     0,     0,   229,   230,   364,
 
3936
     365,   231,   232,     0,     0,   233,   366,   235,   367,   368,
 
3937
     236,   237,   238,   369,   239,   240,     0,     0,   241,     0,
 
3938
     370,   242,     0,   371,   372,   373,     0,     0,   246,   374,
 
3939
     375,   376,   248,   249,   377,   250,   251,     0,     0,     0,
 
3940
     252,     0,     0,     0,   378,     0,     0,   379,   380,   381,
 
3941
     254,     0,     0,   255,   382,     0,   383,   256,   257,     0,
 
3942
       0,     0,     0,   258,     0,     0,     0,   384,   385,   386,
 
3943
       0,     0,    95,   387,   314,    97,    98,   388,     0,   389,
 
3944
     390,    99,     0,     0,     0,   100,   101,   102,   315,     0,
 
3945
     104,     0,     0,   316,   317,   105,     0,   106,   107,   108,
 
3946
     109,     0,   110,     0,   111,     0,     0,   112,   318,   319,
 
3947
     113,     0,   320,   114,     0,   115,   321,     0,   322,   118,
 
3948
       0,   119,   120,   121,   122,   123,   124,     0,   125,   126,
 
3949
       0,   127,     0,   323,   324,     0,     0,   128,   325,   326,
 
3950
       0,   327,   129,   130,   131,   132,   328,   329,   330,     0,
 
3951
       0,     0,     0,   331,   135,   332,     0,     0,   333,     0,
 
3952
       0,     0,     0,   136,   137,     0,     0,     0,     0,   138,
 
3953
     139,   140,     0,     0,     0,   141,     0,   142,   143,     0,
 
3954
     144,   145,     0,     0,   146,     0,   147,   148,   334,   149,
 
3955
     335,   336,     0,   150,   151,   152,   153,   337,   154,     0,
 
3956
       0,     0,   155,   156,     0,   157,     0,   158,     0,   338,
 
3957
       0,   159,     0,   339,     0,     0,     0,   340,   161,   162,
 
3958
     163,   341,     0,   164,   165,     0,     0,     0,     0,     0,
 
3959
     342,   799,     0,     0,     0,     0,   166,     0,     0,     0,
 
3960
     167,     0,     0,   168,     0,     0,   344,   169,     0,     0,
 
3961
       0,     0,   170,     0,   171,     0,   172,     0,   173,   345,
 
3962
       0,     0,     0,     0,   174,   175,   346,   176,   177,   178,
 
3963
     347,     0,     0,   348,   181,   349,   182,     0,   183,   350,
 
3964
     351,   185,   186,   187,     0,     0,     0,   188,   189,   190,
 
3965
       0,   353,   191,   354,   355,     0,   192,   193,     0,   194,
 
3966
     195,   196,   197,     0,     0,     0,     0,     0,     0,     0,
 
3967
       0,   198,   199,   200,   356,     0,   201,     0,   202,   203,
 
3968
     357,   205,     0,     0,   206,     0,     0,     0,   207,     0,
 
3969
       0,     0,   208,   358,   359,     0,   209,     0,   360,     0,
 
3970
     361,   211,   212,   213,   214,   215,   362,   217,     0,   363,
 
3971
     219,     0,     0,     0,   220,   221,   222,   223,     0,     0,
 
3972
       0,   224,     0,   225,   226,   227,     0,     0,     0,     0,
 
3973
       0,   228,     0,     0,     0,     0,   229,   230,   364,   365,
 
3974
     231,   232,     0,     0,   233,   366,   235,   367,   368,   236,
 
3975
     237,   238,   369,   239,   240,     0,     0,   241,     0,   370,
 
3976
     242,     0,   371,   372,   373,     0,     0,   246,   374,   375,
 
3977
     376,   248,   249,   377,   250,   251,     0,     0,     0,   252,
 
3978
       0,     0,     0,   378,     0,     0,   379,   380,   381,   254,
 
3979
       0,     0,   255,   382,     0,   383,   256,   257,     0,     0,
 
3980
       0,     0,   258,     0,     0,     0,   384,   385,   386,     0,
 
3981
       0,    95,   387,    96,    97,    98,   388,     0,   389,   390,
 
3982
      99,     0,     0,     0,   100,   101,   102,   103,     0,   104,
 
3983
       0,     0,     0,     0,   105,     0,   106,   107,   108,   109,
 
3984
       0,   110,     0,   111,     0,     0,   112,     0,     0,   113,
 
3985
       0,     0,   114,     0,   115,   116,     0,   117,   118,     0,
 
3986
     119,   120,   121,   122,   123,   124,     0,   125,   126,     0,
 
3987
     127,     0,     0,     0,     0,     0,   128,     0,     0,     0,
 
3988
       0,   129,   130,   131,   132,     0,     0,   133,     0,     0,
 
3989
       0,     0,   134,   135,     0,     0,     0,     0,     0,     0,
 
3990
       0,     0,   136,   137,     0,     0,     0,     0,   138,   139,
 
3991
     140,     0,     0,     0,   141,     0,   142,   143,     0,   144,
 
3992
     145,     0,     0,   146,     0,   147,   148,     0,   149,     0,
 
3993
       0,     0,   150,   151,   152,   153,     0,   154,     0,     0,
 
3994
       0,   155,   156,     0,   157,     0,   158,     0,     0,     0,
 
3995
     159,     0,     0,     0,     0,     0,   160,   161,   162,   163,
 
3996
       0,     0,   164,   165,     0,     0,     0,     0,     0,     0,
 
3997
       0,     0,     0,     0,     0,   166,     0,     0,     0,   167,
 
3998
       0,     0,   168,     0,     0,     0,   169,   772,     0,     0,
 
3999
       0,   170,     0,   171,     0,   172,     0,   173,     0,     0,
 
4000
       0,     0,     0,   174,   175,     0,   176,   177,   178,   179,
 
4001
       0,     0,   180,   181,     0,   182,     0,   183,     0,   184,
 
4002
     185,   186,   187,     0,     0,     0,   188,   189,   190,     0,
 
4003
       0,   191,     0,     0,     0,   192,   193,     0,   194,   195,
 
4004
     196,   197,     0,     0,     0,     0,     0,     0,     0,     0,
 
4005
     198,   199,   200,     0,     0,   201,     0,   202,   203,   204,
 
4006
     205,     0,     0,   206,     0,     0,     0,   207,     0,     0,
 
4007
       0,   208,     0,     0,     0,   209,     0,   210,     0,     0,
 
4008
     211,   212,   213,   214,   215,   216,   217,     0,   218,   219,
 
4009
       0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
 
4010
     224,     0,   225,   226,   227,     0,     0,     0,     0,     0,
 
4011
     228,     0,     0,     0,     0,   229,   230,     0,     0,   231,
 
4012
     232,     0,     0,   233,   234,   235,     0,     0,   236,   237,
 
4013
     238,     0,   239,   240,     0,     0,   241,     0,   773,   242,
 
4014
       0,   243,   244,   245,     0,     0,   246,     0,     0,   247,
 
4015
     248,   249,     0,   250,   251,     0,     0,     0,   252,     0,
 
4016
       0,     0,   253,     0,     0,     0,     0,     0,   254,     0,
 
4017
       0,   255,     0,     0,     0,   256,   257,     0,     0,     0,
 
4018
       0,   258,     0,     0,     0,   259,    95,     0,    96,    97,
 
4019
      98,     0,     0,     0,     0,    99,     0,     0,   774,   100,
 
4020
     101,   102,   103,     0,   104,     0,     0,     0,     0,   105,
 
4021
       0,   106,   107,   108,   109,     0,   110,     0,   111,     0,
 
4022
       0,   112,     0,     0,   113,     0,     0,   114,     0,   115,
 
4023
     116,     0,   117,   118,     0,   119,   120,   121,   122,   123,
 
4024
     124,     0,   125,   126,     0,   127,     0,     0,     0,     0,
 
4025
       0,   128,     0,     0,     0,     0,   129,   130,   131,   132,
 
4026
       0,     0,   133,     0,     0,     0,     0,   134,   135,     0,
 
4027
       0,     0,     0,     0,     0,     0,     0,   136,   137,     0,
 
4028
       0,     0,     0,   138,   139,   140,     0,     0,     0,   141,
 
4029
       0,   142,   143,     0,   144,   145,     0,     0,   146,     0,
 
4030
     147,   148,     0,   149,     0,     0,     0,   150,   151,   152,
 
4031
     153,     0,   154,     0,     0,     0,   155,   156,     0,   157,
 
4032
       0,   158,     0,     0,     0,   159,     0,     0,     0,     0,
 
4033
       0,   160,   161,   162,   163,     0,     0,   164,   165,     0,
 
4034
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
4035
     166,     0,     0,     0,   167,     0,     0,   168,     0,     0,
 
4036
       0,   169,   772,     0,     0,     0,   170,     0,   171,     0,
 
4037
     172,     0,   173,     0,     0,     0,     0,     0,   174,   175,
 
4038
       0,   176,   177,   178,   179,     0,     0,   180,   181,     0,
 
4039
     182,     0,   183,     0,   184,   185,   186,   187,     0,     0,
 
4040
       0,   188,   189,   190,     0,     0,   191,     0,     0,     0,
 
4041
     192,   193,     0,   194,   195,   196,   197,     0,     0,     0,
 
4042
       0,     0,     0,     0,     0,   198,   199,   200,     0,     0,
 
4043
     201,     0,   202,   203,   204,   205,     0,     0,   206,     0,
 
4044
       0,     0,   207,     0,     0,     0,   208,     0,     0,     0,
 
4045
     209,     0,   210,     0,     0,   211,   212,   213,   214,   215,
 
4046
     216,   217,     0,   218,   219,     0,     0,     0,   220,   221,
 
4047
     222,   223,     0,     0,     0,   224,     0,   225,   226,   227,
 
4048
       0,     0,     0,     0,     0,   228,     0,     0,     0,     0,
 
4049
     229,   230,     0,     0,   231,   232,     0,     0,   233,   234,
 
4050
     235,     0,     0,   236,   237,   238,     0,   239,   240,     0,
 
4051
       0,   241,     0,   773,   242,     0,   243,   244,   245,     0,
 
4052
       0,   246,     0,     0,   247,   248,   249,     0,   250,   251,
 
4053
       0,     0,     0,   252,     0,     0,     0,   253,     0,     0,
 
4054
       0,     0,     0,   254,     0,     0,   255,     0,     0,     0,
 
4055
     256,   257,     0,     0,     0,     0,   258,     0,     0,     0,
 
4056
     259,    95,     0,    96,    97,    98,     0,     0,     0,     0,
 
4057
      99,     0,     0,  1192,   100,   101,   102,   103,     0,   104,
 
4058
       0,     0,     0,     0,   105,     0,   106,   107,   108,   109,
 
4059
       0,   110,     0,   111,     0,     0,   112,     0,     0,   113,
 
4060
       0,     0,   114,     0,   115,   116,     0,   117,   118,     0,
 
4061
     119,   120,   121,   122,   123,   124,     0,   125,   126,     0,
 
4062
     127,     0,     0,     0,     0,     0,   128,     0,     0,     0,
 
4063
       0,   129,   130,   131,   132,     0,     0,   133,     0,     0,
 
4064
       0,     0,   134,   135,     0,     0,     0,     0,     0,     0,
 
4065
       0,     0,   136,   137,     0,     0,     0,     0,   138,   139,
 
4066
     140,     0,     0,     0,   141,     0,   142,   143,     0,   144,
 
4067
     145,     0,     0,   146,     0,   147,   148,     0,   149,     0,
 
4068
       0,     0,   150,   151,   152,   153,     0,   154,     0,     0,
 
4069
       0,   155,   156,     0,   157,     0,   158,     0,     0,     0,
 
4070
     159,     0,     0,     0,     0,     0,   160,   161,   162,   163,
 
4071
       0,     0,   164,   165,     0,     0,     0,     0,     0,     0,
 
4072
       0,     0,     0,     0,     0,   166,     0,     0,     0,   167,
 
4073
       0,     0,   168,     0,     0,     0,   169,     0,     0,     0,
 
4074
       0,   170,     0,   171,     0,   172,     0,   173,     0,     0,
 
4075
       0,     0,     0,   174,   175,     0,   176,   177,   178,   179,
 
4076
       0,     0,   180,   181,     0,   182,     0,   183,     0,   184,
 
4077
     185,   186,   187,     0,     0,     0,   188,   189,   190,     0,
 
4078
       0,   191,     0,     0,     0,   192,   193,     0,   194,   195,
 
4079
     196,   197,     0,     0,     0,     0,     0,     0,     0,     0,
 
4080
     198,   199,   200,     0,     0,   201,     0,   202,   203,   204,
 
4081
     205,     0,     0,   206,     0,     0,     0,   207,     0,     0,
 
4082
       0,   208,     0,     0,     0,   209,     0,   210,     0,     0,
 
4083
     211,   212,   213,   214,   215,   216,   217,     0,   218,   219,
 
4084
       0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
 
4085
     224,     0,   225,   226,   227,     0,     0,     0,     0,     0,
 
4086
     228,     0,     0,     0,     0,   229,   230,     0,     0,   231,
 
4087
     232,     0,     0,   233,   234,   235,     0,     0,   236,   237,
 
4088
     238,     0,   239,   240,     0,     0,   241,     0,     0,   242,
 
4089
       0,   243,   244,   245,     0,     0,   246,     0,     0,   247,
 
4090
     248,   249,     0,   250,   251,     0,     0,     0,   252,     0,
 
4091
       0,     0,   253,     0,     0,     0,     0,     0,   254,     0,
 
4092
       0,   255,     0,     0,     0,   256,   257,     0,     0,     0,
 
4093
       0,   258,     0,     0,     0,   259,    95,     0,    96,    97,
 
4094
      98,     0,  1935,     0,     0,    99,     0,   389,  1936,   100,
 
4095
     101,   102,   103,     0,   104,     0,     0,     0,     0,   105,
 
4096
       0,   106,   107,   108,   109,     0,   110,     0,   111,     0,
 
4097
       0,   112,     0,     0,   113,     0,     0,   114,     0,   115,
 
4098
     116,     0,   117,   118,     0,   119,   120,   121,   122,   123,
 
4099
     124,     0,   125,   126,     0,   127,     0,     0,     0,     0,
 
4100
       0,   128,     0,     0,     0,     0,   129,   130,   131,   132,
 
4101
       0,     0,   133,     0,     0,     0,     0,   134,   135,     0,
 
4102
       0,     0,     0,     0,     0,     0,     0,   136,   137,     0,
 
4103
       0,     0,     0,   138,   139,   140,     0,     0,     0,   141,
 
4104
       0,   142,   143,     0,   144,   145,     0,     0,   146,     0,
 
4105
     147,   148,     0,   149,     0,     0,     0,   150,   151,   152,
 
4106
     153,     0,   154,     0,     0,     0,   155,   156,     0,   157,
 
4107
       0,   158,     0,     0,     0,   159,     0,     0,     0,     0,
 
4108
       0,   160,   161,   162,   163,     0,     0,   164,   165,     0,
 
4109
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
4110
     166,     0,     0,     0,   167,     0,     0,   168,     0,     0,
 
4111
       0,   169,     0,     0,     0,     0,   170,     0,   171,     0,
 
4112
     172,     0,   173,     0,     0,     0,     0,     0,   174,   175,
 
4113
       0,   176,   177,   178,   179,     0,     0,   180,   181,     0,
 
4114
     182,     0,   183,     0,   184,   185,   186,   187,     0,     0,
 
4115
       0,   188,   189,   190,     0,     0,   191,     0,     0,     0,
 
4116
     192,   193,     0,   194,   195,   196,   197,     0,     0,     0,
 
4117
       0,     0,     0,     0,     0,   198,   199,   200,     0,     0,
 
4118
     201,     0,   202,   203,   204,   205,     0,     0,   206,     0,
 
4119
       0,     0,   207,     0,     0,     0,   208,     0,     0,     0,
 
4120
     209,     0,   210,     0,     0,   211,   212,   213,   214,   215,
 
4121
     216,   217,     0,   218,   219,     0,     0,     0,   220,   221,
 
4122
     222,   223,     0,     0,     0,   224,     0,   225,   226,   227,
 
4123
       0,     0,     0,     0,     0,   228,     0,     0,     0,     0,
 
4124
     229,   230,     0,     0,   231,   232,     0,     0,   233,   234,
 
4125
     235,     0,     0,   236,   237,   238,     0,   239,   240,     0,
 
4126
       0,   241,     0,     0,   242,     0,   243,   244,   245,     0,
 
4127
       0,   246,     0,     0,   247,   248,   249,     0,   250,   251,
 
4128
       0,     0,     0,   252,     0,     0,     0,   253,     0,     0,
 
4129
       0,     0,     0,   254,     0,     0,   255,     0,     0,     0,
 
4130
     256,   257,     0,     0,     0,     0,   258,     0,     0,     0,
 
4131
     259,    95,     0,    96,    97,    98,     0,     0,     0,     0,
 
4132
      99,     0,   389,  1936,   100,   101,   102,   103,     0,   104,
 
4133
       0,     0,     0,     0,   105,     0,   106,   107,   108,   109,
 
4134
       0,   110,     0,   111,     0,     0,   112,     0,     0,   113,
 
4135
       0,     0,   114,     0,   115,   116,     0,   117,   118,     0,
 
4136
     119,   120,   121,   122,   123,   124,     0,   125,   126,  1209,
 
4137
     127,     0,     0,     0,     0,     0,   128,     0,     0,     0,
 
4138
       0,   129,   130,   131,   132,     0,     0,   133,     0,     0,
 
4139
       0,     0,   134,   135,     0,     0,     0,     0,     0,     0,
 
4140
       0,     0,   136,   137,     0,     0,     0,     0,   138,   139,
 
4141
     140,     0,     0,     0,   141,     0,   142,   143,     0,   144,
 
4142
     145,     0,     0,   146,     0,   147,   148,     0,   149,     0,
 
4143
       0,     0,   150,   151,   152,   153,     0,   154,     0,     0,
 
4144
       0,   155,   156,     0,   157,     0,   158,     0,     0,     0,
 
4145
     159,     0,     0,     0,     0,     0,   160,   161,   162,   163,
 
4146
       0,     0,   164,   165,  1210,     0,     0,     0,     0,     0,
 
4147
       0,     0,     0,     0,     0,   166,     0,     0,     0,   167,
 
4148
    1211,     0,   168,     0,     0,     0,   169,     0,  1251,     0,
 
4149
       0,   170,     0,   171,     0,   172,     0,   173,     0,     0,
 
4150
       0,     0,     0,   174,   175,     0,   176,   177,   178,   179,
 
4151
       0,     0,   180,   181,     0,   182,     0,   183,     0,   184,
 
4152
     185,   186,   187,     0,     0,     0,   188,   189,   190,     0,
 
4153
       0,   191,     0,     0,     0,   192,   193,     0,   194,   195,
 
4154
     196,   197,     0,     0,     0,     0,     0,     0,     0,     0,
 
4155
     198,   199,   200,     0,     0,   201,     0,   202,   203,   204,
 
4156
     205,     0,     0,   206,     0,     0,     0,   207,     0,     0,
 
4157
       0,   208,     0,     0,     0,   209,     0,   210,     0,     0,
 
4158
     211,   212,   213,   214,   215,   216,   217,     0,   218,   219,
 
4159
     813,     0,     0,   220,   221,   222,   223,     0,     0,     0,
 
4160
     224,     0,   225,   226,   227,     0,     0,     0,     0,     0,
 
4161
     228,     0,     0,     0,     0,   229,   230,     0,     0,   231,
 
4162
     232,     0,     0,   233,   234,   235,     0,     0,   236,   237,
 
4163
     238,     0,   239,   240,     0,     0,   241,     0,     0,   242,
 
4164
       0,   243,   244,   245,     0,     0,   246,     0,     0,   247,
 
4165
     248,   249,     0,   250,   251,     0,     0,     0,   252,     0,
 
4166
       0,     0,   253,     0,     0,     0,     0,     0,   254,     0,
 
4167
       0,   255,     0,     0,     0,   256,   257,     0,     0,     0,
 
4168
      95,   258,    96,    97,    98,   259,     0,     0,     0,    99,
 
4169
       0,     0,     0,   100,   101,   102,   103,  1245,   104,     0,
 
4170
       0,     0,     0,   105,     0,   106,   107,   108,   109,     0,
 
4171
     110,     0,   111,     0,     0,   112,     0,     0,   113,     0,
 
4172
       0,   114,     0,   115,   116,     0,   117,   118,     0,   119,
 
4173
     120,   121,   122,   123,   124,     0,   125,   126,  1209,   127,
 
4174
       0,     0,     0,     0,     0,   128,     0,     0,     0,     0,
 
4175
     129,   130,   131,   132,     0,     0,   133,     0,     0,     0,
 
4176
       0,   134,   135,     0,     0,     0,     0,     0,     0,     0,
 
4177
       0,   136,   137,     0,     0,     0,     0,   138,   139,   140,
 
4178
       0,     0,     0,   141,     0,   142,   143,     0,   144,   145,
 
4179
       0,     0,   146,     0,   147,   148,     0,   149,     0,     0,
 
4180
       0,   150,   151,   152,   153,     0,   154,     0,     0,     0,
 
4181
     155,   156,     0,   157,     0,   158,     0,     0,     0,   159,
 
4182
       0,     0,     0,     0,     0,   160,   161,   162,   163,     0,
 
4183
       0,   164,   165,  1210,     0,     0,     0,     0,     0,     0,
 
4184
       0,     0,     0,     0,   166,     0,     0,     0,   167,  1211,
 
4185
       0,   168,     0,     0,     0,   169,     0,     0,     0,     0,
 
4186
     170,     0,   171,     0,   172,     0,   173,     0,     0,     0,
 
4187
       0,     0,   174,   175,     0,   176,   177,   178,   179,     0,
 
4188
       0,   180,   181,     0,   182,     0,   183,     0,   184,   185,
 
4189
     186,   187,     0,     0,     0,   188,   189,   190,     0,     0,
 
4190
     191,     0,     0,     0,   192,   193,     0,   194,   195,   196,
 
4191
     197,     0,     0,     0,     0,     0,     0,     0,     0,   198,
 
4192
     199,   200,     0,     0,   201,     0,   202,   203,   204,   205,
 
4193
       0,     0,   206,     0,     0,     0,   207,     0,     0,     0,
 
4194
     208,     0,     0,     0,   209,     0,   210,     0,     0,   211,
 
4195
     212,   213,   214,   215,   216,   217,     0,   218,   219,     0,
 
4196
       0,     0,   220,   221,   222,   223,     0,     0,     0,   224,
 
4197
       0,   225,   226,   227,     0,     0,     0,     0,     0,   228,
 
4198
       0,     0,     0,     0,   229,   230,     0,     0,   231,   232,
 
4199
       0,     0,   233,   234,   235,     0,     0,   236,   237,   238,
 
4200
       0,   239,   240,     0,     0,   241,     0,     0,   242,     0,
 
4201
     243,   244,   245,     0,     0,   246,     0,     0,   247,   248,
 
4202
     249,     0,   250,   251,     0,     0,     0,   252,     0,     0,
 
4203
       0,   253,     0,     0,     0,     0,     0,   254,     0,     0,
 
4204
     255,     0,     0,     0,   256,   257,     0,     0,     0,    95,
 
4205
     258,    96,    97,    98,   259,     0,     0,     0,    99,     0,
 
4206
       0,     0,   100,   101,   102,   103,  1245,   104,     0,     0,
 
4207
       0,     0,   105,     0,   106,   107,   108,   109,     0,   110,
 
4208
       0,   111,     0,     0,   112,     0,     0,   113,     0,     0,
 
4209
     114,     0,   115,   116,     0,   117,   118,     0,   119,   120,
 
4210
     121,   122,   123,   124,     0,   125,   126,     0,   127,     0,
 
4211
       0,     0,     0,     0,   128,     0,     0,     0,     0,   129,
 
4212
     130,   131,   132,     0,     0,   133,     0,     0,     0,     0,
 
4213
     134,   135,     0,     0,     0,     0,     0,     0,     0,     0,
 
4214
     136,   137,     0,     0,     0,     0,   138,   139,   140,     0,
 
4215
       0,     0,   141,     0,   142,   143,     0,   144,   145,     0,
 
4216
       0,   146,     0,   147,   148,     0,   149,     0,     0,     0,
 
4217
     150,   151,   152,   153,     0,   154,     0,     0,     0,   155,
 
4218
     156,     0,   157,     0,   158,     0,     0,     0,   159,     0,
 
4219
       0,     0,     0,     0,   160,   161,   162,   163,     0,     0,
 
4220
     164,   165,     0,     0,     0,     0,     0,     0,     0,     0,
 
4221
       0,     0,     0,   166,     0,     0,     0,   167,     0,     0,
 
4222
     168,     0,     0,     0,   169,     0,     0,     0,     0,   170,
 
4223
       0,   171,     0,   172,     0,   173,     0,     0,     0,     0,
 
4224
       0,   174,   175,     0,   176,   177,   178,   179,     0,     0,
 
4225
     180,   181,     0,   182,     0,   183,     0,   184,   185,   186,
 
4226
     187,     0,     0,     0,   188,   189,   190,     0,     0,   191,
 
4227
       0,     0,     0,   192,   193,     0,   194,   195,   196,   197,
 
4228
       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
 
4229
     200,     0,     0,   201,     0,   202,   203,   204,   205,     0,
 
4230
       0,   206,     0,     0,     0,   207,     0,     0,     0,   208,
 
4231
       0,     0,     0,   209,     0,   210,     0,     0,   211,   212,
 
4232
     213,   214,   215,   216,   217,     0,   218,   219,   813,     0,
 
4233
       0,   220,   221,   222,   223,     0,     0,     0,   224,     0,
 
4234
     225,   226,   227,     0,     0,     0,     0,     0,   228,     0,
 
4235
       0,     0,     0,   229,   230,     0,     0,   231,   232,     0,
 
4236
       0,   233,   234,   235,     0,     0,   236,   237,   238,     0,
 
4237
     239,   240,     0,     0,   241,     0,     0,   242,     0,   243,
 
4238
     244,   245,     0,     0,   246,     0,     0,   247,   248,   249,
 
4239
       0,   250,   251,     0,     0,     0,   252,     0,     0,     0,
 
4240
     253,     0,     0,     0,     0,     0,   254,     0,     0,   255,
 
4241
       0,     0,     0,   256,   257,     0,     0,     0,    95,   258,
 
4242
      96,    97,    98,   259,     0,     0,     0,    99,     0,     0,
 
4243
     991,   100,   101,   102,   103,   389,   104,     0,     0,     0,
 
4244
       0,   105,     0,   106,   107,   108,   109,     0,   110,     0,
 
4245
     111,     0,     0,   112,     0,     0,   113,     0,     0,   114,
 
4246
       0,   115,   116,     0,   117,   118,     0,   119,   120,   121,
 
4247
     122,   123,   124,     0,   125,   126,     0,   127,     0,     0,
 
4248
       0,     0,     0,   128,     0,     0,     0,     0,   129,   130,
 
4249
     131,   132,     0,     0,   133,     0,     0,     0,     0,   134,
 
4250
     135,     0,     0,     0,     0,     0,     0,     0,     0,   136,
 
4251
     137,     0,     0,     0,     0,   138,   139,   140,     0,     0,
 
4252
       0,   141,     0,   142,   143,     0,   144,   145,     0,     0,
 
4253
     146,     0,   147,   148,     0,   149,     0,     0,     0,   150,
 
4254
     151,   152,   153,     0,   154,     0,     0,     0,   155,   156,
 
4255
       0,   157,     0,   158,     0,     0,     0,   159,     0,     0,
 
4256
       0,     0,     0,   160,   161,   162,   163,     0,     0,   164,
 
4257
     165,     0,     0,     0,     0,     0,     0,     0,   413,     0,
 
4258
       0,     0,   166,     0,     0,     0,   167,     0,     0,   168,
 
4259
       0,     0,     0,   169,     0,     0,     0,     0,   170,     0,
 
4260
     171,     0,   172,     0,   173,     0,     0,     0,     0,     0,
 
4261
     174,   175,     0,   176,   177,   178,   179,     0,     0,   180,
 
4262
     181,     0,   182,     0,   183,     0,   184,   185,   186,   187,
 
4263
       0,     0,     0,   188,   189,   190,     0,     0,   191,     0,
 
4264
       0,     0,   192,   193,     0,   194,   195,   196,   197,     0,
 
4265
       0,     0,     0,     0,     0,     0,     0,   198,   199,   200,
 
4266
       0,     0,   201,     0,   202,   203,   204,   205,     0,     0,
 
4267
     206,     0,     0,     0,   207,     0,     0,     0,   208,     0,
 
4268
       0,     0,   209,     0,   210,     0,     0,   211,   212,   213,
 
4269
     214,   215,   216,   217,     0,   218,   219,     0,     0,     0,
 
4270
     220,   221,   222,   223,     0,     0,     0,   224,     0,   225,
 
4271
     226,   227,     0,     0,     0,     0,     0,   228,     0,     0,
 
4272
       0,     0,   229,   230,     0,     0,   231,   232,     0,     0,
 
4273
     233,   234,   235,     0,     0,   236,   237,   238,     0,   239,
 
4274
     240,     0,     0,   241,     0,     0,   242,     0,   243,   244,
 
4275
     245,     0,     0,   246,     0,     0,   247,   248,   249,     0,
 
4276
     250,   251,     0,     0,     0,   252,     0,     0,     0,   253,
 
4277
       0,     0,     0,     0,     0,   254,     0,     0,   255,     0,
 
4278
       0,     0,   256,   257,     0,     0,     0,    95,   258,    96,
 
4279
      97,    98,   259,     0,     0,     0,    99,     0,     0,     0,
 
4280
     100,   101,   102,   103,   283,   104,     0,     0,     0,     0,
 
4281
     105,     0,   106,   107,   108,   109,     0,   110,     0,   111,
 
4282
       0,     0,   112,     0,     0,   113,     0,     0,   114,     0,
 
4283
     115,   116,     0,   117,   118,     0,   119,   120,   121,   122,
 
4284
     123,   124,     0,   125,   126,     0,   127,     0,     0,     0,
 
4285
       0,     0,   128,     0,     0,     0,     0,   129,   130,   131,
 
4286
     132,     0,     0,   133,     0,     0,     0,     0,   134,   135,
 
4287
       0,     0,     0,     0,     0,     0,     0,     0,   136,   137,
 
4288
       0,     0,     0,     0,   138,   139,   140,     0,     0,     0,
 
4289
     141,     0,   142,   143,     0,   144,   145,     0,     0,   146,
 
4290
       0,   147,   148,     0,   149,     0,     0,     0,   150,   151,
 
4291
     152,   153,     0,   154,     0,     0,     0,   155,   156,     0,
 
4292
     157,     0,   158,     0,     0,     0,   159,     0,     0,     0,
 
4293
       0,     0,   160,   161,   162,   163,     0,     0,   164,   165,
 
4294
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
4295
       0,   166,     0,     0,     0,   167,     0,     0,   168,     0,
 
4296
       0,     0,   169,     0,     0,     0,     0,   170,     0,   171,
 
4297
       0,   172,     0,   173,     0,     0,     0,     0,     0,   174,
 
4298
     175,     0,   176,   177,   178,   179,     0,     0,   180,   181,
 
4299
       0,   182,     0,   183,     0,   184,   185,   186,   187,     0,
 
4300
       0,     0,   188,   189,   190,     0,     0,   191,     0,     0,
 
4301
       0,   192,   193,     0,   194,   195,   196,   197,     0,     0,
 
4302
       0,     0,     0,     0,     0,     0,   198,   199,   200,     0,
 
4303
       0,   201,     0,   202,   203,   204,   205,     0,     0,   206,
 
4304
       0,     0,     0,   207,     0,     0,     0,   208,     0,     0,
 
4305
       0,   209,     0,   210,     0,     0,   211,   212,   213,   214,
 
4306
     215,   216,   217,     0,   218,   219,     0,     0,     0,   220,
 
4307
     221,   222,   223,     0,     0,     0,   224,     0,   225,   226,
 
4308
     227,     0,     0,     0,     0,     0,   228,     0,     0,     0,
 
4309
       0,   229,   230,     0,     0,   231,   232,     0,     0,   233,
 
4310
     234,   235,     0,     0,   236,   237,   238,     0,   239,   240,
 
4311
       0,     0,   241,     0,     0,   242,     0,   243,   244,   245,
 
4312
       0,     0,   246,     0,     0,   247,   248,   249,     0,   250,
 
4313
     251,     0,     0,     0,   252,     0,     0,     0,   253,     0,
 
4314
       0,     0,     0,     0,   254,     0,     0,   255,     0,     0,
 
4315
       0,   256,   257,     0,     0,     0,    95,   258,    96,    97,
 
4316
      98,   259,     0,     0,     0,    99,     0,  1244,     0,   100,
 
4317
     101,   102,   103,  1245,   104,     0,     0,     0,     0,   105,
 
4318
       0,   106,   107,   108,   109,     0,   110,     0,   111,     0,
 
4319
       0,   112,     0,     0,   113,     0,     0,   114,     0,   115,
 
4320
     116,     0,   117,   118,     0,   119,   120,   121,   122,   123,
 
4321
     124,     0,   125,   126,     0,   127,     0,     0,     0,     0,
 
4322
       0,   128,     0,     0,     0,     0,   129,   130,   131,   132,
 
4323
       0,     0,   133,     0,     0,     0,     0,   134,   135,     0,
 
4324
       0,     0,     0,     0,     0,     0,     0,   136,   137,     0,
 
4325
       0,     0,     0,   138,   139,   140,     0,     0,     0,   141,
 
4326
       0,   142,   143,     0,   144,   145,     0,     0,   146,     0,
 
4327
     147,   148,     0,   282,     0,     0,     0,   150,   151,   152,
 
4328
     153,     0,   154,     0,     0,     0,   155,   156,     0,   157,
 
4329
       0,   158,     0,     0,     0,   159,     0,     0,     0,     0,
 
4330
       0,   160,   161,   162,   163,     0,     0,   164,   165,     0,
 
4331
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
4332
     166,     0,     0,     0,   167,     0,     0,   168,     0,     0,
 
4333
       0,   169,     0,     0,     0,     0,   170,     0,   171,     0,
 
4334
     172,     0,   173,     0,     0,     0,     0,     0,   174,   175,
 
4335
       0,   176,   177,   178,   179,     0,     0,   180,   181,     0,
 
4336
     182,     0,   183,     0,   184,   185,   186,   187,     0,     0,
 
4337
       0,   188,   189,   190,     0,     0,   191,     0,     0,     0,
 
4338
     192,   193,     0,   194,   195,   196,   197,     0,     0,     0,
 
4339
       0,     0,     0,     0,     0,   198,   199,   200,     0,     0,
 
4340
     201,     0,   202,   203,   204,   205,     0,     0,   206,     0,
 
4341
       0,     0,   207,     0,     0,     0,   208,     0,     0,     0,
 
4342
     209,     0,   210,     0,     0,   211,   212,   213,   214,   215,
 
4343
     216,   217,     0,   218,   219,     0,     0,     0,   220,   221,
 
4344
     222,   223,     0,     0,     0,   224,     0,   225,   226,   227,
 
4345
       0,     0,     0,     0,     0,   228,     0,     0,     0,     0,
 
4346
     229,   230,     0,     0,   231,   232,     0,     0,   233,   234,
 
4347
     235,     0,     0,   236,   237,   238,     0,   239,   240,     0,
 
4348
       0,   241,     0,     0,   242,     0,   243,   244,   245,     0,
 
4349
       0,   246,     0,     0,   247,   248,   249,     0,   250,   251,
 
4350
       0,     0,     0,   252,     0,     0,     0,   253,     0,     0,
 
4351
       0,     0,     0,   254,     0,     0,   255,     0,     0,     0,
 
4352
     256,   257,     0,     0,     0,    95,   258,    96,    97,    98,
 
4353
     259,     0,     0,     0,    99,     0,     0,     0,   100,   101,
 
4354
     102,   103,   283,   104,     0,     0,     0,     0,   105,     0,
 
4355
     106,   107,   108,   109,     0,   110,     0,   111,     0,     0,
 
4356
     112,     0,     0,   113,     0,     0,   114,     0,   115,   116,
 
4357
       0,   117,   118,     0,   119,   120,   121,   122,   123,   124,
 
4358
       0,   125,   126,     0,   127,     0,     0,     0,     0,     0,
 
4359
     128,     0,     0,     0,     0,   129,   130,   131,   132,     0,
 
4360
       0,   133,     0,     0,     0,     0,   134,   135,     0,     0,
 
4361
       0,     0,     0,     0,     0,     0,   136,   137,     0,     0,
 
4362
       0,     0,   138,   139,   140,     0,     0,     0,   141,     0,
 
4363
     142,   143,     0,   144,   145,     0,     0,   146,     0,   147,
 
4364
     148,     0,   149,     0,     0,     0,   150,   151,   152,   153,
 
4365
       0,   154,     0,     0,     0,   155,   156,     0,   157,     0,
 
4366
     158,     0,     0,     0,   159,     0,     0,     0,     0,     0,
 
4367
     160,   161,   162,   163,     0,     0,   164,   165,     0,     0,
 
4368
       0,     0,     0,     0,     0,     0,     0,     0,     0,   166,
 
4369
       0,     0,     0,   167,     0,     0,   168,     0,     0,     0,
 
4370
     169,     0,     0,     0,     0,   170,     0,   171,     0,   172,
 
4371
       0,   173,     0,     0,     0,     0,     0,   174,   175,     0,
 
4372
     176,   177,   178,   179,     0,     0,   180,   181,     0,   182,
 
4373
       0,   183,     0,   184,   185,   186,   187,     0,     0,     0,
 
4374
     188,   189,   190,     0,     0,   191,     0,     0,     0,   192,
 
4375
     193,     0,   194,   195,   196,   197,     0,     0,     0,     0,
 
4376
       0,     0,     0,     0,   198,   199,   200,     0,     0,   201,
 
4377
       0,   202,   203,   204,   205,     0,     0,   206,     0,     0,
 
4378
       0,   207,     0,     0,     0,   208,     0,     0,     0,   209,
 
4379
       0,   210,     0,     0,   211,   212,   213,   214,   215,   216,
 
4380
     217,     0,   218,   219,     0,     0,     0,   220,   221,   222,
 
4381
     223,     0,     0,     0,   224,     0,   225,   226,   227,     0,
 
4382
       0,     0,     0,     0,   228,     0,     0,     0,     0,   229,
 
4383
     230,     0,     0,   231,   232,     0,     0,   233,   234,   235,
 
4384
       0,     0,   236,   237,   238,     0,   239,   240,     0,     0,
 
4385
     241,     0,     0,   242,     0,   243,   244,   245,     0,     0,
 
4386
     246,     0,     0,   247,   248,   249,     0,   250,   251,     0,
 
4387
       0,     0,   252,     0,     0,     0,   253,     0,     0,     0,
 
4388
       0,     0,   254,     0,     0,   255,     0,     0,     0,   256,
 
4389
     257,     0,     0,     0,    95,   258,    96,    97,    98,   259,
 
4390
       0,     0,     0,    99,     0,     0,     0,   100,   101,   102,
 
4391
     103,   283,   104,     0,     0,     0,     0,   105,     0,   106,
 
4392
     107,   108,   109,     0,   110,     0,   111,     0,     0,   112,
 
4393
       0,     0,   113,     0,     0,   114,     0,   115,   116,     0,
 
4394
     117,   118,     0,   119,   120,   121,   122,   123,   124,     0,
 
4395
     125,   126,     0,   127,     0,     0,     0,     0,     0,   128,
 
4396
       0,     0,     0,     0,   129,   130,   131,   132,     0,     0,
 
4397
     133,     0,     0,     0,     0,   134,   135,     0,     0,     0,
 
4398
       0,     0,     0,     0,     0,   136,   137,     0,     0,     0,
 
4399
       0,   138,   139,   140,     0,     0,     0,   141,     0,   142,
 
4400
     143,     0,   144,   145,     0,     0,   146,     0,   147,   148,
 
4401
       0,   149,     0,     0,     0,   150,   151,   152,   153,     0,
 
4402
     154,     0,     0,     0,   155,   156,     0,   157,     0,   158,
 
4403
       0,     0,     0,   159,     0,     0,     0,     0,     0,   160,
 
4404
     161,   162,   163,     0,     0,   164,   165,     0,     0,     0,
 
4405
       0,     0,     0,     0,     0,     0,     0,     0,   166,     0,
 
4406
       0,     0,   167,     0,     0,   168,     0,     0,     0,   169,
 
4407
       0,     0,     0,     0,   170,     0,   171,     0,   172,     0,
 
4408
     173,     0,     0,     0,     0,     0,   174,   175,     0,   176,
 
4409
     177,   178,   179,     0,     0,   180,   181,     0,   182,     0,
 
4410
     183,     0,   184,   185,   186,   187,     0,     0,     0,   188,
 
4411
     189,   190,     0,     0,   191,     0,     0,     0,   192,   193,
 
4412
       0,   194,   195,   196,   197,     0,     0,     0,     0,     0,
 
4413
       0,     0,     0,   198,   199,   200,     0,     0,   201,     0,
 
4414
     202,   203,   204,   205,     0,     0,   206,     0,     0,     0,
 
4415
     207,     0,     0,     0,   208,     0,     0,     0,   209,     0,
 
4416
     210,     0,     0,   211,   212,   213,   214,   215,   216,   217,
 
4417
       0,   218,   219,     0,     0,     0,   220,   221,   222,   223,
 
4418
       0,     0,     0,   224,     0,   225,   226,   227,     0,     0,
 
4419
       0,     0,     0,   228,     0,     0,     0,     0,   229,   230,
 
4420
       0,     0,   231,   232,     0,     0,   233,   234,   235,     0,
 
4421
       0,   236,   237,   238,     0,   239,   240,     0,     0,   241,
 
4422
       0,     0,   242,     0,   243,   244,   245,     0,     0,   246,
 
4423
       0,     0,   247,   248,   249,     0,   250,   251,     0,     0,
 
4424
       0,   252,     0,     0,     0,   253,     0,     0,     0,     0,
 
4425
       0,   254,     0,     0,   255,     0,     0,     0,   256,   257,
 
4426
       0,     0,     0,    95,   258,    96,    97,    98,   259,     0,
 
4427
       0,     0,    99,     0,     0,     0,   100,   101,   102,   103,
 
4428
     389,   104,     0,     0,     0,     0,   105,     0,   106,   107,
 
4429
     108,   109,     0,   110,     0,   111,     0,     0,   112,     0,
 
4430
       0,   113,     0,     0,   114,     0,   115,   116,     0,   117,
 
4431
     118,     0,   119,   120,   121,   122,   123,   124,     0,   125,
 
4432
     126,     0,   127,     0,     0,     0,     0,     0,   128,     0,
 
4433
       0,     0,     0,   129,   130,   131,   132,     0,     0,   133,
 
4434
       0,     0,     0,     0,   134,   135,     0,     0,     0,     0,
 
4435
       0,     0,     0,     0,   136,   137,     0,     0,     0,     0,
 
4436
     138,   139,   140,     0,     0,     0,   141,     0,   142,   143,
 
4437
       0,   144,   145,     0,     0,   146,     0,   147,   148,     0,
 
4438
     149,     0,     0,     0,   150,   151,   152,   153,     0,   154,
 
4439
       0,     0,     0,   155,   156,     0,   157,     0,   158,     0,
 
4440
       0,     0,   159,     0,     0,     0,     0,     0,   160,   161,
 
4441
     162,   163,     0,     0,   164,   165,     0,     0,     0,     0,
 
4442
       0,     0,     0,     0,     0,     0,     0,   166,     0,     0,
 
4443
       0,   167,     0,     0,   168,     0,     0,     0,   169,     0,
 
4444
       0,     0,     0,   170,     0,   171,     0,   172,     0,   173,
 
4445
       0,     0,     0,     0,     0,   174,   175,     0,   176,   177,
 
4446
     178,   179,     0,     0,   180,   181,     0,   182,     0,   183,
 
4447
       0,   184,   185,   186,   187,     0,     0,     0,   188,   189,
 
4448
     190,     0,     0,   191,     0,     0,     0,   192,   193,     0,
 
4449
     194,   195,   196,   197,     0,     0,     0,     0,     0,     0,
 
4450
       0,     0,   198,   199,   200,     0,     0,   201,     0,   202,
 
4451
     203,   204,   205,     0,     0,   206,     0,     0,     0,   207,
 
4452
       0,     0,     0,   208,     0,     0,     0,   209,     0,   210,
 
4453
       0,     0,   211,   212,   213,   214,   215,   216,   217,     0,
 
4454
     218,   219,     0,     0,     0,   220,   221,   222,   223,     0,
 
4455
       0,     0,   224,     0,   225,   226,   227,     0,     0,     0,
 
4456
       0,     0,   228,     0,     0,     0,     0,   229,   230,     0,
 
4457
       0,   231,   232,     0,     0,   233,   234,   235,     0,     0,
 
4458
     236,   237,   238,     0,   239,   240,     0,     0,   241,     0,
 
4459
       0,   242,     0,   243,   244,   245,     0,     0,   246,     0,
 
4460
       0,   247,   248,   249,     0,   250,   251,     0,     0,     0,
 
4461
     252,     0,     0,     0,   253,     0,     0,     0,     0,     0,
 
4462
     254,     0,     0,   255,     0,     0,     0,   256,   257,     0,
 
4463
       0,     0,    95,   258,    96,    97,    98,   259,     0,     0,
 
4464
       0,    99,     0,     0,     0,   100,   101,   102,   103,  1245,
 
4465
     104,     0,     0,     0,     0,   105,     0,   106,   107,   108,
 
4466
     109,     0,   110,     0,   111,     0,     0,   112,     0,     0,
 
4467
     113,     0,     0,   114,     0,   115,   116,     0,   117,   118,
 
4468
       0,   119,   120,   121,   122,   123,   124,     0,   125,   126,
 
4469
       0,   127,     0,     0,     0,     0,     0,   128,     0,     0,
 
4470
       0,     0,   129,   130,   131,   132,     0,     0,   133,     0,
 
4471
       0,     0,     0,   134,   135,     0,     0,     0,     0,     0,
 
4472
       0,     0,     0,   136,   137,     0,     0,     0,     0,   138,
 
4473
     139,   140,     0,     0,     0,   141,     0,   142,   143,     0,
 
4474
     144,   145,     0,     0,   146,     0,   147,   148,     0,   149,
 
4475
       0,     0,     0,   150,   151,   152,   153,     0,   154,     0,
 
4476
       0,     0,   155,   156,     0,   157,     0,   158,     0,     0,
 
4477
       0,   159,     0,     0,     0,     0,     0,   160,   161,   162,
 
4478
     163,     0,     0,   164,   165,     0,     0,     0,     0,     0,
 
4479
       0,     0,     0,     0,     0,     0,   166,     0,     0,     0,
 
4480
     167,     0,     0,   168,     0,     0,     0,   169,     0,     0,
 
4481
       0,     0,   170,     0,   171,     0,   172,     0,   173,     0,
 
4482
       0,     0,     0,     0,   174,   175,     0,   176,   177,   178,
 
4483
     179,     0,     0,   180,   181,     0,   182,     0,   183,     0,
 
4484
     184,   185,   186,   187,     0,     0,     0,   188,   189,   190,
 
4485
       0,     0,   191,     0,     0,     0,   192,   193,     0,   194,
 
4486
     195,   196,   197,     0,     0,     0,     0,     0,     0,     0,
 
4487
       0,   198,   199,   200,     0,     0,   201,     0,   202,   203,
 
4488
     204,   205,     0,     0,   206,     0,     0,     0,   207,     0,
 
4489
       0,     0,   208,     0,     0,     0,   209,     0,   210,     0,
 
4490
       0,   211,   212,   213,   214,   215,   216,   217,     0,   218,
 
4491
     219,     0,     0,     0,   220,   221,   222,   223,     0,     0,
 
4492
       0,   224,     0,   225,   226,   227,     0,     0,     0,     0,
 
4493
       0,   228,     0,     0,     0,     0,   229,   230,     0,     0,
 
4494
     231,   232,     0,     0,   233,   234,   235,     0,     0,   236,
 
4495
     237,   238,     0,   239,   240,     0,     0,   241,     0,     0,
 
4496
     242,     0,   243,   244,   245,     0,     0,   246,     0,     0,
 
4497
     247,   248,   249,     0,   250,   251,     0,     0,     0,   252,
 
4498
       0,     0,     0,   253,     0,     0,     0,     0,     0,   254,
 
4499
       0,     0,   255,     0,     0,     0,   256,   257,     0,     0,
 
4500
       0,    95,   258,    96,    97,    98,   259,     0,     0,  1188,
 
4501
      99,     0,     0,     0,   100,   101,   102,   103,     0,   104,
 
4502
       0,     0,     0,     0,   105,     0,   106,   107,   108,   109,
 
4503
       0,   110,     0,   111,     0,     0,   112,     0,     0,   113,
 
4504
       0,     0,   114,     0,   115,   116,     0,   117,   118,     0,
 
4505
     119,   120,   121,   122,   123,   124,     0,   125,   126,     0,
 
4506
     127,     0,     0,     0,     0,     0,   128,     0,     0,     0,
 
4507
       0,   129,   130,   131,   132,     0,     0,   133,     0,     0,
 
4508
       0,     0,   134,   135,     0,     0,     0,     0,     0,     0,
 
4509
       0,     0,   136,   137,     0,     0,     0,     0,   138,   139,
 
4510
     140,     0,     0,     0,   141,     0,   142,   143,     0,   144,
 
4511
     145,     0,     0,   146,     0,   147,   148,     0,   149,     0,
 
4512
       0,     0,   150,   151,   152,   153,     0,   154,     0,     0,
 
4513
       0,   155,   156,     0,   157,     0,   158,     0,     0,     0,
 
4514
     159,     0,     0,     0,     0,     0,   160,   161,   162,   163,
 
4515
       0,     0,   164,   165,     0,     0,     0,     0,     0,     0,
 
4516
       0,     0,     0,     0,     0,   166,     0,     0,     0,   167,
 
4517
       0,     0,   168,     0,     0,     0,   169,     0,     0,     0,
 
4518
       0,   170,     0,   171,     0,   172,     0,   173,     0,     0,
 
4519
       0,     0,     0,   174,   175,     0,   176,   177,   178,   179,
 
4520
       0,     0,   180,   181,     0,   182,     0,   183,     0,   184,
 
4521
     185,   186,   187,     0,     0,     0,   188,   189,   190,     0,
 
4522
       0,   191,     0,     0,     0,   192,   193,     0,   194,   195,
 
4523
     196,   197,     0,     0,     0,     0,     0,     0,     0,     0,
 
4524
     198,   199,   200,     0,     0,   201,     0,   202,   203,   204,
 
4525
     205,     0,     0,   206,     0,     0,     0,   207,     0,     0,
 
4526
       0,   208,     0,     0,     0,   209,     0,   210,     0,     0,
 
4527
     211,   212,   213,   214,   215,   216,   217,     0,   218,   219,
 
4528
       0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
 
4529
     224,     0,   225,   226,   227,     0,     0,     0,     0,     0,
 
4530
     228,     0,     0,     0,     0,   229,   230,     0,     0,   231,
 
4531
     232,     0,     0,   233,   234,   235,     0,     0,   236,   237,
 
4532
     238,     0,   239,   240,     0,     0,   241,     0,     0,   242,
 
4533
       0,   243,   244,   245,     0,     0,   246,     0,     0,   247,
 
4534
     248,   249,     0,   250,   251,     0,     0,     0,   252,     0,
 
4535
       0,     0,   253,     0,     0,     0,     0,     0,   254,     0,
 
4536
       0,   255,     0,     0,     0,   256,   257,     0,     0,     0,
 
4537
      95,   258,    96,    97,    98,   259,     0,     0,  1520,    99,
 
4538
       0,     0,     0,   100,   101,   102,   103,     0,   104,     0,
 
4539
       0,     0,   642,   105,     0,   106,   107,   108,   109,     0,
 
4540
     110,     0,   111,     0,     0,   112,     0,     0,   113,     0,
 
4541
       0,   114,     0,   115,   116,     0,   117,   118,     0,   119,
 
4542
     120,   121,   122,   123,   124,     0,   125,   126,     0,   127,
 
4543
       0,     0,     0,     0,     0,   128,     0,     0,     0,     0,
 
4544
     129,   130,   131,   132,     0,     0,   133,     0,     0,     0,
 
4545
       0,   134,   135,     0,     0,     0,     0,     0,     0,     0,
 
4546
       0,   136,   137,     0,     0,     0,     0,   138,   139,   140,
 
4547
       0,     0,     0,   141,     0,   142,   143,     0,   144,   145,
 
4548
       0,     0,   146,     0,   147,   148,     0,   149,     0,     0,
 
4549
       0,   150,   151,   152,   153,     0,   154,     0,     0,     0,
 
4550
     155,   156,     0,   157,     0,   158,     0,     0,     0,   159,
 
4551
       0,   643,     0,     0,     0,   160,   161,   162,   163,     0,
 
4552
       0,   164,   165,     0,     0,     0,     0,     0,     0,     0,
 
4553
       0,     0,     0,     0,   166,     0,     0,     0,   167,     0,
 
4554
       0,   168,     0,     0,     0,   169,     0,     0,     0,     0,
 
4555
     170,     0,   171,     0,   172,     0,   173,     0,     0,     0,
 
4556
       0,     0,   174,   175,     0,   176,   177,   178,   179,     0,
 
4557
       0,   180,   181,     0,   182,     0,   183,     0,   184,   185,
 
4558
     186,   187,     0,     0,     0,   188,   189,   190,     0,     0,
 
4559
     191,     0,     0,     0,   192,   193,     0,   194,   195,   196,
 
4560
     197,     0,     0,     0,     0,     0,     0,     0,     0,   198,
 
4561
     199,   200,     0,     0,   201,     0,   202,   203,   204,   205,
 
4562
       0,     0,   206,     0,     0,     0,   207,     0,     0,     0,
 
4563
     208,     0,     0,     0,   209,     0,   210,     0,     0,   211,
 
4564
     212,   213,   214,   215,   216,   217,     0,   218,   219,     0,
 
4565
       0,     0,   220,   221,   222,   223,     0,     0,     0,   224,
 
4566
       0,   225,   226,   227,     0,     0,     0,     0,     0,   228,
 
4567
       0,     0,     0,     0,   229,   230,     0,     0,   231,   232,
 
4568
       0,     0,   233,   234,   235,     0,     0,   236,   237,   238,
 
4569
       0,   239,   240,     0,     0,   241,     0,   370,   242,     0,
 
4570
     243,   244,   245,     0,     0,   246,     0,     0,   247,   248,
 
4571
     249,     0,   250,   251,     0,     0,     0,   252,     0,     0,
 
4572
       0,   253,     0,     0,     0,     0,     0,   254,     0,     0,
 
4573
     255,     0,     0,     0,   256,   257,     0,     0,     0,    95,
 
4574
     258,    96,    97,    98,   259,     0,     0,     0,    99,     0,
 
4575
       0,     0,   100,   101,   102,   103,     0,   104,     0,     0,
 
4576
       0,     0,   105,     0,   106,   107,   108,   109,     0,   110,
 
4577
       0,   111,     0,     0,   112,     0,     0,   113,     0,     0,
 
4578
     114,     0,   115,   116,     0,   117,   118,     0,   119,   120,
 
4579
     121,   122,   123,   124,     0,   125,   126,     0,   127,     0,
 
4580
       0,     0,     0,     0,   128,     0,     0,     0,     0,   129,
 
4581
     130,   131,   132,     0,     0,   133,     0,     0,     0,     0,
 
4582
     134,   135,     0,     0,     0,  1204,     0,     0,     0,     0,
 
4583
     136,   137,     0,     0,     0,     0,   138,   139,   140,     0,
 
4584
       0,     0,   141,     0,   142,   143,     0,   144,   145,     0,
 
4585
       0,   146,     0,   147,   148,     0,   149,     0,     0,     0,
 
4586
     150,   151,   152,   153,     0,   154,     0,     0,     0,   155,
 
4587
     156,     0,   157,     0,   158,     0,     0,     0,   159,     0,
 
4588
       0,     0,     0,     0,   160,   161,   162,   163,     0,     0,
 
4589
     164,   165,     0,     0,     0,     0,     0,     0,     0,     0,
 
4590
       0,     0,     0,   166,     0,     0,     0,   167,     0,     0,
 
4591
     168,     0,     0,     0,   169,   772,     0,     0,     0,   170,
 
4592
       0,   171,     0,   172,     0,   173,     0,     0,     0,     0,
 
4593
       0,   174,   175,     0,   176,   177,   178,   179,     0,     0,
 
4594
     180,   181,     0,   182,     0,   183,     0,   184,   185,   186,
 
4595
     187,     0,     0,     0,   188,   189,   190,     0,     0,   191,
 
4596
       0,     0,     0,   192,   193,     0,   194,   195,   196,   197,
 
4597
       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
 
4598
     200,     0,     0,   201,     0,   202,   203,   204,   205,     0,
 
4599
       0,   206,     0,     0,     0,   207,     0,     0,     0,   208,
 
4600
       0,     0,     0,   209,     0,   210,     0,     0,   211,   212,
 
4601
     213,   214,   215,   216,   217,     0,   218,   219,     0,     0,
 
4602
       0,   220,   221,   222,   223,     0,     0,     0,   224,     0,
 
4603
     225,   226,   227,     0,     0,     0,     0,     0,   228,     0,
 
4604
       0,     0,     0,   229,   230,     0,     0,   231,   232,     0,
 
4605
       0,   233,   234,   235,     0,     0,   236,   237,   238,     0,
 
4606
     239,   240,     0,     0,   241,     0,   773,   242,     0,   243,
 
4607
     244,   245,     0,     0,   246,     0,     0,   247,   248,   249,
 
4608
       0,   250,   251,     0,     0,     0,   252,     0,     0,     0,
 
4609
     253,     0,     0,     0,     0,     0,   254,     0,     0,   255,
 
4610
       0,     0,     0,   256,   257,     0,     0,     0,    95,   258,
 
4611
      96,    97,    98,   259,     0,     0,     0,    99,     0,     0,
 
4612
       0,   100,   101,   102,   103,     0,   104,     0,     0,     0,
 
4613
       0,   105,     0,   106,   107,   108,   109,     0,   110,     0,
 
4614
     111,     0,     0,   112,     0,     0,   113,     0,     0,   114,
 
4615
       0,   115,   116,     0,   117,   118,     0,   119,   120,   121,
 
4616
     122,   123,   124,     0,   125,   126,     0,   127,     0,     0,
 
4617
       0,     0,     0,   128,     0,     0,     0,     0,   129,   130,
 
4618
     131,   132,     0,     0,   133,     0,     0,     0,     0,   134,
 
4619
     135,     0,     0,     0,     0,     0,     0,     0,     0,   136,
 
4620
     137,     0,     0,     0,     0,   138,   139,   140,     0,     0,
 
4621
       0,   141,     0,   142,   143,     0,   144,   145,     0,     0,
 
4622
     146,     0,   147,   148,     0,   149,     0,     0,     0,   150,
 
4623
     151,   152,   153,     0,   154,     0,     0,     0,   155,   156,
 
4624
       0,   157,     0,   158,     0,     0,     0,   159,     0,     0,
 
4625
       0,     0,     0,   160,   161,   162,   163,     0,     0,   164,
 
4626
     165,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
4627
       0,     0,   166,     0,     0,     0,   167,     0,     0,   168,
 
4628
       0,     0,     0,   169,   772,     0,     0,     0,   170,     0,
 
4629
     171,     0,   172,     0,   173,     0,     0,     0,     0,     0,
 
4630
     174,   175,     0,   176,   177,   178,   179,     0,     0,   180,
 
4631
     181,     0,   182,     0,   183,     0,   184,   185,   186,   187,
 
4632
       0,     0,     0,   188,   189,   190,     0,     0,   191,     0,
 
4633
       0,     0,   192,   193,     0,   194,   195,   196,   197,     0,
 
4634
       0,     0,     0,     0,     0,     0,     0,   198,   199,   200,
 
4635
       0,     0,   201,     0,   202,   203,   204,   205,     0,     0,
 
4636
     206,     0,     0,     0,   207,     0,     0,     0,   208,     0,
 
4637
       0,     0,   209,     0,   210,     0,     0,   211,   212,   213,
 
4638
     214,   215,   216,   217,     0,   218,   219,     0,     0,     0,
 
4639
     220,   221,   222,   223,     0,     0,     0,   224,     0,   225,
 
4640
     226,   227,     0,     0,     0,     0,     0,   228,     0,     0,
 
4641
       0,     0,   229,   230,     0,     0,   231,   232,     0,     0,
 
4642
     233,   234,   235,     0,     0,   236,   237,   238,     0,   239,
 
4643
     240,     0,     0,   241,     0,   773,   242,     0,   243,   244,
 
4644
     245,     0,     0,   246,     0,     0,   247,   248,   249,     0,
 
4645
     250,   251,     0,     0,     0,   252,     0,     0,     0,   253,
 
4646
       0,     0,     0,     0,     0,   254,     0,     0,   255,     0,
 
4647
       0,     0,   256,   257,     0,     0,     0,    95,   258,    96,
 
4648
      97,    98,   259,     0,     0,     0,    99,  1184,     0,     0,
 
4649
     100,   101,   102,   103,     0,   104,     0,     0,     0,     0,
 
4650
     105,     0,   106,   107,   108,   109,     0,   110,     0,   111,
 
4651
       0,     0,   112,     0,     0,   113,     0,     0,   114,     0,
 
4652
     115,   116,     0,   117,   118,     0,   119,   120,   121,   122,
 
4653
     123,   124,     0,   125,   126,     0,   127,     0,     0,     0,
 
4654
       0,     0,   128,     0,     0,     0,     0,   129,   130,   131,
 
4655
     132,     0,     0,   133,     0,     0,     0,     0,   134,   135,
 
4656
       0,     0,     0,     0,     0,     0,     0,     0,   136,   137,
 
4657
       0,     0,     0,     0,   138,   139,   140,     0,     0,     0,
 
4658
     141,     0,   142,   143,     0,   144,   145,     0,     0,   146,
 
4659
       0,   147,   148,     0,   149,     0,     0,     0,   150,   151,
 
4660
     152,   153,     0,   154,     0,     0,     0,   155,   156,     0,
 
4661
     157,     0,   158,     0,     0,     0,   159,     0,     0,     0,
 
4662
       0,     0,   160,   161,   162,   163,     0,     0,   164,   165,
 
4663
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
4664
       0,   166,     0,     0,     0,   167,     0,     0,   168,     0,
 
4665
       0,     0,   169,     0,     0,     0,     0,   170,     0,   171,
 
4666
       0,   172,     0,   173,     0,     0,     0,     0,     0,   174,
 
4667
     175,     0,   176,   177,   178,   179,     0,     0,   180,   181,
 
4668
       0,   182,     0,   183,     0,   184,   185,   186,   187,     0,
 
4669
       0,     0,   188,   189,   190,     0,     0,   191,     0,     0,
 
4670
       0,   192,   193,     0,   194,   195,   196,   197,     0,     0,
 
4671
       0,     0,     0,     0,     0,     0,   198,   199,   200,     0,
 
4672
       0,   201,     0,   202,   203,   204,   205,     0,     0,   206,
 
4673
       0,     0,     0,   207,     0,     0,     0,   208,     0,     0,
 
4674
       0,   209,     0,   210,     0,     0,   211,   212,   213,   214,
 
4675
     215,   216,   217,     0,   218,   219,     0,     0,     0,   220,
 
4676
     221,   222,   223,     0,     0,     0,   224,     0,   225,   226,
 
4677
     227,     0,     0,     0,     0,     0,   228,     0,     0,     0,
 
4678
       0,   229,   230,     0,     0,   231,   232,     0,     0,   233,
 
4679
     234,   235,     0,     0,   236,   237,   238,     0,   239,   240,
 
4680
       0,     0,   241,     0,   773,   242,     0,   243,   244,   245,
 
4681
       0,     0,   246,     0,     0,   247,   248,   249,     0,   250,
 
4682
     251,     0,     0,     0,   252,     0,     0,     0,   253,     0,
 
4683
       0,     0,     0,     0,   254,     0,     0,   255,     0,     0,
 
4684
       0,   256,   257,     0,     0,     0,    95,   258,    96,    97,
 
4685
      98,   259,     0,     0,     0,    99,     0,     0,     0,   100,
 
4686
     101,   102,   103,     0,   104,     0,     0,     0,     0,   105,
 
4687
       0,   106,   107,   108,   109,     0,   110,     0,   111,     0,
 
4688
       0,   112,     0,     0,   113,     0,     0,   114,     0,   115,
 
4689
     116,     0,   117,   118,     0,   119,   120,   121,   122,   123,
 
4690
     124,     0,   125,   126,     0,   127,     0,     0,     0,     0,
 
4691
       0,   128,     0,     0,     0,     0,   129,   130,   131,   132,
 
4692
       0,     0,   133,     0,     0,     0,     0,   134,   135,     0,
 
4693
       0,     0,     0,     0,     0,     0,     0,   136,   137,     0,
 
4694
       0,     0,     0,   138,   139,   140,     0,     0,     0,   141,
 
4695
       0,   142,   143,     0,   144,   145,     0,     0,   146,     0,
 
4696
     147,   148,     0,   149,     0,     0,     0,   150,   151,   152,
 
4697
     153,     0,   154,     0,     0,     0,   155,   156,     0,   157,
 
4698
       0,   158,     0,     0,     0,   159,     0,     0,     0,     0,
 
4699
       0,   160,   161,   162,   163,     0,     0,   164,   165,     0,
 
4700
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
4701
     166,     0,     0,     0,   167,     0,     0,   168,     0,     0,
 
4702
       0,   169,     0,     0,     0,     0,   170,     0,   171,     0,
 
4703
     172,     0,   173,     0,     0,     0,     0,     0,   174,   175,
 
4704
       0,   176,   177,   178,   179,     0,     0,   180,   181,     0,
 
4705
     182,     0,   183,     0,   184,   185,   186,   187,     0,     0,
 
4706
       0,   188,   189,   190,     0,     0,   191,     0,     0,     0,
 
4707
     192,   193,     0,   194,   195,   196,   197,     0,     0,     0,
 
4708
       0,     0,     0,     0,     0,   198,   199,   200,     0,     0,
 
4709
     201,     0,   202,   203,   204,   205,     0,     0,   206,     0,
 
4710
       0,     0,   207,     0,     0,     0,   208,     0,     0,     0,
 
4711
     209,     0,   210,     0,     0,   211,   212,   213,   214,   215,
 
4712
     216,   217,     0,   218,   219,     0,     0,     0,   220,   221,
 
4713
     222,   223,     0,     0,     0,   224,     0,   225,   226,   227,
 
4714
       0,     0,     0,     0,     0,   228,     0,     0,     0,     0,
 
4715
     229,   230,     0,     0,   231,   232,     0,     0,   233,   234,
 
4716
     235,     0,     0,   236,   237,   238,     0,   239,   240,     0,
 
4717
       0,   241,     0,   773,   242,     0,   243,   244,   245,     0,
 
4718
       0,   246,     0,     0,   247,   248,   249,     0,   250,   251,
 
4719
       0,     0,     0,   252,     0,     0,     0,   253,     0,     0,
 
4720
       0,     0,     0,   254,     0,     0,   255,     0,     0,     0,
 
4721
     256,   257,     0,     0,     0,    95,   258,    96,    97,    98,
 
4722
     259,     0,     0,     0,    99,     0,     0,     0,   100,   101,
 
4723
     102,   103,     0,   104,     0,     0,     0,     0,   105,     0,
 
4724
     106,   107,   108,   109,     0,   110,     0,   111,     0,     0,
 
4725
     112,     0,     0,   113,     0,     0,   114,     0,   115,   116,
 
4726
       0,   117,   118,     0,   119,   120,   121,   122,   123,   124,
 
4727
       0,   125,   126,     0,   127,     0,     0,     0,     0,     0,
 
4728
     128,     0,     0,     0,     0,   129,   130,   131,   132,     0,
 
4729
       0,   133,     0,     0,     0,     0,   134,   135,     0,     0,
 
4730
       0,     0,     0,     0,     0,     0,   136,   137,     0,     0,
 
4731
       0,     0,   138,   139,   140,     0,     0,     0,   141,     0,
 
4732
     142,   143,     0,   144,   145,     0,     0,   146,     0,   147,
 
4733
     148,     0,   149,     0,     0,     0,   150,   151,   152,   153,
 
4734
       0,   154,     0,     0,     0,   155,   156,     0,   157,     0,
 
4735
     158,     0,     0,     0,   159,     0,     0,     0,     0,     0,
 
4736
     160,   161,   162,   163,     0,     0,   164,   165,     0,     0,
 
4737
       0,     0,     0,     0,     0,     0,     0,     0,     0,   166,
 
4738
       0,     0,     0,   167,     0,     0,   168,     0,     0,     0,
 
4739
     169,     0,     0,     0,     0,   170,     0,   171,     0,   172,
 
4740
       0,   173,     0,     0,     0,     0,     0,   174,   175,     0,
 
4741
     176,   177,   178,   179,     0,     0,   180,   181,     0,   182,
 
4742
       0,   183,     0,   184,   185,   186,   187,     0,     0,     0,
 
4743
     188,   189,   190,     0,     0,   191,     0,     0,     0,   192,
 
4744
     193,     0,   194,   195,   196,   197,     0,     0,     0,     0,
 
4745
       0,     0,     0,     0,   198,   199,   200,     0,     0,   201,
 
4746
    1924,   202,   203,   204,   205,     0,     0,   206,     0,     0,
 
4747
       0,   207,     0,     0,     0,   208,     0,     0,     0,   209,
 
4748
       0,   210,     0,     0,   211,   212,   213,   214,   215,   216,
 
4749
     217,     0,   218,   219,     0,     0,     0,   220,   221,   222,
 
4750
     223,     0,     0,     0,   224,     0,   225,   226,   227,     0,
 
4751
       0,     0,     0,     0,   228,     0,     0,     0,     0,   229,
 
4752
     230,     0,     0,   231,   232,     0,     0,   233,   234,   235,
 
4753
       0,     0,   236,   237,   238,     0,   239,   240,     0,     0,
 
4754
     241,     0,     0,   242,     0,   243,   244,   245,     0,     0,
 
4755
     246,     0,     0,   247,   248,   249,     0,   250,   251,     0,
 
4756
       0,     0,   252,     0,     0,     0,   253,     0,     0,     0,
 
4757
       0,     0,   254,     0,     0,   255,     0,     0,     0,   256,
 
4758
     257,     0,     0,     0,    95,   258,    96,    97,    98,   259,
 
4759
       0,     0,     0,    99,     0,     0,     0,   100,   101,   102,
 
4760
     103,     0,   104,     0,     0,     0,     0,   105,     0,   106,
 
4761
     107,   108,   109,     0,   110,     0,   111,     0,     0,   112,
 
4762
       0,     0,   113,     0,     0,   114,     0,   115,   116,     0,
 
4763
     117,   118,     0,   119,   120,   121,   122,   123,   124,     0,
 
4764
     125,   126,     0,   127,     0,     0,     0,     0,     0,   128,
 
4765
       0,     0,     0,     0,   129,   130,   131,   132,     0,     0,
 
4766
     133,     0,     0,     0,     0,   134,   135,     0,     0,     0,
 
4767
       0,     0,     0,     0,     0,   136,   137,     0,     0,     0,
 
4768
       0,   138,   139,   140,     0,     0,     0,   141,     0,   142,
 
4769
     143,     0,   144,   145,     0,     0,   146,     0,   147,   148,
 
4770
       0,   149,     0,     0,     0,   150,   151,   152,   153,     0,
 
4771
     154,     0,     0,     0,   155,   156,     0,   157,     0,   158,
 
4772
       0,     0,     0,   159,     0,     0,     0,     0,     0,   160,
 
4773
     161,   162,   163,     0,     0,   164,   165,     0,     0,     0,
 
4774
       0,     0,     0,     0,     0,     0,     0,     0,   166,     0,
 
4775
       0,     0,   167,     0,     0,   168,     0,     0,     0,   169,
 
4776
       0,     0,     0,     0,   170,     0,   171,     0,   172,     0,
 
4777
     173,     0,     0,     0,     0,     0,   174,   175,     0,   176,
 
4778
     177,   178,   179,     0,     0,   180,   181,     0,   182,     0,
 
4779
     183,     0,   184,   185,   186,   187,     0,     0,     0,   188,
 
4780
     189,   190,     0,     0,   191,     0,     0,     0,   192,   193,
 
4781
       0,   194,   195,   196,   197,     0,     0,     0,     0,     0,
 
4782
       0,     0,     0,   198,   199,   200,     0,     0,   201,     0,
 
4783
     202,   203,   204,   205,     0,     0,   206,     0,     0,     0,
 
4784
     207,     0,     0,     0,   208,     0,     0,     0,   209,     0,
 
4785
     210,     0,     0,   211,   212,   213,   214,   215,   216,   217,
 
4786
       0,   218,   219,     0,     0,     0,   220,   221,   222,   223,
 
4787
       0,     0,     0,   224,     0,   225,   226,   227,     0,     0,
 
4788
       0,     0,     0,   228,     0,     0,     0,     0,   229,   230,
 
4789
       0,     0,   231,   232,     0,     0,   233,   234,   235,     0,
 
4790
       0,   236,   237,   238,     0,   239,   240,     0,     0,   241,
 
4791
       0,     0,   242,     0,   243,   244,   245,     0,     0,   246,
 
4792
       0,     0,   247,   248,   249,     0,   250,   251,     0,     0,
 
4793
       0,   252,     0,     0,     0,   253,     0,     0,     0,     0,
 
4794
       0,   254,     0,     0,   255,     0,     0,     0,   256,   257,
 
4795
       0,     0,     0,    95,   258,    96,    97,    98,   259,     0,
 
4796
       0,     0,    99,     0,     0,     0,   100,   101,   102,   103,
 
4797
       0,   104,     0,     0,     0,     0,   105,     0,   106,   107,
 
4798
     108,   109,     0,   110,     0,   111,     0,     0,   112,     0,
 
4799
       0,   113,     0,     0,   114,     0,   115,   116,     0,   117,
 
4800
     118,     0,   119,   120,   121,   122,   123,   124,     0,   125,
 
4801
     126,     0,   127,     0,     0,     0,     0,     0,   128,     0,
 
4802
       0,     0,     0,   129,   130,   131,   132,     0,     0,   133,
 
4803
       0,     0,     0,     0,   134,   135,     0,     0,     0,     0,
 
4804
       0,     0,     0,     0,   136,   137,     0,     0,     0,     0,
 
4805
     138,   139,   140,     0,     0,     0,   141,     0,   142,   143,
 
4806
       0,   144,   145,     0,     0,   146,     0,   147,   148,     0,
 
4807
     149,     0,     0,     0,   150,   151,   152,   153,     0,   154,
 
4808
       0,     0,     0,   155,   156,     0,   157,     0,   158,     0,
 
4809
       0,     0,   159,     0,     0,     0,     0,     0,   160,   161,
 
4810
     162,   163,     0,     0,   164,   165,     0,     0,     0,     0,
 
4811
       0,     0,     0,     0,     0,     0,     0,   166,     0,     0,
 
4812
       0,   167,     0,     0,   168,     0,     0,     0,   169,     0,
 
4813
       0,     0,     0,   170,     0,   171,     0,   172,     0,   173,
 
4814
       0,     0,     0,     0,     0,   174,   175,     0,   176,   177,
 
4815
     178,   179,     0,     0,   180,   181,     0,   182,     0,   183,
 
4816
       0,   184,   185,   186,   187,     0,     0,     0,   188,   189,
 
4817
     190,     0,     0,   191,     0,     0,     0,   192,   193,     0,
 
4818
     194,   195,   196,   197,     0,     0,     0,     0,     0,     0,
 
4819
       0,     0,   198,   199,   200,     0,     0,   201,     0,   202,
 
4820
     203,   204,   205,     0,     0,   206,     0,     0,     0,   207,
 
4821
       0,     0,     0,   208,     0,     0,     0,   209,     0,   210,
 
4822
       0,     0,   211,   212,   213,   214,   215,   216,   217,     0,
 
4823
     218,   219,     0,     0,     0,   220,   221,   222,   223,     0,
 
4824
       0,     0,   224,     0,   225,   226,   227,     0,     0,     0,
 
4825
       0,     0,   228,     0,     0,     0,     0,   229,   230,     0,
 
4826
       0,   231,   232,     0,     0,   233,   234,   235,     0,     0,
 
4827
     236,   237,   238,     0,   239,   240,     0,     0,   241,     0,
 
4828
       0,   242,     0,   243,   244,   245,     0,     0,  1012,     0,
 
4829
       0,   247,   248,   249,     0,   250,   251,     0,     0,     0,
 
4830
     252,     0,     0,     0,   253,     0,     0,     0,     0,     0,
 
4831
     254,     0,     0,   255,     0,     0,     0,   256,   257,     0,
 
4832
       0,     0,     0,   258,     0,     0,     0,   259
 
4833
};
 
4834
 
 
4835
static const yytype_int16 yycheck[] =
 
4836
{
 
4837
      21,   402,   326,  1070,   553,    51,   564,   330,    29,   420,
 
4838
     553,  1042,   316,   817,  1005,   998,   621,   518,  1202,  1014,
 
4839
     952,  1233,   496,   497,  1035,  1036,   948,  1038,    93,   353,
 
4840
      51,  1026,   590,  1044,   571,  1125,  1047,  1339,   511,   640,
 
4841
    1051,   578,    63,  1318,   863,   369,  1020,  1021,   371,  1418,
 
4842
      12,   436,   446,   808,    12,   379,   380,    54,    18,   460,
 
4843
     627,   446,  1152,   985,    12,   632,   633,    12,    12,    29,
 
4844
      91,    12,    93,  1485,    12,    73,    46,   105,   298,    46,
 
4845
    1464,   385,   386,    14,    53,    12,   828,   296,    12,    49,
 
4846
      91,  1343,    46,    53,   116,  1223,    12,   131,    14,  1351,
 
4847
     131,  1528,    12,    26,    12,    38,  1066,   508,    12,    12,
 
4848
     292,   293,   826,   100,    87,     2,    46,     4,     5,  1023,
 
4849
     154,   111,    52,   154,    12,    60,    12,   238,    42,   462,
 
4850
      90,    18,    62,   111,  1250,    12,     7,   137,   181,   216,
 
4851
     139,  1391,    12,    12,   545,   283,    12,   154,  1332,    12,
 
4852
      12,    12,   112,   230,    12,    12,   129,    12,   170,   229,
 
4853
    1155,    34,   132,    12,    90,   132,   178,  1215,   183,    12,
 
4854
      12,    12,   145,   991,   182,    12,   154,    12,   136,   182,
 
4855
     133,   349,    12,   114,    12,   394,    15,   186,    12,    12,
 
4856
     309,   307,   101,  1620,    12,   136,    83,   108,  1193,    20,
 
4857
      90,   114,   132,   172,   224,   366,   117,   272,   257,    12,
 
4858
     432,   136,   172,   103,   330,   264,   380,   385,   191,    12,
 
4859
      66,   385,   145,   384,   374,   447,  1175,   157,   380,   275,
 
4860
     238,  1242,   231,   385,  1053,   238,   189,   286,   128,    85,
 
4861
      76,   166,   262,   173,   244,   364,   384,   279,   313,    70,
 
4862
     388,   272,    12,   226,   275,   640,   127,    12,  1062,   266,
 
4863
     272,   276,   283,    92,    12,  1169,  1642,  1636,   817,   290,
 
4864
     143,   292,   293,  1575,   817,   386,   297,   239,   582,   249,
 
4865
     357,   239,   249,   304,   305,   852,     9,  1537,   266,   288,
 
4866
     133,   224,   313,  1007,   239,    12,   296,  1201,   239,   225,
 
4867
    1428,   239,  1262,   485,   291,  1489,   488,   261,   857,  1376,
 
4868
     224,  1680,   239,    12,   857,   239,   386,   277,   253,   249,
 
4869
      12,   794,   356,   239,   657,   356,   237,  1443,   371,   239,
 
4870
     328,   239,   241,  1702,   267,   239,   239,    12,    12,    12,
 
4871
    1388,   349,   370,  1161,  1728,  1772,   368,  1723,   413,   346,
 
4872
      12,   239,   353,   239,  1158,  1386,   236,    12,   291,   349,
 
4873
    1612,  1409,   239,    12,  1616,   574,   412,   388,   389,   239,
 
4874
     239,  1783,   345,   239,    97,   344,   239,   239,   239,   292,
 
4875
     350,   239,   239,   350,   239,   629,   273,    12,   357,   337,
 
4876
     239,   412,   413,  1342,  1149,    12,   239,   239,   239,   619,
 
4877
      12,   959,   239,  1008,   239,  1147,   337,    12,   331,   239,
 
4878
    1350,   239,   154,   887,   376,   239,   239,   463,   376,   330,
 
4879
     350,   239,   339,   897,  1243,  1492,   386,   389,   386,   966,
 
4880
     476,   376,   376,   479,    12,   376,   239,   986,   376,   460,
 
4881
     461,   386,   463,   986,   385,   919,   239,   385,   386,   376,
 
4882
    1017,  1820,   376,  1837,  1838,   476,  1840,  1015,   479,   386,
 
4883
     376,   385,   386,  1832,   485,   859,   376,   488,   376,  1853,
 
4884
     971,   972,   376,   376,   859,   385,   386,   385,   386,   239,
 
4885
    1454,   385,   386,   386,   239,  1533,  1761,     0,   376,   510,
 
4886
     376,   239,   965,  1877,  1095,  1879,  1880,   385,   386,   376,
 
4887
     386,   974,   806,  1349,    12,   325,   376,   376,   328,   386,
 
4888
     376,  1813,    12,   376,   376,   376,   386,   386,   376,   376,
 
4889
     386,   376,   239,   386,   386,   386,    12,   376,   386,   386,
 
4890
    1525,   386,   553,   376,   376,   376,  1626,   386,   328,   376,
 
4891
     239,   376,   385,   564,   386,   386,   376,   239,   376,   386,
 
4892
     111,   386,   376,   376,    12,  1622,   386,   385,   376,  1499,
 
4893
      12,   385,   385,   191,   239,   239,   239,   385,   283,   590,
 
4894
      14,   617,   593,   376,   620,    49,  1794,   239,     9,  1184,
 
4895
      12,   602,   385,   376,   239,   631,    73,   998,   653,    12,
 
4896
     239,  1513,   385,   283,   331,   839,   617,    73,   226,   620,
 
4897
      12,   153,    12,    12,    12,    12,  1143,   628,    12,   853,
 
4898
     631,   154,    98,  1162,   239,   661,   376,  1222,  1609,  1162,
 
4899
      12,   376,   239,   328,    68,   385,    12,   239,   376,  1847,
 
4900
     385,   283,   653,    12,   239,  1641,    12,   385,   659,  1823,
 
4901
     661,   333,  1446,    12,   118,  1857,    12,   384,    12,     9,
 
4902
    1656,  1200,    23,   331,  1500,  1501,     7,  1200,   333,   376,
 
4903
      11,   239,   139,    21,  1138,   969,    97,   111,   385,   384,
 
4904
     114,    29,  1612,  1231,   283,  1607,  1616,   376,   136,  1209,
 
4905
     153,    12,    12,   136,   376,  1215,  1235,   131,  1218,   133,
 
4906
     136,  1221,  1235,    51,   384,  1678,   140,     9,  1228,  1229,
 
4907
     144,   376,   376,   376,  1234,    63,   384,    12,   283,   186,
 
4908
     154,   385,   385,  1704,   376,   159,   283,   345,   164,   157,
 
4909
     164,   376,  1327,   385,    14,   211,   170,   376,  1639,   182,
 
4910
     385,   239,   384,    91,   178,    93,   385,    97,   182,   239,
 
4911
     344,   228,   123,    98,   283,   189,   233,   385,  1779,  1780,
 
4912
     771,   376,   228,   357,  1694,  1695,   283,   233,     9,   376,
 
4913
     385,   283,  1757,   157,   376,   811,   812,    49,   385,   291,
 
4914
    1271,   376,   216,   385,  1578,   384,   373,   372,    68,   173,
 
4915
     385,   239,  1331,  1284,  1285,    97,   230,   239,  1331,   386,
 
4916
     811,   812,   238,    98,   238,   166,   817,  1864,   376,  1300,
 
4917
     390,     9,  1713,  1714,  1815,   136,   136,   385,    90,   384,
 
4918
     181,   288,   328,    68,   835,   350,   239,   384,  1292,   222,
 
4919
     841,   111,   140,  1866,   114,  1868,   136,   239,   272,   239,
 
4920
     239,   239,   239,   360,   361,   239,   857,   120,   360,   361,
 
4921
      87,   328,   329,   133,   225,   384,    97,   239,   385,   386,
 
4922
     140,  1325,   170,   239,   144,     9,   211,   384,  1388,    87,
 
4923
     239,   372,   384,   239,    56,    57,   386,   190,   376,   159,
 
4924
     239,   315,   384,   239,   164,   239,   376,   385,   384,  1409,
 
4925
     170,    23,   129,    98,    49,   385,   123,    73,   178,    97,
 
4926
     385,   386,   182,   379,   380,   381,   382,   383,    90,   189,
 
4927
     384,   129,  1893,   384,   159,   349,   211,   331,   239,   239,
 
4928
     390,   103,   356,   357,   272,   170,   384,   275,   376,    18,
 
4929
     238,   385,   386,   178,   376,   283,   216,   371,   385,   386,
 
4930
      29,    58,   290,   385,   292,   293,   128,   384,   959,   297,
 
4931
     230,   385,   386,    97,   191,   389,   304,   305,   238,   384,
 
4932
      49,   166,   279,   376,    53,   313,    98,   384,  1516,   980,
 
4933
     341,   216,   385,   191,   376,   986,   376,   376,   376,   376,
 
4934
     351,   157,   376,   385,   349,   385,   385,   385,   385,   226,
 
4935
    1851,   385,   272,   384,   376,   222,   309,  1008,   225,  1010,
 
4936
     376,    90,    52,   385,  1015,  1544,   211,   376,   226,   385,
 
4937
     376,  1544,   325,  1533,    26,   328,   385,   376,   381,   385,
 
4938
     376,  1032,   376,   112,   384,  1061,   385,   272,   182,   385,
 
4939
      51,   385,    18,   384,   166,   315,   381,   382,   383,  1555,
 
4940
     388,   389,  1558,   529,  1560,    66,    67,  1058,   384,   181,
 
4941
    1061,  1062,   228,    74,   384,   376,   376,   233,  1919,  1920,
 
4942
    1655,   243,   384,    49,   412,   413,   384,    53,    80,   349,
 
4943
     315,   385,   386,  1464,  1368,    87,   309,   357,   260,   211,
 
4944
     384,    68,   132,   172,   379,   380,   381,   382,   383,    61,
 
4945
     222,   371,   181,   579,   580,   116,   384,   583,   584,   585,
 
4946
     586,   587,   588,   384,    90,   385,   386,   157,   345,   389,
 
4947
     384,   123,   460,   461,   341,   463,   384,   129,   139,   385,
 
4948
     386,   385,   386,   173,   351,   385,   386,   345,   476,    25,
 
4949
     384,   479,   384,   145,   384,   156,   157,   485,  1174,   125,
 
4950
     488,   385,   386,   385,   389,   385,   386,    90,    44,  1682,
 
4951
     171,  1162,   384,   329,   385,   386,  1167,   386,   302,   303,
 
4952
     304,   305,   384,  1174,   384,   186,   385,   386,   385,   386,
 
4953
     384,   315,   159,  1184,   379,   380,   381,   382,   383,   191,
 
4954
     384,    77,   384,   170,    80,   385,   386,   173,   277,  1200,
 
4955
     384,   178,    88,   384,  1034,   385,   386,  1037,  1209,   249,
 
4956
     385,   386,  1042,  1239,  1215,   553,   384,  1218,  1048,   384,
 
4957
    1221,   223,  1223,   225,   226,  1251,   564,  1228,  1229,  1814,
 
4958
    1231,   385,   386,  1234,  1235,   384,    85,   384,  1239,   216,
 
4959
     251,  1267,   384,  1244,  1245,   384,   222,    26,   384,   225,
 
4960
    1251,   384,   590,   230,   230,   593,   384,   379,   380,   381,
 
4961
     382,   383,    42,    68,   602,   384,  1267,   385,   386,   385,
 
4962
     386,   384,   610,   249,   385,   386,   384,   288,   384,   617,
 
4963
     385,   386,   620,   385,   386,   384,   135,  1678,  1600,  1601,
 
4964
     628,   546,   547,   631,   384,   272,  1718,  1719,    18,  1822,
 
4965
     149,    80,  1356,  1357,   384,   384,   384,   384,    87,    29,
 
4966
     384,   287,   384,   384,   325,   653,   384,   328,  1319,   262,
 
4967
     120,   659,   157,   661,   230,   257,  1327,   370,   804,   331,
 
4968
    1331,   385,   334,    53,   385,    97,     9,   385,   315,   341,
 
4969
     385,   390,   384,   345,   123,   158,   337,  1728,    18,   386,
 
4970
     129,   386,   386,   202,   159,   381,   205,   368,   331,    29,
 
4971
     297,   291,    49,   212,  1365,   170,   145,   189,   385,   385,
 
4972
      90,   381,  1373,   178,   350,   136,   385,   379,   380,    49,
 
4973
     385,   380,   385,    53,   385,   385,   349,  1388,   385,   385,
 
4974
     385,    12,   112,  1922,    10,    11,   386,   386,  1936,  1922,
 
4975
     385,   385,    68,   252,   292,    12,    22,   385,  1409,  1435,
 
4976
     384,   216,   191,  1716,  1717,   384,   384,  1940,  1947,   390,
 
4977
      90,   331,    35,   384,  1947,   230,   390,  1428,  1732,    45,
 
4978
      46,  1432,   281,   771,  1435,   391,   385,   371,  1439,    55,
 
4979
     230,   385,   112,  1444,   109,   385,   225,   226,   163,   163,
 
4980
     385,    67,   172,   164,   385,   136,  1837,  1838,   385,  1840,
 
4981
      81,    82,    83,    84,    85,   385,   390,   272,   390,   390,
 
4982
     385,   385,  1853,   811,   812,    91,    92,    93,   386,   817,
 
4983
     385,    24,   386,   168,   100,    28,   386,    52,   171,   337,
 
4984
     326,   171,   326,   159,    35,   111,  1877,   835,  1879,  1880,
 
4985
      49,    44,   172,   841,   170,  1809,   386,   230,   238,  1510,
 
4986
     315,   102,   178,   384,   130,  1516,   384,   386,   385,   857,
 
4987
     369,   385,   385,   385,   390,   146,   147,   148,   149,   378,
 
4988
     385,   283,  1533,   386,    77,   386,   353,    80,   166,   179,
 
4989
    1541,   173,   173,  1544,   390,    88,   162,   390,   385,    14,
 
4990
     216,   226,   331,   182,   226,   334,    99,   277,   174,   385,
 
4991
     285,   164,   341,   386,   385,   170,   345,   140,   170,   185,
 
4992
     113,   240,   391,   173,   293,   500,   386,   173,   386,  1580,
 
4993
     384,   202,   203,   204,   205,   128,   385,   173,   385,   385,
 
4994
     385,   212,   385,   170,   170,   520,   230,    35,   523,   144,
 
4995
     379,   380,   386,   257,   208,    90,   272,   277,   384,    90,
 
4996
     384,   247,   537,   538,   384,   384,   541,   384,   239,   390,
 
4997
     353,   959,   165,   328,   170,   226,   170,    51,   384,   554,
 
4998
     555,   252,   195,   384,   384,   353,   226,    90,  1639,   173,
 
4999
     173,   225,   980,   226,  1645,   226,   262,   263,   986,   315,
 
5000
     266,   226,   384,  1654,   385,   114,   115,   273,   385,   280,
 
5001
     281,  1687,   357,   279,   357,   183,   230,   283,   384,   223,
 
5002
    1008,   361,  1010,  1674,   386,   291,   385,  1015,   294,   138,
 
5003
     386,  1682,   385,   142,   227,   385,  1687,   226,    35,   357,
 
5004
     357,    35,   308,   108,  1032,    35,   385,   133,   384,    35,
 
5005
     384,    35,    35,   261,     4,   230,   230,   154,   167,    35,
 
5006
      35,   353,  1713,  1714,    91,   226,   259,   176,  1576,   291,
 
5007
    1058,   384,   384,  1061,  1062,   384,   342,    81,    82,    83,
 
5008
      84,    85,   385,  1244,   386,   194,   352,   353,  1053,   657,
 
5009
     356,  1058,  1444,  1247,   287,   670,  1033,  1541,   369,  1083,
 
5010
    1213,  1752,  1543,  1572,  1654,   376,   377,   378,   217,  1846,
 
5011
    1265,  1067,  1664,  1752,  1817,  1243,   999,   811,   384,  1770,
 
5012
     278,   459,   950,   277,   429,   825,  1327,   886,  1149,  1353,
 
5013
     949,  1918,  1610,  1834,  1782,  1943,   975,   547,  1608,   332,
 
5014
     500,   334,   146,   147,   148,   149,  1544,   722,  1799,  1004,
 
5015
    1527,   726,  1629,   306,   313,   413,   667,  1331,   816,  1157,
 
5016
     302,  1940,  1822,   487,  1200,  1151,  1788,  1824,   743,   362,
 
5017
     363,  1822,  1863,  1844,  1162,  1947,   830,   610,   510,  1167,
 
5018
    1162,  1656,  1192,  1373,    88,  1634,  1174,    94,    -1,   419,
 
5019
      -1,    -1,    -1,    -1,    -1,    -1,  1184,    -1,   202,   203,
 
5020
     204,   205,    -1,    -1,    -1,    -1,    -1,    -1,   212,    -1,
 
5021
      -1,    -1,  1200,    -1,    -1,  1866,    -1,  1868,    -1,  1870,
 
5022
      -1,  1209,    -1,    -1,    -1,    -1,     5,  1215,    -1,    -1,
 
5023
    1218,    10,    -1,  1221,    -1,  1223,    -1,    -1,    -1,    18,
 
5024
    1228,  1229,    -1,  1231,    -1,    -1,  1234,  1235,   252,    -1,
 
5025
      29,  1239,    -1,    -1,    -1,    -1,  1244,  1245,    -1,    -1,
 
5026
       5,    -1,    -1,  1251,    43,    10,  1917,  1918,    -1,    -1,
 
5027
      -1,  1922,    -1,    18,    53,    -1,   280,   281,    -1,  1267,
 
5028
      -1,    -1,    -1,    -1,    29,  1936,    65,    -1,    -1,  1940,
 
5029
      -1,    -1,  1943,    -1,    -1,    -1,  1947,    -1,    43,    -1,
 
5030
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,
 
5031
      -1,    90,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,
 
5032
      65,   100,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,
 
5033
      -1,  1319,   111,   112,    -1,    -1,    -1,    -1,    -1,  1327,
 
5034
      -1,    -1,    -1,  1331,    -1,    90,    -1,    -1,    -1,    -1,
 
5035
      95,    -1,   131,    -1,    -1,   100,    -1,    -1,    -1,    -1,
 
5036
      -1,    -1,   107,    -1,    -1,   369,    -1,   112,    -1,    -1,
 
5037
      -1,    -1,    -1,   377,   378,    -1,   155,  1365,    -1,    -1,
 
5038
      -1,    -1,    -1,    -1,    -1,  1373,   131,    -1,    -1,    -1,
 
5039
      -1,    -1,    -1,   172,    -1,    -1,    -1,    -1,    -1,    -1,
 
5040
    1388,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5041
      -1,    -1,    -1,    -1,   318,    -1,    -1,    -1,    -1,    -1,
 
5042
      -1,  1409,    -1,    -1,    -1,    -1,    -1,   172,    -1,    -1,
 
5043
      -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   343,
 
5044
    1428,    -1,    -1,    -1,  1432,    -1,    -1,  1435,   352,    -1,
 
5045
      -1,  1439,    -1,    -1,    -1,    -1,  1444,    -1,    -1,   238,
 
5046
      -1,    -1,    -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,
 
5047
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5048
      -1,    -1,    -1,   387,   263,    -1,    -1,    -1,    -1,    -1,
 
5049
      -1,    -1,    -1,   238,    -1,    -1,    -1,    -1,   277,    -1,
 
5050
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5051
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   263,    -1,
 
5052
      -1,    -1,  1510,    -1,    -1,    -1,    -1,    -1,  1516,    -1,
 
5053
      -1,    -1,   277,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5054
      -1,    -1,    -1,    -1,    -1,  1533,    -1,    -1,    -1,    -1,
 
5055
      -1,    -1,    -1,  1541,    -1,    -1,  1544,    -1,    -1,    -1,
 
5056
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5057
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5058
      -1,    -1,    -1,    -1,    -1,    -1,   490,    -1,    -1,    -1,
 
5059
      -1,   495,  1580,    -1,   498,   499,    -1,    -1,    -1,    -1,
 
5060
      -1,   505,   506,   507,    -1,   509,    -1,    -1,    -1,    -1,
 
5061
     514,   515,   516,   517,    -1,   519,    -1,   521,   522,    -1,
 
5062
     524,   525,    -1,   527,    -1,    -1,   530,   531,   532,   533,
 
5063
     534,   535,   536,    -1,    -1,   539,   540,    -1,   542,    -1,
 
5064
     544,    -1,    -1,    -1,   548,   549,    -1,    -1,    -1,    -1,
 
5065
      -1,  1639,   556,    -1,    -1,    -1,    -1,  1645,   562,    -1,
 
5066
      -1,    -1,    -1,   567,   568,   569,  1654,    -1,    -1,    -1,
 
5067
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5068
      -1,    -1,    -1,    -1,    -1,    -1,  1674,    -1,    -1,    -1,
 
5069
      -1,    -1,    -1,    -1,  1682,    -1,    -1,    -1,    -1,  1687,
 
5070
      -1,    -1,    -1,    -1,    -1,    -1,   610,    -1,    -1,    -1,
 
5071
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   622,    -1,
 
5072
      -1,    -1,    -1,    -1,    -1,  1713,  1714,    -1,    -1,    -1,
 
5073
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5074
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5075
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5076
      -1,    -1,    -1,    -1,  1752,    -1,    -1,    -1,    -1,   673,
 
5077
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5078
      -1,    -1,  1770,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5079
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5080
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5081
      -1,  1799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5082
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5083
      -1,    -1,    -1,    -1,  1822,    -1,    -1,    -1,    -1,    -1,
 
5084
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   751,   752,   753,
 
5085
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5086
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5087
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1866,    -1,
 
5088
    1868,    -1,  1870,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5089
     794,    -1,    -1,   797,    -1,   799,    -1,    -1,    -1,    -1,
 
5090
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5091
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5092
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1917,
 
5093
    1918,    -1,    -1,    -1,  1922,    -1,    -1,    -1,    -1,    -1,
 
5094
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1936,    -1,
 
5095
      -1,    -1,  1940,    -1,    -1,  1943,    -1,    -1,    -1,  1947,
 
5096
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   873,
 
5097
      -1,    -1,   876,    -1,   878,   879,    -1,    -1,    -1,   883,
 
5098
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5099
      -1,    -1,   896,    -1,    -1,   899,   900,   901,   902,   903,
 
5100
      -1,    -1,    -1,    -1,    -1,    -1,   910,    -1,    -1,   913,
 
5101
      -1,   915,   916,    -1,   918,    -1,    -1,    -1,    -1,   923,
 
5102
     924,   925,    -1,    -1,    -1,    -1,   930,   931,   932,    -1,
 
5103
     934,    -1,   936,    -1,   938,    -1,   940,    -1,    -1,    -1,
 
5104
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5105
      -1,    -1,    -1,    -1,    -1,    -1,   960,    -1,    -1,    -1,
 
5106
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5107
     974,    -1,   976,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5108
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5109
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5110
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5111
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5112
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5113
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5114
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5115
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5116
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5117
    1074,    -1,    -1,    -1,  1078,    -1,    -1,    -1,    -1,    -1,
 
5118
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1092,  1093,
 
5119
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5120
      -1,    -1,    -1,    -1,    -1,  1109,    -1,    -1,    -1,    -1,
 
5121
      -1,    -1,    -1,  1117,    -1,  1119,    -1,  1121,    -1,    -1,
 
5122
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5123
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5124
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5125
      -1,    -1,  1156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5126
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5127
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5128
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1191,    -1,    -1,
 
5129
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1202,  1203,
 
5130
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5131
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5132
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5133
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5134
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5135
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5136
      -1,    -1,    -1,    -1,  1268,    -1,    -1,    -1,    -1,    -1,
 
5137
    1274,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5138
      -1,    -1,    -1,    -1,    -1,  1289,  1290,    -1,    -1,    -1,
 
5139
      -1,    -1,    -1,  1297,    -1,    -1,    -1,    -1,  1302,    -1,
 
5140
      -1,  1305,  1306,  1307,    -1,    -1,    -1,    -1,    -1,    -1,
 
5141
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5142
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1332,    -1,
 
5143
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5144
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5145
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5146
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5147
    1374,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1383,
 
5148
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5149
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5150
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5151
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5152
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5153
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5154
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5155
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5156
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5157
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5158
      -1,    -1,    -1,    -1,    -1,  1489,    -1,    -1,    -1,    -1,
 
5159
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5160
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5161
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5162
      -1,    -1,    -1,    -1,  1528,    -1,    -1,    -1,    -1,    -1,
 
5163
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5164
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5165
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5166
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5167
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5168
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1592,    -1,
 
5169
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5170
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5171
      -1,    -1,    -1,    -1,    -1,    -1,  1620,    -1,    -1,    -1,
 
5172
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5173
    1634,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5174
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5175
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5176
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5177
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5178
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5179
      -1,    -1,    -1,    -1,  1698,  1699,    -1,    -1,    -1,  1703,
 
5180
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5181
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5182
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     4,
 
5183
      -1,     6,     7,     8,    -1,    -1,    -1,    -1,    13,    -1,
 
5184
      -1,    -1,    17,    18,    19,    20,    -1,    22,    -1,    -1,
 
5185
      25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
 
5186
      -1,    36,    -1,    -1,    39,    40,    41,    42,  1772,    44,
 
5187
      45,    -1,    47,    48,    -1,    50,    51,    -1,    53,    54,
 
5188
      55,    56,    57,    58,    -1,    60,    61,    -1,    63,    -1,
 
5189
      65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74,
 
5190
      75,    76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,
 
5191
      85,    86,    87,    -1,    -1,    90,    -1,    -1,    -1,  1823,
 
5192
      95,    96,  1826,    -1,  1828,    -1,   101,   102,   103,    -1,
 
5193
      -1,    -1,   107,    -1,   109,   110,    -1,   112,   113,    -1,
 
5194
      -1,   116,    -1,   118,   119,   120,   121,   122,   123,    -1,
 
5195
     125,   126,   127,   128,   129,   130,    -1,    -1,    -1,   134,
 
5196
     135,    -1,   137,    -1,   139,    -1,   141,    -1,   143,    -1,
 
5197
     145,    -1,    -1,    -1,   149,   150,   151,   152,   153,    -1,
 
5198
     155,   156,    -1,    -1,    -1,    -1,    -1,   162,   163,    -1,
 
5199
      -1,    -1,    -1,   168,    -1,    -1,    -1,   172,    -1,    -1,
 
5200
     175,    -1,   177,   178,   179,    -1,    -1,    -1,    -1,   184,
 
5201
      -1,   186,    -1,   188,    -1,   190,   191,    -1,    -1,    -1,
 
5202
      -1,   196,   197,   198,   199,   200,   201,   202,    -1,    -1,
 
5203
     205,   206,   207,   208,    -1,   210,   211,   212,   213,   214,
 
5204
     215,    -1,    -1,    -1,   219,   220,   221,   222,   223,   224,
 
5205
     225,   226,    -1,   228,   229,    -1,   231,   232,   233,   234,
 
5206
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,   244,
 
5207
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,    -1,
 
5208
      -1,   256,    -1,    -1,    -1,   260,    -1,    -1,    -1,   264,
 
5209
     265,   266,    -1,   268,    -1,   270,    -1,   272,   273,   274,
 
5210
     275,   276,   277,   278,   279,    -1,   281,   282,    -1,    -1,
 
5211
      -1,   286,   287,   288,   289,    -1,    -1,    -1,   293,    -1,
 
5212
     295,   296,   297,    -1,    -1,    -1,    -1,    -1,   303,    -1,
 
5213
      -1,    -1,    -1,   308,   309,   310,   311,   312,   313,    -1,
 
5214
      -1,   316,   317,   318,   319,   320,   321,   322,   323,   324,
 
5215
     325,   326,    -1,    -1,   329,    -1,   331,   332,    -1,   334,
 
5216
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
 
5217
     345,   346,   347,    -1,    -1,    -1,   351,    -1,    -1,    -1,
 
5218
     355,    -1,    -1,   358,   359,   360,   361,    -1,    -1,   364,
 
5219
     365,    -1,   367,   368,   369,    -1,    -1,    -1,    -1,   374,
 
5220
      -1,    -1,    -1,   378,   379,   380,    -1,    -1,    -1,   384,
 
5221
      -1,    -1,    -1,   388,    -1,   390,   391,     4,    -1,     6,
 
5222
       7,     8,     9,    -1,    -1,    -1,    13,    -1,    -1,    -1,
 
5223
      17,    18,    19,    20,    -1,    22,    -1,    -1,    25,    26,
 
5224
      27,    -1,    29,    30,    31,    32,    -1,    34,    -1,    36,
 
5225
      -1,    -1,    39,    40,    41,    42,    -1,    44,    45,    -1,
 
5226
      47,    48,    -1,    50,    51,    -1,    53,    54,    55,    56,
 
5227
      57,    58,    -1,    60,    61,    -1,    63,    -1,    65,    66,
 
5228
      -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76,
 
5229
      77,    78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,
 
5230
      87,    -1,    -1,    90,    -1,    -1,    -1,    -1,    95,    96,
 
5231
      -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
 
5232
     107,    -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,
 
5233
      -1,   118,   119,   120,   121,   122,   123,    -1,   125,   126,
 
5234
     127,   128,   129,   130,    -1,    -1,    -1,   134,   135,    -1,
 
5235
     137,    -1,   139,    -1,   141,    -1,   143,    -1,   145,    -1,
 
5236
      -1,    -1,   149,   150,   151,   152,   153,    -1,   155,   156,
 
5237
      -1,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,    -1,
 
5238
      -1,   168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,
 
5239
      -1,   178,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,
 
5240
      -1,   188,    -1,   190,   191,    -1,    -1,    -1,    -1,   196,
 
5241
     197,   198,   199,   200,   201,   202,    -1,    -1,   205,   206,
 
5242
     207,   208,    -1,   210,   211,   212,   213,   214,   215,    -1,
 
5243
      -1,    -1,   219,   220,   221,   222,   223,   224,   225,   226,
 
5244
      -1,   228,   229,   230,   231,   232,   233,   234,    -1,    -1,
 
5245
      -1,    -1,    -1,    -1,    -1,    -1,   243,   244,   245,   246,
 
5246
      -1,   248,    -1,   250,   251,   252,   253,    -1,    -1,   256,
 
5247
      -1,    -1,    -1,   260,    -1,    -1,    -1,   264,   265,   266,
 
5248
      -1,   268,    -1,   270,    -1,   272,   273,   274,   275,   276,
 
5249
     277,   278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,
 
5250
     287,   288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,
 
5251
     297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,
 
5252
      -1,   308,   309,   310,   311,   312,   313,    -1,    -1,   316,
 
5253
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
 
5254
      -1,    -1,   329,    -1,   331,   332,    -1,   334,   335,   336,
 
5255
      -1,    -1,   339,   340,   341,   342,   343,   344,   345,   346,
 
5256
     347,    -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,
 
5257
      -1,   358,   359,   360,   361,    -1,    -1,   364,   365,    -1,
 
5258
     367,   368,   369,    -1,    -1,    -1,    -1,   374,    -1,    -1,
 
5259
      -1,   378,   379,   380,    -1,    -1,     4,   384,     6,     7,
 
5260
       8,   388,    -1,   390,   391,    13,    -1,    -1,    -1,    17,
 
5261
      18,    19,    20,    -1,    22,    -1,    -1,    25,    26,    27,
 
5262
      -1,    29,    30,    31,    32,    -1,    34,    -1,    36,    -1,
 
5263
      -1,    39,    40,    41,    42,    -1,    44,    45,    -1,    47,
 
5264
      48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
 
5265
      58,    -1,    60,    61,    -1,    63,    -1,    65,    66,    -1,
 
5266
      -1,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
 
5267
      78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,    87,
 
5268
      -1,    -1,    90,    -1,    -1,    -1,    -1,    95,    96,    -1,
 
5269
      -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,
 
5270
      -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,
 
5271
     118,   119,   120,   121,   122,   123,    -1,   125,   126,   127,
 
5272
     128,   129,   130,    -1,    -1,    -1,   134,   135,    -1,   137,
 
5273
      -1,   139,    -1,   141,    -1,   143,    -1,   145,    -1,    -1,
 
5274
      -1,   149,   150,   151,   152,   153,    -1,   155,   156,    -1,
 
5275
      -1,    -1,    -1,    -1,   162,   163,    -1,    -1,    -1,    -1,
 
5276
     168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,
 
5277
     178,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,    -1,
 
5278
     188,    -1,   190,   191,    -1,    -1,    -1,    -1,   196,   197,
 
5279
     198,   199,   200,   201,   202,    -1,    -1,   205,   206,   207,
 
5280
     208,    -1,   210,   211,   212,   213,   214,   215,    -1,    -1,
 
5281
      -1,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
 
5282
     228,   229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,
 
5283
      -1,    -1,    -1,    -1,    -1,   243,   244,   245,   246,    -1,
 
5284
     248,    -1,   250,   251,   252,   253,    -1,    -1,   256,    -1,
 
5285
      -1,    -1,   260,    -1,    -1,    -1,   264,   265,   266,    -1,
 
5286
     268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
 
5287
     278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,
 
5288
     288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,
 
5289
      -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,
 
5290
     308,   309,   310,   311,   312,   313,    -1,    -1,   316,   317,
 
5291
     318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
 
5292
      -1,   329,    -1,   331,   332,    -1,   334,   335,   336,    -1,
 
5293
      -1,   339,   340,   341,   342,   343,   344,   345,   346,   347,
 
5294
      -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,
 
5295
     358,   359,   360,   361,    -1,    -1,   364,   365,    -1,   367,
 
5296
     368,   369,    -1,    -1,    -1,    -1,   374,    -1,    -1,    -1,
 
5297
     378,   379,   380,    -1,    -1,    -1,   384,   385,    -1,    -1,
 
5298
     388,    -1,   390,   391,     4,    -1,     6,     7,     8,    -1,
 
5299
      -1,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
 
5300
      20,    -1,    22,    -1,    -1,    25,    26,    27,    -1,    29,
 
5301
      30,    31,    32,    -1,    34,    -1,    36,    -1,    -1,    39,
 
5302
      40,    41,    42,    -1,    44,    45,    -1,    47,    48,    -1,
 
5303
      50,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
 
5304
      60,    61,    -1,    63,    -1,    65,    66,    -1,    -1,    69,
 
5305
      70,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
 
5306
      80,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
 
5307
      90,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,    -1,
 
5308
      -1,   101,   102,   103,    -1,    -1,    -1,   107,    -1,   109,
 
5309
     110,    -1,   112,   113,    -1,    -1,   116,    -1,   118,   119,
 
5310
     120,   121,   122,   123,    -1,   125,   126,   127,   128,   129,
 
5311
     130,    -1,    -1,    -1,   134,   135,   136,   137,    -1,   139,
 
5312
      -1,   141,    -1,   143,    -1,   145,    -1,    -1,    -1,   149,
 
5313
     150,   151,   152,   153,    -1,   155,   156,    -1,    -1,    -1,
 
5314
      -1,    -1,   162,   163,    -1,    -1,    -1,    -1,   168,    -1,
 
5315
      -1,    -1,   172,    -1,    -1,   175,    -1,    -1,   178,   179,
 
5316
      -1,    -1,    -1,    -1,   184,    -1,   186,    -1,   188,    -1,
 
5317
     190,   191,    -1,    -1,    -1,    -1,   196,   197,   198,   199,
 
5318
     200,   201,   202,    -1,    -1,   205,   206,   207,   208,    -1,
 
5319
     210,   211,   212,   213,   214,   215,    -1,    -1,    -1,   219,
 
5320
     220,   221,   222,   223,   224,   225,   226,    -1,   228,   229,
 
5321
      -1,   231,   232,   233,   234,    -1,    -1,    -1,    -1,    -1,
 
5322
      -1,    -1,    -1,   243,   244,   245,   246,    -1,   248,    -1,
 
5323
     250,   251,   252,   253,    -1,    -1,   256,    -1,    -1,    -1,
 
5324
     260,    -1,    -1,    -1,   264,   265,   266,    -1,   268,    -1,
 
5325
     270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
 
5326
      -1,   281,   282,    -1,    -1,    -1,   286,   287,   288,   289,
 
5327
      -1,    -1,    -1,   293,    -1,   295,   296,   297,    -1,    -1,
 
5328
      -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,   308,   309,
 
5329
     310,   311,   312,   313,    -1,    -1,   316,   317,   318,   319,
 
5330
     320,   321,   322,   323,   324,   325,   326,    -1,    -1,   329,
 
5331
      -1,   331,   332,    -1,   334,   335,   336,    -1,    -1,   339,
 
5332
     340,   341,   342,   343,   344,   345,   346,   347,    -1,    -1,
 
5333
      -1,   351,    -1,    -1,    -1,   355,    -1,    -1,   358,   359,
 
5334
     360,   361,    -1,    -1,   364,   365,    -1,   367,   368,   369,
 
5335
      -1,    -1,    -1,    -1,   374,    -1,    -1,    -1,   378,   379,
 
5336
     380,    -1,    -1,     4,   384,     6,     7,     8,   388,    -1,
 
5337
     390,   391,    13,    -1,    -1,    -1,    17,    18,    19,    20,
 
5338
      -1,    22,    -1,    -1,    25,    26,    27,    -1,    29,    30,
 
5339
      31,    32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,
 
5340
      41,    42,    -1,    44,    45,    -1,    47,    48,    -1,    50,
 
5341
      51,    -1,    53,    54,    55,    56,    57,    58,    -1,    60,
 
5342
      61,    -1,    63,    -1,    65,    66,    -1,    -1,    69,    70,
 
5343
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
 
5344
      -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    90,
 
5345
      -1,    -1,    -1,    -1,    95,    96,    -1,    -1,    -1,    -1,
 
5346
     101,   102,   103,    -1,    -1,    -1,   107,    -1,   109,   110,
 
5347
      -1,   112,   113,    -1,    -1,   116,    -1,   118,   119,   120,
 
5348
     121,   122,   123,    -1,   125,   126,   127,   128,   129,   130,
 
5349
      -1,    -1,    -1,   134,   135,   136,   137,    -1,   139,    -1,
 
5350
     141,    -1,   143,    -1,   145,    -1,    -1,    -1,   149,   150,
 
5351
     151,   152,   153,    -1,   155,   156,    -1,    -1,    -1,    -1,
 
5352
      -1,   162,   163,    -1,    -1,    -1,    -1,   168,    -1,    -1,
 
5353
      -1,   172,    -1,    -1,   175,    -1,    -1,   178,   179,    -1,
 
5354
      -1,    -1,    -1,   184,    -1,   186,    -1,   188,    -1,   190,
 
5355
     191,    -1,    -1,    -1,    -1,   196,   197,   198,   199,   200,
 
5356
     201,   202,    -1,    -1,   205,   206,   207,   208,    -1,   210,
 
5357
     211,   212,   213,   214,   215,    -1,    -1,    -1,   219,   220,
 
5358
     221,   222,   223,   224,   225,   226,    -1,   228,   229,    -1,
 
5359
     231,   232,   233,   234,    -1,    -1,    -1,    -1,    -1,    -1,
 
5360
      -1,    -1,   243,   244,   245,   246,    -1,   248,    -1,   250,
 
5361
     251,   252,   253,    -1,    -1,   256,    -1,    -1,    -1,   260,
 
5362
      -1,    -1,    -1,   264,   265,   266,    -1,   268,    -1,   270,
 
5363
      -1,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
 
5364
     281,   282,    -1,    -1,    -1,   286,   287,   288,   289,    -1,
 
5365
      -1,    -1,   293,    -1,   295,   296,   297,    -1,    -1,    -1,
 
5366
      -1,    -1,   303,    -1,    -1,    -1,    -1,   308,   309,   310,
 
5367
     311,   312,   313,    -1,    -1,   316,   317,   318,   319,   320,
 
5368
     321,   322,   323,   324,   325,   326,    -1,    -1,   329,    -1,
 
5369
     331,   332,    -1,   334,   335,   336,    -1,    -1,   339,   340,
 
5370
     341,   342,   343,   344,   345,   346,   347,    -1,    -1,    -1,
 
5371
     351,    -1,    -1,    -1,   355,    -1,    -1,   358,   359,   360,
 
5372
     361,    -1,    -1,   364,   365,    -1,   367,   368,   369,    -1,
 
5373
      -1,    -1,    -1,   374,    -1,    -1,    -1,   378,   379,   380,
 
5374
      -1,    -1,     4,   384,     6,     7,     8,   388,    -1,   390,
 
5375
     391,    13,    -1,    -1,    -1,    17,    18,    19,    20,    -1,
 
5376
      22,    -1,    -1,    25,    26,    27,    -1,    29,    30,    31,
 
5377
      32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,    41,
 
5378
      42,    -1,    44,    45,    -1,    47,    48,    -1,    50,    51,
 
5379
      -1,    53,    54,    55,    56,    57,    58,    -1,    60,    61,
 
5380
      -1,    63,    -1,    65,    66,    -1,    -1,    69,    70,    71,
 
5381
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
 
5382
      -1,    -1,    -1,    85,    86,    87,    -1,    -1,    90,    -1,
 
5383
      -1,    -1,    -1,    95,    96,    -1,    -1,    -1,    -1,   101,
 
5384
     102,   103,    -1,    -1,    -1,   107,    -1,   109,   110,    -1,
 
5385
     112,   113,    -1,    -1,   116,    -1,   118,   119,   120,   121,
 
5386
     122,   123,    -1,   125,   126,   127,   128,   129,   130,    -1,
 
5387
      -1,    -1,   134,   135,   136,   137,    -1,   139,    -1,   141,
 
5388
      -1,   143,    -1,   145,    -1,    -1,    -1,   149,   150,   151,
 
5389
     152,   153,    -1,   155,   156,    -1,    -1,    -1,    -1,    -1,
 
5390
     162,   163,    -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,
 
5391
     172,    -1,    -1,   175,    -1,    -1,   178,   179,    -1,    -1,
 
5392
      -1,    -1,   184,    -1,   186,    -1,   188,    -1,   190,   191,
 
5393
      -1,    -1,    -1,    -1,   196,   197,   198,   199,   200,   201,
 
5394
     202,    -1,    -1,   205,   206,   207,   208,    -1,   210,   211,
 
5395
     212,   213,   214,   215,    -1,    -1,    -1,   219,   220,   221,
 
5396
     222,   223,   224,   225,   226,    -1,   228,   229,    -1,   231,
 
5397
     232,   233,   234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5398
      -1,   243,   244,   245,   246,    -1,   248,    -1,   250,   251,
 
5399
     252,   253,    -1,    -1,   256,    -1,    -1,    -1,   260,    -1,
 
5400
      -1,    -1,   264,   265,   266,    -1,   268,    -1,   270,    -1,
 
5401
     272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
 
5402
     282,    -1,    -1,    -1,   286,   287,   288,   289,    -1,    -1,
 
5403
      -1,   293,    -1,   295,   296,   297,    -1,    -1,    -1,    -1,
 
5404
      -1,   303,    -1,    -1,    -1,    -1,   308,   309,   310,   311,
 
5405
     312,   313,    -1,    -1,   316,   317,   318,   319,   320,   321,
 
5406
     322,   323,   324,   325,   326,    -1,    -1,   329,    -1,   331,
 
5407
     332,    -1,   334,   335,   336,    -1,    -1,   339,   340,   341,
 
5408
     342,   343,   344,   345,   346,   347,    -1,    -1,    -1,   351,
 
5409
      -1,    -1,    -1,   355,    -1,    -1,   358,   359,   360,   361,
 
5410
      -1,    -1,   364,   365,    -1,   367,   368,   369,    -1,    -1,
 
5411
      -1,    -1,   374,    -1,    -1,    -1,   378,   379,   380,    -1,
 
5412
      -1,     4,   384,     6,     7,     8,   388,    -1,   390,   391,
 
5413
      13,    -1,    -1,    -1,    17,    18,    19,    20,    -1,    22,
 
5414
      -1,    -1,    25,    26,    27,    -1,    29,    30,    31,    32,
 
5415
      -1,    34,    -1,    36,    -1,    -1,    39,    40,    41,    42,
 
5416
      -1,    44,    45,    -1,    47,    48,    -1,    50,    51,    -1,
 
5417
      53,    54,    55,    56,    57,    58,    -1,    60,    61,    -1,
 
5418
      63,    -1,    65,    66,    -1,    -1,    69,    70,    71,    -1,
 
5419
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    -1,
 
5420
      -1,    -1,    85,    86,    87,    -1,    -1,    90,    -1,    -1,
 
5421
      -1,    -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,
 
5422
     103,    -1,    -1,    -1,   107,    -1,   109,   110,    -1,   112,
 
5423
     113,    -1,    -1,   116,    -1,   118,   119,   120,   121,   122,
 
5424
     123,    -1,   125,   126,   127,   128,   129,   130,    -1,    -1,
 
5425
      -1,   134,   135,    -1,   137,    -1,   139,    -1,   141,    -1,
 
5426
     143,    -1,   145,    -1,    -1,    -1,   149,   150,   151,   152,
 
5427
     153,    -1,   155,   156,    -1,    -1,    -1,    -1,    -1,   162,
 
5428
     163,    -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,   172,
 
5429
      -1,    -1,   175,    -1,    -1,   178,   179,    -1,    -1,    -1,
 
5430
      -1,   184,    -1,   186,    -1,   188,    -1,   190,   191,    -1,
 
5431
      -1,    -1,    -1,   196,   197,   198,   199,   200,   201,   202,
 
5432
      -1,    -1,   205,   206,   207,   208,    -1,   210,   211,   212,
 
5433
     213,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
 
5434
     223,   224,   225,   226,    -1,   228,   229,    -1,   231,   232,
 
5435
     233,   234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5436
     243,   244,   245,   246,    -1,   248,    -1,   250,   251,   252,
 
5437
     253,    -1,    -1,   256,    -1,    -1,    -1,   260,    -1,    -1,
 
5438
      -1,   264,   265,   266,    -1,   268,    -1,   270,    -1,   272,
 
5439
     273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
 
5440
      -1,    -1,    -1,   286,   287,   288,   289,    -1,    -1,    -1,
 
5441
     293,    -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,
 
5442
     303,    -1,    -1,    -1,    -1,   308,   309,   310,   311,   312,
 
5443
     313,    -1,    -1,   316,   317,   318,   319,   320,   321,   322,
 
5444
     323,   324,   325,   326,    -1,    -1,   329,    -1,   331,   332,
 
5445
      -1,   334,   335,   336,    -1,    -1,   339,   340,   341,   342,
 
5446
     343,   344,   345,   346,   347,    -1,    -1,    -1,   351,    -1,
 
5447
      -1,    -1,   355,    -1,    -1,   358,   359,   360,   361,    -1,
 
5448
      -1,   364,   365,    -1,   367,   368,   369,    -1,    -1,    -1,
 
5449
      -1,   374,    -1,    -1,    -1,   378,   379,   380,    -1,    -1,
 
5450
       4,   384,     6,     7,     8,   388,    -1,   390,   391,    13,
 
5451
      -1,    -1,    -1,    17,    18,    19,    20,    -1,    22,    -1,
 
5452
      -1,    25,    26,    27,    -1,    29,    30,    31,    32,    -1,
 
5453
      34,    -1,    36,    -1,    -1,    39,    40,    41,    42,    -1,
 
5454
      44,    45,    -1,    47,    48,    -1,    50,    51,    -1,    53,
 
5455
      54,    55,    56,    57,    58,    -1,    60,    61,    -1,    63,
 
5456
      -1,    65,    66,    -1,    -1,    69,    70,    71,    -1,    73,
 
5457
      74,    75,    76,    77,    78,    79,    80,    -1,    -1,    -1,
 
5458
      -1,    85,    86,    87,    -1,    -1,    90,    -1,    -1,    -1,
 
5459
      -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,   103,
 
5460
      -1,    -1,    -1,   107,    -1,   109,   110,    -1,   112,   113,
 
5461
      -1,    -1,   116,    -1,   118,   119,   120,   121,   122,   123,
 
5462
      -1,   125,   126,   127,   128,   129,   130,    -1,    -1,    -1,
 
5463
     134,   135,    -1,   137,    -1,   139,    -1,   141,    -1,   143,
 
5464
      -1,   145,    -1,    -1,    -1,   149,   150,   151,   152,   153,
 
5465
      -1,   155,   156,    -1,    -1,    -1,    -1,    -1,   162,   163,
 
5466
      -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,   172,    -1,
 
5467
      -1,   175,    -1,    -1,   178,   179,    -1,    -1,    -1,    -1,
 
5468
     184,    -1,   186,    -1,   188,    -1,   190,   191,    -1,    -1,
 
5469
      -1,    -1,   196,   197,   198,   199,   200,   201,   202,    -1,
 
5470
      -1,   205,   206,   207,   208,    -1,   210,   211,   212,   213,
 
5471
     214,   215,    -1,    -1,    -1,   219,   220,   221,   222,   223,
 
5472
     224,   225,   226,    -1,   228,   229,    -1,   231,   232,   233,
 
5473
     234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,
 
5474
     244,   245,   246,    -1,   248,    -1,   250,   251,   252,   253,
 
5475
      -1,    -1,   256,    -1,    -1,    -1,   260,    -1,    -1,    -1,
 
5476
     264,   265,   266,    -1,   268,    -1,   270,    -1,   272,   273,
 
5477
     274,   275,   276,   277,   278,   279,    -1,   281,   282,    -1,
 
5478
      -1,    -1,   286,   287,   288,   289,    -1,    -1,    -1,   293,
 
5479
      -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,   303,
 
5480
      -1,    -1,    -1,    -1,   308,   309,   310,   311,   312,   313,
 
5481
      -1,    -1,   316,   317,   318,   319,   320,   321,   322,   323,
 
5482
     324,   325,   326,    -1,    -1,   329,    -1,   331,   332,    -1,
 
5483
     334,   335,   336,    -1,    -1,   339,   340,   341,   342,   343,
 
5484
     344,   345,   346,   347,    -1,    -1,    -1,   351,    -1,    -1,
 
5485
      -1,   355,    -1,    -1,   358,   359,   360,   361,    -1,    -1,
 
5486
     364,   365,    -1,   367,   368,   369,    -1,    -1,    -1,    -1,
 
5487
     374,    -1,    -1,    -1,   378,   379,   380,    -1,    -1,    -1,
 
5488
     384,    -1,    -1,    -1,   388,    -1,   390,   391,     4,    -1,
 
5489
       6,     7,     8,     9,    -1,    -1,    -1,    13,    -1,    -1,
 
5490
      -1,    17,    18,    19,    20,    -1,    22,    -1,    -1,    25,
 
5491
      26,    27,    -1,    29,    30,    31,    32,    -1,    34,    -1,
 
5492
      36,    -1,    -1,    39,    40,    41,    42,    -1,    44,    45,
 
5493
      -1,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
 
5494
      56,    57,    58,    -1,    60,    61,    -1,    63,    -1,    65,
 
5495
      66,    -1,    -1,    69,    70,    71,    -1,    73,    74,    75,
 
5496
      76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,    85,
 
5497
      86,    87,    -1,    -1,    90,    -1,    -1,    -1,    -1,    95,
 
5498
      96,    -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,
 
5499
      -1,   107,    -1,   109,   110,    -1,   112,   113,    -1,    -1,
 
5500
     116,    -1,   118,   119,   120,   121,   122,   123,    -1,   125,
 
5501
     126,   127,   128,   129,   130,    -1,    -1,    -1,   134,   135,
 
5502
      -1,   137,    -1,   139,    -1,   141,    -1,   143,    -1,   145,
 
5503
      -1,    -1,    -1,   149,   150,   151,   152,   153,    -1,   155,
 
5504
     156,    -1,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,
 
5505
      -1,    -1,   168,    -1,    -1,    -1,   172,    -1,    -1,   175,
 
5506
      -1,    -1,   178,   179,    -1,    -1,    -1,    -1,   184,    -1,
 
5507
     186,    -1,   188,    -1,   190,   191,    -1,    -1,    -1,    -1,
 
5508
     196,   197,   198,   199,   200,   201,   202,    -1,    -1,   205,
 
5509
     206,   207,   208,    -1,   210,   211,   212,   213,   214,   215,
 
5510
      -1,    -1,    -1,   219,   220,   221,    -1,   223,   224,   225,
 
5511
     226,    -1,   228,   229,    -1,   231,   232,   233,   234,    -1,
 
5512
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,   244,   245,
 
5513
     246,    -1,   248,    -1,   250,   251,   252,   253,    -1,    -1,
 
5514
     256,    -1,    -1,    -1,   260,    -1,    -1,    -1,   264,   265,
 
5515
     266,    -1,   268,    -1,   270,    -1,   272,   273,   274,   275,
 
5516
     276,   277,   278,   279,    -1,   281,   282,    -1,    -1,    -1,
 
5517
     286,   287,   288,   289,    -1,    -1,    -1,   293,    -1,   295,
 
5518
     296,   297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,
 
5519
      -1,    -1,   308,   309,   310,   311,   312,   313,    -1,    -1,
 
5520
     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
 
5521
     326,    -1,    -1,   329,    -1,   331,   332,    -1,   334,   335,
 
5522
     336,    -1,    -1,   339,   340,   341,   342,   343,   344,   345,
 
5523
     346,   347,    -1,    -1,    -1,   351,    -1,    -1,    -1,   355,
 
5524
      -1,    -1,   358,   359,   360,   361,    -1,    -1,   364,   365,
 
5525
      -1,   367,   368,   369,    -1,    -1,    -1,    -1,   374,    -1,
 
5526
      -1,    -1,   378,   379,   380,    -1,    -1,     4,   384,     6,
 
5527
       7,     8,   388,    -1,   390,   391,    13,    -1,    -1,    -1,
 
5528
      17,    18,    19,    20,    -1,    22,    -1,    -1,    25,    26,
 
5529
      27,    -1,    29,    30,    31,    32,    -1,    34,    -1,    36,
 
5530
      -1,    -1,    39,    40,    41,    42,    -1,    44,    45,    -1,
 
5531
      47,    48,    -1,    50,    51,    -1,    53,    54,    55,    56,
 
5532
      57,    58,    -1,    60,    61,    -1,    63,    -1,    65,    66,
 
5533
      -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76,
 
5534
      77,    78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,
 
5535
      87,    -1,    -1,    90,    -1,    -1,    -1,    -1,    95,    96,
 
5536
      -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
 
5537
     107,    -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,
 
5538
      -1,   118,   119,   120,   121,   122,   123,    -1,   125,   126,
 
5539
     127,   128,   129,   130,    -1,    -1,    -1,   134,   135,    -1,
 
5540
     137,    -1,   139,    -1,   141,    -1,   143,    -1,   145,    -1,
 
5541
      -1,    -1,   149,   150,   151,   152,   153,    -1,   155,   156,
 
5542
      -1,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,    -1,
 
5543
      -1,   168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,
 
5544
      -1,   178,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,
 
5545
      -1,   188,    -1,   190,   191,    -1,    -1,    -1,    -1,   196,
 
5546
     197,   198,   199,   200,   201,   202,    -1,    -1,   205,   206,
 
5547
     207,   208,    -1,   210,   211,   212,   213,   214,   215,    -1,
 
5548
      -1,    -1,   219,   220,   221,   222,   223,   224,   225,   226,
 
5549
      -1,   228,   229,    -1,   231,   232,   233,   234,    -1,    -1,
 
5550
      -1,    -1,    -1,    -1,    -1,    -1,   243,   244,   245,   246,
 
5551
      -1,   248,    -1,   250,   251,   252,   253,    -1,    -1,   256,
 
5552
      -1,    -1,    -1,   260,    -1,    -1,    -1,   264,   265,   266,
 
5553
      -1,   268,    -1,   270,    -1,   272,   273,   274,   275,   276,
 
5554
     277,   278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,
 
5555
     287,   288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,
 
5556
     297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,
 
5557
      -1,   308,   309,   310,   311,   312,   313,    -1,    -1,   316,
 
5558
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
 
5559
      -1,    -1,   329,    -1,   331,   332,    -1,   334,   335,   336,
 
5560
      -1,    -1,   339,   340,   341,   342,   343,   344,   345,   346,
 
5561
     347,    -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,
 
5562
      -1,   358,   359,   360,   361,    -1,    -1,   364,   365,    -1,
 
5563
     367,   368,   369,    -1,    -1,    -1,    -1,   374,    -1,    -1,
 
5564
      -1,   378,   379,   380,    -1,    -1,     4,   384,     6,     7,
 
5565
       8,   388,    -1,   390,   391,    13,    -1,    -1,    -1,    17,
 
5566
      18,    19,    20,    -1,    22,    -1,    -1,    25,    26,    27,
 
5567
      -1,    29,    30,    31,    32,    -1,    34,    -1,    36,    -1,
 
5568
      -1,    39,    40,    41,    42,    -1,    44,    45,    -1,    47,
 
5569
      48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
 
5570
      58,    -1,    60,    61,    -1,    63,    -1,    65,    66,    -1,
 
5571
      -1,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
 
5572
      78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,    87,
 
5573
      -1,    -1,    90,    -1,    -1,    -1,    -1,    95,    96,    -1,
 
5574
      -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,
 
5575
      -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,
 
5576
     118,   119,   120,   121,   122,   123,    -1,   125,   126,   127,
 
5577
     128,   129,   130,    -1,    -1,    -1,   134,   135,    -1,   137,
 
5578
      -1,   139,    -1,   141,    -1,   143,    -1,   145,    -1,    -1,
 
5579
      -1,   149,   150,   151,   152,   153,    -1,   155,   156,    -1,
 
5580
      -1,    -1,    -1,    -1,   162,   163,    -1,    -1,    -1,    -1,
 
5581
     168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,
 
5582
     178,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,    -1,
 
5583
     188,    -1,   190,   191,    -1,    -1,    -1,    -1,   196,   197,
 
5584
     198,   199,   200,   201,   202,    -1,    -1,   205,   206,   207,
 
5585
     208,    -1,   210,   211,   212,   213,   214,   215,    -1,    -1,
 
5586
      -1,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
 
5587
     228,   229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,
 
5588
      -1,    -1,    -1,    -1,    -1,   243,   244,   245,   246,    -1,
 
5589
     248,    -1,   250,   251,   252,   253,    -1,    -1,   256,    -1,
 
5590
      -1,    -1,   260,    -1,    -1,    -1,   264,   265,   266,    -1,
 
5591
     268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
 
5592
     278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,
 
5593
     288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,
 
5594
      -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,
 
5595
     308,   309,   310,   311,   312,   313,    -1,    -1,   316,   317,
 
5596
     318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
 
5597
      -1,   329,    -1,   331,   332,    -1,   334,   335,   336,    -1,
 
5598
      -1,   339,   340,   341,   342,   343,   344,   345,   346,   347,
 
5599
      -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,
 
5600
     358,   359,   360,   361,    -1,    -1,   364,   365,    -1,   367,
 
5601
     368,   369,    -1,    -1,    -1,    -1,   374,    -1,    -1,    -1,
 
5602
     378,   379,   380,    -1,    -1,     4,   384,     6,     7,     8,
 
5603
     388,    -1,   390,   391,    13,    -1,    -1,    -1,    17,    18,
 
5604
      19,    20,    -1,    22,    -1,    -1,    25,    26,    27,    -1,
 
5605
      29,    30,    31,    32,    -1,    34,    -1,    36,    -1,    -1,
 
5606
      39,    40,    41,    42,    -1,    44,    45,    -1,    47,    48,
 
5607
      -1,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
 
5608
      -1,    60,    61,    -1,    63,    -1,    65,    66,    -1,    -1,
 
5609
      69,    70,    71,    -1,    73,    74,    75,    76,    77,    78,
 
5610
      79,    80,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
 
5611
      -1,    90,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,
 
5612
      -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
 
5613
     109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,   118,
 
5614
     119,   120,   121,   122,   123,    -1,   125,   126,   127,   128,
 
5615
     129,   130,    -1,    -1,    -1,   134,   135,    -1,   137,    -1,
 
5616
     139,    -1,   141,    -1,   143,    -1,   145,    -1,    -1,    -1,
 
5617
     149,   150,   151,   152,   153,    -1,   155,   156,    -1,    -1,
 
5618
      -1,    -1,    -1,   162,   163,    -1,    -1,    -1,    -1,   168,
 
5619
      -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,   178,
 
5620
     179,    -1,    -1,    -1,    -1,   184,    -1,   186,    -1,   188,
 
5621
      -1,   190,   191,    -1,    -1,    -1,    -1,   196,   197,   198,
 
5622
     199,   200,   201,   202,    -1,    -1,   205,   206,   207,   208,
 
5623
      -1,   210,   211,   212,   213,   214,   215,    -1,    -1,    -1,
 
5624
     219,   220,   221,   222,   223,   224,   225,   226,    -1,   228,
 
5625
     229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,    -1,
 
5626
      -1,    -1,    -1,    -1,   243,   244,   245,   246,    -1,   248,
 
5627
      -1,   250,   251,   252,   253,    -1,    -1,   256,    -1,    -1,
 
5628
      -1,   260,    -1,    -1,    -1,   264,   265,   266,    -1,   268,
 
5629
      -1,   270,    -1,   272,   273,   274,   275,   276,   277,   278,
 
5630
     279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,   288,
 
5631
     289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,    -1,
 
5632
      -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,   308,
 
5633
     309,   310,   311,   312,   313,    -1,    -1,   316,   317,   318,
 
5634
     319,   320,   321,   322,   323,   324,   325,   326,    -1,    -1,
 
5635
     329,    -1,   331,   332,    -1,   334,   335,   336,    -1,    -1,
 
5636
     339,   340,   341,   342,   343,   344,   345,   346,   347,    -1,
 
5637
      -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,   358,
 
5638
     359,   360,   361,    -1,    -1,   364,   365,    -1,   367,   368,
 
5639
     369,    -1,    -1,    -1,    -1,   374,    -1,    -1,    -1,   378,
 
5640
     379,   380,    -1,    -1,     4,   384,     6,     7,     8,   388,
 
5641
      -1,   390,   391,    13,    -1,    -1,    -1,    17,    18,    19,
 
5642
      20,    -1,    22,    -1,    -1,    25,    26,    27,    -1,    29,
 
5643
      30,    31,    32,    -1,    34,    -1,    36,    -1,    -1,    39,
 
5644
      40,    41,    42,    -1,    44,    45,    -1,    47,    48,    -1,
 
5645
      50,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
 
5646
      60,    61,    -1,    63,    -1,    65,    66,    -1,    -1,    69,
 
5647
      70,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
 
5648
      80,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
 
5649
      90,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,    -1,
 
5650
      -1,   101,   102,   103,    -1,    -1,    -1,   107,    -1,   109,
 
5651
     110,    -1,   112,   113,    -1,    -1,   116,    -1,   118,   119,
 
5652
     120,   121,   122,   123,    -1,   125,   126,   127,   128,   129,
 
5653
     130,    -1,    -1,    -1,   134,   135,    -1,   137,    -1,   139,
 
5654
      -1,   141,    -1,   143,    -1,   145,    -1,    -1,    -1,   149,
 
5655
     150,   151,   152,   153,    -1,   155,   156,    -1,    -1,    -1,
 
5656
      -1,    -1,   162,   163,    -1,    -1,    -1,    -1,   168,    -1,
 
5657
      -1,    -1,   172,    -1,    -1,   175,    -1,    -1,   178,   179,
 
5658
      -1,    -1,    -1,    -1,   184,    -1,   186,    -1,   188,    -1,
 
5659
     190,   191,    -1,    -1,    -1,    -1,   196,   197,   198,   199,
 
5660
     200,   201,   202,    -1,    -1,   205,   206,   207,   208,    -1,
 
5661
     210,   211,   212,   213,   214,   215,    -1,    -1,    -1,   219,
 
5662
     220,   221,    -1,   223,   224,   225,   226,    -1,   228,   229,
 
5663
      -1,   231,   232,   233,   234,    -1,    -1,    -1,    -1,    -1,
 
5664
      -1,    -1,    -1,   243,   244,   245,   246,    -1,   248,    -1,
 
5665
     250,   251,   252,   253,    -1,    -1,   256,    -1,    -1,    -1,
 
5666
     260,    -1,    -1,    -1,   264,   265,   266,    -1,   268,    -1,
 
5667
     270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
 
5668
      -1,   281,   282,    -1,    -1,    -1,   286,   287,   288,   289,
 
5669
      -1,    -1,    -1,   293,    -1,   295,   296,   297,    -1,    -1,
 
5670
      -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,   308,   309,
 
5671
     310,   311,   312,   313,    -1,    -1,   316,   317,   318,   319,
 
5672
     320,   321,   322,   323,   324,   325,   326,    -1,    -1,   329,
 
5673
      -1,   331,   332,    -1,   334,   335,   336,    -1,    -1,   339,
 
5674
     340,   341,   342,   343,   344,   345,   346,   347,    -1,    -1,
 
5675
      -1,   351,    -1,    -1,    -1,   355,    -1,    -1,   358,   359,
 
5676
     360,   361,    -1,    -1,   364,   365,    -1,   367,   368,   369,
 
5677
      -1,    -1,    -1,    -1,   374,    -1,    -1,    -1,   378,   379,
 
5678
     380,    -1,    -1,     4,   384,     6,     7,     8,   388,    -1,
 
5679
     390,   391,    13,    -1,    -1,    -1,    17,    18,    19,    20,
 
5680
      -1,    22,    -1,    -1,    25,    26,    27,    -1,    29,    30,
 
5681
      31,    32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,
 
5682
      41,    42,    -1,    44,    45,    -1,    47,    48,    -1,    50,
 
5683
      51,    -1,    53,    54,    55,    56,    57,    58,    -1,    60,
 
5684
      61,    -1,    63,    -1,    65,    66,    -1,    -1,    69,    70,
 
5685
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
 
5686
      -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    90,
 
5687
      -1,    -1,    -1,    -1,    95,    96,    -1,    -1,    -1,    -1,
 
5688
     101,   102,   103,    -1,    -1,    -1,   107,    -1,   109,   110,
 
5689
      -1,   112,   113,    -1,    -1,   116,    -1,   118,   119,   120,
 
5690
     121,   122,   123,    -1,   125,   126,   127,   128,   129,   130,
 
5691
      -1,    -1,    -1,   134,   135,    -1,   137,    -1,   139,    -1,
 
5692
     141,    -1,   143,    -1,   145,    -1,    -1,    -1,   149,   150,
 
5693
     151,   152,   153,    -1,   155,   156,    -1,    -1,    -1,    -1,
 
5694
      -1,   162,   163,    -1,    -1,    -1,    -1,   168,    -1,    -1,
 
5695
      -1,   172,    -1,    -1,   175,    -1,    -1,   178,   179,    -1,
 
5696
      -1,    -1,    -1,   184,    -1,   186,    -1,   188,    -1,   190,
 
5697
     191,    -1,    -1,    -1,    -1,   196,   197,   198,   199,   200,
 
5698
     201,   202,    -1,    -1,   205,   206,   207,   208,    -1,   210,
 
5699
     211,   212,   213,   214,   215,    -1,    -1,    -1,   219,   220,
 
5700
     221,    -1,   223,   224,   225,   226,    -1,   228,   229,    -1,
 
5701
     231,   232,   233,   234,    -1,    -1,    -1,    -1,    -1,    -1,
 
5702
      -1,    -1,   243,   244,   245,   246,    -1,   248,    -1,   250,
 
5703
     251,   252,   253,    -1,    -1,   256,    -1,    -1,    -1,   260,
 
5704
      -1,    -1,    -1,   264,   265,   266,    -1,   268,    -1,   270,
 
5705
      -1,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
 
5706
     281,   282,    -1,    -1,    -1,   286,   287,   288,   289,    -1,
 
5707
      -1,    -1,   293,    -1,   295,   296,   297,    -1,    -1,    -1,
 
5708
      -1,    -1,   303,    -1,    -1,    -1,    -1,   308,   309,   310,
 
5709
     311,   312,   313,    -1,    -1,   316,   317,   318,   319,   320,
 
5710
     321,   322,   323,   324,   325,   326,    -1,    -1,   329,    -1,
 
5711
     331,   332,    -1,   334,   335,   336,    -1,    -1,   339,   340,
 
5712
     341,   342,   343,   344,   345,   346,   347,    -1,    -1,    -1,
 
5713
     351,    -1,    -1,    -1,   355,    -1,    -1,   358,   359,   360,
 
5714
     361,    -1,    -1,   364,   365,    -1,   367,   368,   369,    -1,
 
5715
      -1,    -1,    -1,   374,    -1,    -1,    -1,   378,   379,   380,
 
5716
      -1,    -1,     4,   384,     6,     7,     8,   388,    -1,   390,
 
5717
     391,    13,    -1,    -1,    -1,    17,    18,    19,    20,    -1,
 
5718
      22,    -1,    -1,    25,    26,    27,    -1,    29,    30,    31,
 
5719
      32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,    41,
 
5720
      42,    -1,    44,    45,    -1,    47,    48,    -1,    50,    51,
 
5721
      -1,    53,    54,    55,    56,    57,    58,    -1,    60,    61,
 
5722
      -1,    63,    -1,    65,    66,    -1,    -1,    69,    70,    71,
 
5723
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
 
5724
      -1,    -1,    -1,    85,    86,    87,    -1,    -1,    90,    -1,
 
5725
      -1,    -1,    -1,    95,    96,    -1,    -1,    -1,    -1,   101,
 
5726
     102,   103,    -1,    -1,    -1,   107,    -1,   109,   110,    -1,
 
5727
     112,   113,    -1,    -1,   116,    -1,   118,   119,   120,   121,
 
5728
     122,   123,    -1,   125,   126,   127,   128,   129,   130,    -1,
 
5729
      -1,    -1,   134,   135,    -1,   137,    -1,   139,    -1,   141,
 
5730
      -1,   143,    -1,   145,    -1,    -1,    -1,   149,   150,   151,
 
5731
     152,   153,    -1,   155,   156,    -1,    -1,    -1,    -1,    -1,
 
5732
     162,   163,    -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,
 
5733
     172,    -1,    -1,   175,    -1,    -1,   178,   179,    -1,    -1,
 
5734
      -1,    -1,   184,    -1,   186,    -1,   188,    -1,   190,   191,
 
5735
      -1,    -1,    -1,    -1,   196,   197,   198,   199,   200,   201,
 
5736
     202,    -1,    -1,   205,   206,   207,   208,    -1,   210,   211,
 
5737
     212,   213,   214,   215,    -1,    -1,    -1,   219,   220,   221,
 
5738
      -1,   223,   224,   225,   226,    -1,   228,   229,    -1,   231,
 
5739
     232,   233,   234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5740
      -1,   243,   244,   245,   246,    -1,   248,    -1,   250,   251,
 
5741
     252,   253,    -1,    -1,   256,    -1,    -1,    -1,   260,    -1,
 
5742
      -1,    -1,   264,   265,   266,    -1,   268,    -1,   270,    -1,
 
5743
     272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
 
5744
     282,    -1,    -1,    -1,   286,   287,   288,   289,    -1,    -1,
 
5745
      -1,   293,    -1,   295,   296,   297,    -1,    -1,    -1,    -1,
 
5746
      -1,   303,    -1,    -1,    -1,    -1,   308,   309,   310,   311,
 
5747
     312,   313,    -1,    -1,   316,   317,   318,   319,   320,   321,
 
5748
     322,   323,   324,   325,   326,    -1,    -1,   329,    -1,   331,
 
5749
     332,    -1,   334,   335,   336,    -1,    -1,   339,   340,   341,
 
5750
     342,   343,   344,   345,   346,   347,    -1,    -1,    -1,   351,
 
5751
      -1,    -1,    -1,   355,    -1,    -1,   358,   359,   360,   361,
 
5752
      -1,    -1,   364,   365,    -1,   367,   368,   369,    -1,    -1,
 
5753
      -1,    -1,   374,    -1,    -1,    -1,   378,   379,   380,    -1,
 
5754
      -1,     4,   384,     6,     7,     8,   388,    -1,   390,   391,
 
5755
      13,    -1,    -1,    -1,    17,    18,    19,    20,    -1,    22,
 
5756
      -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,
 
5757
      -1,    34,    -1,    36,    -1,    -1,    39,    -1,    -1,    42,
 
5758
      -1,    -1,    45,    -1,    47,    48,    -1,    50,    51,    -1,
 
5759
      53,    54,    55,    56,    57,    58,    -1,    60,    61,    -1,
 
5760
      63,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
 
5761
      -1,    74,    75,    76,    77,    -1,    -1,    80,    -1,    -1,
 
5762
      -1,    -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,
 
5763
      -1,    -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,
 
5764
     103,    -1,    -1,    -1,   107,    -1,   109,   110,    -1,   112,
 
5765
     113,    -1,    -1,   116,    -1,   118,   119,    -1,   121,    -1,
 
5766
      -1,    -1,   125,   126,   127,   128,    -1,   130,    -1,    -1,
 
5767
      -1,   134,   135,    -1,   137,    -1,   139,    -1,    -1,    -1,
 
5768
     143,    -1,    -1,    -1,    -1,    -1,   149,   150,   151,   152,
 
5769
      -1,    -1,   155,   156,    -1,    -1,    -1,    -1,    -1,    -1,
 
5770
      -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,   172,
 
5771
      -1,    -1,   175,    -1,    -1,    -1,   179,   180,    -1,    -1,
 
5772
      -1,   184,    -1,   186,    -1,   188,    -1,   190,    -1,    -1,
 
5773
      -1,    -1,    -1,   196,   197,    -1,   199,   200,   201,   202,
 
5774
      -1,    -1,   205,   206,    -1,   208,    -1,   210,    -1,   212,
 
5775
     213,   214,   215,    -1,    -1,    -1,   219,   220,   221,    -1,
 
5776
      -1,   224,    -1,    -1,    -1,   228,   229,    -1,   231,   232,
 
5777
     233,   234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5778
     243,   244,   245,    -1,    -1,   248,    -1,   250,   251,   252,
 
5779
     253,    -1,    -1,   256,    -1,    -1,    -1,   260,    -1,    -1,
 
5780
      -1,   264,    -1,    -1,    -1,   268,    -1,   270,    -1,    -1,
 
5781
     273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
 
5782
      -1,    -1,    -1,   286,   287,   288,   289,    -1,    -1,    -1,
 
5783
     293,    -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,
 
5784
     303,    -1,    -1,    -1,    -1,   308,   309,    -1,    -1,   312,
 
5785
     313,    -1,    -1,   316,   317,   318,    -1,    -1,   321,   322,
 
5786
     323,    -1,   325,   326,    -1,    -1,   329,    -1,   331,   332,
 
5787
      -1,   334,   335,   336,    -1,    -1,   339,    -1,    -1,   342,
 
5788
     343,   344,    -1,   346,   347,    -1,    -1,    -1,   351,    -1,
 
5789
      -1,    -1,   355,    -1,    -1,    -1,    -1,    -1,   361,    -1,
 
5790
      -1,   364,    -1,    -1,    -1,   368,   369,    -1,    -1,    -1,
 
5791
      -1,   374,    -1,    -1,    -1,   378,     4,    -1,     6,     7,
 
5792
       8,    -1,    -1,    -1,    -1,    13,    -1,    -1,   391,    17,
 
5793
      18,    19,    20,    -1,    22,    -1,    -1,    -1,    -1,    27,
 
5794
      -1,    29,    30,    31,    32,    -1,    34,    -1,    36,    -1,
 
5795
      -1,    39,    -1,    -1,    42,    -1,    -1,    45,    -1,    47,
 
5796
      48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
 
5797
      58,    -1,    60,    61,    -1,    63,    -1,    -1,    -1,    -1,
 
5798
      -1,    69,    -1,    -1,    -1,    -1,    74,    75,    76,    77,
 
5799
      -1,    -1,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
 
5800
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,
 
5801
      -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,
 
5802
      -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,
 
5803
     118,   119,    -1,   121,    -1,    -1,    -1,   125,   126,   127,
 
5804
     128,    -1,   130,    -1,    -1,    -1,   134,   135,    -1,   137,
 
5805
      -1,   139,    -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,
 
5806
      -1,   149,   150,   151,   152,    -1,    -1,   155,   156,    -1,
 
5807
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5808
     168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,
 
5809
      -1,   179,   180,    -1,    -1,    -1,   184,    -1,   186,    -1,
 
5810
     188,    -1,   190,    -1,    -1,    -1,    -1,    -1,   196,   197,
 
5811
      -1,   199,   200,   201,   202,    -1,    -1,   205,   206,    -1,
 
5812
     208,    -1,   210,    -1,   212,   213,   214,   215,    -1,    -1,
 
5813
      -1,   219,   220,   221,    -1,    -1,   224,    -1,    -1,    -1,
 
5814
     228,   229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,
 
5815
      -1,    -1,    -1,    -1,    -1,   243,   244,   245,    -1,    -1,
 
5816
     248,    -1,   250,   251,   252,   253,    -1,    -1,   256,    -1,
 
5817
      -1,    -1,   260,    -1,    -1,    -1,   264,    -1,    -1,    -1,
 
5818
     268,    -1,   270,    -1,    -1,   273,   274,   275,   276,   277,
 
5819
     278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,
 
5820
     288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,
 
5821
      -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,
 
5822
     308,   309,    -1,    -1,   312,   313,    -1,    -1,   316,   317,
 
5823
     318,    -1,    -1,   321,   322,   323,    -1,   325,   326,    -1,
 
5824
      -1,   329,    -1,   331,   332,    -1,   334,   335,   336,    -1,
 
5825
      -1,   339,    -1,    -1,   342,   343,   344,    -1,   346,   347,
 
5826
      -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,
 
5827
      -1,    -1,    -1,   361,    -1,    -1,   364,    -1,    -1,    -1,
 
5828
     368,   369,    -1,    -1,    -1,    -1,   374,    -1,    -1,    -1,
 
5829
     378,     4,    -1,     6,     7,     8,    -1,    -1,    -1,    -1,
 
5830
      13,    -1,    -1,   391,    17,    18,    19,    20,    -1,    22,
 
5831
      -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,
 
5832
      -1,    34,    -1,    36,    -1,    -1,    39,    -1,    -1,    42,
 
5833
      -1,    -1,    45,    -1,    47,    48,    -1,    50,    51,    -1,
 
5834
      53,    54,    55,    56,    57,    58,    -1,    60,    61,    -1,
 
5835
      63,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
 
5836
      -1,    74,    75,    76,    77,    -1,    -1,    80,    -1,    -1,
 
5837
      -1,    -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,
 
5838
      -1,    -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,
 
5839
     103,    -1,    -1,    -1,   107,    -1,   109,   110,    -1,   112,
 
5840
     113,    -1,    -1,   116,    -1,   118,   119,    -1,   121,    -1,
 
5841
      -1,    -1,   125,   126,   127,   128,    -1,   130,    -1,    -1,
 
5842
      -1,   134,   135,    -1,   137,    -1,   139,    -1,    -1,    -1,
 
5843
     143,    -1,    -1,    -1,    -1,    -1,   149,   150,   151,   152,
 
5844
      -1,    -1,   155,   156,    -1,    -1,    -1,    -1,    -1,    -1,
 
5845
      -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,   172,
 
5846
      -1,    -1,   175,    -1,    -1,    -1,   179,    -1,    -1,    -1,
 
5847
      -1,   184,    -1,   186,    -1,   188,    -1,   190,    -1,    -1,
 
5848
      -1,    -1,    -1,   196,   197,    -1,   199,   200,   201,   202,
 
5849
      -1,    -1,   205,   206,    -1,   208,    -1,   210,    -1,   212,
 
5850
     213,   214,   215,    -1,    -1,    -1,   219,   220,   221,    -1,
 
5851
      -1,   224,    -1,    -1,    -1,   228,   229,    -1,   231,   232,
 
5852
     233,   234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5853
     243,   244,   245,    -1,    -1,   248,    -1,   250,   251,   252,
 
5854
     253,    -1,    -1,   256,    -1,    -1,    -1,   260,    -1,    -1,
 
5855
      -1,   264,    -1,    -1,    -1,   268,    -1,   270,    -1,    -1,
 
5856
     273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
 
5857
      -1,    -1,    -1,   286,   287,   288,   289,    -1,    -1,    -1,
 
5858
     293,    -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,
 
5859
     303,    -1,    -1,    -1,    -1,   308,   309,    -1,    -1,   312,
 
5860
     313,    -1,    -1,   316,   317,   318,    -1,    -1,   321,   322,
 
5861
     323,    -1,   325,   326,    -1,    -1,   329,    -1,    -1,   332,
 
5862
      -1,   334,   335,   336,    -1,    -1,   339,    -1,    -1,   342,
 
5863
     343,   344,    -1,   346,   347,    -1,    -1,    -1,   351,    -1,
 
5864
      -1,    -1,   355,    -1,    -1,    -1,    -1,    -1,   361,    -1,
 
5865
      -1,   364,    -1,    -1,    -1,   368,   369,    -1,    -1,    -1,
 
5866
      -1,   374,    -1,    -1,    -1,   378,     4,    -1,     6,     7,
 
5867
       8,    -1,   385,    -1,    -1,    13,    -1,   390,   391,    17,
 
5868
      18,    19,    20,    -1,    22,    -1,    -1,    -1,    -1,    27,
 
5869
      -1,    29,    30,    31,    32,    -1,    34,    -1,    36,    -1,
 
5870
      -1,    39,    -1,    -1,    42,    -1,    -1,    45,    -1,    47,
 
5871
      48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
 
5872
      58,    -1,    60,    61,    -1,    63,    -1,    -1,    -1,    -1,
 
5873
      -1,    69,    -1,    -1,    -1,    -1,    74,    75,    76,    77,
 
5874
      -1,    -1,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
 
5875
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,
 
5876
      -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,
 
5877
      -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,
 
5878
     118,   119,    -1,   121,    -1,    -1,    -1,   125,   126,   127,
 
5879
     128,    -1,   130,    -1,    -1,    -1,   134,   135,    -1,   137,
 
5880
      -1,   139,    -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,
 
5881
      -1,   149,   150,   151,   152,    -1,    -1,   155,   156,    -1,
 
5882
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5883
     168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,
 
5884
      -1,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,    -1,
 
5885
     188,    -1,   190,    -1,    -1,    -1,    -1,    -1,   196,   197,
 
5886
      -1,   199,   200,   201,   202,    -1,    -1,   205,   206,    -1,
 
5887
     208,    -1,   210,    -1,   212,   213,   214,   215,    -1,    -1,
 
5888
      -1,   219,   220,   221,    -1,    -1,   224,    -1,    -1,    -1,
 
5889
     228,   229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,
 
5890
      -1,    -1,    -1,    -1,    -1,   243,   244,   245,    -1,    -1,
 
5891
     248,    -1,   250,   251,   252,   253,    -1,    -1,   256,    -1,
 
5892
      -1,    -1,   260,    -1,    -1,    -1,   264,    -1,    -1,    -1,
 
5893
     268,    -1,   270,    -1,    -1,   273,   274,   275,   276,   277,
 
5894
     278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,
 
5895
     288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,
 
5896
      -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,
 
5897
     308,   309,    -1,    -1,   312,   313,    -1,    -1,   316,   317,
 
5898
     318,    -1,    -1,   321,   322,   323,    -1,   325,   326,    -1,
 
5899
      -1,   329,    -1,    -1,   332,    -1,   334,   335,   336,    -1,
 
5900
      -1,   339,    -1,    -1,   342,   343,   344,    -1,   346,   347,
 
5901
      -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,
 
5902
      -1,    -1,    -1,   361,    -1,    -1,   364,    -1,    -1,    -1,
 
5903
     368,   369,    -1,    -1,    -1,    -1,   374,    -1,    -1,    -1,
 
5904
     378,     4,    -1,     6,     7,     8,    -1,    -1,    -1,    -1,
 
5905
      13,    -1,   390,   391,    17,    18,    19,    20,    -1,    22,
 
5906
      -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,
 
5907
      -1,    34,    -1,    36,    -1,    -1,    39,    -1,    -1,    42,
 
5908
      -1,    -1,    45,    -1,    47,    48,    -1,    50,    51,    -1,
 
5909
      53,    54,    55,    56,    57,    58,    -1,    60,    61,    62,
 
5910
      63,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
 
5911
      -1,    74,    75,    76,    77,    -1,    -1,    80,    -1,    -1,
 
5912
      -1,    -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,
 
5913
      -1,    -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,
 
5914
     103,    -1,    -1,    -1,   107,    -1,   109,   110,    -1,   112,
 
5915
     113,    -1,    -1,   116,    -1,   118,   119,    -1,   121,    -1,
 
5916
      -1,    -1,   125,   126,   127,   128,    -1,   130,    -1,    -1,
 
5917
      -1,   134,   135,    -1,   137,    -1,   139,    -1,    -1,    -1,
 
5918
     143,    -1,    -1,    -1,    -1,    -1,   149,   150,   151,   152,
 
5919
      -1,    -1,   155,   156,   157,    -1,    -1,    -1,    -1,    -1,
 
5920
      -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,   172,
 
5921
     173,    -1,   175,    -1,    -1,    -1,   179,    -1,   181,    -1,
 
5922
      -1,   184,    -1,   186,    -1,   188,    -1,   190,    -1,    -1,
 
5923
      -1,    -1,    -1,   196,   197,    -1,   199,   200,   201,   202,
 
5924
      -1,    -1,   205,   206,    -1,   208,    -1,   210,    -1,   212,
 
5925
     213,   214,   215,    -1,    -1,    -1,   219,   220,   221,    -1,
 
5926
      -1,   224,    -1,    -1,    -1,   228,   229,    -1,   231,   232,
 
5927
     233,   234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5928
     243,   244,   245,    -1,    -1,   248,    -1,   250,   251,   252,
 
5929
     253,    -1,    -1,   256,    -1,    -1,    -1,   260,    -1,    -1,
 
5930
      -1,   264,    -1,    -1,    -1,   268,    -1,   270,    -1,    -1,
 
5931
     273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
 
5932
     283,    -1,    -1,   286,   287,   288,   289,    -1,    -1,    -1,
 
5933
     293,    -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,
 
5934
     303,    -1,    -1,    -1,    -1,   308,   309,    -1,    -1,   312,
 
5935
     313,    -1,    -1,   316,   317,   318,    -1,    -1,   321,   322,
 
5936
     323,    -1,   325,   326,    -1,    -1,   329,    -1,    -1,   332,
 
5937
      -1,   334,   335,   336,    -1,    -1,   339,    -1,    -1,   342,
 
5938
     343,   344,    -1,   346,   347,    -1,    -1,    -1,   351,    -1,
 
5939
      -1,    -1,   355,    -1,    -1,    -1,    -1,    -1,   361,    -1,
 
5940
      -1,   364,    -1,    -1,    -1,   368,   369,    -1,    -1,    -1,
 
5941
       4,   374,     6,     7,     8,   378,    -1,    -1,    -1,    13,
 
5942
      -1,    -1,    -1,    17,    18,    19,    20,   390,    22,    -1,
 
5943
      -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,    -1,
 
5944
      34,    -1,    36,    -1,    -1,    39,    -1,    -1,    42,    -1,
 
5945
      -1,    45,    -1,    47,    48,    -1,    50,    51,    -1,    53,
 
5946
      54,    55,    56,    57,    58,    -1,    60,    61,    62,    63,
 
5947
      -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,
 
5948
      74,    75,    76,    77,    -1,    -1,    80,    -1,    -1,    -1,
 
5949
      -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5950
      -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,   103,
 
5951
      -1,    -1,    -1,   107,    -1,   109,   110,    -1,   112,   113,
 
5952
      -1,    -1,   116,    -1,   118,   119,    -1,   121,    -1,    -1,
 
5953
      -1,   125,   126,   127,   128,    -1,   130,    -1,    -1,    -1,
 
5954
     134,   135,    -1,   137,    -1,   139,    -1,    -1,    -1,   143,
 
5955
      -1,    -1,    -1,    -1,    -1,   149,   150,   151,   152,    -1,
 
5956
      -1,   155,   156,   157,    -1,    -1,    -1,    -1,    -1,    -1,
 
5957
      -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,   172,   173,
 
5958
      -1,   175,    -1,    -1,    -1,   179,    -1,    -1,    -1,    -1,
 
5959
     184,    -1,   186,    -1,   188,    -1,   190,    -1,    -1,    -1,
 
5960
      -1,    -1,   196,   197,    -1,   199,   200,   201,   202,    -1,
 
5961
      -1,   205,   206,    -1,   208,    -1,   210,    -1,   212,   213,
 
5962
     214,   215,    -1,    -1,    -1,   219,   220,   221,    -1,    -1,
 
5963
     224,    -1,    -1,    -1,   228,   229,    -1,   231,   232,   233,
 
5964
     234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,
 
5965
     244,   245,    -1,    -1,   248,    -1,   250,   251,   252,   253,
 
5966
      -1,    -1,   256,    -1,    -1,    -1,   260,    -1,    -1,    -1,
 
5967
     264,    -1,    -1,    -1,   268,    -1,   270,    -1,    -1,   273,
 
5968
     274,   275,   276,   277,   278,   279,    -1,   281,   282,    -1,
 
5969
      -1,    -1,   286,   287,   288,   289,    -1,    -1,    -1,   293,
 
5970
      -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,   303,
 
5971
      -1,    -1,    -1,    -1,   308,   309,    -1,    -1,   312,   313,
 
5972
      -1,    -1,   316,   317,   318,    -1,    -1,   321,   322,   323,
 
5973
      -1,   325,   326,    -1,    -1,   329,    -1,    -1,   332,    -1,
 
5974
     334,   335,   336,    -1,    -1,   339,    -1,    -1,   342,   343,
 
5975
     344,    -1,   346,   347,    -1,    -1,    -1,   351,    -1,    -1,
 
5976
      -1,   355,    -1,    -1,    -1,    -1,    -1,   361,    -1,    -1,
 
5977
     364,    -1,    -1,    -1,   368,   369,    -1,    -1,    -1,     4,
 
5978
     374,     6,     7,     8,   378,    -1,    -1,    -1,    13,    -1,
 
5979
      -1,    -1,    17,    18,    19,    20,   390,    22,    -1,    -1,
 
5980
      -1,    -1,    27,    -1,    29,    30,    31,    32,    -1,    34,
 
5981
      -1,    36,    -1,    -1,    39,    -1,    -1,    42,    -1,    -1,
 
5982
      45,    -1,    47,    48,    -1,    50,    51,    -1,    53,    54,
 
5983
      55,    56,    57,    58,    -1,    60,    61,    -1,    63,    -1,
 
5984
      -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    74,
 
5985
      75,    76,    77,    -1,    -1,    80,    -1,    -1,    -1,    -1,
 
5986
      85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5987
      95,    96,    -1,    -1,    -1,    -1,   101,   102,   103,    -1,
 
5988
      -1,    -1,   107,    -1,   109,   110,    -1,   112,   113,    -1,
 
5989
      -1,   116,    -1,   118,   119,    -1,   121,    -1,    -1,    -1,
 
5990
     125,   126,   127,   128,    -1,   130,    -1,    -1,    -1,   134,
 
5991
     135,    -1,   137,    -1,   139,    -1,    -1,    -1,   143,    -1,
 
5992
      -1,    -1,    -1,    -1,   149,   150,   151,   152,    -1,    -1,
 
5993
     155,   156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
5994
      -1,    -1,    -1,   168,    -1,    -1,    -1,   172,    -1,    -1,
 
5995
     175,    -1,    -1,    -1,   179,    -1,    -1,    -1,    -1,   184,
 
5996
      -1,   186,    -1,   188,    -1,   190,    -1,    -1,    -1,    -1,
 
5997
      -1,   196,   197,    -1,   199,   200,   201,   202,    -1,    -1,
 
5998
     205,   206,    -1,   208,    -1,   210,    -1,   212,   213,   214,
 
5999
     215,    -1,    -1,    -1,   219,   220,   221,    -1,    -1,   224,
 
6000
      -1,    -1,    -1,   228,   229,    -1,   231,   232,   233,   234,
 
6001
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,   244,
 
6002
     245,    -1,    -1,   248,    -1,   250,   251,   252,   253,    -1,
 
6003
      -1,   256,    -1,    -1,    -1,   260,    -1,    -1,    -1,   264,
 
6004
      -1,    -1,    -1,   268,    -1,   270,    -1,    -1,   273,   274,
 
6005
     275,   276,   277,   278,   279,    -1,   281,   282,   283,    -1,
 
6006
      -1,   286,   287,   288,   289,    -1,    -1,    -1,   293,    -1,
 
6007
     295,   296,   297,    -1,    -1,    -1,    -1,    -1,   303,    -1,
 
6008
      -1,    -1,    -1,   308,   309,    -1,    -1,   312,   313,    -1,
 
6009
      -1,   316,   317,   318,    -1,    -1,   321,   322,   323,    -1,
 
6010
     325,   326,    -1,    -1,   329,    -1,    -1,   332,    -1,   334,
 
6011
     335,   336,    -1,    -1,   339,    -1,    -1,   342,   343,   344,
 
6012
      -1,   346,   347,    -1,    -1,    -1,   351,    -1,    -1,    -1,
 
6013
     355,    -1,    -1,    -1,    -1,    -1,   361,    -1,    -1,   364,
 
6014
      -1,    -1,    -1,   368,   369,    -1,    -1,    -1,     4,   374,
 
6015
       6,     7,     8,   378,    -1,    -1,    -1,    13,    -1,    -1,
 
6016
     385,    17,    18,    19,    20,   390,    22,    -1,    -1,    -1,
 
6017
      -1,    27,    -1,    29,    30,    31,    32,    -1,    34,    -1,
 
6018
      36,    -1,    -1,    39,    -1,    -1,    42,    -1,    -1,    45,
 
6019
      -1,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
 
6020
      56,    57,    58,    -1,    60,    61,    -1,    63,    -1,    -1,
 
6021
      -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    74,    75,
 
6022
      76,    77,    -1,    -1,    80,    -1,    -1,    -1,    -1,    85,
 
6023
      86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,
 
6024
      96,    -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,
 
6025
      -1,   107,    -1,   109,   110,    -1,   112,   113,    -1,    -1,
 
6026
     116,    -1,   118,   119,    -1,   121,    -1,    -1,    -1,   125,
 
6027
     126,   127,   128,    -1,   130,    -1,    -1,    -1,   134,   135,
 
6028
      -1,   137,    -1,   139,    -1,    -1,    -1,   143,    -1,    -1,
 
6029
      -1,    -1,    -1,   149,   150,   151,   152,    -1,    -1,   155,
 
6030
     156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   164,    -1,
 
6031
      -1,    -1,   168,    -1,    -1,    -1,   172,    -1,    -1,   175,
 
6032
      -1,    -1,    -1,   179,    -1,    -1,    -1,    -1,   184,    -1,
 
6033
     186,    -1,   188,    -1,   190,    -1,    -1,    -1,    -1,    -1,
 
6034
     196,   197,    -1,   199,   200,   201,   202,    -1,    -1,   205,
 
6035
     206,    -1,   208,    -1,   210,    -1,   212,   213,   214,   215,
 
6036
      -1,    -1,    -1,   219,   220,   221,    -1,    -1,   224,    -1,
 
6037
      -1,    -1,   228,   229,    -1,   231,   232,   233,   234,    -1,
 
6038
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,   244,   245,
 
6039
      -1,    -1,   248,    -1,   250,   251,   252,   253,    -1,    -1,
 
6040
     256,    -1,    -1,    -1,   260,    -1,    -1,    -1,   264,    -1,
 
6041
      -1,    -1,   268,    -1,   270,    -1,    -1,   273,   274,   275,
 
6042
     276,   277,   278,   279,    -1,   281,   282,    -1,    -1,    -1,
 
6043
     286,   287,   288,   289,    -1,    -1,    -1,   293,    -1,   295,
 
6044
     296,   297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,
 
6045
      -1,    -1,   308,   309,    -1,    -1,   312,   313,    -1,    -1,
 
6046
     316,   317,   318,    -1,    -1,   321,   322,   323,    -1,   325,
 
6047
     326,    -1,    -1,   329,    -1,    -1,   332,    -1,   334,   335,
 
6048
     336,    -1,    -1,   339,    -1,    -1,   342,   343,   344,    -1,
 
6049
     346,   347,    -1,    -1,    -1,   351,    -1,    -1,    -1,   355,
 
6050
      -1,    -1,    -1,    -1,    -1,   361,    -1,    -1,   364,    -1,
 
6051
      -1,    -1,   368,   369,    -1,    -1,    -1,     4,   374,     6,
 
6052
       7,     8,   378,    -1,    -1,    -1,    13,    -1,    -1,    -1,
 
6053
      17,    18,    19,    20,   390,    22,    -1,    -1,    -1,    -1,
 
6054
      27,    -1,    29,    30,    31,    32,    -1,    34,    -1,    36,
 
6055
      -1,    -1,    39,    -1,    -1,    42,    -1,    -1,    45,    -1,
 
6056
      47,    48,    -1,    50,    51,    -1,    53,    54,    55,    56,
 
6057
      57,    58,    -1,    60,    61,    -1,    63,    -1,    -1,    -1,
 
6058
      -1,    -1,    69,    -1,    -1,    -1,    -1,    74,    75,    76,
 
6059
      77,    -1,    -1,    80,    -1,    -1,    -1,    -1,    85,    86,
 
6060
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,
 
6061
      -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
 
6062
     107,    -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,
 
6063
      -1,   118,   119,    -1,   121,    -1,    -1,    -1,   125,   126,
 
6064
     127,   128,    -1,   130,    -1,    -1,    -1,   134,   135,    -1,
 
6065
     137,    -1,   139,    -1,    -1,    -1,   143,    -1,    -1,    -1,
 
6066
      -1,    -1,   149,   150,   151,   152,    -1,    -1,   155,   156,
 
6067
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6068
      -1,   168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,
 
6069
      -1,    -1,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,
 
6070
      -1,   188,    -1,   190,    -1,    -1,    -1,    -1,    -1,   196,
 
6071
     197,    -1,   199,   200,   201,   202,    -1,    -1,   205,   206,
 
6072
      -1,   208,    -1,   210,    -1,   212,   213,   214,   215,    -1,
 
6073
      -1,    -1,   219,   220,   221,    -1,    -1,   224,    -1,    -1,
 
6074
      -1,   228,   229,    -1,   231,   232,   233,   234,    -1,    -1,
 
6075
      -1,    -1,    -1,    -1,    -1,    -1,   243,   244,   245,    -1,
 
6076
      -1,   248,    -1,   250,   251,   252,   253,    -1,    -1,   256,
 
6077
      -1,    -1,    -1,   260,    -1,    -1,    -1,   264,    -1,    -1,
 
6078
      -1,   268,    -1,   270,    -1,    -1,   273,   274,   275,   276,
 
6079
     277,   278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,
 
6080
     287,   288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,
 
6081
     297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,
 
6082
      -1,   308,   309,    -1,    -1,   312,   313,    -1,    -1,   316,
 
6083
     317,   318,    -1,    -1,   321,   322,   323,    -1,   325,   326,
 
6084
      -1,    -1,   329,    -1,    -1,   332,    -1,   334,   335,   336,
 
6085
      -1,    -1,   339,    -1,    -1,   342,   343,   344,    -1,   346,
 
6086
     347,    -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,
 
6087
      -1,    -1,    -1,    -1,   361,    -1,    -1,   364,    -1,    -1,
 
6088
      -1,   368,   369,    -1,    -1,    -1,     4,   374,     6,     7,
 
6089
       8,   378,    -1,    -1,    -1,    13,    -1,   384,    -1,    17,
 
6090
      18,    19,    20,   390,    22,    -1,    -1,    -1,    -1,    27,
 
6091
      -1,    29,    30,    31,    32,    -1,    34,    -1,    36,    -1,
 
6092
      -1,    39,    -1,    -1,    42,    -1,    -1,    45,    -1,    47,
 
6093
      48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
 
6094
      58,    -1,    60,    61,    -1,    63,    -1,    -1,    -1,    -1,
 
6095
      -1,    69,    -1,    -1,    -1,    -1,    74,    75,    76,    77,
 
6096
      -1,    -1,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
 
6097
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,
 
6098
      -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,
 
6099
      -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,
 
6100
     118,   119,    -1,   121,    -1,    -1,    -1,   125,   126,   127,
 
6101
     128,    -1,   130,    -1,    -1,    -1,   134,   135,    -1,   137,
 
6102
      -1,   139,    -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,
 
6103
      -1,   149,   150,   151,   152,    -1,    -1,   155,   156,    -1,
 
6104
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6105
     168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,
 
6106
      -1,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,    -1,
 
6107
     188,    -1,   190,    -1,    -1,    -1,    -1,    -1,   196,   197,
 
6108
      -1,   199,   200,   201,   202,    -1,    -1,   205,   206,    -1,
 
6109
     208,    -1,   210,    -1,   212,   213,   214,   215,    -1,    -1,
 
6110
      -1,   219,   220,   221,    -1,    -1,   224,    -1,    -1,    -1,
 
6111
     228,   229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,
 
6112
      -1,    -1,    -1,    -1,    -1,   243,   244,   245,    -1,    -1,
 
6113
     248,    -1,   250,   251,   252,   253,    -1,    -1,   256,    -1,
 
6114
      -1,    -1,   260,    -1,    -1,    -1,   264,    -1,    -1,    -1,
 
6115
     268,    -1,   270,    -1,    -1,   273,   274,   275,   276,   277,
 
6116
     278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,
 
6117
     288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,
 
6118
      -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,
 
6119
     308,   309,    -1,    -1,   312,   313,    -1,    -1,   316,   317,
 
6120
     318,    -1,    -1,   321,   322,   323,    -1,   325,   326,    -1,
 
6121
      -1,   329,    -1,    -1,   332,    -1,   334,   335,   336,    -1,
 
6122
      -1,   339,    -1,    -1,   342,   343,   344,    -1,   346,   347,
 
6123
      -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,
 
6124
      -1,    -1,    -1,   361,    -1,    -1,   364,    -1,    -1,    -1,
 
6125
     368,   369,    -1,    -1,    -1,     4,   374,     6,     7,     8,
 
6126
     378,    -1,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
 
6127
      19,    20,   390,    22,    -1,    -1,    -1,    -1,    27,    -1,
 
6128
      29,    30,    31,    32,    -1,    34,    -1,    36,    -1,    -1,
 
6129
      39,    -1,    -1,    42,    -1,    -1,    45,    -1,    47,    48,
 
6130
      -1,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
 
6131
      -1,    60,    61,    -1,    63,    -1,    -1,    -1,    -1,    -1,
 
6132
      69,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
 
6133
      -1,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,
 
6134
      -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,
 
6135
      -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
 
6136
     109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,   118,
 
6137
     119,    -1,   121,    -1,    -1,    -1,   125,   126,   127,   128,
 
6138
      -1,   130,    -1,    -1,    -1,   134,   135,    -1,   137,    -1,
 
6139
     139,    -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,    -1,
 
6140
     149,   150,   151,   152,    -1,    -1,   155,   156,    -1,    -1,
 
6141
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   168,
 
6142
      -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,    -1,
 
6143
     179,    -1,    -1,    -1,    -1,   184,    -1,   186,    -1,   188,
 
6144
      -1,   190,    -1,    -1,    -1,    -1,    -1,   196,   197,    -1,
 
6145
     199,   200,   201,   202,    -1,    -1,   205,   206,    -1,   208,
 
6146
      -1,   210,    -1,   212,   213,   214,   215,    -1,    -1,    -1,
 
6147
     219,   220,   221,    -1,    -1,   224,    -1,    -1,    -1,   228,
 
6148
     229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,    -1,
 
6149
      -1,    -1,    -1,    -1,   243,   244,   245,    -1,    -1,   248,
 
6150
      -1,   250,   251,   252,   253,    -1,    -1,   256,    -1,    -1,
 
6151
      -1,   260,    -1,    -1,    -1,   264,    -1,    -1,    -1,   268,
 
6152
      -1,   270,    -1,    -1,   273,   274,   275,   276,   277,   278,
 
6153
     279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,   288,
 
6154
     289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,    -1,
 
6155
      -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,   308,
 
6156
     309,    -1,    -1,   312,   313,    -1,    -1,   316,   317,   318,
 
6157
      -1,    -1,   321,   322,   323,    -1,   325,   326,    -1,    -1,
 
6158
     329,    -1,    -1,   332,    -1,   334,   335,   336,    -1,    -1,
 
6159
     339,    -1,    -1,   342,   343,   344,    -1,   346,   347,    -1,
 
6160
      -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,    -1,
 
6161
      -1,    -1,   361,    -1,    -1,   364,    -1,    -1,    -1,   368,
 
6162
     369,    -1,    -1,    -1,     4,   374,     6,     7,     8,   378,
 
6163
      -1,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
 
6164
      20,   390,    22,    -1,    -1,    -1,    -1,    27,    -1,    29,
 
6165
      30,    31,    32,    -1,    34,    -1,    36,    -1,    -1,    39,
 
6166
      -1,    -1,    42,    -1,    -1,    45,    -1,    47,    48,    -1,
 
6167
      50,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
 
6168
      60,    61,    -1,    63,    -1,    -1,    -1,    -1,    -1,    69,
 
6169
      -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,    -1,
 
6170
      80,    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    -1,
 
6171
      -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,    -1,
 
6172
      -1,   101,   102,   103,    -1,    -1,    -1,   107,    -1,   109,
 
6173
     110,    -1,   112,   113,    -1,    -1,   116,    -1,   118,   119,
 
6174
      -1,   121,    -1,    -1,    -1,   125,   126,   127,   128,    -1,
 
6175
     130,    -1,    -1,    -1,   134,   135,    -1,   137,    -1,   139,
 
6176
      -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,    -1,   149,
 
6177
     150,   151,   152,    -1,    -1,   155,   156,    -1,    -1,    -1,
 
6178
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   168,    -1,
 
6179
      -1,    -1,   172,    -1,    -1,   175,    -1,    -1,    -1,   179,
 
6180
      -1,    -1,    -1,    -1,   184,    -1,   186,    -1,   188,    -1,
 
6181
     190,    -1,    -1,    -1,    -1,    -1,   196,   197,    -1,   199,
 
6182
     200,   201,   202,    -1,    -1,   205,   206,    -1,   208,    -1,
 
6183
     210,    -1,   212,   213,   214,   215,    -1,    -1,    -1,   219,
 
6184
     220,   221,    -1,    -1,   224,    -1,    -1,    -1,   228,   229,
 
6185
      -1,   231,   232,   233,   234,    -1,    -1,    -1,    -1,    -1,
 
6186
      -1,    -1,    -1,   243,   244,   245,    -1,    -1,   248,    -1,
 
6187
     250,   251,   252,   253,    -1,    -1,   256,    -1,    -1,    -1,
 
6188
     260,    -1,    -1,    -1,   264,    -1,    -1,    -1,   268,    -1,
 
6189
     270,    -1,    -1,   273,   274,   275,   276,   277,   278,   279,
 
6190
      -1,   281,   282,    -1,    -1,    -1,   286,   287,   288,   289,
 
6191
      -1,    -1,    -1,   293,    -1,   295,   296,   297,    -1,    -1,
 
6192
      -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,   308,   309,
 
6193
      -1,    -1,   312,   313,    -1,    -1,   316,   317,   318,    -1,
 
6194
      -1,   321,   322,   323,    -1,   325,   326,    -1,    -1,   329,
 
6195
      -1,    -1,   332,    -1,   334,   335,   336,    -1,    -1,   339,
 
6196
      -1,    -1,   342,   343,   344,    -1,   346,   347,    -1,    -1,
 
6197
      -1,   351,    -1,    -1,    -1,   355,    -1,    -1,    -1,    -1,
 
6198
      -1,   361,    -1,    -1,   364,    -1,    -1,    -1,   368,   369,
 
6199
      -1,    -1,    -1,     4,   374,     6,     7,     8,   378,    -1,
 
6200
      -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    20,
 
6201
     390,    22,    -1,    -1,    -1,    -1,    27,    -1,    29,    30,
 
6202
      31,    32,    -1,    34,    -1,    36,    -1,    -1,    39,    -1,
 
6203
      -1,    42,    -1,    -1,    45,    -1,    47,    48,    -1,    50,
 
6204
      51,    -1,    53,    54,    55,    56,    57,    58,    -1,    60,
 
6205
      61,    -1,    63,    -1,    -1,    -1,    -1,    -1,    69,    -1,
 
6206
      -1,    -1,    -1,    74,    75,    76,    77,    -1,    -1,    80,
 
6207
      -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    -1,    -1,
 
6208
      -1,    -1,    -1,    -1,    95,    96,    -1,    -1,    -1,    -1,
 
6209
     101,   102,   103,    -1,    -1,    -1,   107,    -1,   109,   110,
 
6210
      -1,   112,   113,    -1,    -1,   116,    -1,   118,   119,    -1,
 
6211
     121,    -1,    -1,    -1,   125,   126,   127,   128,    -1,   130,
 
6212
      -1,    -1,    -1,   134,   135,    -1,   137,    -1,   139,    -1,
 
6213
      -1,    -1,   143,    -1,    -1,    -1,    -1,    -1,   149,   150,
 
6214
     151,   152,    -1,    -1,   155,   156,    -1,    -1,    -1,    -1,
 
6215
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,
 
6216
      -1,   172,    -1,    -1,   175,    -1,    -1,    -1,   179,    -1,
 
6217
      -1,    -1,    -1,   184,    -1,   186,    -1,   188,    -1,   190,
 
6218
      -1,    -1,    -1,    -1,    -1,   196,   197,    -1,   199,   200,
 
6219
     201,   202,    -1,    -1,   205,   206,    -1,   208,    -1,   210,
 
6220
      -1,   212,   213,   214,   215,    -1,    -1,    -1,   219,   220,
 
6221
     221,    -1,    -1,   224,    -1,    -1,    -1,   228,   229,    -1,
 
6222
     231,   232,   233,   234,    -1,    -1,    -1,    -1,    -1,    -1,
 
6223
      -1,    -1,   243,   244,   245,    -1,    -1,   248,    -1,   250,
 
6224
     251,   252,   253,    -1,    -1,   256,    -1,    -1,    -1,   260,
 
6225
      -1,    -1,    -1,   264,    -1,    -1,    -1,   268,    -1,   270,
 
6226
      -1,    -1,   273,   274,   275,   276,   277,   278,   279,    -1,
 
6227
     281,   282,    -1,    -1,    -1,   286,   287,   288,   289,    -1,
 
6228
      -1,    -1,   293,    -1,   295,   296,   297,    -1,    -1,    -1,
 
6229
      -1,    -1,   303,    -1,    -1,    -1,    -1,   308,   309,    -1,
 
6230
      -1,   312,   313,    -1,    -1,   316,   317,   318,    -1,    -1,
 
6231
     321,   322,   323,    -1,   325,   326,    -1,    -1,   329,    -1,
 
6232
      -1,   332,    -1,   334,   335,   336,    -1,    -1,   339,    -1,
 
6233
      -1,   342,   343,   344,    -1,   346,   347,    -1,    -1,    -1,
 
6234
     351,    -1,    -1,    -1,   355,    -1,    -1,    -1,    -1,    -1,
 
6235
     361,    -1,    -1,   364,    -1,    -1,    -1,   368,   369,    -1,
 
6236
      -1,    -1,     4,   374,     6,     7,     8,   378,    -1,    -1,
 
6237
      -1,    13,    -1,    -1,    -1,    17,    18,    19,    20,   390,
 
6238
      22,    -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,
 
6239
      32,    -1,    34,    -1,    36,    -1,    -1,    39,    -1,    -1,
 
6240
      42,    -1,    -1,    45,    -1,    47,    48,    -1,    50,    51,
 
6241
      -1,    53,    54,    55,    56,    57,    58,    -1,    60,    61,
 
6242
      -1,    63,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,
 
6243
      -1,    -1,    74,    75,    76,    77,    -1,    -1,    80,    -1,
 
6244
      -1,    -1,    -1,    85,    86,    -1,    -1,    -1,    -1,    -1,
 
6245
      -1,    -1,    -1,    95,    96,    -1,    -1,    -1,    -1,   101,
 
6246
     102,   103,    -1,    -1,    -1,   107,    -1,   109,   110,    -1,
 
6247
     112,   113,    -1,    -1,   116,    -1,   118,   119,    -1,   121,
 
6248
      -1,    -1,    -1,   125,   126,   127,   128,    -1,   130,    -1,
 
6249
      -1,    -1,   134,   135,    -1,   137,    -1,   139,    -1,    -1,
 
6250
      -1,   143,    -1,    -1,    -1,    -1,    -1,   149,   150,   151,
 
6251
     152,    -1,    -1,   155,   156,    -1,    -1,    -1,    -1,    -1,
 
6252
      -1,    -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,
 
6253
     172,    -1,    -1,   175,    -1,    -1,    -1,   179,    -1,    -1,
 
6254
      -1,    -1,   184,    -1,   186,    -1,   188,    -1,   190,    -1,
 
6255
      -1,    -1,    -1,    -1,   196,   197,    -1,   199,   200,   201,
 
6256
     202,    -1,    -1,   205,   206,    -1,   208,    -1,   210,    -1,
 
6257
     212,   213,   214,   215,    -1,    -1,    -1,   219,   220,   221,
 
6258
      -1,    -1,   224,    -1,    -1,    -1,   228,   229,    -1,   231,
 
6259
     232,   233,   234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6260
      -1,   243,   244,   245,    -1,    -1,   248,    -1,   250,   251,
 
6261
     252,   253,    -1,    -1,   256,    -1,    -1,    -1,   260,    -1,
 
6262
      -1,    -1,   264,    -1,    -1,    -1,   268,    -1,   270,    -1,
 
6263
      -1,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
 
6264
     282,    -1,    -1,    -1,   286,   287,   288,   289,    -1,    -1,
 
6265
      -1,   293,    -1,   295,   296,   297,    -1,    -1,    -1,    -1,
 
6266
      -1,   303,    -1,    -1,    -1,    -1,   308,   309,    -1,    -1,
 
6267
     312,   313,    -1,    -1,   316,   317,   318,    -1,    -1,   321,
 
6268
     322,   323,    -1,   325,   326,    -1,    -1,   329,    -1,    -1,
 
6269
     332,    -1,   334,   335,   336,    -1,    -1,   339,    -1,    -1,
 
6270
     342,   343,   344,    -1,   346,   347,    -1,    -1,    -1,   351,
 
6271
      -1,    -1,    -1,   355,    -1,    -1,    -1,    -1,    -1,   361,
 
6272
      -1,    -1,   364,    -1,    -1,    -1,   368,   369,    -1,    -1,
 
6273
      -1,     4,   374,     6,     7,     8,   378,    -1,    -1,   381,
 
6274
      13,    -1,    -1,    -1,    17,    18,    19,    20,    -1,    22,
 
6275
      -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,
 
6276
      -1,    34,    -1,    36,    -1,    -1,    39,    -1,    -1,    42,
 
6277
      -1,    -1,    45,    -1,    47,    48,    -1,    50,    51,    -1,
 
6278
      53,    54,    55,    56,    57,    58,    -1,    60,    61,    -1,
 
6279
      63,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
 
6280
      -1,    74,    75,    76,    77,    -1,    -1,    80,    -1,    -1,
 
6281
      -1,    -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,
 
6282
      -1,    -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,
 
6283
     103,    -1,    -1,    -1,   107,    -1,   109,   110,    -1,   112,
 
6284
     113,    -1,    -1,   116,    -1,   118,   119,    -1,   121,    -1,
 
6285
      -1,    -1,   125,   126,   127,   128,    -1,   130,    -1,    -1,
 
6286
      -1,   134,   135,    -1,   137,    -1,   139,    -1,    -1,    -1,
 
6287
     143,    -1,    -1,    -1,    -1,    -1,   149,   150,   151,   152,
 
6288
      -1,    -1,   155,   156,    -1,    -1,    -1,    -1,    -1,    -1,
 
6289
      -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,   172,
 
6290
      -1,    -1,   175,    -1,    -1,    -1,   179,    -1,    -1,    -1,
 
6291
      -1,   184,    -1,   186,    -1,   188,    -1,   190,    -1,    -1,
 
6292
      -1,    -1,    -1,   196,   197,    -1,   199,   200,   201,   202,
 
6293
      -1,    -1,   205,   206,    -1,   208,    -1,   210,    -1,   212,
 
6294
     213,   214,   215,    -1,    -1,    -1,   219,   220,   221,    -1,
 
6295
      -1,   224,    -1,    -1,    -1,   228,   229,    -1,   231,   232,
 
6296
     233,   234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6297
     243,   244,   245,    -1,    -1,   248,    -1,   250,   251,   252,
 
6298
     253,    -1,    -1,   256,    -1,    -1,    -1,   260,    -1,    -1,
 
6299
      -1,   264,    -1,    -1,    -1,   268,    -1,   270,    -1,    -1,
 
6300
     273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
 
6301
      -1,    -1,    -1,   286,   287,   288,   289,    -1,    -1,    -1,
 
6302
     293,    -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,
 
6303
     303,    -1,    -1,    -1,    -1,   308,   309,    -1,    -1,   312,
 
6304
     313,    -1,    -1,   316,   317,   318,    -1,    -1,   321,   322,
 
6305
     323,    -1,   325,   326,    -1,    -1,   329,    -1,    -1,   332,
 
6306
      -1,   334,   335,   336,    -1,    -1,   339,    -1,    -1,   342,
 
6307
     343,   344,    -1,   346,   347,    -1,    -1,    -1,   351,    -1,
 
6308
      -1,    -1,   355,    -1,    -1,    -1,    -1,    -1,   361,    -1,
 
6309
      -1,   364,    -1,    -1,    -1,   368,   369,    -1,    -1,    -1,
 
6310
       4,   374,     6,     7,     8,   378,    -1,    -1,   381,    13,
 
6311
      -1,    -1,    -1,    17,    18,    19,    20,    -1,    22,    -1,
 
6312
      -1,    -1,    26,    27,    -1,    29,    30,    31,    32,    -1,
 
6313
      34,    -1,    36,    -1,    -1,    39,    -1,    -1,    42,    -1,
 
6314
      -1,    45,    -1,    47,    48,    -1,    50,    51,    -1,    53,
 
6315
      54,    55,    56,    57,    58,    -1,    60,    61,    -1,    63,
 
6316
      -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,
 
6317
      74,    75,    76,    77,    -1,    -1,    80,    -1,    -1,    -1,
 
6318
      -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6319
      -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,   103,
 
6320
      -1,    -1,    -1,   107,    -1,   109,   110,    -1,   112,   113,
 
6321
      -1,    -1,   116,    -1,   118,   119,    -1,   121,    -1,    -1,
 
6322
      -1,   125,   126,   127,   128,    -1,   130,    -1,    -1,    -1,
 
6323
     134,   135,    -1,   137,    -1,   139,    -1,    -1,    -1,   143,
 
6324
      -1,   145,    -1,    -1,    -1,   149,   150,   151,   152,    -1,
 
6325
      -1,   155,   156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6326
      -1,    -1,    -1,    -1,   168,    -1,    -1,    -1,   172,    -1,
 
6327
      -1,   175,    -1,    -1,    -1,   179,    -1,    -1,    -1,    -1,
 
6328
     184,    -1,   186,    -1,   188,    -1,   190,    -1,    -1,    -1,
 
6329
      -1,    -1,   196,   197,    -1,   199,   200,   201,   202,    -1,
 
6330
      -1,   205,   206,    -1,   208,    -1,   210,    -1,   212,   213,
 
6331
     214,   215,    -1,    -1,    -1,   219,   220,   221,    -1,    -1,
 
6332
     224,    -1,    -1,    -1,   228,   229,    -1,   231,   232,   233,
 
6333
     234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,
 
6334
     244,   245,    -1,    -1,   248,    -1,   250,   251,   252,   253,
 
6335
      -1,    -1,   256,    -1,    -1,    -1,   260,    -1,    -1,    -1,
 
6336
     264,    -1,    -1,    -1,   268,    -1,   270,    -1,    -1,   273,
 
6337
     274,   275,   276,   277,   278,   279,    -1,   281,   282,    -1,
 
6338
      -1,    -1,   286,   287,   288,   289,    -1,    -1,    -1,   293,
 
6339
      -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,   303,
 
6340
      -1,    -1,    -1,    -1,   308,   309,    -1,    -1,   312,   313,
 
6341
      -1,    -1,   316,   317,   318,    -1,    -1,   321,   322,   323,
 
6342
      -1,   325,   326,    -1,    -1,   329,    -1,   331,   332,    -1,
 
6343
     334,   335,   336,    -1,    -1,   339,    -1,    -1,   342,   343,
 
6344
     344,    -1,   346,   347,    -1,    -1,    -1,   351,    -1,    -1,
 
6345
      -1,   355,    -1,    -1,    -1,    -1,    -1,   361,    -1,    -1,
 
6346
     364,    -1,    -1,    -1,   368,   369,    -1,    -1,    -1,     4,
 
6347
     374,     6,     7,     8,   378,    -1,    -1,    -1,    13,    -1,
 
6348
      -1,    -1,    17,    18,    19,    20,    -1,    22,    -1,    -1,
 
6349
      -1,    -1,    27,    -1,    29,    30,    31,    32,    -1,    34,
 
6350
      -1,    36,    -1,    -1,    39,    -1,    -1,    42,    -1,    -1,
 
6351
      45,    -1,    47,    48,    -1,    50,    51,    -1,    53,    54,
 
6352
      55,    56,    57,    58,    -1,    60,    61,    -1,    63,    -1,
 
6353
      -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    74,
 
6354
      75,    76,    77,    -1,    -1,    80,    -1,    -1,    -1,    -1,
 
6355
      85,    86,    -1,    -1,    -1,    90,    -1,    -1,    -1,    -1,
 
6356
      95,    96,    -1,    -1,    -1,    -1,   101,   102,   103,    -1,
 
6357
      -1,    -1,   107,    -1,   109,   110,    -1,   112,   113,    -1,
 
6358
      -1,   116,    -1,   118,   119,    -1,   121,    -1,    -1,    -1,
 
6359
     125,   126,   127,   128,    -1,   130,    -1,    -1,    -1,   134,
 
6360
     135,    -1,   137,    -1,   139,    -1,    -1,    -1,   143,    -1,
 
6361
      -1,    -1,    -1,    -1,   149,   150,   151,   152,    -1,    -1,
 
6362
     155,   156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6363
      -1,    -1,    -1,   168,    -1,    -1,    -1,   172,    -1,    -1,
 
6364
     175,    -1,    -1,    -1,   179,   180,    -1,    -1,    -1,   184,
 
6365
      -1,   186,    -1,   188,    -1,   190,    -1,    -1,    -1,    -1,
 
6366
      -1,   196,   197,    -1,   199,   200,   201,   202,    -1,    -1,
 
6367
     205,   206,    -1,   208,    -1,   210,    -1,   212,   213,   214,
 
6368
     215,    -1,    -1,    -1,   219,   220,   221,    -1,    -1,   224,
 
6369
      -1,    -1,    -1,   228,   229,    -1,   231,   232,   233,   234,
 
6370
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,   244,
 
6371
     245,    -1,    -1,   248,    -1,   250,   251,   252,   253,    -1,
 
6372
      -1,   256,    -1,    -1,    -1,   260,    -1,    -1,    -1,   264,
 
6373
      -1,    -1,    -1,   268,    -1,   270,    -1,    -1,   273,   274,
 
6374
     275,   276,   277,   278,   279,    -1,   281,   282,    -1,    -1,
 
6375
      -1,   286,   287,   288,   289,    -1,    -1,    -1,   293,    -1,
 
6376
     295,   296,   297,    -1,    -1,    -1,    -1,    -1,   303,    -1,
 
6377
      -1,    -1,    -1,   308,   309,    -1,    -1,   312,   313,    -1,
 
6378
      -1,   316,   317,   318,    -1,    -1,   321,   322,   323,    -1,
 
6379
     325,   326,    -1,    -1,   329,    -1,   331,   332,    -1,   334,
 
6380
     335,   336,    -1,    -1,   339,    -1,    -1,   342,   343,   344,
 
6381
      -1,   346,   347,    -1,    -1,    -1,   351,    -1,    -1,    -1,
 
6382
     355,    -1,    -1,    -1,    -1,    -1,   361,    -1,    -1,   364,
 
6383
      -1,    -1,    -1,   368,   369,    -1,    -1,    -1,     4,   374,
 
6384
       6,     7,     8,   378,    -1,    -1,    -1,    13,    -1,    -1,
 
6385
      -1,    17,    18,    19,    20,    -1,    22,    -1,    -1,    -1,
 
6386
      -1,    27,    -1,    29,    30,    31,    32,    -1,    34,    -1,
 
6387
      36,    -1,    -1,    39,    -1,    -1,    42,    -1,    -1,    45,
 
6388
      -1,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
 
6389
      56,    57,    58,    -1,    60,    61,    -1,    63,    -1,    -1,
 
6390
      -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    74,    75,
 
6391
      76,    77,    -1,    -1,    80,    -1,    -1,    -1,    -1,    85,
 
6392
      86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,
 
6393
      96,    -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,
 
6394
      -1,   107,    -1,   109,   110,    -1,   112,   113,    -1,    -1,
 
6395
     116,    -1,   118,   119,    -1,   121,    -1,    -1,    -1,   125,
 
6396
     126,   127,   128,    -1,   130,    -1,    -1,    -1,   134,   135,
 
6397
      -1,   137,    -1,   139,    -1,    -1,    -1,   143,    -1,    -1,
 
6398
      -1,    -1,    -1,   149,   150,   151,   152,    -1,    -1,   155,
 
6399
     156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6400
      -1,    -1,   168,    -1,    -1,    -1,   172,    -1,    -1,   175,
 
6401
      -1,    -1,    -1,   179,   180,    -1,    -1,    -1,   184,    -1,
 
6402
     186,    -1,   188,    -1,   190,    -1,    -1,    -1,    -1,    -1,
 
6403
     196,   197,    -1,   199,   200,   201,   202,    -1,    -1,   205,
 
6404
     206,    -1,   208,    -1,   210,    -1,   212,   213,   214,   215,
 
6405
      -1,    -1,    -1,   219,   220,   221,    -1,    -1,   224,    -1,
 
6406
      -1,    -1,   228,   229,    -1,   231,   232,   233,   234,    -1,
 
6407
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,   244,   245,
 
6408
      -1,    -1,   248,    -1,   250,   251,   252,   253,    -1,    -1,
 
6409
     256,    -1,    -1,    -1,   260,    -1,    -1,    -1,   264,    -1,
 
6410
      -1,    -1,   268,    -1,   270,    -1,    -1,   273,   274,   275,
 
6411
     276,   277,   278,   279,    -1,   281,   282,    -1,    -1,    -1,
 
6412
     286,   287,   288,   289,    -1,    -1,    -1,   293,    -1,   295,
 
6413
     296,   297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,
 
6414
      -1,    -1,   308,   309,    -1,    -1,   312,   313,    -1,    -1,
 
6415
     316,   317,   318,    -1,    -1,   321,   322,   323,    -1,   325,
 
6416
     326,    -1,    -1,   329,    -1,   331,   332,    -1,   334,   335,
 
6417
     336,    -1,    -1,   339,    -1,    -1,   342,   343,   344,    -1,
 
6418
     346,   347,    -1,    -1,    -1,   351,    -1,    -1,    -1,   355,
 
6419
      -1,    -1,    -1,    -1,    -1,   361,    -1,    -1,   364,    -1,
 
6420
      -1,    -1,   368,   369,    -1,    -1,    -1,     4,   374,     6,
 
6421
       7,     8,   378,    -1,    -1,    -1,    13,    14,    -1,    -1,
 
6422
      17,    18,    19,    20,    -1,    22,    -1,    -1,    -1,    -1,
 
6423
      27,    -1,    29,    30,    31,    32,    -1,    34,    -1,    36,
 
6424
      -1,    -1,    39,    -1,    -1,    42,    -1,    -1,    45,    -1,
 
6425
      47,    48,    -1,    50,    51,    -1,    53,    54,    55,    56,
 
6426
      57,    58,    -1,    60,    61,    -1,    63,    -1,    -1,    -1,
 
6427
      -1,    -1,    69,    -1,    -1,    -1,    -1,    74,    75,    76,
 
6428
      77,    -1,    -1,    80,    -1,    -1,    -1,    -1,    85,    86,
 
6429
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,
 
6430
      -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
 
6431
     107,    -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,
 
6432
      -1,   118,   119,    -1,   121,    -1,    -1,    -1,   125,   126,
 
6433
     127,   128,    -1,   130,    -1,    -1,    -1,   134,   135,    -1,
 
6434
     137,    -1,   139,    -1,    -1,    -1,   143,    -1,    -1,    -1,
 
6435
      -1,    -1,   149,   150,   151,   152,    -1,    -1,   155,   156,
 
6436
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6437
      -1,   168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,
 
6438
      -1,    -1,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,
 
6439
      -1,   188,    -1,   190,    -1,    -1,    -1,    -1,    -1,   196,
 
6440
     197,    -1,   199,   200,   201,   202,    -1,    -1,   205,   206,
 
6441
      -1,   208,    -1,   210,    -1,   212,   213,   214,   215,    -1,
 
6442
      -1,    -1,   219,   220,   221,    -1,    -1,   224,    -1,    -1,
 
6443
      -1,   228,   229,    -1,   231,   232,   233,   234,    -1,    -1,
 
6444
      -1,    -1,    -1,    -1,    -1,    -1,   243,   244,   245,    -1,
 
6445
      -1,   248,    -1,   250,   251,   252,   253,    -1,    -1,   256,
 
6446
      -1,    -1,    -1,   260,    -1,    -1,    -1,   264,    -1,    -1,
 
6447
      -1,   268,    -1,   270,    -1,    -1,   273,   274,   275,   276,
 
6448
     277,   278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,
 
6449
     287,   288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,
 
6450
     297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,
 
6451
      -1,   308,   309,    -1,    -1,   312,   313,    -1,    -1,   316,
 
6452
     317,   318,    -1,    -1,   321,   322,   323,    -1,   325,   326,
 
6453
      -1,    -1,   329,    -1,   331,   332,    -1,   334,   335,   336,
 
6454
      -1,    -1,   339,    -1,    -1,   342,   343,   344,    -1,   346,
 
6455
     347,    -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,
 
6456
      -1,    -1,    -1,    -1,   361,    -1,    -1,   364,    -1,    -1,
 
6457
      -1,   368,   369,    -1,    -1,    -1,     4,   374,     6,     7,
 
6458
       8,   378,    -1,    -1,    -1,    13,    -1,    -1,    -1,    17,
 
6459
      18,    19,    20,    -1,    22,    -1,    -1,    -1,    -1,    27,
 
6460
      -1,    29,    30,    31,    32,    -1,    34,    -1,    36,    -1,
 
6461
      -1,    39,    -1,    -1,    42,    -1,    -1,    45,    -1,    47,
 
6462
      48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
 
6463
      58,    -1,    60,    61,    -1,    63,    -1,    -1,    -1,    -1,
 
6464
      -1,    69,    -1,    -1,    -1,    -1,    74,    75,    76,    77,
 
6465
      -1,    -1,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
 
6466
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,
 
6467
      -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,
 
6468
      -1,   109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,
 
6469
     118,   119,    -1,   121,    -1,    -1,    -1,   125,   126,   127,
 
6470
     128,    -1,   130,    -1,    -1,    -1,   134,   135,    -1,   137,
 
6471
      -1,   139,    -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,
 
6472
      -1,   149,   150,   151,   152,    -1,    -1,   155,   156,    -1,
 
6473
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
6474
     168,    -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,
 
6475
      -1,   179,    -1,    -1,    -1,    -1,   184,    -1,   186,    -1,
 
6476
     188,    -1,   190,    -1,    -1,    -1,    -1,    -1,   196,   197,
 
6477
      -1,   199,   200,   201,   202,    -1,    -1,   205,   206,    -1,
 
6478
     208,    -1,   210,    -1,   212,   213,   214,   215,    -1,    -1,
 
6479
      -1,   219,   220,   221,    -1,    -1,   224,    -1,    -1,    -1,
 
6480
     228,   229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,
 
6481
      -1,    -1,    -1,    -1,    -1,   243,   244,   245,    -1,    -1,
 
6482
     248,    -1,   250,   251,   252,   253,    -1,    -1,   256,    -1,
 
6483
      -1,    -1,   260,    -1,    -1,    -1,   264,    -1,    -1,    -1,
 
6484
     268,    -1,   270,    -1,    -1,   273,   274,   275,   276,   277,
 
6485
     278,   279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,
 
6486
     288,   289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,
 
6487
      -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,
 
6488
     308,   309,    -1,    -1,   312,   313,    -1,    -1,   316,   317,
 
6489
     318,    -1,    -1,   321,   322,   323,    -1,   325,   326,    -1,
 
6490
      -1,   329,    -1,   331,   332,    -1,   334,   335,   336,    -1,
 
6491
      -1,   339,    -1,    -1,   342,   343,   344,    -1,   346,   347,
 
6492
      -1,    -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,
 
6493
      -1,    -1,    -1,   361,    -1,    -1,   364,    -1,    -1,    -1,
 
6494
     368,   369,    -1,    -1,    -1,     4,   374,     6,     7,     8,
 
6495
     378,    -1,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
 
6496
      19,    20,    -1,    22,    -1,    -1,    -1,    -1,    27,    -1,
 
6497
      29,    30,    31,    32,    -1,    34,    -1,    36,    -1,    -1,
 
6498
      39,    -1,    -1,    42,    -1,    -1,    45,    -1,    47,    48,
 
6499
      -1,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
 
6500
      -1,    60,    61,    -1,    63,    -1,    -1,    -1,    -1,    -1,
 
6501
      69,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
 
6502
      -1,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,
 
6503
      -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,
 
6504
      -1,    -1,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
 
6505
     109,   110,    -1,   112,   113,    -1,    -1,   116,    -1,   118,
 
6506
     119,    -1,   121,    -1,    -1,    -1,   125,   126,   127,   128,
 
6507
      -1,   130,    -1,    -1,    -1,   134,   135,    -1,   137,    -1,
 
6508
     139,    -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,    -1,
 
6509
     149,   150,   151,   152,    -1,    -1,   155,   156,    -1,    -1,
 
6510
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   168,
 
6511
      -1,    -1,    -1,   172,    -1,    -1,   175,    -1,    -1,    -1,
 
6512
     179,    -1,    -1,    -1,    -1,   184,    -1,   186,    -1,   188,
 
6513
      -1,   190,    -1,    -1,    -1,    -1,    -1,   196,   197,    -1,
 
6514
     199,   200,   201,   202,    -1,    -1,   205,   206,    -1,   208,
 
6515
      -1,   210,    -1,   212,   213,   214,   215,    -1,    -1,    -1,
 
6516
     219,   220,   221,    -1,    -1,   224,    -1,    -1,    -1,   228,
 
6517
     229,    -1,   231,   232,   233,   234,    -1,    -1,    -1,    -1,
 
6518
      -1,    -1,    -1,    -1,   243,   244,   245,    -1,    -1,   248,
 
6519
     249,   250,   251,   252,   253,    -1,    -1,   256,    -1,    -1,
 
6520
      -1,   260,    -1,    -1,    -1,   264,    -1,    -1,    -1,   268,
 
6521
      -1,   270,    -1,    -1,   273,   274,   275,   276,   277,   278,
 
6522
     279,    -1,   281,   282,    -1,    -1,    -1,   286,   287,   288,
 
6523
     289,    -1,    -1,    -1,   293,    -1,   295,   296,   297,    -1,
 
6524
      -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,   308,
 
6525
     309,    -1,    -1,   312,   313,    -1,    -1,   316,   317,   318,
 
6526
      -1,    -1,   321,   322,   323,    -1,   325,   326,    -1,    -1,
 
6527
     329,    -1,    -1,   332,    -1,   334,   335,   336,    -1,    -1,
 
6528
     339,    -1,    -1,   342,   343,   344,    -1,   346,   347,    -1,
 
6529
      -1,    -1,   351,    -1,    -1,    -1,   355,    -1,    -1,    -1,
 
6530
      -1,    -1,   361,    -1,    -1,   364,    -1,    -1,    -1,   368,
 
6531
     369,    -1,    -1,    -1,     4,   374,     6,     7,     8,   378,
 
6532
      -1,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
 
6533
      20,    -1,    22,    -1,    -1,    -1,    -1,    27,    -1,    29,
 
6534
      30,    31,    32,    -1,    34,    -1,    36,    -1,    -1,    39,
 
6535
      -1,    -1,    42,    -1,    -1,    45,    -1,    47,    48,    -1,
 
6536
      50,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
 
6537
      60,    61,    -1,    63,    -1,    -1,    -1,    -1,    -1,    69,
 
6538
      -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,    -1,
 
6539
      80,    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    -1,
 
6540
      -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,    -1,
 
6541
      -1,   101,   102,   103,    -1,    -1,    -1,   107,    -1,   109,
 
6542
     110,    -1,   112,   113,    -1,    -1,   116,    -1,   118,   119,
 
6543
      -1,   121,    -1,    -1,    -1,   125,   126,   127,   128,    -1,
 
6544
     130,    -1,    -1,    -1,   134,   135,    -1,   137,    -1,   139,
 
6545
      -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,    -1,   149,
 
6546
     150,   151,   152,    -1,    -1,   155,   156,    -1,    -1,    -1,
 
6547
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   168,    -1,
 
6548
      -1,    -1,   172,    -1,    -1,   175,    -1,    -1,    -1,   179,
 
6549
      -1,    -1,    -1,    -1,   184,    -1,   186,    -1,   188,    -1,
 
6550
     190,    -1,    -1,    -1,    -1,    -1,   196,   197,    -1,   199,
 
6551
     200,   201,   202,    -1,    -1,   205,   206,    -1,   208,    -1,
 
6552
     210,    -1,   212,   213,   214,   215,    -1,    -1,    -1,   219,
 
6553
     220,   221,    -1,    -1,   224,    -1,    -1,    -1,   228,   229,
 
6554
      -1,   231,   232,   233,   234,    -1,    -1,    -1,    -1,    -1,
 
6555
      -1,    -1,    -1,   243,   244,   245,    -1,    -1,   248,    -1,
 
6556
     250,   251,   252,   253,    -1,    -1,   256,    -1,    -1,    -1,
 
6557
     260,    -1,    -1,    -1,   264,    -1,    -1,    -1,   268,    -1,
 
6558
     270,    -1,    -1,   273,   274,   275,   276,   277,   278,   279,
 
6559
      -1,   281,   282,    -1,    -1,    -1,   286,   287,   288,   289,
 
6560
      -1,    -1,    -1,   293,    -1,   295,   296,   297,    -1,    -1,
 
6561
      -1,    -1,    -1,   303,    -1,    -1,    -1,    -1,   308,   309,
 
6562
      -1,    -1,   312,   313,    -1,    -1,   316,   317,   318,    -1,
 
6563
      -1,   321,   322,   323,    -1,   325,   326,    -1,    -1,   329,
 
6564
      -1,    -1,   332,    -1,   334,   335,   336,    -1,    -1,   339,
 
6565
      -1,    -1,   342,   343,   344,    -1,   346,   347,    -1,    -1,
 
6566
      -1,   351,    -1,    -1,    -1,   355,    -1,    -1,    -1,    -1,
 
6567
      -1,   361,    -1,    -1,   364,    -1,    -1,    -1,   368,   369,
 
6568
      -1,    -1,    -1,     4,   374,     6,     7,     8,   378,    -1,
 
6569
      -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    20,
 
6570
      -1,    22,    -1,    -1,    -1,    -1,    27,    -1,    29,    30,
 
6571
      31,    32,    -1,    34,    -1,    36,    -1,    -1,    39,    -1,
 
6572
      -1,    42,    -1,    -1,    45,    -1,    47,    48,    -1,    50,
 
6573
      51,    -1,    53,    54,    55,    56,    57,    58,    -1,    60,
 
6574
      61,    -1,    63,    -1,    -1,    -1,    -1,    -1,    69,    -1,
 
6575
      -1,    -1,    -1,    74,    75,    76,    77,    -1,    -1,    80,
 
6576
      -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    -1,    -1,
 
6577
      -1,    -1,    -1,    -1,    95,    96,    -1,    -1,    -1,    -1,
 
6578
     101,   102,   103,    -1,    -1,    -1,   107,    -1,   109,   110,
 
6579
      -1,   112,   113,    -1,    -1,   116,    -1,   118,   119,    -1,
 
6580
     121,    -1,    -1,    -1,   125,   126,   127,   128,    -1,   130,
 
6581
      -1,    -1,    -1,   134,   135,    -1,   137,    -1,   139,    -1,
 
6582
      -1,    -1,   143,    -1,    -1,    -1,    -1,    -1,   149,   150,
 
6583
     151,   152,    -1,    -1,   155,   156,    -1,    -1,    -1,    -1,
 
6584
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,
 
6585
      -1,   172,    -1,    -1,   175,    -1,    -1,    -1,   179,    -1,
 
6586
      -1,    -1,    -1,   184,    -1,   186,    -1,   188,    -1,   190,
 
6587
      -1,    -1,    -1,    -1,    -1,   196,   197,    -1,   199,   200,
 
6588
     201,   202,    -1,    -1,   205,   206,    -1,   208,    -1,   210,
 
6589
      -1,   212,   213,   214,   215,    -1,    -1,    -1,   219,   220,
 
6590
     221,    -1,    -1,   224,    -1,    -1,    -1,   228,   229,    -1,
 
6591
     231,   232,   233,   234,    -1,    -1,    -1,    -1,    -1,    -1,
 
6592
      -1,    -1,   243,   244,   245,    -1,    -1,   248,    -1,   250,
 
6593
     251,   252,   253,    -1,    -1,   256,    -1,    -1,    -1,   260,
 
6594
      -1,    -1,    -1,   264,    -1,    -1,    -1,   268,    -1,   270,
 
6595
      -1,    -1,   273,   274,   275,   276,   277,   278,   279,    -1,
 
6596
     281,   282,    -1,    -1,    -1,   286,   287,   288,   289,    -1,
 
6597
      -1,    -1,   293,    -1,   295,   296,   297,    -1,    -1,    -1,
 
6598
      -1,    -1,   303,    -1,    -1,    -1,    -1,   308,   309,    -1,
 
6599
      -1,   312,   313,    -1,    -1,   316,   317,   318,    -1,    -1,
 
6600
     321,   322,   323,    -1,   325,   326,    -1,    -1,   329,    -1,
 
6601
      -1,   332,    -1,   334,   335,   336,    -1,    -1,   339,    -1,
 
6602
      -1,   342,   343,   344,    -1,   346,   347,    -1,    -1,    -1,
 
6603
     351,    -1,    -1,    -1,   355,    -1,    -1,    -1,    -1,    -1,
 
6604
     361,    -1,    -1,   364,    -1,    -1,    -1,   368,   369,    -1,
 
6605
      -1,    -1,    -1,   374,    -1,    -1,    -1,   378
 
6606
};
 
6607
 
 
6608
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
 
6609
   symbol of state STATE-NUM.  */
 
6610
static const yytype_uint16 yystos[] =
 
6611
{
 
6612
       0,    10,    11,    22,    45,    46,    55,    67,    91,    92,
 
6613
      93,   100,   111,   130,   162,   174,   185,   262,   263,   266,
 
6614
     273,   279,   283,   291,   294,   308,   342,   352,   353,   356,
 
6615
     384,   393,   394,   395,   396,   475,   491,   493,   495,   497,
 
6616
     499,   503,   504,   641,   647,   650,   673,   680,   686,   688,
 
6617
     694,   697,   700,   706,   708,   709,   750,   767,   769,   775,
 
6618
     776,   777,   778,    73,   228,   233,   480,   325,   328,   766,
 
6619
     770,   766,   766,   374,   771,    73,   329,   411,   480,   681,
 
6620
      73,   329,   480,   646,   701,   648,    60,   253,   707,    76,
 
6621
     714,   279,   766,   651,   771,     4,     6,     7,     8,    13,
 
6622
      17,    18,    19,    20,    22,    27,    29,    30,    31,    32,
 
6623
      34,    36,    39,    42,    45,    47,    48,    50,    51,    53,
 
6624
      54,    55,    56,    57,    58,    60,    61,    63,    69,    74,
 
6625
      75,    76,    77,    80,    85,    86,    95,    96,   101,   102,
 
6626
     103,   107,   109,   110,   112,   113,   116,   118,   119,   121,
 
6627
     125,   126,   127,   128,   130,   134,   135,   137,   139,   143,
 
6628
     149,   150,   151,   152,   155,   156,   168,   172,   175,   179,
 
6629
     184,   186,   188,   190,   196,   197,   199,   200,   201,   202,
 
6630
     205,   206,   208,   210,   212,   213,   214,   215,   219,   220,
 
6631
     221,   224,   228,   229,   231,   232,   233,   234,   243,   244,
 
6632
     245,   248,   250,   251,   252,   253,   256,   260,   264,   268,
 
6633
     270,   273,   274,   275,   276,   277,   278,   279,   281,   282,
 
6634
     286,   287,   288,   289,   293,   295,   296,   297,   303,   308,
 
6635
     309,   312,   313,   316,   317,   318,   321,   322,   323,   325,
 
6636
     326,   329,   332,   334,   335,   336,   339,   342,   343,   344,
 
6637
     346,   347,   351,   355,   361,   364,   368,   369,   374,   378,
 
6638
     742,   746,   748,   749,   507,   509,   510,   236,   752,   689,
 
6639
     339,   328,   687,   768,   154,   488,   746,   283,   384,   505,
 
6640
       0,   111,   121,   390,   698,   741,   746,   478,   746,   488,
 
6641
     496,   771,   494,   498,    12,   772,   153,   412,   328,   398,
 
6642
     154,   684,   685,   153,   645,   157,   766,   190,   309,   325,
 
6643
     702,   703,   766,   488,     6,    20,    25,    26,    40,    41,
 
6644
      44,    48,    50,    65,    66,    70,    71,    73,    78,    79,
 
6645
      80,    85,    87,    90,   120,   122,   123,   129,   141,   145,
 
6646
     149,   153,   162,   163,   178,   191,   198,   202,   205,   207,
 
6647
     211,   212,   222,   223,   225,   226,   246,   252,   265,   266,
 
6648
     270,   272,   278,   281,   310,   311,   317,   319,   320,   324,
 
6649
     331,   334,   335,   336,   340,   341,   342,   345,   355,   358,
 
6650
     359,   360,   365,   367,   378,   379,   380,   384,   388,   390,
 
6651
     391,   524,   525,   526,   527,   533,   534,   535,   536,   537,
 
6652
     542,   546,   729,   732,   733,   737,   739,   742,   744,   746,
 
6653
     710,   746,   500,   164,   644,   653,   654,   741,   337,   772,
 
6654
     508,     9,    97,   302,   303,   304,   305,   315,   514,   515,
 
6655
     516,   751,    51,    66,    67,    74,   116,   139,   156,   157,
 
6656
     171,   186,   251,   288,   325,   328,   368,   461,   690,   758,
 
6657
     372,   492,   644,   766,   741,   509,   505,   385,   746,   696,
 
6658
     695,   390,   477,   328,   643,   644,   643,   643,    42,   224,
 
6659
     224,   262,   773,   222,   530,   746,   412,   350,   462,   136,
 
6660
     682,   684,   120,   746,   746,   645,   372,   386,   704,   653,
 
6661
     384,   384,   533,   524,   556,   384,   384,   384,   384,   384,
 
6662
     384,   384,   523,   523,   384,   384,   384,   384,   729,   384,
 
6663
     384,   384,   384,   384,   384,   384,   384,   384,   524,   384,
 
6664
     384,   384,   384,   384,   384,   384,   524,   384,   523,   384,
 
6665
     384,   384,   384,   384,   384,   384,   384,   384,   384,   384,
 
6666
     384,   384,   384,   523,   384,   729,   384,   384,   384,   384,
 
6667
     384,   523,   523,   384,   384,   384,   384,   533,   533,   524,
 
6668
     790,   791,   746,   746,   547,    12,   239,   376,   528,   529,
 
6669
     114,   115,   138,   142,   167,   176,   194,   217,   531,    23,
 
6670
      98,   166,   181,   211,   379,   380,   381,   382,   383,   530,
 
6671
      49,   744,   384,   390,    58,   715,   501,   502,   741,   654,
 
6672
     652,   279,   774,   773,   349,   779,   780,   381,   518,   519,
 
6673
     520,   516,   753,   754,   755,   136,   166,   692,   384,    73,
 
6674
     328,   181,   371,   693,   182,   625,   627,   691,   692,   309,
 
6675
     625,   692,   309,   364,    61,   674,   385,   780,   782,   783,
 
6676
     784,   503,    26,   145,   699,   730,   744,   746,   746,    90,
 
6677
     418,   449,   741,   386,    42,   262,   120,   399,   741,   157,
 
6678
     741,   230,   643,   257,   703,   643,   705,   649,   524,     9,
 
6679
      97,   552,   608,   370,   558,   524,   524,   555,   555,   524,
 
6680
     524,    97,   552,   608,   385,   385,   524,   524,   524,   524,
 
6681
     737,   790,    81,    82,    83,    84,    85,   146,   147,   148,
 
6682
     149,   202,   203,   204,   205,   212,   252,   280,   281,   369,
 
6683
     377,   378,   603,   605,    97,   549,   524,   524,   524,   524,
 
6684
     603,   524,    97,   552,   524,   524,    97,   552,   524,   524,
 
6685
     524,   527,   524,   524,   524,   524,   524,   524,   524,   552,
 
6686
     552,   524,   524,    97,   552,   524,   524,   135,   604,   605,
 
6687
     604,    33,   177,   338,   524,   524,   385,   738,   739,   746,
 
6688
     552,   552,   524,   385,   386,   385,   283,   384,   787,   788,
 
6689
     524,   390,   180,   331,   391,   548,   743,   746,   747,   524,
 
6690
     524,   524,   526,   123,   225,   341,   351,   530,     9,    13,
 
6691
     526,   532,   527,   527,   384,   533,   527,   163,   527,   163,
 
6692
     527,   527,   527,   527,    23,   166,   181,   747,   538,   746,
 
6693
     158,   386,   337,   283,   291,   360,   361,   384,   406,   655,
 
6694
     658,   746,     9,    97,   786,   386,   511,   524,   735,   746,
 
6695
     386,   139,   186,   231,   288,   756,   757,   760,   761,   741,
 
6696
     381,   412,   741,   743,   524,   191,   226,   345,   628,   629,
 
6697
     693,   746,   691,   741,   693,   693,   297,   291,   238,   621,
 
6698
     627,   785,    49,   476,   644,   410,   418,   397,   746,   683,
 
6699
     741,   189,   655,   386,   552,   385,   553,   524,   105,   370,
 
6700
     557,    14,   385,   386,   385,   385,   386,   543,   385,   381,
 
6701
     386,   386,   385,   385,   385,   385,   136,   545,   385,   386,
 
6702
     386,   386,   380,   386,   552,   385,   385,   385,   552,   385,
 
6703
     386,   385,   385,   166,   385,   386,   386,   385,   386,   386,
 
6704
     385,   385,   385,   386,   136,   386,   552,   385,   385,   385,
 
6705
     386,   386,   136,   524,   136,   524,   136,   524,   136,   385,
 
6706
     386,   385,   385,   385,   385,   555,   577,   578,   579,   283,
 
6707
     384,   506,   349,   792,   389,   746,   139,   186,   288,   759,
 
6708
     292,   123,   225,   341,   351,   384,    12,   524,   790,   118,
 
6709
     613,   524,   524,   527,   384,   533,   520,   539,   540,   541,
 
6710
     390,   331,   745,   502,   741,   407,   656,   384,   661,   666,
 
6711
     661,   385,   406,   657,   734,   735,   738,   746,   659,   781,
 
6712
     519,   136,   164,   512,   513,   620,   621,   637,   521,   521,
 
6713
     390,   754,   339,   746,   763,   391,   762,   691,   385,   746,
 
6714
     229,   386,   693,   691,   676,   677,   738,    35,   625,   114,
 
6715
     292,   664,   665,     5,    10,    18,    29,    43,    53,    65,
 
6716
      95,    96,   100,   107,   112,   131,   155,   172,   210,   238,
 
6717
     263,   277,   414,   416,   417,   449,   479,   481,   482,   483,
 
6718
     617,   181,   384,   400,   413,   415,   416,   463,   464,   371,
 
6719
     609,   642,   230,   671,   163,   524,   385,   524,   333,   524,
 
6720
     524,   109,    25,    44,    77,    80,    88,   554,   524,   554,
 
6721
     555,   385,   163,   163,   524,   555,   524,   524,   524,   524,
 
6722
     524,   385,   385,   524,   524,   524,   524,   524,   555,   163,
 
6723
     524,   524,   524,   385,   524,   524,   524,   136,   524,   136,
 
6724
     524,   136,   524,   524,   385,   514,   578,   506,   385,   786,
 
6725
     390,   390,   390,   747,   524,   790,   526,   385,   386,   385,
 
6726
     533,   603,   603,    12,   524,   790,   613,   524,   385,   386,
 
6727
     746,   711,   514,   662,   663,   738,   667,   386,   384,   658,
 
6728
     385,   385,   386,   779,   504,   283,   384,   388,   559,   560,
 
6729
     561,   562,   563,   572,   573,   587,   638,   133,   189,   517,
 
6730
     637,   626,   627,   513,    14,   522,   743,   746,   381,   746,
 
6731
     168,   664,   391,   747,   693,   116,   368,   629,   629,   609,
 
6732
     386,   675,   664,   622,    90,   447,   448,   747,    52,    62,
 
6733
     157,   173,   425,   428,   429,   457,   459,   487,   487,   665,
 
6734
     665,   487,   665,   337,   171,   326,   132,   249,   459,   487,
 
6735
     171,   665,   326,   665,   487,    35,    14,   114,   337,   490,
 
6736
     665,   414,    49,   386,   384,   390,   424,   430,   740,   746,
 
6737
     741,   181,   401,   406,   422,   423,   424,   425,   154,   266,
 
6738
     403,   716,   386,   415,   344,   357,   467,   230,   610,   620,
 
6739
     102,   524,   385,   524,   333,   384,   441,   441,   384,   439,
 
6740
     440,   385,   385,   544,   524,   524,   385,   551,   621,   386,
 
6741
     386,   385,   386,   385,   385,   385,   385,   386,   385,   385,
 
6742
     524,   385,   133,   385,   385,   386,   386,   386,   385,   524,
 
6743
     385,   524,   385,   524,   385,   385,   518,   385,   789,   390,
 
6744
     473,   385,   555,   526,   385,   386,   385,   521,   541,   716,
 
6745
     518,   386,   664,    90,   524,   668,   669,   670,   666,   660,
 
6746
     658,   734,   586,   746,    68,   159,   170,   178,   216,   272,
 
6747
     315,   571,   609,   386,   741,   586,   101,   241,   633,   634,
 
6748
     639,   353,   166,   743,   746,   390,   179,     9,    25,    90,
 
6749
     230,   524,   765,   759,   664,   677,   609,   670,   524,   623,
 
6750
     736,   472,   740,    46,   132,   249,   350,   427,   458,   426,
 
6751
     427,   472,   740,    87,   129,   191,   226,   345,   632,    87,
 
6752
     129,   145,   191,   226,   345,   631,   740,   743,   448,   173,
 
6753
     173,   740,   740,   747,   631,   740,   618,   619,   738,   741,
 
6754
      56,    57,    90,   103,   128,   243,   260,   420,   665,   483,
 
6755
     422,   746,     7,   127,   489,   261,   426,   451,   431,   390,
 
6756
     413,   741,   385,   385,   386,    14,   409,   415,    34,   143,
 
6757
     469,   469,   741,   524,   182,   630,   672,   603,   524,   226,
 
6758
     226,   385,   603,   603,   285,   550,   524,   524,   555,   524,
 
6759
     603,   524,   524,   524,   524,   385,   385,   385,   580,   787,
 
6760
     746,   385,   555,   522,   164,   408,   663,   670,   385,   386,
 
6761
     782,   574,   581,   586,   559,   170,   170,   240,   588,   170,
 
6762
     178,   272,   588,   572,   559,   140,   614,   561,    14,   114,
 
6763
     606,   607,   583,   584,   745,   745,   391,   635,   636,   293,
 
6764
     381,   257,   264,   286,   764,   763,   524,   620,   386,    15,
 
6765
      92,   624,   524,   173,   173,   459,   460,   472,   464,   100,
 
6766
     291,   484,   472,   485,   386,   624,   448,   385,   746,   741,
 
6767
      24,    28,    44,    77,    80,    88,    99,   113,   128,   165,
 
6768
     227,   259,   287,   332,   334,   362,   363,   432,   433,   435,
 
6769
     436,   437,   438,   746,   385,   402,   413,   423,   384,   406,
 
6770
     384,   629,   173,   385,   385,   385,   386,   385,   385,   730,
 
6771
     385,   385,   386,   385,   385,   385,   385,   385,   385,   385,
 
6772
     421,   513,   626,   385,   712,   421,   670,   349,   385,   620,
 
6773
     582,   389,   170,   572,   588,   588,   170,   230,   230,   357,
 
6774
      35,   144,   611,   746,   597,   598,   514,   640,   747,   386,
 
6775
     208,    54,   346,   257,   664,   630,   736,   472,   464,   384,
 
6776
      90,    90,   430,   432,   619,   384,   452,   439,   247,   434,
 
6777
     439,   439,   384,    18,    49,    53,    90,   125,   225,   230,
 
6778
     249,   287,   350,   443,   444,   445,   450,   530,   366,   384,
 
6779
     384,   384,   440,   442,   390,   782,   403,   406,   404,   470,
 
6780
     471,   746,   353,   226,   524,   517,   517,   328,   786,   607,
 
6781
     626,   562,   559,   572,   170,   170,   559,   572,   565,   564,
 
6782
     566,   615,   736,   612,   620,   595,   596,   518,    51,   717,
 
6783
     636,   765,   624,   384,   384,   470,    80,   334,   379,   380,
 
6784
     731,   732,   489,   486,   453,   746,   195,   454,   384,   226,
 
6785
     447,   743,   223,   446,   731,    90,   103,   128,   419,   353,
 
6786
      90,   173,   445,   173,   225,   226,   226,   226,   746,   385,
 
6787
     779,   385,   386,   624,   384,   678,   679,   738,   385,   385,
 
6788
     741,   575,   230,   568,   572,   572,   230,   570,   524,   524,
 
6789
     384,   373,   386,   616,   624,   524,   626,   131,   154,   356,
 
6790
     590,   591,   594,   585,   108,   117,   237,   330,   718,   719,
 
6791
     183,   720,   470,   470,   385,   733,   733,   489,   385,   386,
 
6792
     137,   244,   296,   230,   455,   474,   730,   385,   523,   223,
 
6793
     361,   385,   385,   405,    53,   172,   465,   466,   467,   468,
 
6794
     471,   226,   386,   664,   713,   787,   567,   357,   569,   357,
 
6795
     602,   746,   736,   459,   459,   591,   421,    35,    35,   108,
 
6796
      35,   719,   307,   330,   721,   722,   385,   385,   465,   746,
 
6797
      91,   353,   385,   386,   523,   782,   743,   665,   468,   624,
 
6798
     385,   679,   670,   717,   576,   524,   384,   524,   384,   385,
 
6799
     386,   624,   133,   589,   589,   730,   730,    35,   730,    35,
 
6800
      35,   722,   451,   465,    38,   224,   267,   291,   456,   456,
 
6801
     730,   631,   720,   620,   602,   602,   746,   140,   170,   238,
 
6802
     593,   592,   730,   730,   730,     4,    90,   225,   230,   230,
 
6803
     154,   723,   626,   385,   385,    35,    35,   384,   384,   353,
 
6804
      91,   226,   384,   725,   249,   599,   600,   601,   746,   601,
 
6805
     456,   456,   183,   276,   724,   385,   391,   726,   727,   738,
 
6806
     291,   728,   385,   386,   385,   747,   385,   386,   678,   600,
 
6807
     727
 
6808
};
 
6809
 
 
6810
#define yyerrok         (yyerrstatus = 0)
 
6811
#define yyclearin       (yychar = YYEMPTY)
 
6812
#define YYEMPTY         (-2)
 
6813
#define YYEOF           0
 
6814
 
 
6815
#define YYACCEPT        goto yyacceptlab
 
6816
#define YYABORT         goto yyabortlab
 
6817
#define YYERROR         goto yyerrorlab
 
6818
 
 
6819
 
 
6820
/* Like YYERROR except do call yyerror.  This remains here temporarily
 
6821
   to ease the transition to the new meaning of YYERROR, for GCC.
 
6822
   Once GCC version 2 has supplanted version 1, this can go.  */
 
6823
 
 
6824
#define YYFAIL          goto yyerrlab
 
6825
 
 
6826
#define YYRECOVERING()  (!!yyerrstatus)
 
6827
 
 
6828
#define YYBACKUP(Token, Value)                                  \
 
6829
do                                                              \
 
6830
  if (yychar == YYEMPTY && yylen == 1)                          \
 
6831
    {                                                           \
 
6832
      yychar = (Token);                                         \
 
6833
      yylval = (Value);                                         \
 
6834
      yytoken = YYTRANSLATE (yychar);                           \
 
6835
      YYPOPSTACK (1);                                           \
 
6836
      goto yybackup;                                            \
 
6837
    }                                                           \
 
6838
  else                                                          \
 
6839
    {                                                           \
 
6840
      yyerror (YY_("syntax error: cannot back up")); \
 
6841
      YYERROR;                                                  \
 
6842
    }                                                           \
 
6843
while (YYID (0))
 
6844
 
 
6845
 
 
6846
#define YYTERROR        1
 
6847
#define YYERRCODE       256
 
6848
 
 
6849
 
 
6850
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
 
6851
   If N is 0, then set CURRENT to the empty location which ends
 
6852
   the previous symbol: RHS[0] (always defined).  */
 
6853
 
 
6854
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
 
6855
#ifndef YYLLOC_DEFAULT
 
6856
# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
 
6857
    do                                                                  \
 
6858
      if (YYID (N))                                                    \
 
6859
        {                                                               \
 
6860
          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
 
6861
          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
 
6862
          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
 
6863
          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
 
6864
        }                                                               \
 
6865
      else                                                              \
 
6866
        {                                                               \
 
6867
          (Current).first_line   = (Current).last_line   =              \
 
6868
            YYRHSLOC (Rhs, 0).last_line;                                \
 
6869
          (Current).first_column = (Current).last_column =              \
 
6870
            YYRHSLOC (Rhs, 0).last_column;                              \
 
6871
        }                                                               \
 
6872
    while (YYID (0))
 
6873
#endif
 
6874
 
 
6875
 
 
6876
/* YY_LOCATION_PRINT -- Print the location on the stream.
 
6877
   This macro was not mandated originally: define only if we know
 
6878
   we won't break user code: when these are the locations we know.  */
 
6879
 
 
6880
#ifndef YY_LOCATION_PRINT
 
6881
# if YYLTYPE_IS_TRIVIAL
 
6882
#  define YY_LOCATION_PRINT(File, Loc)                  \
 
6883
     fprintf (File, "%d.%d-%d.%d",                      \
 
6884
              (Loc).first_line, (Loc).first_column,     \
 
6885
              (Loc).last_line,  (Loc).last_column)
 
6886
# else
 
6887
#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
 
6888
# endif
 
6889
#endif
 
6890
 
 
6891
 
 
6892
/* YYLEX -- calling `yylex' with the right arguments.  */
 
6893
 
 
6894
#ifdef YYLEX_PARAM
 
6895
# define YYLEX yylex (&yylval, YYLEX_PARAM)
 
6896
#else
 
6897
# define YYLEX yylex (&yylval)
 
6898
#endif
 
6899
 
 
6900
/* Enable debugging if requested.  */
 
6901
#if YYDEBUG
 
6902
 
 
6903
# ifndef YYFPRINTF
 
6904
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
 
6905
#  define YYFPRINTF fprintf
 
6906
# endif
 
6907
 
 
6908
# define YYDPRINTF(Args)                        \
 
6909
do {                                            \
 
6910
  if (yydebug)                                  \
 
6911
    YYFPRINTF Args;                             \
 
6912
} while (YYID (0))
 
6913
 
 
6914
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
 
6915
do {                                                                      \
 
6916
  if (yydebug)                                                            \
 
6917
    {                                                                     \
 
6918
      YYFPRINTF (stderr, "%s ", Title);                                   \
 
6919
      yy_symbol_print (stderr,                                            \
 
6920
                  Type, Value); \
 
6921
      YYFPRINTF (stderr, "\n");                                           \
 
6922
    }                                                                     \
 
6923
} while (YYID (0))
 
6924
 
 
6925
 
 
6926
/*--------------------------------.
 
6927
| Print this symbol on YYOUTPUT.  |
 
6928
`--------------------------------*/
 
6929
 
 
6930
/*ARGSUSED*/
 
6931
#if (defined __STDC__ || defined __C99__FUNC__ \
 
6932
     || defined __cplusplus || defined _MSC_VER)
 
6933
static void
 
6934
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
 
6935
#else
 
6936
static void
 
6937
yy_symbol_value_print (yyoutput, yytype, yyvaluep)
 
6938
    FILE *yyoutput;
 
6939
    int yytype;
 
6940
    YYSTYPE const * const yyvaluep;
 
6941
#endif
 
6942
{
 
6943
  if (!yyvaluep)
 
6944
    return;
 
6945
# ifdef YYPRINT
 
6946
  if (yytype < YYNTOKENS)
 
6947
    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
 
6948
# else
 
6949
  YYUSE (yyoutput);
 
6950
# endif
 
6951
  switch (yytype)
 
6952
    {
 
6953
      default:
 
6954
        break;
 
6955
    }
 
6956
}
 
6957
 
 
6958
 
 
6959
/*--------------------------------.
 
6960
| Print this symbol on YYOUTPUT.  |
 
6961
`--------------------------------*/
 
6962
 
 
6963
#if (defined __STDC__ || defined __C99__FUNC__ \
 
6964
     || defined __cplusplus || defined _MSC_VER)
 
6965
static void
 
6966
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
 
6967
#else
 
6968
static void
 
6969
yy_symbol_print (yyoutput, yytype, yyvaluep)
 
6970
    FILE *yyoutput;
 
6971
    int yytype;
 
6972
    YYSTYPE const * const yyvaluep;
 
6973
#endif
 
6974
{
 
6975
  if (yytype < YYNTOKENS)
 
6976
    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
 
6977
  else
 
6978
    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
6979
 
 
6980
  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
 
6981
  YYFPRINTF (yyoutput, ")");
 
6982
}
 
6983
 
 
6984
/*------------------------------------------------------------------.
 
6985
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
 
6986
| TOP (included).                                                   |
 
6987
`------------------------------------------------------------------*/
 
6988
 
 
6989
#if (defined __STDC__ || defined __C99__FUNC__ \
 
6990
     || defined __cplusplus || defined _MSC_VER)
 
6991
static void
 
6992
yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
 
6993
#else
 
6994
static void
 
6995
yy_stack_print (bottom, top)
 
6996
    yytype_int16 *bottom;
 
6997
    yytype_int16 *top;
 
6998
#endif
 
6999
{
 
7000
  YYFPRINTF (stderr, "Stack now");
 
7001
  for (; bottom <= top; ++bottom)
 
7002
    YYFPRINTF (stderr, " %d", *bottom);
 
7003
  YYFPRINTF (stderr, "\n");
 
7004
}
 
7005
 
 
7006
# define YY_STACK_PRINT(Bottom, Top)                            \
 
7007
do {                                                            \
 
7008
  if (yydebug)                                                  \
 
7009
    yy_stack_print ((Bottom), (Top));                           \
 
7010
} while (YYID (0))
 
7011
 
 
7012
 
 
7013
/*------------------------------------------------.
 
7014
| Report that the YYRULE is going to be reduced.  |
 
7015
`------------------------------------------------*/
 
7016
 
 
7017
#if (defined __STDC__ || defined __C99__FUNC__ \
 
7018
     || defined __cplusplus || defined _MSC_VER)
 
7019
static void
 
7020
yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
 
7021
#else
 
7022
static void
 
7023
yy_reduce_print (yyvsp, yyrule)
 
7024
    YYSTYPE *yyvsp;
 
7025
    int yyrule;
 
7026
#endif
 
7027
{
 
7028
  int yynrhs = yyr2[yyrule];
 
7029
  int yyi;
 
7030
  unsigned long int yylno = yyrline[yyrule];
 
7031
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
 
7032
             yyrule - 1, yylno);
 
7033
  /* The symbols being reduced.  */
 
7034
  for (yyi = 0; yyi < yynrhs; yyi++)
 
7035
    {
 
7036
      fprintf (stderr, "   $%d = ", yyi + 1);
 
7037
      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
 
7038
                       &(yyvsp[(yyi + 1) - (yynrhs)])
 
7039
                                       );
 
7040
      fprintf (stderr, "\n");
 
7041
    }
 
7042
}
 
7043
 
 
7044
# define YY_REDUCE_PRINT(Rule)          \
 
7045
do {                                    \
 
7046
  if (yydebug)                          \
 
7047
    yy_reduce_print (yyvsp, Rule); \
 
7048
} while (YYID (0))
 
7049
 
 
7050
/* Nonzero means print parse trace.  It is left uninitialized so that
 
7051
   multiple parsers can coexist.  */
 
7052
int yydebug;
 
7053
#else /* !YYDEBUG */
 
7054
# define YYDPRINTF(Args)
 
7055
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 
7056
# define YY_STACK_PRINT(Bottom, Top)
 
7057
# define YY_REDUCE_PRINT(Rule)
 
7058
#endif /* !YYDEBUG */
 
7059
 
 
7060
 
 
7061
/* YYINITDEPTH -- initial size of the parser's stacks.  */
 
7062
#ifndef YYINITDEPTH
 
7063
# define YYINITDEPTH 200
 
7064
#endif
 
7065
 
 
7066
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
 
7067
   if the built-in stack extension method is used).
 
7068
 
 
7069
   Do not make this value too large; the results are undefined if
 
7070
   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
 
7071
   evaluated with infinite-precision integer arithmetic.  */
 
7072
 
 
7073
#ifndef YYMAXDEPTH
 
7074
# define YYMAXDEPTH 10000
 
7075
#endif
 
7076
 
 
7077
 
 
7078
 
 
7079
#if YYERROR_VERBOSE
 
7080
 
 
7081
# ifndef yystrlen
 
7082
#  if defined __GLIBC__ && defined _STRING_H
 
7083
#   define yystrlen strlen
 
7084
#  else
 
7085
/* Return the length of YYSTR.  */
 
7086
#if (defined __STDC__ || defined __C99__FUNC__ \
 
7087
     || defined __cplusplus || defined _MSC_VER)
 
7088
static YYSIZE_T
 
7089
yystrlen (const char *yystr)
 
7090
#else
 
7091
static YYSIZE_T
 
7092
yystrlen (yystr)
 
7093
    const char *yystr;
 
7094
#endif
 
7095
{
 
7096
  YYSIZE_T yylen;
 
7097
  for (yylen = 0; yystr[yylen]; yylen++)
 
7098
    continue;
 
7099
  return yylen;
 
7100
}
 
7101
#  endif
 
7102
# endif
 
7103
 
 
7104
# ifndef yystpcpy
 
7105
#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
 
7106
#   define yystpcpy stpcpy
 
7107
#  else
 
7108
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
 
7109
   YYDEST.  */
 
7110
#if (defined __STDC__ || defined __C99__FUNC__ \
 
7111
     || defined __cplusplus || defined _MSC_VER)
 
7112
static char *
 
7113
yystpcpy (char *yydest, const char *yysrc)
 
7114
#else
 
7115
static char *
 
7116
yystpcpy (yydest, yysrc)
 
7117
    char *yydest;
 
7118
    const char *yysrc;
 
7119
#endif
 
7120
{
 
7121
  char *yyd = yydest;
 
7122
  const char *yys = yysrc;
 
7123
 
 
7124
  while ((*yyd++ = *yys++) != '\0')
 
7125
    continue;
 
7126
 
 
7127
  return yyd - 1;
 
7128
}
 
7129
#  endif
 
7130
# endif
 
7131
 
 
7132
# ifndef yytnamerr
 
7133
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
 
7134
   quotes and backslashes, so that it's suitable for yyerror.  The
 
7135
   heuristic is that double-quoting is unnecessary unless the string
 
7136
   contains an apostrophe, a comma, or backslash (other than
 
7137
   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
 
7138
   null, do not copy; instead, return the length of what the result
 
7139
   would have been.  */
 
7140
static YYSIZE_T
 
7141
yytnamerr (char *yyres, const char *yystr)
 
7142
{
 
7143
  if (*yystr == '"')
 
7144
    {
 
7145
      YYSIZE_T yyn = 0;
 
7146
      char const *yyp = yystr;
 
7147
 
 
7148
      for (;;)
 
7149
        switch (*++yyp)
 
7150
          {
 
7151
          case '\'':
 
7152
          case ',':
 
7153
            goto do_not_strip_quotes;
 
7154
 
 
7155
          case '\\':
 
7156
            if (*++yyp != '\\')
 
7157
              goto do_not_strip_quotes;
 
7158
            /* Fall through.  */
 
7159
          default:
 
7160
            if (yyres)
 
7161
              yyres[yyn] = *yyp;
 
7162
            yyn++;
 
7163
            break;
 
7164
 
 
7165
          case '"':
 
7166
            if (yyres)
 
7167
              yyres[yyn] = '\0';
 
7168
            return yyn;
 
7169
          }
 
7170
    do_not_strip_quotes: ;
 
7171
    }
 
7172
 
 
7173
  if (! yyres)
 
7174
    return yystrlen (yystr);
 
7175
 
 
7176
  return yystpcpy (yyres, yystr) - yyres;
 
7177
}
 
7178
# endif
 
7179
 
 
7180
/* Copy into YYRESULT an error message about the unexpected token
 
7181
   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
 
7182
   including the terminating null byte.  If YYRESULT is null, do not
 
7183
   copy anything; just return the number of bytes that would be
 
7184
   copied.  As a special case, return 0 if an ordinary "syntax error"
 
7185
   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
 
7186
   size calculation.  */
 
7187
static YYSIZE_T
 
7188
yysyntax_error (char *yyresult, int yystate, int yychar)
 
7189
{
 
7190
  int yyn = yypact[yystate];
 
7191
 
 
7192
  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
 
7193
    return 0;
 
7194
  else
 
7195
    {
 
7196
      int yytype = YYTRANSLATE (yychar);
 
7197
      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
 
7198
      YYSIZE_T yysize = yysize0;
 
7199
      YYSIZE_T yysize1;
 
7200
      int yysize_overflow = 0;
 
7201
      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
 
7202
      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
 
7203
      int yyx;
 
7204
 
 
7205
# if 0
 
7206
      /* This is so xgettext sees the translatable formats that are
 
7207
         constructed on the fly.  */
 
7208
      YY_("syntax error, unexpected %s");
 
7209
      YY_("syntax error, unexpected %s, expecting %s");
 
7210
      YY_("syntax error, unexpected %s, expecting %s or %s");
 
7211
      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
 
7212
      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
 
7213
# endif
 
7214
      char *yyfmt;
 
7215
      char const *yyf;
 
7216
      static char const yyunexpected[] = "syntax error, unexpected %s";
 
7217
      static char const yyexpecting[] = ", expecting %s";
 
7218
      static char const yyor[] = " or %s";
 
7219
      char yyformat[sizeof yyunexpected
 
7220
                    + sizeof yyexpecting - 1
 
7221
                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
 
7222
                       * (sizeof yyor - 1))];
 
7223
      char const *yyprefix = yyexpecting;
 
7224
 
 
7225
      /* Start YYX at -YYN if negative to avoid negative indexes in
 
7226
         YYCHECK.  */
 
7227
      int yyxbegin = yyn < 0 ? -yyn : 0;
 
7228
 
 
7229
      /* Stay within bounds of both yycheck and yytname.  */
 
7230
      int yychecklim = YYLAST - yyn + 1;
 
7231
      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
 
7232
      int yycount = 1;
 
7233
 
 
7234
      yyarg[0] = yytname[yytype];
 
7235
      yyfmt = yystpcpy (yyformat, yyunexpected);
 
7236
 
 
7237
      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
 
7238
        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
 
7239
          {
 
7240
            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
 
7241
              {
 
7242
                yycount = 1;
 
7243
                yysize = yysize0;
 
7244
                yyformat[sizeof yyunexpected - 1] = '\0';
 
7245
                break;
 
7246
              }
 
7247
            yyarg[yycount++] = yytname[yyx];
 
7248
            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
 
7249
            yysize_overflow |= (yysize1 < yysize);
 
7250
            yysize = yysize1;
 
7251
            yyfmt = yystpcpy (yyfmt, yyprefix);
 
7252
            yyprefix = yyor;
 
7253
          }
 
7254
 
 
7255
      yyf = YY_(yyformat);
 
7256
      yysize1 = yysize + yystrlen (yyf);
 
7257
      yysize_overflow |= (yysize1 < yysize);
 
7258
      yysize = yysize1;
 
7259
 
 
7260
      if (yysize_overflow)
 
7261
        return YYSIZE_MAXIMUM;
 
7262
 
 
7263
      if (yyresult)
 
7264
        {
 
7265
          /* Avoid sprintf, as that infringes on the user's name space.
 
7266
             Don't have undefined behavior even if the translation
 
7267
             produced a string with the wrong number of "%s"s.  */
 
7268
          char *yyp = yyresult;
 
7269
          int yyi = 0;
 
7270
          while ((*yyp = *yyf) != '\0')
 
7271
            {
 
7272
              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
 
7273
                {
 
7274
                  yyp += yytnamerr (yyp, yyarg[yyi++]);
 
7275
                  yyf += 2;
 
7276
                }
 
7277
              else
 
7278
                {
 
7279
                  yyp++;
 
7280
                  yyf++;
 
7281
                }
 
7282
            }
 
7283
        }
 
7284
      return yysize;
 
7285
    }
 
7286
}
 
7287
#endif /* YYERROR_VERBOSE */
 
7288
 
 
7289
 
 
7290
/*-----------------------------------------------.
 
7291
| Release the memory associated to this symbol.  |
 
7292
`-----------------------------------------------*/
 
7293
 
 
7294
/*ARGSUSED*/
 
7295
#if (defined __STDC__ || defined __C99__FUNC__ \
 
7296
     || defined __cplusplus || defined _MSC_VER)
 
7297
static void
 
7298
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 
7299
#else
 
7300
static void
 
7301
yydestruct (yymsg, yytype, yyvaluep)
 
7302
    const char *yymsg;
 
7303
    int yytype;
 
7304
    YYSTYPE *yyvaluep;
 
7305
#endif
 
7306
{
 
7307
  YYUSE (yyvaluep);
 
7308
 
 
7309
  if (!yymsg)
 
7310
    yymsg = "Deleting";
 
7311
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 
7312
 
 
7313
  switch (yytype)
 
7314
    {
 
7315
 
 
7316
      default:
 
7317
        break;
 
7318
    }
 
7319
}
 
7320
 
 
7321
 
 
7322
/* Prevent warnings from -Wmissing-prototypes.  */
 
7323
 
 
7324
#ifdef YYPARSE_PARAM
 
7325
#if defined __STDC__ || defined __cplusplus
 
7326
int yyparse (void *YYPARSE_PARAM);
 
7327
#else
 
7328
int yyparse ();
 
7329
#endif
 
7330
#else /* ! YYPARSE_PARAM */
 
7331
#if defined __STDC__ || defined __cplusplus
 
7332
int yyparse (void);
 
7333
#else
 
7334
int yyparse ();
 
7335
#endif
 
7336
#endif /* ! YYPARSE_PARAM */
 
7337
 
 
7338
 
 
7339
 
 
7340
 
 
7341
 
 
7342
 
 
7343
/*----------.
 
7344
| yyparse.  |
 
7345
`----------*/
 
7346
 
 
7347
#ifdef YYPARSE_PARAM
 
7348
#if (defined __STDC__ || defined __C99__FUNC__ \
 
7349
     || defined __cplusplus || defined _MSC_VER)
 
7350
int
 
7351
yyparse (void *YYPARSE_PARAM)
 
7352
#else
 
7353
int
 
7354
yyparse (YYPARSE_PARAM)
 
7355
    void *YYPARSE_PARAM;
 
7356
#endif
 
7357
#else /* ! YYPARSE_PARAM */
 
7358
#if (defined __STDC__ || defined __C99__FUNC__ \
 
7359
     || defined __cplusplus || defined _MSC_VER)
 
7360
int
 
7361
yyparse (void)
 
7362
#else
 
7363
int
 
7364
yyparse ()
 
7365
 
 
7366
#endif
 
7367
#endif
 
7368
{
 
7369
  /* The look-ahead symbol.  */
 
7370
int yychar;
 
7371
 
 
7372
/* The semantic value of the look-ahead symbol.  */
 
7373
YYSTYPE yylval;
 
7374
 
 
7375
/* Number of syntax errors so far.  */
 
7376
int yynerrs;
 
7377
 
 
7378
  int yystate;
 
7379
  int yyn;
 
7380
  int yyresult;
 
7381
  /* Number of tokens to shift before error messages enabled.  */
 
7382
  int yyerrstatus;
 
7383
  /* Look-ahead token as an internal (translated) token number.  */
 
7384
  int yytoken = 0;
 
7385
#if YYERROR_VERBOSE
 
7386
  /* Buffer for error messages, and its allocated size.  */
 
7387
  char yymsgbuf[128];
 
7388
  char *yymsg = yymsgbuf;
 
7389
  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
 
7390
#endif
 
7391
 
 
7392
  /* Three stacks and their tools:
 
7393
     `yyss': related to states,
 
7394
     `yyvs': related to semantic values,
 
7395
     `yyls': related to locations.
 
7396
 
 
7397
     Refer to the stacks thru separate pointers, to allow yyoverflow
 
7398
     to reallocate them elsewhere.  */
 
7399
 
 
7400
  /* The state stack.  */
 
7401
  yytype_int16 yyssa[YYINITDEPTH];
 
7402
  yytype_int16 *yyss = yyssa;
 
7403
  yytype_int16 *yyssp;
 
7404
 
 
7405
  /* The semantic value stack.  */
 
7406
  YYSTYPE yyvsa[YYINITDEPTH];
 
7407
  YYSTYPE *yyvs = yyvsa;
 
7408
  YYSTYPE *yyvsp;
 
7409
 
 
7410
 
 
7411
 
 
7412
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 
7413
 
 
7414
  YYSIZE_T yystacksize = YYINITDEPTH;
 
7415
 
 
7416
  /* The variables used to return semantic value and location from the
 
7417
     action routines.  */
 
7418
  YYSTYPE yyval;
 
7419
 
 
7420
 
 
7421
  /* The number of symbols on the RHS of the reduced rule.
 
7422
     Keep to zero when no symbol should be popped.  */
 
7423
  int yylen = 0;
 
7424
 
 
7425
  YYDPRINTF ((stderr, "Starting parse\n"));
 
7426
 
 
7427
  yystate = 0;
 
7428
  yyerrstatus = 0;
 
7429
  yynerrs = 0;
 
7430
  yychar = YYEMPTY;             /* Cause a token to be read.  */
 
7431
 
 
7432
  /* Initialize stack pointers.
 
7433
     Waste one element of value and location stack
 
7434
     so that they stay on the same level as the state stack.
 
7435
     The wasted elements are never initialized.  */
 
7436
 
 
7437
  yyssp = yyss;
 
7438
  yyvsp = yyvs;
 
7439
 
 
7440
  goto yysetstate;
 
7441
 
 
7442
/*------------------------------------------------------------.
 
7443
| yynewstate -- Push a new state, which is found in yystate.  |
 
7444
`------------------------------------------------------------*/
 
7445
 yynewstate:
 
7446
  /* In all cases, when you get here, the value and location stacks
 
7447
     have just been pushed.  So pushing a state here evens the stacks.  */
 
7448
  yyssp++;
 
7449
 
 
7450
 yysetstate:
 
7451
  *yyssp = yystate;
 
7452
 
 
7453
  if (yyss + yystacksize - 1 <= yyssp)
 
7454
    {
 
7455
      /* Get the current used size of the three stacks, in elements.  */
 
7456
      YYSIZE_T yysize = yyssp - yyss + 1;
 
7457
 
 
7458
#ifdef yyoverflow
 
7459
      {
 
7460
        /* Give user a chance to reallocate the stack.  Use copies of
 
7461
           these so that the &'s don't force the real ones into
 
7462
           memory.  */
 
7463
        YYSTYPE *yyvs1 = yyvs;
 
7464
        yytype_int16 *yyss1 = yyss;
 
7465
 
 
7466
 
 
7467
        /* Each stack pointer address is followed by the size of the
 
7468
           data in use in that stack, in bytes.  This used to be a
 
7469
           conditional around just the two extra args, but that might
 
7470
           be undefined if yyoverflow is a macro.  */
 
7471
        yyoverflow (YY_("memory exhausted"),
 
7472
                    &yyss1, yysize * sizeof (*yyssp),
 
7473
                    &yyvs1, yysize * sizeof (*yyvsp),
 
7474
 
 
7475
                    &yystacksize);
 
7476
 
 
7477
        yyss = yyss1;
 
7478
        yyvs = yyvs1;
 
7479
      }
 
7480
#else /* no yyoverflow */
 
7481
# ifndef YYSTACK_RELOCATE
 
7482
      goto yyexhaustedlab;
 
7483
# else
 
7484
      /* Extend the stack our own way.  */
 
7485
      if (YYMAXDEPTH <= yystacksize)
 
7486
        goto yyexhaustedlab;
 
7487
      yystacksize *= 2;
 
7488
      if (YYMAXDEPTH < yystacksize)
 
7489
        yystacksize = YYMAXDEPTH;
 
7490
 
 
7491
      {
 
7492
        yytype_int16 *yyss1 = yyss;
 
7493
        union yyalloc *yyptr =
 
7494
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
 
7495
        if (! yyptr)
 
7496
          goto yyexhaustedlab;
 
7497
        YYSTACK_RELOCATE (yyss);
 
7498
        YYSTACK_RELOCATE (yyvs);
 
7499
 
 
7500
#  undef YYSTACK_RELOCATE
 
7501
        if (yyss1 != yyssa)
 
7502
          YYSTACK_FREE (yyss1);
 
7503
      }
 
7504
# endif
 
7505
#endif /* no yyoverflow */
 
7506
 
 
7507
      yyssp = yyss + yysize - 1;
 
7508
      yyvsp = yyvs + yysize - 1;
 
7509
 
 
7510
 
 
7511
      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
 
7512
                  (unsigned long int) yystacksize));
 
7513
 
 
7514
      if (yyss + yystacksize - 1 <= yyssp)
 
7515
        YYABORT;
 
7516
    }
 
7517
 
 
7518
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
7519
 
 
7520
  goto yybackup;
 
7521
 
 
7522
/*-----------.
 
7523
| yybackup.  |
 
7524
`-----------*/
 
7525
yybackup:
 
7526
 
 
7527
  /* Do appropriate processing given the current state.  Read a
 
7528
     look-ahead token if we need one and don't already have one.  */
 
7529
 
 
7530
  /* First try to decide what to do without reference to look-ahead token.  */
 
7531
  yyn = yypact[yystate];
 
7532
  if (yyn == YYPACT_NINF)
 
7533
    goto yydefault;
 
7534
 
 
7535
  /* Not known => get a look-ahead token if don't already have one.  */
 
7536
 
 
7537
  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
 
7538
  if (yychar == YYEMPTY)
 
7539
    {
 
7540
      YYDPRINTF ((stderr, "Reading a token: "));
 
7541
      yychar = YYLEX;
 
7542
    }
 
7543
 
 
7544
  if (yychar <= YYEOF)
 
7545
    {
 
7546
      yychar = yytoken = YYEOF;
 
7547
      YYDPRINTF ((stderr, "Now at end of input.\n"));
 
7548
    }
 
7549
  else
 
7550
    {
 
7551
      yytoken = YYTRANSLATE (yychar);
 
7552
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
 
7553
    }
 
7554
 
 
7555
  /* If the proper action on seeing token YYTOKEN is to reduce or to
 
7556
     detect an error, take that action.  */
 
7557
  yyn += yytoken;
 
7558
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
 
7559
    goto yydefault;
 
7560
  yyn = yytable[yyn];
 
7561
  if (yyn <= 0)
 
7562
    {
 
7563
      if (yyn == 0 || yyn == YYTABLE_NINF)
 
7564
        goto yyerrlab;
 
7565
      yyn = -yyn;
 
7566
      goto yyreduce;
 
7567
    }
 
7568
 
 
7569
  if (yyn == YYFINAL)
 
7570
    YYACCEPT;
 
7571
 
 
7572
  /* Count tokens shifted since error; after three, turn off error
 
7573
     status.  */
 
7574
  if (yyerrstatus)
 
7575
    yyerrstatus--;
 
7576
 
 
7577
  /* Shift the look-ahead token.  */
 
7578
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 
7579
 
 
7580
  /* Discard the shifted token unless it is eof.  */
 
7581
  if (yychar != YYEOF)
 
7582
    yychar = YYEMPTY;
 
7583
 
 
7584
  yystate = yyn;
 
7585
  *++yyvsp = yylval;
 
7586
 
 
7587
  goto yynewstate;
 
7588
 
 
7589
 
 
7590
/*-----------------------------------------------------------.
 
7591
| yydefault -- do the default action for the current state.  |
 
7592
`-----------------------------------------------------------*/
 
7593
yydefault:
 
7594
  yyn = yydefact[yystate];
 
7595
  if (yyn == 0)
 
7596
    goto yyerrlab;
 
7597
  goto yyreduce;
 
7598
 
 
7599
 
 
7600
/*-----------------------------.
 
7601
| yyreduce -- Do a reduction.  |
 
7602
`-----------------------------*/
 
7603
yyreduce:
 
7604
  /* yyn is the number of a rule to reduce with.  */
 
7605
  yylen = yyr2[yyn];
 
7606
 
 
7607
  /* If YYLEN is nonzero, implement the default value of the action:
 
7608
     `$$ = $1'.
 
7609
 
 
7610
     Otherwise, the following line sets YYVAL to garbage.
 
7611
     This behavior is undocumented and Bison
 
7612
     users should not rely upon it.  Assigning to YYVAL
 
7613
     unconditionally makes the parser a bit smaller, and it avoids a
 
7614
     GCC warning that YYVAL may be used uninitialized.  */
 
7615
  yyval = yyvsp[1-yylen];
 
7616
 
 
7617
 
 
7618
  YY_REDUCE_PRINT (yyn);
 
7619
  switch (yyn)
 
7620
    {
 
7621
        case 2:
 
7622
#line 963 "sql_yacc.yy"
 
7623
    {
 
7624
            Session *session= YYSession;
 
7625
            if (!(session->lex->select_lex.options & OPTION_FOUND_COMMENT))
 
7626
            {
 
7627
              my_message(ER_EMPTY_QUERY, ER(ER_EMPTY_QUERY), MYF(0));
 
7628
              DRIZZLE_YYABORT;
 
7629
            }
 
7630
            else
 
7631
            {
 
7632
              session->lex->sql_command= SQLCOM_EMPTY_QUERY;
 
7633
              session->lex->statement=
 
7634
                new(std::nothrow) statement::EmptyQuery(YYSession);
 
7635
              if (session->lex->statement == NULL)
 
7636
                DRIZZLE_YYABORT;
 
7637
            }
 
7638
          }
 
7639
    break;
 
7640
 
 
7641
  case 3:
 
7642
#line 979 "sql_yacc.yy"
 
7643
    {}
 
7644
    break;
 
7645
 
 
7646
  case 32:
 
7647
#line 1021 "sql_yacc.yy"
 
7648
    {
 
7649
            Session *session= YYSession;
 
7650
            LEX *lex= session->lex;
 
7651
            lex->sql_command= SQLCOM_CREATE_TABLE;
 
7652
            statement::CreateTable *statement= new(std::nothrow) statement::CreateTable(YYSession);
 
7653
            lex->statement= statement;
 
7654
            if (lex->statement == NULL)
 
7655
              DRIZZLE_YYABORT;
 
7656
            if (!lex->select_lex.add_table_to_list(session, (yyvsp[(5) - (5)].table), NULL,
 
7657
                                                   TL_OPTION_UPDATING,
 
7658
                                                   TL_WRITE))
 
7659
              DRIZZLE_YYABORT;
 
7660
            lex->col_list.empty();
 
7661
            statement->change=NULL;
 
7662
            statement->is_if_not_exists= (yyvsp[(4) - (5)].num);
 
7663
            statement->create_info.db_type= NULL;
 
7664
            statement->create_info.default_table_charset= NULL;
 
7665
            lex->name.str= 0;
 
7666
 
 
7667
            message::Table &proto= statement->create_table_proto;
 
7668
           
 
7669
            proto.set_name((yyvsp[(5) - (5)].table)->table.str);
 
7670
            if((yyvsp[(2) - (5)].num))
 
7671
              proto.set_type(message::Table::TEMPORARY);
 
7672
            else
 
7673
              proto.set_type(message::Table::STANDARD);
 
7674
          }
 
7675
    break;
 
7676
 
 
7677
  case 33:
 
7678
#line 1049 "sql_yacc.yy"
 
7679
    {
 
7680
            LEX *lex= YYSession->lex;
 
7681
            lex->current_select= &lex->select_lex;
 
7682
          }
 
7683
    break;
 
7684
 
 
7685
  case 34:
 
7686
#line 1054 "sql_yacc.yy"
 
7687
    {
 
7688
            LEX *lex=Lex;
 
7689
            lex->sql_command= SQLCOM_CREATE_INDEX;
 
7690
            statement::CreateIndex *statement= new(std::nothrow) statement::CreateIndex(YYSession);
 
7691
            lex->statement= statement;
 
7692
            if (lex->statement == NULL)
 
7693
              DRIZZLE_YYABORT;
 
7694
            statement->alter_info.flags.set(ALTER_ADD_INDEX);
 
7695
            statement->alter_info.build_method= (yyvsp[(2) - (2)].build_method);
 
7696
            lex->col_list.empty();
 
7697
            statement->change=NULL;
 
7698
          }
 
7699
    break;
 
7700
 
 
7701
  case 35:
 
7702
#line 1067 "sql_yacc.yy"
 
7703
    {
 
7704
            LEX *lex=Lex;
 
7705
            statement::CreateIndex *statement= (statement::CreateIndex *)Lex->statement;
 
7706
 
 
7707
            if (!lex->current_select->add_table_to_list(lex->session, (yyvsp[(9) - (13)].table),
 
7708
                                                        NULL,
 
7709
                                                        TL_OPTION_UPDATING))
 
7710
              DRIZZLE_YYABORT;
 
7711
            Key *key;
 
7712
            key= new Key((yyvsp[(4) - (13)].key_type), (yyvsp[(6) - (13)].lex_str), &statement->key_create_info, 0, lex->col_list);
 
7713
            statement->alter_info.key_list.push_back(key);
 
7714
            lex->col_list.empty();
 
7715
          }
 
7716
    break;
 
7717
 
 
7718
  case 36:
 
7719
#line 1081 "sql_yacc.yy"
 
7720
    {
 
7721
            LEX *lex=Lex;
 
7722
 
 
7723
            lex->sql_command=SQLCOM_CREATE_DB;
 
7724
            statement::CreateSchema *statement= new(std::nothrow) statement::CreateSchema(YYSession);
 
7725
            lex->statement= statement;
 
7726
            if (lex->statement == NULL)
 
7727
              DRIZZLE_YYABORT;
 
7728
            statement->is_if_not_exists= (yyvsp[(3) - (4)].num);
 
7729
          }
 
7730
    break;
 
7731
 
 
7732
  case 37:
 
7733
#line 1092 "sql_yacc.yy"
 
7734
    {
 
7735
            Lex->name= (yyvsp[(4) - (6)].lex_str);
 
7736
          }
 
7737
    break;
 
7738
 
 
7739
  case 38:
 
7740
#line 1098 "sql_yacc.yy"
 
7741
    {}
 
7742
    break;
 
7743
 
 
7744
  case 39:
 
7745
#line 1100 "sql_yacc.yy"
 
7746
    {}
 
7747
    break;
 
7748
 
 
7749
  case 40:
 
7750
#line 1102 "sql_yacc.yy"
 
7751
    {
 
7752
            Session *session= YYSession;
 
7753
            LEX *lex= session->lex;
 
7754
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
7755
 
 
7756
            statement->is_create_table_like= true;
 
7757
            if (!lex->select_lex.add_table_to_list(session, (yyvsp[(2) - (3)].table), NULL, 0, TL_READ))
 
7758
              DRIZZLE_YYABORT;
 
7759
          }
 
7760
    break;
 
7761
 
 
7762
  case 41:
 
7763
#line 1112 "sql_yacc.yy"
 
7764
    {
 
7765
            Session *session= YYSession;
 
7766
            LEX *lex= session->lex;
 
7767
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
7768
 
 
7769
            statement->is_create_table_like= true;
 
7770
            if (!lex->select_lex.add_table_to_list(session, (yyvsp[(3) - (4)].table), NULL, 0, TL_READ))
 
7771
              DRIZZLE_YYABORT;
 
7772
          }
 
7773
    break;
 
7774
 
 
7775
  case 42:
 
7776
#line 1125 "sql_yacc.yy"
 
7777
    {}
 
7778
    break;
 
7779
 
 
7780
  case 43:
 
7781
#line 1127 "sql_yacc.yy"
 
7782
    { Lex->current_select->set_braces(1);}
 
7783
    break;
 
7784
 
 
7785
  case 44:
 
7786
#line 1128 "sql_yacc.yy"
 
7787
    {}
 
7788
    break;
 
7789
 
 
7790
  case 45:
 
7791
#line 1132 "sql_yacc.yy"
 
7792
    {}
 
7793
    break;
 
7794
 
 
7795
  case 46:
 
7796
#line 1134 "sql_yacc.yy"
 
7797
    { Lex->current_select->set_braces(0);}
 
7798
    break;
 
7799
 
 
7800
  case 47:
 
7801
#line 1135 "sql_yacc.yy"
 
7802
    {}
 
7803
    break;
 
7804
 
 
7805
  case 48:
 
7806
#line 1137 "sql_yacc.yy"
 
7807
    { Lex->current_select->set_braces(1);}
 
7808
    break;
 
7809
 
 
7810
  case 49:
 
7811
#line 1138 "sql_yacc.yy"
 
7812
    {}
 
7813
    break;
 
7814
 
 
7815
  case 50:
 
7816
#line 1143 "sql_yacc.yy"
 
7817
    {
 
7818
            LEX *lex=Lex;
 
7819
            lex->lock_option= TL_READ;
 
7820
            if (lex->sql_command == SQLCOM_INSERT)
 
7821
            {
 
7822
              lex->sql_command= SQLCOM_INSERT_SELECT;
 
7823
              delete lex->statement;
 
7824
              lex->statement=
 
7825
                new(std::nothrow) statement::InsertSelect(YYSession);
 
7826
              if (lex->statement == NULL)
 
7827
                DRIZZLE_YYABORT;
 
7828
            }
 
7829
            else if (lex->sql_command == SQLCOM_REPLACE)
 
7830
            {
 
7831
              lex->sql_command= SQLCOM_REPLACE_SELECT;
 
7832
              delete lex->statement;
 
7833
              lex->statement=
 
7834
                new(std::nothrow) statement::ReplaceSelect(YYSession);
 
7835
              if (lex->statement == NULL)
 
7836
                DRIZZLE_YYABORT;
 
7837
            }
 
7838
            /*
 
7839
              The following work only with the local list, the global list
 
7840
              is created correctly in this case
 
7841
            */
 
7842
            lex->current_select->table_list.save_and_clear(&lex->save_list);
 
7843
            mysql_init_select(lex);
 
7844
            lex->current_select->parsing_place= SELECT_LIST;
 
7845
          }
 
7846
    break;
 
7847
 
 
7848
  case 51:
 
7849
#line 1173 "sql_yacc.yy"
 
7850
    {
 
7851
            Lex->current_select->parsing_place= NO_MATTER;
 
7852
          }
 
7853
    break;
 
7854
 
 
7855
  case 52:
 
7856
#line 1177 "sql_yacc.yy"
 
7857
    {
 
7858
            /*
 
7859
              The following work only with the local list, the global list
 
7860
              is created correctly in this case
 
7861
            */
 
7862
            Lex->current_select->table_list.push_front(&Lex->save_list);
 
7863
          }
 
7864
    break;
 
7865
 
 
7866
  case 53:
 
7867
#line 1187 "sql_yacc.yy"
 
7868
    {}
 
7869
    break;
 
7870
 
 
7871
  case 54:
 
7872
#line 1188 "sql_yacc.yy"
 
7873
    {}
 
7874
    break;
 
7875
 
 
7876
  case 55:
 
7877
#line 1192 "sql_yacc.yy"
 
7878
    {}
 
7879
    break;
 
7880
 
 
7881
  case 56:
 
7882
#line 1193 "sql_yacc.yy"
 
7883
    {}
 
7884
    break;
 
7885
 
 
7886
  case 57:
 
7887
#line 1197 "sql_yacc.yy"
 
7888
    { (yyval.num)= false; }
 
7889
    break;
 
7890
 
 
7891
  case 58:
 
7892
#line 1198 "sql_yacc.yy"
 
7893
    { (yyval.num)= true; }
 
7894
    break;
 
7895
 
 
7896
  case 59:
 
7897
#line 1202 "sql_yacc.yy"
 
7898
    { (yyval.num)= false; }
 
7899
    break;
 
7900
 
 
7901
  case 60:
 
7902
#line 1203 "sql_yacc.yy"
 
7903
    { (yyval.num)= true; }
 
7904
    break;
 
7905
 
 
7906
  case 68:
 
7907
#line 1224 "sql_yacc.yy"
 
7908
    {
 
7909
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
7910
            message::Table::StorageEngine *protoengine;
 
7911
            protoengine= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_engine();
 
7912
 
 
7913
            statement->is_engine_set= true;
 
7914
 
 
7915
            protoengine->set_name((yyvsp[(3) - (3)].lex_str).str);
 
7916
          }
 
7917
    break;
 
7918
 
 
7919
  case 69:
 
7920
#line 1234 "sql_yacc.yy"
 
7921
    {
 
7922
            message::Table::TableOptions *tableopts;
 
7923
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
7924
            tableopts= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_options();
 
7925
 
 
7926
            tableopts->set_block_size((yyvsp[(3) - (3)].ulong_num));
 
7927
            statement->create_info.used_fields|= HA_CREATE_USED_BLOCK_SIZE;
 
7928
          }
 
7929
    break;
 
7930
 
 
7931
  case 70:
 
7932
#line 1243 "sql_yacc.yy"
 
7933
    {
 
7934
            message::Table::TableOptions *tableopts;
 
7935
            tableopts= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_options();
 
7936
 
 
7937
            tableopts->set_comment((yyvsp[(3) - (3)].lex_str).str);
 
7938
          }
 
7939
    break;
 
7940
 
 
7941
  case 71:
 
7942
#line 1250 "sql_yacc.yy"
 
7943
    {
 
7944
            message::Table::TableOptions *tableopts;
 
7945
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
7946
 
 
7947
            tableopts= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_options();
 
7948
 
 
7949
            statement->create_info.auto_increment_value=(yyvsp[(3) - (3)].ulonglong_number);
 
7950
            statement->create_info.used_fields|= HA_CREATE_USED_AUTO;
 
7951
            tableopts->set_auto_increment_value((yyvsp[(3) - (3)].ulonglong_number));
 
7952
          }
 
7953
    break;
 
7954
 
 
7955
  case 72:
 
7956
#line 1261 "sql_yacc.yy"
 
7957
    {
 
7958
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
7959
 
 
7960
            statement->create_info.row_type= (yyvsp[(3) - (3)].row_type);
 
7961
            statement->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT;
 
7962
            statement->alter_info.flags.set(ALTER_ROW_FORMAT);
 
7963
          }
 
7964
    break;
 
7965
 
 
7966
  case 74:
 
7967
#line 1270 "sql_yacc.yy"
 
7968
    {
 
7969
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
7970
 
 
7971
            statement->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE;
 
7972
 
 
7973
            message::Table::TableOptions *tableopts;
 
7974
            tableopts= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_options();
 
7975
            tableopts->set_key_block_size((yyvsp[(3) - (3)].ulong_num));
 
7976
          }
 
7977
    break;
 
7978
 
 
7979
  case 75:
 
7980
#line 1283 "sql_yacc.yy"
 
7981
    {
 
7982
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
7983
 
 
7984
            HA_CREATE_INFO *cinfo= &statement->create_info;
 
7985
            if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
 
7986
                 cinfo->default_table_charset && (yyvsp[(4) - (4)].charset) &&
 
7987
                 !my_charset_same(cinfo->default_table_charset,(yyvsp[(4) - (4)].charset)))
 
7988
              {
 
7989
                my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
 
7990
                         (yyvsp[(4) - (4)].charset)->name, cinfo->default_table_charset->csname);
 
7991
                DRIZZLE_YYABORT;
 
7992
              }
 
7993
              statement->create_info.default_table_charset= (yyvsp[(4) - (4)].charset);
 
7994
              statement->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
 
7995
          }
 
7996
    break;
 
7997
 
 
7998
  case 76:
 
7999
#line 1302 "sql_yacc.yy"
 
8000
    {
 
8001
            statement::CreateSchema *statement= (statement::CreateSchema *)Lex->statement;
 
8002
 
 
8003
            message::Schema &schema_message= statement->schema_message;
 
8004
            schema_message.set_collation((yyvsp[(4) - (4)].charset)->name);
 
8005
          }
 
8006
    break;
 
8007
 
 
8008
  case 77:
 
8009
#line 1311 "sql_yacc.yy"
 
8010
    { (yyval.column_format_type)= COLUMN_FORMAT_TYPE_DEFAULT; }
 
8011
    break;
 
8012
 
 
8013
  case 78:
 
8014
#line 1312 "sql_yacc.yy"
 
8015
    { (yyval.column_format_type)= COLUMN_FORMAT_TYPE_FIXED; }
 
8016
    break;
 
8017
 
 
8018
  case 79:
 
8019
#line 1313 "sql_yacc.yy"
 
8020
    { (yyval.column_format_type)= COLUMN_FORMAT_TYPE_DYNAMIC; }
 
8021
    break;
 
8022
 
 
8023
  case 80:
 
8024
#line 1316 "sql_yacc.yy"
 
8025
    { (yyval.row_type)= ROW_TYPE_DEFAULT; }
 
8026
    break;
 
8027
 
 
8028
  case 81:
 
8029
#line 1317 "sql_yacc.yy"
 
8030
    { (yyval.row_type)= ROW_TYPE_FIXED; }
 
8031
    break;
 
8032
 
 
8033
  case 82:
 
8034
#line 1318 "sql_yacc.yy"
 
8035
    { (yyval.row_type)= ROW_TYPE_DYNAMIC; }
 
8036
    break;
 
8037
 
 
8038
  case 83:
 
8039
#line 1319 "sql_yacc.yy"
 
8040
    { (yyval.row_type)= ROW_TYPE_COMPRESSED; }
 
8041
    break;
 
8042
 
 
8043
  case 84:
 
8044
#line 1320 "sql_yacc.yy"
 
8045
    { (yyval.row_type)= ROW_TYPE_REDUNDANT; }
 
8046
    break;
 
8047
 
 
8048
  case 85:
 
8049
#line 1321 "sql_yacc.yy"
 
8050
    { (yyval.row_type)= ROW_TYPE_COMPACT; }
 
8051
    break;
 
8052
 
 
8053
  case 86:
 
8054
#line 1322 "sql_yacc.yy"
 
8055
    { (yyval.row_type)= ROW_TYPE_PAGE; }
 
8056
    break;
 
8057
 
 
8058
  case 87:
 
8059
#line 1326 "sql_yacc.yy"
 
8060
    {}
 
8061
    break;
 
8062
 
 
8063
  case 94:
 
8064
#line 1343 "sql_yacc.yy"
 
8065
    {
 
8066
            Lex->col_list.empty(); /* Alloced by memory::sql_alloc */
 
8067
          }
 
8068
    break;
 
8069
 
 
8070
  case 95:
 
8071
#line 1350 "sql_yacc.yy"
 
8072
    {
 
8073
            LEX *lex=Lex;
 
8074
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8075
            Key *key= new Key((yyvsp[(1) - (7)].key_type), (yyvsp[(2) - (7)].lex_str), &statement->key_create_info, 0,
 
8076
                              lex->col_list);
 
8077
            statement->alter_info.key_list.push_back(key);
 
8078
            lex->col_list.empty(); /* Alloced by memory::sql_alloc */
 
8079
          }
 
8080
    break;
 
8081
 
 
8082
  case 96:
 
8083
#line 1360 "sql_yacc.yy"
 
8084
    {
 
8085
            LEX *lex=Lex;
 
8086
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8087
            Key *key= new Key((yyvsp[(2) - (8)].key_type), (yyvsp[(3) - (8)].lex_str).str ? (yyvsp[(3) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str), &statement->key_create_info, 0,
 
8088
                              lex->col_list);
 
8089
            statement->alter_info.key_list.push_back(key);
 
8090
            lex->col_list.empty(); /* Alloced by memory::sql_alloc */
 
8091
          }
 
8092
    break;
 
8093
 
 
8094
  case 97:
 
8095
#line 1369 "sql_yacc.yy"
 
8096
    {
 
8097
            LEX *lex=Lex;
 
8098
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8099
            Key *key= new Foreign_key((yyvsp[(4) - (8)].lex_str).str ? (yyvsp[(4) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str), lex->col_list,
 
8100
                                      (yyvsp[(8) - (8)].table),
 
8101
                                      lex->ref_list,
 
8102
                                      statement->fk_delete_opt,
 
8103
                                      statement->fk_update_opt,
 
8104
                                      statement->fk_match_option);
 
8105
            statement->alter_info.key_list.push_back(key);
 
8106
            key= new Key(Key::MULTIPLE, (yyvsp[(1) - (8)].lex_str).str ? (yyvsp[(1) - (8)].lex_str) : (yyvsp[(4) - (8)].lex_str),
 
8107
                         &default_key_create_info, 1,
 
8108
                         lex->col_list);
 
8109
            statement->alter_info.key_list.push_back(key);
 
8110
            lex->col_list.empty(); /* Alloced by memory::sql_alloc */
 
8111
            /* Only used for ALTER TABLE. Ignored otherwise. */
 
8112
            statement->alter_info.flags.set(ALTER_FOREIGN_KEY);
 
8113
          }
 
8114
    break;
 
8115
 
 
8116
  case 98:
 
8117
#line 1388 "sql_yacc.yy"
 
8118
    {
 
8119
            Lex->col_list.empty(); /* Alloced by memory::sql_alloc */
 
8120
          }
 
8121
    break;
 
8122
 
 
8123
  case 99:
 
8124
#line 1392 "sql_yacc.yy"
 
8125
    {
 
8126
            Lex->col_list.empty(); /* Alloced by memory::sql_alloc */
 
8127
          }
 
8128
    break;
 
8129
 
 
8130
  case 103:
 
8131
#line 1407 "sql_yacc.yy"
 
8132
    { (yyval.lex_str)= null_lex_str; }
 
8133
    break;
 
8134
 
 
8135
  case 104:
 
8136
#line 1408 "sql_yacc.yy"
 
8137
    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
 
8138
    break;
 
8139
 
 
8140
  case 105:
 
8141
#line 1412 "sql_yacc.yy"
 
8142
    { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
 
8143
    break;
 
8144
 
 
8145
  case 106:
 
8146
#line 1417 "sql_yacc.yy"
 
8147
    {
 
8148
            LEX *lex=Lex;
 
8149
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
8150
            lex->length=lex->dec=0;
 
8151
            lex->type=0;
 
8152
            statement->default_value= statement->on_update_value= 0;
 
8153
            statement->comment= null_lex_str;
 
8154
            lex->charset=NULL;
 
8155
            statement->column_format= COLUMN_FORMAT_TYPE_DEFAULT;
 
8156
 
 
8157
            message::AlterTable &alter_proto=
 
8158
              ((statement::CreateTable *)Lex->statement)->alter_info.alter_proto;
 
8159
            statement->current_proto_field= alter_proto.add_added_field();
 
8160
          }
 
8161
    break;
 
8162
 
 
8163
  case 107:
 
8164
#line 1432 "sql_yacc.yy"
 
8165
    {
 
8166
            LEX *lex=Lex;
 
8167
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
8168
 
 
8169
            if (statement->current_proto_field)
 
8170
              statement->current_proto_field->set_name((yyvsp[(1) - (3)].lex_str).str);
 
8171
 
 
8172
            if (add_field_to_list(lex->session, &(yyvsp[(1) - (3)].lex_str), (enum enum_field_types) (yyvsp[(3) - (3)].num),
 
8173
                                  lex->length,lex->dec,lex->type,
 
8174
                                  statement->column_format,
 
8175
                                  statement->default_value, statement->on_update_value,
 
8176
                                  &statement->comment,
 
8177
                                  statement->change, &lex->interval_list, lex->charset))
 
8178
              DRIZZLE_YYABORT;
 
8179
 
 
8180
            statement->current_proto_field= NULL;
 
8181
          }
 
8182
    break;
 
8183
 
 
8184
  case 108:
 
8185
#line 1451 "sql_yacc.yy"
 
8186
    {}
 
8187
    break;
 
8188
 
 
8189
  case 109:
 
8190
#line 1456 "sql_yacc.yy"
 
8191
    {
 
8192
          (yyval.num)=(yyvsp[(1) - (1)].num);
 
8193
          Lex->length=(char*) 0; /* use default length */
 
8194
          statement::CreateTable *statement=
 
8195
            (statement::CreateTable *)Lex->statement;
 
8196
 
 
8197
          if (statement->current_proto_field)
 
8198
          {
 
8199
            if ((yyvsp[(1) - (1)].num) == DRIZZLE_TYPE_LONG)
 
8200
              statement->current_proto_field->set_type(message::Table::Field::INTEGER);
 
8201
            else if ((yyvsp[(1) - (1)].num) == DRIZZLE_TYPE_LONGLONG)
 
8202
              statement->current_proto_field->set_type(message::Table::Field::BIGINT);
 
8203
            else
 
8204
              abort();
 
8205
          }
 
8206
          }
 
8207
    break;
 
8208
 
 
8209
  case 110:
 
8210
#line 1473 "sql_yacc.yy"
 
8211
    {
 
8212
            (yyval.num)=(yyvsp[(1) - (2)].num);
 
8213
 
 
8214
            statement::CreateTable *statement=
 
8215
              (statement::CreateTable *)Lex->statement;
 
8216
 
 
8217
            if (statement->current_proto_field)
 
8218
            {
 
8219
              assert ((yyvsp[(1) - (2)].num) == DRIZZLE_TYPE_DOUBLE);
 
8220
              statement->current_proto_field->set_type(message::Table::Field::DOUBLE);
 
8221
            }
 
8222
          }
 
8223
    break;
 
8224
 
 
8225
  case 111:
 
8226
#line 1486 "sql_yacc.yy"
 
8227
    {
 
8228
              Lex->length=(yyvsp[(3) - (4)].lex_str).str;
 
8229
              (yyval.num)=DRIZZLE_TYPE_VARCHAR;
 
8230
 
 
8231
            statement::CreateTable *statement=
 
8232
              (statement::CreateTable *)Lex->statement;
 
8233
 
 
8234
            if (statement->current_proto_field)
 
8235
            {
 
8236
              statement->current_proto_field->set_type(message::Table::Field::VARCHAR);
 
8237
              message::Table::Field::StringFieldOptions *string_field_options;
 
8238
 
 
8239
              string_field_options= statement->current_proto_field->mutable_string_options();
 
8240
 
 
8241
              string_field_options->set_length(atoi((yyvsp[(3) - (4)].lex_str).str));
 
8242
            }
 
8243
            }
 
8244
    break;
 
8245
 
 
8246
  case 112:
 
8247
#line 1504 "sql_yacc.yy"
 
8248
    {
 
8249
              Lex->length=(char*) "1";
 
8250
              (yyval.num)=DRIZZLE_TYPE_VARCHAR;
 
8251
 
 
8252
            statement::CreateTable *statement=
 
8253
              (statement::CreateTable *)Lex->statement;
 
8254
 
 
8255
            if (statement->current_proto_field)
 
8256
              statement->current_proto_field->set_type(message::Table::Field::VARCHAR);
 
8257
            }
 
8258
    break;
 
8259
 
 
8260
  case 113:
 
8261
#line 1515 "sql_yacc.yy"
 
8262
    {
 
8263
              Lex->length=(yyvsp[(3) - (4)].lex_str).str;
 
8264
              (yyval.num)= DRIZZLE_TYPE_VARCHAR;
 
8265
 
 
8266
            statement::CreateTable *statement=
 
8267
              (statement::CreateTable *)Lex->statement;
 
8268
 
 
8269
            if (statement->current_proto_field)
 
8270
            {
 
8271
              statement->current_proto_field->set_type(message::Table::Field::VARCHAR);
 
8272
 
 
8273
              message::Table::Field::StringFieldOptions *string_field_options;
 
8274
 
 
8275
              string_field_options= statement->current_proto_field->mutable_string_options();
 
8276
 
 
8277
              string_field_options->set_length(atoi((yyvsp[(3) - (4)].lex_str).str));
 
8278
            }
 
8279
            }
 
8280
    break;
 
8281
 
 
8282
  case 114:
 
8283
#line 1534 "sql_yacc.yy"
 
8284
    {
 
8285
              Lex->length=(yyvsp[(3) - (4)].lex_str).str;
 
8286
              Lex->charset=&my_charset_bin;
 
8287
              (yyval.num)= DRIZZLE_TYPE_VARCHAR;
 
8288
 
 
8289
            statement::CreateTable *statement=
 
8290
              (statement::CreateTable *)Lex->statement;
 
8291
 
 
8292
            if (statement->current_proto_field)
 
8293
            {
 
8294
              statement->current_proto_field->set_type(message::Table::Field::VARCHAR);
 
8295
              message::Table::Field::StringFieldOptions *string_field_options;
 
8296
 
 
8297
              string_field_options= statement->current_proto_field->mutable_string_options();
 
8298
 
 
8299
              string_field_options->set_length(atoi((yyvsp[(3) - (4)].lex_str).str));
 
8300
              string_field_options->set_collation_id(my_charset_bin.number);
 
8301
              string_field_options->set_collation(my_charset_bin.name);
 
8302
            }
 
8303
            }
 
8304
    break;
 
8305
 
 
8306
  case 115:
 
8307
#line 1555 "sql_yacc.yy"
 
8308
    {
 
8309
            (yyval.num)=DRIZZLE_TYPE_DATE;
 
8310
 
 
8311
            statement::CreateTable *statement=
 
8312
              (statement::CreateTable *)Lex->statement;
 
8313
 
 
8314
            if (statement->current_proto_field)
 
8315
              statement->current_proto_field->set_type(message::Table::Field::DATE);
 
8316
          }
 
8317
    break;
 
8318
 
 
8319
  case 116:
 
8320
#line 1565 "sql_yacc.yy"
 
8321
    {
 
8322
            (yyval.num)=DRIZZLE_TYPE_TIMESTAMP;
 
8323
 
 
8324
            statement::CreateTable *statement=
 
8325
              (statement::CreateTable *)Lex->statement;
 
8326
 
 
8327
            if (statement->current_proto_field)
 
8328
              statement->current_proto_field->set_type(message::Table::Field::TIMESTAMP);
 
8329
          }
 
8330
    break;
 
8331
 
 
8332
  case 117:
 
8333
#line 1575 "sql_yacc.yy"
 
8334
    {
 
8335
            (yyval.num)=DRIZZLE_TYPE_DATETIME;
 
8336
 
 
8337
            statement::CreateTable *statement=
 
8338
              (statement::CreateTable *)Lex->statement;
 
8339
 
 
8340
            if (statement->current_proto_field)
 
8341
              statement->current_proto_field->set_type(message::Table::Field::DATETIME);
 
8342
          }
 
8343
    break;
 
8344
 
 
8345
  case 118:
 
8346
#line 1585 "sql_yacc.yy"
 
8347
    {
 
8348
              Lex->charset=&my_charset_bin;
 
8349
              (yyval.num)=DRIZZLE_TYPE_BLOB;
 
8350
              Lex->length=(char*) 0; /* use default length */
 
8351
 
 
8352
            statement::CreateTable *statement=
 
8353
              (statement::CreateTable *)Lex->statement;
 
8354
 
 
8355
            if (statement->current_proto_field)
 
8356
              statement->current_proto_field->set_type(message::Table::Field::BLOB);
 
8357
            }
 
8358
    break;
 
8359
 
 
8360
  case 119:
 
8361
#line 1597 "sql_yacc.yy"
 
8362
    {
 
8363
              (yyval.num)=DRIZZLE_TYPE_BLOB;
 
8364
              Lex->length=(char*) 0; /* use default length */
 
8365
 
 
8366
            statement::CreateTable *statement=
 
8367
              (statement::CreateTable *)Lex->statement;
 
8368
 
 
8369
            if (statement->current_proto_field)
 
8370
              statement->current_proto_field->set_type(message::Table::Field::BLOB);
 
8371
            }
 
8372
    break;
 
8373
 
 
8374
  case 120:
 
8375
#line 1608 "sql_yacc.yy"
 
8376
    {
 
8377
            (yyval.num)=DRIZZLE_TYPE_DECIMAL;
 
8378
 
 
8379
            statement::CreateTable *statement=
 
8380
              (statement::CreateTable *)Lex->statement;
 
8381
 
 
8382
            if (statement->current_proto_field)
 
8383
              statement->current_proto_field->set_type(message::Table::Field::DECIMAL);
 
8384
          }
 
8385
    break;
 
8386
 
 
8387
  case 121:
 
8388
#line 1618 "sql_yacc.yy"
 
8389
    {
 
8390
            (yyval.num)=DRIZZLE_TYPE_DECIMAL;
 
8391
 
 
8392
            statement::CreateTable *statement=
 
8393
              (statement::CreateTable *)Lex->statement;
 
8394
 
 
8395
            if (statement->current_proto_field)
 
8396
              statement->current_proto_field->set_type(message::Table::Field::DECIMAL);
 
8397
          }
 
8398
    break;
 
8399
 
 
8400
  case 122:
 
8401
#line 1628 "sql_yacc.yy"
 
8402
    {
 
8403
            (yyval.num)=DRIZZLE_TYPE_DECIMAL;
 
8404
 
 
8405
            statement::CreateTable *statement=
 
8406
              (statement::CreateTable *)Lex->statement;
 
8407
 
 
8408
            if (statement->current_proto_field)
 
8409
              statement->current_proto_field->set_type(message::Table::Field::DECIMAL);
 
8410
          }
 
8411
    break;
 
8412
 
 
8413
  case 123:
 
8414
#line 1638 "sql_yacc.yy"
 
8415
    {Lex->interval_list.empty();}
 
8416
    break;
 
8417
 
 
8418
  case 124:
 
8419
#line 1640 "sql_yacc.yy"
 
8420
    {
 
8421
            (yyval.num)=DRIZZLE_TYPE_ENUM;
 
8422
 
 
8423
            statement::CreateTable *statement=
 
8424
              (statement::CreateTable *)Lex->statement;
 
8425
 
 
8426
            if (statement->current_proto_field)
 
8427
              statement->current_proto_field->set_type(message::Table::Field::ENUM);
 
8428
          }
 
8429
    break;
 
8430
 
 
8431
  case 125:
 
8432
#line 1650 "sql_yacc.yy"
 
8433
    {
 
8434
            (yyval.num)=DRIZZLE_TYPE_LONGLONG;
 
8435
            Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG);
 
8436
 
 
8437
            statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
 
8438
            if (statement->current_proto_field)
 
8439
            {
 
8440
              message::Table::Field::FieldConstraints *constraints;
 
8441
              constraints= statement->current_proto_field->mutable_constraints();
 
8442
              constraints->set_is_nullable(false);
 
8443
 
 
8444
              statement->current_proto_field->set_type(message::Table::Field::BIGINT);
 
8445
            }
 
8446
          }
 
8447
    break;
 
8448
 
 
8449
  case 126:
 
8450
#line 1667 "sql_yacc.yy"
 
8451
    {}
 
8452
    break;
 
8453
 
 
8454
  case 127:
 
8455
#line 1671 "sql_yacc.yy"
 
8456
    {}
 
8457
    break;
 
8458
 
 
8459
  case 128:
 
8460
#line 1672 "sql_yacc.yy"
 
8461
    {}
 
8462
    break;
 
8463
 
 
8464
  case 129:
 
8465
#line 1676 "sql_yacc.yy"
 
8466
    { (yyval.num)=DRIZZLE_TYPE_LONG; }
 
8467
    break;
 
8468
 
 
8469
  case 130:
 
8470
#line 1677 "sql_yacc.yy"
 
8471
    { (yyval.num)=DRIZZLE_TYPE_LONGLONG; }
 
8472
    break;
 
8473
 
 
8474
  case 131:
 
8475
#line 1682 "sql_yacc.yy"
 
8476
    {
 
8477
            (yyval.num)= DRIZZLE_TYPE_DOUBLE;
 
8478
          }
 
8479
    break;
 
8480
 
 
8481
  case 132:
 
8482
#line 1686 "sql_yacc.yy"
 
8483
    { (yyval.num)=DRIZZLE_TYPE_DOUBLE; }
 
8484
    break;
 
8485
 
 
8486
  case 133:
 
8487
#line 1688 "sql_yacc.yy"
 
8488
    { (yyval.num)=DRIZZLE_TYPE_DOUBLE; }
 
8489
    break;
 
8490
 
 
8491
  case 134:
 
8492
#line 1693 "sql_yacc.yy"
 
8493
    { Lex->dec=Lex->length= (char*)0; }
 
8494
    break;
 
8495
 
 
8496
  case 135:
 
8497
#line 1695 "sql_yacc.yy"
 
8498
    { Lex->length=(yyvsp[(2) - (3)].lex_str).str; Lex->dec= (char*)0; }
 
8499
    break;
 
8500
 
 
8501
  case 136:
 
8502
#line 1697 "sql_yacc.yy"
 
8503
    {}
 
8504
    break;
 
8505
 
 
8506
  case 137:
 
8507
#line 1702 "sql_yacc.yy"
 
8508
    {
 
8509
            LEX *lex=Lex;
 
8510
            lex->length=(yyvsp[(2) - (5)].lex_str).str;
 
8511
            lex->dec=(yyvsp[(4) - (5)].lex_str).str;
 
8512
          }
 
8513
    break;
 
8514
 
 
8515
  case 138:
 
8516
#line 1710 "sql_yacc.yy"
 
8517
    { Lex->length=(char*) 0; /* use default length */ }
 
8518
    break;
 
8519
 
 
8520
  case 139:
 
8521
#line 1711 "sql_yacc.yy"
 
8522
    { Lex->length= (yyvsp[(2) - (3)].lex_str).str; }
 
8523
    break;
 
8524
 
 
8525
  case 140:
 
8526
#line 1715 "sql_yacc.yy"
 
8527
    {}
 
8528
    break;
 
8529
 
 
8530
  case 141:
 
8531
#line 1716 "sql_yacc.yy"
 
8532
    {}
 
8533
    break;
 
8534
 
 
8535
  case 142:
 
8536
#line 1720 "sql_yacc.yy"
 
8537
    {}
 
8538
    break;
 
8539
 
 
8540
  case 143:
 
8541
#line 1721 "sql_yacc.yy"
 
8542
    {}
 
8543
    break;
 
8544
 
 
8545
  case 144:
 
8546
#line 1725 "sql_yacc.yy"
 
8547
    {}
 
8548
    break;
 
8549
 
 
8550
  case 146:
 
8551
#line 1731 "sql_yacc.yy"
 
8552
    {
 
8553
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8554
            Lex->type&= ~ NOT_NULL_FLAG;
 
8555
 
 
8556
            if (statement->current_proto_field)
 
8557
            {
 
8558
              message::Table::Field::FieldConstraints *constraints;
 
8559
              constraints= statement->current_proto_field->mutable_constraints();
 
8560
              constraints->set_is_nullable(true);
 
8561
            }
 
8562
          }
 
8563
    break;
 
8564
 
 
8565
  case 147:
 
8566
#line 1743 "sql_yacc.yy"
 
8567
    {
 
8568
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8569
 
 
8570
            statement->column_format= (yyvsp[(2) - (2)].column_format_type);
 
8571
            statement->alter_info.flags.set(ALTER_COLUMN_FORMAT);
 
8572
          }
 
8573
    break;
 
8574
 
 
8575
  case 148:
 
8576
#line 1750 "sql_yacc.yy"
 
8577
    {
 
8578
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8579
            Lex->type|= NOT_NULL_FLAG;
 
8580
 
 
8581
            if (statement->current_proto_field)
 
8582
            {
 
8583
              message::Table::Field::FieldConstraints *constraints;
 
8584
              constraints= statement->current_proto_field->mutable_constraints();
 
8585
              constraints->set_is_nullable(false);
 
8586
            }
 
8587
          }
 
8588
    break;
 
8589
 
 
8590
  case 149:
 
8591
#line 1762 "sql_yacc.yy"
 
8592
    {
 
8593
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8594
 
 
8595
            statement->default_value=(yyvsp[(2) - (2)].item);
 
8596
            statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
 
8597
          }
 
8598
    break;
 
8599
 
 
8600
  case 150:
 
8601
#line 1769 "sql_yacc.yy"
 
8602
    { ((statement::AlterTable *)Lex->statement)->on_update_value= new Item_func_now_local(); }
 
8603
    break;
 
8604
 
 
8605
  case 151:
 
8606
#line 1771 "sql_yacc.yy"
 
8607
    {
 
8608
            Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG;
 
8609
 
 
8610
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8611
            if (statement->current_proto_field)
 
8612
            {
 
8613
              message::Table::Field::FieldConstraints *constraints;
 
8614
 
 
8615
              constraints= statement->current_proto_field->mutable_constraints();
 
8616
              constraints->set_is_nullable(false);
 
8617
            }
 
8618
          }
 
8619
    break;
 
8620
 
 
8621
  case 152:
 
8622
#line 1784 "sql_yacc.yy"
 
8623
    {
 
8624
            LEX *lex=Lex;
 
8625
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8626
 
 
8627
            lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG;
 
8628
            statement->alter_info.flags.set(ALTER_ADD_INDEX);
 
8629
 
 
8630
            if (statement->current_proto_field)
 
8631
            {
 
8632
              message::Table::Field::FieldConstraints *constraints;
 
8633
              constraints= statement->current_proto_field->mutable_constraints();
 
8634
              constraints->set_is_nullable(false);
 
8635
            }
 
8636
          }
 
8637
    break;
 
8638
 
 
8639
  case 153:
 
8640
#line 1799 "sql_yacc.yy"
 
8641
    {
 
8642
            LEX *lex=Lex;
 
8643
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8644
 
 
8645
            lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG;
 
8646
            statement->alter_info.flags.set(ALTER_ADD_INDEX);
 
8647
 
 
8648
            if (statement->current_proto_field)
 
8649
            {
 
8650
              message::Table::Field::FieldConstraints *constraints;
 
8651
              constraints= statement->current_proto_field->mutable_constraints();
 
8652
              constraints->set_is_nullable(false);
 
8653
            }
 
8654
          }
 
8655
    break;
 
8656
 
 
8657
  case 154:
 
8658
#line 1814 "sql_yacc.yy"
 
8659
    {
 
8660
            LEX *lex=Lex;
 
8661
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8662
 
 
8663
            lex->type|= UNIQUE_FLAG;
 
8664
            statement->alter_info.flags.set(ALTER_ADD_INDEX);
 
8665
          }
 
8666
    break;
 
8667
 
 
8668
  case 155:
 
8669
#line 1822 "sql_yacc.yy"
 
8670
    {
 
8671
            LEX *lex=Lex;
 
8672
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8673
 
 
8674
            lex->type|= UNIQUE_KEY_FLAG;
 
8675
            statement->alter_info.flags.set(ALTER_ADD_INDEX);
 
8676
          }
 
8677
    break;
 
8678
 
 
8679
  case 156:
 
8680
#line 1830 "sql_yacc.yy"
 
8681
    {
 
8682
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
8683
            statement->comment= (yyvsp[(2) - (2)].lex_str);
 
8684
 
 
8685
            if (statement->current_proto_field)
 
8686
              statement->current_proto_field->set_comment((yyvsp[(2) - (2)].lex_str).str);
 
8687
          }
 
8688
    break;
 
8689
 
 
8690
  case 157:
 
8691
#line 1838 "sql_yacc.yy"
 
8692
    {
 
8693
            if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[(2) - (2)].charset)))
 
8694
            {
 
8695
              my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
 
8696
                       (yyvsp[(2) - (2)].charset)->name,Lex->charset->csname);
 
8697
              DRIZZLE_YYABORT;
 
8698
            }
 
8699
            else
 
8700
            {
 
8701
              Lex->charset=(yyvsp[(2) - (2)].charset);
 
8702
            }
 
8703
          }
 
8704
    break;
 
8705
 
 
8706
  case 158:
 
8707
#line 1854 "sql_yacc.yy"
 
8708
    { (yyval.item)= new Item_func_now_local(); }
 
8709
    break;
 
8710
 
 
8711
  case 159:
 
8712
#line 1856 "sql_yacc.yy"
 
8713
    { (yyval.item)=(yyvsp[(1) - (1)].item); }
 
8714
    break;
 
8715
 
 
8716
  case 160:
 
8717
#line 1861 "sql_yacc.yy"
 
8718
    {
 
8719
            if (!((yyval.charset)=get_charset_by_name((yyvsp[(1) - (1)].lex_str).str)))
 
8720
            {
 
8721
              my_error(ER_UNKNOWN_COLLATION, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
 
8722
              DRIZZLE_YYABORT;
 
8723
            }
 
8724
          }
 
8725
    break;
 
8726
 
 
8727
  case 161:
 
8728
#line 1871 "sql_yacc.yy"
 
8729
    { (yyval.charset)=(yyvsp[(1) - (1)].charset); }
 
8730
    break;
 
8731
 
 
8732
  case 162:
 
8733
#line 1872 "sql_yacc.yy"
 
8734
    { (yyval.charset)=NULL; }
 
8735
    break;
 
8736
 
 
8737
  case 163:
 
8738
#line 1876 "sql_yacc.yy"
 
8739
    {}
 
8740
    break;
 
8741
 
 
8742
  case 164:
 
8743
#line 1877 "sql_yacc.yy"
 
8744
    {}
 
8745
    break;
 
8746
 
 
8747
  case 167:
 
8748
#line 1891 "sql_yacc.yy"
 
8749
    {
 
8750
            (yyval.table)=(yyvsp[(2) - (5)].table);
 
8751
          }
 
8752
    break;
 
8753
 
 
8754
  case 168:
 
8755
#line 1898 "sql_yacc.yy"
 
8756
    { Lex->ref_list.empty(); }
 
8757
    break;
 
8758
 
 
8759
  case 170:
 
8760
#line 1904 "sql_yacc.yy"
 
8761
    { Lex->ref_list.push_back(new Key_part_spec((yyvsp[(3) - (3)].lex_str), 0)); }
 
8762
    break;
 
8763
 
 
8764
  case 171:
 
8765
#line 1906 "sql_yacc.yy"
 
8766
    {
 
8767
            LEX *lex= Lex;
 
8768
            lex->ref_list.empty();
 
8769
            lex->ref_list.push_back(new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0));
 
8770
          }
 
8771
    break;
 
8772
 
 
8773
  case 172:
 
8774
#line 1915 "sql_yacc.yy"
 
8775
    { ((statement::CreateTable *)Lex->statement)->fk_match_option= Foreign_key::FK_MATCH_UNDEF; }
 
8776
    break;
 
8777
 
 
8778
  case 173:
 
8779
#line 1917 "sql_yacc.yy"
 
8780
    { ((statement::CreateTable *)Lex->statement)->fk_match_option= Foreign_key::FK_MATCH_FULL; }
 
8781
    break;
 
8782
 
 
8783
  case 174:
 
8784
#line 1919 "sql_yacc.yy"
 
8785
    { ((statement::CreateTable *)Lex->statement)->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; }
 
8786
    break;
 
8787
 
 
8788
  case 175:
 
8789
#line 1921 "sql_yacc.yy"
 
8790
    { ((statement::CreateTable *)Lex->statement)->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; }
 
8791
    break;
 
8792
 
 
8793
  case 176:
 
8794
#line 1926 "sql_yacc.yy"
 
8795
    {
 
8796
            ((statement::CreateTable *)Lex->statement)->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
 
8797
            ((statement::CreateTable *)Lex->statement)->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
 
8798
          }
 
8799
    break;
 
8800
 
 
8801
  case 177:
 
8802
#line 1931 "sql_yacc.yy"
 
8803
    {
 
8804
            ((statement::CreateTable *)Lex->statement)->fk_update_opt= (yyvsp[(3) - (3)].m_fk_option);
 
8805
            ((statement::CreateTable *)Lex->statement)->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
 
8806
          }
 
8807
    break;
 
8808
 
 
8809
  case 178:
 
8810
#line 1936 "sql_yacc.yy"
 
8811
    {
 
8812
            ((statement::CreateTable *)Lex->statement)->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
 
8813
            ((statement::CreateTable *)Lex->statement)->fk_delete_opt= (yyvsp[(3) - (3)].m_fk_option);
 
8814
          }
 
8815
    break;
 
8816
 
 
8817
  case 179:
 
8818
#line 1942 "sql_yacc.yy"
 
8819
    {
 
8820
            ((statement::CreateTable *)Lex->statement)->fk_update_opt= (yyvsp[(3) - (6)].m_fk_option);
 
8821
            ((statement::CreateTable *)Lex->statement)->fk_delete_opt= (yyvsp[(6) - (6)].m_fk_option);
 
8822
          }
 
8823
    break;
 
8824
 
 
8825
  case 180:
 
8826
#line 1948 "sql_yacc.yy"
 
8827
    {
 
8828
            ((statement::CreateTable *)Lex->statement)->fk_update_opt= (yyvsp[(6) - (6)].m_fk_option);
 
8829
            ((statement::CreateTable *)Lex->statement)->fk_delete_opt= (yyvsp[(3) - (6)].m_fk_option);
 
8830
          }
 
8831
    break;
 
8832
 
 
8833
  case 181:
 
8834
#line 1955 "sql_yacc.yy"
 
8835
    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_RESTRICT; }
 
8836
    break;
 
8837
 
 
8838
  case 182:
 
8839
#line 1956 "sql_yacc.yy"
 
8840
    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_CASCADE; }
 
8841
    break;
 
8842
 
 
8843
  case 183:
 
8844
#line 1957 "sql_yacc.yy"
 
8845
    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_SET_NULL; }
 
8846
    break;
 
8847
 
 
8848
  case 184:
 
8849
#line 1958 "sql_yacc.yy"
 
8850
    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_NO_ACTION; }
 
8851
    break;
 
8852
 
 
8853
  case 185:
 
8854
#line 1959 "sql_yacc.yy"
 
8855
    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_DEFAULT;  }
 
8856
    break;
 
8857
 
 
8858
  case 186:
 
8859
#line 1963 "sql_yacc.yy"
 
8860
    { (yyval.key_type)= Key::MULTIPLE; }
 
8861
    break;
 
8862
 
 
8863
  case 187:
 
8864
#line 1967 "sql_yacc.yy"
 
8865
    { (yyval.key_type)= Key::PRIMARY; }
 
8866
    break;
 
8867
 
 
8868
  case 188:
 
8869
#line 1968 "sql_yacc.yy"
 
8870
    { (yyval.key_type)= Key::UNIQUE; }
 
8871
    break;
 
8872
 
 
8873
  case 189:
 
8874
#line 1972 "sql_yacc.yy"
 
8875
    {}
 
8876
    break;
 
8877
 
 
8878
  case 190:
 
8879
#line 1973 "sql_yacc.yy"
 
8880
    {}
 
8881
    break;
 
8882
 
 
8883
  case 191:
 
8884
#line 1977 "sql_yacc.yy"
 
8885
    {}
 
8886
    break;
 
8887
 
 
8888
  case 193:
 
8889
#line 1982 "sql_yacc.yy"
 
8890
    {}
 
8891
    break;
 
8892
 
 
8893
  case 194:
 
8894
#line 1983 "sql_yacc.yy"
 
8895
    {}
 
8896
    break;
 
8897
 
 
8898
  case 195:
 
8899
#line 1984 "sql_yacc.yy"
 
8900
    {}
 
8901
    break;
 
8902
 
 
8903
  case 196:
 
8904
#line 1988 "sql_yacc.yy"
 
8905
    { (yyval.key_type)= Key::MULTIPLE; }
 
8906
    break;
 
8907
 
 
8908
  case 197:
 
8909
#line 1989 "sql_yacc.yy"
 
8910
    { (yyval.key_type)= Key::UNIQUE; }
 
8911
    break;
 
8912
 
 
8913
  case 198:
 
8914
#line 1993 "sql_yacc.yy"
 
8915
    {
 
8916
            ((statement::CreateTable *)Lex->statement)->key_create_info= default_key_create_info;
 
8917
          }
 
8918
    break;
 
8919
 
 
8920
  case 201:
 
8921
#line 2010 "sql_yacc.yy"
 
8922
    {}
 
8923
    break;
 
8924
 
 
8925
  case 205:
 
8926
#line 2020 "sql_yacc.yy"
 
8927
    { ((statement::CreateTable *)Lex->statement)->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); }
 
8928
    break;
 
8929
 
 
8930
  case 206:
 
8931
#line 2021 "sql_yacc.yy"
 
8932
    { ((statement::CreateTable *)Lex->statement)->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); }
 
8933
    break;
 
8934
 
 
8935
  case 208:
 
8936
#line 2027 "sql_yacc.yy"
 
8937
    { ((statement::CreateTable *)Lex->statement)->key_create_info.block_size= (yyvsp[(3) - (3)].ulong_num); }
 
8938
    break;
 
8939
 
 
8940
  case 209:
 
8941
#line 2029 "sql_yacc.yy"
 
8942
    { ((statement::CreateTable *)Lex->statement)->key_create_info.comment= (yyvsp[(2) - (2)].lex_str); }
 
8943
    break;
 
8944
 
 
8945
  case 210:
 
8946
#line 2033 "sql_yacc.yy"
 
8947
    { (yyval.key_alg)= HA_KEY_ALG_BTREE; }
 
8948
    break;
 
8949
 
 
8950
  case 211:
 
8951
#line 2034 "sql_yacc.yy"
 
8952
    { (yyval.key_alg)= HA_KEY_ALG_HASH; }
 
8953
    break;
 
8954
 
 
8955
  case 212:
 
8956
#line 2038 "sql_yacc.yy"
 
8957
    { Lex->col_list.push_back((yyvsp[(3) - (4)].key_part)); }
 
8958
    break;
 
8959
 
 
8960
  case 213:
 
8961
#line 2039 "sql_yacc.yy"
 
8962
    { Lex->col_list.push_back((yyvsp[(1) - (2)].key_part)); }
 
8963
    break;
 
8964
 
 
8965
  case 214:
 
8966
#line 2043 "sql_yacc.yy"
 
8967
    { (yyval.key_part)=new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0); }
 
8968
    break;
 
8969
 
 
8970
  case 215:
 
8971
#line 2045 "sql_yacc.yy"
 
8972
    {
 
8973
            int key_part_len= atoi((yyvsp[(3) - (4)].lex_str).str);
 
8974
            if (!key_part_len)
 
8975
            {
 
8976
              my_error(ER_KEY_PART_0, MYF(0), (yyvsp[(1) - (4)].lex_str).str);
 
8977
            }
 
8978
            (yyval.key_part)=new Key_part_spec((yyvsp[(1) - (4)].lex_str), (uint) key_part_len);
 
8979
          }
 
8980
    break;
 
8981
 
 
8982
  case 216:
 
8983
#line 2056 "sql_yacc.yy"
 
8984
    { (yyval.lex_str)= null_lex_str; }
 
8985
    break;
 
8986
 
 
8987
  case 217:
 
8988
#line 2057 "sql_yacc.yy"
 
8989
    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
 
8990
    break;
 
8991
 
 
8992
  case 218:
 
8993
#line 2061 "sql_yacc.yy"
 
8994
    { (yyval.lex_str)= null_lex_str; }
 
8995
    break;
 
8996
 
 
8997
  case 219:
 
8998
#line 2062 "sql_yacc.yy"
 
8999
    { (yyval.lex_str)= (yyvsp[(2) - (2)].lex_str); }
 
9000
    break;
 
9001
 
 
9002
  case 220:
 
9003
#line 2066 "sql_yacc.yy"
 
9004
    { Lex->interval_list.push_back((yyvsp[(1) - (1)].string)); }
 
9005
    break;
 
9006
 
 
9007
  case 221:
 
9008
#line 2067 "sql_yacc.yy"
 
9009
    { Lex->interval_list.push_back((yyvsp[(3) - (3)].string)); }
 
9010
    break;
 
9011
 
 
9012
  case 222:
 
9013
#line 2075 "sql_yacc.yy"
 
9014
    {
 
9015
            Session *session= YYSession;
 
9016
            LEX *lex= session->lex;
 
9017
            lex->name.str= 0;
 
9018
            lex->name.length= 0;
 
9019
            lex->sql_command= SQLCOM_ALTER_TABLE;
 
9020
            statement::AlterTable *statement= new(std::nothrow) statement::AlterTable(YYSession);
 
9021
            lex->statement= statement;
 
9022
            if (lex->statement == NULL)
 
9023
              DRIZZLE_YYABORT;
 
9024
            lex->duplicates= DUP_ERROR;
 
9025
            if (!lex->select_lex.add_table_to_list(session, (yyvsp[(5) - (5)].table), NULL,
 
9026
                                                   TL_OPTION_UPDATING))
 
9027
              DRIZZLE_YYABORT;
 
9028
            lex->col_list.empty();
 
9029
            lex->select_lex.init_order();
 
9030
            lex->select_lex.db=
 
9031
              ((TableList*) lex->select_lex.table_list.first)->db;
 
9032
            statement->create_info.row_type= ROW_TYPE_NOT_USED;
 
9033
            statement->alter_info.build_method= (yyvsp[(2) - (5)].build_method);
 
9034
          }
 
9035
    break;
 
9036
 
 
9037
  case 223:
 
9038
#line 2097 "sql_yacc.yy"
 
9039
    {}
 
9040
    break;
 
9041
 
 
9042
  case 224:
 
9043
#line 2099 "sql_yacc.yy"
 
9044
    {
 
9045
            LEX *lex=Lex;
 
9046
            lex->sql_command=SQLCOM_ALTER_DB;
 
9047
            lex->statement= new(std::nothrow) statement::AlterSchema(YYSession);
 
9048
            if (lex->statement == NULL)
 
9049
              DRIZZLE_YYABORT;
 
9050
          }
 
9051
    break;
 
9052
 
 
9053
  case 225:
 
9054
#line 2107 "sql_yacc.yy"
 
9055
    {
 
9056
            LEX *lex=Lex;
 
9057
            lex->name= (yyvsp[(3) - (5)].lex_str);
 
9058
            if (lex->name.str == NULL &&
 
9059
                lex->copy_db_to(&lex->name.str, &lex->name.length))
 
9060
              DRIZZLE_YYABORT;
 
9061
          }
 
9062
    break;
 
9063
 
 
9064
  case 226:
 
9065
#line 2117 "sql_yacc.yy"
 
9066
    { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; }
 
9067
    break;
 
9068
 
 
9069
  case 227:
 
9070
#line 2118 "sql_yacc.yy"
 
9071
    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
 
9072
    break;
 
9073
 
 
9074
  case 229:
 
9075
#line 2124 "sql_yacc.yy"
 
9076
    {
 
9077
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9078
            statement->alter_info.tablespace_op= DISCARD_TABLESPACE;
 
9079
          }
 
9080
    break;
 
9081
 
 
9082
  case 230:
 
9083
#line 2129 "sql_yacc.yy"
 
9084
    {
 
9085
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9086
            statement->alter_info.tablespace_op= IMPORT_TABLESPACE;
 
9087
          }
 
9088
    break;
 
9089
 
 
9090
  case 232:
 
9091
#line 2138 "sql_yacc.yy"
 
9092
    {
 
9093
            (yyval.build_method)= HA_BUILD_DEFAULT;
 
9094
          }
 
9095
    break;
 
9096
 
 
9097
  case 233:
 
9098
#line 2142 "sql_yacc.yy"
 
9099
    {
 
9100
            (yyval.build_method)= HA_BUILD_ONLINE;
 
9101
          }
 
9102
    break;
 
9103
 
 
9104
  case 234:
 
9105
#line 2146 "sql_yacc.yy"
 
9106
    {
 
9107
            (yyval.build_method)= HA_BUILD_OFFLINE;
 
9108
          }
 
9109
    break;
 
9110
 
 
9111
  case 237:
 
9112
#line 2158 "sql_yacc.yy"
 
9113
    {
 
9114
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9115
 
 
9116
            statement->change=0;
 
9117
            statement->alter_info.flags.set(ALTER_ADD_COLUMN);
 
9118
          }
 
9119
    break;
 
9120
 
 
9121
  case 238:
 
9122
#line 2167 "sql_yacc.yy"
 
9123
    { }
 
9124
    break;
 
9125
 
 
9126
  case 239:
 
9127
#line 2169 "sql_yacc.yy"
 
9128
    {
 
9129
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9130
 
 
9131
            statement->alter_info.flags.set(ALTER_ADD_INDEX);
 
9132
          }
 
9133
    break;
 
9134
 
 
9135
  case 240:
 
9136
#line 2175 "sql_yacc.yy"
 
9137
    {
 
9138
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9139
 
 
9140
            statement->alter_info.flags.set(ALTER_ADD_COLUMN);
 
9141
            statement->alter_info.flags.set(ALTER_ADD_INDEX);
 
9142
          }
 
9143
    break;
 
9144
 
 
9145
  case 241:
 
9146
#line 2182 "sql_yacc.yy"
 
9147
    {
 
9148
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9149
            statement->change= (yyvsp[(3) - (3)].lex_str).str;
 
9150
            statement->alter_info.flags.set(ALTER_CHANGE_COLUMN);
 
9151
          }
 
9152
    break;
 
9153
 
 
9154
  case 243:
 
9155
#line 2189 "sql_yacc.yy"
 
9156
    {
 
9157
            LEX *lex=Lex;
 
9158
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9159
            lex->length=lex->dec=0; lex->type=0;
 
9160
            statement->default_value= statement->on_update_value= 0;
 
9161
            statement->comment= null_lex_str;
 
9162
            lex->charset= NULL;
 
9163
            statement->alter_info.flags.set(ALTER_CHANGE_COLUMN);
 
9164
            statement->column_format= COLUMN_FORMAT_TYPE_DEFAULT;
 
9165
 
 
9166
            statement->current_proto_field= NULL;
 
9167
          }
 
9168
    break;
 
9169
 
 
9170
  case 244:
 
9171
#line 2202 "sql_yacc.yy"
 
9172
    {
 
9173
            LEX *lex=Lex;
 
9174
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9175
 
 
9176
            if (add_field_to_list(lex->session,&(yyvsp[(3) - (5)].lex_str),
 
9177
                                  (enum enum_field_types) (yyvsp[(5) - (5)].num),
 
9178
                                  lex->length, lex->dec, lex->type,
 
9179
                                  statement->column_format,
 
9180
                                  statement->default_value,
 
9181
                                  statement->on_update_value,
 
9182
                                  &statement->comment,
 
9183
                                  (yyvsp[(3) - (5)].lex_str).str, &lex->interval_list, lex->charset))
 
9184
              DRIZZLE_YYABORT;
 
9185
          }
 
9186
    break;
 
9187
 
 
9188
  case 246:
 
9189
#line 2218 "sql_yacc.yy"
 
9190
    {
 
9191
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9192
 
 
9193
            statement->alter_info.drop_list.push_back(new AlterDrop(AlterDrop::COLUMN, (yyvsp[(3) - (3)].lex_str).str));
 
9194
            statement->alter_info.flags.set(ALTER_DROP_COLUMN);
 
9195
          }
 
9196
    break;
 
9197
 
 
9198
  case 247:
 
9199
#line 2225 "sql_yacc.yy"
 
9200
    {
 
9201
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9202
 
 
9203
            statement->alter_info.flags.set(ALTER_DROP_INDEX);
 
9204
            statement->alter_info.flags.set(ALTER_FOREIGN_KEY);
 
9205
          }
 
9206
    break;
 
9207
 
 
9208
  case 248:
 
9209
#line 2232 "sql_yacc.yy"
 
9210
    {
 
9211
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9212
 
 
9213
            statement->alter_info.drop_list.push_back(new AlterDrop(AlterDrop::KEY,
 
9214
                                                               "PRIMARY"));
 
9215
            statement->alter_info.flags.set(ALTER_DROP_INDEX);
 
9216
          }
 
9217
    break;
 
9218
 
 
9219
  case 249:
 
9220
#line 2240 "sql_yacc.yy"
 
9221
    {
 
9222
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9223
 
 
9224
            statement->alter_info.drop_list.push_back(new AlterDrop(AlterDrop::KEY,
 
9225
                                                                    (yyvsp[(3) - (3)].lex_str).str));
 
9226
            statement->alter_info.flags.set(ALTER_DROP_INDEX);
 
9227
          }
 
9228
    break;
 
9229
 
 
9230
  case 250:
 
9231
#line 2248 "sql_yacc.yy"
 
9232
    {
 
9233
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9234
 
 
9235
            statement->alter_info.keys_onoff= DISABLE;
 
9236
            statement->alter_info.flags.set(ALTER_KEYS_ONOFF);
 
9237
          }
 
9238
    break;
 
9239
 
 
9240
  case 251:
 
9241
#line 2255 "sql_yacc.yy"
 
9242
    {
 
9243
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9244
 
 
9245
            statement->alter_info.keys_onoff= ENABLE;
 
9246
            statement->alter_info.flags.set(ALTER_KEYS_ONOFF);
 
9247
          }
 
9248
    break;
 
9249
 
 
9250
  case 252:
 
9251
#line 2262 "sql_yacc.yy"
 
9252
    {
 
9253
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9254
 
 
9255
            statement->alter_info.alter_list.push_back(new AlterColumn((yyvsp[(3) - (6)].lex_str).str,(yyvsp[(6) - (6)].item)));
 
9256
            statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
 
9257
          }
 
9258
    break;
 
9259
 
 
9260
  case 253:
 
9261
#line 2269 "sql_yacc.yy"
 
9262
    {
 
9263
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9264
 
 
9265
            statement->alter_info.alter_list.push_back(new AlterColumn((yyvsp[(3) - (5)].lex_str).str, (Item*) 0));
 
9266
            statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
 
9267
          }
 
9268
    break;
 
9269
 
 
9270
  case 254:
 
9271
#line 2276 "sql_yacc.yy"
 
9272
    {
 
9273
            LEX *lex=Lex;
 
9274
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9275
            size_t dummy;
 
9276
 
 
9277
            lex->select_lex.db=(yyvsp[(3) - (3)].table)->db.str;
 
9278
            if (lex->select_lex.db == NULL &&
 
9279
                lex->copy_db_to(&lex->select_lex.db, &dummy))
 
9280
            {
 
9281
              DRIZZLE_YYABORT;
 
9282
            }
 
9283
 
 
9284
            if (check_table_name((yyvsp[(3) - (3)].table)->table.str,(yyvsp[(3) - (3)].table)->table.length))
 
9285
            {
 
9286
              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (3)].table)->table.str);
 
9287
              DRIZZLE_YYABORT;
 
9288
            }
 
9289
 
 
9290
            lex->name= (yyvsp[(3) - (3)].table)->table;
 
9291
            statement->alter_info.flags.set(ALTER_RENAME);
 
9292
          }
 
9293
    break;
 
9294
 
 
9295
  case 255:
 
9296
#line 2298 "sql_yacc.yy"
 
9297
    {
 
9298
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9299
 
 
9300
            statement->create_info.table_charset=
 
9301
            statement->create_info.default_table_charset= (yyvsp[(3) - (3)].charset);
 
9302
            statement->create_info.used_fields|= (HA_CREATE_USED_CHARSET |
 
9303
              HA_CREATE_USED_DEFAULT_CHARSET);
 
9304
            statement->alter_info.flags.set(ALTER_CONVERT);
 
9305
          }
 
9306
    break;
 
9307
 
 
9308
  case 256:
 
9309
#line 2308 "sql_yacc.yy"
 
9310
    {
 
9311
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9312
 
 
9313
            statement->alter_info.flags.set(ALTER_OPTIONS);
 
9314
          }
 
9315
    break;
 
9316
 
 
9317
  case 257:
 
9318
#line 2314 "sql_yacc.yy"
 
9319
    {
 
9320
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9321
 
 
9322
            statement->alter_info.flags.set(ALTER_FORCE);
 
9323
          }
 
9324
    break;
 
9325
 
 
9326
  case 258:
 
9327
#line 2320 "sql_yacc.yy"
 
9328
    {
 
9329
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9330
 
 
9331
            statement->alter_info.flags.set(ALTER_ORDER);
 
9332
          }
 
9333
    break;
 
9334
 
 
9335
  case 259:
 
9336
#line 2328 "sql_yacc.yy"
 
9337
    {}
 
9338
    break;
 
9339
 
 
9340
  case 260:
 
9341
#line 2329 "sql_yacc.yy"
 
9342
    {}
 
9343
    break;
 
9344
 
 
9345
  case 261:
 
9346
#line 2333 "sql_yacc.yy"
 
9347
    { Lex->ignore= 0;}
 
9348
    break;
 
9349
 
 
9350
  case 262:
 
9351
#line 2334 "sql_yacc.yy"
 
9352
    { Lex->ignore= 1;}
 
9353
    break;
 
9354
 
 
9355
  case 263:
 
9356
#line 2338 "sql_yacc.yy"
 
9357
    {}
 
9358
    break;
 
9359
 
 
9360
  case 264:
 
9361
#line 2340 "sql_yacc.yy"
 
9362
    {
 
9363
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9364
 
 
9365
            store_position_for_column((yyvsp[(2) - (2)].lex_str).str);
 
9366
            statement->alter_info.flags.set(ALTER_COLUMN_ORDER);
 
9367
          }
 
9368
    break;
 
9369
 
 
9370
  case 265:
 
9371
#line 2347 "sql_yacc.yy"
 
9372
    {
 
9373
            statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
 
9374
 
 
9375
            store_position_for_column(first_keyword);
 
9376
            statement->alter_info.flags.set(ALTER_COLUMN_ORDER);
 
9377
          }
 
9378
    break;
 
9379
 
 
9380
  case 266:
 
9381
#line 2356 "sql_yacc.yy"
 
9382
    {}
 
9383
    break;
 
9384
 
 
9385
  case 267:
 
9386
#line 2357 "sql_yacc.yy"
 
9387
    {}
 
9388
    break;
 
9389
 
 
9390
  case 268:
 
9391
#line 2358 "sql_yacc.yy"
 
9392
    {}
 
9393
    break;
 
9394
 
 
9395
  case 269:
 
9396
#line 2359 "sql_yacc.yy"
 
9397
    {}
 
9398
    break;
 
9399
 
 
9400
  case 270:
 
9401
#line 2364 "sql_yacc.yy"
 
9402
    {
 
9403
            LEX *lex= Lex;
 
9404
            lex->sql_command= SQLCOM_BEGIN;
 
9405
            lex->statement= new(std::nothrow) statement::StartTransaction(YYSession, (start_transaction_option_t)(yyvsp[(3) - (3)].num));
 
9406
            if (lex->statement == NULL)
 
9407
              DRIZZLE_YYABORT;
 
9408
          }
 
9409
    break;
 
9410
 
 
9411
  case 271:
 
9412
#line 2374 "sql_yacc.yy"
 
9413
    { (yyval.num) = START_TRANS_NO_OPTIONS; }
 
9414
    break;
 
9415
 
 
9416
  case 272:
 
9417
#line 2376 "sql_yacc.yy"
 
9418
    {
 
9419
            (yyval.num)= START_TRANS_OPT_WITH_CONS_SNAPSHOT;
 
9420
          }
 
9421
    break;
 
9422
 
 
9423
  case 273:
 
9424
#line 2384 "sql_yacc.yy"
 
9425
    {
 
9426
            LEX *lex=Lex;
 
9427
            lex->sql_command = SQLCOM_CHECKSUM;
 
9428
            lex->statement= new(std::nothrow) statement::Checksum(YYSession);
 
9429
            if (lex->statement == NULL)
 
9430
              DRIZZLE_YYABORT;
 
9431
          }
 
9432
    break;
 
9433
 
 
9434
  case 274:
 
9435
#line 2392 "sql_yacc.yy"
 
9436
    {}
 
9437
    break;
 
9438
 
 
9439
  case 275:
 
9440
#line 2398 "sql_yacc.yy"
 
9441
    {
 
9442
            LEX *lex=Lex;
 
9443
            lex->sql_command = SQLCOM_ANALYZE;
 
9444
            lex->statement= new(std::nothrow) statement::Analyze(YYSession);
 
9445
            if (lex->statement == NULL)
 
9446
              DRIZZLE_YYABORT;
 
9447
          }
 
9448
    break;
 
9449
 
 
9450
  case 276:
 
9451
#line 2406 "sql_yacc.yy"
 
9452
    {}
 
9453
    break;
 
9454
 
 
9455
  case 277:
 
9456
#line 2411 "sql_yacc.yy"
 
9457
    {
 
9458
            LEX *lex=Lex;
 
9459
 
 
9460
            lex->sql_command = SQLCOM_CHECK;
 
9461
            lex->statement= new(std::nothrow) statement::Check(YYSession);
 
9462
            if (lex->statement == NULL)
 
9463
              DRIZZLE_YYABORT;
 
9464
          }
 
9465
    break;
 
9466
 
 
9467
  case 278:
 
9468
#line 2420 "sql_yacc.yy"
 
9469
    {}
 
9470
    break;
 
9471
 
 
9472
  case 279:
 
9473
#line 2425 "sql_yacc.yy"
 
9474
    {
 
9475
            Lex->sql_command= SQLCOM_RENAME_TABLE;
 
9476
            Lex->statement= new(std::nothrow) statement::RenameTable(YYSession);
 
9477
            if (Lex->statement == NULL)
 
9478
              DRIZZLE_YYABORT;
 
9479
          }
 
9480
    break;
 
9481
 
 
9482
  case 280:
 
9483
#line 2432 "sql_yacc.yy"
 
9484
    {}
 
9485
    break;
 
9486
 
 
9487
  case 283:
 
9488
#line 2442 "sql_yacc.yy"
 
9489
    {
 
9490
            LEX *lex=Lex;
 
9491
            Select_Lex *sl= lex->current_select;
 
9492
            if (!sl->add_table_to_list(lex->session, (yyvsp[(1) - (3)].table),NULL,TL_OPTION_UPDATING,
 
9493
                                       TL_IGNORE) ||
 
9494
                !sl->add_table_to_list(lex->session, (yyvsp[(3) - (3)].table),NULL,TL_OPTION_UPDATING,
 
9495
                                       TL_IGNORE))
 
9496
              DRIZZLE_YYABORT;
 
9497
          }
 
9498
    break;
 
9499
 
 
9500
  case 284:
 
9501
#line 2460 "sql_yacc.yy"
 
9502
    {
 
9503
            LEX *lex= Lex;
 
9504
            lex->sql_command= SQLCOM_SELECT;
 
9505
            lex->statement= new(std::nothrow) statement::Select(YYSession);
 
9506
            if (lex->statement == NULL)
 
9507
              DRIZZLE_YYABORT;
 
9508
          }
 
9509
    break;
 
9510
 
 
9511
  case 287:
 
9512
#line 2477 "sql_yacc.yy"
 
9513
    {
 
9514
            if (setup_select_in_parentheses(Lex))
 
9515
              DRIZZLE_YYABORT;
 
9516
          }
 
9517
    break;
 
9518
 
 
9519
  case 289:
 
9520
#line 2487 "sql_yacc.yy"
 
9521
    {
 
9522
            if (setup_select_in_parentheses(Lex))
 
9523
              DRIZZLE_YYABORT;
 
9524
          }
 
9525
    break;
 
9526
 
 
9527
  case 291:
 
9528
#line 2496 "sql_yacc.yy"
 
9529
    {
 
9530
            LEX *lex= Lex;
 
9531
            Select_Lex * sel= lex->current_select;
 
9532
            if (lex->current_select->set_braces(0))
 
9533
            {
 
9534
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
9535
              DRIZZLE_YYABORT;
 
9536
            }
 
9537
            if (sel->linkage == UNION_TYPE &&
 
9538
                sel->master_unit()->first_select()->braces)
 
9539
            {
 
9540
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
9541
              DRIZZLE_YYABORT;
 
9542
            }
 
9543
          }
 
9544
    break;
 
9545
 
 
9546
  case 293:
 
9547
#line 2515 "sql_yacc.yy"
 
9548
    {
 
9549
            LEX *lex= Lex;
 
9550
            Select_Lex *sel= lex->current_select;
 
9551
            if (sel->linkage != UNION_TYPE)
 
9552
              mysql_init_select(lex);
 
9553
            lex->current_select->parsing_place= SELECT_LIST;
 
9554
          }
 
9555
    break;
 
9556
 
 
9557
  case 294:
 
9558
#line 2523 "sql_yacc.yy"
 
9559
    {
 
9560
            Lex->current_select->parsing_place= NO_MATTER;
 
9561
          }
 
9562
    break;
 
9563
 
 
9564
  case 296:
 
9565
#line 2530 "sql_yacc.yy"
 
9566
    {}
 
9567
    break;
 
9568
 
 
9569
  case 301:
 
9570
#line 2540 "sql_yacc.yy"
 
9571
    {
 
9572
            Lex->current_select->context.table_list=
 
9573
              Lex->current_select->context.first_name_resolution_table=
 
9574
                reinterpret_cast<TableList *>(Lex->current_select->table_list.first);
 
9575
          }
 
9576
    break;
 
9577
 
 
9578
  case 303:
 
9579
#line 2550 "sql_yacc.yy"
 
9580
    {
 
9581
            if (Lex->current_select->options & SELECT_DISTINCT &&
 
9582
                Lex->current_select->options & SELECT_ALL)
 
9583
            {
 
9584
              my_error(ER_WRONG_USAGE, MYF(0), "ALL", "DISTINCT");
 
9585
              DRIZZLE_YYABORT;
 
9586
            }
 
9587
          }
 
9588
    break;
 
9589
 
 
9590
  case 306:
 
9591
#line 2566 "sql_yacc.yy"
 
9592
    { Lex->current_select->options|= SELECT_STRAIGHT_JOIN; }
 
9593
    break;
 
9594
 
 
9595
  case 307:
 
9596
#line 2567 "sql_yacc.yy"
 
9597
    { Lex->current_select->options|= SELECT_DISTINCT; }
 
9598
    break;
 
9599
 
 
9600
  case 308:
 
9601
#line 2568 "sql_yacc.yy"
 
9602
    { Lex->current_select->options|= SELECT_SMALL_RESULT; }
 
9603
    break;
 
9604
 
 
9605
  case 309:
 
9606
#line 2569 "sql_yacc.yy"
 
9607
    { Lex->current_select->options|= SELECT_BIG_RESULT; }
 
9608
    break;
 
9609
 
 
9610
  case 310:
 
9611
#line 2571 "sql_yacc.yy"
 
9612
    {
 
9613
            if (check_simple_select())
 
9614
              DRIZZLE_YYABORT;
 
9615
            Lex->current_select->options|= OPTION_BUFFER_RESULT;
 
9616
          }
 
9617
    break;
 
9618
 
 
9619
  case 311:
 
9620
#line 2577 "sql_yacc.yy"
 
9621
    {
 
9622
            if (check_simple_select())
 
9623
              DRIZZLE_YYABORT;
 
9624
            Lex->current_select->options|= OPTION_FOUND_ROWS;
 
9625
          }
 
9626
    break;
 
9627
 
 
9628
  case 312:
 
9629
#line 2582 "sql_yacc.yy"
 
9630
    { Lex->current_select->options|= SELECT_ALL; }
 
9631
    break;
 
9632
 
 
9633
  case 314:
 
9634
#line 2588 "sql_yacc.yy"
 
9635
    {
 
9636
            LEX *lex=Lex;
 
9637
            lex->current_select->set_lock_for_tables(TL_WRITE);
 
9638
          }
 
9639
    break;
 
9640
 
 
9641
  case 315:
 
9642
#line 2593 "sql_yacc.yy"
 
9643
    {
 
9644
            LEX *lex=Lex;
 
9645
            lex->current_select->
 
9646
              set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
 
9647
          }
 
9648
    break;
 
9649
 
 
9650
  case 318:
 
9651
#line 2604 "sql_yacc.yy"
 
9652
    {
 
9653
            Session *session= YYSession;
 
9654
            if (session->add_item_to_list( new Item_field(&session->lex->current_select->
 
9655
                                                          context,
 
9656
                                                          NULL, NULL, "*")))
 
9657
              DRIZZLE_YYABORT;
 
9658
            (session->lex->current_select->with_wild)++;
 
9659
          }
 
9660
    break;
 
9661
 
 
9662
  case 319:
 
9663
#line 2616 "sql_yacc.yy"
 
9664
    {
 
9665
            Session *session= YYSession;
 
9666
 
 
9667
            if (session->add_item_to_list((yyvsp[(2) - (3)].item)))
 
9668
              DRIZZLE_YYABORT;
 
9669
          }
 
9670
    break;
 
9671
 
 
9672
  case 320:
 
9673
#line 2623 "sql_yacc.yy"
 
9674
    {
 
9675
            Session *session= YYSession;
 
9676
            assert((yyvsp[(1) - (4)].simple_string) < (yyvsp[(3) - (4)].simple_string));
 
9677
 
 
9678
            if (session->add_item_to_list((yyvsp[(2) - (4)].item)))
 
9679
              DRIZZLE_YYABORT;
 
9680
            if ((yyvsp[(4) - (4)].lex_str).str)
 
9681
            {
 
9682
              (yyvsp[(2) - (4)].item)->is_autogenerated_name= false;
 
9683
              (yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length, system_charset_info);
 
9684
            }
 
9685
            else if (!(yyvsp[(2) - (4)].item)->name)
 
9686
            {
 
9687
              (yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), session->charset());
 
9688
            }
 
9689
          }
 
9690
    break;
 
9691
 
 
9692
  case 321:
 
9693
#line 2642 "sql_yacc.yy"
 
9694
    {
 
9695
            Session *session= YYSession;
 
9696
            Lex_input_stream *lip= session->m_lip;
 
9697
            (yyval.simple_string)= (char*) lip->get_cpp_tok_start();
 
9698
          }
 
9699
    break;
 
9700
 
 
9701
  case 322:
 
9702
#line 2650 "sql_yacc.yy"
 
9703
    {
 
9704
            Session *session= YYSession;
 
9705
            Lex_input_stream *lip= session->m_lip;
 
9706
            (yyval.simple_string)= (char*) lip->get_cpp_tok_end();
 
9707
          }
 
9708
    break;
 
9709
 
 
9710
  case 323:
 
9711
#line 2658 "sql_yacc.yy"
 
9712
    { (yyval.lex_str)=null_lex_str;}
 
9713
    break;
 
9714
 
 
9715
  case 324:
 
9716
#line 2659 "sql_yacc.yy"
 
9717
    { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
 
9718
    break;
 
9719
 
 
9720
  case 325:
 
9721
#line 2660 "sql_yacc.yy"
 
9722
    { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
 
9723
    break;
 
9724
 
 
9725
  case 326:
 
9726
#line 2661 "sql_yacc.yy"
 
9727
    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
 
9728
    break;
 
9729
 
 
9730
  case 327:
 
9731
#line 2662 "sql_yacc.yy"
 
9732
    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
 
9733
    break;
 
9734
 
 
9735
  case 328:
 
9736
#line 2666 "sql_yacc.yy"
 
9737
    {}
 
9738
    break;
 
9739
 
 
9740
  case 329:
 
9741
#line 2667 "sql_yacc.yy"
 
9742
    {}
 
9743
    break;
 
9744
 
 
9745
  case 330:
 
9746
#line 2673 "sql_yacc.yy"
 
9747
    {
 
9748
            /*
 
9749
              Design notes:
 
9750
              Do not use a manually maintained stack like session->lex->xxx_list,
 
9751
              but use the internal bison stack ($$, $1 and $3) instead.
 
9752
              Using the bison stack is:
 
9753
              - more robust to changes in the grammar,
 
9754
              - guaranteed to be in sync with the parser state,
 
9755
              - better for performances (no memory allocation).
 
9756
            */
 
9757
            Item_cond_or *item1;
 
9758
            Item_cond_or *item3;
 
9759
            if (is_cond_or((yyvsp[(1) - (3)].item)))
 
9760
            {
 
9761
              item1= (Item_cond_or*) (yyvsp[(1) - (3)].item);
 
9762
              if (is_cond_or((yyvsp[(3) - (3)].item)))
 
9763
              {
 
9764
                item3= (Item_cond_or*) (yyvsp[(3) - (3)].item);
 
9765
                /*
 
9766
                  (X1 OR X2) OR (Y1 OR Y2) ==> OR (X1, X2, Y1, Y2)
 
9767
                */
 
9768
                item3->add_at_head(item1->argument_list());
 
9769
                (yyval.item) = (yyvsp[(3) - (3)].item);
 
9770
              }
 
9771
              else
 
9772
              {
 
9773
                /*
 
9774
                  (X1 OR X2) OR Y ==> OR (X1, X2, Y)
 
9775
                */
 
9776
                item1->add((yyvsp[(3) - (3)].item));
 
9777
                (yyval.item) = (yyvsp[(1) - (3)].item);
 
9778
              }
 
9779
            }
 
9780
            else if (is_cond_or((yyvsp[(3) - (3)].item)))
 
9781
            {
 
9782
              item3= (Item_cond_or*) (yyvsp[(3) - (3)].item);
 
9783
              /*
 
9784
                X OR (Y1 OR Y2) ==> OR (X, Y1, Y2)
 
9785
              */
 
9786
              item3->add_at_head((yyvsp[(1) - (3)].item));
 
9787
              (yyval.item) = (yyvsp[(3) - (3)].item);
 
9788
            }
 
9789
            else
 
9790
            {
 
9791
              /* X OR Y */
 
9792
              (yyval.item) = new (YYSession->mem_root) Item_cond_or((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
 
9793
            }
 
9794
          }
 
9795
    break;
 
9796
 
 
9797
  case 331:
 
9798
#line 2722 "sql_yacc.yy"
 
9799
    {
 
9800
            /* XOR is a proprietary extension */
 
9801
            (yyval.item) = new (YYSession->mem_root) Item_cond_xor((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
 
9802
          }
 
9803
    break;
 
9804
 
 
9805
  case 332:
 
9806
#line 2727 "sql_yacc.yy"
 
9807
    {
 
9808
            /* See comments in rule expr: expr or expr */
 
9809
            Item_cond_and *item1;
 
9810
            Item_cond_and *item3;
 
9811
            if (is_cond_and((yyvsp[(1) - (3)].item)))
 
9812
            {
 
9813
              item1= (Item_cond_and*) (yyvsp[(1) - (3)].item);
 
9814
              if (is_cond_and((yyvsp[(3) - (3)].item)))
 
9815
              {
 
9816
                item3= (Item_cond_and*) (yyvsp[(3) - (3)].item);
 
9817
                /*
 
9818
                  (X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2)
 
9819
                */
 
9820
                item3->add_at_head(item1->argument_list());
 
9821
                (yyval.item) = (yyvsp[(3) - (3)].item);
 
9822
              }
 
9823
              else
 
9824
              {
 
9825
                /*
 
9826
                  (X1 AND X2) AND Y ==> AND (X1, X2, Y)
 
9827
                */
 
9828
                item1->add((yyvsp[(3) - (3)].item));
 
9829
                (yyval.item) = (yyvsp[(1) - (3)].item);
 
9830
              }
 
9831
            }
 
9832
            else if (is_cond_and((yyvsp[(3) - (3)].item)))
 
9833
            {
 
9834
              item3= (Item_cond_and*) (yyvsp[(3) - (3)].item);
 
9835
              /*
 
9836
                X AND (Y1 AND Y2) ==> AND (X, Y1, Y2)
 
9837
              */
 
9838
              item3->add_at_head((yyvsp[(1) - (3)].item));
 
9839
              (yyval.item) = (yyvsp[(3) - (3)].item);
 
9840
            }
 
9841
            else
 
9842
            {
 
9843
              /* X AND Y */
 
9844
              (yyval.item) = new (YYSession->mem_root) Item_cond_and((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
 
9845
            }
 
9846
          }
 
9847
    break;
 
9848
 
 
9849
  case 333:
 
9850
#line 2768 "sql_yacc.yy"
 
9851
    { (yyval.item)= negate_expression(YYSession, (yyvsp[(2) - (2)].item)); }
 
9852
    break;
 
9853
 
 
9854
  case 334:
 
9855
#line 2770 "sql_yacc.yy"
 
9856
    { (yyval.item)= new (YYSession->mem_root) Item_func_istrue((yyvsp[(1) - (3)].item)); }
 
9857
    break;
 
9858
 
 
9859
  case 335:
 
9860
#line 2772 "sql_yacc.yy"
 
9861
    { (yyval.item)= new (YYSession->mem_root) Item_func_isnottrue((yyvsp[(1) - (4)].item)); }
 
9862
    break;
 
9863
 
 
9864
  case 336:
 
9865
#line 2774 "sql_yacc.yy"
 
9866
    { (yyval.item)= new (YYSession->mem_root) Item_func_isfalse((yyvsp[(1) - (3)].item)); }
 
9867
    break;
 
9868
 
 
9869
  case 337:
 
9870
#line 2776 "sql_yacc.yy"
 
9871
    { (yyval.item)= new (YYSession->mem_root) Item_func_isnotfalse((yyvsp[(1) - (4)].item)); }
 
9872
    break;
 
9873
 
 
9874
  case 338:
 
9875
#line 2778 "sql_yacc.yy"
 
9876
    { (yyval.item)= new Item_func_isnull((yyvsp[(1) - (3)].item)); }
 
9877
    break;
 
9878
 
 
9879
  case 339:
 
9880
#line 2780 "sql_yacc.yy"
 
9881
    { (yyval.item)= new Item_func_isnotnull((yyvsp[(1) - (4)].item)); }
 
9882
    break;
 
9883
 
 
9884
  case 341:
 
9885
#line 2786 "sql_yacc.yy"
 
9886
    { (yyval.item)= new Item_func_isnull((yyvsp[(1) - (3)].item)); }
 
9887
    break;
 
9888
 
 
9889
  case 342:
 
9890
#line 2788 "sql_yacc.yy"
 
9891
    { (yyval.item)= new Item_func_isnotnull((yyvsp[(1) - (4)].item)); }
 
9892
    break;
 
9893
 
 
9894
  case 343:
 
9895
#line 2790 "sql_yacc.yy"
 
9896
    { (yyval.item)= new Item_func_equal((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
9897
    break;
 
9898
 
 
9899
  case 344:
 
9900
#line 2792 "sql_yacc.yy"
 
9901
    { (yyval.item)= (*(yyvsp[(2) - (3)].boolfunc2creator))(0)->create((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
9902
    break;
 
9903
 
 
9904
  case 345:
 
9905
#line 2794 "sql_yacc.yy"
 
9906
    { (yyval.item)= all_any_subquery_creator((yyvsp[(1) - (6)].item), (yyvsp[(2) - (6)].boolfunc2creator), (yyvsp[(3) - (6)].num), (yyvsp[(5) - (6)].select_lex)); }
 
9907
    break;
 
9908
 
 
9909
  case 347:
 
9910
#line 2800 "sql_yacc.yy"
 
9911
    {
 
9912
            (yyval.item)= new (YYSession->mem_root) Item_in_subselect((yyvsp[(1) - (5)].item), (yyvsp[(4) - (5)].select_lex));
 
9913
          }
 
9914
    break;
 
9915
 
 
9916
  case 348:
 
9917
#line 2804 "sql_yacc.yy"
 
9918
    {
 
9919
            Session *session= YYSession;
 
9920
            Item *item= new (session->mem_root) Item_in_subselect((yyvsp[(1) - (6)].item), (yyvsp[(5) - (6)].select_lex));
 
9921
            (yyval.item)= negate_expression(session, item);
 
9922
          }
 
9923
    break;
 
9924
 
 
9925
  case 349:
 
9926
#line 2810 "sql_yacc.yy"
 
9927
    {
 
9928
            (yyval.item)= handle_sql2003_note184_exception(YYSession, (yyvsp[(1) - (5)].item), true, (yyvsp[(4) - (5)].item));
 
9929
          }
 
9930
    break;
 
9931
 
 
9932
  case 350:
 
9933
#line 2814 "sql_yacc.yy"
 
9934
    {
 
9935
            (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(4) - (7)].item));
 
9936
            (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(1) - (7)].item));
 
9937
            (yyval.item)= new (YYSession->mem_root) Item_func_in(*(yyvsp[(6) - (7)].item_list));
 
9938
          }
 
9939
    break;
 
9940
 
 
9941
  case 351:
 
9942
#line 2820 "sql_yacc.yy"
 
9943
    {
 
9944
            (yyval.item)= handle_sql2003_note184_exception(YYSession, (yyvsp[(1) - (6)].item), false, (yyvsp[(5) - (6)].item));
 
9945
          }
 
9946
    break;
 
9947
 
 
9948
  case 352:
 
9949
#line 2824 "sql_yacc.yy"
 
9950
    {
 
9951
            (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item));
 
9952
            (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(1) - (8)].item));
 
9953
            Item_func_in *item = new (YYSession->mem_root) Item_func_in(*(yyvsp[(7) - (8)].item_list));
 
9954
            item->negate();
 
9955
            (yyval.item)= item;
 
9956
          }
 
9957
    break;
 
9958
 
 
9959
  case 353:
 
9960
#line 2832 "sql_yacc.yy"
 
9961
    { (yyval.item)= new Item_func_between((yyvsp[(1) - (5)].item),(yyvsp[(3) - (5)].item),(yyvsp[(5) - (5)].item)); }
 
9962
    break;
 
9963
 
 
9964
  case 354:
 
9965
#line 2834 "sql_yacc.yy"
 
9966
    {
 
9967
            Item_func_between *item= new Item_func_between((yyvsp[(1) - (6)].item),(yyvsp[(4) - (6)].item),(yyvsp[(6) - (6)].item));
 
9968
            item->negate();
 
9969
            (yyval.item)= item;
 
9970
          }
 
9971
    break;
 
9972
 
 
9973
  case 355:
 
9974
#line 2840 "sql_yacc.yy"
 
9975
    { (yyval.item)= new Item_func_like((yyvsp[(1) - (4)].item),(yyvsp[(3) - (4)].item),(yyvsp[(4) - (4)].item),Lex->escape_used); }
 
9976
    break;
 
9977
 
 
9978
  case 356:
 
9979
#line 2842 "sql_yacc.yy"
 
9980
    { (yyval.item)= new Item_func_not(new Item_func_like((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].item), Lex->escape_used)); }
 
9981
    break;
 
9982
 
 
9983
  case 358:
 
9984
#line 2848 "sql_yacc.yy"
 
9985
    { (yyval.item)= new Item_func_plus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
9986
    break;
 
9987
 
 
9988
  case 359:
 
9989
#line 2850 "sql_yacc.yy"
 
9990
    { (yyval.item)= new Item_func_minus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
9991
    break;
 
9992
 
 
9993
  case 360:
 
9994
#line 2852 "sql_yacc.yy"
 
9995
    { (yyval.item)= new Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),0); }
 
9996
    break;
 
9997
 
 
9998
  case 361:
 
9999
#line 2854 "sql_yacc.yy"
 
10000
    { (yyval.item)= new Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),1); }
 
10001
    break;
 
10002
 
 
10003
  case 362:
 
10004
#line 2856 "sql_yacc.yy"
 
10005
    { (yyval.item)= new Item_func_mul((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
10006
    break;
 
10007
 
 
10008
  case 363:
 
10009
#line 2858 "sql_yacc.yy"
 
10010
    { (yyval.item)= new Item_func_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
10011
    break;
 
10012
 
 
10013
  case 364:
 
10014
#line 2860 "sql_yacc.yy"
 
10015
    { (yyval.item)= new Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
10016
    break;
 
10017
 
 
10018
  case 365:
 
10019
#line 2862 "sql_yacc.yy"
 
10020
    { (yyval.item)= new Item_func_int_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
10021
    break;
 
10022
 
 
10023
  case 366:
 
10024
#line 2864 "sql_yacc.yy"
 
10025
    { (yyval.item)= new Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
 
10026
    break;
 
10027
 
 
10028
  case 371:
 
10029
#line 2881 "sql_yacc.yy"
 
10030
    { (yyval.boolfunc2creator) = &comp_eq_creator; }
 
10031
    break;
 
10032
 
 
10033
  case 372:
 
10034
#line 2882 "sql_yacc.yy"
 
10035
    { (yyval.boolfunc2creator) = &comp_ge_creator; }
 
10036
    break;
 
10037
 
 
10038
  case 373:
 
10039
#line 2883 "sql_yacc.yy"
 
10040
    { (yyval.boolfunc2creator) = &comp_gt_creator; }
 
10041
    break;
 
10042
 
 
10043
  case 374:
 
10044
#line 2884 "sql_yacc.yy"
 
10045
    { (yyval.boolfunc2creator) = &comp_le_creator; }
 
10046
    break;
 
10047
 
 
10048
  case 375:
 
10049
#line 2885 "sql_yacc.yy"
 
10050
    { (yyval.boolfunc2creator) = &comp_lt_creator; }
 
10051
    break;
 
10052
 
 
10053
  case 376:
 
10054
#line 2886 "sql_yacc.yy"
 
10055
    { (yyval.boolfunc2creator) = &comp_ne_creator; }
 
10056
    break;
 
10057
 
 
10058
  case 377:
 
10059
#line 2890 "sql_yacc.yy"
 
10060
    { (yyval.num) = 1; }
 
10061
    break;
 
10062
 
 
10063
  case 378:
 
10064
#line 2891 "sql_yacc.yy"
 
10065
    { (yyval.num) = 0; }
 
10066
    break;
 
10067
 
 
10068
  case 384:
 
10069
#line 2901 "sql_yacc.yy"
 
10070
    {
 
10071
            Session *session= YYSession;
 
10072
            Item *i1= new (session->mem_root) Item_string((yyvsp[(3) - (3)].lex_str).str,
 
10073
                                                      (yyvsp[(3) - (3)].lex_str).length,
 
10074
                                                      session->charset());
 
10075
            (yyval.item)= new (session->mem_root) Item_func_set_collation((yyvsp[(1) - (3)].item), i1);
 
10076
          }
 
10077
    break;
 
10078
 
 
10079
  case 388:
 
10080
#line 2911 "sql_yacc.yy"
 
10081
    { (yyval.item)= (yyvsp[(2) - (2)].item); }
 
10082
    break;
 
10083
 
 
10084
  case 389:
 
10085
#line 2913 "sql_yacc.yy"
 
10086
    { (yyval.item)= new (YYSession->mem_root) Item_func_neg((yyvsp[(2) - (2)].item)); }
 
10087
    break;
 
10088
 
 
10089
  case 390:
 
10090
#line 2915 "sql_yacc.yy"
 
10091
    {
 
10092
            (yyval.item)= new (YYSession->mem_root) Item_singlerow_subselect((yyvsp[(2) - (3)].select_lex));
 
10093
          }
 
10094
    break;
 
10095
 
 
10096
  case 391:
 
10097
#line 2918 "sql_yacc.yy"
 
10098
    { (yyval.item)= (yyvsp[(2) - (3)].item); }
 
10099
    break;
 
10100
 
 
10101
  case 392:
 
10102
#line 2920 "sql_yacc.yy"
 
10103
    {
 
10104
            (yyvsp[(4) - (5)].item_list)->push_front((yyvsp[(2) - (5)].item));
 
10105
            (yyval.item)= new (YYSession->mem_root) Item_row(*(yyvsp[(4) - (5)].item_list));
 
10106
          }
 
10107
    break;
 
10108
 
 
10109
  case 393:
 
10110
#line 2925 "sql_yacc.yy"
 
10111
    {
 
10112
            (yyvsp[(5) - (6)].item_list)->push_front((yyvsp[(3) - (6)].item));
 
10113
            (yyval.item)= new (YYSession->mem_root) Item_row(*(yyvsp[(5) - (6)].item_list));
 
10114
          }
 
10115
    break;
 
10116
 
 
10117
  case 394:
 
10118
#line 2930 "sql_yacc.yy"
 
10119
    {
 
10120
            (yyval.item)= new (YYSession->mem_root) Item_exists_subselect((yyvsp[(3) - (4)].select_lex));
 
10121
          }
 
10122
    break;
 
10123
 
 
10124
  case 395:
 
10125
#line 2933 "sql_yacc.yy"
 
10126
    { (yyval.item)= (yyvsp[(3) - (4)].item); }
 
10127
    break;
 
10128
 
 
10129
  case 396:
 
10130
#line 2935 "sql_yacc.yy"
 
10131
    {
 
10132
            (yyval.item)= create_func_cast(YYSession, (yyvsp[(2) - (2)].item), ITEM_CAST_CHAR, NULL, NULL,
 
10133
                                 &my_charset_bin);
 
10134
          }
 
10135
    break;
 
10136
 
 
10137
  case 397:
 
10138
#line 2940 "sql_yacc.yy"
 
10139
    {
 
10140
            LEX *lex= Lex;
 
10141
            (yyval.item)= create_func_cast(YYSession, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), lex->length, lex->dec,
 
10142
                                 lex->charset);
 
10143
            if (!(yyval.item))
 
10144
              DRIZZLE_YYABORT;
 
10145
          }
 
10146
    break;
 
10147
 
 
10148
  case 398:
 
10149
#line 2948 "sql_yacc.yy"
 
10150
    { (yyval.item)= new (YYSession->mem_root) Item_func_case(* (yyvsp[(3) - (5)].item_list), (yyvsp[(2) - (5)].item), (yyvsp[(4) - (5)].item) ); }
 
10151
    break;
 
10152
 
 
10153
  case 399:
 
10154
#line 2950 "sql_yacc.yy"
 
10155
    {
 
10156
            (yyval.item)= create_func_cast(YYSession, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), Lex->length, Lex->dec,
 
10157
                                 Lex->charset);
 
10158
            if (!(yyval.item))
 
10159
              DRIZZLE_YYABORT;
 
10160
          }
 
10161
    break;
 
10162
 
 
10163
  case 400:
 
10164
#line 2957 "sql_yacc.yy"
 
10165
    {
 
10166
            (yyval.item)= new (YYSession->mem_root) Item_default_value(Lex->current_context(),
 
10167
                                                         (yyvsp[(3) - (4)].item));
 
10168
          }
 
10169
    break;
 
10170
 
 
10171
  case 401:
 
10172
#line 2962 "sql_yacc.yy"
 
10173
    {
 
10174
            (yyval.item)= new (YYSession->mem_root) Item_insert_value(Lex->current_context(),
 
10175
                                                        (yyvsp[(3) - (4)].item));
 
10176
          }
 
10177
    break;
 
10178
 
 
10179
  case 402:
 
10180
#line 2968 "sql_yacc.yy"
 
10181
    { (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(5) - (5)].item),(yyvsp[(2) - (5)].item),(yyvsp[(3) - (5)].interval),0); }
 
10182
    break;
 
10183
 
 
10184
  case 403:
 
10185
#line 2979 "sql_yacc.yy"
 
10186
    { (yyval.item)= new (YYSession->mem_root) Item_func_char(*(yyvsp[(3) - (4)].item_list)); }
 
10187
    break;
 
10188
 
 
10189
  case 404:
 
10190
#line 2981 "sql_yacc.yy"
 
10191
    {
 
10192
            (yyval.item)= new (YYSession->mem_root) Item_func_current_user(Lex->current_context());
 
10193
          }
 
10194
    break;
 
10195
 
 
10196
  case 405:
 
10197
#line 2985 "sql_yacc.yy"
 
10198
    { (yyval.item)= new (YYSession->mem_root) Item_date_typecast((yyvsp[(3) - (4)].item)); }
 
10199
    break;
 
10200
 
 
10201
  case 406:
 
10202
#line 2987 "sql_yacc.yy"
 
10203
    { (yyval.item)= new (YYSession->mem_root) Item_func_dayofmonth((yyvsp[(3) - (4)].item)); }
 
10204
    break;
 
10205
 
 
10206
  case 407:
 
10207
#line 2989 "sql_yacc.yy"
 
10208
    { (yyval.item)= new (YYSession->mem_root) Item_func_hour((yyvsp[(3) - (4)].item)); }
 
10209
    break;
 
10210
 
 
10211
  case 408:
 
10212
#line 2991 "sql_yacc.yy"
 
10213
    { (yyval.item)= new (YYSession->mem_root) Item_func_insert((yyvsp[(3) - (10)].item),(yyvsp[(5) - (10)].item),(yyvsp[(7) - (10)].item),(yyvsp[(9) - (10)].item)); }
 
10214
    break;
 
10215
 
 
10216
  case 409:
 
10217
#line 2993 "sql_yacc.yy"
 
10218
    {
 
10219
            Session *session= YYSession;
 
10220
            List<Item> *list= new (session->mem_root) List<Item>;
 
10221
            list->push_front((yyvsp[(5) - (6)].item));
 
10222
            list->push_front((yyvsp[(3) - (6)].item));
 
10223
            Item_row *item= new (session->mem_root) Item_row(*list);
 
10224
            (yyval.item)= new (session->mem_root) Item_func_interval(item);
 
10225
          }
 
10226
    break;
 
10227
 
 
10228
  case 410:
 
10229
#line 3002 "sql_yacc.yy"
 
10230
    {
 
10231
            Session *session= YYSession;
 
10232
            (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item));
 
10233
            (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(3) - (8)].item));
 
10234
            Item_row *item= new (session->mem_root) Item_row(*(yyvsp[(7) - (8)].item_list));
 
10235
            (yyval.item)= new (session->mem_root) Item_func_interval(item);
 
10236
          }
 
10237
    break;
 
10238
 
 
10239
  case 411:
 
10240
#line 3010 "sql_yacc.yy"
 
10241
    { (yyval.item)= new (YYSession->mem_root) Item_func_left((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); }
 
10242
    break;
 
10243
 
 
10244
  case 412:
 
10245
#line 3012 "sql_yacc.yy"
 
10246
    { (yyval.item)= new (YYSession->mem_root) Item_func_minute((yyvsp[(3) - (4)].item)); }
 
10247
    break;
 
10248
 
 
10249
  case 413:
 
10250
#line 3014 "sql_yacc.yy"
 
10251
    { (yyval.item)= new (YYSession->mem_root) Item_func_month((yyvsp[(3) - (4)].item)); }
 
10252
    break;
 
10253
 
 
10254
  case 414:
 
10255
#line 3016 "sql_yacc.yy"
 
10256
    { (yyval.item)= new (YYSession->mem_root) Item_func_right((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); }
 
10257
    break;
 
10258
 
 
10259
  case 415:
 
10260
#line 3018 "sql_yacc.yy"
 
10261
    { (yyval.item)= new (YYSession->mem_root) Item_func_second((yyvsp[(3) - (4)].item)); }
 
10262
    break;
 
10263
 
 
10264
  case 416:
 
10265
#line 3020 "sql_yacc.yy"
 
10266
    { (yyval.item)= new (YYSession->mem_root) Item_datetime_typecast((yyvsp[(3) - (4)].item)); }
 
10267
    break;
 
10268
 
 
10269
  case 417:
 
10270
#line 3022 "sql_yacc.yy"
 
10271
    { (yyval.item)= new (YYSession->mem_root) Item_func_trim((yyvsp[(3) - (4)].item)); }
 
10272
    break;
 
10273
 
 
10274
  case 418:
 
10275
#line 3024 "sql_yacc.yy"
 
10276
    { (yyval.item)= new (YYSession->mem_root) Item_func_ltrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
 
10277
    break;
 
10278
 
 
10279
  case 419:
 
10280
#line 3026 "sql_yacc.yy"
 
10281
    { (yyval.item)= new (YYSession->mem_root) Item_func_rtrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
 
10282
    break;
 
10283
 
 
10284
  case 420:
 
10285
#line 3028 "sql_yacc.yy"
 
10286
    { (yyval.item)= new (YYSession->mem_root) Item_func_trim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
 
10287
    break;
 
10288
 
 
10289
  case 421:
 
10290
#line 3030 "sql_yacc.yy"
 
10291
    { (yyval.item)= new (YYSession->mem_root) Item_func_ltrim((yyvsp[(5) - (6)].item)); }
 
10292
    break;
 
10293
 
 
10294
  case 422:
 
10295
#line 3032 "sql_yacc.yy"
 
10296
    { (yyval.item)= new (YYSession->mem_root) Item_func_rtrim((yyvsp[(5) - (6)].item)); }
 
10297
    break;
 
10298
 
 
10299
  case 423:
 
10300
#line 3034 "sql_yacc.yy"
 
10301
    { (yyval.item)= new (YYSession->mem_root) Item_func_trim((yyvsp[(5) - (6)].item)); }
 
10302
    break;
 
10303
 
 
10304
  case 424:
 
10305
#line 3036 "sql_yacc.yy"
 
10306
    { (yyval.item)= new (YYSession->mem_root) Item_func_trim((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); }
 
10307
    break;
 
10308
 
 
10309
  case 425:
 
10310
#line 3038 "sql_yacc.yy"
 
10311
    {
 
10312
            (yyval.item)= new (YYSession->mem_root) Item_func_user();
 
10313
          }
 
10314
    break;
 
10315
 
 
10316
  case 426:
 
10317
#line 3042 "sql_yacc.yy"
 
10318
    { (yyval.item)= new (YYSession->mem_root) Item_func_year((yyvsp[(3) - (4)].item)); }
 
10319
    break;
 
10320
 
 
10321
  case 427:
 
10322
#line 3058 "sql_yacc.yy"
 
10323
    {
 
10324
            (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
 
10325
                                                             INTERVAL_DAY, 0);
 
10326
          }
 
10327
    break;
 
10328
 
 
10329
  case 428:
 
10330
#line 3063 "sql_yacc.yy"
 
10331
    { (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 0); }
 
10332
    break;
 
10333
 
 
10334
  case 429:
 
10335
#line 3065 "sql_yacc.yy"
 
10336
    {
 
10337
            (yyval.item)= new (YYSession->mem_root) Item_func_curdate_local();
 
10338
          }
 
10339
    break;
 
10340
 
 
10341
  case 430:
 
10342
#line 3069 "sql_yacc.yy"
 
10343
    { (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),0); }
 
10344
    break;
 
10345
 
 
10346
  case 431:
 
10347
#line 3071 "sql_yacc.yy"
 
10348
    { (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),1); }
 
10349
    break;
 
10350
 
 
10351
  case 432:
 
10352
#line 3073 "sql_yacc.yy"
 
10353
    { (yyval.item)=new (YYSession->mem_root) Item_extract( (yyvsp[(3) - (6)].interval), (yyvsp[(5) - (6)].item)); }
 
10354
    break;
 
10355
 
 
10356
  case 433:
 
10357
#line 3075 "sql_yacc.yy"
 
10358
    {
 
10359
            (yyval.item)= new (YYSession->mem_root) Item_func_now_local();
 
10360
          }
 
10361
    break;
 
10362
 
 
10363
  case 434:
 
10364
#line 3079 "sql_yacc.yy"
 
10365
    {
 
10366
            (yyval.item)= new (YYSession->mem_root) Item_func_now_local((yyvsp[(3) - (4)].item));
 
10367
          }
 
10368
    break;
 
10369
 
 
10370
  case 435:
 
10371
#line 3083 "sql_yacc.yy"
 
10372
    { (yyval.item) = new (YYSession->mem_root) Item_func_locate((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); }
 
10373
    break;
 
10374
 
 
10375
  case 436:
 
10376
#line 3085 "sql_yacc.yy"
 
10377
    {
 
10378
            (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
 
10379
                                                             INTERVAL_DAY, 1);
 
10380
          }
 
10381
    break;
 
10382
 
 
10383
  case 437:
 
10384
#line 3090 "sql_yacc.yy"
 
10385
    { (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 1); }
 
10386
    break;
 
10387
 
 
10388
  case 438:
 
10389
#line 3092 "sql_yacc.yy"
 
10390
    {
 
10391
            std::string reverse_str("substr");
 
10392
            List<Item> *args= new (YYSession->mem_root) List<Item>;
 
10393
            args->push_back((yyvsp[(3) - (8)].item));
 
10394
            args->push_back((yyvsp[(5) - (8)].item));
 
10395
            args->push_back((yyvsp[(7) - (8)].item));
 
10396
            if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
 
10397
            {
 
10398
              DRIZZLE_YYABORT;
 
10399
            }
 
10400
          }
 
10401
    break;
 
10402
 
 
10403
  case 439:
 
10404
#line 3104 "sql_yacc.yy"
 
10405
    {
 
10406
            std::string reverse_str("substr");
 
10407
            List<Item> *args= new (YYSession->mem_root) List<Item>;
 
10408
            args->push_back((yyvsp[(3) - (6)].item));
 
10409
            args->push_back((yyvsp[(5) - (6)].item));
 
10410
            if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
 
10411
            {
 
10412
              DRIZZLE_YYABORT;
 
10413
            }
 
10414
          }
 
10415
    break;
 
10416
 
 
10417
  case 440:
 
10418
#line 3115 "sql_yacc.yy"
 
10419
    {
 
10420
            std::string reverse_str("substr");
 
10421
            List<Item> *args= new (YYSession->mem_root) List<Item>;
 
10422
            args->push_back((yyvsp[(3) - (8)].item));
 
10423
            args->push_back((yyvsp[(5) - (8)].item));
 
10424
            args->push_back((yyvsp[(7) - (8)].item));
 
10425
            if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
 
10426
            {
 
10427
              DRIZZLE_YYABORT;
 
10428
            }
 
10429
          }
 
10430
    break;
 
10431
 
 
10432
  case 441:
 
10433
#line 3127 "sql_yacc.yy"
 
10434
    {
 
10435
            std::string reverse_str("substr");
 
10436
            List<Item> *args= new (YYSession->mem_root) List<Item>;
 
10437
            args->push_back((yyvsp[(3) - (6)].item));
 
10438
            args->push_back((yyvsp[(5) - (6)].item));
 
10439
            if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
 
10440
            {
 
10441
              DRIZZLE_YYABORT;
 
10442
            }
 
10443
          }
 
10444
    break;
 
10445
 
 
10446
  case 442:
 
10447
#line 3138 "sql_yacc.yy"
 
10448
    { (yyval.item)= new (YYSession->mem_root) Item_func_sysdate_local(); }
 
10449
    break;
 
10450
 
 
10451
  case 443:
 
10452
#line 3140 "sql_yacc.yy"
 
10453
    { (yyval.item)= new (YYSession->mem_root) Item_func_sysdate_local((yyvsp[(3) - (4)].item)); }
 
10454
    break;
 
10455
 
 
10456
  case 444:
 
10457
#line 3142 "sql_yacc.yy"
 
10458
    { (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(7) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(3) - (8)].interval_time_st),0); }
 
10459
    break;
 
10460
 
 
10461
  case 445:
 
10462
#line 3144 "sql_yacc.yy"
 
10463
    { (yyval.item)= new (YYSession->mem_root) Item_func_timestamp_diff((yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item),(yyvsp[(3) - (8)].interval_time_st)); }
 
10464
    break;
 
10465
 
 
10466
  case 446:
 
10467
#line 3146 "sql_yacc.yy"
 
10468
    {
 
10469
            (yyval.item)= new (YYSession->mem_root) Item_func_curdate_utc();
 
10470
          }
 
10471
    break;
 
10472
 
 
10473
  case 447:
 
10474
#line 3150 "sql_yacc.yy"
 
10475
    {
 
10476
            (yyval.item)= new (YYSession->mem_root) Item_func_now_utc();
 
10477
          }
 
10478
    break;
 
10479
 
 
10480
  case 448:
 
10481
#line 3162 "sql_yacc.yy"
 
10482
    { (yyval.item)= new (YYSession->mem_root) Item_func_coalesce(* (yyvsp[(3) - (4)].item_list)); }
 
10483
    break;
 
10484
 
 
10485
  case 449:
 
10486
#line 3164 "sql_yacc.yy"
 
10487
    { (yyval.item)= new (YYSession->mem_root) Item_func_collation((yyvsp[(3) - (4)].item)); }
 
10488
    break;
 
10489
 
 
10490
  case 450:
 
10491
#line 3166 "sql_yacc.yy"
 
10492
    {
 
10493
            std::string database_str("database");
 
10494
            if (! ((yyval.item)= reserved_keyword_function(database_str, NULL)))
 
10495
            {
 
10496
              DRIZZLE_YYABORT;
 
10497
            }
 
10498
          }
 
10499
    break;
 
10500
 
 
10501
  case 451:
 
10502
#line 3174 "sql_yacc.yy"
 
10503
    { (yyval.item)= new (YYSession->mem_root) Item_func_if((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); }
 
10504
    break;
 
10505
 
 
10506
  case 452:
 
10507
#line 3176 "sql_yacc.yy"
 
10508
    { (yyval.item)= new (YYSession->mem_root) Item_func_microsecond((yyvsp[(3) - (4)].item)); }
 
10509
    break;
 
10510
 
 
10511
  case 453:
 
10512
#line 3178 "sql_yacc.yy"
 
10513
    { (yyval.item) = new (YYSession->mem_root) Item_func_mod( (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item)); }
 
10514
    break;
 
10515
 
 
10516
  case 454:
 
10517
#line 3180 "sql_yacc.yy"
 
10518
    { (yyval.item) = new (YYSession->mem_root) Item_func_quarter((yyvsp[(3) - (4)].item)); }
 
10519
    break;
 
10520
 
 
10521
  case 455:
 
10522
#line 3182 "sql_yacc.yy"
 
10523
    { (yyval.item)= new (YYSession->mem_root) Item_func_repeat((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); }
 
10524
    break;
 
10525
 
 
10526
  case 456:
 
10527
#line 3184 "sql_yacc.yy"
 
10528
    { (yyval.item)= new (YYSession->mem_root) Item_func_replace((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); }
 
10529
    break;
 
10530
 
 
10531
  case 457:
 
10532
#line 3186 "sql_yacc.yy"
 
10533
    {
 
10534
            std::string reverse_str("reverse");
 
10535
            List<Item> *args= new (YYSession->mem_root) List<Item>;
 
10536
            args->push_back((yyvsp[(3) - (4)].item));
 
10537
            if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
 
10538
            {
 
10539
              DRIZZLE_YYABORT;
 
10540
            }
 
10541
          }
 
10542
    break;
 
10543
 
 
10544
  case 458:
 
10545
#line 3196 "sql_yacc.yy"
 
10546
    { (yyval.item)= new (YYSession->mem_root) Item_func_round((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item),1); }
 
10547
    break;
 
10548
 
 
10549
  case 459:
 
10550
#line 3209 "sql_yacc.yy"
 
10551
    {
 
10552
            const plugin::Function *udf= plugin::Function::get((yyvsp[(1) - (2)].lex_str).str, (yyvsp[(1) - (2)].lex_str).length);
 
10553
 
 
10554
            /* Temporary placing the result of getFunction in $3 */
 
10555
            (yyval.udf)= udf;
 
10556
          }
 
10557
    break;
 
10558
 
 
10559
  case 460:
 
10560
#line 3216 "sql_yacc.yy"
 
10561
    {
 
10562
            Session *session= YYSession;
 
10563
            Create_func *builder;
 
10564
            Item *item= NULL;
 
10565
 
 
10566
            /*
 
10567
              Implementation note:
 
10568
              names are resolved with the following order:
 
10569
              - MySQL native functions,
 
10570
              - User Defined Functions,
 
10571
              - Stored Functions (assuming the current <use> database)
 
10572
 
 
10573
              This will be revised with WL#2128 (SQL PATH)
 
10574
            */
 
10575
            builder= find_native_function_builder((yyvsp[(1) - (5)].lex_str));
 
10576
            if (builder)
 
10577
            {
 
10578
              item= builder->create(session, (yyvsp[(1) - (5)].lex_str), (yyvsp[(4) - (5)].item_list));
 
10579
            }
 
10580
            else
 
10581
            {
 
10582
              /* Retrieving the result of service::Function::get */
 
10583
              const plugin::Function *udf= (yyvsp[(3) - (5)].udf);
 
10584
              if (udf)
 
10585
              {
 
10586
                item= Create_udf_func::s_singleton.create(session, udf, (yyvsp[(4) - (5)].item_list));
 
10587
              } else {
 
10588
                /* fix for bug 250065, from Andrew Garner <muzazzi@gmail.com> */
 
10589
                my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", (yyvsp[(1) - (5)].lex_str).str);
 
10590
              }
 
10591
            }
 
10592
 
 
10593
            if (! ((yyval.item)= item))
 
10594
            {
 
10595
              DRIZZLE_YYABORT;
 
10596
            }
 
10597
          }
 
10598
    break;
 
10599
 
 
10600
  case 461:
 
10601
#line 3256 "sql_yacc.yy"
 
10602
    { (yyval.item_list)= NULL; }
 
10603
    break;
 
10604
 
 
10605
  case 462:
 
10606
#line 3257 "sql_yacc.yy"
 
10607
    { (yyval.item_list)= (yyvsp[(1) - (1)].item_list); }
 
10608
    break;
 
10609
 
 
10610
  case 463:
 
10611
#line 3262 "sql_yacc.yy"
 
10612
    {
 
10613
            (yyval.item_list)= new (YYSession->mem_root) List<Item>;
 
10614
            (yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
 
10615
          }
 
10616
    break;
 
10617
 
 
10618
  case 464:
 
10619
#line 3267 "sql_yacc.yy"
 
10620
    {
 
10621
            (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
 
10622
            (yyval.item_list)= (yyvsp[(1) - (3)].item_list);
 
10623
          }
 
10624
    break;
 
10625
 
 
10626
  case 465:
 
10627
#line 3275 "sql_yacc.yy"
 
10628
    {
 
10629
            /*
 
10630
             Use Item::name as a storage for the attribute value of user
 
10631
             defined function argument. It is safe to use Item::name
 
10632
             because the syntax will not allow having an explicit name here.
 
10633
             See WL#1017 re. udf attributes.
 
10634
            */
 
10635
            if ((yyvsp[(4) - (4)].lex_str).str)
 
10636
            {
 
10637
              (yyvsp[(2) - (4)].item)->is_autogenerated_name= false;
 
10638
              (yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length, system_charset_info);
 
10639
            }
 
10640
            else
 
10641
              (yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), YYSession->charset());
 
10642
            (yyval.item)= (yyvsp[(2) - (4)].item);
 
10643
          }
 
10644
    break;
 
10645
 
 
10646
  case 466:
 
10647
#line 3295 "sql_yacc.yy"
 
10648
    { (yyval.item)=new Item_sum_avg((yyvsp[(3) - (4)].item)); }
 
10649
    break;
 
10650
 
 
10651
  case 467:
 
10652
#line 3297 "sql_yacc.yy"
 
10653
    { (yyval.item)=new Item_sum_avg_distinct((yyvsp[(4) - (5)].item)); }
 
10654
    break;
 
10655
 
 
10656
  case 468:
 
10657
#line 3299 "sql_yacc.yy"
 
10658
    { (yyval.item)=new Item_sum_count(new Item_int((int32_t) 0L,1)); }
 
10659
    break;
 
10660
 
 
10661
  case 469:
 
10662
#line 3301 "sql_yacc.yy"
 
10663
    { (yyval.item)=new Item_sum_count((yyvsp[(3) - (4)].item)); }
 
10664
    break;
 
10665
 
 
10666
  case 470:
 
10667
#line 3303 "sql_yacc.yy"
 
10668
    { Lex->current_select->in_sum_expr++; }
 
10669
    break;
 
10670
 
 
10671
  case 471:
 
10672
#line 3305 "sql_yacc.yy"
 
10673
    { Lex->current_select->in_sum_expr--; }
 
10674
    break;
 
10675
 
 
10676
  case 472:
 
10677
#line 3307 "sql_yacc.yy"
 
10678
    { (yyval.item)=new Item_sum_count_distinct(* (yyvsp[(5) - (7)].item_list)); }
 
10679
    break;
 
10680
 
 
10681
  case 473:
 
10682
#line 3309 "sql_yacc.yy"
 
10683
    { (yyval.item)=new Item_sum_min((yyvsp[(3) - (4)].item)); }
 
10684
    break;
 
10685
 
 
10686
  case 474:
 
10687
#line 3316 "sql_yacc.yy"
 
10688
    { (yyval.item)=new Item_sum_min((yyvsp[(4) - (5)].item)); }
 
10689
    break;
 
10690
 
 
10691
  case 475:
 
10692
#line 3318 "sql_yacc.yy"
 
10693
    { (yyval.item)=new Item_sum_max((yyvsp[(3) - (4)].item)); }
 
10694
    break;
 
10695
 
 
10696
  case 476:
 
10697
#line 3320 "sql_yacc.yy"
 
10698
    { (yyval.item)=new Item_sum_max((yyvsp[(4) - (5)].item)); }
 
10699
    break;
 
10700
 
 
10701
  case 477:
 
10702
#line 3322 "sql_yacc.yy"
 
10703
    { (yyval.item)=new Item_sum_std((yyvsp[(3) - (4)].item), 0); }
 
10704
    break;
 
10705
 
 
10706
  case 478:
 
10707
#line 3324 "sql_yacc.yy"
 
10708
    { (yyval.item)=new Item_sum_variance((yyvsp[(3) - (4)].item), 0); }
 
10709
    break;
 
10710
 
 
10711
  case 479:
 
10712
#line 3326 "sql_yacc.yy"
 
10713
    { (yyval.item)=new Item_sum_std((yyvsp[(3) - (4)].item), 1); }
 
10714
    break;
 
10715
 
 
10716
  case 480:
 
10717
#line 3328 "sql_yacc.yy"
 
10718
    { (yyval.item)=new Item_sum_variance((yyvsp[(3) - (4)].item), 1); }
 
10719
    break;
 
10720
 
 
10721
  case 481:
 
10722
#line 3330 "sql_yacc.yy"
 
10723
    { (yyval.item)=new Item_sum_sum((yyvsp[(3) - (4)].item)); }
 
10724
    break;
 
10725
 
 
10726
  case 482:
 
10727
#line 3332 "sql_yacc.yy"
 
10728
    { (yyval.item)=new Item_sum_sum_distinct((yyvsp[(4) - (5)].item)); }
 
10729
    break;
 
10730
 
 
10731
  case 483:
 
10732
#line 3334 "sql_yacc.yy"
 
10733
    { Lex->current_select->in_sum_expr++; }
 
10734
    break;
 
10735
 
 
10736
  case 484:
 
10737
#line 3338 "sql_yacc.yy"
 
10738
    {
 
10739
            Select_Lex *sel= Lex->current_select;
 
10740
            sel->in_sum_expr--;
 
10741
            (yyval.item)=new Item_func_group_concat(Lex->current_context(), (yyvsp[(3) - (8)].num), (yyvsp[(5) - (8)].item_list),
 
10742
                                          sel->gorder_list, (yyvsp[(7) - (8)].string));
 
10743
            (yyvsp[(5) - (8)].item_list)->empty();
 
10744
          }
 
10745
    break;
 
10746
 
 
10747
  case 485:
 
10748
#line 3349 "sql_yacc.yy"
 
10749
    { }
 
10750
    break;
 
10751
 
 
10752
  case 486:
 
10753
#line 3351 "sql_yacc.yy"
 
10754
    {
 
10755
            (yyval.item)= (yyvsp[(3) - (3)].item);
 
10756
          }
 
10757
    break;
 
10758
 
 
10759
  case 487:
 
10760
#line 3358 "sql_yacc.yy"
 
10761
    {
 
10762
            (yyval.item)= new Item_func_set_user_var((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].item));
 
10763
          }
 
10764
    break;
 
10765
 
 
10766
  case 488:
 
10767
#line 3362 "sql_yacc.yy"
 
10768
    {
 
10769
            (yyval.item)= new Item_func_get_user_var((yyvsp[(1) - (1)].lex_str));
 
10770
          }
 
10771
    break;
 
10772
 
 
10773
  case 489:
 
10774
#line 3366 "sql_yacc.yy"
 
10775
    {
 
10776
            /* disallow "SELECT @@global.global.variable" */
 
10777
            if ((yyvsp[(3) - (4)].lex_str).str && (yyvsp[(4) - (4)].lex_str).str && check_reserved_words(&(yyvsp[(3) - (4)].lex_str)))
 
10778
            {
 
10779
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
10780
              DRIZZLE_YYABORT;
 
10781
            }
 
10782
            if (!((yyval.item)= get_system_var(YYSession, (yyvsp[(2) - (4)].var_type), (yyvsp[(3) - (4)].lex_str), (yyvsp[(4) - (4)].lex_str))))
 
10783
              DRIZZLE_YYABORT;
 
10784
          }
 
10785
    break;
 
10786
 
 
10787
  case 490:
 
10788
#line 3379 "sql_yacc.yy"
 
10789
    { (yyval.num) = 0; }
 
10790
    break;
 
10791
 
 
10792
  case 491:
 
10793
#line 3380 "sql_yacc.yy"
 
10794
    { (yyval.num) = 1; }
 
10795
    break;
 
10796
 
 
10797
  case 492:
 
10798
#line 3385 "sql_yacc.yy"
 
10799
    {
 
10800
              (yyval.string)= new (YYSession->mem_root) String(",", 1, &my_charset_utf8_general_ci);
 
10801
            }
 
10802
    break;
 
10803
 
 
10804
  case 493:
 
10805
#line 3388 "sql_yacc.yy"
 
10806
    { (yyval.string) = (yyvsp[(2) - (2)].string); }
 
10807
    break;
 
10808
 
 
10809
  case 494:
 
10810
#line 3393 "sql_yacc.yy"
 
10811
    {
 
10812
            Lex->current_select->gorder_list = NULL;
 
10813
          }
 
10814
    break;
 
10815
 
 
10816
  case 495:
 
10817
#line 3397 "sql_yacc.yy"
 
10818
    {
 
10819
            Select_Lex *select= Lex->current_select;
 
10820
            select->gorder_list=
 
10821
              (SQL_LIST*) memory::sql_memdup((char*) &select->order_list,
 
10822
                                     sizeof(st_sql_list));
 
10823
            select->order_list.empty();
 
10824
          }
 
10825
    break;
 
10826
 
 
10827
  case 496:
 
10828
#line 3408 "sql_yacc.yy"
 
10829
    {
 
10830
            LEX *lex= Lex;
 
10831
            if (lex->current_select->inc_in_sum_expr())
 
10832
            {
 
10833
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
10834
              DRIZZLE_YYABORT;
 
10835
            }
 
10836
          }
 
10837
    break;
 
10838
 
 
10839
  case 497:
 
10840
#line 3417 "sql_yacc.yy"
 
10841
    {
 
10842
            Lex->current_select->in_sum_expr--;
 
10843
            (yyval.item)= (yyvsp[(3) - (3)].item);
 
10844
          }
 
10845
    break;
 
10846
 
 
10847
  case 498:
 
10848
#line 3425 "sql_yacc.yy"
 
10849
    { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; }
 
10850
    break;
 
10851
 
 
10852
  case 499:
 
10853
#line 3427 "sql_yacc.yy"
 
10854
    { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->dec= 0; }
 
10855
    break;
 
10856
 
 
10857
  case 500:
 
10858
#line 3429 "sql_yacc.yy"
 
10859
    { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
 
10860
    break;
 
10861
 
 
10862
  case 501:
 
10863
#line 3431 "sql_yacc.yy"
 
10864
    { (yyval.cast_type)=ITEM_CAST_DATETIME; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
 
10865
    break;
 
10866
 
 
10867
  case 502:
 
10868
#line 3433 "sql_yacc.yy"
 
10869
    { (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex->charset= NULL; }
 
10870
    break;
 
10871
 
 
10872
  case 503:
 
10873
#line 3438 "sql_yacc.yy"
 
10874
    {
 
10875
            (yyval.item_list)= new (YYSession->mem_root) List<Item>;
 
10876
            (yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
 
10877
          }
 
10878
    break;
 
10879
 
 
10880
  case 504:
 
10881
#line 3443 "sql_yacc.yy"
 
10882
    {
 
10883
            (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
 
10884
            (yyval.item_list)= (yyvsp[(1) - (3)].item_list);
 
10885
          }
 
10886
    break;
 
10887
 
 
10888
  case 505:
 
10889
#line 3450 "sql_yacc.yy"
 
10890
    { (yyval.item)= NULL; }
 
10891
    break;
 
10892
 
 
10893
  case 506:
 
10894
#line 3451 "sql_yacc.yy"
 
10895
    { (yyval.item)= (yyvsp[(1) - (1)].item); }
 
10896
    break;
 
10897
 
 
10898
  case 507:
 
10899
#line 3455 "sql_yacc.yy"
 
10900
    { (yyval.item)= NULL; }
 
10901
    break;
 
10902
 
 
10903
  case 508:
 
10904
#line 3456 "sql_yacc.yy"
 
10905
    { (yyval.item)= (yyvsp[(2) - (2)].item); }
 
10906
    break;
 
10907
 
 
10908
  case 509:
 
10909
#line 3461 "sql_yacc.yy"
 
10910
    {
 
10911
            (yyval.item_list)= new List<Item>;
 
10912
            (yyval.item_list)->push_back((yyvsp[(2) - (4)].item));
 
10913
            (yyval.item_list)->push_back((yyvsp[(4) - (4)].item));
 
10914
          }
 
10915
    break;
 
10916
 
 
10917
  case 510:
 
10918
#line 3467 "sql_yacc.yy"
 
10919
    {
 
10920
            (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(3) - (5)].item));
 
10921
            (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(5) - (5)].item));
 
10922
            (yyval.item_list)= (yyvsp[(1) - (5)].item_list);
 
10923
          }
 
10924
    break;
 
10925
 
 
10926
  case 511:
 
10927
#line 3477 "sql_yacc.yy"
 
10928
    { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
 
10929
    break;
 
10930
 
 
10931
  case 512:
 
10932
#line 3479 "sql_yacc.yy"
 
10933
    {
 
10934
            LEX *lex= Lex;
 
10935
            if (!((yyval.table_list)= lex->current_select->nest_last_join(lex->session)))
 
10936
              DRIZZLE_YYABORT;
 
10937
          }
 
10938
    break;
 
10939
 
 
10940
  case 513:
 
10941
#line 3487 "sql_yacc.yy"
 
10942
    { DRIZZLE_YYABORT_UNLESS((yyval.table_list)=(yyvsp[(1) - (1)].table_list)); }
 
10943
    break;
 
10944
 
 
10945
  case 514:
 
10946
#line 3498 "sql_yacc.yy"
 
10947
    { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
 
10948
    break;
 
10949
 
 
10950
  case 515:
 
10951
#line 3499 "sql_yacc.yy"
 
10952
    { (yyval.table_list)=(yyvsp[(3) - (4)].table_list); }
 
10953
    break;
 
10954
 
 
10955
  case 516:
 
10956
#line 3505 "sql_yacc.yy"
 
10957
    { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
 
10958
    break;
 
10959
 
 
10960
  case 517:
 
10961
#line 3507 "sql_yacc.yy"
 
10962
    {
 
10963
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list)));
 
10964
          }
 
10965
    break;
 
10966
 
 
10967
  case 518:
 
10968
#line 3527 "sql_yacc.yy"
 
10969
    { DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); }
 
10970
    break;
 
10971
 
 
10972
  case 519:
 
10973
#line 3529 "sql_yacc.yy"
 
10974
    { DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); (yyvsp[(3) - (3)].table_list)->straight=1; }
 
10975
    break;
 
10976
 
 
10977
  case 520:
 
10978
#line 3532 "sql_yacc.yy"
 
10979
    {
 
10980
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
 
10981
            /* Change the current name resolution context to a local context. */
 
10982
            if (push_new_name_resolution_context(YYSession, (yyvsp[(1) - (4)].table_list), (yyvsp[(3) - (4)].table_list)))
 
10983
              DRIZZLE_YYABORT;
 
10984
            Lex->current_select->parsing_place= IN_ON;
 
10985
          }
 
10986
    break;
 
10987
 
 
10988
  case 521:
 
10989
#line 3540 "sql_yacc.yy"
 
10990
    {
 
10991
            add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item));
 
10992
            Lex->pop_context();
 
10993
            Lex->current_select->parsing_place= NO_MATTER;
 
10994
          }
 
10995
    break;
 
10996
 
 
10997
  case 522:
 
10998
#line 3547 "sql_yacc.yy"
 
10999
    {
 
11000
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
 
11001
            /* Change the current name resolution context to a local context. */
 
11002
            if (push_new_name_resolution_context(YYSession, (yyvsp[(1) - (4)].table_list), (yyvsp[(3) - (4)].table_list)))
 
11003
              DRIZZLE_YYABORT;
 
11004
            Lex->current_select->parsing_place= IN_ON;
 
11005
          }
 
11006
    break;
 
11007
 
 
11008
  case 523:
 
11009
#line 3555 "sql_yacc.yy"
 
11010
    {
 
11011
            (yyvsp[(3) - (6)].table_list)->straight=1;
 
11012
            add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item));
 
11013
            Lex->pop_context();
 
11014
            Lex->current_select->parsing_place= NO_MATTER;
 
11015
          }
 
11016
    break;
 
11017
 
 
11018
  case 524:
 
11019
#line 3563 "sql_yacc.yy"
 
11020
    {
 
11021
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
 
11022
          }
 
11023
    break;
 
11024
 
 
11025
  case 525:
 
11026
#line 3567 "sql_yacc.yy"
 
11027
    { add_join_natural((yyvsp[(1) - (8)].table_list),(yyvsp[(3) - (8)].table_list),(yyvsp[(7) - (8)].string_list),Lex->current_select); (yyval.table_list)=(yyvsp[(3) - (8)].table_list); }
 
11028
    break;
 
11029
 
 
11030
  case 526:
 
11031
#line 3569 "sql_yacc.yy"
 
11032
    {
 
11033
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && ((yyval.table_list)=(yyvsp[(4) - (4)].table_list)));
 
11034
            add_join_natural((yyvsp[(1) - (4)].table_list),(yyvsp[(4) - (4)].table_list),NULL,Lex->current_select);
 
11035
          }
 
11036
    break;
 
11037
 
 
11038
  case 527:
 
11039
#line 3577 "sql_yacc.yy"
 
11040
    {
 
11041
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list));
 
11042
            /* Change the current name resolution context to a local context. */
 
11043
            if (push_new_name_resolution_context(YYSession, (yyvsp[(1) - (6)].table_list), (yyvsp[(5) - (6)].table_list)))
 
11044
              DRIZZLE_YYABORT;
 
11045
            Lex->current_select->parsing_place= IN_ON;
 
11046
          }
 
11047
    break;
 
11048
 
 
11049
  case 528:
 
11050
#line 3585 "sql_yacc.yy"
 
11051
    {
 
11052
            add_join_on((yyvsp[(5) - (8)].table_list),(yyvsp[(8) - (8)].item));
 
11053
            Lex->pop_context();
 
11054
            (yyvsp[(5) - (8)].table_list)->outer_join|=JOIN_TYPE_LEFT;
 
11055
            (yyval.table_list)=(yyvsp[(5) - (8)].table_list);
 
11056
            Lex->current_select->parsing_place= NO_MATTER;
 
11057
          }
 
11058
    break;
 
11059
 
 
11060
  case 529:
 
11061
#line 3593 "sql_yacc.yy"
 
11062
    {
 
11063
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list));
 
11064
          }
 
11065
    break;
 
11066
 
 
11067
  case 530:
 
11068
#line 3597 "sql_yacc.yy"
 
11069
    {
 
11070
            add_join_natural((yyvsp[(1) - (10)].table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Lex->current_select);
 
11071
            (yyvsp[(5) - (10)].table_list)->outer_join|=JOIN_TYPE_LEFT;
 
11072
            (yyval.table_list)=(yyvsp[(5) - (10)].table_list);
 
11073
          }
 
11074
    break;
 
11075
 
 
11076
  case 531:
 
11077
#line 3603 "sql_yacc.yy"
 
11078
    {
 
11079
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list));
 
11080
            add_join_natural((yyvsp[(1) - (6)].table_list),(yyvsp[(6) - (6)].table_list),NULL,Lex->current_select);
 
11081
            (yyvsp[(6) - (6)].table_list)->outer_join|=JOIN_TYPE_LEFT;
 
11082
            (yyval.table_list)=(yyvsp[(6) - (6)].table_list);
 
11083
          }
 
11084
    break;
 
11085
 
 
11086
  case 532:
 
11087
#line 3613 "sql_yacc.yy"
 
11088
    {
 
11089
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list));
 
11090
            /* Change the current name resolution context to a local context. */
 
11091
            if (push_new_name_resolution_context(YYSession, (yyvsp[(1) - (6)].table_list), (yyvsp[(5) - (6)].table_list)))
 
11092
              DRIZZLE_YYABORT;
 
11093
            Lex->current_select->parsing_place= IN_ON;
 
11094
          }
 
11095
    break;
 
11096
 
 
11097
  case 533:
 
11098
#line 3621 "sql_yacc.yy"
 
11099
    {
 
11100
            LEX *lex= Lex;
 
11101
            if (!((yyval.table_list)= lex->current_select->convert_right_join()))
 
11102
              DRIZZLE_YYABORT;
 
11103
            add_join_on((yyval.table_list), (yyvsp[(8) - (8)].item));
 
11104
            Lex->pop_context();
 
11105
            Lex->current_select->parsing_place= NO_MATTER;
 
11106
          }
 
11107
    break;
 
11108
 
 
11109
  case 534:
 
11110
#line 3630 "sql_yacc.yy"
 
11111
    {
 
11112
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list));
 
11113
          }
 
11114
    break;
 
11115
 
 
11116
  case 535:
 
11117
#line 3634 "sql_yacc.yy"
 
11118
    {
 
11119
            LEX *lex= Lex;
 
11120
            if (!((yyval.table_list)= lex->current_select->convert_right_join()))
 
11121
              DRIZZLE_YYABORT;
 
11122
            add_join_natural((yyval.table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Lex->current_select);
 
11123
          }
 
11124
    break;
 
11125
 
 
11126
  case 536:
 
11127
#line 3641 "sql_yacc.yy"
 
11128
    {
 
11129
            DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list));
 
11130
            add_join_natural((yyvsp[(6) - (6)].table_list),(yyvsp[(1) - (6)].table_list),NULL,Lex->current_select);
 
11131
            LEX *lex= Lex;
 
11132
            if (!((yyval.table_list)= lex->current_select->convert_right_join()))
 
11133
              DRIZZLE_YYABORT;
 
11134
          }
 
11135
    break;
 
11136
 
 
11137
  case 537:
 
11138
#line 3651 "sql_yacc.yy"
 
11139
    {}
 
11140
    break;
 
11141
 
 
11142
  case 538:
 
11143
#line 3652 "sql_yacc.yy"
 
11144
    {}
 
11145
    break;
 
11146
 
 
11147
  case 539:
 
11148
#line 3653 "sql_yacc.yy"
 
11149
    {}
 
11150
    break;
 
11151
 
 
11152
  case 540:
 
11153
#line 3665 "sql_yacc.yy"
 
11154
    {
 
11155
            Select_Lex *sel= Lex->current_select;
 
11156
            sel->table_join_options= 0;
 
11157
          }
 
11158
    break;
 
11159
 
 
11160
  case 541:
 
11161
#line 3670 "sql_yacc.yy"
 
11162
    {
 
11163
            if (!((yyval.table_list)= Lex->current_select->add_table_to_list(YYSession, (yyvsp[(2) - (4)].table), (yyvsp[(3) - (4)].lex_str_ptr),
 
11164
                             Lex->current_select->get_table_join_options(),
 
11165
                             Lex->lock_option,
 
11166
                             Lex->current_select->pop_index_hints())))
 
11167
              DRIZZLE_YYABORT;
 
11168
            Lex->current_select->add_joined_table((yyval.table_list));
 
11169
          }
 
11170
    break;
 
11171
 
 
11172
  case 542:
 
11173
#line 3679 "sql_yacc.yy"
 
11174
    {
 
11175
            LEX *lex= Lex;
 
11176
            Select_Lex *sel= lex->current_select;
 
11177
            if ((yyvsp[(1) - (3)].num))
 
11178
            {
 
11179
              if (sel->set_braces(1))
 
11180
              {
 
11181
                my_parse_error(ER(ER_SYNTAX_ERROR));
 
11182
                DRIZZLE_YYABORT;
 
11183
              }
 
11184
              /* select in braces, can't contain global parameters */
 
11185
              if (sel->master_unit()->fake_select_lex)
 
11186
                sel->master_unit()->global_parameters=
 
11187
                   sel->master_unit()->fake_select_lex;
 
11188
            }
 
11189
            if ((yyvsp[(2) - (3)].select_lex)->init_nested_join(lex->session))
 
11190
              DRIZZLE_YYABORT;
 
11191
            (yyval.table_list)= 0;
 
11192
            /* incomplete derived tables return NULL, we must be
 
11193
               nested in select_derived rule to be here. */
 
11194
          }
 
11195
    break;
 
11196
 
 
11197
  case 543:
 
11198
#line 3719 "sql_yacc.yy"
 
11199
    {
 
11200
            /* Use $2 instead of Lex->current_select as derived table will
 
11201
               alter value of Lex->current_select. */
 
11202
            if (!((yyvsp[(3) - (5)].table_list) || (yyvsp[(5) - (5)].lex_str_ptr)) && (yyvsp[(2) - (5)].select_lex)->embedding &&
 
11203
                !(yyvsp[(2) - (5)].select_lex)->embedding->nested_join->join_list.elements)
 
11204
            {
 
11205
              /* we have a derived table ($3 == NULL) but no alias,
 
11206
                 Since we are nested in further parentheses so we
 
11207
                 can pass NULL to the outer level parentheses
 
11208
                 Permits parsing of "((((select ...))) as xyz)" */
 
11209
              (yyval.table_list)= 0;
 
11210
            }
 
11211
            else if (!(yyvsp[(3) - (5)].table_list))
 
11212
            {
 
11213
              /* Handle case of derived table, alias may be NULL if there
 
11214
                 are no outer parentheses, add_table_to_list() will throw
 
11215
                 error in this case */
 
11216
              LEX *lex=Lex;
 
11217
              Select_Lex *sel= lex->current_select;
 
11218
              Select_Lex_Unit *unit= sel->master_unit();
 
11219
              lex->current_select= sel= unit->outer_select();
 
11220
              if (!((yyval.table_list)= sel->add_table_to_list(lex->session,
 
11221
                                               new Table_ident(unit), (yyvsp[(5) - (5)].lex_str_ptr), 0,
 
11222
                                               TL_READ)))
 
11223
 
 
11224
                DRIZZLE_YYABORT;
 
11225
              sel->add_joined_table((yyval.table_list));
 
11226
              lex->pop_context();
 
11227
            }
 
11228
            else if (((yyvsp[(3) - (5)].table_list)->select_lex && (yyvsp[(3) - (5)].table_list)->select_lex->master_unit()->is_union()) || (yyvsp[(5) - (5)].lex_str_ptr))
 
11229
            {
 
11230
              /* simple nested joins cannot have aliases or unions */
 
11231
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
11232
              DRIZZLE_YYABORT;
 
11233
            }
 
11234
            else
 
11235
              (yyval.table_list)= (yyvsp[(3) - (5)].table_list);
 
11236
          }
 
11237
    break;
 
11238
 
 
11239
  case 545:
 
11240
#line 3764 "sql_yacc.yy"
 
11241
    {
 
11242
            if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num)))
 
11243
              DRIZZLE_YYABORT;
 
11244
          }
 
11245
    break;
 
11246
 
 
11247
  case 546:
 
11248
#line 3769 "sql_yacc.yy"
 
11249
    {
 
11250
            /*
 
11251
              Remove from the name resolution context stack the context of the
 
11252
              last select in the union.
 
11253
             */
 
11254
            Lex->pop_context();
 
11255
          }
 
11256
    break;
 
11257
 
 
11258
  case 548:
 
11259
#line 3782 "sql_yacc.yy"
 
11260
    {
 
11261
            LEX *lex= Lex;
 
11262
            Select_Lex * sel= lex->current_select;
 
11263
            if (lex->current_select->set_braces(0))
 
11264
            {
 
11265
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
11266
              DRIZZLE_YYABORT;
 
11267
            }
 
11268
            if (sel->linkage == UNION_TYPE &&
 
11269
                sel->master_unit()->first_select()->braces)
 
11270
            {
 
11271
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
11272
              DRIZZLE_YYABORT;
 
11273
            }
 
11274
          }
 
11275
    break;
 
11276
 
 
11277
  case 549:
 
11278
#line 3801 "sql_yacc.yy"
 
11279
    {
 
11280
            LEX *lex= Lex;
 
11281
            Select_Lex *sel= lex->current_select;
 
11282
            if (sel->linkage != UNION_TYPE)
 
11283
              mysql_init_select(lex);
 
11284
            lex->current_select->parsing_place= SELECT_LIST;
 
11285
          }
 
11286
    break;
 
11287
 
 
11288
  case 550:
 
11289
#line 3809 "sql_yacc.yy"
 
11290
    {
 
11291
            Lex->current_select->parsing_place= NO_MATTER;
 
11292
          }
 
11293
    break;
 
11294
 
 
11295
  case 552:
 
11296
#line 3818 "sql_yacc.yy"
 
11297
    {
 
11298
            LEX *lex= Lex;
 
11299
            if ((yyvsp[(1) - (1)].select_lex)->init_nested_join(lex->session))
 
11300
              DRIZZLE_YYABORT;
 
11301
          }
 
11302
    break;
 
11303
 
 
11304
  case 553:
 
11305
#line 3824 "sql_yacc.yy"
 
11306
    {
 
11307
            LEX *lex= Lex;
 
11308
            /* for normal joins, $3 != NULL and end_nested_join() != NULL,
 
11309
               for derived tables, both must equal NULL */
 
11310
 
 
11311
            if (!((yyval.table_list)= (yyvsp[(1) - (3)].select_lex)->end_nested_join(lex->session)) && (yyvsp[(3) - (3)].table_list))
 
11312
              DRIZZLE_YYABORT;
 
11313
            if (!(yyvsp[(3) - (3)].table_list) && (yyval.table_list))
 
11314
            {
 
11315
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
11316
              DRIZZLE_YYABORT;
 
11317
            }
 
11318
          }
 
11319
    break;
 
11320
 
 
11321
  case 554:
 
11322
#line 3840 "sql_yacc.yy"
 
11323
    {
 
11324
            LEX *lex= Lex;
 
11325
            lex->derived_tables|= DERIVED_SUBQUERY;
 
11326
            if (!lex->expr_allows_subselect)
 
11327
            {
 
11328
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
11329
              DRIZZLE_YYABORT;
 
11330
            }
 
11331
            if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE ||
 
11332
                mysql_new_select(lex, 1))
 
11333
              DRIZZLE_YYABORT;
 
11334
            mysql_init_select(lex);
 
11335
            lex->current_select->linkage= DERIVED_TABLE_TYPE;
 
11336
            lex->current_select->parsing_place= SELECT_LIST;
 
11337
          }
 
11338
    break;
 
11339
 
 
11340
  case 555:
 
11341
#line 3856 "sql_yacc.yy"
 
11342
    {
 
11343
            Lex->current_select->parsing_place= NO_MATTER;
 
11344
          }
 
11345
    break;
 
11346
 
 
11347
  case 557:
 
11348
#line 3863 "sql_yacc.yy"
 
11349
    { (yyval.select_lex)= Lex->current_select; }
 
11350
    break;
 
11351
 
 
11352
  case 558:
 
11353
#line 3868 "sql_yacc.yy"
 
11354
    {
 
11355
            LEX *lex= Lex;
 
11356
 
 
11357
            Select_Lex *sel= lex->current_select;
 
11358
            TableList *embedding;
 
11359
            if (!sel->embedding || sel->end_nested_join(lex->session))
 
11360
            {
 
11361
              /* we are not in parentheses */
 
11362
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
11363
              DRIZZLE_YYABORT;
 
11364
            }
 
11365
            embedding= Lex->current_select->embedding;
 
11366
            (yyval.num)= embedding &&
 
11367
                !embedding->nested_join->join_list.elements;
 
11368
            /* return true if we are deeply nested */
 
11369
          }
 
11370
    break;
 
11371
 
 
11372
  case 559:
 
11373
#line 3887 "sql_yacc.yy"
 
11374
    {}
 
11375
    break;
 
11376
 
 
11377
  case 560:
 
11378
#line 3888 "sql_yacc.yy"
 
11379
    {}
 
11380
    break;
 
11381
 
 
11382
  case 561:
 
11383
#line 3893 "sql_yacc.yy"
 
11384
    {
 
11385
            (yyval.num)= INDEX_HINT_MASK_ALL;
 
11386
          }
 
11387
    break;
 
11388
 
 
11389
  case 562:
 
11390
#line 3896 "sql_yacc.yy"
 
11391
    { (yyval.num)= INDEX_HINT_MASK_JOIN;  }
 
11392
    break;
 
11393
 
 
11394
  case 563:
 
11395
#line 3897 "sql_yacc.yy"
 
11396
    { (yyval.num)= INDEX_HINT_MASK_ORDER; }
 
11397
    break;
 
11398
 
 
11399
  case 564:
 
11400
#line 3898 "sql_yacc.yy"
 
11401
    { (yyval.num)= INDEX_HINT_MASK_GROUP; }
 
11402
    break;
 
11403
 
 
11404
  case 565:
 
11405
#line 3902 "sql_yacc.yy"
 
11406
    { (yyval.index_hint)= INDEX_HINT_FORCE; }
 
11407
    break;
 
11408
 
 
11409
  case 566:
 
11410
#line 3903 "sql_yacc.yy"
 
11411
    { (yyval.index_hint)= INDEX_HINT_IGNORE; }
 
11412
    break;
 
11413
 
 
11414
  case 567:
 
11415
#line 3908 "sql_yacc.yy"
 
11416
    {
 
11417
            Lex->current_select->set_index_hint_type((yyvsp[(1) - (3)].index_hint), (yyvsp[(3) - (3)].num));
 
11418
          }
 
11419
    break;
 
11420
 
 
11421
  case 569:
 
11422
#line 3913 "sql_yacc.yy"
 
11423
    {
 
11424
            Lex->current_select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[(3) - (3)].num));
 
11425
          }
 
11426
    break;
 
11427
 
 
11428
  case 574:
 
11429
#line 3926 "sql_yacc.yy"
 
11430
    { Lex->current_select->alloc_index_hints(YYSession); }
 
11431
    break;
 
11432
 
 
11433
  case 576:
 
11434
#line 3930 "sql_yacc.yy"
 
11435
    {  Lex->current_select->clear_index_hints(); }
 
11436
    break;
 
11437
 
 
11438
  case 578:
 
11439
#line 3935 "sql_yacc.yy"
 
11440
    { Lex->current_select->add_index_hint(YYSession, NULL, 0); }
 
11441
    break;
 
11442
 
 
11443
  case 579:
 
11444
#line 3936 "sql_yacc.yy"
 
11445
    {}
 
11446
    break;
 
11447
 
 
11448
  case 580:
 
11449
#line 3941 "sql_yacc.yy"
 
11450
    { Lex->current_select->add_index_hint(YYSession, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
 
11451
    break;
 
11452
 
 
11453
  case 581:
 
11454
#line 3943 "sql_yacc.yy"
 
11455
    { Lex->current_select->add_index_hint(YYSession, (char *)"PRIMARY", 7); }
 
11456
    break;
 
11457
 
 
11458
  case 584:
 
11459
#line 3953 "sql_yacc.yy"
 
11460
    {
 
11461
            if (!((yyval.string_list)= new List<String>))
 
11462
              DRIZZLE_YYABORT;
 
11463
            (yyval.string_list)->push_back(new (YYSession->mem_root)
 
11464
                              String((const char *) (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length,
 
11465
                                      system_charset_info));
 
11466
          }
 
11467
    break;
 
11468
 
 
11469
  case 585:
 
11470
#line 3961 "sql_yacc.yy"
 
11471
    {
 
11472
            (yyvsp[(1) - (3)].string_list)->push_back(new (YYSession->mem_root)
 
11473
                              String((const char *) (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length,
 
11474
                                      system_charset_info));
 
11475
            (yyval.string_list)= (yyvsp[(1) - (3)].string_list);
 
11476
          }
 
11477
    break;
 
11478
 
 
11479
  case 586:
 
11480
#line 3970 "sql_yacc.yy"
 
11481
    {}
 
11482
    break;
 
11483
 
 
11484
  case 587:
 
11485
#line 3971 "sql_yacc.yy"
 
11486
    { (yyval.interval)=INTERVAL_DAY_HOUR; }
 
11487
    break;
 
11488
 
 
11489
  case 588:
 
11490
#line 3972 "sql_yacc.yy"
 
11491
    { (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
 
11492
    break;
 
11493
 
 
11494
  case 589:
 
11495
#line 3973 "sql_yacc.yy"
 
11496
    { (yyval.interval)=INTERVAL_DAY_MINUTE; }
 
11497
    break;
 
11498
 
 
11499
  case 590:
 
11500
#line 3974 "sql_yacc.yy"
 
11501
    { (yyval.interval)=INTERVAL_DAY_SECOND; }
 
11502
    break;
 
11503
 
 
11504
  case 591:
 
11505
#line 3975 "sql_yacc.yy"
 
11506
    { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
 
11507
    break;
 
11508
 
 
11509
  case 592:
 
11510
#line 3976 "sql_yacc.yy"
 
11511
    { (yyval.interval)=INTERVAL_HOUR_MINUTE; }
 
11512
    break;
 
11513
 
 
11514
  case 593:
 
11515
#line 3977 "sql_yacc.yy"
 
11516
    { (yyval.interval)=INTERVAL_HOUR_SECOND; }
 
11517
    break;
 
11518
 
 
11519
  case 594:
 
11520
#line 3978 "sql_yacc.yy"
 
11521
    { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
 
11522
    break;
 
11523
 
 
11524
  case 595:
 
11525
#line 3979 "sql_yacc.yy"
 
11526
    { (yyval.interval)=INTERVAL_MINUTE_SECOND; }
 
11527
    break;
 
11528
 
 
11529
  case 596:
 
11530
#line 3980 "sql_yacc.yy"
 
11531
    { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
 
11532
    break;
 
11533
 
 
11534
  case 597:
 
11535
#line 3981 "sql_yacc.yy"
 
11536
    { (yyval.interval)=INTERVAL_YEAR_MONTH; }
 
11537
    break;
 
11538
 
 
11539
  case 598:
 
11540
#line 3985 "sql_yacc.yy"
 
11541
    {}
 
11542
    break;
 
11543
 
 
11544
  case 599:
 
11545
#line 3986 "sql_yacc.yy"
 
11546
    {
 
11547
                                  (yyval.interval_time_st)=INTERVAL_MICROSECOND;
 
11548
                                  /*
 
11549
                                    FRAC_SECOND was mistakenly implemented with
 
11550
                                    a wrong resolution. According to the ODBC
 
11551
                                    standard it should be nanoseconds, not
 
11552
                                    microseconds. Changing it to nanoseconds
 
11553
                                    in MySQL would mean making TIMESTAMPDIFF
 
11554
                                    and TIMESTAMPADD to return DECIMAL, since
 
11555
                                    the return value would be too big for BIGINT
 
11556
                                    Hence we just deprecate the incorrect
 
11557
                                    implementation without changing its
 
11558
                                    resolution.
 
11559
                                  */
 
11560
                                }
 
11561
    break;
 
11562
 
 
11563
  case 600:
 
11564
#line 4004 "sql_yacc.yy"
 
11565
    { (yyval.interval_time_st)=INTERVAL_DAY; }
 
11566
    break;
 
11567
 
 
11568
  case 601:
 
11569
#line 4005 "sql_yacc.yy"
 
11570
    { (yyval.interval_time_st)=INTERVAL_WEEK; }
 
11571
    break;
 
11572
 
 
11573
  case 602:
 
11574
#line 4006 "sql_yacc.yy"
 
11575
    { (yyval.interval_time_st)=INTERVAL_HOUR; }
 
11576
    break;
 
11577
 
 
11578
  case 603:
 
11579
#line 4007 "sql_yacc.yy"
 
11580
    { (yyval.interval_time_st)=INTERVAL_MINUTE; }
 
11581
    break;
 
11582
 
 
11583
  case 604:
 
11584
#line 4008 "sql_yacc.yy"
 
11585
    { (yyval.interval_time_st)=INTERVAL_MONTH; }
 
11586
    break;
 
11587
 
 
11588
  case 605:
 
11589
#line 4009 "sql_yacc.yy"
 
11590
    { (yyval.interval_time_st)=INTERVAL_QUARTER; }
 
11591
    break;
 
11592
 
 
11593
  case 606:
 
11594
#line 4010 "sql_yacc.yy"
 
11595
    { (yyval.interval_time_st)=INTERVAL_SECOND; }
 
11596
    break;
 
11597
 
 
11598
  case 607:
 
11599
#line 4011 "sql_yacc.yy"
 
11600
    { (yyval.interval_time_st)=INTERVAL_MICROSECOND; }
 
11601
    break;
 
11602
 
 
11603
  case 608:
 
11604
#line 4012 "sql_yacc.yy"
 
11605
    { (yyval.interval_time_st)=INTERVAL_YEAR; }
 
11606
    break;
 
11607
 
 
11608
  case 612:
 
11609
#line 4022 "sql_yacc.yy"
 
11610
    { (yyval.lex_str_ptr)=0; }
 
11611
    break;
 
11612
 
 
11613
  case 613:
 
11614
#line 4024 "sql_yacc.yy"
 
11615
    { (yyval.lex_str_ptr)= (drizzled::LEX_STRING*) memory::sql_memdup(&(yyvsp[(2) - (2)].lex_str),sizeof(drizzled::LEX_STRING)); }
 
11616
    break;
 
11617
 
 
11618
  case 616:
 
11619
#line 4033 "sql_yacc.yy"
 
11620
    { Lex->current_select->where= 0; }
 
11621
    break;
 
11622
 
 
11623
  case 617:
 
11624
#line 4035 "sql_yacc.yy"
 
11625
    {
 
11626
            Lex->current_select->parsing_place= IN_WHERE;
 
11627
          }
 
11628
    break;
 
11629
 
 
11630
  case 618:
 
11631
#line 4039 "sql_yacc.yy"
 
11632
    {
 
11633
            Select_Lex *select= Lex->current_select;
 
11634
            select->where= (yyvsp[(3) - (3)].item);
 
11635
            select->parsing_place= NO_MATTER;
 
11636
            if ((yyvsp[(3) - (3)].item))
 
11637
              (yyvsp[(3) - (3)].item)->top_level_item();
 
11638
          }
 
11639
    break;
 
11640
 
 
11641
  case 620:
 
11642
#line 4051 "sql_yacc.yy"
 
11643
    {
 
11644
            Lex->current_select->parsing_place= IN_HAVING;
 
11645
          }
 
11646
    break;
 
11647
 
 
11648
  case 621:
 
11649
#line 4055 "sql_yacc.yy"
 
11650
    {
 
11651
            Select_Lex *sel= Lex->current_select;
 
11652
            sel->having= (yyvsp[(3) - (3)].item);
 
11653
            sel->parsing_place= NO_MATTER;
 
11654
            if ((yyvsp[(3) - (3)].item))
 
11655
              (yyvsp[(3) - (3)].item)->top_level_item();
 
11656
          }
 
11657
    break;
 
11658
 
 
11659
  case 622:
 
11660
#line 4066 "sql_yacc.yy"
 
11661
    {
 
11662
            Lex->escape_used= true;
 
11663
            (yyval.item)= (yyvsp[(2) - (2)].item);
 
11664
          }
 
11665
    break;
 
11666
 
 
11667
  case 623:
 
11668
#line 4071 "sql_yacc.yy"
 
11669
    {
 
11670
            Lex->escape_used= false;
 
11671
            (yyval.item)= new Item_string("\\", 1, &my_charset_utf8_general_ci);
 
11672
          }
 
11673
    break;
 
11674
 
 
11675
  case 626:
 
11676
#line 4088 "sql_yacc.yy"
 
11677
    { if (YYSession->add_group_to_list((yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) DRIZZLE_YYABORT; }
 
11678
    break;
 
11679
 
 
11680
  case 627:
 
11681
#line 4090 "sql_yacc.yy"
 
11682
    { if (YYSession->add_group_to_list((yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) DRIZZLE_YYABORT; }
 
11683
    break;
 
11684
 
 
11685
  case 628:
 
11686
#line 4094 "sql_yacc.yy"
 
11687
    {}
 
11688
    break;
 
11689
 
 
11690
  case 629:
 
11691
#line 4096 "sql_yacc.yy"
 
11692
    {
 
11693
            /*
 
11694
              'WITH ROLLUP' is needed for backward compatibility,
 
11695
              and cause LALR(2) conflicts.
 
11696
              This syntax is not standard.
 
11697
              MySQL syntax: GROUP BY col1, col2, col3 WITH ROLLUP
 
11698
              SQL-2003: GROUP BY ... ROLLUP(col1, col2, col3)
 
11699
            */
 
11700
            LEX *lex= Lex;
 
11701
            if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
 
11702
            {
 
11703
              my_error(ER_WRONG_USAGE, MYF(0), "WITH ROLLUP",
 
11704
                       "global union parameters");
 
11705
              DRIZZLE_YYABORT;
 
11706
            }
 
11707
            lex->current_select->olap= ROLLUP_TYPE;
 
11708
          }
 
11709
    break;
 
11710
 
 
11711
  case 633:
 
11712
#line 4130 "sql_yacc.yy"
 
11713
    {
 
11714
            Session *session= YYSession;
 
11715
            bool ascending= ((yyvsp[(2) - (2)].num) == 1) ? true : false;
 
11716
            if (session->add_order_to_list((yyvsp[(1) - (2)].item), ascending))
 
11717
              DRIZZLE_YYABORT;
 
11718
          }
 
11719
    break;
 
11720
 
 
11721
  case 636:
 
11722
#line 4149 "sql_yacc.yy"
 
11723
    {
 
11724
            LEX *lex=Lex;
 
11725
            Select_Lex *sel= lex->current_select;
 
11726
            Select_Lex_Unit *unit= sel-> master_unit();
 
11727
            if (sel->linkage != GLOBAL_OPTIONS_TYPE &&
 
11728
                sel->olap != UNSPECIFIED_OLAP_TYPE &&
 
11729
                (sel->linkage != UNION_TYPE || sel->braces))
 
11730
            {
 
11731
              my_error(ER_WRONG_USAGE, MYF(0),
 
11732
                       "CUBE/ROLLUP", "ORDER BY");
 
11733
              DRIZZLE_YYABORT;
 
11734
            }
 
11735
            if (lex->sql_command != SQLCOM_ALTER_TABLE && !unit->fake_select_lex)
 
11736
            {
 
11737
              /*
 
11738
                A query of the of the form (SELECT ...) ORDER BY order_list is
 
11739
                executed in the same way as the query
 
11740
                SELECT ... ORDER BY order_list
 
11741
                unless the SELECT construct contains ORDER BY or LIMIT clauses.
 
11742
                Otherwise we create a fake Select_Lex if it has not been created
 
11743
                yet.
 
11744
              */
 
11745
              Select_Lex *first_sl= unit->first_select();
 
11746
              if (!unit->is_union() &&
 
11747
                  (first_sl->order_list.elements ||
 
11748
                   first_sl->select_limit) &&           
 
11749
                  unit->add_fake_select_lex(lex->session))
 
11750
                DRIZZLE_YYABORT;
 
11751
            }
 
11752
          }
 
11753
    break;
 
11754
 
 
11755
  case 638:
 
11756
#line 4184 "sql_yacc.yy"
 
11757
    { if (YYSession->add_order_to_list((yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) DRIZZLE_YYABORT; }
 
11758
    break;
 
11759
 
 
11760
  case 639:
 
11761
#line 4186 "sql_yacc.yy"
 
11762
    { if (YYSession->add_order_to_list((yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) DRIZZLE_YYABORT; }
 
11763
    break;
 
11764
 
 
11765
  case 640:
 
11766
#line 4190 "sql_yacc.yy"
 
11767
    { (yyval.num) =  1; }
 
11768
    break;
 
11769
 
 
11770
  case 641:
 
11771
#line 4191 "sql_yacc.yy"
 
11772
    { (yyval.num) =1; }
 
11773
    break;
 
11774
 
 
11775
  case 642:
 
11776
#line 4192 "sql_yacc.yy"
 
11777
    { (yyval.num) =0; }
 
11778
    break;
 
11779
 
 
11780
  case 643:
 
11781
#line 4197 "sql_yacc.yy"
 
11782
    {
 
11783
            LEX *lex= Lex;
 
11784
            Select_Lex *sel= lex->current_select;
 
11785
            sel->offset_limit= 0;
 
11786
            sel->select_limit= 0;
 
11787
          }
 
11788
    break;
 
11789
 
 
11790
  case 644:
 
11791
#line 4203 "sql_yacc.yy"
 
11792
    {}
 
11793
    break;
 
11794
 
 
11795
  case 645:
 
11796
#line 4207 "sql_yacc.yy"
 
11797
    {}
 
11798
    break;
 
11799
 
 
11800
  case 646:
 
11801
#line 4208 "sql_yacc.yy"
 
11802
    {}
 
11803
    break;
 
11804
 
 
11805
  case 647:
 
11806
#line 4212 "sql_yacc.yy"
 
11807
    {}
 
11808
    break;
 
11809
 
 
11810
  case 648:
 
11811
#line 4217 "sql_yacc.yy"
 
11812
    {
 
11813
            Select_Lex *sel= Lex->current_select;
 
11814
            sel->select_limit= (yyvsp[(1) - (1)].item);
 
11815
            sel->offset_limit= 0;
 
11816
            sel->explicit_limit= 1;
 
11817
          }
 
11818
    break;
 
11819
 
 
11820
  case 649:
 
11821
#line 4224 "sql_yacc.yy"
 
11822
    {
 
11823
            Select_Lex *sel= Lex->current_select;
 
11824
            sel->select_limit= (yyvsp[(3) - (3)].item);
 
11825
            sel->offset_limit= (yyvsp[(1) - (3)].item);
 
11826
            sel->explicit_limit= 1;
 
11827
          }
 
11828
    break;
 
11829
 
 
11830
  case 650:
 
11831
#line 4231 "sql_yacc.yy"
 
11832
    {
 
11833
            Select_Lex *sel= Lex->current_select;
 
11834
            sel->select_limit= (yyvsp[(1) - (3)].item);
 
11835
            sel->offset_limit= (yyvsp[(3) - (3)].item);
 
11836
            sel->explicit_limit= 1;
 
11837
          }
 
11838
    break;
 
11839
 
 
11840
  case 651:
 
11841
#line 4240 "sql_yacc.yy"
 
11842
    { (yyval.item)= new Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
 
11843
    break;
 
11844
 
 
11845
  case 652:
 
11846
#line 4241 "sql_yacc.yy"
 
11847
    { (yyval.item)= new Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
 
11848
    break;
 
11849
 
 
11850
  case 653:
 
11851
#line 4242 "sql_yacc.yy"
 
11852
    { (yyval.item)= new Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
 
11853
    break;
 
11854
 
 
11855
  case 654:
 
11856
#line 4247 "sql_yacc.yy"
 
11857
    {
 
11858
            LEX *lex=Lex;
 
11859
            lex->current_select->select_limit= 0;
 
11860
          }
 
11861
    break;
 
11862
 
 
11863
  case 655:
 
11864
#line 4252 "sql_yacc.yy"
 
11865
    {
 
11866
            Select_Lex *sel= Lex->current_select;
 
11867
            sel->select_limit= (yyvsp[(2) - (2)].item);
 
11868
            sel->explicit_limit= 1;
 
11869
          }
 
11870
    break;
 
11871
 
 
11872
  case 656:
 
11873
#line 4260 "sql_yacc.yy"
 
11874
    { int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11875
    break;
 
11876
 
 
11877
  case 657:
 
11878
#line 4261 "sql_yacc.yy"
 
11879
    { (yyval.ulong_num)= (ulong) strtol((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); }
 
11880
    break;
 
11881
 
 
11882
  case 658:
 
11883
#line 4262 "sql_yacc.yy"
 
11884
    { int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11885
    break;
 
11886
 
 
11887
  case 659:
 
11888
#line 4263 "sql_yacc.yy"
 
11889
    { int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11890
    break;
 
11891
 
 
11892
  case 660:
 
11893
#line 4264 "sql_yacc.yy"
 
11894
    { int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11895
    break;
 
11896
 
 
11897
  case 661:
 
11898
#line 4265 "sql_yacc.yy"
 
11899
    { int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11900
    break;
 
11901
 
 
11902
  case 662:
 
11903
#line 4269 "sql_yacc.yy"
 
11904
    { int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11905
    break;
 
11906
 
 
11907
  case 663:
 
11908
#line 4270 "sql_yacc.yy"
 
11909
    { int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11910
    break;
 
11911
 
 
11912
  case 664:
 
11913
#line 4271 "sql_yacc.yy"
 
11914
    { int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11915
    break;
 
11916
 
 
11917
  case 665:
 
11918
#line 4272 "sql_yacc.yy"
 
11919
    { int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11920
    break;
 
11921
 
 
11922
  case 666:
 
11923
#line 4273 "sql_yacc.yy"
 
11924
    { int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
 
11925
    break;
 
11926
 
 
11927
  case 667:
 
11928
#line 4277 "sql_yacc.yy"
 
11929
    {
 
11930
            LEX *lex=Lex;
 
11931
            if (!lex->describe && (!(lex->result= new select_dumpvar())))
 
11932
              DRIZZLE_YYABORT;
 
11933
          }
 
11934
    break;
 
11935
 
 
11936
  case 668:
 
11937
#line 4283 "sql_yacc.yy"
 
11938
    {}
 
11939
    break;
 
11940
 
 
11941
  case 670:
 
11942
#line 4288 "sql_yacc.yy"
 
11943
    {}
 
11944
    break;
 
11945
 
 
11946
  case 671:
 
11947
#line 4293 "sql_yacc.yy"
 
11948
    {
 
11949
            LEX *lex=Lex;
 
11950
            if (lex->result)
 
11951
              ((select_dumpvar *)lex->result)->var_list.push_back( new my_var((yyvsp[(2) - (2)].lex_str),0,0,(enum_field_types)0));
 
11952
            else
 
11953
              /*
 
11954
                The parser won't create select_result instance only
 
11955
                if it's an EXPLAIN.
 
11956
              */
 
11957
              assert(lex->describe);
 
11958
          }
 
11959
    break;
 
11960
 
 
11961
  case 672:
 
11962
#line 4308 "sql_yacc.yy"
 
11963
    { }
 
11964
    break;
 
11965
 
 
11966
  case 674:
 
11967
#line 4314 "sql_yacc.yy"
 
11968
    {
 
11969
            LEX *lex= Lex;
 
11970
            if (!(lex->exchange= new file_exchange((yyvsp[(2) - (2)].lex_str).str, 0)) ||
 
11971
                !(lex->result= new select_export(lex->exchange)))
 
11972
              DRIZZLE_YYABORT;
 
11973
          }
 
11974
    break;
 
11975
 
 
11976
  case 676:
 
11977
#line 4322 "sql_yacc.yy"
 
11978
    {
 
11979
            LEX *lex=Lex;
 
11980
            if (!lex->describe)
 
11981
            {
 
11982
              if (!(lex->exchange= new file_exchange((yyvsp[(2) - (2)].lex_str).str,1)))
 
11983
                DRIZZLE_YYABORT;
 
11984
              if (!(lex->result= new select_dump(lex->exchange)))
 
11985
                DRIZZLE_YYABORT;
 
11986
            }
 
11987
          }
 
11988
    break;
 
11989
 
 
11990
  case 677:
 
11991
#line 4333 "sql_yacc.yy"
 
11992
    { }
 
11993
    break;
 
11994
 
 
11995
  case 678:
 
11996
#line 4342 "sql_yacc.yy"
 
11997
    {
 
11998
            LEX *lex=Lex;
 
11999
            lex->sql_command = SQLCOM_DROP_TABLE;
 
12000
            statement::DropTable *statement= new(std::nothrow) statement::DropTable(YYSession);
 
12001
            lex->statement= statement;
 
12002
            if (lex->statement == NULL)
 
12003
              DRIZZLE_YYABORT;
 
12004
            statement->drop_temporary= (yyvsp[(2) - (5)].num);
 
12005
            statement->drop_if_exists= (yyvsp[(4) - (5)].num);
 
12006
          }
 
12007
    break;
 
12008
 
 
12009
  case 679:
 
12010
#line 4352 "sql_yacc.yy"
 
12011
    {}
 
12012
    break;
 
12013
 
 
12014
  case 680:
 
12015
#line 4353 "sql_yacc.yy"
 
12016
    {
 
12017
            LEX *lex=Lex;
 
12018
            lex->sql_command= SQLCOM_DROP_INDEX;
 
12019
            statement::DropIndex *statement= new(std::nothrow) statement::DropIndex(YYSession);
 
12020
            lex->statement= statement;
 
12021
            if (lex->statement == NULL)
 
12022
              DRIZZLE_YYABORT;
 
12023
            statement->alter_info.flags.set(ALTER_DROP_INDEX);
 
12024
            statement->alter_info.build_method= (yyvsp[(2) - (7)].build_method);
 
12025
            statement->alter_info.drop_list.push_back(new AlterDrop(AlterDrop::KEY, (yyvsp[(4) - (7)].lex_str).str));
 
12026
            if (!lex->current_select->add_table_to_list(lex->session, (yyvsp[(6) - (7)].table), NULL,
 
12027
                                                        TL_OPTION_UPDATING))
 
12028
              DRIZZLE_YYABORT;
 
12029
          }
 
12030
    break;
 
12031
 
 
12032
  case 681:
 
12033
#line 4368 "sql_yacc.yy"
 
12034
    {
 
12035
            LEX *lex=Lex;
 
12036
            lex->sql_command= SQLCOM_DROP_DB;
 
12037
            statement::DropSchema *statement= new(std::nothrow) statement::DropSchema(YYSession);
 
12038
            lex->statement= statement;
 
12039
            if (lex->statement == NULL)
 
12040
              DRIZZLE_YYABORT;
 
12041
            statement->drop_if_exists=(yyvsp[(3) - (4)].num);
 
12042
            lex->name= (yyvsp[(4) - (4)].lex_str);
 
12043
          }
 
12044
    break;
 
12045
 
 
12046
  case 684:
 
12047
#line 4385 "sql_yacc.yy"
 
12048
    {
 
12049
            if (!Lex->current_select->add_table_to_list(YYSession, (yyvsp[(1) - (1)].table), NULL, TL_OPTION_UPDATING))
 
12050
              DRIZZLE_YYABORT;
 
12051
          }
 
12052
    break;
 
12053
 
 
12054
  case 685:
 
12055
#line 4392 "sql_yacc.yy"
 
12056
    { (yyval.num)= 0; }
 
12057
    break;
 
12058
 
 
12059
  case 686:
 
12060
#line 4393 "sql_yacc.yy"
 
12061
    { (yyval.num)= 1; }
 
12062
    break;
 
12063
 
 
12064
  case 687:
 
12065
#line 4397 "sql_yacc.yy"
 
12066
    { (yyval.num)= 0; }
 
12067
    break;
 
12068
 
 
12069
  case 688:
 
12070
#line 4398 "sql_yacc.yy"
 
12071
    { (yyval.num)= 1; }
 
12072
    break;
 
12073
 
 
12074
  case 689:
 
12075
#line 4406 "sql_yacc.yy"
 
12076
    {
 
12077
            LEX *lex= Lex;
 
12078
            lex->sql_command= SQLCOM_INSERT;
 
12079
            lex->statement= new(std::nothrow) statement::Insert(YYSession);
 
12080
            if (lex->statement == NULL)
 
12081
              DRIZZLE_YYABORT;
 
12082
            lex->duplicates= DUP_ERROR;
 
12083
            mysql_init_select(lex);
 
12084
            /* for subselects */
 
12085
            lex->lock_option= TL_READ;
 
12086
          }
 
12087
    break;
 
12088
 
 
12089
  case 690:
 
12090
#line 4418 "sql_yacc.yy"
 
12091
    {
 
12092
            Lex->current_select->set_lock_for_tables(TL_WRITE_CONCURRENT_INSERT);
 
12093
            Lex->current_select= &Lex->select_lex;
 
12094
          }
 
12095
    break;
 
12096
 
 
12097
  case 691:
 
12098
#line 4423 "sql_yacc.yy"
 
12099
    {}
 
12100
    break;
 
12101
 
 
12102
  case 692:
 
12103
#line 4428 "sql_yacc.yy"
 
12104
    {
 
12105
            LEX *lex= Lex;
 
12106
            lex->sql_command= SQLCOM_REPLACE;
 
12107
            lex->statement= new(std::nothrow) statement::Replace(YYSession);
 
12108
            if (lex->statement == NULL)
 
12109
              DRIZZLE_YYABORT;
 
12110
            lex->duplicates= DUP_REPLACE;
 
12111
            mysql_init_select(lex);
 
12112
          }
 
12113
    break;
 
12114
 
 
12115
  case 693:
 
12116
#line 4438 "sql_yacc.yy"
 
12117
    {
 
12118
            Lex->current_select->set_lock_for_tables(TL_WRITE_DEFAULT);
 
12119
            Lex->current_select= &Lex->select_lex;
 
12120
          }
 
12121
    break;
 
12122
 
 
12123
  case 694:
 
12124
#line 4443 "sql_yacc.yy"
 
12125
    {}
 
12126
    break;
 
12127
 
 
12128
  case 695:
 
12129
#line 4447 "sql_yacc.yy"
 
12130
    {}
 
12131
    break;
 
12132
 
 
12133
  case 696:
 
12134
#line 4448 "sql_yacc.yy"
 
12135
    {}
 
12136
    break;
 
12137
 
 
12138
  case 697:
 
12139
#line 4453 "sql_yacc.yy"
 
12140
    {
 
12141
            LEX *lex=Lex;
 
12142
            lex->field_list.empty();
 
12143
            lex->many_values.empty();
 
12144
            lex->insert_list=0;
 
12145
          }
 
12146
    break;
 
12147
 
 
12148
  case 698:
 
12149
#line 4461 "sql_yacc.yy"
 
12150
    {}
 
12151
    break;
 
12152
 
 
12153
  case 699:
 
12154
#line 4462 "sql_yacc.yy"
 
12155
    {}
 
12156
    break;
 
12157
 
 
12158
  case 700:
 
12159
#line 4463 "sql_yacc.yy"
 
12160
    {}
 
12161
    break;
 
12162
 
 
12163
  case 701:
 
12164
#line 4465 "sql_yacc.yy"
 
12165
    {
 
12166
            LEX *lex=Lex;
 
12167
            if (!(lex->insert_list = new List_item) ||
 
12168
                lex->many_values.push_back(lex->insert_list))
 
12169
              DRIZZLE_YYABORT;
 
12170
          }
 
12171
    break;
 
12172
 
 
12173
  case 703:
 
12174
#line 4475 "sql_yacc.yy"
 
12175
    { Lex->field_list.push_back((yyvsp[(3) - (3)].item)); }
 
12176
    break;
 
12177
 
 
12178
  case 704:
 
12179
#line 4476 "sql_yacc.yy"
 
12180
    { Lex->field_list.push_back((yyvsp[(1) - (1)].item)); }
 
12181
    break;
 
12182
 
 
12183
  case 705:
 
12184
#line 4480 "sql_yacc.yy"
 
12185
    {}
 
12186
    break;
 
12187
 
 
12188
  case 706:
 
12189
#line 4481 "sql_yacc.yy"
 
12190
    {}
 
12191
    break;
 
12192
 
 
12193
  case 707:
 
12194
#line 4483 "sql_yacc.yy"
 
12195
    { Lex->current_select->set_braces(0);}
 
12196
    break;
 
12197
 
 
12198
  case 708:
 
12199
#line 4484 "sql_yacc.yy"
 
12200
    {}
 
12201
    break;
 
12202
 
 
12203
  case 709:
 
12204
#line 4486 "sql_yacc.yy"
 
12205
    { Lex->current_select->set_braces(1);}
 
12206
    break;
 
12207
 
 
12208
  case 710:
 
12209
#line 4487 "sql_yacc.yy"
 
12210
    {}
 
12211
    break;
 
12212
 
 
12213
  case 715:
 
12214
#line 4502 "sql_yacc.yy"
 
12215
    {
 
12216
            LEX *lex=Lex;
 
12217
            if (lex->field_list.push_back((yyvsp[(1) - (3)].item)) ||
 
12218
                lex->insert_list->push_back((yyvsp[(3) - (3)].item)))
 
12219
              DRIZZLE_YYABORT;
 
12220
          }
 
12221
    break;
 
12222
 
 
12223
  case 716:
 
12224
#line 4511 "sql_yacc.yy"
 
12225
    {}
 
12226
    break;
 
12227
 
 
12228
  case 717:
 
12229
#line 4512 "sql_yacc.yy"
 
12230
    {}
 
12231
    break;
 
12232
 
 
12233
  case 718:
 
12234
#line 4516 "sql_yacc.yy"
 
12235
    {}
 
12236
    break;
 
12237
 
 
12238
  case 719:
 
12239
#line 4517 "sql_yacc.yy"
 
12240
    {}
 
12241
    break;
 
12242
 
 
12243
  case 720:
 
12244
#line 4522 "sql_yacc.yy"
 
12245
    {
 
12246
              if (!(Lex->insert_list = new List_item))
 
12247
                DRIZZLE_YYABORT;
 
12248
          }
 
12249
    break;
 
12250
 
 
12251
  case 721:
 
12252
#line 4527 "sql_yacc.yy"
 
12253
    {
 
12254
            LEX *lex=Lex;
 
12255
            if (lex->many_values.push_back(lex->insert_list))
 
12256
              DRIZZLE_YYABORT;
 
12257
          }
 
12258
    break;
 
12259
 
 
12260
  case 722:
 
12261
#line 4535 "sql_yacc.yy"
 
12262
    {}
 
12263
    break;
 
12264
 
 
12265
  case 724:
 
12266
#line 4541 "sql_yacc.yy"
 
12267
    {
 
12268
            if (Lex->insert_list->push_back((yyvsp[(3) - (3)].item)))
 
12269
              DRIZZLE_YYABORT;
 
12270
          }
 
12271
    break;
 
12272
 
 
12273
  case 725:
 
12274
#line 4546 "sql_yacc.yy"
 
12275
    {
 
12276
            if (Lex->insert_list->push_back((yyvsp[(1) - (1)].item)))
 
12277
              DRIZZLE_YYABORT;
 
12278
          }
 
12279
    break;
 
12280
 
 
12281
  case 726:
 
12282
#line 4553 "sql_yacc.yy"
 
12283
    { (yyval.item)= (yyvsp[(1) - (1)].item);}
 
12284
    break;
 
12285
 
 
12286
  case 727:
 
12287
#line 4554 "sql_yacc.yy"
 
12288
    {(yyval.item)= new Item_default_value(Lex->current_context()); }
 
12289
    break;
 
12290
 
 
12291
  case 729:
 
12292
#line 4559 "sql_yacc.yy"
 
12293
    { Lex->duplicates= DUP_UPDATE; }
 
12294
    break;
 
12295
 
 
12296
  case 731:
 
12297
#line 4567 "sql_yacc.yy"
 
12298
    {
 
12299
            LEX *lex= Lex;
 
12300
            mysql_init_select(lex);
 
12301
            lex->sql_command= SQLCOM_UPDATE;
 
12302
            lex->statement= new(std::nothrow) statement::Update(YYSession);
 
12303
            if (lex->statement == NULL)
 
12304
              DRIZZLE_YYABORT;
 
12305
            lex->lock_option= TL_UNLOCK; /* Will be set later */
 
12306
            lex->duplicates= DUP_ERROR;
 
12307
            if (!lex->select_lex.add_table_to_list(YYSession, (yyvsp[(3) - (3)].table), NULL,0))
 
12308
              DRIZZLE_YYABORT;
 
12309
          }
 
12310
    break;
 
12311
 
 
12312
  case 732:
 
12313
#line 4580 "sql_yacc.yy"
 
12314
    {
 
12315
            LEX *lex= Lex;
 
12316
            if (lex->select_lex.get_table_list()->derived)
 
12317
            {
 
12318
              /* it is single table update and it is update of derived table */
 
12319
              my_error(ER_NON_UPDATABLE_TABLE, MYF(0),
 
12320
                       lex->select_lex.get_table_list()->alias, "UPDATE");
 
12321
              DRIZZLE_YYABORT;
 
12322
            }
 
12323
            /*
 
12324
              In case of multi-update setting write lock for all tables may
 
12325
              be too pessimistic. We will decrease lock level if possible in
 
12326
              mysql_multi_update().
 
12327
            */
 
12328
            Lex->current_select->set_lock_for_tables(TL_WRITE_DEFAULT);
 
12329
          }
 
12330
    break;
 
12331
 
 
12332
  case 733:
 
12333
#line 4596 "sql_yacc.yy"
 
12334
    {}
 
12335
    break;
 
12336
 
 
12337
  case 736:
 
12338
#line 4606 "sql_yacc.yy"
 
12339
    {
 
12340
            if (YYSession->add_item_to_list((yyvsp[(1) - (3)].item)) || YYSession->add_value_to_list((yyvsp[(3) - (3)].item)))
 
12341
              DRIZZLE_YYABORT;
 
12342
          }
 
12343
    break;
 
12344
 
 
12345
  case 739:
 
12346
#line 4619 "sql_yacc.yy"
 
12347
    {
 
12348
          LEX *lex= Lex;
 
12349
          if (lex->update_list.push_back((yyvsp[(1) - (3)].item)) ||
 
12350
              lex->value_list.push_back((yyvsp[(3) - (3)].item)))
 
12351
              DRIZZLE_YYABORT;
 
12352
          }
 
12353
    break;
 
12354
 
 
12355
  case 740:
 
12356
#line 4631 "sql_yacc.yy"
 
12357
    {
 
12358
            LEX *lex= Lex;
 
12359
            lex->sql_command= SQLCOM_DELETE;
 
12360
            lex->statement= new(std::nothrow) statement::Delete(YYSession);
 
12361
            if (lex->statement == NULL)
 
12362
              DRIZZLE_YYABORT;
 
12363
            mysql_init_select(lex);
 
12364
            lex->lock_option= TL_WRITE_DEFAULT;
 
12365
            lex->ignore= 0;
 
12366
            lex->select_lex.init_order();
 
12367
          }
 
12368
    break;
 
12369
 
 
12370
  case 742:
 
12371
#line 4647 "sql_yacc.yy"
 
12372
    {
 
12373
            if (!Lex->current_select->add_table_to_list(YYSession, (yyvsp[(2) - (2)].table), NULL, TL_OPTION_UPDATING,
 
12374
                                           Lex->lock_option))
 
12375
              DRIZZLE_YYABORT;
 
12376
          }
 
12377
    break;
 
12378
 
 
12379
  case 743:
 
12380
#line 4653 "sql_yacc.yy"
 
12381
    {}
 
12382
    break;
 
12383
 
 
12384
  case 744:
 
12385
#line 4657 "sql_yacc.yy"
 
12386
    {}
 
12387
    break;
 
12388
 
 
12389
  case 745:
 
12390
#line 4658 "sql_yacc.yy"
 
12391
    {}
 
12392
    break;
 
12393
 
 
12394
  case 746:
 
12395
#line 4662 "sql_yacc.yy"
 
12396
    { Lex->ignore= 1; }
 
12397
    break;
 
12398
 
 
12399
  case 747:
 
12400
#line 4667 "sql_yacc.yy"
 
12401
    {
 
12402
            LEX* lex= Lex;
 
12403
            lex->sql_command= SQLCOM_TRUNCATE;
 
12404
            lex->statement= new(std::nothrow) statement::Truncate(YYSession);
 
12405
            if (lex->statement == NULL)
 
12406
              DRIZZLE_YYABORT;
 
12407
            lex->select_lex.options= 0;
 
12408
            lex->select_lex.init_order();
 
12409
          }
 
12410
    break;
 
12411
 
 
12412
  case 750:
 
12413
#line 4687 "sql_yacc.yy"
 
12414
    {
 
12415
            LEX *lex=Lex;
 
12416
            lex->wild=0;
 
12417
            lex->lock_option= TL_READ;
 
12418
            mysql_init_select(lex);
 
12419
            lex->current_select->parsing_place= SELECT_LIST;
 
12420
          }
 
12421
    break;
 
12422
 
 
12423
  case 751:
 
12424
#line 4695 "sql_yacc.yy"
 
12425
    {}
 
12426
    break;
 
12427
 
 
12428
  case 752:
 
12429
#line 4700 "sql_yacc.yy"
 
12430
    {
 
12431
             LEX *lex= Lex;
 
12432
             lex->sql_command= SQLCOM_SELECT;
 
12433
             lex->statement=
 
12434
               new(std::nothrow) statement::Select(YYSession);
 
12435
             if (lex->statement == NULL)
 
12436
               DRIZZLE_YYABORT;
 
12437
 
 
12438
             Session *session= YYSession;
 
12439
 
 
12440
             std::string column_name= "Database";
 
12441
             if (Lex->wild)
 
12442
             {
 
12443
               column_name.append(" (");
 
12444
               column_name.append(Lex->wild->ptr());
 
12445
               column_name.append(")");
 
12446
             }
 
12447
 
 
12448
             if (Lex->current_select->where)
 
12449
             {
 
12450
               if (prepare_new_schema_table(YYSession, lex, "SCHEMAS"))
 
12451
                 DRIZZLE_YYABORT;
 
12452
             }
 
12453
             else
 
12454
             {
 
12455
               if (prepare_new_schema_table(YYSession, lex, "SCHEMA_NAMES"))
 
12456
                 DRIZZLE_YYABORT;
 
12457
             }
 
12458
 
 
12459
             Item_field *my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "SCHEMA_NAME");
 
12460
             my_field->is_autogenerated_name= false;
 
12461
             my_field->set_name(column_name.c_str(), column_name.length(), system_charset_info);
 
12462
 
 
12463
             if (session->add_item_to_list(my_field))
 
12464
               DRIZZLE_YYABORT;
 
12465
           }
 
12466
    break;
 
12467
 
 
12468
  case 753:
 
12469
#line 4737 "sql_yacc.yy"
 
12470
    {
 
12471
             LEX *lex= Lex;
 
12472
             lex->sql_command= SQLCOM_SELECT;
 
12473
             lex->statement=
 
12474
               new(std::nothrow) statement::Select(YYSession);
 
12475
             if (lex->statement == NULL)
 
12476
               DRIZZLE_YYABORT;
 
12477
 
 
12478
              Session *session= YYSession;
 
12479
 
 
12480
              std::string column_name= "Tables_in_";
 
12481
 
 
12482
              if ((yyvsp[(2) - (3)].simple_string))
 
12483
              {
 
12484
                column_name.append((yyvsp[(2) - (3)].simple_string));
 
12485
                lex->select_lex.db= (yyvsp[(2) - (3)].simple_string);
 
12486
                if (not plugin::StorageEngine::doesSchemaExist((yyvsp[(2) - (3)].simple_string)))
 
12487
                {
 
12488
                  my_error(ER_BAD_DB_ERROR, MYF(0), (yyvsp[(2) - (3)].simple_string));
 
12489
                }
 
12490
              }
 
12491
              else
 
12492
              {
 
12493
                column_name.append(session->db);
 
12494
              }
 
12495
 
 
12496
             if (Lex->wild)
 
12497
             {
 
12498
               column_name.append(" (");
 
12499
               column_name.append(Lex->wild->ptr());
 
12500
               column_name.append(")");
 
12501
             }
 
12502
 
 
12503
             if (Lex->current_select->where)
 
12504
             {
 
12505
               if (prepare_new_schema_table(YYSession, lex, "TABLES"))
 
12506
                 DRIZZLE_YYABORT;
 
12507
             }
 
12508
             else
 
12509
             {
 
12510
               if (prepare_new_schema_table(YYSession, lex, "SHOW_TABLES"))
 
12511
                 DRIZZLE_YYABORT;
 
12512
             }
 
12513
 
 
12514
             Item_field *my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "TABLE_NAME");
 
12515
             my_field->is_autogenerated_name= false;
 
12516
             my_field->set_name(column_name.c_str(), column_name.length(), system_charset_info);
 
12517
 
 
12518
             if (session->add_item_to_list(my_field))
 
12519
               DRIZZLE_YYABORT;
 
12520
           }
 
12521
    break;
 
12522
 
 
12523
  case 754:
 
12524
#line 4789 "sql_yacc.yy"
 
12525
    {
 
12526
             LEX *lex= Lex;
 
12527
             lex->sql_command= SQLCOM_SELECT;
 
12528
             statement::Select *select=
 
12529
               new(std::nothrow) statement::Select(YYSession);
 
12530
 
 
12531
             lex->statement= select;
 
12532
 
 
12533
             if (lex->statement == NULL)
 
12534
               DRIZZLE_YYABORT;
 
12535
 
 
12536
             Session *session= YYSession;
 
12537
 
 
12538
             std::string column_name= "Tables_in_";
 
12539
 
 
12540
             if ((yyvsp[(3) - (4)].simple_string))
 
12541
             {
 
12542
               lex->select_lex.db= (yyvsp[(3) - (4)].simple_string);
 
12543
 
 
12544
               if (not plugin::StorageEngine::doesSchemaExist((yyvsp[(3) - (4)].simple_string)))
 
12545
               {
 
12546
                 my_error(ER_BAD_DB_ERROR, MYF(0), (yyvsp[(3) - (4)].simple_string));
 
12547
               }
 
12548
 
 
12549
               select->setShowPredicate((yyvsp[(3) - (4)].simple_string), "");
 
12550
             }
 
12551
             else
 
12552
             {
 
12553
               select->setShowPredicate(session->db, "");
 
12554
             }
 
12555
 
 
12556
             if (prepare_new_schema_table(session, lex, "SHOW_TABLE_STATUS"))
 
12557
               DRIZZLE_YYABORT;
 
12558
 
 
12559
             if (session->add_item_to_list( new Item_field(&session->lex->current_select->
 
12560
                                                           context,
 
12561
                                                           NULL, NULL, "*")))
 
12562
               DRIZZLE_YYABORT;
 
12563
             (session->lex->current_select->with_wild)++;
 
12564
           }
 
12565
    break;
 
12566
 
 
12567
  case 755:
 
12568
#line 4830 "sql_yacc.yy"
 
12569
    {
 
12570
             LEX *lex= Lex;
 
12571
             Session *session= YYSession;
 
12572
             statement::Select *select;
 
12573
 
 
12574
             lex->sql_command= SQLCOM_SELECT;
 
12575
 
 
12576
             select= new(std::nothrow) statement::Select(session);
 
12577
 
 
12578
             lex->statement= select;
 
12579
 
 
12580
             if (lex->statement == NULL)
 
12581
               DRIZZLE_YYABORT;
 
12582
 
 
12583
             if ((yyvsp[(4) - (5)].simple_string))
 
12584
              select->setShowPredicate((yyvsp[(4) - (5)].simple_string), (yyvsp[(3) - (5)].table)->table.str);
 
12585
             else if ((yyvsp[(3) - (5)].table)->db.str)
 
12586
              select->setShowPredicate((yyvsp[(3) - (5)].table)->db.str, (yyvsp[(3) - (5)].table)->table.str);
 
12587
             else
 
12588
              select->setShowPredicate(session->db, (yyvsp[(3) - (5)].table)->table.str);
 
12589
 
 
12590
             {
 
12591
               drizzled::TableIdentifier identifier(select->getShowSchema().c_str(), (yyvsp[(3) - (5)].table)->table.str);
 
12592
               if (not plugin::StorageEngine::doesTableExist(*session, identifier))
 
12593
               {
 
12594
                   my_error(ER_NO_SUCH_TABLE, MYF(0),
 
12595
                            select->getShowSchema().c_str(), 
 
12596
                            (yyvsp[(3) - (5)].table)->table.str);
 
12597
               }
 
12598
             }
 
12599
 
 
12600
             if (prepare_new_schema_table(session, lex, "SHOW_COLUMNS"))
 
12601
               DRIZZLE_YYABORT;
 
12602
 
 
12603
             if (session->add_item_to_list( new Item_field(&session->lex->current_select->
 
12604
                                                           context,
 
12605
                                                           NULL, NULL, "*")))
 
12606
               DRIZZLE_YYABORT;
 
12607
             (session->lex->current_select->with_wild)++;
 
12608
 
 
12609
          }
 
12610
    break;
 
12611
 
 
12612
  case 756:
 
12613
#line 4872 "sql_yacc.yy"
 
12614
    {
 
12615
             LEX *lex= Lex;
 
12616
             Session *session= YYSession;
 
12617
             statement::Select *select;
 
12618
 
 
12619
             lex->sql_command= SQLCOM_SELECT;
 
12620
 
 
12621
             select= new(std::nothrow) statement::Select(session);
 
12622
 
 
12623
             lex->statement= select;
 
12624
 
 
12625
             if (lex->statement == NULL)
 
12626
               DRIZZLE_YYABORT;
 
12627
 
 
12628
             if ((yyvsp[(4) - (5)].simple_string))
 
12629
              select->setShowPredicate((yyvsp[(4) - (5)].simple_string), (yyvsp[(3) - (5)].table)->table.str);
 
12630
             else if ((yyvsp[(3) - (5)].table)->db.str)
 
12631
              select->setShowPredicate((yyvsp[(3) - (5)].table)->db.str, (yyvsp[(3) - (5)].table)->table.str);
 
12632
             else
 
12633
              select->setShowPredicate(session->db, (yyvsp[(3) - (5)].table)->table.str);
 
12634
 
 
12635
             {
 
12636
               drizzled::TableIdentifier identifier(select->getShowSchema().c_str(), (yyvsp[(3) - (5)].table)->table.str);
 
12637
               if (not plugin::StorageEngine::doesTableExist(*session, identifier))
 
12638
               {
 
12639
                   my_error(ER_NO_SUCH_TABLE, MYF(0),
 
12640
                            select->getShowSchema().c_str(), 
 
12641
                            (yyvsp[(3) - (5)].table)->table.str);
 
12642
               }
 
12643
             }
 
12644
 
 
12645
             if (prepare_new_schema_table(session, lex, "show_indexes"))
 
12646
               DRIZZLE_YYABORT;
 
12647
 
 
12648
             if (session->add_item_to_list( new Item_field(&session->lex->current_select->
 
12649
                                                           context,
 
12650
                                                           NULL, NULL, "*")))
 
12651
               DRIZZLE_YYABORT;
 
12652
             (session->lex->current_select->with_wild)++;
 
12653
          }
 
12654
    break;
 
12655
 
 
12656
  case 757:
 
12657
#line 4913 "sql_yacc.yy"
 
12658
    {
 
12659
            (void) create_select_for_variable("warning_count");
 
12660
            LEX *lex= Lex;
 
12661
            lex->statement= new(std::nothrow) statement::Select(YYSession);
 
12662
            if (lex->statement == NULL)
 
12663
              DRIZZLE_YYABORT;
 
12664
          }
 
12665
    break;
 
12666
 
 
12667
  case 758:
 
12668
#line 4921 "sql_yacc.yy"
 
12669
    {
 
12670
            (void) create_select_for_variable("error_count");
 
12671
            LEX *lex= Lex;
 
12672
            lex->statement= new(std::nothrow) statement::Select(YYSession);
 
12673
            if (lex->statement == NULL)
 
12674
              DRIZZLE_YYABORT;
 
12675
          }
 
12676
    break;
 
12677
 
 
12678
  case 759:
 
12679
#line 4929 "sql_yacc.yy"
 
12680
    {
 
12681
            Lex->sql_command = SQLCOM_SHOW_WARNS;
 
12682
            Lex->statement= new(std::nothrow) statement::ShowWarnings(YYSession);
 
12683
            if (Lex->statement == NULL)
 
12684
              DRIZZLE_YYABORT;
 
12685
          }
 
12686
    break;
 
12687
 
 
12688
  case 760:
 
12689
#line 4936 "sql_yacc.yy"
 
12690
    {
 
12691
            Lex->sql_command = SQLCOM_SHOW_ERRORS;
 
12692
            Lex->statement= new(std::nothrow) statement::ShowErrors(YYSession);
 
12693
            if (Lex->statement == NULL)
 
12694
              DRIZZLE_YYABORT;
 
12695
          }
 
12696
    break;
 
12697
 
 
12698
  case 761:
 
12699
#line 4943 "sql_yacc.yy"
 
12700
    {
 
12701
             LEX *lex= Lex;
 
12702
             lex->sql_command= SQLCOM_SELECT;
 
12703
             lex->statement=
 
12704
               new(std::nothrow) statement::Select(YYSession);
 
12705
             if (lex->statement == NULL)
 
12706
               DRIZZLE_YYABORT;
 
12707
 
 
12708
             Session *session= YYSession;
 
12709
 
 
12710
             if ((yyvsp[(1) - (3)].var_type) == OPT_GLOBAL)
 
12711
             {
 
12712
               if (prepare_new_schema_table(session, lex, "GLOBAL_STATUS"))
 
12713
                 DRIZZLE_YYABORT;
 
12714
             }
 
12715
             else
 
12716
             {
 
12717
               if (prepare_new_schema_table(session, lex, "SESSION_STATUS"))
 
12718
                 DRIZZLE_YYABORT;
 
12719
             }
 
12720
 
 
12721
             std::string key("Variable_name");
 
12722
             std::string value("Value");
 
12723
 
 
12724
             Item_field *my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "VARIABLE_NAME");
 
12725
             my_field->is_autogenerated_name= false;
 
12726
             my_field->set_name(key.c_str(), key.length(), system_charset_info);
 
12727
 
 
12728
             if (session->add_item_to_list(my_field))
 
12729
               DRIZZLE_YYABORT;
 
12730
 
 
12731
             my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "VARIABLE_VALUE");
 
12732
             my_field->is_autogenerated_name= false;
 
12733
             my_field->set_name(value.c_str(), value.length(), system_charset_info);
 
12734
 
 
12735
             if (session->add_item_to_list(my_field))
 
12736
               DRIZZLE_YYABORT;
 
12737
           }
 
12738
    break;
 
12739
 
 
12740
  case 762:
 
12741
#line 4982 "sql_yacc.yy"
 
12742
    {
 
12743
           {
 
12744
             LEX *lex= Lex;
 
12745
             lex->sql_command= SQLCOM_SELECT;
 
12746
             lex->statement=
 
12747
               new(std::nothrow) statement::Select(YYSession);
 
12748
             if (lex->statement == NULL)
 
12749
               DRIZZLE_YYABORT;
 
12750
 
 
12751
             Session *session= YYSession;
 
12752
 
 
12753
             if (prepare_new_schema_table(session, lex, "PROCESSLIST"))
 
12754
               DRIZZLE_YYABORT;
 
12755
 
 
12756
             if (session->add_item_to_list( new Item_field(&session->lex->current_select->
 
12757
                                                           context,
 
12758
                                                           NULL, NULL, "*")))
 
12759
               DRIZZLE_YYABORT;
 
12760
             (session->lex->current_select->with_wild)++;
 
12761
           }
 
12762
          }
 
12763
    break;
 
12764
 
 
12765
  case 763:
 
12766
#line 5004 "sql_yacc.yy"
 
12767
    {
 
12768
             LEX *lex= Lex;
 
12769
             lex->sql_command= SQLCOM_SELECT;
 
12770
             lex->statement=
 
12771
               new(std::nothrow) statement::Select(YYSession);
 
12772
             if (lex->statement == NULL)
 
12773
               DRIZZLE_YYABORT;
 
12774
 
 
12775
             Session *session= YYSession;
 
12776
 
 
12777
             if ((yyvsp[(1) - (3)].var_type) == OPT_GLOBAL)
 
12778
             {
 
12779
               if (prepare_new_schema_table(session, lex, "GLOBAL_VARIABLES"))
 
12780
                 DRIZZLE_YYABORT;
 
12781
             }
 
12782
             else
 
12783
             {
 
12784
               if (prepare_new_schema_table(session, lex, "SESSION_VARIABLES"))
 
12785
                 DRIZZLE_YYABORT;
 
12786
             }
 
12787
 
 
12788
             std::string key("Variable_name");
 
12789
             std::string value("Value");
 
12790
 
 
12791
             Item_field *my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "VARIABLE_NAME");
 
12792
             my_field->is_autogenerated_name= false;
 
12793
             my_field->set_name(key.c_str(), key.length(), system_charset_info);
 
12794
 
 
12795
             if (session->add_item_to_list(my_field))
 
12796
               DRIZZLE_YYABORT;
 
12797
 
 
12798
             my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "VARIABLE_VALUE");
 
12799
             my_field->is_autogenerated_name= false;
 
12800
             my_field->set_name(value.c_str(), value.length(), system_charset_info);
 
12801
 
 
12802
             if (session->add_item_to_list(my_field))
 
12803
               DRIZZLE_YYABORT;
 
12804
           }
 
12805
    break;
 
12806
 
 
12807
  case 764:
 
12808
#line 5043 "sql_yacc.yy"
 
12809
    {
 
12810
            Lex->sql_command=SQLCOM_SHOW_CREATE_DB;
 
12811
            statement::ShowCreateSchema *statement= new(std::nothrow) statement::ShowCreateSchema(YYSession);
 
12812
            Lex->statement= statement;
 
12813
            if (Lex->statement == NULL)
 
12814
              DRIZZLE_YYABORT;
 
12815
            statement->is_if_not_exists= (yyvsp[(3) - (4)].num);
 
12816
            Lex->name= (yyvsp[(4) - (4)].lex_str);
 
12817
          }
 
12818
    break;
 
12819
 
 
12820
  case 765:
 
12821
#line 5053 "sql_yacc.yy"
 
12822
    {
 
12823
            LEX *lex= Lex;
 
12824
            lex->sql_command = SQLCOM_SHOW_CREATE;
 
12825
            lex->statement= new(std::nothrow) statement::ShowCreate(YYSession);
 
12826
            if (lex->statement == NULL)
 
12827
              DRIZZLE_YYABORT;
 
12828
            if (!lex->select_lex.add_table_to_list(YYSession, (yyvsp[(3) - (3)].table), NULL,0))
 
12829
              DRIZZLE_YYABORT;
 
12830
          }
 
12831
    break;
 
12832
 
 
12833
  case 766:
 
12834
#line 5064 "sql_yacc.yy"
 
12835
    { (yyval.simple_string)= 0; }
 
12836
    break;
 
12837
 
 
12838
  case 767:
 
12839
#line 5065 "sql_yacc.yy"
 
12840
    { (yyval.simple_string)= (yyvsp[(2) - (2)].lex_str).str; }
 
12841
    break;
 
12842
 
 
12843
  case 771:
 
12844
#line 5076 "sql_yacc.yy"
 
12845
    {
 
12846
            Lex->wild= new (YYSession->mem_root) String((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length,
 
12847
                                                    system_charset_info);
 
12848
            if (Lex->wild == NULL)
 
12849
              DRIZZLE_YYABORT;
 
12850
          }
 
12851
    break;
 
12852
 
 
12853
  case 772:
 
12854
#line 5083 "sql_yacc.yy"
 
12855
    {
 
12856
            Lex->current_select->where= (yyvsp[(2) - (2)].item);
 
12857
            if ((yyvsp[(2) - (2)].item))
 
12858
              (yyvsp[(2) - (2)].item)->top_level_item();
 
12859
          }
 
12860
    break;
 
12861
 
 
12862
  case 773:
 
12863
#line 5093 "sql_yacc.yy"
 
12864
    {
 
12865
            Session *session= YYSession;
 
12866
            statement::Select *select;
 
12867
            LEX *lex= Lex;
 
12868
            lex->lock_option= TL_READ;
 
12869
            mysql_init_select(lex);
 
12870
            lex->current_select->parsing_place= SELECT_LIST;
 
12871
            lex->sql_command= SQLCOM_SELECT;
 
12872
            select= new(std::nothrow) statement::Select(session);
 
12873
            lex->statement= select;
 
12874
            if (lex->statement == NULL)
 
12875
              DRIZZLE_YYABORT;
 
12876
            lex->select_lex.db= 0;
 
12877
 
 
12878
             if ((yyvsp[(2) - (2)].table)->db.str)
 
12879
              select->setShowPredicate((yyvsp[(2) - (2)].table)->db.str, (yyvsp[(2) - (2)].table)->table.str);
 
12880
             else
 
12881
              select->setShowPredicate(session->db, (yyvsp[(2) - (2)].table)->table.str);
 
12882
 
 
12883
             {
 
12884
               drizzled::TableIdentifier identifier(select->getShowSchema().c_str(), (yyvsp[(2) - (2)].table)->table.str);
 
12885
               if (not plugin::StorageEngine::doesTableExist(*session, identifier))
 
12886
               {
 
12887
                   my_error(ER_NO_SUCH_TABLE, MYF(0),
 
12888
                            select->getShowSchema().c_str(), 
 
12889
                            (yyvsp[(2) - (2)].table)->table.str);
 
12890
               }
 
12891
             }
 
12892
 
 
12893
             if (prepare_new_schema_table(session, lex, "SHOW_COLUMNS"))
 
12894
               DRIZZLE_YYABORT;
 
12895
 
 
12896
             if (session->add_item_to_list( new Item_field(&session->lex->current_select->
 
12897
                                                           context,
 
12898
                                                           NULL, NULL, "*")))
 
12899
               DRIZZLE_YYABORT;
 
12900
             (session->lex->current_select->with_wild)++;
 
12901
 
 
12902
          }
 
12903
    break;
 
12904
 
 
12905
  case 774:
 
12906
#line 5132 "sql_yacc.yy"
 
12907
    {}
 
12908
    break;
 
12909
 
 
12910
  case 775:
 
12911
#line 5134 "sql_yacc.yy"
 
12912
    { Lex->describe|= DESCRIBE_NORMAL; }
 
12913
    break;
 
12914
 
 
12915
  case 776:
 
12916
#line 5136 "sql_yacc.yy"
 
12917
    {
 
12918
            LEX *lex=Lex;
 
12919
            lex->select_lex.options|= SELECT_DESCRIBE;
 
12920
          }
 
12921
    break;
 
12922
 
 
12923
  case 779:
 
12924
#line 5148 "sql_yacc.yy"
 
12925
    {}
 
12926
    break;
 
12927
 
 
12928
  case 780:
 
12929
#line 5149 "sql_yacc.yy"
 
12930
    { Lex->describe|= DESCRIBE_EXTENDED; }
 
12931
    break;
 
12932
 
 
12933
  case 781:
 
12934
#line 5153 "sql_yacc.yy"
 
12935
    {}
 
12936
    break;
 
12937
 
 
12938
  case 782:
 
12939
#line 5154 "sql_yacc.yy"
 
12940
    { Lex->wild= (yyvsp[(1) - (1)].string); }
 
12941
    break;
 
12942
 
 
12943
  case 783:
 
12944
#line 5156 "sql_yacc.yy"
 
12945
    {
 
12946
            Lex->wild= new (YYSession->mem_root) String((const char*) (yyvsp[(1) - (1)].lex_str).str,
 
12947
                                                    (yyvsp[(1) - (1)].lex_str).length,
 
12948
                                                    system_charset_info);
 
12949
          }
 
12950
    break;
 
12951
 
 
12952
  case 784:
 
12953
#line 5168 "sql_yacc.yy"
 
12954
    {
 
12955
            LEX *lex=Lex;
 
12956
            lex->sql_command= SQLCOM_FLUSH;
 
12957
            lex->statement= new(std::nothrow) statement::Flush(YYSession);
 
12958
            if (lex->statement == NULL)
 
12959
              DRIZZLE_YYABORT;
 
12960
            lex->type= 0;
 
12961
          }
 
12962
    break;
 
12963
 
 
12964
  case 785:
 
12965
#line 5177 "sql_yacc.yy"
 
12966
    {}
 
12967
    break;
 
12968
 
 
12969
  case 788:
 
12970
#line 5187 "sql_yacc.yy"
 
12971
    {
 
12972
            statement::Flush *statement= (statement::Flush*)Lex->statement;
 
12973
            statement->setFlushTables(true);
 
12974
          }
 
12975
    break;
 
12976
 
 
12977
  case 789:
 
12978
#line 5191 "sql_yacc.yy"
 
12979
    {}
 
12980
    break;
 
12981
 
 
12982
  case 790:
 
12983
#line 5193 "sql_yacc.yy"
 
12984
    {
 
12985
            statement::Flush *statement= (statement::Flush*)Lex->statement;
 
12986
            statement->setFlushTablesWithReadLock(true);
 
12987
          }
 
12988
    break;
 
12989
 
 
12990
  case 791:
 
12991
#line 5198 "sql_yacc.yy"
 
12992
    {
 
12993
            statement::Flush *statement= (statement::Flush*)Lex->statement;
 
12994
            statement->setFlushLog(true);
 
12995
          }
 
12996
    break;
 
12997
 
 
12998
  case 792:
 
12999
#line 5203 "sql_yacc.yy"
 
13000
    {
 
13001
            statement::Flush *statement= (statement::Flush*)Lex->statement;
 
13002
            statement->setFlushStatus(true);
 
13003
          }
 
13004
    break;
 
13005
 
 
13006
  case 793:
 
13007
#line 5210 "sql_yacc.yy"
 
13008
    {}
 
13009
    break;
 
13010
 
 
13011
  case 794:
 
13012
#line 5211 "sql_yacc.yy"
 
13013
    {}
 
13014
    break;
 
13015
 
 
13016
  case 795:
 
13017
#line 5218 "sql_yacc.yy"
 
13018
    {
 
13019
            LEX *lex=Lex;
 
13020
            lex->value_list.empty();
 
13021
            lex->value_list.push_front((yyvsp[(3) - (3)].item));
 
13022
            lex->sql_command= SQLCOM_KILL;
 
13023
            lex->statement= new(std::nothrow) statement::Kill(YYSession);
 
13024
            if (lex->statement == NULL)
 
13025
              DRIZZLE_YYABORT;
 
13026
          }
 
13027
    break;
 
13028
 
 
13029
  case 796:
 
13030
#line 5230 "sql_yacc.yy"
 
13031
    { Lex->type= 0; }
 
13032
    break;
 
13033
 
 
13034
  case 797:
 
13035
#line 5231 "sql_yacc.yy"
 
13036
    { Lex->type= 0; }
 
13037
    break;
 
13038
 
 
13039
  case 798:
 
13040
#line 5232 "sql_yacc.yy"
 
13041
    { Lex->type= ONLY_KILL_QUERY; }
 
13042
    break;
 
13043
 
 
13044
  case 799:
 
13045
#line 5239 "sql_yacc.yy"
 
13046
    {
 
13047
            LEX *lex=Lex;
 
13048
            lex->sql_command=SQLCOM_CHANGE_DB;
 
13049
            lex->statement= new(std::nothrow) statement::ChangeSchema(YYSession);
 
13050
            if (lex->statement == NULL)
 
13051
              DRIZZLE_YYABORT;
 
13052
            lex->select_lex.db= (yyvsp[(2) - (2)].lex_str).str;
 
13053
          }
 
13054
    break;
 
13055
 
 
13056
  case 800:
 
13057
#line 5253 "sql_yacc.yy"
 
13058
    {
 
13059
            Session *session= YYSession;
 
13060
            LEX *lex= session->lex;
 
13061
 
 
13062
            lex->sql_command= SQLCOM_LOAD;
 
13063
            statement::Load *statement= new(std::nothrow) statement::Load(YYSession);
 
13064
            lex->statement= statement;
 
13065
            if (lex->statement == NULL)
 
13066
              DRIZZLE_YYABORT;
 
13067
 
 
13068
            Lex_input_stream *lip= session->m_lip;
 
13069
            statement->fname_start= lip->get_ptr();
 
13070
          }
 
13071
    break;
 
13072
 
 
13073
  case 801:
 
13074
#line 5267 "sql_yacc.yy"
 
13075
    {
 
13076
            LEX *lex=Lex;
 
13077
            lex->lock_option= (yyvsp[(4) - (6)].lock_type);
 
13078
            lex->duplicates= DUP_ERROR;
 
13079
            lex->ignore= 0;
 
13080
            if (!(lex->exchange= new file_exchange((yyvsp[(6) - (6)].lex_str).str, 0, (yyvsp[(2) - (6)].filetype))))
 
13081
              DRIZZLE_YYABORT;
 
13082
          }
 
13083
    break;
 
13084
 
 
13085
  case 802:
 
13086
#line 5276 "sql_yacc.yy"
 
13087
    {
 
13088
            Session *session= YYSession;
 
13089
            Lex_input_stream *lip= session->m_lip;
 
13090
            ((statement::Load *)Lex->statement)->fname_end= lip->get_ptr();
 
13091
          }
 
13092
    break;
 
13093
 
 
13094
  case 803:
 
13095
#line 5282 "sql_yacc.yy"
 
13096
    {
 
13097
            LEX *lex=Lex;
 
13098
            if (!Lex->current_select->add_table_to_list(YYSession,
 
13099
                    (yyvsp[(12) - (12)].table), NULL, TL_OPTION_UPDATING,
 
13100
                    lex->lock_option))
 
13101
              DRIZZLE_YYABORT;
 
13102
            lex->field_list.empty();
 
13103
            lex->update_list.empty();
 
13104
            lex->value_list.empty();
 
13105
          }
 
13106
    break;
 
13107
 
 
13108
  case 804:
 
13109
#line 5294 "sql_yacc.yy"
 
13110
    {}
 
13111
    break;
 
13112
 
 
13113
  case 805:
 
13114
#line 5298 "sql_yacc.yy"
 
13115
    { (yyval.filetype)= FILETYPE_CSV; }
 
13116
    break;
 
13117
 
 
13118
  case 806:
 
13119
#line 5301 "sql_yacc.yy"
 
13120
    { (yyval.lock_type)= TL_WRITE_DEFAULT; }
 
13121
    break;
 
13122
 
 
13123
  case 807:
 
13124
#line 5303 "sql_yacc.yy"
 
13125
    {
 
13126
              (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT;
 
13127
          }
 
13128
    break;
 
13129
 
 
13130
  case 808:
 
13131
#line 5309 "sql_yacc.yy"
 
13132
    { Lex->duplicates=DUP_ERROR; }
 
13133
    break;
 
13134
 
 
13135
  case 809:
 
13136
#line 5310 "sql_yacc.yy"
 
13137
    { Lex->duplicates=DUP_REPLACE; }
 
13138
    break;
 
13139
 
 
13140
  case 810:
 
13141
#line 5311 "sql_yacc.yy"
 
13142
    { Lex->ignore= 1; }
 
13143
    break;
 
13144
 
 
13145
  case 815:
 
13146
#line 5326 "sql_yacc.yy"
 
13147
    {
 
13148
            assert(Lex->exchange != 0);
 
13149
            Lex->exchange->field_term= (yyvsp[(3) - (3)].string);
 
13150
          }
 
13151
    break;
 
13152
 
 
13153
  case 816:
 
13154
#line 5331 "sql_yacc.yy"
 
13155
    {
 
13156
            LEX *lex= Lex;
 
13157
            assert(lex->exchange != 0);
 
13158
            lex->exchange->enclosed= (yyvsp[(4) - (4)].string);
 
13159
            lex->exchange->opt_enclosed= 1;
 
13160
          }
 
13161
    break;
 
13162
 
 
13163
  case 817:
 
13164
#line 5338 "sql_yacc.yy"
 
13165
    {
 
13166
            assert(Lex->exchange != 0);
 
13167
            Lex->exchange->enclosed= (yyvsp[(3) - (3)].string);
 
13168
          }
 
13169
    break;
 
13170
 
 
13171
  case 818:
 
13172
#line 5343 "sql_yacc.yy"
 
13173
    {
 
13174
            assert(Lex->exchange != 0);
 
13175
            Lex->exchange->escaped= (yyvsp[(3) - (3)].string);
 
13176
          }
 
13177
    break;
 
13178
 
 
13179
  case 823:
 
13180
#line 5361 "sql_yacc.yy"
 
13181
    {
 
13182
            assert(Lex->exchange != 0);
 
13183
            Lex->exchange->line_term= (yyvsp[(3) - (3)].string);
 
13184
          }
 
13185
    break;
 
13186
 
 
13187
  case 824:
 
13188
#line 5366 "sql_yacc.yy"
 
13189
    {
 
13190
            assert(Lex->exchange != 0);
 
13191
            Lex->exchange->line_start= (yyvsp[(3) - (3)].string);
 
13192
          }
 
13193
    break;
 
13194
 
 
13195
  case 826:
 
13196
#line 5375 "sql_yacc.yy"
 
13197
    {
 
13198
            assert(Lex->exchange != 0);
 
13199
            Lex->exchange->skip_lines= atol((yyvsp[(2) - (3)].lex_str).str);
 
13200
          }
 
13201
    break;
 
13202
 
 
13203
  case 827:
 
13204
#line 5382 "sql_yacc.yy"
 
13205
    { }
 
13206
    break;
 
13207
 
 
13208
  case 828:
 
13209
#line 5383 "sql_yacc.yy"
 
13210
    { }
 
13211
    break;
 
13212
 
 
13213
  case 829:
 
13214
#line 5387 "sql_yacc.yy"
 
13215
    {}
 
13216
    break;
 
13217
 
 
13218
  case 830:
 
13219
#line 5388 "sql_yacc.yy"
 
13220
    {}
 
13221
    break;
 
13222
 
 
13223
  case 831:
 
13224
#line 5389 "sql_yacc.yy"
 
13225
    {}
 
13226
    break;
 
13227
 
 
13228
  case 832:
 
13229
#line 5394 "sql_yacc.yy"
 
13230
    { Lex->field_list.push_back((yyvsp[(3) - (3)].item)); }
 
13231
    break;
 
13232
 
 
13233
  case 833:
 
13234
#line 5396 "sql_yacc.yy"
 
13235
    { Lex->field_list.push_back((yyvsp[(1) - (1)].item)); }
 
13236
    break;
 
13237
 
 
13238
  case 834:
 
13239
#line 5400 "sql_yacc.yy"
 
13240
    {(yyval.item)= (yyvsp[(1) - (1)].item);}
 
13241
    break;
 
13242
 
 
13243
  case 835:
 
13244
#line 5402 "sql_yacc.yy"
 
13245
    { (yyval.item)= new Item_user_var_as_out_param((yyvsp[(2) - (2)].lex_str)); }
 
13246
    break;
 
13247
 
 
13248
  case 836:
 
13249
#line 5406 "sql_yacc.yy"
 
13250
    {}
 
13251
    break;
 
13252
 
 
13253
  case 837:
 
13254
#line 5407 "sql_yacc.yy"
 
13255
    {}
 
13256
    break;
 
13257
 
 
13258
  case 838:
 
13259
#line 5414 "sql_yacc.yy"
 
13260
    {
 
13261
          Session *session= YYSession;
 
13262
          (yyval.item) = new Item_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, session->variables.getCollation());
 
13263
        }
 
13264
    break;
 
13265
 
 
13266
  case 839:
 
13267
#line 5419 "sql_yacc.yy"
 
13268
    {
 
13269
            ((Item_string*) (yyvsp[(1) - (2)].item))->append((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length);
 
13270
          }
 
13271
    break;
 
13272
 
 
13273
  case 840:
 
13274
#line 5426 "sql_yacc.yy"
 
13275
    {
 
13276
            (yyval.string)= new (YYSession->mem_root) String((yyvsp[(1) - (1)].lex_str).str,
 
13277
                                             (yyvsp[(1) - (1)].lex_str).length,
 
13278
                                             YYSession->variables.getCollation());
 
13279
          }
 
13280
    break;
 
13281
 
 
13282
  case 841:
 
13283
#line 5432 "sql_yacc.yy"
 
13284
    {
 
13285
            Item *tmp= new Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
 
13286
            /*
 
13287
              it is OK only emulate fix_fields, because we need only
 
13288
              value of constant
 
13289
            */
 
13290
            (yyval.string)= tmp ?
 
13291
              tmp->quick_fix_field(), tmp->val_str((String*) 0) :
 
13292
              (String*) 0;
 
13293
          }
 
13294
    break;
 
13295
 
 
13296
  case 842:
 
13297
#line 5443 "sql_yacc.yy"
 
13298
    {
 
13299
            Item *tmp= new Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
 
13300
            /*
 
13301
              it is OK only emulate fix_fields, because we need only
 
13302
              value of constant
 
13303
            */
 
13304
            (yyval.string)= tmp ? tmp->quick_fix_field(), tmp->val_str((String*) 0) :
 
13305
              (String*) 0;
 
13306
          }
 
13307
    break;
 
13308
 
 
13309
  case 843:
 
13310
#line 5455 "sql_yacc.yy"
 
13311
    { (yyval.item) = (yyvsp[(1) - (1)].item); }
 
13312
    break;
 
13313
 
 
13314
  case 844:
 
13315
#line 5456 "sql_yacc.yy"
 
13316
    { (yyval.item) = (yyvsp[(2) - (2)].item_num); }
 
13317
    break;
 
13318
 
 
13319
  case 845:
 
13320
#line 5458 "sql_yacc.yy"
 
13321
    {
 
13322
            (yyvsp[(2) - (2)].item_num)->max_length++;
 
13323
            (yyval.item)= (yyvsp[(2) - (2)].item_num)->neg();
 
13324
          }
 
13325
    break;
 
13326
 
 
13327
  case 846:
 
13328
#line 5465 "sql_yacc.yy"
 
13329
    { (yyval.item) = (yyvsp[(1) - (1)].item); }
 
13330
    break;
 
13331
 
 
13332
  case 847:
 
13333
#line 5466 "sql_yacc.yy"
 
13334
    { (yyval.item) = (yyvsp[(1) - (1)].item_num); }
 
13335
    break;
 
13336
 
 
13337
  case 848:
 
13338
#line 5468 "sql_yacc.yy"
 
13339
    {
 
13340
            (yyval.item) = new Item_null();
 
13341
            YYSession->m_lip->next_state=MY_LEX_OPERATOR_OR_IDENT;
 
13342
          }
 
13343
    break;
 
13344
 
 
13345
  case 849:
 
13346
#line 5472 "sql_yacc.yy"
 
13347
    { (yyval.item)= new Item_int((char*) "FALSE",0,1); }
 
13348
    break;
 
13349
 
 
13350
  case 850:
 
13351
#line 5473 "sql_yacc.yy"
 
13352
    { (yyval.item)= new Item_int((char*) "TRUE",1,1); }
 
13353
    break;
 
13354
 
 
13355
  case 851:
 
13356
#line 5474 "sql_yacc.yy"
 
13357
    { (yyval.item) = new Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);}
 
13358
    break;
 
13359
 
 
13360
  case 852:
 
13361
#line 5475 "sql_yacc.yy"
 
13362
    { (yyval.item)= new Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
 
13363
    break;
 
13364
 
 
13365
  case 853:
 
13366
#line 5476 "sql_yacc.yy"
 
13367
    { (yyval.item) = (yyvsp[(2) - (2)].item); }
 
13368
    break;
 
13369
 
 
13370
  case 854:
 
13371
#line 5477 "sql_yacc.yy"
 
13372
    { (yyval.item) = (yyvsp[(2) - (2)].item); }
 
13373
    break;
 
13374
 
 
13375
  case 855:
 
13376
#line 5482 "sql_yacc.yy"
 
13377
    {
 
13378
            int error;
 
13379
            (yyval.item_num) = new Item_int((yyvsp[(1) - (1)].lex_str).str, (int64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, NULL, &error), (yyvsp[(1) - (1)].lex_str).length);
 
13380
          }
 
13381
    break;
 
13382
 
 
13383
  case 856:
 
13384
#line 5487 "sql_yacc.yy"
 
13385
    {
 
13386
            int error;
 
13387
            (yyval.item_num) = new Item_int((yyvsp[(1) - (1)].lex_str).str, (int64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, NULL, &error), (yyvsp[(1) - (1)].lex_str).length);
 
13388
          }
 
13389
    break;
 
13390
 
 
13391
  case 857:
 
13392
#line 5492 "sql_yacc.yy"
 
13393
    { (yyval.item_num) = new Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
 
13394
    break;
 
13395
 
 
13396
  case 858:
 
13397
#line 5494 "sql_yacc.yy"
 
13398
    {
 
13399
            (yyval.item_num)= new Item_decimal((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, YYSession->charset());
 
13400
            if (YYSession->is_error())
 
13401
            {
 
13402
              DRIZZLE_YYABORT;
 
13403
            }
 
13404
          }
 
13405
    break;
 
13406
 
 
13407
  case 859:
 
13408
#line 5502 "sql_yacc.yy"
 
13409
    {
 
13410
            (yyval.item_num) = new Item_float((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
 
13411
            if (YYSession->is_error())
 
13412
            {
 
13413
              DRIZZLE_YYABORT;
 
13414
            }
 
13415
          }
 
13416
    break;
 
13417
 
 
13418
  case 860:
 
13419
#line 5516 "sql_yacc.yy"
 
13420
    { (yyval.item)=(yyvsp[(1) - (1)].item); }
 
13421
    break;
 
13422
 
 
13423
  case 861:
 
13424
#line 5517 "sql_yacc.yy"
 
13425
    { (yyval.item)=(yyvsp[(1) - (1)].item); }
 
13426
    break;
 
13427
 
 
13428
  case 862:
 
13429
#line 5522 "sql_yacc.yy"
 
13430
    {
 
13431
            Select_Lex *sel= Lex->current_select;
 
13432
            (yyval.item) = new Item_field(Lex->current_context(), NULL, (yyvsp[(1) - (3)].lex_str).str, "*");
 
13433
            sel->with_wild++;
 
13434
          }
 
13435
    break;
 
13436
 
 
13437
  case 863:
 
13438
#line 5528 "sql_yacc.yy"
 
13439
    {
 
13440
            Select_Lex *sel= Lex->current_select;
 
13441
            (yyval.item) = new Item_field(Lex->current_context(), (yyvsp[(1) - (5)].lex_str).str, (yyvsp[(3) - (5)].lex_str).str,"*");
 
13442
            sel->with_wild++;
 
13443
          }
 
13444
    break;
 
13445
 
 
13446
  case 864:
 
13447
#line 5536 "sql_yacc.yy"
 
13448
    { (yyval.item)=(yyvsp[(1) - (1)].item); }
 
13449
    break;
 
13450
 
 
13451
  case 865:
 
13452
#line 5541 "sql_yacc.yy"
 
13453
    {
 
13454
            {
 
13455
              Select_Lex *sel=Lex->current_select;
 
13456
              (yyval.item)= (sel->parsing_place != IN_HAVING ||
 
13457
                  sel->get_in_sum_expr() > 0) ?
 
13458
                  (Item*) new Item_field(Lex->current_context(),
 
13459
                                         (const char *)NULL, NULL, (yyvsp[(1) - (1)].lex_str).str) :
 
13460
                  (Item*) new Item_ref(Lex->current_context(),
 
13461
                                       (const char *)NULL, NULL, (yyvsp[(1) - (1)].lex_str).str);
 
13462
            }
 
13463
          }
 
13464
    break;
 
13465
 
 
13466
  case 866:
 
13467
#line 5552 "sql_yacc.yy"
 
13468
    { (yyval.item)= (yyvsp[(1) - (1)].item); }
 
13469
    break;
 
13470
 
 
13471
  case 867:
 
13472
#line 5557 "sql_yacc.yy"
 
13473
    {
 
13474
            Select_Lex *sel=Lex->current_select;
 
13475
            (yyval.item)= (sel->parsing_place != IN_HAVING ||
 
13476
                sel->get_in_sum_expr() > 0) ?
 
13477
                (Item*) new Item_field(Lex->current_context(),
 
13478
                                       (const char *)NULL, NULL, (yyvsp[(1) - (1)].lex_str).str) :
 
13479
                (Item*) new Item_ref(Lex->current_context(),
 
13480
                                     (const char *)NULL, NULL, (yyvsp[(1) - (1)].lex_str).str);
 
13481
          }
 
13482
    break;
 
13483
 
 
13484
  case 868:
 
13485
#line 5566 "sql_yacc.yy"
 
13486
    { (yyval.item)= (yyvsp[(1) - (1)].item); }
 
13487
    break;
 
13488
 
 
13489
  case 869:
 
13490
#line 5571 "sql_yacc.yy"
 
13491
    {
 
13492
            Session *session= YYSession;
 
13493
            LEX *lex= session->lex;
 
13494
 
 
13495
            {
 
13496
              Select_Lex *sel= lex->current_select;
 
13497
              if (sel->no_table_names_allowed)
 
13498
              {
 
13499
                my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
 
13500
                         MYF(0), (yyvsp[(1) - (3)].lex_str).str, session->where);
 
13501
              }
 
13502
              (yyval.item)= (sel->parsing_place != IN_HAVING ||
 
13503
                  sel->get_in_sum_expr() > 0) ?
 
13504
                  (Item*) new Item_field(Lex->current_context(),
 
13505
                                         (const char *)NULL, (yyvsp[(1) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).str) :
 
13506
                  (Item*) new Item_ref(Lex->current_context(),
 
13507
                                       (const char *)NULL, (yyvsp[(1) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).str);
 
13508
            }
 
13509
          }
 
13510
    break;
 
13511
 
 
13512
  case 870:
 
13513
#line 5591 "sql_yacc.yy"
 
13514
    {
 
13515
            Session *session= YYSession;
 
13516
            LEX *lex= session->lex;
 
13517
            Select_Lex *sel= lex->current_select;
 
13518
            if (sel->no_table_names_allowed)
 
13519
            {
 
13520
              my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
 
13521
                       MYF(0), (yyvsp[(2) - (4)].lex_str).str, session->where);
 
13522
            }
 
13523
            (yyval.item)= (sel->parsing_place != IN_HAVING ||
 
13524
                sel->get_in_sum_expr() > 0) ?
 
13525
                (Item*) new Item_field(Lex->current_context(), NULL, (yyvsp[(2) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).str) :
 
13526
                (Item*) new Item_ref(Lex->current_context(),
 
13527
                                     (const char *)NULL, (yyvsp[(2) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).str);
 
13528
          }
 
13529
    break;
 
13530
 
 
13531
  case 871:
 
13532
#line 5607 "sql_yacc.yy"
 
13533
    {
 
13534
            Session *session= YYSession;
 
13535
            LEX *lex= session->lex;
 
13536
            Select_Lex *sel= lex->current_select;
 
13537
            if (sel->no_table_names_allowed)
 
13538
            {
 
13539
              my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
 
13540
                       MYF(0), (yyvsp[(3) - (5)].lex_str).str, session->where);
 
13541
            }
 
13542
            (yyval.item)= (sel->parsing_place != IN_HAVING ||
 
13543
                sel->get_in_sum_expr() > 0) ?
 
13544
                (Item*) new Item_field(Lex->current_context(), (yyvsp[(1) - (5)].lex_str).str, (yyvsp[(3) - (5)].lex_str).str,
 
13545
                                       (yyvsp[(5) - (5)].lex_str).str) :
 
13546
                (Item*) new Item_ref(Lex->current_context(), (yyvsp[(1) - (5)].lex_str).str, (yyvsp[(3) - (5)].lex_str).str,
 
13547
                                     (yyvsp[(5) - (5)].lex_str).str);
 
13548
          }
 
13549
    break;
 
13550
 
 
13551
  case 872:
 
13552
#line 5626 "sql_yacc.yy"
 
13553
    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
 
13554
    break;
 
13555
 
 
13556
  case 873:
 
13557
#line 5628 "sql_yacc.yy"
 
13558
    {
 
13559
            TableList *table=
 
13560
              reinterpret_cast<TableList*>(Lex->current_select->table_list.first);
 
13561
            if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (5)].lex_str).str, table->db))
 
13562
            {
 
13563
              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(1) - (5)].lex_str).str);
 
13564
              DRIZZLE_YYABORT;
 
13565
            }
 
13566
            if (my_strcasecmp(table_alias_charset, (yyvsp[(3) - (5)].lex_str).str,
 
13567
                              table->table_name))
 
13568
            {
 
13569
              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (5)].lex_str).str);
 
13570
              DRIZZLE_YYABORT;
 
13571
            }
 
13572
            (yyval.lex_str)=(yyvsp[(5) - (5)].lex_str);
 
13573
          }
 
13574
    break;
 
13575
 
 
13576
  case 874:
 
13577
#line 5645 "sql_yacc.yy"
 
13578
    {
 
13579
            TableList *table=
 
13580
              reinterpret_cast<TableList*>(Lex->current_select->table_list.first);
 
13581
            if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (3)].lex_str).str, table->alias))
 
13582
            {
 
13583
              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(1) - (3)].lex_str).str);
 
13584
              DRIZZLE_YYABORT;
 
13585
            }
 
13586
            (yyval.lex_str)=(yyvsp[(3) - (3)].lex_str);
 
13587
          }
 
13588
    break;
 
13589
 
 
13590
  case 875:
 
13591
#line 5655 "sql_yacc.yy"
 
13592
    { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str);}
 
13593
    break;
 
13594
 
 
13595
  case 876:
 
13596
#line 5659 "sql_yacc.yy"
 
13597
    { (yyval.table)=new Table_ident((yyvsp[(1) - (1)].lex_str)); }
 
13598
    break;
 
13599
 
 
13600
  case 877:
 
13601
#line 5660 "sql_yacc.yy"
 
13602
    { (yyval.table)=new Table_ident((yyvsp[(1) - (3)].lex_str),(yyvsp[(3) - (3)].lex_str));}
 
13603
    break;
 
13604
 
 
13605
  case 878:
 
13606
#line 5661 "sql_yacc.yy"
 
13607
    { (yyval.table)=new Table_ident((yyvsp[(2) - (2)].lex_str));}
 
13608
    break;
 
13609
 
 
13610
  case 879:
 
13611
#line 5665 "sql_yacc.yy"
 
13612
    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
 
13613
    break;
 
13614
 
 
13615
  case 880:
 
13616
#line 5667 "sql_yacc.yy"
 
13617
    {
 
13618
            const CHARSET_INFO * const cs= system_charset_info;
 
13619
            int dummy_error;
 
13620
            uint32_t wlen= cs->cset->well_formed_len(cs, (yyvsp[(1) - (1)].lex_str).str,
 
13621
                                                 (yyvsp[(1) - (1)].lex_str).str+(yyvsp[(1) - (1)].lex_str).length,
 
13622
                                                 (yyvsp[(1) - (1)].lex_str).length, &dummy_error);
 
13623
            if (wlen < (yyvsp[(1) - (1)].lex_str).length)
 
13624
            {
 
13625
              my_error(ER_INVALID_CHARACTER_STRING, MYF(0),
 
13626
                       cs->csname, (yyvsp[(1) - (1)].lex_str).str + wlen);
 
13627
              DRIZZLE_YYABORT;
 
13628
            }
 
13629
            (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
 
13630
          }
 
13631
    break;
 
13632
 
 
13633
  case 881:
 
13634
#line 5685 "sql_yacc.yy"
 
13635
    {
 
13636
            (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
 
13637
          }
 
13638
    break;
 
13639
 
 
13640
  case 882:
 
13641
#line 5692 "sql_yacc.yy"
 
13642
    {
 
13643
            (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
 
13644
          }
 
13645
    break;
 
13646
 
 
13647
  case 883:
 
13648
#line 5699 "sql_yacc.yy"
 
13649
    {
 
13650
            (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
 
13651
          }
 
13652
    break;
 
13653
 
 
13654
  case 884:
 
13655
#line 5705 "sql_yacc.yy"
 
13656
    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
 
13657
    break;
 
13658
 
 
13659
  case 885:
 
13660
#line 5707 "sql_yacc.yy"
 
13661
    {
 
13662
            Session *session= YYSession;
 
13663
            (yyval.lex_str).str= session->strmake((yyvsp[(1) - (1)].symbol).str, (yyvsp[(1) - (1)].symbol).length);
 
13664
            (yyval.lex_str).length= (yyvsp[(1) - (1)].symbol).length;
 
13665
          }
 
13666
    break;
 
13667
 
 
13668
  case 886:
 
13669
#line 5715 "sql_yacc.yy"
 
13670
    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
 
13671
    break;
 
13672
 
 
13673
  case 887:
 
13674
#line 5716 "sql_yacc.yy"
 
13675
    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
 
13676
    break;
 
13677
 
 
13678
  case 888:
 
13679
#line 5717 "sql_yacc.yy"
 
13680
    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
 
13681
    break;
 
13682
 
 
13683
  case 889:
 
13684
#line 5722 "sql_yacc.yy"
 
13685
    {}
 
13686
    break;
 
13687
 
 
13688
  case 890:
 
13689
#line 5723 "sql_yacc.yy"
 
13690
    {}
 
13691
    break;
 
13692
 
 
13693
  case 891:
 
13694
#line 5724 "sql_yacc.yy"
 
13695
    {}
 
13696
    break;
 
13697
 
 
13698
  case 892:
 
13699
#line 5725 "sql_yacc.yy"
 
13700
    {}
 
13701
    break;
 
13702
 
 
13703
  case 893:
 
13704
#line 5726 "sql_yacc.yy"
 
13705
    {}
 
13706
    break;
 
13707
 
 
13708
  case 894:
 
13709
#line 5727 "sql_yacc.yy"
 
13710
    {}
 
13711
    break;
 
13712
 
 
13713
  case 895:
 
13714
#line 5728 "sql_yacc.yy"
 
13715
    {}
 
13716
    break;
 
13717
 
 
13718
  case 896:
 
13719
#line 5729 "sql_yacc.yy"
 
13720
    {}
 
13721
    break;
 
13722
 
 
13723
  case 897:
 
13724
#line 5730 "sql_yacc.yy"
 
13725
    {}
 
13726
    break;
 
13727
 
 
13728
  case 898:
 
13729
#line 5731 "sql_yacc.yy"
 
13730
    {}
 
13731
    break;
 
13732
 
 
13733
  case 899:
 
13734
#line 5732 "sql_yacc.yy"
 
13735
    {}
 
13736
    break;
 
13737
 
 
13738
  case 900:
 
13739
#line 5733 "sql_yacc.yy"
 
13740
    {}
 
13741
    break;
 
13742
 
 
13743
  case 901:
 
13744
#line 5734 "sql_yacc.yy"
 
13745
    {}
 
13746
    break;
 
13747
 
 
13748
  case 902:
 
13749
#line 5735 "sql_yacc.yy"
 
13750
    {}
 
13751
    break;
 
13752
 
 
13753
  case 903:
 
13754
#line 5736 "sql_yacc.yy"
 
13755
    {}
 
13756
    break;
 
13757
 
 
13758
  case 904:
 
13759
#line 5737 "sql_yacc.yy"
 
13760
    {}
 
13761
    break;
 
13762
 
 
13763
  case 905:
 
13764
#line 5738 "sql_yacc.yy"
 
13765
    {}
 
13766
    break;
 
13767
 
 
13768
  case 906:
 
13769
#line 5739 "sql_yacc.yy"
 
13770
    {}
 
13771
    break;
 
13772
 
 
13773
  case 907:
 
13774
#line 5740 "sql_yacc.yy"
 
13775
    {}
 
13776
    break;
 
13777
 
 
13778
  case 908:
 
13779
#line 5741 "sql_yacc.yy"
 
13780
    {}
 
13781
    break;
 
13782
 
 
13783
  case 909:
 
13784
#line 5751 "sql_yacc.yy"
 
13785
    {}
 
13786
    break;
 
13787
 
 
13788
  case 910:
 
13789
#line 5752 "sql_yacc.yy"
 
13790
    {}
 
13791
    break;
 
13792
 
 
13793
  case 911:
 
13794
#line 5753 "sql_yacc.yy"
 
13795
    {}
 
13796
    break;
 
13797
 
 
13798
  case 912:
 
13799
#line 5754 "sql_yacc.yy"
 
13800
    {}
 
13801
    break;
 
13802
 
 
13803
  case 913:
 
13804
#line 5755 "sql_yacc.yy"
 
13805
    {}
 
13806
    break;
 
13807
 
 
13808
  case 914:
 
13809
#line 5756 "sql_yacc.yy"
 
13810
    {}
 
13811
    break;
 
13812
 
 
13813
  case 915:
 
13814
#line 5757 "sql_yacc.yy"
 
13815
    {}
 
13816
    break;
 
13817
 
 
13818
  case 916:
 
13819
#line 5758 "sql_yacc.yy"
 
13820
    {}
 
13821
    break;
 
13822
 
 
13823
  case 917:
 
13824
#line 5759 "sql_yacc.yy"
 
13825
    {}
 
13826
    break;
 
13827
 
 
13828
  case 918:
 
13829
#line 5760 "sql_yacc.yy"
 
13830
    {}
 
13831
    break;
 
13832
 
 
13833
  case 919:
 
13834
#line 5761 "sql_yacc.yy"
 
13835
    {}
 
13836
    break;
 
13837
 
 
13838
  case 920:
 
13839
#line 5762 "sql_yacc.yy"
 
13840
    {}
 
13841
    break;
 
13842
 
 
13843
  case 921:
 
13844
#line 5763 "sql_yacc.yy"
 
13845
    {}
 
13846
    break;
 
13847
 
 
13848
  case 922:
 
13849
#line 5764 "sql_yacc.yy"
 
13850
    {}
 
13851
    break;
 
13852
 
 
13853
  case 923:
 
13854
#line 5765 "sql_yacc.yy"
 
13855
    {}
 
13856
    break;
 
13857
 
 
13858
  case 924:
 
13859
#line 5766 "sql_yacc.yy"
 
13860
    {}
 
13861
    break;
 
13862
 
 
13863
  case 925:
 
13864
#line 5767 "sql_yacc.yy"
 
13865
    {}
 
13866
    break;
 
13867
 
 
13868
  case 926:
 
13869
#line 5768 "sql_yacc.yy"
 
13870
    {}
 
13871
    break;
 
13872
 
 
13873
  case 927:
 
13874
#line 5769 "sql_yacc.yy"
 
13875
    {}
 
13876
    break;
 
13877
 
 
13878
  case 928:
 
13879
#line 5770 "sql_yacc.yy"
 
13880
    {}
 
13881
    break;
 
13882
 
 
13883
  case 929:
 
13884
#line 5771 "sql_yacc.yy"
 
13885
    {}
 
13886
    break;
 
13887
 
 
13888
  case 930:
 
13889
#line 5772 "sql_yacc.yy"
 
13890
    {}
 
13891
    break;
 
13892
 
 
13893
  case 931:
 
13894
#line 5773 "sql_yacc.yy"
 
13895
    {}
 
13896
    break;
 
13897
 
 
13898
  case 932:
 
13899
#line 5774 "sql_yacc.yy"
 
13900
    {}
 
13901
    break;
 
13902
 
 
13903
  case 933:
 
13904
#line 5775 "sql_yacc.yy"
 
13905
    {}
 
13906
    break;
 
13907
 
 
13908
  case 934:
 
13909
#line 5776 "sql_yacc.yy"
 
13910
    {}
 
13911
    break;
 
13912
 
 
13913
  case 935:
 
13914
#line 5777 "sql_yacc.yy"
 
13915
    {}
 
13916
    break;
 
13917
 
 
13918
  case 936:
 
13919
#line 5778 "sql_yacc.yy"
 
13920
    {}
 
13921
    break;
 
13922
 
 
13923
  case 937:
 
13924
#line 5779 "sql_yacc.yy"
 
13925
    {}
 
13926
    break;
 
13927
 
 
13928
  case 938:
 
13929
#line 5780 "sql_yacc.yy"
 
13930
    {}
 
13931
    break;
 
13932
 
 
13933
  case 939:
 
13934
#line 5781 "sql_yacc.yy"
 
13935
    {}
 
13936
    break;
 
13937
 
 
13938
  case 940:
 
13939
#line 5782 "sql_yacc.yy"
 
13940
    {}
 
13941
    break;
 
13942
 
 
13943
  case 941:
 
13944
#line 5783 "sql_yacc.yy"
 
13945
    {}
 
13946
    break;
 
13947
 
 
13948
  case 942:
 
13949
#line 5784 "sql_yacc.yy"
 
13950
    {}
 
13951
    break;
 
13952
 
 
13953
  case 943:
 
13954
#line 5785 "sql_yacc.yy"
 
13955
    {}
 
13956
    break;
 
13957
 
 
13958
  case 944:
 
13959
#line 5786 "sql_yacc.yy"
 
13960
    {}
 
13961
    break;
 
13962
 
 
13963
  case 945:
 
13964
#line 5787 "sql_yacc.yy"
 
13965
    {}
 
13966
    break;
 
13967
 
 
13968
  case 946:
 
13969
#line 5788 "sql_yacc.yy"
 
13970
    {}
 
13971
    break;
 
13972
 
 
13973
  case 947:
 
13974
#line 5789 "sql_yacc.yy"
 
13975
    {}
 
13976
    break;
 
13977
 
 
13978
  case 948:
 
13979
#line 5790 "sql_yacc.yy"
 
13980
    {}
 
13981
    break;
 
13982
 
 
13983
  case 949:
 
13984
#line 5791 "sql_yacc.yy"
 
13985
    {}
 
13986
    break;
 
13987
 
 
13988
  case 950:
 
13989
#line 5792 "sql_yacc.yy"
 
13990
    {}
 
13991
    break;
 
13992
 
 
13993
  case 951:
 
13994
#line 5793 "sql_yacc.yy"
 
13995
    {}
 
13996
    break;
 
13997
 
 
13998
  case 952:
 
13999
#line 5794 "sql_yacc.yy"
 
14000
    {}
 
14001
    break;
 
14002
 
 
14003
  case 953:
 
14004
#line 5795 "sql_yacc.yy"
 
14005
    {}
 
14006
    break;
 
14007
 
 
14008
  case 954:
 
14009
#line 5796 "sql_yacc.yy"
 
14010
    {}
 
14011
    break;
 
14012
 
 
14013
  case 955:
 
14014
#line 5797 "sql_yacc.yy"
 
14015
    {}
 
14016
    break;
 
14017
 
 
14018
  case 956:
 
14019
#line 5798 "sql_yacc.yy"
 
14020
    {}
 
14021
    break;
 
14022
 
 
14023
  case 957:
 
14024
#line 5799 "sql_yacc.yy"
 
14025
    {}
 
14026
    break;
 
14027
 
 
14028
  case 958:
 
14029
#line 5800 "sql_yacc.yy"
 
14030
    {}
 
14031
    break;
 
14032
 
 
14033
  case 959:
 
14034
#line 5801 "sql_yacc.yy"
 
14035
    {}
 
14036
    break;
 
14037
 
 
14038
  case 960:
 
14039
#line 5802 "sql_yacc.yy"
 
14040
    {}
 
14041
    break;
 
14042
 
 
14043
  case 961:
 
14044
#line 5803 "sql_yacc.yy"
 
14045
    {}
 
14046
    break;
 
14047
 
 
14048
  case 962:
 
14049
#line 5804 "sql_yacc.yy"
 
14050
    {}
 
14051
    break;
 
14052
 
 
14053
  case 963:
 
14054
#line 5805 "sql_yacc.yy"
 
14055
    {}
 
14056
    break;
 
14057
 
 
14058
  case 964:
 
14059
#line 5806 "sql_yacc.yy"
 
14060
    {}
 
14061
    break;
 
14062
 
 
14063
  case 965:
 
14064
#line 5807 "sql_yacc.yy"
 
14065
    {}
 
14066
    break;
 
14067
 
 
14068
  case 966:
 
14069
#line 5808 "sql_yacc.yy"
 
14070
    {}
 
14071
    break;
 
14072
 
 
14073
  case 967:
 
14074
#line 5809 "sql_yacc.yy"
 
14075
    {}
 
14076
    break;
 
14077
 
 
14078
  case 968:
 
14079
#line 5810 "sql_yacc.yy"
 
14080
    {}
 
14081
    break;
 
14082
 
 
14083
  case 969:
 
14084
#line 5811 "sql_yacc.yy"
 
14085
    {}
 
14086
    break;
 
14087
 
 
14088
  case 970:
 
14089
#line 5812 "sql_yacc.yy"
 
14090
    {}
 
14091
    break;
 
14092
 
 
14093
  case 971:
 
14094
#line 5813 "sql_yacc.yy"
 
14095
    {}
 
14096
    break;
 
14097
 
 
14098
  case 972:
 
14099
#line 5814 "sql_yacc.yy"
 
14100
    {}
 
14101
    break;
 
14102
 
 
14103
  case 973:
 
14104
#line 5815 "sql_yacc.yy"
 
14105
    {}
 
14106
    break;
 
14107
 
 
14108
  case 974:
 
14109
#line 5816 "sql_yacc.yy"
 
14110
    {}
 
14111
    break;
 
14112
 
 
14113
  case 975:
 
14114
#line 5817 "sql_yacc.yy"
 
14115
    {}
 
14116
    break;
 
14117
 
 
14118
  case 976:
 
14119
#line 5818 "sql_yacc.yy"
 
14120
    {}
 
14121
    break;
 
14122
 
 
14123
  case 977:
 
14124
#line 5819 "sql_yacc.yy"
 
14125
    {}
 
14126
    break;
 
14127
 
 
14128
  case 978:
 
14129
#line 5820 "sql_yacc.yy"
 
14130
    {}
 
14131
    break;
 
14132
 
 
14133
  case 979:
 
14134
#line 5821 "sql_yacc.yy"
 
14135
    {}
 
14136
    break;
 
14137
 
 
14138
  case 980:
 
14139
#line 5822 "sql_yacc.yy"
 
14140
    {}
 
14141
    break;
 
14142
 
 
14143
  case 981:
 
14144
#line 5823 "sql_yacc.yy"
 
14145
    {}
 
14146
    break;
 
14147
 
 
14148
  case 982:
 
14149
#line 5824 "sql_yacc.yy"
 
14150
    {}
 
14151
    break;
 
14152
 
 
14153
  case 983:
 
14154
#line 5825 "sql_yacc.yy"
 
14155
    {}
 
14156
    break;
 
14157
 
 
14158
  case 984:
 
14159
#line 5826 "sql_yacc.yy"
 
14160
    {}
 
14161
    break;
 
14162
 
 
14163
  case 985:
 
14164
#line 5827 "sql_yacc.yy"
 
14165
    {}
 
14166
    break;
 
14167
 
 
14168
  case 986:
 
14169
#line 5828 "sql_yacc.yy"
 
14170
    {}
 
14171
    break;
 
14172
 
 
14173
  case 987:
 
14174
#line 5829 "sql_yacc.yy"
 
14175
    {}
 
14176
    break;
 
14177
 
 
14178
  case 988:
 
14179
#line 5830 "sql_yacc.yy"
 
14180
    {}
 
14181
    break;
 
14182
 
 
14183
  case 989:
 
14184
#line 5831 "sql_yacc.yy"
 
14185
    {}
 
14186
    break;
 
14187
 
 
14188
  case 990:
 
14189
#line 5832 "sql_yacc.yy"
 
14190
    {}
 
14191
    break;
 
14192
 
 
14193
  case 991:
 
14194
#line 5833 "sql_yacc.yy"
 
14195
    {}
 
14196
    break;
 
14197
 
 
14198
  case 992:
 
14199
#line 5834 "sql_yacc.yy"
 
14200
    {}
 
14201
    break;
 
14202
 
 
14203
  case 993:
 
14204
#line 5835 "sql_yacc.yy"
 
14205
    {}
 
14206
    break;
 
14207
 
 
14208
  case 994:
 
14209
#line 5836 "sql_yacc.yy"
 
14210
    {}
 
14211
    break;
 
14212
 
 
14213
  case 995:
 
14214
#line 5837 "sql_yacc.yy"
 
14215
    {}
 
14216
    break;
 
14217
 
 
14218
  case 996:
 
14219
#line 5838 "sql_yacc.yy"
 
14220
    {}
 
14221
    break;
 
14222
 
 
14223
  case 997:
 
14224
#line 5839 "sql_yacc.yy"
 
14225
    {}
 
14226
    break;
 
14227
 
 
14228
  case 998:
 
14229
#line 5840 "sql_yacc.yy"
 
14230
    {}
 
14231
    break;
 
14232
 
 
14233
  case 999:
 
14234
#line 5841 "sql_yacc.yy"
 
14235
    {}
 
14236
    break;
 
14237
 
 
14238
  case 1000:
 
14239
#line 5842 "sql_yacc.yy"
 
14240
    {}
 
14241
    break;
 
14242
 
 
14243
  case 1001:
 
14244
#line 5843 "sql_yacc.yy"
 
14245
    {}
 
14246
    break;
 
14247
 
 
14248
  case 1002:
 
14249
#line 5844 "sql_yacc.yy"
 
14250
    {}
 
14251
    break;
 
14252
 
 
14253
  case 1003:
 
14254
#line 5845 "sql_yacc.yy"
 
14255
    {}
 
14256
    break;
 
14257
 
 
14258
  case 1004:
 
14259
#line 5846 "sql_yacc.yy"
 
14260
    {}
 
14261
    break;
 
14262
 
 
14263
  case 1005:
 
14264
#line 5847 "sql_yacc.yy"
 
14265
    {}
 
14266
    break;
 
14267
 
 
14268
  case 1006:
 
14269
#line 5848 "sql_yacc.yy"
 
14270
    {}
 
14271
    break;
 
14272
 
 
14273
  case 1007:
 
14274
#line 5849 "sql_yacc.yy"
 
14275
    {}
 
14276
    break;
 
14277
 
 
14278
  case 1008:
 
14279
#line 5850 "sql_yacc.yy"
 
14280
    {}
 
14281
    break;
 
14282
 
 
14283
  case 1009:
 
14284
#line 5851 "sql_yacc.yy"
 
14285
    {}
 
14286
    break;
 
14287
 
 
14288
  case 1010:
 
14289
#line 5852 "sql_yacc.yy"
 
14290
    {}
 
14291
    break;
 
14292
 
 
14293
  case 1011:
 
14294
#line 5853 "sql_yacc.yy"
 
14295
    {}
 
14296
    break;
 
14297
 
 
14298
  case 1012:
 
14299
#line 5854 "sql_yacc.yy"
 
14300
    {}
 
14301
    break;
 
14302
 
 
14303
  case 1013:
 
14304
#line 5855 "sql_yacc.yy"
 
14305
    {}
 
14306
    break;
 
14307
 
 
14308
  case 1014:
 
14309
#line 5856 "sql_yacc.yy"
 
14310
    {}
 
14311
    break;
 
14312
 
 
14313
  case 1015:
 
14314
#line 5857 "sql_yacc.yy"
 
14315
    {}
 
14316
    break;
 
14317
 
 
14318
  case 1016:
 
14319
#line 5858 "sql_yacc.yy"
 
14320
    {}
 
14321
    break;
 
14322
 
 
14323
  case 1017:
 
14324
#line 5859 "sql_yacc.yy"
 
14325
    {}
 
14326
    break;
 
14327
 
 
14328
  case 1018:
 
14329
#line 5860 "sql_yacc.yy"
 
14330
    {}
 
14331
    break;
 
14332
 
 
14333
  case 1019:
 
14334
#line 5861 "sql_yacc.yy"
 
14335
    {}
 
14336
    break;
 
14337
 
 
14338
  case 1020:
 
14339
#line 5862 "sql_yacc.yy"
 
14340
    {}
 
14341
    break;
 
14342
 
 
14343
  case 1021:
 
14344
#line 5863 "sql_yacc.yy"
 
14345
    {}
 
14346
    break;
 
14347
 
 
14348
  case 1022:
 
14349
#line 5864 "sql_yacc.yy"
 
14350
    {}
 
14351
    break;
 
14352
 
 
14353
  case 1023:
 
14354
#line 5865 "sql_yacc.yy"
 
14355
    {}
 
14356
    break;
 
14357
 
 
14358
  case 1024:
 
14359
#line 5866 "sql_yacc.yy"
 
14360
    {}
 
14361
    break;
 
14362
 
 
14363
  case 1025:
 
14364
#line 5867 "sql_yacc.yy"
 
14365
    {}
 
14366
    break;
 
14367
 
 
14368
  case 1026:
 
14369
#line 5868 "sql_yacc.yy"
 
14370
    {}
 
14371
    break;
 
14372
 
 
14373
  case 1027:
 
14374
#line 5869 "sql_yacc.yy"
 
14375
    {}
 
14376
    break;
 
14377
 
 
14378
  case 1028:
 
14379
#line 5870 "sql_yacc.yy"
 
14380
    {}
 
14381
    break;
 
14382
 
 
14383
  case 1029:
 
14384
#line 5871 "sql_yacc.yy"
 
14385
    {}
 
14386
    break;
 
14387
 
 
14388
  case 1030:
 
14389
#line 5872 "sql_yacc.yy"
 
14390
    {}
 
14391
    break;
 
14392
 
 
14393
  case 1031:
 
14394
#line 5873 "sql_yacc.yy"
 
14395
    {}
 
14396
    break;
 
14397
 
 
14398
  case 1032:
 
14399
#line 5874 "sql_yacc.yy"
 
14400
    {}
 
14401
    break;
 
14402
 
 
14403
  case 1033:
 
14404
#line 5875 "sql_yacc.yy"
 
14405
    {}
 
14406
    break;
 
14407
 
 
14408
  case 1034:
 
14409
#line 5876 "sql_yacc.yy"
 
14410
    {}
 
14411
    break;
 
14412
 
 
14413
  case 1035:
 
14414
#line 5877 "sql_yacc.yy"
 
14415
    {}
 
14416
    break;
 
14417
 
 
14418
  case 1036:
 
14419
#line 5878 "sql_yacc.yy"
 
14420
    {}
 
14421
    break;
 
14422
 
 
14423
  case 1037:
 
14424
#line 5879 "sql_yacc.yy"
 
14425
    {}
 
14426
    break;
 
14427
 
 
14428
  case 1038:
 
14429
#line 5880 "sql_yacc.yy"
 
14430
    {}
 
14431
    break;
 
14432
 
 
14433
  case 1039:
 
14434
#line 5881 "sql_yacc.yy"
 
14435
    {}
 
14436
    break;
 
14437
 
 
14438
  case 1040:
 
14439
#line 5882 "sql_yacc.yy"
 
14440
    {}
 
14441
    break;
 
14442
 
 
14443
  case 1041:
 
14444
#line 5883 "sql_yacc.yy"
 
14445
    {}
 
14446
    break;
 
14447
 
 
14448
  case 1042:
 
14449
#line 5884 "sql_yacc.yy"
 
14450
    {}
 
14451
    break;
 
14452
 
 
14453
  case 1043:
 
14454
#line 5885 "sql_yacc.yy"
 
14455
    {}
 
14456
    break;
 
14457
 
 
14458
  case 1044:
 
14459
#line 5886 "sql_yacc.yy"
 
14460
    {}
 
14461
    break;
 
14462
 
 
14463
  case 1045:
 
14464
#line 5887 "sql_yacc.yy"
 
14465
    {}
 
14466
    break;
 
14467
 
 
14468
  case 1046:
 
14469
#line 5888 "sql_yacc.yy"
 
14470
    {}
 
14471
    break;
 
14472
 
 
14473
  case 1047:
 
14474
#line 5889 "sql_yacc.yy"
 
14475
    {}
 
14476
    break;
 
14477
 
 
14478
  case 1048:
 
14479
#line 5890 "sql_yacc.yy"
 
14480
    {}
 
14481
    break;
 
14482
 
 
14483
  case 1049:
 
14484
#line 5891 "sql_yacc.yy"
 
14485
    {}
 
14486
    break;
 
14487
 
 
14488
  case 1050:
 
14489
#line 5892 "sql_yacc.yy"
 
14490
    {}
 
14491
    break;
 
14492
 
 
14493
  case 1051:
 
14494
#line 5893 "sql_yacc.yy"
 
14495
    {}
 
14496
    break;
 
14497
 
 
14498
  case 1052:
 
14499
#line 5894 "sql_yacc.yy"
 
14500
    {}
 
14501
    break;
 
14502
 
 
14503
  case 1053:
 
14504
#line 5901 "sql_yacc.yy"
 
14505
    {
 
14506
            LEX *lex=Lex;
 
14507
            lex->sql_command= SQLCOM_SET_OPTION;
 
14508
            statement::SetOption *statement= new(std::nothrow) statement::SetOption(YYSession);
 
14509
            lex->statement= statement;
 
14510
            if (lex->statement == NULL)
 
14511
              DRIZZLE_YYABORT;
 
14512
            mysql_init_select(lex);
 
14513
            lex->option_type=OPT_SESSION;
 
14514
            lex->var_list.empty();
 
14515
          }
 
14516
    break;
 
14517
 
 
14518
  case 1054:
 
14519
#line 5913 "sql_yacc.yy"
 
14520
    {}
 
14521
    break;
 
14522
 
 
14523
  case 1055:
 
14524
#line 5917 "sql_yacc.yy"
 
14525
    {}
 
14526
    break;
 
14527
 
 
14528
  case 1056:
 
14529
#line 5918 "sql_yacc.yy"
 
14530
    {}
 
14531
    break;
 
14532
 
 
14533
  case 1059:
 
14534
#line 5927 "sql_yacc.yy"
 
14535
    {
 
14536
          }
 
14537
    break;
 
14538
 
 
14539
  case 1060:
 
14540
#line 5930 "sql_yacc.yy"
 
14541
    {
 
14542
          }
 
14543
    break;
 
14544
 
 
14545
  case 1061:
 
14546
#line 5935 "sql_yacc.yy"
 
14547
    {}
 
14548
    break;
 
14549
 
 
14550
  case 1062:
 
14551
#line 5936 "sql_yacc.yy"
 
14552
    { (yyval.var_type)=OPT_GLOBAL; }
 
14553
    break;
 
14554
 
 
14555
  case 1063:
 
14556
#line 5937 "sql_yacc.yy"
 
14557
    { (yyval.var_type)=OPT_SESSION; }
 
14558
    break;
 
14559
 
 
14560
  case 1064:
 
14561
#line 5938 "sql_yacc.yy"
 
14562
    { (yyval.var_type)=OPT_SESSION; }
 
14563
    break;
 
14564
 
 
14565
  case 1065:
 
14566
#line 5942 "sql_yacc.yy"
 
14567
    { (yyval.num)= OPT_DEFAULT; }
 
14568
    break;
 
14569
 
 
14570
  case 1066:
 
14571
#line 5943 "sql_yacc.yy"
 
14572
    { ((statement::SetOption *)Lex->statement)->one_shot_set= true; (yyval.num)= OPT_SESSION; }
 
14573
    break;
 
14574
 
 
14575
  case 1067:
 
14576
#line 5947 "sql_yacc.yy"
 
14577
    { (yyval.var_type)=OPT_SESSION; }
 
14578
    break;
 
14579
 
 
14580
  case 1068:
 
14581
#line 5948 "sql_yacc.yy"
 
14582
    { (yyval.var_type)=OPT_GLOBAL; }
 
14583
    break;
 
14584
 
 
14585
  case 1069:
 
14586
#line 5949 "sql_yacc.yy"
 
14587
    { (yyval.var_type)=OPT_SESSION; }
 
14588
    break;
 
14589
 
 
14590
  case 1070:
 
14591
#line 5950 "sql_yacc.yy"
 
14592
    { (yyval.var_type)=OPT_SESSION; }
 
14593
    break;
 
14594
 
 
14595
  case 1071:
 
14596
#line 5954 "sql_yacc.yy"
 
14597
    { (yyval.var_type)=OPT_DEFAULT; }
 
14598
    break;
 
14599
 
 
14600
  case 1072:
 
14601
#line 5955 "sql_yacc.yy"
 
14602
    { (yyval.var_type)=OPT_GLOBAL; }
 
14603
    break;
 
14604
 
 
14605
  case 1073:
 
14606
#line 5956 "sql_yacc.yy"
 
14607
    { (yyval.var_type)=OPT_SESSION; }
 
14608
    break;
 
14609
 
 
14610
  case 1074:
 
14611
#line 5957 "sql_yacc.yy"
 
14612
    { (yyval.var_type)=OPT_SESSION; }
 
14613
    break;
 
14614
 
 
14615
  case 1077:
 
14616
#line 5967 "sql_yacc.yy"
 
14617
    {
 
14618
            LEX *lex=Lex;
 
14619
 
 
14620
            if ((yyvsp[(2) - (4)].variable).var)
 
14621
            { /* System variable */
 
14622
              if ((yyvsp[(1) - (4)].var_type))
 
14623
                lex->option_type= (yyvsp[(1) - (4)].var_type);
 
14624
              lex->var_list.push_back(new set_var(lex->option_type, (yyvsp[(2) - (4)].variable).var,
 
14625
                                      &(yyvsp[(2) - (4)].variable).base_name, (yyvsp[(4) - (4)].item)));
 
14626
            }
 
14627
          }
 
14628
    break;
 
14629
 
 
14630
  case 1078:
 
14631
#line 5979 "sql_yacc.yy"
 
14632
    {
 
14633
            LEX *lex=Lex;
 
14634
            lex->option_type= (yyvsp[(1) - (5)].var_type);
 
14635
            lex->var_list.push_back(new set_var(lex->option_type,
 
14636
                                                find_sys_var(YYSession, "tx_isolation"),
 
14637
                                                &null_lex_str,
 
14638
                                                new Item_int((int32_t) (yyvsp[(5) - (5)].tx_isolation))));
 
14639
          }
 
14640
    break;
 
14641
 
 
14642
  case 1079:
 
14643
#line 5991 "sql_yacc.yy"
 
14644
    {
 
14645
            Lex->var_list.push_back(new set_var_user(new Item_func_set_user_var((yyvsp[(2) - (4)].lex_str),(yyvsp[(4) - (4)].item))));
 
14646
          }
 
14647
    break;
 
14648
 
 
14649
  case 1080:
 
14650
#line 5995 "sql_yacc.yy"
 
14651
    {
 
14652
            LEX *lex=Lex;
 
14653
            lex->var_list.push_back(new set_var((yyvsp[(3) - (6)].var_type), (yyvsp[(4) - (6)].variable).var, &(yyvsp[(4) - (6)].variable).base_name, (yyvsp[(6) - (6)].item)));
 
14654
          }
 
14655
    break;
 
14656
 
 
14657
  case 1081:
 
14658
#line 6003 "sql_yacc.yy"
 
14659
    {
 
14660
            Session *session= YYSession;
 
14661
 
 
14662
            /* We have to lookup here since local vars can shadow sysvars */
 
14663
            {
 
14664
              /* Not an SP local variable */
 
14665
              sys_var *tmp=find_sys_var(session, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
 
14666
              if (!tmp)
 
14667
                DRIZZLE_YYABORT;
 
14668
              (yyval.variable).var= tmp;
 
14669
              (yyval.variable).base_name= null_lex_str;
 
14670
            }
 
14671
          }
 
14672
    break;
 
14673
 
 
14674
  case 1082:
 
14675
#line 6019 "sql_yacc.yy"
 
14676
    { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
 
14677
    break;
 
14678
 
 
14679
  case 1083:
 
14680
#line 6020 "sql_yacc.yy"
 
14681
    { (yyval.tx_isolation)= ISO_READ_COMMITTED; }
 
14682
    break;
 
14683
 
 
14684
  case 1084:
 
14685
#line 6021 "sql_yacc.yy"
 
14686
    { (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
 
14687
    break;
 
14688
 
 
14689
  case 1085:
 
14690
#line 6022 "sql_yacc.yy"
 
14691
    { (yyval.tx_isolation)= ISO_SERIALIZABLE; }
 
14692
    break;
 
14693
 
 
14694
  case 1086:
 
14695
#line 6026 "sql_yacc.yy"
 
14696
    { (yyval.item)=(yyvsp[(1) - (1)].item); }
 
14697
    break;
 
14698
 
 
14699
  case 1087:
 
14700
#line 6027 "sql_yacc.yy"
 
14701
    { (yyval.item)=0; }
 
14702
    break;
 
14703
 
 
14704
  case 1088:
 
14705
#line 6028 "sql_yacc.yy"
 
14706
    { (yyval.item)=new Item_string("ON",  2, system_charset_info); }
 
14707
    break;
 
14708
 
 
14709
  case 1089:
 
14710
#line 6029 "sql_yacc.yy"
 
14711
    { (yyval.item)=new Item_string("ALL", 3, system_charset_info); }
 
14712
    break;
 
14713
 
 
14714
  case 1090:
 
14715
#line 6030 "sql_yacc.yy"
 
14716
    { (yyval.item)=new Item_string("binary", 6, system_charset_info); }
 
14717
    break;
 
14718
 
 
14719
  case 1093:
 
14720
#line 6040 "sql_yacc.yy"
 
14721
    {
 
14722
            LEX *lex= Lex;
 
14723
            lex->sql_command= SQLCOM_UNLOCK_TABLES;
 
14724
            lex->statement= new(std::nothrow) statement::UnlockTables(YYSession);
 
14725
            if (lex->statement == NULL)
 
14726
              DRIZZLE_YYABORT;
 
14727
          }
 
14728
    break;
 
14729
 
 
14730
  case 1094:
 
14731
#line 6048 "sql_yacc.yy"
 
14732
    {}
 
14733
    break;
 
14734
 
 
14735
  case 1095:
 
14736
#line 6053 "sql_yacc.yy"
 
14737
    {
 
14738
            LEX *lex=Lex;
 
14739
            lex->sql_command = SQLCOM_BEGIN;
 
14740
            lex->statement= new(std::nothrow) statement::StartTransaction(YYSession);
 
14741
            if (lex->statement == NULL)
 
14742
              DRIZZLE_YYABORT;
 
14743
          }
 
14744
    break;
 
14745
 
 
14746
  case 1096:
 
14747
#line 6060 "sql_yacc.yy"
 
14748
    {}
 
14749
    break;
 
14750
 
 
14751
  case 1097:
 
14752
#line 6064 "sql_yacc.yy"
 
14753
    {}
 
14754
    break;
 
14755
 
 
14756
  case 1098:
 
14757
#line 6065 "sql_yacc.yy"
 
14758
    {}
 
14759
    break;
 
14760
 
 
14761
  case 1099:
 
14762
#line 6070 "sql_yacc.yy"
 
14763
    { (yyval.num)= (YYSession->variables.completion_type == 1); }
 
14764
    break;
 
14765
 
 
14766
  case 1100:
 
14767
#line 6071 "sql_yacc.yy"
 
14768
    { (yyval.num)=0; }
 
14769
    break;
 
14770
 
 
14771
  case 1101:
 
14772
#line 6072 "sql_yacc.yy"
 
14773
    { (yyval.num)=1; }
 
14774
    break;
 
14775
 
 
14776
  case 1102:
 
14777
#line 6077 "sql_yacc.yy"
 
14778
    { (yyval.num)= (YYSession->variables.completion_type == 2); }
 
14779
    break;
 
14780
 
 
14781
  case 1103:
 
14782
#line 6078 "sql_yacc.yy"
 
14783
    { (yyval.num)=1; }
 
14784
    break;
 
14785
 
 
14786
  case 1104:
 
14787
#line 6079 "sql_yacc.yy"
 
14788
    { (yyval.num)=0; }
 
14789
    break;
 
14790
 
 
14791
  case 1105:
 
14792
#line 6083 "sql_yacc.yy"
 
14793
    {}
 
14794
    break;
 
14795
 
 
14796
  case 1106:
 
14797
#line 6084 "sql_yacc.yy"
 
14798
    {}
 
14799
    break;
 
14800
 
 
14801
  case 1107:
 
14802
#line 6089 "sql_yacc.yy"
 
14803
    {
 
14804
            LEX *lex=Lex;
 
14805
            lex->sql_command= SQLCOM_COMMIT;
 
14806
            statement::Commit *statement= new(std::nothrow) statement::Commit(YYSession);
 
14807
            lex->statement= statement;
 
14808
            if (lex->statement == NULL)
 
14809
              DRIZZLE_YYABORT;
 
14810
            statement->tx_chain= (yyvsp[(3) - (4)].num);
 
14811
            statement->tx_release= (yyvsp[(4) - (4)].num);
 
14812
          }
 
14813
    break;
 
14814
 
 
14815
  case 1108:
 
14816
#line 6103 "sql_yacc.yy"
 
14817
    {
 
14818
            LEX *lex=Lex;
 
14819
            lex->sql_command= SQLCOM_ROLLBACK;
 
14820
            statement::Rollback *statement= new(std::nothrow) statement::Rollback(YYSession);
 
14821
            lex->statement= statement;
 
14822
            if (lex->statement == NULL)
 
14823
              DRIZZLE_YYABORT;
 
14824
            statement->tx_chain= (yyvsp[(3) - (4)].num);
 
14825
            statement->tx_release= (yyvsp[(4) - (4)].num);
 
14826
          }
 
14827
    break;
 
14828
 
 
14829
  case 1109:
 
14830
#line 6115 "sql_yacc.yy"
 
14831
    {
 
14832
            LEX *lex=Lex;
 
14833
            lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT;
 
14834
            lex->statement= new(std::nothrow) statement::RollbackToSavepoint(YYSession);
 
14835
            if (lex->statement == NULL)
 
14836
              DRIZZLE_YYABORT;
 
14837
            lex->ident= (yyvsp[(5) - (5)].lex_str);
 
14838
          }
 
14839
    break;
 
14840
 
 
14841
  case 1110:
 
14842
#line 6127 "sql_yacc.yy"
 
14843
    {
 
14844
            LEX *lex=Lex;
 
14845
            lex->sql_command= SQLCOM_SAVEPOINT;
 
14846
            lex->statement= new(std::nothrow) statement::Savepoint(YYSession);
 
14847
            if (lex->statement == NULL)
 
14848
              DRIZZLE_YYABORT;
 
14849
            lex->ident= (yyvsp[(2) - (2)].lex_str);
 
14850
          }
 
14851
    break;
 
14852
 
 
14853
  case 1111:
 
14854
#line 6139 "sql_yacc.yy"
 
14855
    {
 
14856
            LEX *lex=Lex;
 
14857
            lex->sql_command= SQLCOM_RELEASE_SAVEPOINT;
 
14858
            lex->statement= new(std::nothrow) statement::ReleaseSavepoint(YYSession);
 
14859
            if (lex->statement == NULL)
 
14860
              DRIZZLE_YYABORT;
 
14861
            lex->ident= (yyvsp[(3) - (3)].lex_str);
 
14862
          }
 
14863
    break;
 
14864
 
 
14865
  case 1112:
 
14866
#line 6155 "sql_yacc.yy"
 
14867
    {}
 
14868
    break;
 
14869
 
 
14870
  case 1114:
 
14871
#line 6161 "sql_yacc.yy"
 
14872
    {
 
14873
            if (add_select_to_union_list(Lex, (bool)(yyvsp[(2) - (2)].num)))
 
14874
              DRIZZLE_YYABORT;
 
14875
          }
 
14876
    break;
 
14877
 
 
14878
  case 1115:
 
14879
#line 6166 "sql_yacc.yy"
 
14880
    {
 
14881
            /*
 
14882
              Remove from the name resolution context stack the context of the
 
14883
              last select in the union.
 
14884
            */
 
14885
            Lex->pop_context();
 
14886
          }
 
14887
    break;
 
14888
 
 
14889
  case 1116:
 
14890
#line 6176 "sql_yacc.yy"
 
14891
    { (yyval.num)= 0; }
 
14892
    break;
 
14893
 
 
14894
  case 1117:
 
14895
#line 6177 "sql_yacc.yy"
 
14896
    { (yyval.num)= 1; }
 
14897
    break;
 
14898
 
 
14899
  case 1118:
 
14900
#line 6178 "sql_yacc.yy"
 
14901
    { (yyval.num)= 1; }
 
14902
    break;
 
14903
 
 
14904
  case 1119:
 
14905
#line 6182 "sql_yacc.yy"
 
14906
    {
 
14907
            Session *session= YYSession;
 
14908
            LEX *lex= session->lex;
 
14909
            assert(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
 
14910
            Select_Lex *sel= lex->current_select;
 
14911
            Select_Lex_Unit *unit= sel->master_unit();
 
14912
            Select_Lex *fake= unit->fake_select_lex;
 
14913
            if (fake)
 
14914
            {
 
14915
              unit->global_parameters= fake;
 
14916
              fake->no_table_names_allowed= 1;
 
14917
              lex->current_select= fake;
 
14918
            }
 
14919
            session->where= "global ORDER clause";
 
14920
          }
 
14921
    break;
 
14922
 
 
14923
  case 1120:
 
14924
#line 6198 "sql_yacc.yy"
 
14925
    {
 
14926
            Session *session= YYSession;
 
14927
            session->lex->current_select->no_table_names_allowed= 0;
 
14928
            session->where= "";
 
14929
          }
 
14930
    break;
 
14931
 
 
14932
  case 1123:
 
14933
#line 6211 "sql_yacc.yy"
 
14934
    { (yyval.num)=1; }
 
14935
    break;
 
14936
 
 
14937
  case 1124:
 
14938
#line 6212 "sql_yacc.yy"
 
14939
    { (yyval.num)=1; }
 
14940
    break;
 
14941
 
 
14942
  case 1125:
 
14943
#line 6213 "sql_yacc.yy"
 
14944
    { (yyval.num)=0; }
 
14945
    break;
 
14946
 
 
14947
  case 1126:
 
14948
#line 6218 "sql_yacc.yy"
 
14949
    {
 
14950
            (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
 
14951
          }
 
14952
    break;
 
14953
 
 
14954
  case 1127:
 
14955
#line 6222 "sql_yacc.yy"
 
14956
    {
 
14957
            (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
 
14958
          }
 
14959
    break;
 
14960
 
 
14961
  case 1129:
 
14962
#line 6231 "sql_yacc.yy"
 
14963
    {
 
14964
            if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num)))
 
14965
              DRIZZLE_YYABORT;
 
14966
          }
 
14967
    break;
 
14968
 
 
14969
  case 1130:
 
14970
#line 6236 "sql_yacc.yy"
 
14971
    {
 
14972
            Lex->pop_context();
 
14973
            (yyval.select_lex)= (yyvsp[(1) - (5)].select_lex);
 
14974
          }
 
14975
    break;
 
14976
 
 
14977
  case 1131:
 
14978
#line 6245 "sql_yacc.yy"
 
14979
    {
 
14980
            (yyval.select_lex)= (yyvsp[(2) - (3)].select_lex);
 
14981
          }
 
14982
    break;
 
14983
 
 
14984
  case 1132:
 
14985
#line 6251 "sql_yacc.yy"
 
14986
    {
 
14987
            LEX *lex=Lex;
 
14988
            if (!lex->expr_allows_subselect)
 
14989
            {
 
14990
              my_parse_error(ER(ER_SYNTAX_ERROR));
 
14991
              DRIZZLE_YYABORT;
 
14992
            }
 
14993
            /*
 
14994
              we are making a "derived table" for the parenthesis
 
14995
              as we need to have a lex level to fit the union
 
14996
              after the parenthesis, e.g.
 
14997
              (SELECT .. ) UNION ...  becomes
 
14998
              SELECT * FROM ((SELECT ...) UNION ...)
 
14999
            */
 
15000
            if (mysql_new_select(Lex, 1))
 
15001
              DRIZZLE_YYABORT;
 
15002
          }
 
15003
    break;
 
15004
 
 
15005
  case 1133:
 
15006
#line 6271 "sql_yacc.yy"
 
15007
    {
 
15008
            LEX *lex=Lex;
 
15009
            lex->pop_context();
 
15010
            Select_Lex *child= lex->current_select;
 
15011
            lex->current_select = lex->current_select->return_after_parsing();
 
15012
            lex->nest_level--;
 
15013
            lex->current_select->n_child_sum_items += child->n_sum_items;
 
15014
            /*
 
15015
              A subselect can add fields to an outer select. Reserve space for
 
15016
              them.
 
15017
            */
 
15018
            lex->current_select->select_n_where_fields+=
 
15019
            child->select_n_where_fields;
 
15020
          }
 
15021
    break;
 
15022
 
 
15023
 
 
15024
/* Line 1267 of yacc.c.  */
 
15025
#line 15026 "drizzled/sql_yacc.cc"
 
15026
      default: break;
 
15027
    }
 
15028
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
 
15029
 
 
15030
  YYPOPSTACK (yylen);
 
15031
  yylen = 0;
 
15032
  YY_STACK_PRINT (yyss, yyssp);
 
15033
 
 
15034
  *++yyvsp = yyval;
 
15035
 
 
15036
 
 
15037
  /* Now `shift' the result of the reduction.  Determine what state
 
15038
     that goes to, based on the state we popped back to and the rule
 
15039
     number reduced by.  */
 
15040
 
 
15041
  yyn = yyr1[yyn];
 
15042
 
 
15043
  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
 
15044
  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
 
15045
    yystate = yytable[yystate];
 
15046
  else
 
15047
    yystate = yydefgoto[yyn - YYNTOKENS];
 
15048
 
 
15049
  goto yynewstate;
 
15050
 
 
15051
 
 
15052
/*------------------------------------.
 
15053
| yyerrlab -- here on detecting error |
 
15054
`------------------------------------*/
 
15055
yyerrlab:
 
15056
  /* If not already recovering from an error, report this error.  */
 
15057
  if (!yyerrstatus)
 
15058
    {
 
15059
      ++yynerrs;
 
15060
#if ! YYERROR_VERBOSE
 
15061
      yyerror (YY_("syntax error"));
 
15062
#else
 
15063
      {
 
15064
        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
 
15065
        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
 
15066
          {
 
15067
            YYSIZE_T yyalloc = 2 * yysize;
 
15068
            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
 
15069
              yyalloc = YYSTACK_ALLOC_MAXIMUM;
 
15070
            if (yymsg != yymsgbuf)
 
15071
              YYSTACK_FREE (yymsg);
 
15072
            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
 
15073
            if (yymsg)
 
15074
              yymsg_alloc = yyalloc;
 
15075
            else
 
15076
              {
 
15077
                yymsg = yymsgbuf;
 
15078
                yymsg_alloc = sizeof yymsgbuf;
 
15079
              }
 
15080
          }
 
15081
 
 
15082
        if (0 < yysize && yysize <= yymsg_alloc)
 
15083
          {
 
15084
            (void) yysyntax_error (yymsg, yystate, yychar);
 
15085
            yyerror (yymsg);
 
15086
          }
 
15087
        else
 
15088
          {
 
15089
            yyerror (YY_("syntax error"));
 
15090
            if (yysize != 0)
 
15091
              goto yyexhaustedlab;
 
15092
          }
 
15093
      }
 
15094
#endif
 
15095
    }
 
15096
 
 
15097
 
 
15098
 
 
15099
  if (yyerrstatus == 3)
 
15100
    {
 
15101
      /* If just tried and failed to reuse look-ahead token after an
 
15102
         error, discard it.  */
 
15103
 
 
15104
      if (yychar <= YYEOF)
 
15105
        {
 
15106
          /* Return failure if at end of input.  */
 
15107
          if (yychar == YYEOF)
 
15108
            YYABORT;
 
15109
        }
 
15110
      else
 
15111
        {
 
15112
          yydestruct ("Error: discarding",
 
15113
                      yytoken, &yylval);
 
15114
          yychar = YYEMPTY;
 
15115
        }
 
15116
    }
 
15117
 
 
15118
  /* Else will try to reuse look-ahead token after shifting the error
 
15119
     token.  */
 
15120
  goto yyerrlab1;
 
15121
 
 
15122
 
 
15123
/*---------------------------------------------------.
 
15124
| yyerrorlab -- error raised explicitly by YYERROR.  |
 
15125
`---------------------------------------------------*/
 
15126
yyerrorlab:
 
15127
 
 
15128
  /* Pacify compilers like GCC when the user code never invokes
 
15129
     YYERROR and the label yyerrorlab therefore never appears in user
 
15130
     code.  */
 
15131
  if (/*CONSTCOND*/ 0)
 
15132
     goto yyerrorlab;
 
15133
 
 
15134
  /* Do not reclaim the symbols of the rule which action triggered
 
15135
     this YYERROR.  */
 
15136
  YYPOPSTACK (yylen);
 
15137
  yylen = 0;
 
15138
  YY_STACK_PRINT (yyss, yyssp);
 
15139
  yystate = *yyssp;
 
15140
  goto yyerrlab1;
 
15141
 
 
15142
 
 
15143
/*-------------------------------------------------------------.
 
15144
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
 
15145
`-------------------------------------------------------------*/
 
15146
yyerrlab1:
 
15147
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
 
15148
 
 
15149
  for (;;)
 
15150
    {
 
15151
      yyn = yypact[yystate];
 
15152
      if (yyn != YYPACT_NINF)
 
15153
        {
 
15154
          yyn += YYTERROR;
 
15155
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
 
15156
            {
 
15157
              yyn = yytable[yyn];
 
15158
              if (0 < yyn)
 
15159
                break;
 
15160
            }
 
15161
        }
 
15162
 
 
15163
      /* Pop the current state because it cannot handle the error token.  */
 
15164
      if (yyssp == yyss)
 
15165
        YYABORT;
 
15166
 
 
15167
 
 
15168
      yydestruct ("Error: popping",
 
15169
                  yystos[yystate], yyvsp);
 
15170
      YYPOPSTACK (1);
 
15171
      yystate = *yyssp;
 
15172
      YY_STACK_PRINT (yyss, yyssp);
 
15173
    }
 
15174
 
 
15175
  if (yyn == YYFINAL)
 
15176
    YYACCEPT;
 
15177
 
 
15178
  *++yyvsp = yylval;
 
15179
 
 
15180
 
 
15181
  /* Shift the error token.  */
 
15182
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
 
15183
 
 
15184
  yystate = yyn;
 
15185
  goto yynewstate;
 
15186
 
 
15187
 
 
15188
/*-------------------------------------.
 
15189
| yyacceptlab -- YYACCEPT comes here.  |
 
15190
`-------------------------------------*/
 
15191
yyacceptlab:
 
15192
  yyresult = 0;
 
15193
  goto yyreturn;
 
15194
 
 
15195
/*-----------------------------------.
 
15196
| yyabortlab -- YYABORT comes here.  |
 
15197
`-----------------------------------*/
 
15198
yyabortlab:
 
15199
  yyresult = 1;
 
15200
  goto yyreturn;
 
15201
 
 
15202
#ifndef yyoverflow
 
15203
/*-------------------------------------------------.
 
15204
| yyexhaustedlab -- memory exhaustion comes here.  |
 
15205
`-------------------------------------------------*/
 
15206
yyexhaustedlab:
 
15207
  yyerror (YY_("memory exhausted"));
 
15208
  yyresult = 2;
 
15209
  /* Fall through.  */
 
15210
#endif
 
15211
 
 
15212
yyreturn:
 
15213
  if (yychar != YYEOF && yychar != YYEMPTY)
 
15214
     yydestruct ("Cleanup: discarding lookahead",
 
15215
                 yytoken, &yylval);
 
15216
  /* Do not reclaim the symbols of the rule which action triggered
 
15217
     this YYABORT or YYACCEPT.  */
 
15218
  YYPOPSTACK (yylen);
 
15219
  YY_STACK_PRINT (yyss, yyssp);
 
15220
  while (yyssp != yyss)
 
15221
    {
 
15222
      yydestruct ("Cleanup: popping",
 
15223
                  yystos[*yyssp], yyvsp);
 
15224
      YYPOPSTACK (1);
 
15225
    }
 
15226
#ifndef yyoverflow
 
15227
  if (yyss != yyssa)
 
15228
    YYSTACK_FREE (yyss);
 
15229
#endif
 
15230
#if YYERROR_VERBOSE
 
15231
  if (yymsg != yymsgbuf)
 
15232
    YYSTACK_FREE (yymsg);
 
15233
#endif
 
15234
  /* Make sure YYID is used.  */
 
15235
  return YYID (yyresult);
 
15236
}
 
15237
 
 
15238
 
 
15239