Coverage Report

Created: 2024-07-23 06:37

/src/sql-parser/src/parser/flex_lexer.cpp
Line
Count
Source (jump to first uncovered line)
1
#line 1 "flex_lexer.cpp"
2
3
#line 3 "flex_lexer.cpp"
4
5
#define  YY_INT_ALIGNED short int
6
7
/* A lexical scanner generated by flex */
8
9
#define FLEX_SCANNER
10
#define YY_FLEX_MAJOR_VERSION 2
11
#define YY_FLEX_MINOR_VERSION 6
12
#define YY_FLEX_SUBMINOR_VERSION 4
13
#if YY_FLEX_SUBMINOR_VERSION > 0
14
#define FLEX_BETA
15
#endif
16
17
#ifdef yy_create_buffer
18
#define hsql__create_buffer_ALREADY_DEFINED
19
#else
20
0
#define yy_create_buffer hsql__create_buffer
21
#endif
22
23
#ifdef yy_delete_buffer
24
#define hsql__delete_buffer_ALREADY_DEFINED
25
#else
26
0
#define yy_delete_buffer hsql__delete_buffer
27
#endif
28
29
#ifdef yy_scan_buffer
30
#define hsql__scan_buffer_ALREADY_DEFINED
31
#else
32
5.72k
#define yy_scan_buffer hsql__scan_buffer
33
#endif
34
35
#ifdef yy_scan_string
36
#define hsql__scan_string_ALREADY_DEFINED
37
#else
38
#define yy_scan_string hsql__scan_string
39
#endif
40
41
#ifdef yy_scan_bytes
42
#define hsql__scan_bytes_ALREADY_DEFINED
43
#else
44
5.72k
#define yy_scan_bytes hsql__scan_bytes
45
#endif
46
47
#ifdef yy_init_buffer
48
#define hsql__init_buffer_ALREADY_DEFINED
49
#else
50
0
#define yy_init_buffer hsql__init_buffer
51
#endif
52
53
#ifdef yy_flush_buffer
54
#define hsql__flush_buffer_ALREADY_DEFINED
55
#else
56
0
#define yy_flush_buffer hsql__flush_buffer
57
#endif
58
59
#ifdef yy_load_buffer_state
60
#define hsql__load_buffer_state_ALREADY_DEFINED
61
#else
62
11.4k
#define yy_load_buffer_state hsql__load_buffer_state
63
#endif
64
65
#ifdef yy_switch_to_buffer
66
#define hsql__switch_to_buffer_ALREADY_DEFINED
67
#else
68
5.72k
#define yy_switch_to_buffer hsql__switch_to_buffer
69
#endif
70
71
#ifdef yypush_buffer_state
72
#define hsql_push_buffer_state_ALREADY_DEFINED
73
#else
74
#define yypush_buffer_state hsql_push_buffer_state
75
#endif
76
77
#ifdef yypop_buffer_state
78
#define hsql_pop_buffer_state_ALREADY_DEFINED
79
#else
80
0
#define yypop_buffer_state hsql_pop_buffer_state
81
#endif
82
83
#ifdef yyensure_buffer_stack
84
#define hsql_ensure_buffer_stack_ALREADY_DEFINED
85
#else
86
5.72k
#define yyensure_buffer_stack hsql_ensure_buffer_stack
87
#endif
88
89
#ifdef yylex
90
#define hsql_lex_ALREADY_DEFINED
91
#else
92
#define yylex hsql_lex
93
#endif
94
95
#ifdef yyrestart
96
#define hsql_restart_ALREADY_DEFINED
97
#else
98
0
#define yyrestart hsql_restart
99
#endif
100
101
#ifdef yylex_init
102
#define hsql_lex_init_ALREADY_DEFINED
103
#else
104
#define yylex_init hsql_lex_init
105
#endif
106
107
#ifdef yylex_init_extra
108
#define hsql_lex_init_extra_ALREADY_DEFINED
109
#else
110
#define yylex_init_extra hsql_lex_init_extra
111
#endif
112
113
#ifdef yylex_destroy
114
#define hsql_lex_destroy_ALREADY_DEFINED
115
#else
116
#define yylex_destroy hsql_lex_destroy
117
#endif
118
119
#ifdef yyget_debug
120
#define hsql_get_debug_ALREADY_DEFINED
121
#else
122
#define yyget_debug hsql_get_debug
123
#endif
124
125
#ifdef yyset_debug
126
#define hsql_set_debug_ALREADY_DEFINED
127
#else
128
#define yyset_debug hsql_set_debug
129
#endif
130
131
#ifdef yyget_extra
132
#define hsql_get_extra_ALREADY_DEFINED
133
#else
134
#define yyget_extra hsql_get_extra
135
#endif
136
137
#ifdef yyset_extra
138
#define hsql_set_extra_ALREADY_DEFINED
139
#else
140
0
#define yyset_extra hsql_set_extra
141
#endif
142
143
#ifdef yyget_in
144
#define hsql_get_in_ALREADY_DEFINED
145
#else
146
#define yyget_in hsql_get_in
147
#endif
148
149
#ifdef yyset_in
150
#define hsql_set_in_ALREADY_DEFINED
151
#else
152
#define yyset_in hsql_set_in
153
#endif
154
155
#ifdef yyget_out
156
#define hsql_get_out_ALREADY_DEFINED
157
#else
158
#define yyget_out hsql_get_out
159
#endif
160
161
#ifdef yyset_out
162
#define hsql_set_out_ALREADY_DEFINED
163
#else
164
#define yyset_out hsql_set_out
165
#endif
166
167
#ifdef yyget_leng
168
#define hsql_get_leng_ALREADY_DEFINED
169
#else
170
#define yyget_leng hsql_get_leng
171
#endif
172
173
#ifdef yyget_text
174
#define hsql_get_text_ALREADY_DEFINED
175
#else
176
#define yyget_text hsql_get_text
177
#endif
178
179
#ifdef yyget_lineno
180
#define hsql_get_lineno_ALREADY_DEFINED
181
#else
182
#define yyget_lineno hsql_get_lineno
183
#endif
184
185
#ifdef yyset_lineno
186
#define hsql_set_lineno_ALREADY_DEFINED
187
#else
188
#define yyset_lineno hsql_set_lineno
189
#endif
190
191
#ifdef yyget_column
192
#define hsql_get_column_ALREADY_DEFINED
193
#else
194
#define yyget_column hsql_get_column
195
#endif
196
197
#ifdef yyset_column
198
#define hsql_set_column_ALREADY_DEFINED
199
#else
200
#define yyset_column hsql_set_column
201
#endif
202
203
#ifdef yywrap
204
#define hsql_wrap_ALREADY_DEFINED
205
#else
206
3.64k
#define yywrap hsql_wrap
207
#endif
208
209
#ifdef yyget_lval
210
#define hsql_get_lval_ALREADY_DEFINED
211
#else
212
#define yyget_lval hsql_get_lval
213
#endif
214
215
#ifdef yyset_lval
216
#define hsql_set_lval_ALREADY_DEFINED
217
#else
218
#define yyset_lval hsql_set_lval
219
#endif
220
221
#ifdef yyget_lloc
222
#define hsql_get_lloc_ALREADY_DEFINED
223
#else
224
#define yyget_lloc hsql_get_lloc
225
#endif
226
227
#ifdef yyset_lloc
228
#define hsql_set_lloc_ALREADY_DEFINED
229
#else
230
#define yyset_lloc hsql_set_lloc
231
#endif
232
233
#ifdef yyalloc
234
#define hsql_alloc_ALREADY_DEFINED
235
#else
236
22.8k
#define yyalloc hsql_alloc
237
#endif
238
239
#ifdef yyrealloc
240
#define hsql_realloc_ALREADY_DEFINED
241
#else
242
0
#define yyrealloc hsql_realloc
243
#endif
244
245
#ifdef yyfree
246
#define hsql_free_ALREADY_DEFINED
247
#else
248
28.6k
#define yyfree hsql_free
249
#endif
250
251
/* First, we deal with  platform-specific or compiler-specific issues. */
252
253
/* begin standard C headers. */
254
#include <stdio.h>
255
#include <string.h>
256
#include <errno.h>
257
#include <stdlib.h>
258
259
/* end standard C headers. */
260
261
/* flex integer type definitions */
262
263
#ifndef FLEXINT_H
264
#define FLEXINT_H
265
266
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
267
268
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
269
270
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
271
 * if you want the limit (max/min) macros for int types. 
272
 */
273
#ifndef __STDC_LIMIT_MACROS
274
#define __STDC_LIMIT_MACROS 1
275
#endif
276
277
#include <inttypes.h>
278
typedef int8_t flex_int8_t;
279
typedef uint8_t flex_uint8_t;
280
typedef int16_t flex_int16_t;
281
typedef uint16_t flex_uint16_t;
282
typedef int32_t flex_int32_t;
283
typedef uint32_t flex_uint32_t;
284
#else
285
typedef signed char flex_int8_t;
286
typedef short int flex_int16_t;
287
typedef int flex_int32_t;
288
typedef unsigned char flex_uint8_t; 
289
typedef unsigned short int flex_uint16_t;
290
typedef unsigned int flex_uint32_t;
291
292
/* Limits of integral types. */
293
#ifndef INT8_MIN
294
#define INT8_MIN               (-128)
295
#endif
296
#ifndef INT16_MIN
297
#define INT16_MIN              (-32767-1)
298
#endif
299
#ifndef INT32_MIN
300
#define INT32_MIN              (-2147483647-1)
301
#endif
302
#ifndef INT8_MAX
303
#define INT8_MAX               (127)
304
#endif
305
#ifndef INT16_MAX
306
#define INT16_MAX              (32767)
307
#endif
308
#ifndef INT32_MAX
309
#define INT32_MAX              (2147483647)
310
#endif
311
#ifndef UINT8_MAX
312
#define UINT8_MAX              (255U)
313
#endif
314
#ifndef UINT16_MAX
315
#define UINT16_MAX             (65535U)
316
#endif
317
#ifndef UINT32_MAX
318
#define UINT32_MAX             (4294967295U)
319
#endif
320
321
#ifndef SIZE_MAX
322
#define SIZE_MAX               (~(size_t)0)
323
#endif
324
325
#endif /* ! C99 */
326
327
#endif /* ! FLEXINT_H */
328
329
/* begin standard C++ headers. */
330
331
/* TODO: this is always defined, so inline it */
332
#define yyconst const
333
334
#if defined(__GNUC__) && __GNUC__ >= 3
335
#define yynoreturn __attribute__((__noreturn__))
336
#else
337
#define yynoreturn
338
#endif
339
340
/* Returned upon end-of-file. */
341
3.53k
#define YY_NULL 0
342
343
/* Promotes a possibly negative, possibly signed char to an
344
 *   integer in range [0..255] for use as an array index.
345
 */
346
28.8M
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
347
348
/* An opaque pointer. */
349
#ifndef YY_TYPEDEF_YY_SCANNER_T
350
#define YY_TYPEDEF_YY_SCANNER_T
351
typedef void* yyscan_t;
352
#endif
353
354
/* For convenience, these vars (plus the bison vars far below)
355
   are macros in the reentrant scanner. */
356
39.7k
#define yyin yyg->yyin_r
357
22.8k
#define yyout yyg->yyout_r
358
0
#define yyextra yyg->yyextra_r
359
7.73M
#define yyleng yyg->yyleng_r
360
50.2M
#define yytext yyg->yytext_r
361
0
#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
362
0
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
363
0
#define yy_flex_debug yyg->yy_flex_debug_r
364
365
/* Enter a start condition.  This macro really ought to take a parameter,
366
 * but we do it the disgusting crufty way forced on us by the ()-less
367
 * definition of BEGIN.
368
 */
369
21.0k
#define BEGIN yyg->yy_start = 1 + 2 *
370
/* Translate the current start state into a value that can be later handed
371
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
372
 * compatibility.
373
 */
374
#define YY_START ((yyg->yy_start - 1) / 2)
375
#define YYSTATE YY_START
376
/* Action number for EOF rule of a given start state. */
377
10.7k
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
378
/* Special action meaning "start processing a new file". */
379
0
#define YY_NEW_FILE yyrestart( yyin , yyscanner )
380
22.8k
#define YY_END_OF_BUFFER_CHAR 0
381
382
/* Size of default input buffer. */
383
#ifndef YY_BUF_SIZE
384
#ifdef __ia64__
385
/* On IA-64, the buffer size is 16k, not 8k.
386
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
387
 * Ditto for the __ia64__ case accordingly.
388
 */
389
#define YY_BUF_SIZE 32768
390
#else
391
0
#define YY_BUF_SIZE 16384
392
#endif /* __ia64__ */
393
#endif
394
395
/* The state buf must be large enough to hold one state per character in the main buffer.
396
 */
397
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
398
399
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
400
#define YY_TYPEDEF_YY_BUFFER_STATE
401
typedef struct yy_buffer_state *YY_BUFFER_STATE;
402
#endif
403
404
#ifndef YY_TYPEDEF_YY_SIZE_T
405
#define YY_TYPEDEF_YY_SIZE_T
406
typedef size_t yy_size_t;
407
#endif
408
409
0
#define EOB_ACT_CONTINUE_SCAN 0
410
7.28k
#define EOB_ACT_END_OF_FILE 1
411
10.7k
#define EOB_ACT_LAST_MATCH 2
412
    
413
    #define YY_LESS_LINENO(n)
414
    #define YY_LINENO_REWIND_TO(ptr)
415
    
416
/* Return all but the first "n" matched characters back to the input stream. */
417
#define yyless(n) \
418
  do \
419
    { \
420
    /* Undo effects of setting up yytext. */ \
421
        int yyless_macro_arg = (n); \
422
        YY_LESS_LINENO(yyless_macro_arg);\
423
    *yy_cp = yyg->yy_hold_char; \
424
    YY_RESTORE_YY_MORE_OFFSET \
425
    yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
426
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
427
    } \
428
  while ( 0 )
429
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
430
431
#ifndef YY_STRUCT_YY_BUFFER_STATE
432
#define YY_STRUCT_YY_BUFFER_STATE
433
struct yy_buffer_state
434
  {
435
  FILE *yy_input_file;
436
437
  char *yy_ch_buf;    /* input buffer */
438
  char *yy_buf_pos;   /* current position in input buffer */
439
440
  /* Size of input buffer in bytes, not including room for EOB
441
   * characters.
442
   */
443
  int yy_buf_size;
444
445
  /* Number of characters read into yy_ch_buf, not including EOB
446
   * characters.
447
   */
448
  int yy_n_chars;
449
450
  /* Whether we "own" the buffer - i.e., we know we created it,
451
   * and can realloc() it to grow it, and should free() it to
452
   * delete it.
453
   */
454
  int yy_is_our_buffer;
455
456
  /* Whether this is an "interactive" input source; if so, and
457
   * if we're using stdio for input, then we want to use getc()
458
   * instead of fread(), to make sure we stop fetching input after
459
   * each newline.
460
   */
461
  int yy_is_interactive;
462
463
  /* Whether we're considered to be at the beginning of a line.
464
   * If so, '^' rules will be active on the next match, otherwise
465
   * not.
466
   */
467
  int yy_at_bol;
468
469
    int yy_bs_lineno; /**< The line count. */
470
    int yy_bs_column; /**< The column count. */
471
472
  /* Whether to try to fill the input buffer when we reach the
473
   * end of it.
474
   */
475
  int yy_fill_buffer;
476
477
  int yy_buffer_status;
478
479
14.7k
#define YY_BUFFER_NEW 0
480
5.39k
#define YY_BUFFER_NORMAL 1
481
  /* When an EOF's been seen but there's still some text to process
482
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
483
   * shouldn't try reading from the input source any more.  We might
484
   * still have a bunch of tokens to match, though, because of
485
   * possible backing-up.
486
   *
487
   * When we actually see the EOF, we change the status to "new"
488
   * (via yyrestart()), so that the user can continue scanning by
489
   * just pointing yyin at a new input file.
490
   */
491
0
#define YY_BUFFER_EOF_PENDING 2
492
493
  };
494
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
495
496
/* We provide macros for accessing buffer states in case in the
497
 * future we want to put the buffer states in a more general
498
 * "scanner state".
499
 *
500
 * Returns the top of the stack, or NULL.
501
 */
502
28.6k
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
503
28.6k
                          ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
504
28.6k
                          : NULL)
505
/* Same as previous macro, but useful when we know that the buffer stack is not
506
 * NULL or when we need an lvalue. For internal use only.
507
 */
508
112k
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
509
510
void yyrestart ( FILE *input_file , yyscan_t yyscanner );
511
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
512
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
513
void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
514
void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
515
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
516
void yypop_buffer_state ( yyscan_t yyscanner );
517
518
static void yyensure_buffer_stack ( yyscan_t yyscanner );
519
static void yy_load_buffer_state ( yyscan_t yyscanner );
520
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
521
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
522
523
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
524
YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
525
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
526
527
void *yyalloc ( yy_size_t , yyscan_t yyscanner );
528
void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
529
void yyfree ( void * , yyscan_t yyscanner );
530
531
#define yy_new_buffer yy_create_buffer
532
#define yy_set_interactive(is_interactive) \
533
  { \
534
  if ( ! YY_CURRENT_BUFFER ){ \
535
        yyensure_buffer_stack (yyscanner); \
536
    YY_CURRENT_BUFFER_LVALUE =    \
537
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
538
  } \
539
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
540
  }
541
#define yy_set_bol(at_bol) \
542
  { \
543
  if ( ! YY_CURRENT_BUFFER ){\
544
        yyensure_buffer_stack (yyscanner); \
545
    YY_CURRENT_BUFFER_LVALUE =    \
546
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
547
  } \
548
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
549
  }
550
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
551
552
/* Begin user sect3 */
553
554
3.64k
#define hsql_wrap(yyscanner) (/*CONSTCOND*/1)
555
#define YY_SKIP_YYWRAP
556
typedef flex_uint8_t YY_CHAR;
557
558
typedef int yy_state_type;
559
560
7.78M
#define yytext_ptr yytext_r
561
562
static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
563
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  , yyscan_t yyscanner);
564
static int yy_get_next_buffer ( yyscan_t yyscanner );
565
static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
566
567
/* Done after the current pattern has been matched and before the
568
 * corresponding action - sets up yytext.
569
 */
570
#define YY_DO_BEFORE_ACTION \
571
7.73M
  yyg->yytext_ptr = yy_bp; \
572
7.73M
  yyleng = (int) (yy_cp - yy_bp); \
573
7.73M
  yyg->yy_hold_char = *yy_cp; \
574
7.73M
  *yy_cp = '\0'; \
575
7.73M
  yyg->yy_c_buf_p = yy_cp;
576
#define YY_NUM_RULES 186
577
19.8k
#define YY_END_OF_BUFFER 187
578
/* This struct is not used in this scanner,
579
   but its presence is necessary. */
580
struct yy_trans_info
581
  {
582
  flex_int32_t yy_verify;
583
  flex_int32_t yy_nxt;
584
  };
585
static const flex_int16_t yy_accept[1332] =
586
    {   0,
587
        0,    0,  183,  183,    2,    2,  187,  185,    4,    4,
588
      185,  185,  174,  181,  174,  174,  178,  174,  174,  174,
589
      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
590
      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
591
      180,  180,  180,  180,  174,  183,  184,    2,    2,    3,
592
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
593
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
594
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
595
        2,    2,    2,    2,    2,    4,  169,    0,    1,    0,
596
      176,  175,  178,  171,  170,  168,  172,  180,  180,  180,
597
598
      180,  180,  180,   12,  180,  180,  180,   19,  180,  180,
599
      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
600
      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
601
      180,  180,  180,   71,  180,  180,   74,   83,  180,  180,
602
      180,  180,  180,  180,  180,  180,  180,  101,  180,  180,
603
      106,  109,  110,  180,  180,  180,  180,  180,  180,  180,
604
      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
605
      180,  180,  180,  146,  180,  180,  180,  180,  180,  180,
606
      180,  180,  180,  173,  183,  182,    2,    2,    2,    2,
607
        1,    2,    2,    2,    2,    2,    2,    2,    2,    2,
608
609
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
610
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
611
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
612
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
613
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
614
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
615
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
616
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
617
        2,    2,    2,    2,    2,    2,  179,    0,  175,    5,
618
      180,    7,  180,  180,   10,  180,   13,  180,  180,  180,
619
620
      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
621
      180,  180,  180,   34,  180,  180,  180,  180,  180,  180,
622
      180,  180,  180,  180,   48,  180,  180,  180,  180,  180,
623
      180,  180,  180,  180,  180,   59,  180,  180,  180,  180,
624
      180,  180,  180,  180,  180,  180,  180,  180,  180,   78,
625
      180,  180,   86,  180,  180,  180,  180,  180,  180,  180,
626
      180,  180,  180,  102,  180,  180,  180,  107,  180,  180,
627
      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
628
      180,  180,  180,  180,  180,  132,  180,  180,  180,  180,
629
      180,  180,  180,  180,  180,  180,  180,  147,  180,  180,
630
631
      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
632
      180,  180,    2,    2,    2,    2,    2,    2,    2,    2,
633
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
634
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
635
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
636
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
637
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
638
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
639
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
640
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
641
642
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
643
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
644
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
645
        2,    2,    2,    2,    2,    2,    2,    2,    0,  180,
646
      180,  180,  180,  180,  180,  180,  180,  180,   20,  180,
647
       22,   23,   24,  180,  180,  180,   29,  180,  180,  180,
648
       32,   35,  180,  180,  180,  180,  180,   41,  180,  180,
649
      180,   46,   47,  180,  180,  180,  180,  180,  180,  180,
650
       56,  180,  180,  180,   61,   62,  180,  180,   66,  180,
651
       68,   69,  180,  180,  180,  180,  180,  180,   82,  180,
652
653
       85,   87,   88,  180,   90,  180,  180,   93,  180,  180,
654
      180,  180,  180,  104,  180,  180,  180,  180,  113,  180,
655
      180,  116,  180,  180,  180,  180,  121,  180,  180,  180,
656
      180,  126,  180,  180,  180,  180,  134,  135,  180,  180,
657
      180,  180,  180,  142,  143,  144,  180,  149,  180,  180,
658
      180,  180,  180,  180,  180,  180,  180,  159,  180,  161,
659
      180,  163,  164,    2,    2,    2,    2,    2,    2,    2,
660
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
661
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
662
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
663
664
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
665
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
666
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
667
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
668
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
669
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
670
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
671
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
672
        2,    2,    2,    2,    2,    2,    2,    2,    0,    6,
673
        8,  180,   11,  180,   15,  180,  180,  180,  180,  180,
674
675
      180,  180,  180,  180,   31,  180,  180,  180,  180,  180,
676
      180,   40,  180,  180,  180,  180,  180,  180,  180,  180,
677
      180,  180,   55,   57,  180,  180,  180,   64,  180,   70,
678
       72,  180,   75,   76,  180,  180,  180,  180,   89,   91,
679
      180,   94,   95,  180,   98,  180,  180,  180,  180,  111,
680
      112,  180,  180,  180,  180,  180,  120,  180,  180,  124,
681
      180,  180,  180,  180,  133,  180,  180,  180,  139,  180,
682
      180,  180,  180,  180,  152,  180,  180,  180,  156,  180,
683
      180,  180,  162,  165,    2,    2,    2,    2,    2,    2,
684
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
685
686
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
687
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
688
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
689
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
690
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
691
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
692
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
693
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
694
        0,  180,   14,  180,   17,  180,  180,  180,   25,   27,
695
      180,   30,  180,  180,  180,  180,  180,   39,  180,   43,
696
697
      180,   45,   49,   50,  180,   52,  180,  180,  180,   60,
698
       63,   65,   67,   73,   77,  180,  180,  180,   84,   92,
699
       96,   99,  180,  103,  180,  108,  180,  180,  180,  180,
700
      180,  122,  180,  180,  127,  129,  131,  180,  137,  180,
701
      140,  180,  180,  180,  180,  180,  153,  154,  155,  157,
702
      180,  180,    2,    2,    2,    2,    2,    2,    2,    2,
703
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
704
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
705
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
706
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
707
708
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
709
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
710
        2,    2,    2,    2,    0,    9,   16,   18,   21,  180,
711
       26,   28,  180,  180,  180,   37,   38,  180,  180,   51,
712
       53,   54,  180,   79,  180,  180,   97,  100,  180,  180,
713
      180,  180,  118,  119,  180,  180,  128,  130,  180,  138,
714
      180,  180,  180,  180,  180,  158,  160,    2,    2,    2,
715
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
716
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
717
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
718
719
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
720
        0,  180,    0,   33,  180,   42,   44,  180,  180,   81,
721
      105,  180,  180,  180,  123,  125,  136,  180,  180,  180,
722
      150,  180,    2,    2,    2,    2,    2,    2,    2,    2,
723
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
724
        2,    2,    2,    2,    0,  180,    0,  180,   58,   80,
725
      180,  115,  117,  141,  145,  180,  151,    2,    2,    2,
726
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
727
        0,    0,    0,   36,  114,  180,    2,    2,    2,    2,
728
        2,    2,    0,    0,  166,  148,    2,    2,    2,    2,
729
730
        0,    0,    2,    2,    0,    0,    2,    2,    0,    0,
731
        2,    2,    0,    0,    2,    2,    0,    0,    2,    2,
732
        0,  167,    2,    2,    0,    2,    0,    2,  177,    2,
733
        0
734
    } ;
735
736
static const YY_CHAR yy_ec[256] =
737
    {   0,
738
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
739
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
740
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
741
        1,    2,    4,    5,    1,    1,    6,    1,    7,    6,
742
        6,    6,    6,    6,    8,    9,    6,   10,   11,   12,
743
       13,   14,   15,   16,   17,   18,   19,    6,    6,   20,
744
       21,   22,    6,    1,   23,   24,   25,   26,   27,   28,
745
       29,   30,   31,   32,   33,   34,   35,   36,   37,   38,
746
       39,   40,   41,   42,   43,   44,   45,   46,   47,   48,
747
        6,    1,    6,    6,   49,    1,   50,   51,   52,   53,
748
749
       54,   55,   56,   57,   58,   59,   60,   61,   62,   63,
750
       64,   65,   66,   67,   68,   69,   70,   71,   72,   73,
751
       74,   75,    6,   76,    6,    1,    1,    1,    1,    1,
752
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
753
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
754
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
755
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
756
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
757
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
758
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
759
760
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
761
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
762
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
763
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
764
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
765
        1,    1,    1,    1,    1
766
    } ;
767
768
static const YY_CHAR yy_meta[77] =
769
    {   0,
770
        1,    1,    2,    1,    3,    1,    4,    1,    1,    5,
771
        5,    5,    5,    5,    5,    5,    5,    5,    5,    1,
772
        1,    1,    5,    5,    5,    5,    5,    5,    5,    5,
773
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
774
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
775
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
776
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
777
        5,    5,    5,    5,    5,    1
778
    } ;
779
780
static const flex_int16_t yy_base[1339] =
781
    {   0,
782
        0,    0,  839,  837,   76,    0,  842, 8771,  151,  153,
783
      785,    0, 8771, 8771,  149,  148,  160,  159,  783,  782,
784
      156,  156,  165,  210,  202,  255,  151,  163,  265,  152,
785
      171,  215,  218,  244,  295,  257,    0,  309,  349,  392,
786
      163,  279,  226,  180,  723,    0,  791,    0,  237,  251,
787
      775,  743,    0,    0,  243,  378,  451,  237,  682,  680,
788
      470,  546,  600,  652,  700,  752,  384,  458,  795,  466,
789
      532,  533,  534,  846,  895,  944,  547,  602,  990, 1042,
790
      307,  650,  587,  651,  596,  301, 8771,  666, 8771,  657,
791
     1107, 1117, 1128, 8771, 8771, 8771, 8771,    0,  218,  243,
792
793
      300,  328,  250,  305,  379,  315,  319,    0,  376,  354,
794
      694,  389,  345,  440,  710,  387,  388,  436,  439,  462,
795
      469,  763,  465,  467,  465,  542,  480,  484,  498,  521,
796
      531,  553,  572,    0,  588,  588,  654,  592,  601,  588,
797
      608,  651,  717,  598,  649,  655,  651,  707,  660,  716,
798
      715,    0,  719,  708,  754,  744,  762,  760,  757,  802,
799
      768,  792,  770,  846,  810,  776,  812,  799,  817,  821,
800
      838,  821,  816,  816,  854,  861,  829,  848,  853,  894,
801
      872,  859,  879, 8771,    0, 8771,    0,  396,    0,  663,
802
        0,  636, 1138, 1148, 1159,    0,    0,    0,    0,  906,
803
804
      942,  955, 1015, 1156, 1034, 1155, 1202, 1152, 1040, 1195,
805
     1199, 1232, 1272, 1257, 1272, 1301, 1353, 1350, 1361, 1388,
806
     1402, 1413, 1443, 1492, 1437, 1479, 1491, 1528, 1536, 1536,
807
     1561, 1575, 1577, 1590, 1618, 1621, 1629, 1668, 1717, 1639,
808
     1682, 1683, 1707, 1764, 1816, 1762, 1714, 1808, 1817, 1857,
809
     1860, 1881, 1904, 1873, 1917, 1940, 1773, 1952, 1984, 1993,
810
     1991, 2027, 2040, 2046, 2076, 2125, 2098, 2089, 2137, 2138,
811
     2176, 2173, 2207, 2191, 2225, 2247, 2263, 2310, 2271, 2295,
812
     2314, 2325, 2339, 2363, 2375,    0, 8771,  601, 2440,    0,
813
      882,    0,  900,  896,    0,  921,    0,  912,  925,  918,
814
815
      941,  943,  951, 1158,  951,  960,  972,  984,  984, 1009,
816
      992,  995, 1009,  998, 1047, 1054, 1063, 1210, 1159, 1160,
817
     1152, 1210, 1209, 1223,    0, 1231, 1229, 1262, 1248, 1256,
818
     1256, 1256, 1271, 1279, 1286, 1287, 1292, 1307, 1318, 1301,
819
     1320, 1321, 1311, 1316, 1325, 1324, 1339, 1346, 1347, 1403,
820
     1339, 1370,    0, 1368, 1401, 1414, 1427, 1464, 1429, 1432,
821
     1421, 1427, 1439,    0, 1471, 1465, 1468, 1486, 1504, 1505,
822
     1493, 1648, 1512, 1555, 1516, 1547, 1553, 1582, 1574, 1587,
823
     1607, 1601, 1620, 1628, 1643,    0, 1637, 1651, 1663, 1684,
824
     1683, 1697, 1715, 1729, 1737, 1752, 1762,    0, 1756, 1807,
825
826
     1768, 1809, 1772, 1790, 1797, 1802, 1830, 1811, 1823, 1872,
827
     1867, 1870,    0,  600, 2450, 2443, 2444, 2445, 2446, 2373,
828
     2480, 2488, 2489, 2500, 2528, 2536, 2541, 2543, 2557, 2606,
829
     2582, 2607, 2620, 2656, 2632, 2668, 2666, 2697, 2709, 2711,
830
     2725, 2750, 2768, 2765, 2800, 2809, 2818, 2844, 2859, 2857,
831
     2862, 2907, 2898, 2912, 2912, 2933, 2957, 2954, 2982, 3008,
832
     2980, 3029, 3033, 3037, 3075, 3079, 3078, 3123, 3126, 3135,
833
     3161, 3176, 3179, 3191, 3205, 3217, 3229, 3244, 3248, 3272,
834
     3273, 3292, 3317, 3369, 3295, 3331, 3366, 3330, 3391, 3394,
835
     3419, 3426, 3440, 3454, 3465, 3479, 3494, 3546, 3494, 3596,
836
837
     3529, 3572, 3513, 3624, 3583, 3632, 3645, 3668, 3680, 3685,
838
     3688, 3693, 3729, 3734, 3737, 3736, 3744, 3780, 3784, 3793,
839
     3826, 3829, 3846, 3849, 3875, 3878, 3898, 3903, 3900, 3948,
840
     3919, 3947, 3975, 3989, 4003, 4019, 4033, 4057,  582, 1908,
841
     1917, 1913, 1914, 1924, 1930, 1941, 1933, 1944,    0, 1950,
842
        0,    0, 1979, 1977, 1983, 1977,    0, 1976, 1981, 2001,
843
     1991,    0, 2001, 2008, 2013, 2024, 2048, 2032, 2050, 2047,
844
     2050,    0,    0, 2059, 2066, 2072, 2085, 2105, 2107, 2119,
845
        0, 2137, 2144, 2159,    0,    0, 2166, 2152,    0, 2183,
846
        0, 2191, 2209, 2199, 2198, 2214, 2221, 2311,    0, 2230,
847
848
        0,    0,    0, 2235,    0, 2248, 2263,    0, 2265, 2374,
849
     2266, 2276, 2300,    0, 2311, 2319, 2351, 2356,    0, 2366,
850
     2373,    0, 2381, 2388, 2397, 2451,    0, 2444, 2445, 2444,
851
     2464,    0, 2498, 2503, 2517, 2517,    0,    0, 2536, 2553,
852
     2554, 2560, 2559,    0,    0, 2560, 2594,    0, 2614, 2598,
853
     2609, 2646, 2669, 2655, 2672, 2681, 2687,    0, 2678,    0,
854
     2696,    0, 2700,  544, 4068, 4071, 4096, 4115, 4118, 4125,
855
     4120, 4161, 4169, 4172, 4181, 4210, 4211, 4229, 4251, 4263,
856
     4264, 4265, 4293, 4300, 4317, 4318, 4343, 4343, 4359, 4390,
857
     4401, 4425, 4443, 4451, 4468, 4484, 4487, 4493, 4529, 4535,
858
859
     4543, 4573, 4576, 4597, 4504, 4598, 4624, 4626, 4652, 4650,
860
     4664, 4682, 4696, 4694, 4701, 4731, 4737, 4748, 4749, 4783,
861
     4791, 4794, 4839, 4835, 4836, 4877, 4880, 4881, 4921, 4924,
862
     4925, 4964, 4969, 4972, 4971, 4974, 5014, 5014, 5022, 5058,
863
     5066, 5067, 5096, 5108, 5111, 5120, 5149, 5150, 5168, 5194,
864
     5202, 5203, 5216, 5242, 5244, 5268, 5256, 5290, 5295, 5299,
865
     5312, 5334, 5342, 5341, 5347, 5366, 5388, 5391, 5396, 5410,
866
     5398, 5417, 5441, 5447, 5455, 5471, 5490, 5504, 5501, 5532,
867
     5544, 5549, 5583, 5584, 5585, 5597, 5598, 5629,  543,    0,
868
        0, 2701,    0, 2724,    0, 2726, 2713, 2739, 2764, 2769,
869
870
     2765, 2761, 2769, 2784,    0, 2780, 2804, 2813, 2828, 2819,
871
     2858,    0, 2869, 2859, 2869, 2887, 2923, 2909, 2913, 2919,
872
     2952, 2959,    0,    0, 2960, 2965, 2989, 2992, 3020,    0,
873
        0, 3012,    0,    0, 3015, 3032, 3036, 3027,    0,    0,
874
     3077,    0,    0, 3090, 3077, 3105, 3087, 3101, 3090,    0,
875
        0, 3107, 3095, 3143, 3134, 3138,    0, 3158, 3173,    0,
876
     3191, 3197, 3198, 3204,    0, 3230, 3242, 3247, 3233, 3258,
877
     3286, 3313, 3315, 3316,    0, 3347, 3354, 3356,    0, 3349,
878
     3385, 3389,    0,    0,  536, 5632, 5633, 5673, 5674, 5685,
879
     5686, 5724, 5725, 5743, 5738, 5778, 5770, 5793, 5810, 5813,
880
881
     5818, 5812, 5832, 5862, 5871, 5869, 5870, 5896, 5920, 5921,
882
     5925, 5945, 5950, 5969, 5994, 5971, 6018, 6042, 6023, 6064,
883
     6072, 6098, 6025, 6107, 6113, 6137, 6143, 6151, 6167, 6181,
884
     6195, 6220, 6209, 6225, 6249, 6255, 6273, 6279, 6297, 6308,
885
     6315, 6345, 6351, 6364, 6392, 6395, 6406, 6412, 6446, 6454,
886
     6482, 6490, 6504, 6516, 6528, 6540, 6558, 6570, 6584, 6598,
887
     6572, 6596, 6637, 6628, 6635, 6653, 6671, 6695, 6701, 6714,
888
     6725, 6752, 6754, 6778, 6786, 6788, 6807, 6831, 6828, 6837,
889
      526, 3399,    0, 3396,    0, 3401, 3417, 3409, 3416,    0,
890
     3436,    0, 3440, 3456, 3480, 3477, 3482,    0, 3520,    0,
891
892
     3520,    0,    0,    0, 3533,    0, 3542, 3538, 3551,    0,
893
        0,    0,    0,    0,    0, 3544, 3558, 3566,    0,    0,
894
     3554,    0, 3565,    0, 3591,    0, 3581, 3596, 3605, 3622,
895
     3606,    0, 3630, 3642, 3630, 3631,    0, 3647,    0, 3662,
896
        0, 3678, 3698, 3701, 3731, 3784,    0,    0,    0,    0,
897
     3775, 3785,  525, 6866, 6875, 6873, 6882, 6891, 6884, 6920,
898
     6927, 6935, 6936, 6971, 6977, 6980, 7022, 7018, 7031, 7062,
899
     7073, 7076, 7104, 7117, 7118, 7148, 7156, 7161, 7161, 7197,
900
     7205, 7210, 7224, 7246, 7249, 7254, 7268, 7290, 7298, 7316,
901
     7324, 7338, 7343, 7359, 7367, 7373, 7403, 7397, 7421, 7441,
902
903
     7446, 7454, 7476, 7490, 7504, 7518, 7525, 7533, 7539, 7563,
904
     7569, 7577, 7593, 7612, 7636, 7635, 7659, 7680, 7677, 7683,
905
     7701, 7724, 7727, 7743,  529,    0,    0,    0,    0, 3796,
906
        0,    0,  436, 3797, 3805,    0,    0, 3805, 3802,    0,
907
        0,    0, 3828,    0, 3849, 3845,    0,    0, 3841, 3861,
908
     3880, 3886,    0,    0, 3917, 3937,    0,    0, 3934,    0,
909
     3938, 3956, 3957, 3974, 3977,    0,    0,  527, 7757, 7771,
910
     7785, 7799, 7620, 7810, 7824, 7863, 7848, 7866, 7878, 7892,
911
     7904, 7907, 7916, 7942, 7955, 7957, 7971, 7990, 7987, 8011,
912
     8020, 8046, 8058, 8063, 8062, 8065, 8095, 8106, 8137, 8119,
913
914
     8150, 8173, 8186, 8197, 8194, 8227, 8244, 8245, 8247, 8279,
915
      526, 3973, 4081,    0, 3972,    0,    0, 3990, 3982,    0,
916
        0, 3989, 4018, 4029,    0,    0,    0, 4021, 4035, 4057,
917
        0, 4063,  524, 8298, 4259, 8293, 8317, 8342, 8343, 8356,
918
     8357, 8371, 8396, 8397, 8406, 8412, 8442, 8448, 8456, 8481,
919
     8495, 8500, 8503, 8525,  514,  438, 4062, 4083,    0,    0,
920
     4072,    0,    0,    0,    0, 4116,    0,  506, 8563, 4119,
921
     8544, 8549, 8578, 8551, 8570, 8594, 8605, 8613, 8633, 8638,
922
      470, 4161, 4142,    0,    0, 4154,  468, 4396, 4168, 8652,
923
     8657, 8659,  465, 4221, 8771,    0,  418, 4227,    0, 8667,
924
925
      418, 4213,  390, 4214,  388, 4223,  386, 4242,  347, 4275,
926
      343, 4301,  338, 4306,  335, 4320,  334, 4329,  332, 4357,
927
      303, 8771,  293,    0,  299,  286,  248,  243, 8771,    0,
928
     8771, 8740, 8745,  201, 8750, 8755, 8760, 8765
929
    } ;
930
931
static const flex_int16_t yy_def[1339] =
932
    {   0,
933
     1331,    1, 1332, 1332, 1331,    5, 1331, 1331, 1331, 1331,
934
     1331, 1333, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
935
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
936
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
937
     1334, 1334, 1334, 1334, 1331, 1335, 1331, 1336, 1336, 1331,
938
     1336, 1337, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336,
939
     1338, 1338,   62,   62,   62,   63,   65,   62,   65,   62,
940
       62,   62,   62,   63,   63,   63,   62,   62,   62,   62,
941
       65,   62,   62,   62, 1336, 1331, 1331, 1333, 1331, 1331,
942
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1334, 1334, 1334,
943
944
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
945
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
946
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
947
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
948
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
949
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
950
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
951
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
952
     1334, 1334, 1334, 1331, 1335, 1331, 1336, 1336, 1336, 1337,
953
     1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336,   62,
954
955
       62,   62,   65,   65,   65,   65,   65,   65,   62,   62,
956
       65,   65,   65,   62,   62,   62,   65,   65,   65,   62,
957
       65,   65,   65,   62,   65,   65,   62,   65,   62,   65,
958
       62,   62,   65,   65,   65,   65,   62,   62,   65,   65,
959
       62,   62,   62,   62,   65,   65,   65,   65,   65,   65,
960
       65,   65,   65,   65,   65,   65,   62,   62,   62,   62,
961
       65,   65,   65,   65,   65,   65,   62,   62,   62,   62,
962
       62,   62,   65,   62,   62,   62,   63,   62,   62,   62,
963
       65,   62,   62,   62,   62, 1336, 1331, 1331, 1331, 1334,
964
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
965
966
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
967
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
968
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
969
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
970
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
971
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
972
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
973
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
974
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
975
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
976
977
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
978
     1334, 1334, 1336, 1336, 1336,   62,   62,   62,   62,   65,
979
       65,   65,   65,   62,   62,   62,   62,   65,   65,   62,
980
       62,   62,   62,   62,   62,   62,   65,   65,   62,   65,
981
       65,   62,   62,   62,   62,   62,   62,   62,   62,   62,
982
       62,   62,   62,   62,   65,   65,   65,   65,   62,   62,
983
       65,   65,   65,   65,   65,   65,   65,   62,   62,   62,
984
       62,   62,   62,   62,   62,   62,   62,   65,   65,   65,
985
       62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
986
       62,   65,   65,   65,   62,   62,   62,   62,   65,   65,
987
988
       65,   65,   65,   65,   65,   65,   65,   65,   62,   62,
989
       62,   62,   62,   62,   62,   65,   65,   65,   65,   65,
990
       65,   65,   62,   62,   65,   65,   62,   62,   62,   62,
991
       65,   65,   65,   65,   65,   65,   65,   65, 1331, 1334,
992
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
993
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
994
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
995
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
996
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
997
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
998
999
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1000
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1001
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1002
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1003
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1004
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1005
     1334, 1334, 1334, 1336,   65,   65,   62,   62,   62,   65,
1006
       62,   65,   62,   62,   62,   62,   62,   62,   62,   62,
1007
       62,   62,   62,   65,   62,   62,   62,   65,   65,   65,
1008
       65,   65,   65,   65,   62,   65,   65,   65,   65,   65,
1009
1010
       65,   65,   65,   65,   62,   62,   62,   62,   62,   62,
1011
       62,   62,   62,   62,   65,   65,   65,   62,   62,   65,
1012
       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
1013
       65,   62,   62,   62,   65,   65,   65,   62,   62,   62,
1014
       62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
1015
       62,   62,   62,   62,   62,   62,   62,   62,   65,   65,
1016
       62,   62,   62,   65,   62,   62,   62,   62,   62,   62,
1017
       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
1018
       62,   62,   62,   62,   62,   62,   62,   65, 1331, 1334,
1019
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1020
1021
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1022
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1023
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1024
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1025
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1026
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1027
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1028
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1029
     1334, 1334, 1334, 1334, 1336,   65,   65,   65,   65,   62,
1030
       62,   62,   62,   62,   62,   62,   65,   65,   62,   62,
1031
1032
       62,   65,   62,   62,   62,   65,   62,   62,   62,   62,
1033
       65,   62,   62,   62,   62,   65,   62,   62,   62,   62,
1034
       62,   62,   65,   65,   65,   65,   65,   65,   65,   65,
1035
       65,   62,   65,   65,   65,   65,   65,   65,   65,   62,
1036
       65,   65,   65,   65,   65,   65,   65,   62,   62,   62,
1037
       62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
1038
       62,   62,   62,   62,   65,   65,   65,   65,   65,   65,
1039
       65,   62,   62,   62,   62,   65,   65,   65,   65,   65,
1040
     1331, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1041
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1042
1043
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1044
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1045
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1046
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1047
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1048
     1334, 1334, 1336,   62,   62,   65,   65,   65,   62,   62,
1049
       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
1050
       65,   65,   65,   65,   65,   65,   62,   62,   65,   65,
1051
       62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
1052
       62,   62,   65,   65,   65,   65,   65,   65,   65,   62,
1053
1054
       62,   62,   62,   62,   62,   62,   65,   65,   65,   65,
1055
       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
1056
       65,   65,   65,   65, 1331, 1334, 1334, 1334, 1334, 1334,
1057
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1058
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1059
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1060
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1336,   65,   65,
1061
       65,   65,   62,   62,   62,   62,   62,   62,   62,   62,
1062
       62,   62,   62,   62,   62,   65,   65,   65,   65,   65,
1063
       65,   65,   62,   62,   65,   65,   65,   65,   65,   65,
1064
1065
       65,   65,   65,   65,   65,   65,   62,   62,   62,   62,
1066
     1331, 1334, 1331, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1067
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
1068
     1334, 1334, 1336,   62, 1336,   62,   62,   62,   62,   62,
1069
       62,   62,   62,   62,   65,   65,   65,   65,   65,   62,
1070
       62,   62,   62,   62, 1331, 1334, 1331, 1334, 1334, 1334,
1071
     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1336,   62, 1336,
1072
       62,   62,   62,   65,   65,   65,   65,   65,   62,   62,
1073
     1331, 1331, 1331, 1334, 1334, 1334, 1336, 1336, 1336,   62,
1074
       62,   65, 1331, 1331, 1331, 1334, 1336, 1336, 1336,   65,
1075
1076
     1331, 1331, 1336, 1336, 1331, 1331, 1336, 1336, 1331, 1331,
1077
     1336, 1336, 1331, 1331, 1336, 1336, 1331, 1331, 1336, 1336,
1078
     1331, 1331, 1336, 1336, 1331, 1336, 1331, 1336, 1331, 1336,
1079
        0, 1331, 1331, 1331, 1331, 1331, 1331, 1331
1080
    } ;
1081
1082
static const flex_int16_t yy_nxt[8848] =
1083
    {   0,
1084
        8,    9,   10,   11,   12,   13,   14,   15,   16,   17,
1085
       17,   17,   17,   17,   17,   17,   17,   17,   17,   18,
1086
       19,   20,   21,   22,   23,   24,   25,   26,   27,   28,
1087
       29,   30,   31,   32,   33,   34,   35,   36,   37,   38,
1088
       39,   40,   41,   42,   43,   37,   44,   37,    8,   21,
1089
       22,   23,   24,   25,   26,   27,   28,   29,   30,   31,
1090
       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
1091
       42,   43,   37,   44,   37,   45,   48,   49,   50,   51,
1092
       52,   53,   54,   55,   56,   57,   57,   57,   57,   57,
1093
       57,   57,   57,   57,   57,   58,   59,   60,   61,   62,
1094
1095
       63,   64,   65,   66,   67,   68,   69,   70,   71,   72,
1096
       73,   74,   75,   76,   77,   78,   79,   80,   81,   82,
1097
       83,   77,   84,   77,   48,   61,   62,   63,   64,   65,
1098
       66,   67,   68,   69,   70,   71,   72,   73,   74,   75,
1099
       76,   77,   78,   79,   80,   81,   82,   83,   77,   84,
1100
       77,   85,   86,   86,   86,   86,   89,   91,   91,   91,
1101
       91,   91,   91,   91,   91,   91,   91,   90,   92,   93,
1102
       93,   93,   93,   93,   93,   93,   93,   93,   93,   94,
1103
       95,   99,  105,  100,  129,  131,  106,  109,  139,  101,
1104
      130,  102,  107,  132,  110,  103,  104,  140,  176,  133,
1105
1106
      177,  111,  108,  178,  112,   98,  183,  113,   99,  105,
1107
      100,  129,  131,  106,  109,  139,  101,  130,  102,  107,
1108
      132,  110,  103,  104,  140,  176,  133,  177,  111,  108,
1109
      178,  112,  114,  183,  113,  119,  115,  120,  188,   86,
1110
      116,  141,  121,  290,  144,  142,  117,  122,  145,  118,
1111
      191,  143,   86,   86,  146,  181,  182,  196,  197,  114,
1112
     1330,  192,  119,  115,  120, 1329,  147,  116,  141,  121,
1113
      290,  144,  142,  117,  122,  145,  118,  123,  143,  156,
1114
      148,  146,  181,  182,  291,  124,  149,  150,  125,  296,
1115
      157,  126,  134,  147,  127, 1328,  158,  128,  135,  136,
1116
1117
      137,  179,   86,   86,  123,  138,  156,  148, 1327,  180,
1118
     1326,  291,  124,  149,  150,  125,  296,  157,  126,  134,
1119
     1325,  127,  151,  158,  128,  135,  136,  137,  179,  297,
1120
      152,  159,  138,  292,  153,  160,  180,  154,  155,  161,
1121
      200,  293,  278,  301,  279,  162, 1323,  280, 1321,  151,
1122
      294, 1319,  200,  295, 1317,  302,  297,  152,  159, 1315,
1123
      292,  153,  160, 1313,  154,  155,  161,  200,  293,  278,
1124
      301,  279,  162,  163,  280,  164,  305,  294,  165,  200,
1125
      295,  166,  302,  167,  312,  168,  169,  193,  193,  193,
1126
      193,  193,  193,  193,  193,  193,  193,  188,   86, 1311,
1127
1128
      163, 1309,  164,  305, 1307,  165,  298,  299,  166,  303,
1129
      167,  312,  168,  169,  170,  310,  304,  231,  171,  200,
1130
      300,  172,  173,  232,  200,  311,  320,  321,  174,  200,
1131
      322,  175, 1305,  298,  299, 1303,  303, 1213, 1213, 1282,
1132
     1282,  170,  310,  304,  231,  171,  200,  300,  172,  173,
1133
      232,  200,  311,  320,  321,  174,  200,  322,  175,  194,
1134
      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
1135
      187,  187,  323,  187,  187,  187,  187,  187,  187,  324,
1136
      233,  313, 1301, 1297,  200, 1293,  314,  325,  234,  187,
1137
      187,  187,  200,  326,  235,  201,  200,  202,  332,  323,
1138
1139
      333,  334,  241,  203,  200,  204,  324,  233,  313,  205,
1140
      206,  200,  200,  314,  325,  234,  337,  338, 1287,  200,
1141
      326,  235,  201,  200,  202,  332, 1281,  333,  334,  241,
1142
      203,  200,  204, 1268,  339, 1255,  205,  206, 1233,  200,
1143
     1211, 1168, 1125,  337,  338,  187,  187,  187, 1053,  187,
1144
      187,  187,  187,  187,  187,  981,  885,  340,  242,  243,
1145
      246,  339,  200,  244,  247,  187,  187,  187,  200,  245,
1146
      248,  341,  207,  200,  342,  335,  208,  200,  200,  200,
1147
      200,  336,  209,  200,  340,  242,  243,  246,  343,  200,
1148
      244,  247,  210,  200,  789,  200,  245,  248,  341,  207,
1149
1150
      200,  342,  335,  208,  200,  200,  200,  200,  336,  209,
1151
      200,  664,  539,  200,  344,  343,  283,  284,  345,  210,
1152
      200,  187,  211,  200,  261,  346,  200,  351,  262,  212,
1153
      200,  352,  263,  200,  353,  354,  213,  360,  264,  214,
1154
      200,  344,  215,  283,  284,  345,  200,  414,  200,  211,
1155
      200,  261,  346,  200,  351,  262,  212,  200,  352,  263,
1156
      200,  353,  354,  213,  360,  264,  214,  413,  288,  215,
1157
      287,  286,  281,  200,  216,  200,  200,  285,  217,  347,
1158
      282,  200,  218,  355,  361,  356,  200,  200,  219,  348,
1159
      362,  220,  363,  366,  349,  350,  200,  200,  200,  281,
1160
1161
      199,  216,  198,  200,  285,  217,  347,  282,  200,  218,
1162
      355,  361,  356,  200,  200,  219,  348,  362,  220,  363,
1163
      366,  349,  350,  200,  200,  200,  200,  306,  307,  308,
1164
      200,  309,  315,  221,  316,  222,  200,  317,  367,  357,
1165
      223,  358,  368,  318,  369,  224,  200,  187,  364,  370,
1166
      319,  365,  359,  200,  306,  307,  308,  200,  309,  315,
1167
      221,  316,  222,  200,  317,  367,  357,  223,  358,  368,
1168
      318,  369,  224,  200,  225,  364,  370,  319,  365,  359,
1169
      371,  200,  226,  372,  373,  227,  374,  327,  228,  328,
1170
      375,  229,  376,  329,  230,  189,  380,  186,  184,  383,
1171
1172
      330,  225,   97,   96,  331,   87,  389,  371,  200,  226,
1173
      372,  373,  227,  374,  327,  228,  328,  375,  229,  376,
1174
      329,  230,  236,  380,  377,  381,  383,  330,  237,  238,
1175
      239,  331,  387,  389,  390,  240,  382,  378,  391,  392,
1176
      200, 1331,  379,   47,  393,   47,  388,  396, 1331,  236,
1177
      397,  377,  381,  398,  404,  237,  238,  239, 1331,  387,
1178
     1331,  390,  240,  382,  378,  391,  392,  200,  249,  379,
1179
      384,  393,  394,  388,  396,  200,  399,  397,  405,  385,
1180
      398,  404,  250,  395,  401,  200,  406,  386,  251,  252,
1181
     1331,  402,  407, 1331,  403,  249,  400,  384,  410,  394,
1182
1183
      411,  412,  200,  399, 1331,  405,  385, 1331,  540,  250,
1184
      395,  401,  200,  406,  386,  251,  252,  200,  402,  407,
1185
      408,  403,  253,  400,  200,  410,  541,  411,  412,  542,
1186
      254,  200,  200,  409,  255,  540,  200,  256,  257, 1331,
1187
     1331, 1331,  200,  543,  200, 1331, 1331,  408,  544,  253,
1188
     1331,  200,  200,  541, 1331,  545,  542,  254,  200,  200,
1189
      409,  255,  546,  200,  256,  257,  258,  416,  200,  200,
1190
      543,  547,  200,  200, 1331,  544,  548,  259,  200,  200,
1191
      200,  200,  545,  260,  549,  200,  200, 1331,  200,  546,
1192
      553,  200, 1331,  258,  416,  200,  417, 1331,  547,  200,
1193
1194
      200,  200,  554,  548,  259,  200,  555,  200,  200, 1331,
1195
      260,  549,  200,  200,  265,  200,  266,  553,  200,  267,
1196
      200, 1331,  268,  417,  269,  556,  270,  271,  200,  554,
1197
      557,  558,  559,  555,  560,  561,  200, 1331,  562, 1331,
1198
     1331,  265, 1331,  266, 1331, 1331,  267,  200,  418,  268,
1199
      200,  269,  556,  270,  271,  200,  419,  557,  558,  559,
1200
      200,  560,  561,  200,  272,  562,  200,  200,  273,  200,
1201
      200,  274,  275,  422,  200,  418,  428,  200,  276,  200,
1202
      563,  277,  200,  419,  564,  565,  200,  200,  200, 1331,
1203
     1331,  272, 1331,  200,  200,  273,  200,  200,  274,  275,
1204
1205
      422,  200, 1331,  428, 1331,  276,  200,  563,  277, 1331,
1206
     1331,  564,  565,  200, 1331,  200,   91,   91,   91,   91,
1207
       91,   91,   91,   91,   91,   91,  289,  289,  289,  289,
1208
      289,  289,  289,  289,  289,  289,   92,   93,   93,   93,
1209
       93,   93,   93,   93,   93,   93,   93,  193,  193,  193,
1210
      193,  193,  193,  193,  193,  193,  193,  415,  415,  415,
1211
      415,  415,  415,  415,  415,  415,  415,  194,  195,  195,
1212
      195,  195,  195,  195,  195,  195,  195,  195,  420,  423,
1213
      427,  421,  550,  568,  551,  200,  569,  200,  200,  200,
1214
      200,  200,  200,  570, 1331,  200,  200,  200, 1331,  552,
1215
1216
      200,  200, 1331, 1331, 1331,  420,  423,  427,  421,  550,
1217
      568,  551,  200,  569,  200,  200,  200,  200,  200,  200,
1218
      570,  200,  200,  200,  200,  200,  552,  200,  200,  424,
1219
      425,  200,  429,  571,  200,  200,  566,  200, 1331,  430,
1220
     1331,  200,  200,  426,  200, 1331,  572,  200,  200,  573,
1221
     1331,  567,  200,  574,  431,  575,  424,  425,  200,  429,
1222
      571,  200,  200,  566,  200,  200,  430,  200,  200,  200,
1223
      426,  200,  200,  572,  200, 1331,  573,  200,  567, 1331,
1224
      574,  431,  575,  436, 1331, 1331,  576,  200,  577,  578,
1225
     1331, 1331,  200,  437,  200,  579,  580,  581,  200,  200,
1226
1227
     1331,  582,  200,  200,  200,  432,  433,  434,  200,  435,
1228
      436,  438,  200,  576,  200,  577,  578,  200,  200,  583,
1229
      437,  584,  579,  580,  581,  200,  585,  200,  582,  200,
1230
      200,  200,  432,  433,  434,  200,  435,  200,  438,  200,
1231
      586,  587,  439,  588,  200,  200,  583,  440,  584,  589,
1232
     1331,  590,  591,  585,  200,  592, 1331,  593,  200, 1331,
1233
      594, 1331, 1331, 1331,  200,  595, 1331,  586,  587,  439,
1234
      588, 1331,  596,  597,  440,  441,  589,  442,  590,  591,
1235
      443,  600,  592,  200,  593,  200,  444,  594,  200,  446,
1236
      447, 1331,  595,  445,  200,  200,  200, 1331,  200,  596,
1237
1238
      597,  200,  441,  448,  442,  601,  200,  443,  600,  602,
1239
      200, 1331,  200,  444,  200,  200,  446,  447,  200, 1331,
1240
      445,  200,  200,  200,  449,  200, 1331,  603,  200,  598,
1241
      448, 1331,  601,  200,  200,  200,  602,  200,  451,  599,
1242
     1331,  200,  450, 1331,  604,  200,  200,  200,  200, 1331,
1243
     1331,  449,  605,  200,  603, 1331,  598,  608,  200, 1331,
1244
      609,  200,  200,  610,  200,  451,  599,  452,  611,  450,
1245
      458,  604,  200,  200,  200,  200,  200,  200,  200,  605,
1246
      200,  612,  200,  200,  608,  200,  606,  609,  200, 1331,
1247
      610, 1331, 1331,  613,  452,  611,  607,  458,  614,  200,
1248
1249
     1331, 1331, 1331,  200,  200,  200, 1331,  615,  612,  200,
1250
      200, 1331,  459,  606,  200,  200,  453,  200,  454,  200,
1251
      613,  200,  455,  607,  200,  614,  616,  460,  200,  456,
1252
      617,  618,  619,  457,  615, 1331, 1331,  200,  200,  459,
1253
     1331,  200, 1331,  453,  200,  454,  200,  622,  200,  455,
1254
      625,  200, 1331,  616,  460,  200,  456,  617,  618,  619,
1255
      457,  461,  200,  200,  200,  200,  200,  462,  200,  464,
1256
     1331,  200,  463,  200,  622,  626,  200,  625, 1331,  623,
1257
     1331,  200,  200, 1331, 1331, 1331,  627,  200,  461,  200,
1258
      200,  200,  624,  200,  462,  200,  464,  465,  200,  463,
1259
1260
      200,  200,  626,  200,  628,  200,  623,  200,  200,  200,
1261
      200,  466,  200,  627,  200,  629,  630,  467,  200,  624,
1262
      468,  200,  200,  200,  465,  469, 1331, 1331,  200, 1331,
1263
      200,  628,  200, 1331,  200,  200, 1331,  200,  466,  200,
1264
      631,  632,  629,  630,  467, 1331,  633,  468,  200,  200,
1265
      200,  200,  469,  200,  200,  200,  200,  200,  200,  471,
1266
      470,  200,  200,  200,  634,  200,  200,  631,  632,  635,
1267
      620, 1331,  200,  633,  477,  200,  636, 1331,  200,  200,
1268
      200,  200,  200,  200,  200,  200,  471,  470,  200,  621,
1269
      200,  634,  200,  200,  200,  637,  635,  620,  200,  200,
1270
1271
      638,  477,  200,  636,  200,  472,  200, 1331,  200,  200,
1272
     1331,  200,  478,  200,  200, 1331,  621,  639,  200,  200,
1273
     1331,  200,  637, 1331,  640,  200, 1331,  638,  200,  479,
1274
     1331,  200,  472,  200,  480,  200,  200,  200,  641,  478,
1275
      200,  200,  473,  200,  639,  200,  200,  200,  642,  487,
1276
      200,  640,  474,  200,  200,  200,  479,  475,  476,  200,
1277
      200,  480,  200, 1331,  200,  641,  643, 1331, 1331,  473,
1278
      200, 1331, 1331, 1331,  200,  642,  487,  200,  644,  474,
1279
      200,  200, 1331, 1331,  475,  476,  200,  645,  646,  200,
1280
      200,  647, 1331,  643,  200,  200,  481,  200,  482,  497,
1281
1282
      200,  486,  200,  200,  650,  644, 1331,  200,  653,  200,
1283
      200, 1331,  654, 1331,  645,  646, 1331,  200,  647,  200,
1284
     1331,  200,  200,  481,  200,  482,  497,  200,  486,  200,
1285
      200,  650,  655,  648,  200,  653,  200,  200,  483,  654,
1286
      484,  200,  649,  488,  656,  651,  200,  652,  200,  200,
1287
      200,  485,  200,  200,  657,  658,  200,  200,  489,  655,
1288
      648,  200,  200, 1331,  659,  483, 1331,  484,  200,  649,
1289
      488,  656,  651, 1331,  652,  200,  200,  200,  485,  200,
1290
      200,  657,  658,  200,  200,  489, 1331, 1331,  200,  200,
1291
      200,  659,  200,  492, 1331,  200,  662,  200,  490, 1331,
1292
1293
      200,  491,  200,  493, 1331,  200,  200,  660,  200,  663,
1294
     1331,  661, 1331,  200,  200, 1331,  200,  200,  200,  200,
1295
      492,  200,  200,  662,  200,  490,  200,  200,  491,  200,
1296
      493,  494,  200,  200,  660,  200,  663,  200,  661,  200,
1297
      200,  200,  495,  200,  200,  200, 1331,  790,  200,  200,
1298
      200, 1331,  200,  200, 1331, 1331,  791,  200,  494,  792,
1299
      793, 1331,  200,  794,  200,  795,  200,  796,  797,  495,
1300
      798,  200,  799,  200,  790,  200,  200,  200,  200,  200,
1301
      200,  496,  200,  791,  200,  200,  792,  793,  200,  200,
1302
      794,  498,  795, 1331,  796,  797, 1331,  798,  200,  799,
1303
1304
      200,  800,  200, 1331, 1331,  200,  499,  200,  496,  200,
1305
      200,  801,  200,  802,  200,  200,  803,  804,  498,  500,
1306
      200,  805, 1331,  501,  200,  200,  502,  806,  800,  200,
1307
      200,  200,  807,  499,  808, 1331,  200,  200,  801,  200,
1308
      802,  200,  809,  803,  804, 1331,  500,  200,  805,  503,
1309
      501,  200, 1331,  502,  806,  810,  200,  200,  200,  807,
1310
      200,  808,  504,  200, 1331,  811,  200,  505,  506,  809,
1311
      812,  813,  200,  200,  814,  200,  503,  815, 1331,  507,
1312
      200,  200,  810,  816, 1331,  200,  200,  200, 1331,  504,
1313
      508,  200,  811, 1331,  505,  506,  817,  812,  813,  200,
1314
1315
      200,  814,  200,  818,  815,  509,  507,  200,  200,  200,
1316
      816,  200,  200,  200,  819,  200,  200,  508,  200,  515,
1317
      513,  200, 1331,  817,  200,  200,  820,  821,  200,  822,
1318
      818, 1331,  509, 1331,  514,  200,  200, 1331,  200, 1331,
1319
     1331,  819,  200,  200,  200,  823,  515,  513,  200,  510,
1320
     1331,  200,  200,  820,  821,  200,  822, 1331,  511,  516,
1321
      200,  514,  200,  200,  200,  200,  512,  200,  200, 1331,
1322
      200,  200,  823,  200,  200, 1331,  510,  517,  824, 1331,
1323
      825,  826, 1331,  200,  200,  511,  516,  200,  827,  828,
1324
      200,  200,  200,  512,  200,  200,  519,  200,  518,  200,
1325
1326
      200,  200,  200,  200,  517,  824,  200,  825,  826,  200,
1327
      200,  200,  200, 1331, 1331,  827,  828,  522,  829,  200,
1328
     1331,  200,  200,  519, 1331,  518,  200,  200, 1331,  200,
1329
      200,  830, 1331,  200, 1331,  831,  200,  200,  832,  200,
1330
      200,  520,  200,  833,  522,  829,  200,  200,  200,  200,
1331
     1331,  200,  521,  834,  200,  200, 1331, 1331,  830,  523,
1332
      835,  200,  831,  838,  200,  832, 1331,  200,  520,  200,
1333
      833,  200, 1331,  200,  200, 1331,  839,  200,  200,  521,
1334
      834,  840,  200,  200,  524,  525,  523,  835,  200,  841,
1335
      838,  842,  200,  200, 1331,  845,  530,  200,  200,  200,
1336
1337
      200,  200,  200,  839,  200,  526, 1331,  200,  840, 1331,
1338
      200,  524,  525, 1331, 1331,  846,  841,  200,  842,  200,
1339
      200,  200,  845,  530,  200,  531,  200, 1331,  200,  200,
1340
      847,  200,  526,  527,  200,  848,  200, 1331, 1331,  836,
1341
      528,  200,  846,  529,  200,  849,  200,  532,  200,  200,
1342
      837,  534,  531,  533,  200,  200,  200,  847,  200,  200,
1343
      527,  200,  848,  200,  535,  536,  836,  528,  200,  200,
1344
      529,  200,  849,  200,  532,  200,  200,  837,  534, 1331,
1345
      533,  200,  200,  200, 1331,  200,  200, 1331,  200,  200,
1346
      850,  535,  536,  200, 1331,  851,  200,  538,  200,  200,
1347
1348
      852,  200,  200,  853,  537,  200,  667,  854,  200,  200,
1349
      855,  200,  200,  200,  843,  844,  200,  850,  200,  856,
1350
      200,  200,  851, 1331,  538, 1331,  200,  852,  200, 1331,
1351
      853,  537,  200,  667,  854,  200,  200,  855,  200, 1331,
1352
      200,  843,  844, 1331, 1331,  200,  856, 1331,  200,  289,
1353
      289,  289,  289,  289,  289,  289,  289,  289,  289,  415,
1354
      415,  415,  415,  415,  415,  415,  415,  415,  415,  200,
1355
      665,  200,  666,  200,  200,  200,  200,  857,  858,  200,
1356
      200,  200,  200, 1331,  859,  860, 1331,  861, 1331,  200,
1357
      200,  200,  200, 1331, 1331, 1331,  200,  665,  200,  666,
1358
1359
      200,  200,  200,  200,  857,  858,  200,  200,  200,  200,
1360
      668,  859,  860,  200,  861,  200,  200,  200,  200,  200,
1361
      200,  200,  200,  200,  200,  200,  200, 1331,  200,  200,
1362
      200, 1331,  862,  200,  200, 1331,  669,  668,  863, 1331,
1363
      200,  864,  200,  865, 1331, 1331,  200,  200,  200,  200,
1364
      200,  200,  200,  200,  200,  200,  200,  200,  670,  862,
1365
      200,  200,  200,  669,  200,  863,  200,  200,  864,  866,
1366
      865,  672,  200,  200,  200, 1331,  673,  200,  200,  867,
1367
      671,  200,  200,  200,  868,  670,  869,  200,  200,  200,
1368
      674,  200,  200,  200,  200,  870,  866,  200,  672,  200,
1369
1370
      871,  200,  200,  673,  200,  200,  867,  671,  200,  200,
1371
      200,  868,  200,  869,  200,  200, 1331,  674,  200,  200,
1372
     1331,  678,  870, 1331,  200, 1331, 1331,  871,  200,  200,
1373
      675, 1331,  676,  200,  872,  200,  200,  200,  873,  200,
1374
      874, 1331,  200,  200,  875,  200,  200,  677,  678,  679,
1375
      200, 1331,  200,  200,  680,  200,  200,  675,  200,  676,
1376
      200,  872,  200,  200,  200,  873,  200,  874,  200,  200,
1377
      200,  875, 1331,  200,  677, 1331,  679,  200,  682,  200,
1378
      200,  680,  200,  200, 1331,  200,  200, 1331,  876,  200,
1379
      683,  877,  200,  200,  200,  200,  878,  681,  200,  200,
1380
1381
      879,  200,  200, 1331,  200,  682,  684,  880, 1331,  200,
1382
     1331,  200, 1331,  200,  200,  876,  881,  683,  877,  200,
1383
      882,  200,  883,  878,  681,  200,  200,  879,  200,  200,
1384
      200,  200,  200,  684,  880,  686,  685,  200,  200,  200,
1385
      884,  200,  200,  881,  200,  200,  200,  882,  982,  883,
1386
      983,  687,  984, 1331,  985,  200,  200,  200,  688,  200,
1387
      200,  986,  686,  685,  200,  200,  200,  884, 1331,  200,
1388
      200,  200,  200,  200, 1331,  982,  200,  983,  687,  984,
1389
      689,  985,  200,  200, 1331,  688,  200,  200,  986,  987,
1390
      690,  691,  200,  988,  200,  200,  200,  200,  200, 1331,
1391
1392
      989,  200,  990,  200,  200,  991,  692,  689, 1331, 1331,
1393
      992,  200, 1331,  200,  200,  993,  987,  690,  691, 1331,
1394
      988,  200,  200,  200,  693,  200,  200,  989,  200,  990,
1395
      200,  200,  991,  692,  994,  694,  200,  992,  200,  200,
1396
     1331,  200,  993, 1331,  200,  200,  200, 1331,  200,  995,
1397
      996,  693,  997,  200,  200,  200, 1331,  200, 1331,  695,
1398
     1331,  994,  694,  200,  200, 1331,  200,  696, 1331, 1331,
1399
      200,  200,  200,  200,  200,  200,  995,  996, 1331,  997,
1400
      200,  200,  200,  698,  998,  200,  695,  200,  200,  200,
1401
      200,  200,  200,  200,  696,  200,  697,  200,  200,  999,
1402
1403
     1000,  200, 1331,  200, 1001,  200, 1331,  200,  200, 1331,
1404
      698,  998,  200, 1002,  200,  200,  200,  200, 1331,  200,
1405
      200, 1331,  200,  697,  700,  200,  999, 1000,  200,  699,
1406
      200, 1001,  200,  200,  200,  200,  701,  200,  200, 1331,
1407
     1002, 1331,  200,  200,  200,  200, 1331,  200,  200, 1003,
1408
     1004,  700,  702,  200, 1005,  200,  699,  200,  200, 1006,
1409
      200,  200, 1331,  701,  200,  200,  703, 1331,  200,  200,
1410
      200,  200,  200,  200,  200,  200, 1003, 1004,  200,  702,
1411
      200, 1005, 1007, 1008,  200,  200, 1006,  200, 1331,  200,
1412
      200, 1331,  200,  703,  705,  200,  704,  200, 1331,  200,
1413
1414
      200, 1331,  200, 1331, 1009,  200, 1010, 1331,  706, 1007,
1415
     1008, 1331,  200,  708,  200,  200,  200,  200,  200,  200,
1416
      200,  705, 1011,  704,  200,  200,  200, 1331,  200,  200,
1417
      707, 1009, 1012, 1010,  200,  706, 1331, 1331,  200,  200,
1418
      708, 1331,  200, 1331,  200,  200, 1331,  200, 1013, 1011,
1419
     1331, 1331,  200, 1014,  200,  200, 1015,  707, 1016, 1012,
1420
     1019,  200,  200,  709,  200,  200,  200,  710,  200,  200,
1421
      711,  200,  200,  200,  200, 1013, 1017,  200,  200, 1018,
1422
     1014,  200,  200, 1015, 1331, 1016, 1331, 1019, 1331,  200,
1423
      709,  200, 1331,  200,  710,  200,  200,  711,  712,  200,
1424
1425
      200,  200, 1020, 1017,  200,  200, 1018,  714,  200,  200,
1426
      200,  200,  200,  200,  200,  200, 1021, 1022,  200,  200,
1427
      200,  713, 1331,  200,  200,  712, 1331, 1023, 1024, 1020,
1428
     1025, 1026, 1331, 1027,  714,  200, 1028,  200,  200,  200,
1429
      200,  200,  200, 1021, 1022,  200,  200,  200,  713,  200,
1430
      200,  200,  200,  715, 1023, 1024,  200, 1025, 1026,  200,
1431
     1027,  200,  200, 1028, 1331,  200, 1331,  716, 1029,  200,
1432
     1331,  200,  200, 1030,  717, 1331,  200, 1031, 1331,  200,
1433
      715,  200, 1331,  200, 1032, 1331,  200,  200,  200,  200,
1434
     1331,  200,  200,  718,  716, 1029,  200,  200,  200,  200,
1435
1436
     1030,  717,  200, 1033, 1031,  720,  200,  200,  200,  200,
1437
     1331, 1032,  719, 1034,  200,  200, 1331,  721,  200, 1035,
1438
      718,  200,  200, 1036,  200,  200, 1331,  200, 1331,  200,
1439
     1033,  722,  720,  200,  200,  200,  200,  200, 1331,  719,
1440
     1034,  200,  200,  723,  721, 1037, 1035,  200,  200,  200,
1441
     1036,  200,  200,  724,  200,  200, 1331, 1331,  722,  200,
1442
     1038, 1331,  200,  200,  200,  200, 1331, 1039,  200, 1040,
1443
      723,  725, 1037, 1041,  200,  200, 1331,  200,  200,  726,
1444
      724,  200,  200,  200,  200, 1331,  200, 1038,  200,  200,
1445
      200, 1331,  200,  200, 1039, 1331, 1040, 1042,  725,  728,
1446
1447
     1041, 1331,  200,  200,  200,  200,  726,  200,  200,  200,
1448
      200,  200,  200,  727, 1331,  200,  200,  200,  200,  200,
1449
      200,  200,  729,  733, 1042,  200,  728, 1043,  200, 1331,
1450
      200,  200,  200, 1331,  200, 1044,  200, 1045,  200,  200,
1451
      727,  200,  730,  200,  200,  200,  200,  200,  200,  729,
1452
      733, 1046,  200,  200, 1043,  200,  200,  200,  200,  734,
1453
      200,  200, 1044,  200, 1045,  200,  200,  200,  200,  730,
1454
      200,  736, 1331, 1047,  200, 1331,  200,  200, 1046, 1048,
1455
      200, 1331, 1049,  200,  200, 1331,  734,  200,  200, 1050,
1456
      200,  731,  200,  200,  200,  200,  200, 1331,  736,  200,
1457
1458
     1047,  732,  200,  200,  200,  200, 1048, 1051,  735, 1049,
1459
     1331, 1052,  200, 1331, 1331,  200, 1050,  200,  731,  200,
1460
      200,  200,  200,  200,  200, 1126,  200,  200,  732,  200,
1461
      200, 1127,  200,  737, 1051,  735, 1128,  200, 1052,  200,
1462
      200,  738,  200, 1129,  200,  200, 1331,  200,  200,  200,
1463
     1130,  200, 1126, 1331,  200,  200, 1131,  200, 1127,  739,
1464
      737,  200, 1331, 1128,  200,  200,  200,  200,  738, 1132,
1465
     1129,  200,  200,  200, 1331,  200,  200, 1130, 1331,  740,
1466
      200, 1133,  200, 1131, 1331,  200,  739,  200,  200,  200,
1467
     1134,  742,  200,  200,  741,  200, 1132, 1331,  200,  200,
1468
1469
      200,  200,  200, 1331, 1135,  743,  740,  200, 1133,  200,
1470
     1136,  200,  200, 1331,  200,  200,  200, 1134,  742, 1331,
1471
      200,  741,  200, 1137,  200,  200,  200,  200,  200,  747,
1472
      200, 1135,  743,  744,  200, 1331,  200, 1136,  200,  200,
1473
      200, 1331,  200, 1138, 1139, 1331,  752,  200,  200, 1331,
1474
     1137,  200,  200,  200,  200, 1331,  747,  200,  200, 1140,
1475
      744,  200,  200,  750,  200, 1331,  200,  200,  745,  200,
1476
     1138, 1139,  200,  752,  200,  200,  200, 1141, 1331, 1142,
1477
      200, 1143,  200, 1144, 1145,  200, 1140,  746, 1146,  200,
1478
      750,  200,  200, 1331, 1147,  745,  200, 1331, 1148,  200,
1479
1480
      751,  200, 1331,  200, 1141,  200, 1142,  200, 1143,  200,
1481
     1144, 1145,  200, 1149,  746, 1146,  200,  200,  200,  200,
1482
      748, 1147, 1150,  200,  754, 1148, 1151,  751,  200,  200,
1483
     1331,  200,  200,  749,  200, 1152,  200, 1331, 1331,  200,
1484
     1149,  200, 1331,  200,  200,  200,  753,  748, 1153, 1150,
1485
      200,  754, 1154, 1151, 1155,  200,  200,  200,  200,  200,
1486
      749,  755, 1152,  200,  200,  200, 1156,  200,  200,  200,
1487
     1157, 1158,  200,  753, 1331, 1153, 1331,  200,  756, 1154,
1488
      200, 1155, 1159, 1331,  200,  200,  200, 1331,  755, 1331,
1489
      200,  200,  200, 1156,  200, 1160,  200, 1157, 1158,  200,
1490
1491
     1161,  200, 1331,  200,  200,  756,  758,  200,  757, 1159,
1492
      200,  200,  200,  200,  760,  200,  200,  200,  200,  200,
1493
     1162,  759, 1160,  200,  200, 1163,  200, 1161,  200,  200,
1494
      200,  200, 1331,  758,  200,  757, 1331,  200,  200,  200,
1495
      200,  760,  200,  200, 1331,  200,  200, 1162,  759, 1331,
1496
      200,  200, 1163,  200, 1331,  200,  200, 1331,  200,  200,
1497
      200,  200, 1331,  200,  200,  200,  200,  200,  761,  764,
1498
      200,  200, 1164,  200,  763,  200,  200,  200,  762,  200,
1499
      200,  200,  200,  200,  200,  765,  200,  200, 1331,  200,
1500
      200,  200,  200, 1331,  200,  761,  764,  200,  200, 1164,
1501
1502
      200,  763,  200,  200,  200,  762,  200,  200,  200, 1165,
1503
      200,  200,  765,  200, 1166,  200,  200,  767, 1167,  200,
1504
      200,  766, 1212, 1214,  200,  200,  200, 1215,  200,  200,
1505
      768, 1216, 1331,  200, 1331, 1331, 1165, 1331,  200, 1331,
1506
      200, 1166,  200, 1217,  767, 1167,  200,  200,  766, 1212,
1507
     1214,  200,  200,  200, 1215,  200,  200,  768, 1216,  200,
1508
      200,  200,  200, 1218,  770,  200,  200,  769, 1331,  200,
1509
     1217,  200,  771, 1219,  200,  200,  200, 1331, 1220,  200,
1510
     1221, 1331,  200, 1331, 1331,  200,  200, 1222,  200,  200,
1511
     1218,  770,  200,  200,  769,  200,  200, 1331,  200,  771,
1512
1513
     1219,  200,  200,  200,  773, 1220,  200, 1221,  200,  200,
1514
      772,  200,  200,  774, 1222,  200, 1223, 1331,  200,  200,
1515
      200, 1224,  200,  200,  200, 1331,  200, 1331,  200,  200,
1516
      200,  773, 1331,  200,  775,  200,  778,  772,  200,  776,
1517
      774,  777,  200, 1223,  200,  200,  200,  200, 1224,  200,
1518
      200,  200,  200,  200,  780,  200,  200,  200, 1225,  200,
1519
      200,  775, 1331,  778,  200, 1331,  776, 1331,  777, 1226,
1520
      779,  200, 1331,  200,  200, 1227,  200, 1228,  200,  200,
1521
      200,  780,  200, 1331,  200, 1225,  200,  200, 1331,  781,
1522
     1229,  200,  200, 1331,  200, 1331, 1226,  779, 1230,  782,
1523
1524
     1231,  200, 1227, 1232, 1228,  200, 1331,  200,  200,  200,
1525
      200,  200, 1256, 1258,  200,  200,  781, 1229, 1259,  200,
1526
      200,  200,  200, 1260,  200, 1230,  782, 1231, 1261,  200,
1527
     1232, 1331, 1331,  783,  200,  200,  200,  200,  200, 1256,
1528
     1258, 1331,  200,  200,  784, 1259, 1331,  200,  200,  200,
1529
     1260,  200,  200, 1262,  785, 1261,  200, 1263,  786,  200,
1530
      783,  200,  787,  200,  200,  200,  200, 1264,  200, 1331,
1531
      200,  784, 1265,  200, 1331,  200, 1331, 1331,  200,  200,
1532
     1262,  785, 1213, 1213, 1263,  786,  200, 1266, 1267,  787,
1533
      200,  200,  200,  200, 1264,  200,  788,  200, 1283, 1265,
1534
1535
      200,  200,  200,  200,  200,  200,  200,  886,  200, 1284,
1536
      887,  200, 1285,  200, 1266, 1267,  200,  200, 1331,  200,
1537
     1257, 1331,  200,  788,  200, 1283,  200, 1331,  200,  200,
1538
      200,  200,  200,  200,  886,  200, 1284,  887,  200, 1285,
1539
      200,  200,  888,  200,  200,  200,  892, 1257,  200,  200,
1540
      200,  200, 1286,  200,  200, 1289,  200,  890,  200,  200,
1541
      891,  889, 1282, 1282,  200,  200,  200, 1331,  200,  888,
1542
      200,  200,  200,  892, 1331,  200, 1331,  200,  200, 1286,
1543
     1331,  200, 1289,  200,  890,  200, 1295,  891,  889, 1296,
1544
     1331,  200,  200,  200,  200,  894,  893,  200,  200,  200,
1545
1546
     1331,  200,  200,  895, 1294,  200,  200,  200,  200, 1331,
1547
     1331,  200, 1299, 1295, 1331,  200, 1296,  200,  200, 1331,
1548
     1331,  200,  894,  893, 1331,  200,  200,  200,  200,  200,
1549
      895, 1294,  200,  200,  200,  200,  200,  200,  200, 1299,
1550
      200,  200,  200, 1302,  200,  200,  200,  200, 1331, 1304,
1551
     1331,  896, 1306, 1308,  200,  200,  200,  200, 1331,  200,
1552
     1235, 1213, 1331,  200,  200,  200, 1331,  200,  200, 1310,
1553
     1302, 1331, 1331,  200,  200,  200, 1304,  200,  896, 1306,
1554
     1308,  200,  200,  200,  200,  897,  200,  200, 1312,  200,
1555
      200,  200,  200,  898,  200,  200, 1310,  200, 1270,  200,
1556
1557
      200,  200,  200,  899,  200, 1314, 1331, 1331,  200,  200,
1558
      200,  200,  897, 1331,  200, 1312,  200,  200,  200,  200,
1559
      898,  200,  200,  200,  200, 1270,  200,  200,  200,  200,
1560
      899, 1316, 1314,  200,  900,  200,  200,  200,  200,  200,
1561
      901, 1318, 1331,  902,  200,  200,  200,  200,  200, 1331,
1562
      200, 1331, 1331,  200,  200, 1320,  200, 1322, 1316,  903,
1563
      200,  900,  200,  200,  200, 1331,  200,  901, 1318,  200,
1564
      902,  200,  200,  200,  200,  200,  904, 1331,  200,  200,
1565
      200,  200, 1320,  200, 1322, 1324,  903, 1331,  200,  200,
1566
      200,  200,  200,  905,  200, 1331,  200, 1288, 1282,  200,
1567
1568
      200, 1331, 1331,  904,  200,  200,  200, 1331, 1331, 1331,
1569
      200, 1331, 1324, 1331, 1331,  200,  200, 1331, 1331,  200,
1570
      905,  200, 1331,  200, 1331,  200,  200, 1331, 1331, 1331,
1571
      200,  200,  906, 1331,  200,  200,  200, 1331, 1331, 1298,
1572
     1331,  200,  907, 1331, 1331, 1331,  200,  908, 1331, 1331,
1573
      200, 1331,  200, 1331, 1331, 1331, 1331,  200,  200,  906,
1574
      200,  200,  200,  200, 1331,  200, 1298, 1331,  200,  907,
1575
      200, 1331, 1331,  200,  908,  910,  200, 1331,  200, 1331,
1576
     1331, 1331,  909,  200,  200,  200,  200,  200,  200, 1331,
1577
     1331,  200,  200, 1331,  200, 1331,  200,  200,  911, 1331,
1578
1579
     1331, 1331,  910,  200,  200,  200, 1331, 1331, 1331,  909,
1580
      200,  200, 1331,  200,  200,  200, 1331,  912,  200,  200,
1581
      200,  200,  200,  200,  200,  911,  200,  200,  200,  200,
1582
      919,  200,  200,  200,  200, 1331, 1331, 1331,  200, 1331,
1583
      200,  200, 1331, 1331,  912, 1331,  200,  200, 1331,  200,
1584
      200,  200, 1331,  200,  200,  200,  200,  919, 1331,  200,
1585
      200,  200,  200, 1331,  200,  200,  913,  200,  200,  200,
1586
      200, 1331,  914, 1331,  200,  200,  200,  200,  200, 1331,
1587
      200, 1331, 1331,  200, 1331,  915, 1331, 1331,  200,  200,
1588
     1331,  200, 1331,  913, 1331,  200,  200,  200,  917,  914,
1589
1590
     1331,  200,  200,  200, 1331,  200,  200,  200,  200,  200,
1591
      200,  200,  915,  200,  916,  200,  200, 1331,  200,  918,
1592
     1331,  200, 1331, 1331,  200,  917, 1331, 1331,  200, 1331,
1593
      200, 1331,  200,  200,  200,  200,  200,  200,  200, 1331,
1594
      200,  916,  200,  200,  200,  200,  918, 1331,  200, 1331,
1595
      200,  200,  200, 1331,  200,  200,  200,  200, 1331,  200,
1596
      200,  200,  921, 1331,  200,  920, 1331, 1331, 1331,  200,
1597
      200,  200,  200, 1331,  922, 1331,  200,  200,  200,  200,
1598
      200,  200,  200,  200, 1331, 1331,  200,  200,  200,  921,
1599
      200, 1331,  920, 1331,  200, 1331,  200,  200,  200,  200,
1600
1601
      200,  922, 1331,  200,  923,  200, 1331,  200,  200,  200,
1602
      200, 1331,  200,  200, 1331,  200, 1331,  200,  200, 1331,
1603
      200,  200,  200,  200,  200,  200,  200,  200,  200, 1331,
1604
      200,  923,  200,  924,  200,  200,  925,  200, 1331,  200,
1605
      200,  200,  200, 1331, 1331,  200,  200,  200, 1331,  200,
1606
     1331,  200, 1331,  200, 1331,  200, 1331,  200, 1331,  200,
1607
      924,  200, 1331,  925,  200, 1331,  200,  200,  200,  200,
1608
      200,  200,  200,  200,  927,  200,  200,  926,  200,  200,
1609
     1331, 1331,  200, 1331,  200,  200, 1331, 1331,  928, 1331,
1610
     1331,  200, 1331,  200,  200,  200, 1331,  200,  200,  200,
1611
1612
     1331,  927,  200,  200,  926,  200,  200, 1331, 1331,  200,
1613
     1331,  200,  200, 1331, 1331,  928,  200, 1331,  200, 1331,
1614
     1331,  200,  200,  200,  200, 1331,  200,  200,  929,  200,
1615
      930,  200, 1331,  931,  200, 1331,  200, 1331, 1331,  200,
1616
     1331, 1331, 1331,  200, 1331,  200, 1331, 1331, 1331, 1331,
1617
      200,  200, 1331,  200,  200,  929,  200,  930,  200, 1331,
1618
      931,  200, 1331,  200, 1331, 1331,  200,  932,  200,  934,
1619
      200,  200,  200, 1331,  200,  200,  200, 1331,  933,  200,
1620
      200,  200, 1331, 1331,  200, 1331, 1331, 1331, 1331, 1331,
1621
     1331, 1331, 1331, 1331,  932,  200,  934,  200,  200,  200,
1622
1623
     1331,  200,  200,  200, 1331,  933,  200,  200,  200, 1331,
1624
      200,  200,  200,  200,  200,  200,  200,  200, 1331, 1331,
1625
      200,  200,  200, 1331, 1331,  200,  200, 1331, 1331, 1331,
1626
     1331, 1331, 1331, 1331, 1331, 1331, 1331,  200, 1331,  200,
1627
      200,  200,  200,  200,  200, 1331, 1331,  200,  200,  200,
1628
     1331, 1331,  200,  200,  200, 1331,  200,  200,  936,  200,
1629
      200,  200,  935, 1331,  200,  200,  200, 1331, 1331,  200,
1630
      200, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
1631
     1331,  200, 1331,  200,  200,  936,  200,  200,  200,  935,
1632
      937,  200,  200,  200,  200,  200,  200,  200,  938,  200,
1633
1634
      200, 1331,  200,  941,  200,  200,  200,  200,  200,  200,
1635
      200,  939,  940, 1331,  200,  200,  200,  937,  200,  200,
1636
     1331,  200,  200, 1331, 1331,  938,  200,  200, 1331,  200,
1637
      941,  200,  200,  200,  200,  200,  200,  200,  939,  940,
1638
      200,  200,  200,  200,  943,  200,  200,  200,  200,  200,
1639
      200, 1331,  200,  942,  200, 1331, 1331, 1331,  200,  200,
1640
      200, 1331, 1331, 1331, 1331, 1331, 1331,  200,  200, 1331,
1641
     1331,  943, 1331, 1331,  200,  200,  200,  200, 1331,  200,
1642
      942,  200,  944, 1331,  200,  200,  200,  200,  200, 1331,
1643
     1331, 1331,  945,  200,  200,  200,  200,  200, 1331, 1331,
1644
1645
     1331, 1331,  200,  200,  200, 1331,  946, 1331, 1331,  944,
1646
     1331,  200,  200,  200, 1331,  200, 1331, 1331, 1331,  945,
1647
      200,  200,  200,  200,  200, 1331,  200, 1331, 1331,  200,
1648
      200,  200,  200,  946,  200,  947, 1331,  200,  200,  200,
1649
      200,  200,  200, 1331,  200,  948,  200,  200, 1331,  200,
1650
      949, 1331, 1331,  200,  200, 1331,  200,  200, 1331,  200,
1651
     1331,  200,  947, 1331,  200,  200,  200, 1331,  200,  200,
1652
     1331,  200,  948,  200,  200,  200,  950,  949, 1331,  200,
1653
      200,  200, 1331,  200,  200,  200,  200, 1331, 1331, 1331,
1654
      951, 1331, 1331,  200,  200,  200,  200, 1331,  200, 1331,
1655
1656
     1331, 1331,  200,  950,  200, 1331,  200,  200, 1331, 1331,
1657
     1331, 1331,  200,  200,  200, 1331,  952,  951, 1331, 1331,
1658
      200,  200,  200,  200,  200,  200, 1331, 1331,  953,  200,
1659
      200,  200,  200,  200, 1331, 1331, 1331, 1331,  200,  200,
1660
      200,  200,  200,  952, 1331, 1331,  200,  200,  200,  200,
1661
      954,  200,  200, 1331, 1331,  953,  200,  200, 1331,  200,
1662
      200, 1331,  200, 1331, 1331,  200,  200,  200,  200,  200,
1663
      200, 1331,  200,  200,  200,  200,  200,  954,  200,  200,
1664
      200,  955,  200, 1331, 1331,  956,  200, 1331,  200,  200,
1665
      200,  957,  200, 1331,  200,  200, 1331,  200,  200,  200,
1666
1667
     1331,  200,  200, 1331,  200,  200, 1331,  200,  955,  200,
1668
     1331, 1331,  956,  200,  200,  200,  200,  200,  957,  200,
1669
      200,  200, 1331,  960,  958,  200,  200, 1331,  200,  200,
1670
      959,  200,  200, 1331,  200,  200,  200, 1331,  961,  200,
1671
      200,  200,  200,  200,  200, 1331, 1331,  200,  200, 1331,
1672
      960,  958, 1331,  200, 1331,  200, 1331,  959,  200,  200,
1673
      200,  200,  200,  200,  200,  961,  200,  200,  200,  200,
1674
      200,  200,  200,  963,  962,  200,  200,  200,  200, 1331,
1675
      200,  200, 1331,  200, 1331,  200,  200,  200,  200, 1331,
1676
     1331,  200,  200,  200, 1331,  200,  964,  200, 1331,  200,
1677
1678
      963,  962,  200,  200,  200,  200, 1331,  200,  200, 1331,
1679
      200, 1331,  200,  200,  965,  200, 1331,  200,  200,  200,
1680
      200,  200,  200,  964,  200, 1331,  200,  966, 1331,  200,
1681
     1331,  200,  200,  200,  200, 1331,  200,  200,  967,  200,
1682
      200,  965,  200,  200,  200,  200,  200, 1331,  200,  200,
1683
      200,  200,  200,  200,  966, 1331,  200,  968,  200,  200,
1684
      200,  200,  200,  200,  200,  967, 1331,  200, 1331,  200,
1685
      200,  969, 1331,  200,  200, 1331,  200,  200, 1331,  200,
1686
      200,  200,  200,  200,  968, 1331,  200,  200,  200,  200,
1687
      200, 1331,  200, 1331, 1331,  200, 1331,  970,  969, 1331,
1688
1689
      200,  200, 1331,  200,  200, 1331,  971,  200,  200,  200,
1690
     1331,  200, 1331,  200,  200,  200,  200,  200, 1331,  200,
1691
     1331, 1331,  200,  200,  970,  200,  973,  200, 1331, 1331,
1692
      200,  200,  972,  971,  200,  200,  200,  200,  200,  200,
1693
     1331,  200,  974,  200,  200, 1331,  200, 1331, 1331,  200,
1694
      200, 1331,  200,  973, 1331, 1331, 1331,  200, 1331,  972,
1695
      975,  200,  200,  200,  200,  200,  200,  200,  200,  974,
1696
      976,  200,  200,  200,  200,  200,  200,  200,  977,  200,
1697
      200, 1331, 1331, 1331, 1331,  200, 1331,  975, 1331, 1331,
1698
      200, 1331,  200, 1331,  200,  200, 1331,  976, 1331,  200,
1699
1700
     1331,  200,  200, 1331,  200,  977,  200,  200, 1331,  200,
1701
      200,  200,  200,  200,  200,  200, 1331,  200, 1331,  200,
1702
      200,  200,  200,  979,  200, 1331,  978,  200,  200,  200,
1703
      200,  200, 1331,  200,  200, 1331,  200,  200,  200, 1331,
1704
      200,  200,  200,  200,  200, 1331,  200,  200,  200, 1331,
1705
      979,  200, 1331,  978,  200,  200,  200,  200,  200, 1331,
1706
      200,  200,  200, 1331,  200,  200,  200,  200,  200,  980,
1707
      200,  200,  200,  200,  200, 1331, 1331,  200,  200, 1331,
1708
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,  200,
1709
     1331,  200,  200,  200,  200,  200,  980, 1331, 1331,  200,
1710
1711
      200,  200, 1331, 1331,  200,  200,  200,  200,  200,  200,
1712
     1331, 1055,  200,  200,  200,  200,  200, 1331,  200,  200,
1713
     1054,  200,  200, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
1714
     1331,  200,  200,  200,  200,  200,  200, 1331, 1055,  200,
1715
      200,  200,  200,  200, 1331,  200,  200, 1054,  200,  200,
1716
     1056,  200, 1331, 1331,  200,  200, 1331, 1331,  200,  200,
1717
      200,  200, 1331, 1059,  200, 1058, 1057, 1331,  200,  200,
1718
      200,  200, 1331,  200,  200, 1331, 1331, 1056,  200,  200,
1719
     1331,  200,  200, 1331,  200, 1331, 1331,  200,  200,  200,
1720
     1059,  200, 1058, 1057, 1331,  200,  200,  200,  200, 1331,
1721
1722
      200,  200, 1060,  200,  200, 1061,  200, 1331,  200, 1331,
1723
      200,  200, 1331, 1331,  200,  200,  200, 1331, 1331, 1331,
1724
     1331, 1331, 1331, 1331,  200, 1331,  200, 1331,  200, 1060,
1725
      200,  200, 1061,  200, 1062,  200,  200,  200,  200, 1064,
1726
      200,  200,  200,  200,  200,  200, 1063, 1065,  200,  200,
1727
     1331,  200,  200,  200,  200,  200,  200,  200,  200,  200,
1728
      200, 1062, 1066,  200,  200,  200, 1064,  200,  200, 1331,
1729
      200,  200,  200, 1063, 1065,  200,  200, 1331,  200,  200,
1730
     1331,  200, 1331,  200,  200,  200,  200, 1331,  200, 1066,
1731
     1331,  200,  200, 1068, 1331,  200, 1070,  200, 1067, 1331,
1732
1733
      200,  200, 1069, 1331,  200,  200,  200,  200,  200,  200,
1734
     1331, 1331, 1331, 1331,  200,  200,  200,  200, 1331,  200,
1735
     1068, 1331,  200, 1070,  200, 1067,  200,  200,  200, 1069,
1736
     1331,  200,  200,  200,  200,  200,  200, 1331, 1331, 1331,
1737
     1331,  200,  200,  200,  200, 1331,  200,  200, 1331,  200,
1738
     1071,  200, 1331,  200, 1331, 1331,  200,  200,  200,  200,
1739
     1073, 1331, 1072, 1331, 1331,  200,  200,  200, 1331,  200,
1740
      200, 1074, 1331,  200,  200,  200, 1075, 1071,  200, 1331,
1741
      200,  200, 1331,  200,  200,  200,  200, 1073, 1331, 1072,
1742
     1331,  200,  200,  200,  200,  200,  200,  200, 1074,  200,
1743
1744
     1331, 1331,  200, 1075,  200,  200,  200,  200,  200, 1331,
1745
     1076, 1078, 1331,  200, 1331,  200,  200, 1331,  200, 1331,
1746
      200, 1331,  200,  200,  200, 1331,  200, 1331, 1331, 1331,
1747
      200,  200,  200,  200, 1331, 1077, 1331, 1076, 1078, 1331,
1748
      200, 1331,  200,  200,  200, 1331, 1331,  200, 1079,  200,
1749
     1331,  200, 1331,  200,  200, 1331, 1331,  200, 1083,  200,
1750
      200, 1331, 1077, 1331,  200,  200, 1080,  200,  200,  200,
1751
      200,  200,  200, 1331, 1331, 1079,  200, 1331,  200, 1331,
1752
      200,  200, 1331, 1331, 1331, 1083,  200,  200,  200, 1331,
1753
      200,  200,  200, 1080,  200,  200,  200,  200,  200,  200,
1754
1755
      200, 1331,  200, 1331, 1331,  200, 1331, 1331,  200, 1331,
1756
      200, 1331, 1331, 1331, 1331,  200, 1081,  200,  200, 1331,
1757
     1331,  200, 1331, 1331,  200,  200, 1331,  200,  200,  200,
1758
     1331, 1331, 1331, 1331,  200,  200, 1331,  200, 1331, 1082,
1759
      200, 1085,  200, 1081,  200,  200,  200, 1084,  200, 1331,
1760
     1331,  200,  200,  200, 1331,  200, 1331, 1331,  200, 1331,
1761
     1331,  200, 1331, 1331, 1331, 1331, 1082,  200, 1085,  200,
1762
      200,  200,  200,  200, 1084,  200,  200,  200,  200,  200,
1763
      200, 1331,  200,  200,  200,  200,  200, 1331,  200, 1331,
1764
     1331,  200, 1086, 1331, 1331, 1331,  200,  200, 1331,  200,
1765
1766
      200, 1331,  200,  200,  200,  200, 1331,  200, 1331,  200,
1767
      200,  200,  200,  200,  200,  200,  200, 1331,  200, 1086,
1768
     1331,  200, 1331,  200, 1331, 1331,  200,  200,  200,  200,
1769
      200, 1331, 1331, 1331,  200,  200, 1087, 1331, 1331,  200,
1770
      200,  200,  200,  200,  200, 1331, 1088, 1331,  200, 1089,
1771
      200, 1331, 1090,  200,  200,  200,  200,  200, 1091, 1331,
1772
      200, 1331,  200, 1087, 1331,  200,  200,  200, 1331,  200,
1773
      200,  200, 1331, 1088, 1331, 1331, 1089,  200, 1331, 1090,
1774
     1331,  200,  200,  200,  200, 1091, 1331,  200,  200,  200,
1775
      200, 1331,  200,  200,  200,  200, 1331,  200, 1092, 1331,
1776
1777
      200, 1331, 1331, 1331, 1331, 1331,  200, 1331,  200,  200,
1778
     1331,  200,  200,  200,  200,  200,  200,  200,  200,  200,
1779
     1331,  200,  200, 1331,  200, 1092, 1331,  200, 1331, 1331,
1780
      200, 1331,  200,  200, 1093,  200, 1331,  200,  200,  200,
1781
      200,  200,  200, 1331,  200,  200,  200, 1331,  200, 1331,
1782
      200,  200, 1331, 1331,  200, 1094, 1331,  200, 1331,  200,
1783
      200, 1093, 1331, 1331,  200,  200, 1331, 1095, 1331,  200,
1784
     1331,  200, 1331, 1331, 1331,  200, 1331,  200,  200, 1331,
1785
      200,  200, 1094, 1331,  200,  200,  200,  200, 1331, 1331,
1786
      200,  200, 1096, 1097, 1095, 1331,  200,  200, 1331,  200,
1787
1788
     1331, 1331, 1331, 1331,  200,  200, 1331,  200, 1331,  200,
1789
     1331,  200,  200,  200, 1331, 1331, 1331,  200,  200, 1096,
1790
     1097, 1331, 1331,  200,  200,  200,  200,  200,  200, 1331,
1791
      200,  200,  200, 1098, 1331,  200,  200,  200, 1099,  200,
1792
      200,  200,  200, 1331, 1331, 1331,  200, 1331,  200, 1331,
1793
     1331,  200,  200, 1331,  200,  200, 1331,  200,  200,  200,
1794
     1098, 1331,  200, 1331,  200, 1099,  200,  200,  200,  200,
1795
     1331, 1331,  200,  200, 1331,  200,  200, 1331,  200, 1101,
1796
      200, 1331,  200, 1331,  200,  200, 1331, 1100, 1331, 1331,
1797
      200, 1331,  200, 1331, 1331, 1331, 1331, 1331, 1331,  200,
1798
1799
      200, 1331, 1331,  200, 1331, 1331, 1101,  200,  200,  200,
1800
     1331,  200,  200, 1331, 1100, 1331,  200,  200,  200,  200,
1801
      200, 1102, 1331, 1331, 1331, 1331,  200,  200,  200, 1103,
1802
      200, 1331, 1331, 1331,  200,  200,  200, 1331, 1331,  200,
1803
      200, 1331, 1104,  200, 1331,  200,  200,  200, 1102, 1331,
1804
      200, 1331,  200,  200,  200,  200, 1103,  200, 1105, 1331,
1805
     1331,  200,  200,  200,  200, 1331,  200,  200, 1331, 1104,
1806
      200, 1331, 1331,  200,  200, 1331,  200,  200, 1331,  200,
1807
     1106,  200, 1331, 1331,  200, 1105,  200, 1331,  200,  200,
1808
     1331,  200, 1107,  200,  200, 1331,  200,  200,  200, 1331,
1809
1810
      200,  200,  200,  200,  200, 1331,  200, 1106,  200, 1108,
1811
      200,  200, 1331,  200,  200,  200,  200, 1331,  200, 1107,
1812
      200,  200,  200,  200,  200,  200, 1110,  200,  200,  200,
1813
      200,  200,  200,  200,  200,  200, 1108,  200, 1331, 1109,
1814
     1331,  200,  200,  200,  200,  200, 1331,  200, 1331,  200,
1815
     1112,  200, 1331, 1110,  200,  200, 1331,  200,  200,  200,
1816
     1331,  200, 1111,  200,  200, 1331, 1109,  200,  200,  200,
1817
      200,  200, 1331,  200,  200, 1113, 1331, 1112, 1331, 1331,
1818
      200,  200, 1331,  200, 1331,  200,  200, 1331,  200, 1111,
1819
      200,  200, 1114,  200,  200,  200, 1331,  200,  200, 1331,
1820
1821
      200,  200, 1113, 1331,  200, 1331,  200,  200, 1331, 1331,
1822
      200,  200, 1115,  200, 1331,  200,  200, 1116, 1331, 1114,
1823
      200, 1331, 1331, 1117, 1331,  200, 1331, 1331,  200, 1331,
1824
      200,  200, 1331,  200,  200,  200,  200, 1331,  200, 1115,
1825
      200,  200, 1331,  200, 1116, 1331,  200,  200, 1331, 1118,
1826
     1117, 1331, 1331, 1331,  200,  200, 1331,  200,  200,  200,
1827
      200,  200,  200,  200, 1331,  200, 1331,  200,  200, 1331,
1828
      200, 1331, 1331,  200,  200, 1331, 1118, 1331, 1119, 1120,
1829
      200,  200,  200, 1331,  200,  200,  200,  200,  200, 1331,
1830
      200, 1331,  200, 1331, 1331, 1331, 1331,  200,  200, 1331,
1831
1832
      200, 1331, 1331, 1331, 1121, 1119, 1120,  200,  200,  200,
1833
     1331,  200,  200, 1331,  200,  200,  200,  200, 1331, 1331,
1834
     1331,  200,  200,  200,  200,  200, 1331,  200, 1122, 1123,
1835
     1331, 1121,  200,  200, 1331,  200, 1331, 1331, 1331,  200,
1836
      200,  200,  200,  200, 1331, 1331, 1331,  200,  200,  200,
1837
      200,  200,  200, 1124, 1331, 1122, 1123, 1331, 1331,  200,
1838
      200,  200, 1331,  200,  200, 1331,  200,  200,  200,  200,
1839
      200,  200,  200,  200,  200, 1331,  200,  200, 1331,  200,
1840
     1124, 1331,  200, 1331, 1331, 1331, 1331, 1331,  200, 1331,
1841
      200,  200, 1169,  200, 1331,  200,  200,  200,  200,  200,
1842
1843
      200,  200,  200,  200,  200,  200,  200, 1331, 1170,  200,
1844
     1172,  200,  200,  200,  200,  200, 1331,  200,  200, 1169,
1845
      200,  200,  200,  200,  200, 1331, 1171,  200,  200,  200,
1846
      200,  200,  200,  200, 1331, 1170,  200, 1172,  200,  200,
1847
      200,  200,  200, 1331,  200,  200,  200,  200,  200,  200,
1848
      200,  200, 1331, 1171,  200, 1331,  200,  200,  200, 1331,
1849
      200, 1173,  200,  200, 1331, 1331,  200, 1174,  200, 1175,
1850
      200,  200,  200,  200, 1331,  200,  200,  200, 1331, 1331,
1851
      200,  200, 1331,  200, 1331, 1331, 1331,  200, 1173,  200,
1852
     1331, 1331, 1331,  200, 1174,  200, 1175,  200,  200,  200,
1853
1854
     1331, 1331,  200,  200,  200, 1331,  200,  200,  200, 1331,
1855
      200,  200,  200,  200, 1177,  200,  200,  200, 1176, 1331,
1856
      200, 1331,  200, 1331, 1331,  200, 1331, 1331, 1331, 1331,
1857
     1331,  200, 1331,  200, 1331, 1331, 1331,  200,  200,  200,
1858
      200, 1177,  200,  200,  200, 1176, 1178,  200, 1331,  200,
1859
     1331, 1179,  200,  200, 1331,  200, 1331,  200,  200, 1331,
1860
     1331, 1331,  200,  200,  200, 1331,  200,  200, 1331, 1331,
1861
     1331,  200, 1180, 1178, 1331, 1331,  200, 1331, 1179, 1331,
1862
      200, 1331,  200, 1331,  200,  200, 1331, 1331, 1331,  200,
1863
      200,  200, 1331,  200,  200,  200, 1181,  200,  200, 1180,
1864
1865
     1331, 1331,  200,  200, 1331, 1331,  200,  200,  200,  200,
1866
     1331,  200, 1331,  200, 1331, 1331,  200, 1331,  200, 1331,
1867
     1331,  200,  200, 1181,  200, 1331, 1331, 1331, 1182,  200,
1868
     1331, 1331, 1331,  200,  200,  200,  200,  200,  200,  200,
1869
      200, 1331, 1331,  200,  200,  200, 1331, 1331,  200,  200,
1870
      200,  200,  200,  200, 1331, 1182, 1331,  200,  200, 1331,
1871
     1331, 1331,  200,  200,  200, 1331,  200, 1331, 1331, 1331,
1872
     1331,  200, 1331, 1331, 1331, 1331,  200,  200,  200,  200,
1873
      200,  200, 1183,  200,  200,  200,  200,  200,  200,  200,
1874
      200,  200,  200,  200,  200, 1331, 1184,  200, 1331, 1331,
1875
1876
     1331,  200,  200, 1331, 1331, 1331,  200,  200,  200, 1183,
1877
      200, 1331, 1331,  200,  200,  200, 1331, 1331,  200,  200,
1878
      200,  200, 1331, 1184,  200, 1331, 1331, 1331,  200,  200,
1879
      200,  200,  200,  200,  200, 1186,  200,  200, 1185, 1331,
1880
      200,  200,  200, 1331, 1331, 1331,  200, 1331, 1331, 1331,
1881
      200,  200, 1331, 1331,  200, 1331,  200,  200,  200,  200,
1882
      200, 1331, 1186,  200,  200, 1185, 1331,  200,  200,  200,
1883
      200, 1331,  200,  200, 1331,  200,  200,  200,  200,  200,
1884
      200,  200,  200,  200,  200,  200, 1331,  200, 1331, 1331,
1885
      200, 1331,  200, 1331,  200,  200, 1331,  200,  200,  200,
1886
1887
      200, 1331,  200,  200,  200, 1331,  200,  200, 1331,  200,
1888
     1331,  200,  200, 1331,  200, 1331,  200,  200, 1331,  200,
1889
      200,  200,  200, 1331, 1188,  200,  200,  200,  200, 1187,
1890
     1331,  200, 1331, 1331,  200, 1331,  200, 1331, 1189, 1331,
1891
     1331,  200,  200,  200,  200, 1331,  200,  200, 1331, 1331,
1892
      200, 1188,  200,  200,  200,  200, 1187, 1331, 1331, 1331,
1893
      200,  200,  200,  200,  200, 1189, 1331, 1331,  200,  200,
1894
      200,  200, 1331,  200,  200, 1331,  200,  200,  200,  200,
1895
     1331,  200, 1331, 1190,  200, 1331, 1331,  200,  200,  200,
1896
     1331,  200,  200, 1331,  200,  200, 1331,  200, 1331,  200,
1897
1898
     1191,  200,  200,  200,  200,  200,  200,  200,  200, 1331,
1899
     1190,  200,  200,  200, 1331,  200, 1331, 1331,  200,  200,
1900
     1331,  200, 1331, 1331, 1331, 1192,  200, 1191, 1331,  200,
1901
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
1902
      200, 1331,  200,  200, 1331,  200, 1331, 1331,  200, 1331,
1903
     1331, 1331, 1192, 1331,  200, 1331,  200,  200, 1331,  200,
1904
     1331,  200, 1193,  200,  200,  200,  200,  200, 1331,  200,
1905
      200, 1194,  200, 1331, 1331,  200, 1195,  200, 1331, 1331,
1906
     1196,  200,  200,  200,  200, 1331, 1331,  200,  200, 1193,
1907
      200, 1331,  200,  200,  200, 1331, 1331, 1331, 1194,  200,
1908
1909
      200, 1331,  200, 1195,  200, 1331,  200, 1196, 1331,  200,
1910
     1331,  200,  200, 1331,  200, 1331,  200,  200, 1331,  200,
1911
      200, 1331, 1197, 1331, 1331, 1331,  200,  200, 1198,  200,
1912
      200, 1331, 1331,  200,  200, 1331,  200, 1331, 1331,  200,
1913
      200, 1331, 1199,  200,  200, 1331, 1331,  200,  200, 1197,
1914
      200, 1331, 1331,  200,  200, 1198, 1331,  200,  200, 1331,
1915
      200,  200, 1331,  200,  200, 1200,  200,  200,  200, 1199,
1916
      200,  200,  200, 1201,  200,  200, 1331,  200,  200,  200,
1917
     1331,  200, 1331, 1331,  200,  200, 1331,  200, 1331, 1331,
1918
     1331,  200, 1200,  200, 1331,  200,  200,  200, 1202,  200,
1919
1920
     1201,  200,  200,  200,  200,  200,  200, 1331,  200,  200,
1921
     1203,  200,  200, 1331,  200, 1331, 1331,  200, 1331, 1331,
1922
     1331, 1331,  200,  200, 1331, 1202,  200, 1331,  200,  200,
1923
      200,  200, 1331,  200, 1204,  200,  200, 1203,  200,  200,
1924
     1331,  200, 1331, 1331,  200,  200, 1234,  200, 1331,  200,
1925
      200, 1331,  200,  200, 1331,  200,  200,  200, 1205, 1206,
1926
      200, 1204, 1331, 1331, 1331,  200,  200, 1331,  200,  200,
1927
      200,  200,  200, 1234,  200,  200,  200,  200, 1331,  200,
1928
      200,  200, 1331,  200,  200, 1205, 1206, 1331, 1331, 1331,
1929
     1331, 1331,  200,  200,  200,  200,  200,  200,  200,  200,
1930
1931
     1207, 1331,  200,  200,  200, 1208, 1331,  200,  200, 1331,
1932
      200, 1331,  200,  200, 1331,  200,  200,  200,  200,  200,
1933
      200,  200,  200,  200, 1331,  200,  200, 1207,  200, 1331,
1934
     1331,  200, 1208, 1331,  200, 1331,  200,  200, 1331,  200,
1935
      200,  200,  200,  200,  200,  200,  200,  200, 1331,  200,
1936
      200, 1331,  200, 1331, 1331,  200, 1331,  200, 1331,  200,
1937
      200,  200,  200,  200,  200, 1331, 1209,  200,  200,  200,
1938
     1331, 1331,  200,  200, 1331, 1331, 1210, 1331,  200, 1331,
1939
     1331, 1331, 1331,  200,  200, 1331,  200,  200,  200,  200,
1940
      200,  200,  200, 1209,  200, 1331,  200,  200, 1331,  200,
1941
1942
     1331, 1331,  200, 1210,  200,  200,  200, 1331, 1331, 1331,
1943
      200,  200, 1331, 1331, 1331,  200,  200,  200,  200,  200,
1944
      200, 1331, 1331, 1331,  200,  200, 1331, 1331, 1331,  200,
1945
      200,  200,  200,  200,  200, 1331,  200, 1331,  200,  200,
1946
      200, 1331, 1331,  200,  200,  200,  200,  200, 1331, 1331,
1947
      200, 1331,  200, 1331,  200, 1331,  200,  200, 1331,  200,
1948
      200,  200, 1331,  200, 1235, 1213,  200,  200, 1331, 1331,
1949
      200,  200, 1331,  200, 1236, 1331, 1331,  200,  200, 1331,
1950
     1331,  200, 1331,  200,  200, 1331, 1331,  200, 1237,  200,
1951
     1331, 1331,  200,  200,  200, 1331,  200,  200, 1331,  200,
1952
1953
     1331, 1236,  200, 1331,  200,  200, 1331, 1331,  200,  200,
1954
     1331,  200,  200, 1331,  200, 1237,  200, 1331,  200,  200,
1955
      200,  200,  200,  200,  200, 1331,  200, 1331,  200,  200,
1956
     1238,  200, 1331,  200,  200,  200,  200,  200,  200,  200,
1957
      200,  200,  200,  200, 1331,  200,  200, 1331, 1239,  200,
1958
      200,  200,  200,  200, 1331,  200, 1331, 1238, 1331, 1331,
1959
      200,  200,  200, 1331,  200,  200, 1331,  200,  200,  200,
1960
      200, 1331,  200,  200, 1331, 1239, 1331,  200,  200,  200,
1961
      200,  200, 1331, 1331, 1331,  200, 1331, 1331,  200,  200,
1962
      200,  200, 1240, 1331, 1331,  200, 1331,  200, 1331,  200,
1963
1964
     1331,  200,  200, 1331,  200,  200,  200, 1331,  200, 1331,
1965
     1331,  200,  200, 1331, 1241,  200,  200,  200,  200, 1240,
1966
     1242, 1331,  200,  200,  200,  200, 1331,  200,  200,  200,
1967
      200,  200,  200,  200, 1331,  200, 1331, 1331,  200, 1331,
1968
     1331, 1241, 1331,  200,  200, 1331,  200, 1242, 1331,  200,
1969
      200,  200,  200,  200,  200,  200,  200,  200, 1331,  200,
1970
      200, 1331,  200, 1331, 1331,  200, 1331, 1331, 1331, 1331,
1971
     1331,  200, 1331,  200, 1331, 1331, 1331, 1331,  200,  200,
1972
      200,  200,  200,  200, 1244, 1243,  200,  200,  200,  200,
1973
     1331,  200,  200,  200,  200,  200, 1331, 1246,  200, 1245,
1974
1975
      200, 1331,  200, 1331,  200,  200,  200,  200,  200,  200,
1976
      200, 1244, 1243,  200, 1331,  200,  200, 1331,  200, 1331,
1977
      200,  200,  200, 1331, 1246,  200, 1245,  200,  200,  200,
1978
      200,  200,  200, 1331,  200,  200,  200,  200, 1331,  200,
1979
      200,  200, 1331, 1331, 1331, 1331,  200, 1247, 1331, 1331,
1980
     1331,  200,  200, 1331,  200,  200, 1331,  200, 1331,  200,
1981
     1331, 1331,  200, 1331,  200, 1331,  200,  200,  200, 1248,
1982
      200, 1331,  200,  200, 1247, 1331, 1331,  200,  200,  200,
1983
     1331,  200,  200,  200, 1331,  200,  200, 1331, 1331, 1331,
1984
      200,  200, 1331, 1331, 1331,  200, 1248,  200, 1331,  200,
1985
1986
     1331, 1331, 1331, 1331,  200, 1331,  200, 1331,  200,  200,
1987
      200, 1331,  200,  200, 1249, 1331, 1331,  200,  200,  200,
1988
     1331,  200,  200, 1331, 1331, 1331,  200,  200, 1251,  200,
1989
      200,  200,  200,  200,  200,  200, 1250,  200, 1331,  200,
1990
      200, 1249,  200, 1331, 1331,  200,  200, 1331,  200, 1331,
1991
     1331, 1331, 1331,  200,  200, 1251,  200,  200,  200,  200,
1992
      200,  200,  200, 1250,  200, 1331,  200,  200, 1252,  200,
1993
     1253, 1254,  200,  200,  200,  200, 1331,  200, 1331, 1331,
1994
      200,  200, 1331,  200, 1331, 1331, 1331,  200, 1331,  200,
1995
      200,  200, 1331,  200,  200, 1252, 1331, 1253, 1254,  200,
1996
1997
      200,  200,  200, 1331,  200,  200, 1331,  200,  200,  200,
1998
      200, 1331, 1331, 1331, 1331,  200, 1331,  200,  200,  200,
1999
      200, 1331, 1331,  200,  200,  200, 1331, 1331,  200,  200,
2000
     1331, 1331,  200, 1331,  200, 1331,  200, 1269, 1331,  200,
2001
     1331, 1331,  200,  200,  200, 1331,  200,  200, 1331, 1331,
2002
      200,  200,  200,  200, 1331,  200,  200, 1331, 1271, 1331,
2003
     1331,  200, 1331,  200, 1269, 1331,  200, 1331,  200,  200,
2004
      200,  200,  200,  200,  200, 1331, 1331, 1331,  200,  200,
2005
      200, 1331,  200,  200, 1272, 1271,  200,  200,  200,  200,
2006
      200, 1331,  200,  200, 1331,  200,  200,  200, 1273,  200,
2007
2008
      200,  200,  200,  200, 1331,  200,  200,  200, 1331,  200,
2009
      200, 1272, 1331,  200,  200,  200,  200,  200, 1331,  200,
2010
      200, 1331,  200,  200,  200, 1273,  200,  200,  200,  200,
2011
      200, 1331,  200,  200,  200, 1331, 1274, 1331, 1331,  200,
2012
     1276, 1275,  200,  200,  200,  200,  200,  200, 1331,  200,
2013
      200,  200,  200,  200,  200, 1331, 1331,  200, 1331,  200,
2014
      200, 1331, 1331, 1274, 1331, 1331,  200, 1276, 1275,  200,
2015
      200, 1331,  200,  200,  200,  200, 1331,  200,  200,  200,
2016
     1331,  200,  200,  200,  200, 1331, 1331,  200,  200,  200,
2017
     1331,  200, 1331,  200, 1331, 1331,  200, 1331, 1331, 1331,
2018
2019
     1331,  200,  200, 1331,  200, 1331, 1331,  200,  200,  200,
2020
      200,  200, 1331, 1331,  200,  200,  200,  200,  200, 1331,
2021
      200,  200, 1331,  200, 1331,  200,  200, 1277,  200,  200,
2022
     1279,  200, 1278,  200,  200, 1331,  200, 1331,  200,  200,
2023
     1331,  200, 1331, 1331,  200, 1331,  200, 1331,  200,  200,
2024
     1280,  200,  200,  200, 1277,  200,  200, 1279,  200, 1278,
2025
      200,  200, 1331,  200, 1288, 1282,  200, 1331,  200, 1331,
2026
     1290,  200, 1331,  200,  200,  200,  200, 1280,  200,  200,
2027
      200, 1331,  200, 1331,  200,  200,  200, 1331,  200,  200,
2028
      200, 1291, 1331,  200, 1331,  200,  200, 1290,  200,  200,
2029
2030
     1331,  200,  200,  200,  200,  200,  200,  200,  200,  200,
2031
      200,  200,  200,  200,  200,  200,  200,  200, 1291, 1331,
2032
      200, 1331,  200,  200,  200, 1331,  200,  200, 1331,  200,
2033
      200,  200,  200, 1331,  200,  200,  200,  200,  200,  200,
2034
      200,  200,  200, 1331, 1331,  200,  200, 1331,  200, 1331,
2035
      200,  200, 1331,  200,  200, 1331,  200, 1331,  200,  200,
2036
     1331,  200, 1331,  200,  200,  200,  200,  200,  200, 1292,
2037
     1331, 1331,  200,  200,  200,  200, 1331,  200,  200,  200,
2038
      200, 1331,  200,  200,  200,  200,  200,  200,  200, 1331,
2039
      200,  200,  200,  200, 1300,  200, 1292, 1331,  200,  200,
2040
2041
      200,  200,  200,  200,  200,  200,  200,  200, 1331,  200,
2042
      200,  200,  200, 1331,  200,  200, 1331, 1331, 1331,  200,
2043
      200, 1300, 1331, 1331, 1331,  200,  200,  200, 1331,  200,
2044
      200,  200, 1331, 1331,  200, 1331, 1331, 1331, 1331,  200,
2045
       46,   46,   46,   46,   46,   88, 1331, 1331,   88,   88,
2046
      185,  185,  185, 1331,  185,  187, 1331,  187,  187,  187,
2047
      190, 1331,  190,  190,  190,  200, 1331,  200,  200,  200,
2048
        7, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
2049
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
2050
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
2051
2052
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
2053
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
2054
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
2055
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
2056
     1331, 1331, 1331, 1331, 1331, 1331, 1331
2057
    } ;
2058
2059
static const flex_int16_t yy_chk[8848] =
2060
    {   0,
2061
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2062
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2063
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2064
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2065
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2066
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2067
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2068
        1,    1,    1,    1,    1,    1,    5,    5,    5,    5,
2069
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
2070
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
2071
2072
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
2073
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
2074
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
2075
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
2076
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
2077
        5,    5,    9,    9,   10,   10,   15,   16,   16,   16,
2078
       16,   16,   16,   16,   16,   16,   16,   15,   17,   17,
2079
       17,   17,   17,   17,   17,   17,   17,   17,   17,   18,
2080
       18,   21,   22,   21,   27,   28,   22,   23,   30,   21,
2081
       27,   21,   22,   28,   23,   21,   21,   31,   41,   28,
2082
2083
       41,   23,   22,   41,   23, 1334,   44,   23,   21,   22,
2084
       21,   27,   28,   22,   23,   30,   21,   27,   21,   22,
2085
       28,   23,   21,   21,   31,   41,   28,   41,   23,   22,
2086
       41,   23,   24,   44,   23,   25,   24,   25,   49,   49,
2087
       24,   32,   25,   99,   33,   32,   24,   25,   33,   24,
2088
       55,   32,   50,   50,   33,   43,   43,   58,   58,   24,
2089
     1328,   55,   25,   24,   25, 1327,   34,   24,   32,   25,
2090
       99,   33,   32,   24,   25,   33,   24,   26,   32,   36,
2091
       34,   33,   43,   43,  100,   26,   34,   34,   26,  103,
2092
       36,   26,   29,   34,   26, 1326,   36,   26,   29,   29,
2093
2094
       29,   42,   86,   86,   26,   29,   36,   34, 1325,   42,
2095
     1323,  100,   26,   34,   34,   26,  103,   36,   26,   29,
2096
     1321,   26,   35,   36,   26,   29,   29,   29,   42,  104,
2097
       35,   38,   29,  101,   35,   38,   42,   35,   35,   38,
2098
       81,  101,   81,  106,   81,   38, 1319,   81, 1317,   35,
2099
      102, 1315,   81,  102, 1313,  107,  104,   35,   38, 1311,
2100
      101,   35,   38, 1309,   35,   35,   38,   81,  101,   81,
2101
      106,   81,   38,   39,   81,   39,  110,  102,   39,   81,
2102
      102,   39,  107,   39,  113,   39,   39,   56,   56,   56,
2103
       56,   56,   56,   56,   56,   56,   56,  188,  188, 1307,
2104
2105
       39, 1305,   39,  110, 1303,   39,  105,  105,   39,  109,
2106
       39,  113,   39,   39,   40,  112,  109,   67,   40,   67,
2107
      105,   40,   40,   67,   67,  112,  116,  116,   40,   67,
2108
      117,   40, 1301,  105,  105, 1297,  109, 1133, 1133, 1256,
2109
     1256,   40,  112,  109,   67,   40,   67,  105,   40,   40,
2110
       67,   67,  112,  116,  116,   40,   67,  117,   40,   57,
2111
       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2112
       61,   61,  118,   61,   61,   61,   61,   61,   61,  119,
2113
       68,  114, 1293, 1287,   68, 1281,  114,  120,   68,   61,
2114
       61,   61,   70,  121,   68,   61,   70,   61,  123,  118,
2115
2116
      124,  125,   70,   61,   68,   61,  119,   68,  114,   61,
2117
       61,   68,   70,  114,  120,   68,  127,  128, 1268,   70,
2118
      121,   68,   61,   70,   61,  123, 1255,  124,  125,   70,
2119
       61,   68,   61, 1233,  129, 1211,   61,   61, 1168,   70,
2120
     1125, 1053,  981,  127,  128,   61,   62,   62,  885,   62,
2121
       62,   62,   62,   62,   62,  789,  664,  130,   71,   72,
2122
       73,  129,   71,   72,   73,   62,   62,   62,   71,   72,
2123
       73,  131,   62,   77,  131,  126,   62,   77,   71,   72,
2124
       73,  126,   62,   77,  130,   71,   72,   73,  132,   71,
2125
       72,   73,   62,   77,  539,   71,   72,   73,  131,   62,
2126
2127
       77,  131,  126,   62,   77,   71,   72,   73,  126,   62,
2128
       77,  414,  288,   83,  133,  132,   83,   83,  135,   62,
2129
       77,   62,   63,   83,   78,  136,   63,  138,   78,   63,
2130
       63,  139,   78,   83,  140,  141,   63,  144,   78,   63,
2131
       83,  133,   63,   83,   83,  135,   63,  192,   78,   63,
2132
       83,   78,  136,   63,  138,   78,   63,   63,  139,   78,
2133
       83,  140,  141,   63,  144,   78,   63,  190,   90,   63,
2134
       88,   85,   82,   63,   64,   78,   82,   84,   64,  137,
2135
       82,   84,   64,  142,  145,  142,   82,   84,   64,  137,
2136
      146,   64,  147,  149,  137,  137,   82,   84,   64,   82,
2137
2138
       60,   64,   59,   82,   84,   64,  137,   82,   84,   64,
2139
      142,  145,  142,   82,   84,   64,  137,  146,   64,  147,
2140
      149,  137,  137,   82,   84,   64,   65,  111,  111,  111,
2141
       65,  111,  115,   65,  115,   65,   65,  115,  150,  143,
2142
       65,  143,  151,  115,  153,   65,   65,   52,  148,  154,
2143
      115,  148,  143,   65,  111,  111,  111,   65,  111,  115,
2144
       65,  115,   65,   65,  115,  150,  143,   65,  143,  151,
2145
      115,  153,   65,   65,   66,  148,  154,  115,  148,  143,
2146
      155,   66,   66,  156,  157,   66,  158,  122,   66,  122,
2147
      158,   66,  159,  122,   66,   51,  161,   47,   45,  163,
2148
2149
      122,   66,   20,   19,  122,   11,  166,  155,   66,   66,
2150
      156,  157,   66,  158,  122,   66,  122,  158,   66,  159,
2151
      122,   66,   69,  161,  160,  162,  163,  122,   69,   69,
2152
       69,  122,  165,  166,  167,   69,  162,  160,  168,  169,
2153
       69,    7,  160,    4,  170,    3,  165,  172,    0,   69,
2154
      173,  160,  162,  174,  177,   69,   69,   69,    0,  165,
2155
        0,  167,   69,  162,  160,  168,  169,   69,   74,  160,
2156
      164,  170,  171,  165,  172,   74,  175,  173,  178,  164,
2157
      174,  177,   74,  171,  176,   74,  179,  164,   74,   74,
2158
        0,  176,  179,    0,  176,   74,  175,  164,  181,  171,
2159
2160
      182,  183,   74,  175,    0,  178,  164,    0,  291,   74,
2161
      171,  176,   74,  179,  164,   74,   74,   75,  176,  179,
2162
      180,  176,   75,  175,   75,  181,  293,  182,  183,  294,
2163
       75,   75,  200,  180,   75,  291,  200,   75,   75,    0,
2164
        0,    0,  200,  296,   75,    0,    0,  180,  298,   75,
2165
        0,   75,  200,  293,    0,  299,  294,   75,   75,  200,
2166
      180,   75,  300,  200,   75,   75,   76,  201,  201,  200,
2167
      296,  301,  201,   76,    0,  298,  302,   76,  201,  200,
2168
       76,  202,  299,   76,  303,  202,   76,    0,  201,  300,
2169
      305,  202,    0,   76,  201,  201,  202,    0,  301,  201,
2170
2171
       76,  202,  306,  302,   76,  201,  307,   76,  202,    0,
2172
       76,  303,  202,   76,   79,  201,   79,  305,  202,   79,
2173
       79,    0,   79,  202,   79,  308,   79,   79,  202,  306,
2174
      309,  310,  311,  307,  312,  313,   79,    0,  314,    0,
2175
        0,   79,    0,   79,    0,    0,   79,   79,  203,   79,
2176
      203,   79,  308,   79,   79,  203,  203,  309,  310,  311,
2177
      203,  312,  313,   79,   80,  314,  209,  205,   80,  205,
2178
      209,   80,   80,  205,  205,  203,  209,  203,   80,  205,
2179
      315,   80,  203,  203,  316,  317,  209,  203,   80,    0,
2180
        0,   80,    0,  209,  205,   80,  205,  209,   80,   80,
2181
2182
      205,  205,    0,  209,    0,   80,  205,  315,   80,    0,
2183
        0,  316,  317,  209,    0,   80,   91,   91,   91,   91,
2184
       91,   91,   91,   91,   91,   91,   92,   92,   92,   92,
2185
       92,   92,   92,   92,   92,   92,   93,   93,   93,   93,
2186
       93,   93,   93,   93,   93,   93,   93,  193,  193,  193,
2187
      193,  193,  193,  193,  193,  193,  193,  194,  194,  194,
2188
      194,  194,  194,  194,  194,  194,  194,  195,  195,  195,
2189
      195,  195,  195,  195,  195,  195,  195,  195,  204,  206,
2190
      208,  204,  304,  319,  304,  208,  320,  208,  206,  204,
2191
      206,  204,  208,  321,    0,  206,  204,  208,    0,  304,
2192
2193
      206,  204,    0,    0,    0,  204,  206,  208,  204,  304,
2194
      319,  304,  208,  320,  208,  206,  204,  206,  204,  208,
2195
      321,  210,  206,  204,  208,  210,  304,  206,  204,  207,
2196
      207,  210,  211,  322,  211,  207,  318,  207,    0,  211,
2197
        0,  210,  207,  207,  211,    0,  323,  207,  210,  324,
2198
        0,  318,  210,  326,  212,  327,  207,  207,  210,  211,
2199
      322,  211,  207,  318,  207,  212,  211,  212,  210,  207,
2200
      207,  211,  212,  323,  207,    0,  324,  212,  318,    0,
2201
      326,  212,  327,  214,    0,    0,  328,  214,  329,  330,
2202
        0,    0,  212,  214,  212,  331,  332,  333,  215,  212,
2203
2204
        0,  334,  215,  214,  212,  213,  213,  213,  215,  213,
2205
      214,  215,  213,  328,  214,  329,  330,  213,  215,  335,
2206
      214,  336,  331,  332,  333,  215,  337,  216,  334,  215,
2207
      214,  216,  213,  213,  213,  215,  213,  216,  215,  213,
2208
      338,  339,  216,  340,  213,  215,  335,  216,  336,  341,
2209
        0,  342,  343,  337,  216,  344,    0,  345,  216,    0,
2210
      346,    0,    0,    0,  216,  347,    0,  338,  339,  216,
2211
      340,    0,  348,  349,  216,  217,  341,  217,  342,  343,
2212
      217,  351,  344,  218,  345,  218,  217,  346,  217,  218,
2213
      218,    0,  347,  217,  219,  218,  219,    0,  217,  348,
2214
2215
      349,  219,  217,  219,  217,  352,  219,  217,  351,  354,
2216
      218,    0,  218,  217,  220,  217,  218,  218,  220,    0,
2217
      217,  219,  218,  219,  220,  217,    0,  355,  219,  350,
2218
      219,    0,  352,  219,  220,  221,  354,  221,  222,  350,
2219
        0,  220,  221,    0,  356,  220,  222,  221,  222,    0,
2220
        0,  220,  357,  222,  355,    0,  350,  359,  222,    0,
2221
      360,  220,  221,  361,  221,  222,  350,  223,  362,  221,
2222
      225,  356,  225,  222,  221,  222,  223,  225,  223,  357,
2223
      222,  363,  225,  223,  359,  222,  358,  360,  223,    0,
2224
      361,    0,    0,  365,  223,  362,  358,  225,  366,  225,
2225
2226
        0,    0,    0,  223,  225,  223,    0,  367,  363,  225,
2227
      223,    0,  226,  358,  226,  223,  224,  227,  224,  226,
2228
      365,  227,  224,  358,  226,  366,  368,  227,  224,  224,
2229
      369,  370,  371,  224,  367,    0,    0,  227,  224,  226,
2230
        0,  226,    0,  224,  227,  224,  226,  373,  227,  224,
2231
      375,  226,    0,  368,  227,  224,  224,  369,  370,  371,
2232
      224,  228,  229,  228,  227,  224,  229,  228,  228,  230,
2233
        0,  230,  229,  228,  373,  376,  230,  375,    0,  374,
2234
        0,  230,  229,    0,    0,    0,  377,  231,  228,  229,
2235
      228,  231,  374,  229,  228,  228,  230,  231,  230,  229,
2236
2237
      228,  232,  376,  230,  378,  232,  374,  231,  230,  229,
2238
      233,  232,  233,  377,  231,  379,  380,  233,  231,  374,
2239
      233,  232,  233,  234,  231,  234,    0,    0,  232,    0,
2240
      234,  378,  232,    0,  231,  234,    0,  233,  232,  233,
2241
      381,  382,  379,  380,  233,    0,  383,  233,  232,  233,
2242
      234,  235,  234,  235,  236,  237,  236,  234,  235,  237,
2243
      235,  236,  234,  235,  384,  237,  236,  381,  382,  385,
2244
      372,    0,  240,  383,  240,  237,  387,    0,  235,  240,
2245
      235,  236,  237,  236,  240,  235,  237,  235,  236,  372,
2246
      235,  384,  237,  236,  238,  388,  385,  372,  238,  240,
2247
2248
      389,  240,  237,  387,  238,  238,  240,    0,  241,  242,
2249
        0,  240,  241,  242,  238,    0,  372,  390,  241,  242,
2250
        0,  238,  388,    0,  391,  238,    0,  389,  241,  242,
2251
        0,  238,  238,  243,  243,  241,  242,  243,  392,  241,
2252
      242,  238,  239,  243,  390,  241,  242,  247,  393,  247,
2253
      239,  391,  239,  243,  247,  241,  242,  239,  239,  247,
2254
      243,  243,  239,    0,  243,  392,  394,    0,    0,  239,
2255
      243,    0,    0,    0,  247,  393,  247,  239,  395,  239,
2256
      243,  247,    0,    0,  239,  239,  247,  396,  397,  239,
2257
      244,  399,    0,  394,  244,  246,  244,  246,  244,  257,
2258
2259
      244,  246,  246,  257,  401,  395,    0,  246,  403,  257,
2260
      244,    0,  404,    0,  396,  397,    0,  244,  399,  257,
2261
        0,  244,  246,  244,  246,  244,  257,  244,  246,  246,
2262
      257,  401,  405,  400,  246,  403,  257,  244,  245,  404,
2263
      245,  248,  400,  248,  406,  402,  257,  402,  248,  245,
2264
      249,  245,  249,  248,  407,  408,  245,  249,  249,  405,
2265
      400,  245,  249,    0,  409,  245,    0,  245,  248,  400,
2266
      248,  406,  402,    0,  402,  248,  245,  249,  245,  249,
2267
      248,  407,  408,  245,  249,  249,    0,    0,  245,  249,
2268
      250,  409,  250,  251,    0,  251,  411,  250,  250,    0,
2269
2270
      251,  250,  250,  252,    0,  251,  254,  410,  254,  412,
2271
        0,  410,    0,  254,  252,    0,  252,  250,  254,  250,
2272
      251,  252,  251,  411,  250,  250,  252,  251,  250,  250,
2273
      252,  253,  251,  254,  410,  254,  412,  253,  410,  253,
2274
      254,  252,  255,  252,  253,  254,    0,  540,  252,  253,
2275
      255,    0,  255,  252,    0,    0,  541,  255,  253,  542,
2276
      543,    0,  255,  544,  253,  545,  253,  546,  547,  255,
2277
      548,  253,  550,  256,  540,  256,  253,  255,  258,  255,
2278
      256,  256,  258,  541,  255,  256,  542,  543,  258,  255,
2279
      544,  258,  545,    0,  546,  547,    0,  548,  258,  550,
2280
2281
      256,  553,  256,    0,    0,  258,  259,  256,  256,  258,
2282
      259,  554,  256,  555,  259,  258,  556,  558,  258,  260,
2283
      259,  559,    0,  260,  261,  258,  261,  560,  553,  260,
2284
      259,  261,  561,  259,  563,    0,  261,  259,  554,  260,
2285
      555,  259,  564,  556,  558,    0,  260,  259,  559,  262,
2286
      260,  261,    0,  261,  560,  565,  260,  259,  261,  561,
2287
      262,  563,  262,  261,    0,  566,  260,  262,  263,  564,
2288
      567,  568,  262,  263,  569,  263,  262,  570,    0,  264,
2289
      263,  264,  565,  571,    0,  263,  264,  262,    0,  262,
2290
      264,  264,  566,    0,  262,  263,  574,  567,  568,  262,
2291
2292
      263,  569,  263,  575,  570,  265,  264,  263,  264,  265,
2293
      571,  265,  263,  264,  576,  268,  265,  264,  264,  268,
2294
      267,  265,    0,  574,  267,  268,  577,  578,  267,  579,
2295
      575,    0,  265,    0,  267,  268,  265,    0,  265,    0,
2296
        0,  576,  268,  265,  267,  580,  268,  267,  265,  266,
2297
        0,  267,  268,  577,  578,  267,  579,    0,  266,  269,
2298
      266,  267,  268,  269,  270,  266,  266,  269,  270,    0,
2299
      266,  267,  580,  269,  270,    0,  266,  270,  582,    0,
2300
      583,  584,    0,  269,  270,  266,  269,  266,  587,  588,
2301
      269,  270,  266,  266,  269,  270,  272,  266,  271,  272,
2302
2303
      269,  270,  271,  272,  270,  582,  271,  583,  584,  272,
2304
      269,  270,  271,    0,    0,  587,  588,  274,  590,  272,
2305
        0,  274,  271,  272,    0,  271,  272,  274,    0,  271,
2306
      272,  592,    0,  271,    0,  593,  272,  274,  594,  271,
2307
      273,  273,  273,  595,  274,  590,  272,  273,  274,  271,
2308
        0,  275,  273,  596,  274,  275,    0,    0,  592,  275,
2309
      597,  275,  593,  600,  274,  594,    0,  273,  273,  273,
2310
      595,  275,    0,  276,  273,    0,  604,  276,  275,  273,
2311
      596,  606,  275,  276,  276,  277,  275,  597,  275,  607,
2312
      600,  609,  277,  276,    0,  611,  279,  279,  275,  277,
2313
2314
      276,  279,  277,  604,  276,  277,    0,  279,  606,    0,
2315
      276,  276,  277,    0,    0,  612,  607,  279,  609,  277,
2316
      276,  280,  611,  279,  279,  280,  277,    0,  279,  277,
2317
      613,  280,  277,  278,  279,  615,  278,    0,    0,  598,
2318
      278,  280,  612,  278,  279,  616,  278,  281,  280,  281,
2319
      598,  282,  280,  281,  281,  282,  278,  613,  280,  281,
2320
      278,  282,  615,  278,  282,  283,  598,  278,  280,  283,
2321
      278,  282,  616,  278,  281,  283,  281,  598,  282,    0,
2322
      281,  281,  282,  278,    0,  283,  281,    0,  282,  284,
2323
      617,  282,  283,  284,    0,  618,  283,  285,  282,  284,
2324
2325
      620,  285,  283,  621,  284,  285,  420,  623,  420,  284,
2326
      624,  285,  283,  420,  610,  610,  284,  617,  420,  625,
2327
      284,  285,  618,    0,  285,    0,  284,  620,  285,    0,
2328
      621,  284,  285,  420,  623,  420,  284,  624,  285,    0,
2329
      420,  610,  610,    0,    0,  420,  625,    0,  285,  289,
2330
      289,  289,  289,  289,  289,  289,  289,  289,  289,  415,
2331
      415,  415,  415,  415,  415,  415,  415,  415,  415,  416,
2332
      417,  418,  419,  416,  417,  418,  419,  626,  628,  416,
2333
      417,  418,  419,    0,  629,  630,    0,  631,    0,  416,
2334
      417,  418,  419,    0,    0,    0,  416,  417,  418,  419,
2335
2336
      416,  417,  418,  419,  626,  628,  416,  417,  418,  419,
2337
      422,  629,  630,  421,  631,  421,  416,  417,  418,  419,
2338
      421,  422,  423,  422,  423,  421,  424,    0,  422,  423,
2339
      424,    0,  633,  422,  423,    0,  424,  422,  634,    0,
2340
      421,  635,  421,  636,    0,    0,  424,  421,  422,  423,
2341
      422,  423,  421,  424,  425,  422,  423,  424,  425,  633,
2342
      422,  423,  426,  424,  425,  634,  426,  427,  635,  639,
2343
      636,  427,  426,  424,  425,    0,  428,  427,  428,  640,
2344
      426,  425,  426,  428,  641,  425,  642,  427,  428,  426,
2345
      429,  425,  429,  426,  427,  643,  639,  429,  427,  426,
2346
2347
      646,  425,  429,  428,  427,  428,  640,  426,  431,  426,
2348
      428,  641,  431,  642,  427,  428,    0,  429,  431,  429,
2349
        0,  431,  643,    0,  429,    0,    0,  646,  431,  429,
2350
      430,    0,  430,  432,  647,  431,  430,  432,  649,  431,
2351
      650,    0,  430,  432,  651,  431,  433,  430,  431,  432,
2352
      433,    0,  430,  432,  433,  431,  433,  430,  435,  430,
2353
      432,  647,  435,  430,  432,  649,  433,  650,  435,  430,
2354
      432,  651,    0,  433,  430,    0,  432,  433,  435,  430,
2355
      432,  433,  434,  433,    0,  435,  434,    0,  652,  435,
2356
      436,  653,  434,  433,  436,  435,  654,  434,  436,  437,
2357
2358
      655,  437,  434,    0,  436,  435,  437,  656,    0,  434,
2359
        0,  437,    0,  434,  436,  652,  657,  436,  653,  434,
2360
      659,  436,  661,  654,  434,  436,  437,  655,  437,  434,
2361
      438,  436,  438,  437,  656,  439,  438,  438,  437,  439,
2362
      663,  436,  438,  657,  440,  439,  440,  659,  792,  661,
2363
      794,  440,  796,    0,  797,  439,  440,  438,  441,  438,
2364
      441,  798,  439,  438,  438,  441,  439,  663,    0,  438,
2365
      441,  440,  439,  440,    0,  792,  442,  794,  440,  796,
2366
      442,  797,  439,  440,    0,  441,  442,  441,  798,  799,
2367
      443,  444,  441,  800,  443,  444,  442,  441,  443,    0,
2368
2369
      801,  444,  802,  442,  443,  803,  444,  442,    0,    0,
2370
      804,  444,    0,  442,  443,  806,  799,  443,  444,    0,
2371
      800,  443,  444,  442,  445,  443,  445,  801,  444,  802,
2372
      445,  443,  803,  444,  807,  446,  445,  804,  444,  446,
2373
        0,  443,  806,    0,  447,  446,  445,    0,  447,  808,
2374
      809,  445,  810,  445,  447,  446,    0,  445,    0,  447,
2375
        0,  807,  446,  445,  447,    0,  446,  448,    0,    0,
2376
      448,  447,  446,  445,  448,  447,  808,  809,    0,  810,
2377
      448,  447,  446,  450,  811,  449,  447,  450,  451,  449,
2378
      448,  447,  451,  450,  448,  449,  449,  448,  451,  813,
2379
2380
      814,  448,    0,  450,  815,  449,    0,  448,  451,    0,
2381
      450,  811,  449,  816,  450,  451,  449,  448,    0,  451,
2382
      450,    0,  449,  449,  453,  451,  813,  814,  453,  452,
2383
      450,  815,  449,  452,  453,  451,  454,  452,  454,    0,
2384
      816,    0,  454,  452,  453,  455,    0,  455,  454,  817,
2385
      818,  453,  455,  452,  819,  453,  452,  455,  454,  820,
2386
      452,  453,    0,  454,  452,  454,  456,    0,  456,  454,
2387
      452,  453,  455,  456,  455,  454,  817,  818,  456,  455,
2388
      452,  819,  821,  822,  455,  454,  820,  458,    0,  458,
2389
      457,    0,  457,  456,  458,  456,  457,  457,    0,  458,
2390
2391
      456,    0,  457,    0,  825,  456,  826,    0,  459,  821,
2392
      822,    0,  459,  461,  458,  461,  458,  457,  459,  457,
2393
      461,  458,  827,  457,  457,  461,  458,    0,  459,  457,
2394
      460,  825,  828,  826,  460,  459,    0,    0,  460,  459,
2395
      461,    0,  461,    0,  460,  459,    0,  461,  829,  827,
2396
        0,    0,  461,  832,  460,  459,  835,  460,  836,  828,
2397
      838,  460,  462,  462,  462,  460,  463,  463,  463,  462,
2398
      464,  460,  464,  463,  462,  829,  837,  464,  463,  837,
2399
      832,  460,  464,  835,    0,  836,    0,  838,    0,  462,
2400
      462,  462,    0,  463,  463,  463,  462,  464,  465,  464,
2401
2402
      463,  462,  841,  837,  464,  463,  837,  467,  465,  464,
2403
      465,  467,  466,  467,  466,  465,  844,  845,  467,  466,
2404
      465,  466,    0,  467,  466,  465,    0,  846,  847,  841,
2405
      848,  849,    0,  852,  467,  465,  853,  465,  467,  466,
2406
      467,  466,  465,  844,  845,  467,  466,  465,  466,  468,
2407
      467,  466,  469,  468,  846,  847,  469,  848,  849,  468,
2408
      852,  470,  469,  853,    0,  470,    0,  469,  854,  468,
2409
        0,  470,  469,  855,  470,    0,  468,  856,    0,  469,
2410
      468,  470,    0,  469,  858,    0,  468,  471,  470,  469,
2411
        0,  471,  470,  471,  469,  854,  468,  471,  470,  469,
2412
2413
      855,  470,  472,  859,  856,  473,  472,  471,  470,  473,
2414
        0,  858,  472,  861,  471,  473,    0,  474,  471,  862,
2415
      471,  474,  472,  863,  471,  473,    0,  474,    0,  472,
2416
      859,  475,  473,  472,  471,  475,  473,  474,    0,  472,
2417
      861,  475,  473,  476,  474,  864,  862,  476,  474,  472,
2418
      863,  475,  473,  476,  474,  477,    0,    0,  475,  477,
2419
      866,    0,  475,  476,  474,  477,    0,  867,  475,  868,
2420
      476,  477,  864,  869,  476,  477,    0,  478,  475,  478,
2421
      476,  479,  477,  479,  478,    0,  477,  866,  479,  478,
2422
      476,    0,  477,  479,  867,    0,  868,  870,  477,  481,
2423
2424
      869,    0,  477,  481,  478,  480,  478,  480,  479,  481,
2425
      479,  478,  480,  480,    0,  479,  478,  480,  482,  481,
2426
      479,  485,  482,  485,  870,  485,  481,  871,  482,    0,
2427
      481,  485,  480,    0,  480,  872,  481,  873,  482,  480,
2428
      480,  485,  483,  483,  480,  482,  481,  483,  485,  482,
2429
      485,  874,  485,  483,  871,  482,  488,  486,  485,  486,
2430
      488,  486,  872,  483,  873,  482,  488,  486,  485,  483,
2431
      483,  488,    0,  876,  483,    0,  488,  486,  874,  877,
2432
      483,    0,  878,  488,  486,    0,  486,  488,  486,  880,
2433
      483,  484,  487,  488,  486,  484,  487,    0,  488,  484,
2434
2435
      876,  484,  487,  488,  486,  484,  877,  881,  487,  878,
2436
        0,  882,  487,    0,    0,  484,  880,  489,  484,  487,
2437
      490,  489,  484,  487,  490,  982,  484,  489,  484,  487,
2438
      490,  984,  484,  489,  881,  487,  986,  489,  882,  487,
2439
      490,  491,  484,  987,  489,  491,    0,  490,  489,  491,
2440
      988,  490,  982,    0,  489,  491,  989,  490,  984,  492,
2441
      489,  492,    0,  986,  489,  491,  492,  490,  491,  991,
2442
      987,  492,  491,  493,    0,  493,  491,  988,    0,  493,
2443
      493,  993,  491,  989,    0,  493,  492,  494,  492,  494,
2444
      994,  495,  491,  492,  494,  495,  991,    0,  492,  494,
2445
2446
      493,  495,  493,    0,  995,  496,  493,  493,  993,  496,
2447
      996,  495,  493,    0,  494,  496,  494,  994,  495,    0,
2448
      497,  494,  495,  997,  497,  496,  494,  499,  495,  499,
2449
      497,  995,  496,  497,  499,    0,  496,  996,  495,  499,
2450
      497,    0,  496,  999, 1001,    0,  503,  497,  503,    0,
2451
      997,  497,  496,  503,  499,    0,  499,  497,  503, 1005,
2452
      497,  499,  501,  501,  501,    0,  499,  497,  498,  501,
2453
      999, 1001,  498,  503,  501,  503,  498, 1007,    0, 1008,
2454
      503, 1009,  498, 1016, 1017,  503, 1005,  498, 1018,  501,
2455
      501,  501,  498,    0, 1021,  498,  501,    0, 1023,  498,
2456
2457
      502,  501,    0,  498, 1007,  502, 1008,  502, 1009,  498,
2458
     1016, 1017,  502, 1025,  498, 1018,  505,  502,  505,  498,
2459
      500, 1021, 1027,  505,  505, 1023, 1028,  502,  505,  500,
2460
        0,  500,  502,  500,  502, 1029,  500,    0,    0,  502,
2461
     1025,  500,    0,  505,  502,  505,  504,  500, 1030, 1027,
2462
      505,  505, 1031, 1028, 1033,  505,  500,  504,  500,  504,
2463
      500,  506, 1029,  500,  504,  506, 1034,  506,  500,  504,
2464
     1035, 1036,  506,  504,    0, 1030,    0,  506,  507, 1031,
2465
      507, 1033, 1038,    0,  504,  507,  504,    0,  506,    0,
2466
      507,  504,  506, 1034,  506, 1040,  504, 1035, 1036,  506,
2467
2468
     1042,  508,    0,  508,  506,  507,  509,  507,  508, 1038,
2469
      509,  510,  507,  508,  511,  510,  509,  507,  511,  512,
2470
     1043,  510, 1040,  512,  511, 1044,  509, 1042,  508,  512,
2471
      508,  510,    0,  509,  511,  508,    0,  509,  510,  512,
2472
      508,  511,  510,  509,    0,  511,  512, 1043,  510,    0,
2473
      512,  511, 1044,  509,    0,  513,  512,    0,  510,  513,
2474
      514,  511,    0,  515,  514,  513,  512,  515,  513,  516,
2475
      514,  516, 1045,  515,  515,  513,  516,  517,  514,  517,
2476
      514,  516,  513,  515,  517,  517,  513,  514,    0,  517,
2477
      515,  514,  513,    0,  515,  513,  516,  514,  516, 1045,
2478
2479
      515,  515,  513,  516,  517,  514,  517,  514,  516, 1046,
2480
      515,  517,  517,  518, 1051,  518,  517,  519, 1052,  519,
2481
      518,  518, 1130, 1134,  519,  518,  520, 1135,  520,  519,
2482
      520, 1138,    0,  520,    0,    0, 1046,    0,  520,    0,
2483
      518, 1051,  518, 1139,  519, 1052,  519,  518,  518, 1130,
2484
     1134,  519,  518,  520, 1135,  520,  519,  520, 1138,  521,
2485
      520,  521,  522, 1143,  522,  520,  521,  521,    0,  522,
2486
     1139,  521,  523, 1145,  522,  524,  523,    0, 1146,  524,
2487
     1149,    0,  523,    0,    0,  524,  521, 1150,  521,  522,
2488
     1143,  522,  523,  521,  521,  524,  522,    0,  521,  523,
2489
2490
     1145,  522,  524,  523,  526, 1146,  524, 1149,  525,  523,
2491
      525,  526,  524,  526, 1150,  525, 1151,    0,  526,  523,
2492
      525, 1152,  524,  526,  527,    0,  529,    0,  527,  528,
2493
      529,  526,    0,  528,  527,  525,  529,  525,  526,  528,
2494
      526,  528,  525, 1151,  527,  526,  529,  525, 1152,  528,
2495
      526,  527,  531,  529,  531,  527,  528,  529, 1155,  531,
2496
      528,  527,    0,  529,  531,    0,  528,    0,  528, 1156,
2497
      530,  527,    0,  529,  530, 1159,  528, 1161,  530,  531,
2498
      532,  531,  532,    0,  530, 1155,  531,  532,    0,  532,
2499
     1162,  531,  532,    0,  530,    0, 1156,  530, 1163,  533,
2500
2501
     1164,  530, 1159, 1165, 1161,  530,    0,  532,  533,  532,
2502
      533,  530, 1212, 1215,  532,  533,  532, 1162, 1218,  532,
2503
      533,  530,  534, 1219,  534, 1163,  533, 1164, 1222,  534,
2504
     1165,    0,    0,  534,  534,  533,  535,  533,  535, 1212,
2505
     1215,    0,  533,  535,  535, 1218,    0,  533,  535,  534,
2506
     1219,  534,  536, 1223,  536, 1222,  534, 1224,  536,  536,
2507
      534,  534,  537,  535,  536,  535,  537, 1228,  537,    0,
2508
      535,  535, 1229,  537,    0,  535,    0,    0,  537,  536,
2509
     1223,  536, 1213, 1213, 1224,  536,  536, 1230, 1232,  537,
2510
      538,  536,  538,  537, 1228,  537,  538,  538, 1257, 1229,
2511
2512
      537,  665,  538,  665,  666,  537,  666,  665,  665, 1258,
2513
      666,  666, 1261,  665, 1230, 1232,  666,  538,    0,  538,
2514
     1213,    0,  667,  538,  538, 1257,  667,    0,  665,  538,
2515
      665,  666,  667,  666,  665,  665, 1258,  666,  666, 1261,
2516
      665,  668,  667,  666,  669,  668,  671, 1213,  669,  667,
2517
      671,  668, 1266,  667,  669, 1270,  671,  669,  670,  667,
2518
      670,  668, 1282, 1282,  669,  670,  671,    0,  668,  667,
2519
      670,  669,  668,  671,    0,  669,    0,  671,  668, 1266,
2520
        0,  669, 1270,  671,  669,  670, 1283,  670,  668, 1286,
2521
        0,  669,  670,  671,  672,  673,  672,  670,  674,  673,
2522
2523
        0,  672,  674,  675, 1282,  673,  672,  675,  674,    0,
2524
        0,  675, 1289, 1283,    0,  673, 1286,  675,  674,    0,
2525
        0,  672,  673,  672,    0,  674,  673,  675,  672,  674,
2526
      675, 1282,  673,  672,  675,  674,  676,  677,  675, 1289,
2527
      676,  677,  673, 1294,  675,  674,  676,  677,    0, 1298,
2528
        0,  678, 1302, 1304,  675,  678,  676,  677,    0,  678,
2529
     1235, 1235,    0,  676,  677,  678,    0,  676,  677, 1306,
2530
     1294,    0,    0,  676,  677,  678, 1298,  679,  678, 1302,
2531
     1304,  679,  678,  676,  677,  679,  678,  679, 1308,  680,
2532
      681,  682,  678,  680,  681,  682, 1306,  679, 1235,  680,
2533
2534
      681,  682,  678,  681,  679, 1310,    0,    0,  679,  680,
2535
      681,  682,  679,    0,  679, 1308,  680,  681,  682,  683,
2536
      680,  681,  682,  683,  679, 1235,  680,  681,  682,  683,
2537
      681, 1312, 1310,  684,  683,  684,  680,  681,  682,  683,
2538
      684, 1314,    0,  685,  686,  684,  683,  685,  686,    0,
2539
      683,    0,    0,  685,  686, 1316,  683, 1318, 1312,  686,
2540
      684,  683,  684,  685,  686,    0,  683,  684, 1314,  687,
2541
      685,  686,  684,  687,  685,  686,  688,    0,  688,  687,
2542
      685,  686, 1316,  688, 1318, 1320,  686,    0,  688,  687,
2543
      685,  686,  689,  689,  689,    0,  687, 1288, 1288,  689,
2544
2545
      687,    0,    0,  688,  689,  688,  687,    0,    0,    0,
2546
      688,    0, 1320,    0,    0,  688,  687,    0,    0,  689,
2547
      689,  689,    0,  690,    0,  690,  689,    0,    0,    0,
2548
      690,  689,  690,    0,  691,  690,  691,    0,    0, 1288,
2549
        0,  691,  691,    0,    0,    0,  691,  692,    0,    0,
2550
      690,    0,  690,    0,    0,    0,    0,  690,  692,  690,
2551
      692,  691,  690,  691,    0,  692, 1288,    0,  691,  691,
2552
      692,    0,    0,  691,  692,  694,  693,    0,  693,    0,
2553
        0,    0,  693,  693,  694,  692,  694,  692,  693,    0,
2554
        0,  694,  692,    0,  695,    0,  694,  692,  695,    0,
2555
2556
        0,    0,  694,  693,  695,  693,    0,    0,    0,  693,
2557
      693,  694,    0,  694,  695,  693,    0,  696,  694,  696,
2558
      697,  695,  697,  694,  696,  695,  698,  697,  698,  696,
2559
      705,  695,  697,  698,  705,    0,    0,    0,  698,    0,
2560
      705,  695,    0,    0,  696,    0,  696,  697,    0,  697,
2561
      705,  696,    0,  698,  697,  698,  696,  705,    0,  697,
2562
      698,  705,  699,    0,  699,  698,  699,  705,  700,  699,
2563
      700,    0,  700,    0,  699,  700,  701,  705,  701,    0,
2564
      700,    0,    0,  701,    0,  701,    0,    0,  701,  699,
2565
        0,  699,    0,  699,    0,  700,  699,  700,  703,  700,
2566
2567
        0,  699,  700,  701,    0,  701,  702,  700,  702,  703,
2568
      701,  703,  701,  702,  702,  701,  703,    0,  702,  704,
2569
        0,  703,    0,    0,  706,  703,    0,    0,  706,    0,
2570
      704,    0,  704,  702,  706,  702,  703,  704,  703,    0,
2571
      702,  702,  704,  703,  706,  702,  704,    0,  703,    0,
2572
      707,  706,  708,    0,  707,  706,  708,  704,    0,  704,
2573
      707,  706,  708,    0,  704,  707,    0,    0,    0,  704,
2574
      707,  706,  708,    0,  709,    0,  710,  707,  709,  708,
2575
      710,  707,  709,  708,    0,    0,  710,  707,  709,  708,
2576
      711,    0,  707,    0,  711,    0,  710,  707,  709,  708,
2577
2578
      711,  709,    0,  710,  712,  709,    0,  710,  712,  709,
2579
      711,    0,  712,  710,    0,  709,    0,  711,  712,    0,
2580
      714,  711,  713,  710,  714,  709,  713,  711,  712,    0,
2581
      714,  712,  713,  713,  715,  712,  715,  711,    0,  712,
2582
      714,  715,  713,    0,    0,  712,  715,  714,    0,  713,
2583
        0,  714,    0,  713,    0,  712,    0,  714,    0,  713,
2584
      713,  715,    0,  715,  716,    0,  716,  714,  715,  713,
2585
      717,  716,  717,  715,  718,  719,  716,  717,  718,  719,
2586
        0,    0,  717,    0,  718,  719,    0,    0,  719,    0,
2587
        0,  716,    0,  716,  718,  719,    0,  717,  716,  717,
2588
2589
        0,  718,  719,  716,  717,  718,  719,    0,    0,  717,
2590
        0,  718,  719,    0,    0,  719,  720,    0,  720,    0,
2591
        0,  718,  719,  720,  721,    0,  721,  722,  720,  722,
2592
      721,  721,    0,  722,  722,    0,  721,    0,    0,  722,
2593
        0,    0,    0,  720,    0,  720,    0,    0,    0,    0,
2594
      720,  721,    0,  721,  722,  720,  722,  721,  721,    0,
2595
      722,  722,    0,  721,    0,    0,  722,  723,  724,  725,
2596
      724,  725,  723,    0,  723,  724,  725,    0,  723,  723,
2597
      724,  725,    0,    0,  723,    0,    0,    0,    0,    0,
2598
        0,    0,    0,    0,  723,  724,  725,  724,  725,  723,
2599
2600
        0,  723,  724,  725,    0,  723,  723,  724,  725,    0,
2601
      726,  723,  726,  727,  728,  727,  728,  726,    0,    0,
2602
      727,  728,  726,    0,    0,  727,  728,    0,    0,    0,
2603
        0,    0,    0,    0,    0,    0,    0,  726,    0,  726,
2604
      727,  728,  727,  728,  726,    0,    0,  727,  728,  726,
2605
        0,    0,  727,  728,  729,    0,  729,  730,  731,  730,
2606
      731,  729,  729,    0,  730,  731,  729,    0,    0,  730,
2607
      731,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2608
        0,  729,    0,  729,  730,  731,  730,  731,  729,  729,
2609
      732,  730,  731,  729,  732,  733,  730,  731,  734,  733,
2610
2611
      732,    0,  734,  736,  735,  733,  735,  736,  734,  736,
2612
      732,  735,  735,    0,  736,  733,  735,  732,  734,  736,
2613
        0,  732,  733,    0,    0,  734,  733,  732,    0,  734,
2614
      736,  735,  733,  735,  736,  734,  736,  732,  735,  735,
2615
      738,  736,  733,  735,  738,  734,  736,  737,  739,  737,
2616
      738,    0,  739,  737,  737,    0,    0,    0,  739,  737,
2617
      738,    0,    0,    0,    0,    0,    0,  738,  739,    0,
2618
        0,  738,    0,    0,  737,  739,  737,  738,    0,  739,
2619
      737,  737,  740,    0,  740,  739,  737,  738,  740,    0,
2620
        0,    0,  741,  742,  740,  739,  741,  742,    0,    0,
2621
2622
        0,    0,  741,  742,  740,    0,  742,    0,    0,  740,
2623
        0,  740,  741,  742,    0,  740,    0,    0,    0,  741,
2624
      742,  740,  743,  741,  742,    0,  743,    0,    0,  741,
2625
      742,  740,  743,  742,  744,  743,    0,  745,  744,  741,
2626
      742,  745,  743,    0,  744,  745,  746,  745,    0,  743,
2627
      746,    0,    0,  743,  744,    0,  746,  745,    0,  743,
2628
        0,  744,  743,    0,  745,  744,  746,    0,  745,  743,
2629
        0,  744,  745,  746,  745,  747,  748,  746,    0,  747,
2630
      748,  744,    0,  746,  745,  747,  748,    0,    0,    0,
2631
      749,    0,    0,  746,  749,  747,  748,    0,  749,    0,
2632
2633
        0,    0,  747,  748,  749,    0,  747,  748,    0,    0,
2634
        0,    0,  747,  748,  749,    0,  750,  749,    0,    0,
2635
      750,  749,  747,  748,  750,  749,    0,    0,  751,  752,
2636
      750,  749,  751,  752,    0,    0,    0,    0,  751,  752,
2637
      750,  749,  753,  750,    0,    0,  753,  750,  751,  752,
2638
      753,  750,  753,    0,    0,  751,  752,  750,    0,  751,
2639
      752,    0,  753,    0,    0,  751,  752,  750,  754,  753,
2640
      755,    0,  754,  753,  755,  751,  752,  753,  754,  753,
2641
      755,  754,  757,    0,    0,  755,  757,    0,  754,  753,
2642
      755,  756,  757,    0,  756,  754,    0,  755,  756,  754,
2643
2644
        0,  755,  757,    0,  756,  754,    0,  755,  754,  757,
2645
        0,    0,  755,  757,  756,  754,  758,  755,  756,  757,
2646
      758,  756,    0,  760,  758,  756,  758,    0,  759,  757,
2647
      759,  756,  760,    0,  760,  759,  758,    0,  761,  760,
2648
      759,  756,  761,  758,  760,    0,    0,  758,  761,    0,
2649
      760,  758,    0,  758,    0,  759,    0,  759,  761,  760,
2650
      762,  760,  759,  758,  762,  761,  760,  759,  763,  761,
2651
      762,  760,  763,  765,  764,  761,  764,  765,  763,    0,
2652
      762,  764,    0,  765,    0,  761,  764,  762,  763,    0,
2653
        0,  762,  766,  765,    0,  763,  766,  762,    0,  763,
2654
2655
      765,  764,  766,  764,  765,  763,    0,  762,  764,    0,
2656
      765,    0,  766,  764,  767,  763,    0,  768,  767,  766,
2657
      765,  768,  769,  766,  767,    0,  769,  768,    0,  766,
2658
        0,  771,  769,  771,  767,    0,  770,  768,  771,  766,
2659
      770,  767,  769,  771,  768,  767,  770,    0,  768,  769,
2660
      772,  767,  772,  769,  768,    0,  770,  772,  771,  769,
2661
      771,  767,  772,  770,  768,  771,    0,  770,    0,  769,
2662
      771,  774,    0,  770,  773,    0,  773,  772,    0,  772,
2663
      774,  773,  774,  770,  772,    0,  773,  774,  775,  772,
2664
      775,    0,  774,    0,    0,  775,    0,  775,  774,    0,
2665
2666
      775,  773,    0,  773,  776,    0,  776,  774,  773,  774,
2667
        0,  776,    0,  773,  774,  775,  776,  775,    0,  774,
2668
        0,    0,  775,  777,  775,  777,  778,  775,    0,    0,
2669
      777,  776,  777,  776,  779,  777,  779,  778,  776,  778,
2670
        0,  779,  779,  776,  778,    0,  779,    0,    0,  778,
2671
      777,    0,  777,  778,    0,    0,    0,  777,    0,  777,
2672
      780,  779,  777,  779,  778,  780,  778,  780,  779,  779,
2673
      781,  778,  780,  779,  781,  782,  778,  780,  782,  782,
2674
      781,    0,    0,    0,    0,  782,    0,  780,    0,    0,
2675
      781,    0,  780,    0,  780,  782,    0,  781,    0,  780,
2676
2677
        0,  781,  782,    0,  780,  782,  782,  781,    0,  783,
2678
      784,  785,  782,  783,  784,  785,    0,  781,    0,  783,
2679
      784,  785,  782,  786,  787,    0,  784,  786,  787,  783,
2680
      784,  785,    0,  786,  787,    0,  783,  784,  785,    0,
2681
      783,  784,  785,  786,  787,    0,  783,  784,  785,    0,
2682
      786,  787,    0,  784,  786,  787,  783,  784,  785,    0,
2683
      786,  787,  788,    0,  788,  886,  887,  886,  887,  788,
2684
      786,  787,  886,  887,  788,    0,    0,  886,  887,    0,
2685
        0,    0,    0,    0,    0,    0,    0,    0,    0,  788,
2686
        0,  788,  886,  887,  886,  887,  788,    0,    0,  886,
2687
2688
      887,  788,    0,    0,  886,  887,  888,  889,  888,  889,
2689
        0,  890,  891,  888,  889,  890,  891,    0,  888,  889,
2690
      888,  890,  891,    0,    0,    0,    0,    0,    0,    0,
2691
        0,  890,  891,  888,  889,  888,  889,    0,  890,  891,
2692
      888,  889,  890,  891,    0,  888,  889,  888,  890,  891,
2693
      892,  893,    0,    0,  892,  893,    0,    0,  890,  891,
2694
      892,  893,    0,  895,  895,  894,  893,    0,  895,  894,
2695
      892,  893,    0,  894,  895,    0,    0,  892,  893,  894,
2696
        0,  892,  893,    0,  895,    0,    0,  892,  893,  894,
2697
      895,  895,  894,  893,    0,  895,  894,  892,  893,    0,
2698
2699
      894,  895,  896,  897,  896,  897,  894,    0,  896,    0,
2700
      897,  895,    0,    0,  896,  897,  894,    0,    0,    0,
2701
        0,    0,    0,    0,  896,    0,  898,    0,  898,  896,
2702
      897,  896,  897,  898,  898,  896,  899,  897,  898,  900,
2703
      899,  896,  897,  900,  901,  902,  899,  902,  901,  900,
2704
        0,  896,  902,  898,  901,  898,  899,  902,  903,  900,
2705
      898,  898,  903,  899,  901,  898,  900,  899,  903,    0,
2706
      900,  901,  902,  899,  902,  901,  900,    0,  903,  902,
2707
        0,  901,    0,  899,  902,  903,  900,    0,  904,  903,
2708
        0,  901,  904,  905,    0,  903,  907,  905,  904,    0,
2709
2710
      907,  905,  906,    0,  906,  903,  907,  905,  904,  906,
2711
        0,    0,    0,    0,  906,  904,  907,  905,    0,  904,
2712
      905,    0,  908,  907,  905,  904,  908,  907,  905,  906,
2713
        0,  906,  908,  907,  905,  904,  906,    0,    0,    0,
2714
        0,  906,  908,  907,  905,    0,  909,  910,    0,  908,
2715
      909,  910,    0,  908,    0,    0,  909,  910,  911,  908,
2716
      911,    0,  910,    0,    0,  911,  909,  910,    0,  908,
2717
      911,  912,    0,  909,  910,  912,  913,  909,  910,    0,
2718
      913,  912,    0,  909,  910,  911,  913,  911,    0,  910,
2719
        0,  912,  911,  909,  910,  914,  913,  911,  912,  914,
2720
2721
        0,    0,  912,  913,  916,  914,  916,  913,  912,    0,
2722
      914,  916,    0,  913,    0,  914,  916,    0,  912,    0,
2723
      915,    0,  914,  913,  915,    0,  914,    0,    0,    0,
2724
      915,  916,  914,  916,    0,  915,    0,  914,  916,    0,
2725
      915,    0,  914,  916,  917,    0,    0,  915,  917,  919,
2726
        0,  915,    0,  919,  917,    0,    0,  915,  923,  919,
2727
      923,    0,  915,    0,  917,  923,  918,  915,  918,  919,
2728
      923,  917,  918,    0,    0,  917,  919,    0,  918,    0,
2729
      919,  917,    0,    0,    0,  923,  919,  923,  918,    0,
2730
      920,  917,  923,  918,  920,  918,  919,  923,  921,  918,
2731
2732
      920,    0,  921,    0,    0,  918,    0,    0,  921,    0,
2733
      920,    0,    0,    0,    0,  918,  921,  920,  921,    0,
2734
        0,  920,    0,    0,  922,  921,    0,  920,  922,  921,
2735
        0,    0,    0,    0,  922,  921,    0,  920,    0,  922,
2736
      924,  925,  924,  921,  922,  921,  925,  924,  925,    0,
2737
        0,  922,  924,  925,    0,  922,    0,    0,  925,    0,
2738
        0,  922,    0,    0,    0,    0,  922,  924,  925,  924,
2739
      926,  922,  926,  925,  924,  925,  927,  926,  927,  924,
2740
      925,    0,  926,  927,  928,  925,  928,    0,  927,    0,
2741
        0,  928,  928,    0,    0,    0,  928,  926,    0,  926,
2742
2743
      929,    0,  929,  927,  926,  927,    0,  929,    0,  926,
2744
      927,  928,  929,  928,  930,  927,  930,    0,  928,  928,
2745
        0,  930,    0,  928,    0,    0,  930,  929,  931,  929,
2746
      931,    0,    0,    0,  929,  931,  931,    0,    0,  929,
2747
      931,  930,  933,  930,  933,    0,  932,    0,  930,  933,
2748
      932,    0,  933,  930,  933,  931,  932,  931,  934,    0,
2749
      934,    0,  931,  931,    0,  934,  932,  931,    0,  933,
2750
      934,  933,    0,  932,    0,    0,  933,  932,    0,  933,
2751
        0,  933,  935,  932,  935,  934,    0,  934,  936,  935,
2752
      936,    0,  934,  932,  935,  936,    0,  934,  937,    0,
2753
2754
      936,    0,    0,    0,    0,    0,  937,    0,  937,  935,
2755
        0,  935,  938,  937,  938,  936,  935,  936,  937,  938,
2756
        0,  935,  936,    0,  938,  937,    0,  936,    0,    0,
2757
      939,    0,  939,  937,  940,  937,    0,  939,  940,  938,
2758
      937,  938,  939,    0,  940,  937,  938,    0,  941,    0,
2759
      941,  938,    0,    0,  940,  941,    0,  939,    0,  939,
2760
      941,  940,    0,    0,  939,  940,    0,  942,    0,  939,
2761
        0,  940,    0,    0,    0,  941,    0,  941,  942,    0,
2762
      942,  940,  941,    0,  943,  942,  943,  941,    0,    0,
2763
      942,  943,  943,  944,  942,    0,  943,  944,    0,  944,
2764
2765
        0,    0,    0,    0,  944,  942,    0,  942,    0,  944,
2766
        0,  943,  942,  943,    0,    0,    0,  942,  943,  943,
2767
      944,    0,    0,  943,  944,  945,  944,  945,  946,    0,
2768
      946,  944,  945,  945,    0,  946,  944,  945,  948,  947,
2769
      946,  947,  948,    0,    0,    0,  947,    0,  948,    0,
2770
        0,  947,  945,    0,  945,  946,    0,  946,  948,  945,
2771
      945,    0,  946,    0,  945,  948,  947,  946,  947,  948,
2772
        0,    0,  949,  947,    0,  948,  949,    0,  947,  950,
2773
      950,    0,  949,    0,  950,  948,    0,  949,    0,    0,
2774
      950,    0,  949,    0,    0,    0,    0,    0,    0,  949,
2775
2776
      950,    0,    0,  949,    0,    0,  950,  950,  951,  949,
2777
        0,  950,  951,    0,  949,    0,  952,  950,  951,  949,
2778
      952,  951,    0,    0,    0,    0,  952,  950,  951,  952,
2779
      953,    0,    0,    0,  953,  951,  952,    0,    0,  951,
2780
      953,    0,  954,  952,    0,  951,  954,  952,  951,    0,
2781
      953,    0,  954,  952,  955,  951,  952,  953,  955,    0,
2782
        0,  953,  954,  952,  955,    0,  956,  953,    0,  954,
2783
      956,    0,    0,  954,  955,    0,  956,  953,    0,  954,
2784
      957,  955,    0,    0,  957,  955,  956,    0,  957,  954,
2785
        0,  955,  958,  956,  957,    0,  958,  956,  961,    0,
2786
2787
      958,  955,  961,  956,  957,    0,  958,  957,  961,  959,
2788
      959,  957,    0,  956,  959,  957,  958,    0,  961,  958,
2789
      959,  957,  962,  958,  960,  961,  962,  958,  960,  961,
2790
      959,  957,  962,  958,  960,  961,  959,  959,    0,  960,
2791
        0,  959,  962,  958,  960,  961,    0,  959,    0,  962,
2792
      964,  960,    0,  962,  964,  960,    0,  959,  964,  962,
2793
        0,  960,  963,  963,  964,    0,  960,  963,  965,  962,
2794
      965,  960,    0,  963,  964,  965,    0,  964,    0,    0,
2795
      965,  964,    0,  963,    0,  964,  966,    0,  966,  963,
2796
      963,  964,  966,  966,  963,  965,    0,  965,  966,    0,
2797
2798
      963,  964,  965,    0,  967,    0,  967,  965,    0,    0,
2799
      963,  967,  967,  966,    0,  966,  967,  968,    0,  966,
2800
      966,    0,    0,  969,    0,  966,    0,    0,  968,    0,
2801
      968,  967,    0,  967,  969,  968,  969,    0,  967,  967,
2802
      968,  969,    0,  967,  968,    0,  969,  970,    0,  970,
2803
      969,    0,    0,    0,  970,  968,    0,  968,  971,  970,
2804
      971,  969,  968,  969,    0,  971,    0,  968,  969,    0,
2805
      971,    0,    0,  969,  970,    0,  970,    0,  972,  973,
2806
      973,  970,  972,    0,  973,  971,  970,  971,  972,    0,
2807
      973,    0,  971,    0,    0,    0,    0,  971,  972,    0,
2808
2809
      973,    0,    0,    0,  974,  972,  973,  973,  974,  972,
2810
        0,  973,  975,    0,  974,  972,  975,  973,    0,    0,
2811
        0,  976,  975,  976,  974,  972,    0,  973,  976,  977,
2812
        0,  974,  975,  976,    0,  974,    0,    0,    0,  975,
2813
      977,  974,  977,  975,    0,    0,    0,  977,  976,  975,
2814
      976,  974,  977,  978,    0,  976,  977,    0,    0,  975,
2815
      976,  979,    0,  979,  978,    0,  978,  977,  979,  977,
2816
      980,  978,  980,  979,  977,    0,  978,  980,    0,  977,
2817
      978,    0,  980,    0,    0,    0,    0,    0,  979,    0,
2818
      979,  978, 1054,  978,    0,  979, 1054,  980,  978,  980,
2819
2820
      979, 1055, 1054,  978,  980, 1055, 1056,    0, 1056,  980,
2821
     1059, 1055, 1054, 1056, 1059, 1057,    0, 1057, 1056, 1054,
2822
     1059, 1055, 1057, 1054, 1058,    0, 1058, 1057, 1055, 1054,
2823
     1059, 1058, 1055, 1056,    0, 1056, 1058, 1059, 1055, 1054,
2824
     1056, 1059, 1057,    0, 1057, 1056, 1060, 1059, 1055, 1057,
2825
     1060, 1058,    0, 1058, 1057,    0, 1060, 1059, 1058,    0,
2826
     1061, 1060, 1061, 1058,    0,    0, 1060, 1061, 1062, 1063,
2827
     1062, 1063, 1061, 1060,    0, 1062, 1063, 1060,    0,    0,
2828
     1062, 1063,    0, 1060,    0,    0,    0, 1061, 1060, 1061,
2829
        0,    0,    0, 1060, 1061, 1062, 1063, 1062, 1063, 1061,
2830
2831
        0,    0, 1062, 1063, 1064,    0, 1064, 1062, 1063,    0,
2832
     1065, 1064, 1065, 1066, 1066, 1066, 1064, 1065, 1065,    0,
2833
     1066,    0, 1065,    0,    0, 1066,    0,    0,    0,    0,
2834
        0, 1064,    0, 1064,    0,    0,    0, 1065, 1064, 1065,
2835
     1066, 1066, 1066, 1064, 1065, 1065, 1067, 1066,    0, 1065,
2836
        0, 1068, 1066, 1068,    0, 1067,    0, 1067, 1068,    0,
2837
        0,    0, 1067, 1068, 1069,    0, 1069, 1067,    0,    0,
2838
        0, 1069, 1069, 1067,    0,    0, 1069,    0, 1068,    0,
2839
     1068,    0, 1067,    0, 1067, 1068,    0,    0,    0, 1067,
2840
     1068, 1069,    0, 1069, 1067, 1070, 1071, 1070, 1069, 1069,
2841
2842
        0,    0, 1070, 1069,    0,    0, 1071, 1070, 1071, 1072,
2843
        0, 1072,    0, 1071,    0,    0, 1072,    0, 1071,    0,
2844
        0, 1072, 1070, 1071, 1070,    0,    0,    0, 1073, 1070,
2845
        0,    0,    0, 1071, 1070, 1071, 1072, 1073, 1072, 1073,
2846
     1071,    0,    0, 1072, 1073, 1071,    0,    0, 1072, 1073,
2847
     1074, 1075, 1074, 1075,    0, 1073,    0, 1074, 1075,    0,
2848
        0,    0, 1074, 1075, 1073,    0, 1073,    0,    0,    0,
2849
        0, 1073,    0,    0,    0,    0, 1073, 1074, 1075, 1074,
2850
     1075, 1076, 1077, 1076, 1074, 1075, 1077, 1078, 1076, 1074,
2851
     1075, 1078, 1077, 1076, 1079,    0, 1079, 1078,    0,    0,
2852
2853
        0, 1079, 1077,    0,    0,    0, 1079, 1078, 1076, 1077,
2854
     1076,    0,    0, 1077, 1078, 1076,    0,    0, 1078, 1077,
2855
     1076, 1079,    0, 1079, 1078,    0,    0,    0, 1079, 1077,
2856
     1080, 1081, 1080, 1079, 1078, 1081, 1082, 1080, 1080,    0,
2857
     1082, 1081, 1080,    0,    0,    0, 1082,    0,    0,    0,
2858
     1083, 1081,    0,    0, 1083,    0, 1082, 1080, 1081, 1080,
2859
     1083,    0, 1081, 1082, 1080, 1080,    0, 1082, 1081, 1080,
2860
     1083,    0, 1084, 1082,    0, 1085, 1084, 1083, 1081, 1085,
2861
     1086, 1083, 1084, 1082, 1086, 1085,    0, 1083,    0,    0,
2862
     1086,    0, 1084,    0, 1087, 1085,    0, 1083, 1087, 1084,
2863
2864
     1086,    0, 1085, 1084, 1087,    0, 1085, 1086,    0, 1084,
2865
        0, 1086, 1085,    0, 1087,    0, 1088, 1086,    0, 1084,
2866
     1088, 1087, 1085,    0, 1089, 1087, 1088, 1086, 1089, 1088,
2867
        0, 1087,    0,    0, 1089,    0, 1088,    0, 1090,    0,
2868
        0, 1087, 1090, 1088, 1089,    0, 1090, 1088,    0,    0,
2869
     1091, 1089, 1090, 1088, 1091, 1089, 1088,    0,    0,    0,
2870
     1091, 1089, 1090, 1088, 1092, 1090,    0,    0, 1092, 1090,
2871
     1091, 1089,    0, 1090, 1092,    0, 1093, 1091, 1093, 1090,
2872
        0, 1091,    0, 1093, 1092,    0,    0, 1091, 1093, 1090,
2873
        0, 1092, 1094,    0, 1094, 1092,    0, 1091,    0, 1094,
2874
2875
     1095, 1092, 1095, 1093, 1094, 1093, 1096, 1095, 1096,    0,
2876
     1093, 1092, 1095, 1096,    0, 1093,    0,    0, 1096, 1094,
2877
        0, 1094,    0,    0,    0, 1097, 1094, 1095,    0, 1095,
2878
     1098, 1094, 1098, 1096, 1095, 1096, 1097, 1098, 1097, 1095,
2879
     1096,    0, 1098, 1097,    0, 1096,    0,    0, 1097,    0,
2880
        0,    0, 1097,    0, 1099,    0, 1099, 1098,    0, 1098,
2881
        0, 1099, 1099, 1097, 1098, 1097, 1099, 1100,    0, 1098,
2882
     1097, 1100, 1101,    0,    0, 1097, 1101, 1100,    0,    0,
2883
     1102, 1099, 1101, 1099, 1102,    0,    0, 1100, 1099, 1099,
2884
     1102,    0, 1101, 1099, 1100,    0,    0,    0, 1100, 1101,
2885
2886
     1102,    0, 1103, 1101, 1100,    0, 1103, 1102,    0, 1101,
2887
        0, 1102, 1103,    0, 1100,    0, 1104, 1102,    0, 1101,
2888
     1104,    0, 1103,    0,    0,    0, 1104, 1102, 1105, 1103,
2889
     1105,    0,    0, 1103, 1105,    0, 1104,    0,    0, 1103,
2890
     1105,    0, 1106, 1104, 1106,    0,    0, 1104, 1106, 1103,
2891
     1105,    0,    0, 1104, 1106, 1105,    0, 1105, 1107,    0,
2892
     1107, 1105,    0, 1104, 1106, 1107, 1108, 1105, 1108, 1106,
2893
     1107, 1106, 1109, 1108, 1109, 1106,    0, 1105, 1108, 1109,
2894
        0, 1106,    0,    0, 1109, 1107,    0, 1107,    0,    0,
2895
        0, 1106, 1107, 1108,    0, 1108, 1110, 1107, 1110, 1109,
2896
2897
     1108, 1109, 1111, 1110, 1111, 1108, 1109,    0, 1110, 1111,
2898
     1112, 1109, 1112,    0, 1111,    0,    0, 1112,    0,    0,
2899
        0,    0, 1112, 1110,    0, 1110, 1113,    0, 1113, 1111,
2900
     1110, 1111,    0, 1113, 1114, 1110, 1111, 1112, 1113, 1112,
2901
        0, 1111,    0,    0, 1112, 1114, 1173, 1114,    0, 1112,
2902
     1173,    0, 1114, 1113,    0, 1113, 1173, 1114, 1115, 1116,
2903
     1113, 1114,    0,    0,    0, 1113, 1173,    0, 1116, 1115,
2904
     1116, 1115, 1114, 1173, 1114, 1116, 1115, 1173,    0, 1114,
2905
     1116, 1115,    0, 1173, 1114, 1115, 1116,    0,    0,    0,
2906
        0,    0, 1117, 1173, 1117, 1116, 1115, 1116, 1115, 1117,
2907
2908
     1117,    0, 1116, 1115, 1117, 1118,    0, 1116, 1115,    0,
2909
     1119,    0, 1119, 1118,    0, 1118, 1120, 1119, 1120, 1117,
2910
     1118, 1117, 1119, 1120,    0, 1118, 1117, 1117, 1120,    0,
2911
        0, 1117, 1118,    0, 1121,    0, 1121, 1119,    0, 1119,
2912
     1118, 1121, 1118, 1120, 1119, 1120, 1121, 1118,    0, 1119,
2913
     1120,    0, 1118,    0,    0, 1120,    0, 1122,    0, 1122,
2914
     1123, 1121, 1123, 1121, 1122,    0, 1123, 1123, 1121, 1122,
2915
        0,    0, 1123, 1121,    0,    0, 1124,    0, 1124,    0,
2916
        0,    0,    0, 1124, 1122,    0, 1122, 1123, 1124, 1123,
2917
     1169, 1122, 1169, 1123, 1123,    0, 1122, 1169,    0, 1123,
2918
2919
        0,    0, 1169, 1124, 1170, 1124, 1170,    0,    0,    0,
2920
     1124, 1170,    0,    0,    0, 1124, 1170, 1169, 1171, 1169,
2921
     1171,    0,    0,    0, 1169, 1171,    0,    0,    0, 1169,
2922
     1171, 1170, 1172, 1170, 1172,    0, 1174,    0, 1170, 1172,
2923
     1174,    0,    0, 1170, 1172, 1171, 1174, 1171,    0,    0,
2924
     1175,    0, 1171,    0, 1175,    0, 1174, 1171,    0, 1172,
2925
     1175, 1172,    0, 1174, 1176, 1176, 1172, 1174,    0,    0,
2926
     1175, 1172,    0, 1174, 1177,    0,    0, 1175, 1177,    0,
2927
        0, 1175,    0, 1174, 1177,    0,    0, 1175, 1178, 1176,
2928
        0,    0, 1178, 1176, 1177,    0, 1178, 1175,    0, 1176,
2929
2930
        0, 1177, 1178,    0, 1179, 1177,    0,    0, 1179, 1176,
2931
        0, 1177, 1178,    0, 1179, 1178, 1176,    0, 1180, 1178,
2932
     1176, 1177, 1180, 1178, 1179,    0, 1176,    0, 1180, 1178,
2933
     1181, 1179,    0, 1182, 1181, 1179, 1176, 1182, 1180, 1178,
2934
     1181, 1179, 1183, 1182,    0, 1180, 1183,    0, 1182, 1180,
2935
     1181, 1179, 1183, 1182,    0, 1180,    0, 1181,    0,    0,
2936
     1182, 1181, 1183,    0, 1182, 1180,    0, 1181, 1184, 1183,
2937
     1182,    0, 1184, 1183,    0, 1182,    0, 1181, 1184, 1183,
2938
     1182, 1185,    0,    0,    0, 1185,    0,    0, 1184, 1183,
2939
     1186, 1185, 1186,    0,    0, 1184,    0, 1186,    0, 1184,
2940
2941
        0, 1185, 1186,    0, 1187, 1184, 1187,    0, 1185,    0,
2942
        0, 1187, 1185,    0, 1188, 1184, 1187, 1186, 1185, 1186,
2943
     1189,    0, 1189, 1188, 1186, 1188,    0, 1189, 1185, 1186,
2944
     1188, 1187, 1189, 1187,    0, 1188,    0,    0, 1187,    0,
2945
        0, 1188,    0, 1187, 1190,    0, 1190, 1189,    0, 1189,
2946
     1188, 1190, 1188, 1191, 1189, 1191, 1190, 1188,    0, 1189,
2947
     1191,    0, 1188,    0,    0, 1191,    0,    0,    0,    0,
2948
        0, 1190,    0, 1190,    0,    0,    0,    0, 1190, 1192,
2949
     1191, 1192, 1191, 1190, 1193, 1192, 1192, 1191, 1193, 1194,
2950
        0, 1192, 1191, 1194, 1193, 1195,    0, 1195, 1196, 1194,
2951
2952
     1196,    0, 1195,    0, 1193, 1196, 1192, 1195, 1192, 1194,
2953
     1196, 1193, 1192, 1192,    0, 1193, 1194,    0, 1192,    0,
2954
     1194, 1193, 1195,    0, 1195, 1196, 1194, 1196, 1197, 1195,
2955
     1197, 1193, 1196,    0, 1195, 1197, 1194, 1196,    0, 1198,
2956
     1197, 1198,    0,    0,    0,    0, 1198, 1198,    0,    0,
2957
        0, 1198, 1200,    0, 1200, 1197,    0, 1197,    0, 1200,
2958
        0,    0, 1197,    0, 1200,    0, 1198, 1197, 1198, 1199,
2959
     1199,    0, 1199, 1198, 1198,    0,    0, 1199, 1198, 1200,
2960
        0, 1200, 1199, 1201,    0, 1201, 1200,    0,    0,    0,
2961
     1201, 1200,    0,    0,    0, 1201, 1199, 1199,    0, 1199,
2962
2963
        0,    0,    0,    0, 1199,    0, 1202,    0, 1202, 1199,
2964
     1201,    0, 1201, 1202, 1202,    0,    0, 1201, 1202, 1203,
2965
        0, 1203, 1201,    0,    0,    0, 1203, 1205, 1205, 1205,
2966
     1204, 1203, 1204, 1202, 1205, 1202, 1204, 1204,    0, 1205,
2967
     1202, 1202, 1204,    0,    0, 1202, 1203,    0, 1203,    0,
2968
        0,    0,    0, 1203, 1205, 1205, 1205, 1204, 1203, 1204,
2969
     1206, 1205, 1206, 1204, 1204,    0, 1205, 1206, 1206, 1204,
2970
     1207, 1208, 1206, 1209, 1207, 1208,    0, 1209,    0,    0,
2971
     1207, 1208,    0, 1209,    0,    0,    0, 1206,    0, 1206,
2972
     1207, 1208,    0, 1209, 1206, 1206,    0, 1207, 1208, 1206,
2973
2974
     1209, 1207, 1208,    0, 1209, 1210,    0, 1207, 1208, 1210,
2975
     1209,    0,    0,    0,    0, 1210,    0, 1207, 1208, 1236,
2976
     1209,    0,    0, 1236, 1234, 1210,    0,    0, 1234, 1236,
2977
        0,    0, 1210,    0, 1234,    0, 1210, 1234,    0, 1236,
2978
        0,    0, 1210, 1237, 1234,    0, 1236, 1237,    0,    0,
2979
     1236, 1234, 1210, 1237,    0, 1234, 1236,    0, 1237,    0,
2980
        0, 1234,    0, 1237, 1234,    0, 1236,    0, 1238, 1239,
2981
     1237, 1234, 1238, 1239, 1237,    0,    0,    0, 1238, 1239,
2982
     1237,    0, 1240, 1241, 1240, 1237, 1240, 1241, 1238, 1239,
2983
     1237,    0, 1240, 1241,    0, 1238, 1239, 1242, 1241, 1238,
2984
2985
     1239, 1242, 1240, 1241,    0, 1238, 1239, 1242,    0, 1240,
2986
     1241, 1240,    0, 1240, 1241, 1238, 1239, 1242,    0, 1240,
2987
     1241,    0, 1243, 1244, 1242, 1241, 1243, 1244, 1242, 1240,
2988
     1241,    0, 1243, 1244, 1242,    0, 1244,    0,    0, 1245,
2989
     1246, 1245, 1243, 1244, 1242, 1246, 1245, 1246,    0, 1243,
2990
     1244, 1245, 1246, 1243, 1244,    0,    0, 1246,    0, 1243,
2991
     1244,    0,    0, 1244,    0,    0, 1245, 1246, 1245, 1243,
2992
     1244,    0, 1246, 1245, 1246, 1247,    0, 1247, 1245, 1246,
2993
        0, 1248, 1247, 1248, 1246,    0,    0, 1247, 1248, 1249,
2994
        0, 1249,    0, 1248,    0,    0, 1249,    0,    0,    0,
2995
2996
        0, 1249, 1247,    0, 1247,    0,    0, 1250, 1248, 1247,
2997
     1248, 1250,    0,    0, 1247, 1248, 1249, 1250, 1249,    0,
2998
     1248, 1251,    0, 1249,    0, 1251, 1252, 1250, 1249, 1253,
2999
     1252, 1251, 1251, 1253, 1250,    0, 1252,    0, 1250, 1253,
3000
        0, 1251,    0,    0, 1250,    0, 1252,    0, 1251, 1253,
3001
     1254, 1254, 1251, 1252, 1250, 1254, 1253, 1252, 1251, 1251,
3002
     1253, 1254,    0, 1252, 1269, 1269, 1253,    0, 1251,    0,
3003
     1271, 1254,    0, 1252, 1271, 1272, 1253, 1254, 1254, 1272,
3004
     1271,    0, 1254,    0, 1274, 1272, 1274,    0, 1254, 1269,
3005
     1271, 1274,    0, 1269,    0, 1272, 1274, 1271, 1254, 1269,
3006
3007
        0, 1271, 1272, 1275, 1273, 1275, 1272, 1271, 1273, 1269,
3008
     1275, 1274, 1272, 1274, 1273, 1275, 1269, 1271, 1274,    0,
3009
     1269,    0, 1272, 1274, 1273,    0, 1269, 1276,    0, 1276,
3010
     1275, 1273, 1275,    0, 1276, 1273, 1269, 1275, 1277, 1276,
3011
     1277, 1273, 1275,    0,    0, 1277, 1278,    0, 1278,    0,
3012
     1277, 1273,    0, 1278, 1276,    0, 1276,    0, 1278, 1279,
3013
        0, 1276,    0, 1279, 1280, 1277, 1276, 1277, 1280, 1279,
3014
        0,    0, 1277, 1278, 1280, 1278,    0, 1277, 1290, 1279,
3015
     1278,    0, 1290, 1291, 1280, 1278, 1279, 1291, 1290,    0,
3016
     1279, 1280, 1292, 1291, 1292, 1280, 1279,    0, 1290, 1292,
3017
3018
     1300, 1280, 1300, 1291, 1292, 1290, 1279, 1300,    0, 1290,
3019
     1291, 1280, 1300,    0, 1291, 1290,    0,    0,    0, 1292,
3020
     1291, 1292,    0,    0,    0, 1290, 1292, 1300,    0, 1300,
3021
     1291, 1292,    0,    0, 1300,    0,    0,    0,    0, 1300,
3022
     1332, 1332, 1332, 1332, 1332, 1333,    0,    0, 1333, 1333,
3023
     1335, 1335, 1335,    0, 1335, 1336,    0, 1336, 1336, 1336,
3024
     1337,    0, 1337, 1337, 1337, 1338,    0, 1338, 1338, 1338,
3025
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
3026
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
3027
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
3028
3029
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
3030
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
3031
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
3032
     1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
3033
     1331, 1331, 1331, 1331, 1331, 1331, 1331
3034
    } ;
3035
3036
/* The intent behind this definition is that it'll catch
3037
 * any uses of REJECT which flex missed.
3038
 */
3039
#define REJECT reject_used_but_not_detected
3040
#define yymore() yymore_used_but_not_detected
3041
23.4k
#define YY_MORE_ADJ 0
3042
#define YY_RESTORE_YY_MORE_OFFSET
3043
#line 1 "flex_lexer.l"
3044
/**
3045
 * lexer
3046
 *
3047
 *
3048
 */
3049
/***************************
3050
 ** Section 1: Definitions
3051
 ***************************/
3052
#line 12 "flex_lexer.l"
3053
3054
#include "../sql/Expr.h"
3055
#include "bison_parser.h"
3056
#include <climits>
3057
#include <stdio.h>
3058
#include <sstream>
3059
3060
734k
#define TOKEN(name) { return SQL_##name; }
3061
3062
static thread_local std::stringstream strbuf;
3063
3064
#line 3064 "flex_lexer.cpp"
3065
3066
/***************************
3067
 ** Section 2: Rules
3068
 ***************************/
3069
/* Define the output files */
3070
/* Make reentrant */
3071
/* performance tweeks */
3072
/* other flags */
3073
/* %option nodefault */
3074
3075
/***************************
3076
 ** Section 3: Rules
3077
 ***************************/
3078
#line 3078 "flex_lexer.cpp"
3079
3080
659
#define INITIAL 0
3081
9.84k
#define singlequotedstring 1
3082
841
#define COMMENT 2
3083
3084
#ifndef YY_NO_UNISTD_H
3085
/* Special case for "unistd.h", since it is non-ANSI. We include it way
3086
 * down here because we want the user's section 1 to have been scanned first.
3087
 * The user has a chance to override it with an option.
3088
 */
3089
#include <unistd.h>
3090
#endif
3091
3092
#ifndef YY_EXTRA_TYPE
3093
#define YY_EXTRA_TYPE void *
3094
#endif
3095
3096
/* Holds the entire state of the reentrant scanner. */
3097
struct yyguts_t
3098
    {
3099
3100
    /* User-defined. Not touched by flex. */
3101
    YY_EXTRA_TYPE yyextra_r;
3102
3103
    /* The rest are the same as the globals declared in the non-reentrant scanner. */
3104
    FILE *yyin_r, *yyout_r;
3105
    size_t yy_buffer_stack_top; /**< index of top of stack. */
3106
    size_t yy_buffer_stack_max; /**< capacity of stack. */
3107
    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
3108
    char yy_hold_char;
3109
    int yy_n_chars;
3110
    int yyleng_r;
3111
    char *yy_c_buf_p;
3112
    int yy_init;
3113
    int yy_start;
3114
    int yy_did_buffer_switch_on_eof;
3115
    int yy_start_stack_ptr;
3116
    int yy_start_stack_depth;
3117
    int *yy_start_stack;
3118
    yy_state_type yy_last_accepting_state;
3119
    char* yy_last_accepting_cpos;
3120
3121
    int yylineno_r;
3122
    int yy_flex_debug_r;
3123
3124
    char *yytext_r;
3125
    int yy_more_flag;
3126
    int yy_more_len;
3127
3128
    YYSTYPE * yylval_r;
3129
3130
    YYLTYPE * yylloc_r;
3131
3132
    }; /* end struct yyguts_t */
3133
3134
static int yy_init_globals ( yyscan_t yyscanner );
3135
3136
    /* This must go here because YYSTYPE and YYLTYPE are included
3137
     * from bison output in section 1.*/
3138
8.99M
    #    define yylval yyg->yylval_r
3139
    
3140
92.5M
    #    define yylloc yyg->yylloc_r
3141
    
3142
int yylex_init (yyscan_t* scanner);
3143
3144
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
3145
3146
/* Accessor methods to globals.
3147
   These are made visible to non-reentrant scanners for convenience. */
3148
3149
int yylex_destroy ( yyscan_t yyscanner );
3150
3151
int yyget_debug ( yyscan_t yyscanner );
3152
3153
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
3154
3155
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
3156
3157
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
3158
3159
FILE *yyget_in ( yyscan_t yyscanner );
3160
3161
void yyset_in  ( FILE * _in_str , yyscan_t yyscanner );
3162
3163
FILE *yyget_out ( yyscan_t yyscanner );
3164
3165
void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
3166
3167
      int yyget_leng ( yyscan_t yyscanner );
3168
3169
char *yyget_text ( yyscan_t yyscanner );
3170
3171
int yyget_lineno ( yyscan_t yyscanner );
3172
3173
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
3174
3175
int yyget_column  ( yyscan_t yyscanner );
3176
3177
void yyset_column ( int _column_no , yyscan_t yyscanner );
3178
3179
YYSTYPE * yyget_lval ( yyscan_t yyscanner );
3180
3181
void yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
3182
3183
       YYLTYPE *yyget_lloc ( yyscan_t yyscanner );
3184
    
3185
        void yyset_lloc ( YYLTYPE * yylloc_param , yyscan_t yyscanner );
3186
    
3187
/* Macros after this point can all be overridden by user definitions in
3188
 * section 1.
3189
 */
3190
3191
#ifndef YY_SKIP_YYWRAP
3192
#ifdef __cplusplus
3193
extern "C" int yywrap ( yyscan_t yyscanner );
3194
#else
3195
extern int yywrap ( yyscan_t yyscanner );
3196
#endif
3197
#endif
3198
3199
#ifndef YY_NO_UNPUT
3200
    
3201
#endif
3202
3203
#ifndef yytext_ptr
3204
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
3205
#endif
3206
3207
#ifdef YY_NEED_STRLEN
3208
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
3209
#endif
3210
3211
#ifndef YY_NO_INPUT
3212
#ifdef __cplusplus
3213
static int yyinput ( yyscan_t yyscanner );
3214
#else
3215
static int input ( yyscan_t yyscanner );
3216
#endif
3217
3218
#endif
3219
3220
/* Amount of stuff to slurp up with each read. */
3221
#ifndef YY_READ_BUF_SIZE
3222
#ifdef __ia64__
3223
/* On IA-64, the buffer size is 16k, not 8k */
3224
#define YY_READ_BUF_SIZE 16384
3225
#else
3226
0
#define YY_READ_BUF_SIZE 8192
3227
#endif /* __ia64__ */
3228
#endif
3229
3230
/* Copy whatever the last rule matched to the standard output. */
3231
#ifndef ECHO
3232
/* This used to be an fputs(), but since the string might contain NUL's,
3233
 * we now use fwrite().
3234
 */
3235
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
3236
#endif
3237
3238
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
3239
 * is returned in "result".
3240
 */
3241
#ifndef YY_INPUT
3242
#define YY_INPUT(buf,result,max_size) \
3243
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3244
0
    { \
3245
0
    int c = '*'; \
3246
0
    int n; \
3247
0
    for ( n = 0; n < max_size && \
3248
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
3249
0
      buf[n] = (char) c; \
3250
0
    if ( c == '\n' ) \
3251
0
      buf[n++] = (char) c; \
3252
0
    if ( c == EOF && ferror( yyin ) ) \
3253
0
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
3254
0
    result = n; \
3255
0
    } \
3256
0
  else \
3257
0
    { \
3258
0
    errno=0; \
3259
0
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
3260
0
      { \
3261
0
      if( errno != EINTR) \
3262
0
        { \
3263
0
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
3264
0
        break; \
3265
0
        } \
3266
0
      errno=0; \
3267
0
      clearerr(yyin); \
3268
0
      } \
3269
0
    }\
3270
\
3271
3272
#endif
3273
3274
/* No semi-colon after return; correct usage is to write "yyterminate();" -
3275
 * we don't want an extra ';' after the "return" because that will cause
3276
 * some compilers to complain about unreachable statements.
3277
 */
3278
#ifndef yyterminate
3279
3.53k
#define yyterminate() return YY_NULL
3280
#endif
3281
3282
/* Number of entries by which start-condition stack grows. */
3283
#ifndef YY_START_STACK_INCR
3284
#define YY_START_STACK_INCR 25
3285
#endif
3286
3287
/* Report a fatal error. */
3288
#ifndef YY_FATAL_ERROR
3289
0
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
3290
#endif
3291
3292
/* end tables serialization structures and prototypes */
3293
3294
/* Default declaration of generated scanner - a define so the user can
3295
 * easily add parameters.
3296
 */
3297
#ifndef YY_DECL
3298
#define YY_DECL_IS_OURS 1
3299
3300
extern int yylex \
3301
               (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner);
3302
3303
#define YY_DECL int yylex \
3304
               (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
3305
#endif /* !YY_DECL */
3306
3307
/* Code executed at the beginning of each rule, after yytext and yyleng
3308
 * have been set up.
3309
 */
3310
#ifndef YY_USER_ACTION
3311
#define YY_USER_ACTION
3312
#endif
3313
3314
/* Code executed at the end of each rule. */
3315
#ifndef YY_BREAK
3316
570k
#define YY_BREAK /*LINTED*/break;
3317
#endif
3318
3319
#define YY_RULE_SETUP \
3320
7.72M
  YY_USER_ACTION
3321
3322
/** The main scanner function which does all the work.
3323
 */
3324
YY_DECL
3325
7.15M
{
3326
7.15M
  yy_state_type yy_current_state;
3327
7.15M
  char *yy_cp, *yy_bp;
3328
7.15M
  int yy_act;
3329
7.15M
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3330
3331
7.15M
    yylval = yylval_param;
3332
3333
7.15M
    yylloc = yylloc_param;
3334
3335
7.15M
  if ( !yyg->yy_init )
3336
5.72k
    {
3337
5.72k
    yyg->yy_init = 1;
3338
3339
#ifdef YY_USER_INIT
3340
    YY_USER_INIT;
3341
#endif
3342
3343
5.72k
    if ( ! yyg->yy_start )
3344
5.72k
      yyg->yy_start = 1; /* first start state */
3345
3346
5.72k
    if ( ! yyin )
3347
5.72k
      yyin = stdin;
3348
3349
5.72k
    if ( ! yyout )
3350
5.72k
      yyout = stdout;
3351
3352
5.72k
    if ( ! YY_CURRENT_BUFFER ) {
3353
0
      yyensure_buffer_stack (yyscanner);
3354
0
      YY_CURRENT_BUFFER_LVALUE =
3355
0
        yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
3356
0
    }
3357
3358
5.72k
    yy_load_buffer_state( yyscanner );
3359
5.72k
    }
3360
3361
7.15M
  {
3362
7.15M
#line 57 "flex_lexer.l"
3363
3364
3365
7.15M
#line 3365 "flex_lexer.cpp"
3366
3367
7.72M
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
3368
7.72M
    {
3369
7.72M
    yy_cp = yyg->yy_c_buf_p;
3370
3371
    /* Support of yytext. */
3372
7.72M
    *yy_cp = yyg->yy_hold_char;
3373
3374
    /* yy_bp points to the position in yy_ch_buf of the start of
3375
     * the current run.
3376
     */
3377
7.72M
    yy_bp = yy_cp;
3378
3379
7.72M
    yy_current_state = yyg->yy_start;
3380
7.72M
yy_match:
3381
7.72M
    do
3382
25.8M
      {
3383
25.8M
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
3384
25.8M
      if ( yy_accept[yy_current_state] )
3385
17.0M
        {
3386
17.0M
        yyg->yy_last_accepting_state = yy_current_state;
3387
17.0M
        yyg->yy_last_accepting_cpos = yy_cp;
3388
17.0M
        }
3389
44.3M
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3390
18.5M
        {
3391
18.5M
        yy_current_state = (int) yy_def[yy_current_state];
3392
18.5M
        if ( yy_current_state >= 1332 )
3393
10.7M
          yy_c = yy_meta[yy_c];
3394
18.5M
        }
3395
25.8M
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3396
25.8M
      ++yy_cp;
3397
25.8M
      }
3398
25.8M
    while ( yy_current_state != 1331 );
3399
7.72M
    yy_cp = yyg->yy_last_accepting_cpos;
3400
7.72M
    yy_current_state = yyg->yy_last_accepting_state;
3401
3402
7.73M
yy_find_action:
3403
7.73M
    yy_act = yy_accept[yy_current_state];
3404
3405
7.73M
    YY_DO_BEFORE_ACTION;
3406
3407
7.73M
do_action:  /* This label is used only to access EOF actions. */
3408
3409
7.73M
    switch ( yy_act )
3410
7.73M
  { /* beginning of action switch */
3411
18
      case 0: /* must back up */
3412
      /* undo the effects of YY_DO_BEFORE_ACTION */
3413
18
      *yy_cp = yyg->yy_hold_char;
3414
18
      yy_cp = yyg->yy_last_accepting_cpos;
3415
18
      yy_current_state = yyg->yy_last_accepting_state;
3416
18
      goto yy_find_action;
3417
3418
841
case 1:
3419
841
YY_RULE_SETUP
3420
841
#line 59 "flex_lexer.l"
3421
841
BEGIN(COMMENT);
3422
841
  YY_BREAK
3423
600
case 2:
3424
600
YY_RULE_SETUP
3425
600
#line 60 "flex_lexer.l"
3426
600
/* skipping comment content until a end of line is read */;
3427
600
  YY_BREAK
3428
659
case 3:
3429
/* rule 3 can match eol */
3430
659
YY_RULE_SETUP
3431
659
#line 61 "flex_lexer.l"
3432
659
BEGIN(INITIAL);
3433
659
  YY_BREAK
3434
551k
case 4:
3435
/* rule 4 can match eol */
3436
551k
YY_RULE_SETUP
3437
551k
#line 63 "flex_lexer.l"
3438
551k
/* skip whitespace */;
3439
551k
  YY_BREAK
3440
2
case 5:
3441
2
YY_RULE_SETUP
3442
2
#line 65 "flex_lexer.l"
3443
2
TOKEN(ADD)
3444
0
  YY_BREAK
3445
2
case 6:
3446
2
YY_RULE_SETUP
3447
2
#line 66 "flex_lexer.l"
3448
2
TOKEN(AFTER)
3449
0
  YY_BREAK
3450
1.08k
case 7:
3451
1.08k
YY_RULE_SETUP
3452
1.08k
#line 67 "flex_lexer.l"
3453
1.08k
TOKEN(ALL)
3454
0
  YY_BREAK
3455
4
case 8:
3456
4
YY_RULE_SETUP
3457
4
#line 68 "flex_lexer.l"
3458
4
TOKEN(ALTER)
3459
0
  YY_BREAK
3460
0
case 9:
3461
0
YY_RULE_SETUP
3462
0
#line 69 "flex_lexer.l"
3463
0
TOKEN(ANALYZE)
3464
0
  YY_BREAK
3465
1.55k
case 10:
3466
1.55k
YY_RULE_SETUP
3467
1.55k
#line 70 "flex_lexer.l"
3468
1.55k
TOKEN(AND)
3469
0
  YY_BREAK
3470
885
case 11:
3471
885
YY_RULE_SETUP
3472
885
#line 71 "flex_lexer.l"
3473
885
TOKEN(ARRAY)
3474
0
  YY_BREAK
3475
38.6k
case 12:
3476
38.6k
YY_RULE_SETUP
3477
38.6k
#line 72 "flex_lexer.l"
3478
38.6k
TOKEN(AS)
3479
0
  YY_BREAK
3480
642
case 13:
3481
642
YY_RULE_SETUP
3482
642
#line 73 "flex_lexer.l"
3483
642
TOKEN(ASC)
3484
0
  YY_BREAK
3485
1
case 14:
3486
1
YY_RULE_SETUP
3487
1
#line 74 "flex_lexer.l"
3488
1
TOKEN(BEFORE)
3489
0
  YY_BREAK
3490
71.4k
case 15:
3491
71.4k
YY_RULE_SETUP
3492
71.4k
#line 75 "flex_lexer.l"
3493
71.4k
TOKEN(BEGIN)
3494
0
  YY_BREAK
3495
942
case 16:
3496
942
YY_RULE_SETUP
3497
942
#line 76 "flex_lexer.l"
3498
942
TOKEN(BETWEEN)
3499
0
  YY_BREAK
3500
828
case 17:
3501
828
YY_RULE_SETUP
3502
828
#line 77 "flex_lexer.l"
3503
828
TOKEN(BIGINT)
3504
0
  YY_BREAK
3505
671
case 18:
3506
671
YY_RULE_SETUP
3507
671
#line 78 "flex_lexer.l"
3508
671
TOKEN(BOOLEAN)
3509
0
  YY_BREAK
3510
5.78k
case 19:
3511
5.78k
YY_RULE_SETUP
3512
5.78k
#line 79 "flex_lexer.l"
3513
5.78k
TOKEN(BY)
3514
0
  YY_BREAK
3515
1
case 20:
3516
1
YY_RULE_SETUP
3517
1
#line 80 "flex_lexer.l"
3518
1
TOKEN(CALL)
3519
0
  YY_BREAK
3520
2
case 21:
3521
2
YY_RULE_SETUP
3522
2
#line 81 "flex_lexer.l"
3523
2
TOKEN(CASCADE)
3524
0
  YY_BREAK
3525
2.61k
case 22:
3526
2.61k
YY_RULE_SETUP
3527
2.61k
#line 82 "flex_lexer.l"
3528
2.61k
TOKEN(CASE)
3529
0
  YY_BREAK
3530
973
case 23:
3531
973
YY_RULE_SETUP
3532
973
#line 83 "flex_lexer.l"
3533
973
TOKEN(CAST)
3534
0
  YY_BREAK
3535
578
case 24:
3536
578
YY_RULE_SETUP
3537
578
#line 84 "flex_lexer.l"
3538
578
TOKEN(CHAR)
3539
0
  YY_BREAK
3540
3
case 25:
3541
3
YY_RULE_SETUP
3542
3
#line 85 "flex_lexer.l"
3543
3
TOKEN(COLUMN)
3544
0
  YY_BREAK
3545
1.10k
case 26:
3546
1.10k
YY_RULE_SETUP
3547
1.10k
#line 86 "flex_lexer.l"
3548
1.10k
TOKEN(COLUMNS)
3549
0
  YY_BREAK
3550
765
case 27:
3551
765
YY_RULE_SETUP
3552
765
#line 87 "flex_lexer.l"
3553
765
TOKEN(COMMIT)
3554
0
  YY_BREAK
3555
2
case 28:
3556
2
YY_RULE_SETUP
3557
2
#line 88 "flex_lexer.l"
3558
2
TOKEN(CONTROL)
3559
0
  YY_BREAK
3560
3.37k
case 29:
3561
3.37k
YY_RULE_SETUP
3562
3.37k
#line 89 "flex_lexer.l"
3563
3.37k
TOKEN(COPY)
3564
0
  YY_BREAK
3565
3.73k
case 30:
3566
3.73k
YY_RULE_SETUP
3567
3.73k
#line 90 "flex_lexer.l"
3568
3.73k
TOKEN(CREATE)
3569
0
  YY_BREAK
3570
756
case 31:
3571
756
YY_RULE_SETUP
3572
756
#line 91 "flex_lexer.l"
3573
756
TOKEN(CROSS)
3574
0
  YY_BREAK
3575
975
case 32:
3576
975
YY_RULE_SETUP
3577
975
#line 92 "flex_lexer.l"
3578
975
TOKEN(DATE)
3579
0
  YY_BREAK
3580
582
case 33:
3581
582
YY_RULE_SETUP
3582
582
#line 93 "flex_lexer.l"
3583
582
TOKEN(DATETIME)
3584
0
  YY_BREAK
3585
2.10k
case 34:
3586
2.10k
YY_RULE_SETUP
3587
2.10k
#line 94 "flex_lexer.l"
3588
2.10k
TOKEN(DAY)
3589
0
  YY_BREAK
3590
531
case 35:
3591
531
YY_RULE_SETUP
3592
531
#line 95 "flex_lexer.l"
3593
531
TOKEN(DAYS)
3594
0
  YY_BREAK
3595
893
case 36:
3596
893
YY_RULE_SETUP
3597
893
#line 96 "flex_lexer.l"
3598
893
TOKEN(DEALLOCATE)
3599
0
  YY_BREAK
3600
1.14k
case 37:
3601
1.14k
YY_RULE_SETUP
3602
1.14k
#line 97 "flex_lexer.l"
3603
1.14k
TOKEN(DECIMAL)
3604
0
  YY_BREAK
3605
0
case 38:
3606
0
YY_RULE_SETUP
3607
0
#line 98 "flex_lexer.l"
3608
0
TOKEN(DEFAULT)
3609
0
  YY_BREAK
3610
1.40k
case 39:
3611
1.40k
YY_RULE_SETUP
3612
1.40k
#line 99 "flex_lexer.l"
3613
1.40k
TOKEN(DELETE)
3614
0
  YY_BREAK
3615
2
case 40:
3616
2
YY_RULE_SETUP
3617
2
#line 100 "flex_lexer.l"
3618
2
TOKEN(DELTA)
3619
0
  YY_BREAK
3620
530
case 41:
3621
530
YY_RULE_SETUP
3622
530
#line 101 "flex_lexer.l"
3623
530
TOKEN(DESC)
3624
0
  YY_BREAK
3625
1.32k
case 42:
3626
1.32k
YY_RULE_SETUP
3627
1.32k
#line 102 "flex_lexer.l"
3628
1.32k
TOKEN(DESCRIBE)
3629
0
  YY_BREAK
3630
2
case 43:
3631
2
YY_RULE_SETUP
3632
2
#line 103 "flex_lexer.l"
3633
2
TOKEN(DIRECT)
3634
0
  YY_BREAK
3635
734
case 44:
3636
734
YY_RULE_SETUP
3637
734
#line 104 "flex_lexer.l"
3638
734
TOKEN(DISTINCT)
3639
0
  YY_BREAK
3640
827
case 45:
3641
827
YY_RULE_SETUP
3642
827
#line 105 "flex_lexer.l"
3643
827
TOKEN(DOUBLE)
3644
0
  YY_BREAK
3645
2.95k
case 46:
3646
2.95k
YY_RULE_SETUP
3647
2.95k
#line 106 "flex_lexer.l"
3648
2.95k
TOKEN(DROP)
3649
0
  YY_BREAK
3650
978
case 47:
3651
978
YY_RULE_SETUP
3652
978
#line 107 "flex_lexer.l"
3653
978
TOKEN(ELSE)
3654
0
  YY_BREAK
3655
1.85k
case 48:
3656
1.85k
YY_RULE_SETUP
3657
1.85k
#line 108 "flex_lexer.l"
3658
1.85k
TOKEN(END)
3659
0
  YY_BREAK
3660
1
case 49:
3661
1
YY_RULE_SETUP
3662
1
#line 109 "flex_lexer.l"
3663
1
TOKEN(ESCAPE)
3664
0
  YY_BREAK
3665
1.24k
case 50:
3666
1.24k
YY_RULE_SETUP
3667
1.24k
#line 110 "flex_lexer.l"
3668
1.24k
TOKEN(EXCEPT)
3669
0
  YY_BREAK
3670
1.92k
case 51:
3671
1.92k
YY_RULE_SETUP
3672
1.92k
#line 111 "flex_lexer.l"
3673
1.92k
TOKEN(EXECUTE)
3674
0
  YY_BREAK
3675
1.67k
case 52:
3676
1.67k
YY_RULE_SETUP
3677
1.67k
#line 112 "flex_lexer.l"
3678
1.67k
TOKEN(EXISTS)
3679
0
  YY_BREAK
3680
1
case 53:
3681
1
YY_RULE_SETUP
3682
1
#line 113 "flex_lexer.l"
3683
1
TOKEN(EXPLAIN)
3684
0
  YY_BREAK
3685
816
case 54:
3686
816
YY_RULE_SETUP
3687
816
#line 114 "flex_lexer.l"
3688
816
TOKEN(EXTRACT)
3689
0
  YY_BREAK
3690
1.00k
case 55:
3691
1.00k
YY_RULE_SETUP
3692
1.00k
#line 115 "flex_lexer.l"
3693
1.00k
TOKEN(FALSE)
3694
0
  YY_BREAK
3695
2
case 56:
3696
2
YY_RULE_SETUP
3697
2
#line 116 "flex_lexer.l"
3698
2
TOKEN(FILE)
3699
0
  YY_BREAK
3700
783
case 57:
3701
783
YY_RULE_SETUP
3702
783
#line 117 "flex_lexer.l"
3703
783
TOKEN(FLOAT)
3704
0
  YY_BREAK
3705
1.74k
case 58:
3706
1.74k
YY_RULE_SETUP
3707
1.74k
#line 118 "flex_lexer.l"
3708
1.74k
TOKEN(FOLLOWING)
3709
0
  YY_BREAK
3710
8.57k
case 59:
3711
8.57k
YY_RULE_SETUP
3712
8.57k
#line 119 "flex_lexer.l"
3713
8.57k
TOKEN(FOR)
3714
0
  YY_BREAK
3715
1
case 60:
3716
1
YY_RULE_SETUP
3717
1
#line 120 "flex_lexer.l"
3718
1
TOKEN(FORMAT)
3719
0
  YY_BREAK
3720
6.95k
case 61:
3721
6.95k
YY_RULE_SETUP
3722
6.95k
#line 121 "flex_lexer.l"
3723
6.95k
TOKEN(FROM)
3724
0
  YY_BREAK
3725
613
case 62:
3726
613
YY_RULE_SETUP
3727
613
#line 122 "flex_lexer.l"
3728
613
TOKEN(FULL)
3729
0
  YY_BREAK
3730
2
case 63:
3731
2
YY_RULE_SETUP
3732
2
#line 123 "flex_lexer.l"
3733
2
TOKEN(GLOBAL)
3734
0
  YY_BREAK
3735
2.49k
case 64:
3736
2.49k
YY_RULE_SETUP
3737
2.49k
#line 124 "flex_lexer.l"
3738
2.49k
TOKEN(GROUP)
3739
0
  YY_BREAK
3740
6
case 65:
3741
6
YY_RULE_SETUP
3742
6
#line 125 "flex_lexer.l"
3743
6
TOKEN(GROUPS)
3744
0
  YY_BREAK
3745
2
case 66:
3746
2
YY_RULE_SETUP
3747
2
#line 126 "flex_lexer.l"
3748
2
TOKEN(HASH)
3749
0
  YY_BREAK
3750
826
case 67:
3751
826
YY_RULE_SETUP
3752
826
#line 127 "flex_lexer.l"
3753
826
TOKEN(HAVING)
3754
0
  YY_BREAK
3755
1.12k
case 68:
3756
1.12k
YY_RULE_SETUP
3757
1.12k
#line 128 "flex_lexer.l"
3758
1.12k
TOKEN(HINT)
3759
0
  YY_BREAK
3760
561
case 69:
3761
561
YY_RULE_SETUP
3762
561
#line 129 "flex_lexer.l"
3763
561
TOKEN(HOUR)
3764
0
  YY_BREAK
3765
782
case 70:
3766
782
YY_RULE_SETUP
3767
782
#line 130 "flex_lexer.l"
3768
782
TOKEN(HOURS)
3769
0
  YY_BREAK
3770
395
case 71:
3771
395
YY_RULE_SETUP
3772
395
#line 131 "flex_lexer.l"
3773
395
TOKEN(IF)
3774
0
  YY_BREAK
3775
756
case 72:
3776
756
YY_RULE_SETUP
3777
756
#line 132 "flex_lexer.l"
3778
756
TOKEN(ILIKE)
3779
0
  YY_BREAK
3780
132
case 73:
3781
132
YY_RULE_SETUP
3782
132
#line 133 "flex_lexer.l"
3783
132
TOKEN(IMPORT)
3784
0
  YY_BREAK
3785
1.18k
case 74:
3786
1.18k
YY_RULE_SETUP
3787
1.18k
#line 134 "flex_lexer.l"
3788
1.18k
TOKEN(IN)
3789
0
  YY_BREAK
3790
1.88k
case 75:
3791
1.88k
YY_RULE_SETUP
3792
1.88k
#line 135 "flex_lexer.l"
3793
1.88k
TOKEN(INDEX)
3794
0
  YY_BREAK
3795
349
case 76:
3796
349
YY_RULE_SETUP
3797
349
#line 136 "flex_lexer.l"
3798
349
TOKEN(INNER)
3799
0
  YY_BREAK
3800
2.92k
case 77:
3801
2.92k
YY_RULE_SETUP
3802
2.92k
#line 137 "flex_lexer.l"
3803
2.92k
TOKEN(INSERT)
3804
0
  YY_BREAK
3805
147k
case 78:
3806
147k
YY_RULE_SETUP
3807
147k
#line 138 "flex_lexer.l"
3808
147k
TOKEN(INT)
3809
0
  YY_BREAK
3810
686
case 79:
3811
686
YY_RULE_SETUP
3812
686
#line 139 "flex_lexer.l"
3813
686
TOKEN(INTEGER)
3814
0
  YY_BREAK
3815
631
case 80:
3816
631
YY_RULE_SETUP
3817
631
#line 140 "flex_lexer.l"
3818
631
TOKEN(INTERSECT)
3819
0
  YY_BREAK
3820
3.49k
case 81:
3821
3.49k
YY_RULE_SETUP
3822
3.49k
#line 141 "flex_lexer.l"
3823
3.49k
TOKEN(INTERVAL)
3824
0
  YY_BREAK
3825
2.90k
case 82:
3826
2.90k
YY_RULE_SETUP
3827
2.90k
#line 142 "flex_lexer.l"
3828
2.90k
TOKEN(INTO)
3829
0
  YY_BREAK
3830
660
case 83:
3831
660
YY_RULE_SETUP
3832
660
#line 143 "flex_lexer.l"
3833
660
TOKEN(IS)
3834
0
  YY_BREAK
3835
762
case 84:
3836
762
YY_RULE_SETUP
3837
762
#line 144 "flex_lexer.l"
3838
762
TOKEN(ISNULL)
3839
0
  YY_BREAK
3840
112k
case 85:
3841
112k
YY_RULE_SETUP
3842
112k
#line 145 "flex_lexer.l"
3843
112k
TOKEN(JOIN)
3844
0
  YY_BREAK
3845
2.34k
case 86:
3846
2.34k
YY_RULE_SETUP
3847
2.34k
#line 146 "flex_lexer.l"
3848
2.34k
TOKEN(KEY)
3849
0
  YY_BREAK
3850
612
case 87:
3851
612
YY_RULE_SETUP
3852
612
#line 147 "flex_lexer.l"
3853
612
TOKEN(LEFT)
3854
0
  YY_BREAK
3855
774
case 88:
3856
774
YY_RULE_SETUP
3857
774
#line 148 "flex_lexer.l"
3858
774
TOKEN(LIKE)
3859
0
  YY_BREAK
3860
2.79k
case 89:
3861
2.79k
YY_RULE_SETUP
3862
2.79k
#line 149 "flex_lexer.l"
3863
2.79k
TOKEN(LIMIT)
3864
0
  YY_BREAK
3865
2
case 90:
3866
2
YY_RULE_SETUP
3867
2
#line 150 "flex_lexer.l"
3868
2
TOKEN(LOAD)
3869
0
  YY_BREAK
3870
1
case 91:
3871
1
YY_RULE_SETUP
3872
1
#line 151 "flex_lexer.l"
3873
1
TOKEN(LOCAL)
3874
0
  YY_BREAK
3875
2
case 92:
3876
2
YY_RULE_SETUP
3877
2
#line 152 "flex_lexer.l"
3878
2
TOKEN(LOCKED)
3879
0
  YY_BREAK
3880
571
case 93:
3881
571
YY_RULE_SETUP
3882
571
#line 153 "flex_lexer.l"
3883
571
TOKEN(LONG)
3884
0
  YY_BREAK
3885
1
case 94:
3886
1
YY_RULE_SETUP
3887
1
#line 154 "flex_lexer.l"
3888
1
TOKEN(MERGE)
3889
0
  YY_BREAK
3890
3
case 95:
3891
3
YY_RULE_SETUP
3892
3
#line 155 "flex_lexer.l"
3893
3
TOKEN(MINUS)
3894
0
  YY_BREAK
3895
897
case 96:
3896
897
YY_RULE_SETUP
3897
897
#line 156 "flex_lexer.l"
3898
897
TOKEN(MINUTE)
3899
0
  YY_BREAK
3900
980
case 97:
3901
980
YY_RULE_SETUP
3902
980
#line 157 "flex_lexer.l"
3903
980
TOKEN(MINUTES)
3904
0
  YY_BREAK
3905
701
case 98:
3906
701
YY_RULE_SETUP
3907
701
#line 158 "flex_lexer.l"
3908
701
TOKEN(MONTH)
3909
0
  YY_BREAK
3910
826
case 99:
3911
826
YY_RULE_SETUP
3912
826
#line 159 "flex_lexer.l"
3913
826
TOKEN(MONTHS)
3914
0
  YY_BREAK
3915
820
case 100:
3916
820
YY_RULE_SETUP
3917
820
#line 160 "flex_lexer.l"
3918
820
TOKEN(NATURAL)
3919
0
  YY_BREAK
3920
5
case 101:
3921
5
YY_RULE_SETUP
3922
5
#line 161 "flex_lexer.l"
3923
5
TOKEN(NO)
3924
0
  YY_BREAK
3925
3.54k
case 102:
3926
3.54k
YY_RULE_SETUP
3927
3.54k
#line 162 "flex_lexer.l"
3928
3.54k
TOKEN(NOT)
3929
0
  YY_BREAK
3930
827
case 103:
3931
827
YY_RULE_SETUP
3932
827
#line 163 "flex_lexer.l"
3933
827
TOKEN(NOWAIT)
3934
0
  YY_BREAK
3935
5.76k
case 104:
3936
5.76k
YY_RULE_SETUP
3937
5.76k
#line 164 "flex_lexer.l"
3938
5.76k
TOKEN(NULL)
3939
0
  YY_BREAK
3940
2
case 105:
3941
2
YY_RULE_SETUP
3942
2
#line 165 "flex_lexer.l"
3943
2
TOKEN(NVARCHAR)
3944
0
  YY_BREAK
3945
355
case 106:
3946
355
YY_RULE_SETUP
3947
355
#line 166 "flex_lexer.l"
3948
355
TOKEN(OF)
3949
0
  YY_BREAK
3950
2
case 107:
3951
2
YY_RULE_SETUP
3952
2
#line 167 "flex_lexer.l"
3953
2
TOKEN(OFF)
3954
0
  YY_BREAK
3955
1.50k
case 108:
3956
1.50k
YY_RULE_SETUP
3957
1.50k
#line 168 "flex_lexer.l"
3958
1.50k
TOKEN(OFFSET)
3959
0
  YY_BREAK
3960
109k
case 109:
3961
109k
YY_RULE_SETUP
3962
109k
#line 169 "flex_lexer.l"
3963
109k
TOKEN(ON)
3964
0
  YY_BREAK
3965
418
case 110:
3966
418
YY_RULE_SETUP
3967
418
#line 170 "flex_lexer.l"
3968
418
TOKEN(OR)
3969
0
  YY_BREAK
3970
2.47k
case 111:
3971
2.47k
YY_RULE_SETUP
3972
2.47k
#line 171 "flex_lexer.l"
3973
2.47k
TOKEN(ORDER)
3974
0
  YY_BREAK
3975
961
case 112:
3976
961
YY_RULE_SETUP
3977
961
#line 172 "flex_lexer.l"
3978
961
TOKEN(OUTER)
3979
0
  YY_BREAK
3980
3.66k
case 113:
3981
3.66k
YY_RULE_SETUP
3982
3.66k
#line 173 "flex_lexer.l"
3983
3.66k
TOKEN(OVER)
3984
0
  YY_BREAK
3985
0
case 114:
3986
0
YY_RULE_SETUP
3987
0
#line 174 "flex_lexer.l"
3988
0
TOKEN(PARAMETERS)
3989
0
  YY_BREAK
3990
873
case 115:
3991
873
YY_RULE_SETUP
3992
873
#line 175 "flex_lexer.l"
3993
873
TOKEN(PARTITION)
3994
0
  YY_BREAK
3995
2
case 116:
3996
2
YY_RULE_SETUP
3997
2
#line 176 "flex_lexer.l"
3998
2
TOKEN(PLAN)
3999
0
  YY_BREAK
4000
0
case 117:
4001
0
YY_RULE_SETUP
4002
0
#line 177 "flex_lexer.l"
4003
0
TOKEN(PRECEDING)
4004
0
  YY_BREAK
4005
1.97k
case 118:
4006
1.97k
YY_RULE_SETUP
4007
1.97k
#line 178 "flex_lexer.l"
4008
1.97k
TOKEN(PREPARE)
4009
0
  YY_BREAK
4010
2.13k
case 119:
4011
2.13k
YY_RULE_SETUP
4012
2.13k
#line 179 "flex_lexer.l"
4013
2.13k
TOKEN(PRIMARY)
4014
0
  YY_BREAK
4015
5
case 120:
4016
5
YY_RULE_SETUP
4017
5
#line 180 "flex_lexer.l"
4018
5
TOKEN(RANGE)
4019
0
  YY_BREAK
4020
674
case 121:
4021
674
YY_RULE_SETUP
4022
674
#line 181 "flex_lexer.l"
4023
674
TOKEN(REAL)
4024
0
  YY_BREAK
4025
1
case 122:
4026
1
YY_RULE_SETUP
4027
1
#line 182 "flex_lexer.l"
4028
1
TOKEN(RENAME)
4029
0
  YY_BREAK
4030
2
case 123:
4031
2
YY_RULE_SETUP
4032
2
#line 183 "flex_lexer.l"
4033
2
TOKEN(RESTRICT)
4034
0
  YY_BREAK
4035
806
case 124:
4036
806
YY_RULE_SETUP
4037
806
#line 184 "flex_lexer.l"
4038
806
TOKEN(RIGHT)
4039
0
  YY_BREAK
4040
731
case 125:
4041
731
YY_RULE_SETUP
4042
731
#line 185 "flex_lexer.l"
4043
731
TOKEN(ROLLBACK)
4044
0
  YY_BREAK
4045
1.57k
case 126:
4046
1.57k
YY_RULE_SETUP
4047
1.57k
#line 186 "flex_lexer.l"
4048
1.57k
TOKEN(ROWS)
4049
0
  YY_BREAK
4050
2
case 127:
4051
2
YY_RULE_SETUP
4052
2
#line 187 "flex_lexer.l"
4053
2
TOKEN(SCHEMA)
4054
0
  YY_BREAK
4055
2
case 128:
4056
2
YY_RULE_SETUP
4057
2
#line 188 "flex_lexer.l"
4058
2
TOKEN(SCHEMAS)
4059
0
  YY_BREAK
4060
866
case 129:
4061
866
YY_RULE_SETUP
4062
866
#line 189 "flex_lexer.l"
4063
866
TOKEN(SECOND)
4064
0
  YY_BREAK
4065
874
case 130:
4066
874
YY_RULE_SETUP
4067
874
#line 190 "flex_lexer.l"
4068
874
TOKEN(SECONDS)
4069
0
  YY_BREAK
4070
63.6k
case 131:
4071
63.6k
YY_RULE_SETUP
4072
63.6k
#line 191 "flex_lexer.l"
4073
63.6k
TOKEN(SELECT)
4074
0
  YY_BREAK
4075
1.46k
case 132:
4076
1.46k
YY_RULE_SETUP
4077
1.46k
#line 192 "flex_lexer.l"
4078
1.46k
TOKEN(SET)
4079
0
  YY_BREAK
4080
7.71k
case 133:
4081
7.71k
YY_RULE_SETUP
4082
7.71k
#line 193 "flex_lexer.l"
4083
7.71k
TOKEN(SHARE)
4084
0
  YY_BREAK
4085
2.26k
case 134:
4086
2.26k
YY_RULE_SETUP
4087
2.26k
#line 194 "flex_lexer.l"
4088
2.26k
TOKEN(SHOW)
4089
0
  YY_BREAK
4090
2
case 135:
4091
2
YY_RULE_SETUP
4092
2
#line 195 "flex_lexer.l"
4093
2
TOKEN(SKIP)
4094
0
  YY_BREAK
4095
567
case 136:
4096
567
YY_RULE_SETUP
4097
567
#line 196 "flex_lexer.l"
4098
567
TOKEN(SMALLINT)
4099
0
  YY_BREAK
4100
1
case 137:
4101
1
YY_RULE_SETUP
4102
1
#line 197 "flex_lexer.l"
4103
1
TOKEN(SORTED)
4104
0
  YY_BREAK
4105
1
case 138:
4106
1
YY_RULE_SETUP
4107
1
#line 198 "flex_lexer.l"
4108
1
TOKEN(SPATIAL)
4109
0
  YY_BREAK
4110
2.80k
case 139:
4111
2.80k
YY_RULE_SETUP
4112
2.80k
#line 199 "flex_lexer.l"
4113
2.80k
TOKEN(TABLE)
4114
0
  YY_BREAK
4115
1.17k
case 140:
4116
1.17k
YY_RULE_SETUP
4117
1.17k
#line 200 "flex_lexer.l"
4118
1.17k
TOKEN(TABLES)
4119
0
  YY_BREAK
4120
0
case 141:
4121
0
YY_RULE_SETUP
4122
0
#line 201 "flex_lexer.l"
4123
0
TOKEN(TEMPORARY)
4124
0
  YY_BREAK
4125
534
case 142:
4126
534
YY_RULE_SETUP
4127
534
#line 202 "flex_lexer.l"
4128
534
TOKEN(TEXT)
4129
0
  YY_BREAK
4130
3.31k
case 143:
4131
3.31k
YY_RULE_SETUP
4132
3.31k
#line 203 "flex_lexer.l"
4133
3.31k
TOKEN(THEN)
4134
0
  YY_BREAK
4135
888
case 144:
4136
888
YY_RULE_SETUP
4137
888
#line 204 "flex_lexer.l"
4138
888
TOKEN(TIME)
4139
0
  YY_BREAK
4140
615
case 145:
4141
615
YY_RULE_SETUP
4142
615
#line 205 "flex_lexer.l"
4143
615
TOKEN(TIMESTAMP)
4144
0
  YY_BREAK
4145
1.70k
case 146:
4146
1.70k
YY_RULE_SETUP
4147
1.70k
#line 206 "flex_lexer.l"
4148
1.70k
TOKEN(TO)
4149
0
  YY_BREAK
4150
1.60k
case 147:
4151
1.60k
YY_RULE_SETUP
4152
1.60k
#line 207 "flex_lexer.l"
4153
1.60k
TOKEN(TOP)
4154
0
  YY_BREAK
4155
0
case 148:
4156
0
YY_RULE_SETUP
4157
0
#line 208 "flex_lexer.l"
4158
0
TOKEN(TRANSACTION)
4159
0
  YY_BREAK
4160
513
case 149:
4161
513
YY_RULE_SETUP
4162
513
#line 209 "flex_lexer.l"
4163
513
TOKEN(TRUE)
4164
0
  YY_BREAK
4165
744
case 150:
4166
744
YY_RULE_SETUP
4167
744
#line 210 "flex_lexer.l"
4168
744
TOKEN(TRUNCATE)
4169
0
  YY_BREAK
4170
784
case 151:
4171
784
YY_RULE_SETUP
4172
784
#line 211 "flex_lexer.l"
4173
784
TOKEN(UNBOUNDED)
4174
0
  YY_BREAK
4175
2.67k
case 152:
4176
2.67k
YY_RULE_SETUP
4177
2.67k
#line 212 "flex_lexer.l"
4178
2.67k
TOKEN(UNION)
4179
0
  YY_BREAK
4180
12.4k
case 153:
4181
12.4k
YY_RULE_SETUP
4182
12.4k
#line 213 "flex_lexer.l"
4183
12.4k
TOKEN(UNIQUE)
4184
0
  YY_BREAK
4185
2
case 154:
4186
2
YY_RULE_SETUP
4187
2
#line 214 "flex_lexer.l"
4188
2
TOKEN(UNLOAD)
4189
0
  YY_BREAK
4190
2.27k
case 155:
4191
2.27k
YY_RULE_SETUP
4192
2.27k
#line 215 "flex_lexer.l"
4193
2.27k
TOKEN(UPDATE)
4194
0
  YY_BREAK
4195
829
case 156:
4196
829
YY_RULE_SETUP
4197
829
#line 216 "flex_lexer.l"
4198
829
TOKEN(USING)
4199
0
  YY_BREAK
4200
841
case 157:
4201
841
YY_RULE_SETUP
4202
841
#line 217 "flex_lexer.l"
4203
841
TOKEN(VALUES)
4204
0
  YY_BREAK
4205
831
case 158:
4206
831
YY_RULE_SETUP
4207
831
#line 218 "flex_lexer.l"
4208
831
TOKEN(VARCHAR)
4209
0
  YY_BREAK
4210
1.97k
case 159:
4211
1.97k
YY_RULE_SETUP
4212
1.97k
#line 219 "flex_lexer.l"
4213
1.97k
TOKEN(VIEW)
4214
0
  YY_BREAK
4215
0
case 160:
4216
0
YY_RULE_SETUP
4217
0
#line 220 "flex_lexer.l"
4218
0
TOKEN(VIRTUAL)
4219
0
  YY_BREAK
4220
3.34k
case 161:
4221
3.34k
YY_RULE_SETUP
4222
3.34k
#line 221 "flex_lexer.l"
4223
3.34k
TOKEN(WHEN)
4224
0
  YY_BREAK
4225
1.57k
case 162:
4226
1.57k
YY_RULE_SETUP
4227
1.57k
#line 222 "flex_lexer.l"
4228
1.57k
TOKEN(WHERE)
4229
0
  YY_BREAK
4230
1.66k
case 163:
4231
1.66k
YY_RULE_SETUP
4232
1.66k
#line 223 "flex_lexer.l"
4233
1.66k
TOKEN(WITH)
4234
0
  YY_BREAK
4235
530
case 164:
4236
530
YY_RULE_SETUP
4237
530
#line 224 "flex_lexer.l"
4238
530
TOKEN(YEAR)
4239
0
  YY_BREAK
4240
868
case 165:
4241
868
YY_RULE_SETUP
4242
868
#line 225 "flex_lexer.l"
4243
868
TOKEN(YEARS)
4244
0
  YY_BREAK
4245
0
case 166:
4246
/* rule 166 can match eol */
4247
0
YY_RULE_SETUP
4248
0
#line 227 "flex_lexer.l"
4249
0
TOKEN(CURRENT_ROW)
4250
0
  YY_BREAK
4251
0
case 167:
4252
/* rule 167 can match eol */
4253
0
YY_RULE_SETUP
4254
0
#line 228 "flex_lexer.l"
4255
0
TOKEN(CHARACTER_VARYING)
4256
0
  YY_BREAK
4257
/* Allow =/== see https://sqlite.org/lang_expr.html#collateop */
4258
452
case 168:
4259
452
YY_RULE_SETUP
4260
452
#line 231 "flex_lexer.l"
4261
452
TOKEN(EQUALS)
4262
0
  YY_BREAK
4263
470
case 169:
4264
470
YY_RULE_SETUP
4265
470
#line 232 "flex_lexer.l"
4266
470
TOKEN(NOTEQUALS)
4267
0
  YY_BREAK
4268
322
case 170:
4269
322
YY_RULE_SETUP
4270
322
#line 233 "flex_lexer.l"
4271
322
TOKEN(NOTEQUALS)
4272
0
  YY_BREAK
4273
324
case 171:
4274
324
YY_RULE_SETUP
4275
324
#line 234 "flex_lexer.l"
4276
324
TOKEN(LESSEQ)
4277
0
  YY_BREAK
4278
343
case 172:
4279
343
YY_RULE_SETUP
4280
343
#line 235 "flex_lexer.l"
4281
343
TOKEN(GREATEREQ)
4282
0
  YY_BREAK
4283
541
case 173:
4284
541
YY_RULE_SETUP
4285
541
#line 236 "flex_lexer.l"
4286
541
TOKEN(CONCAT)
4287
0
  YY_BREAK
4288
4.57M
case 174:
4289
4.57M
YY_RULE_SETUP
4290
4.57M
#line 238 "flex_lexer.l"
4291
4.57M
{ return yytext[0]; }
4292
0
  YY_BREAK
4293
264
case 175:
4294
264
#line 241 "flex_lexer.l"
4295
656
case 176:
4296
656
YY_RULE_SETUP
4297
656
#line 241 "flex_lexer.l"
4298
656
{
4299
656
  yylval->fval = atof(yytext);
4300
656
  return SQL_FLOATVAL;
4301
264
}
4302
0
  YY_BREAK
4303
/*
4304
   * Regularly, negative literals are treated as <unary minus> <positive literal>. This does not work for LLONG_MIN, as it has no
4305
   * positive equivalent. We thus match for LLONG_MIN specifically. This is not an issue for floats, where
4306
   *   numeric_limits<double>::lowest() == -numeric_limits<double>::max();
4307
   */
4308
524
case 177:
4309
524
YY_RULE_SETUP
4310
524
#line 251 "flex_lexer.l"
4311
524
{
4312
524
  yylval->ival = LLONG_MIN;
4313
524
  return SQL_INTVAL;
4314
264
}
4315
0
  YY_BREAK
4316
20.8k
case 178:
4317
20.8k
YY_RULE_SETUP
4318
20.8k
#line 256 "flex_lexer.l"
4319
20.8k
{
4320
20.8k
  errno = 0;
4321
20.8k
  yylval->ival = strtoll(yytext, nullptr, 0);
4322
20.8k
  if (errno) {
4323
5
    return fprintf(stderr, "[SQL-Lexer-Error] Integer cannot be parsed - is it out of range?");
4324
0
    return 0;
4325
5
  }
4326
20.8k
  return SQL_INTVAL;
4327
20.8k
}
4328
0
  YY_BREAK
4329
2.05k
case 179:
4330
2.05k
YY_RULE_SETUP
4331
2.05k
#line 266 "flex_lexer.l"
4332
2.05k
{
4333
  // Crop the leading and trailing quote char
4334
2.05k
  yylval->sval = hsql::substr(yytext, 1, strlen(yytext)-1);
4335
2.05k
  return SQL_IDENTIFIER;
4336
20.8k
}
4337
0
  YY_BREAK
4338
1.80M
case 180:
4339
1.80M
YY_RULE_SETUP
4340
1.80M
#line 272 "flex_lexer.l"
4341
1.80M
{
4342
1.80M
  yylval->sval = strdup(yytext);
4343
1.80M
  return SQL_IDENTIFIER;
4344
20.8k
}
4345
0
  YY_BREAK
4346
9.84k
case 181:
4347
9.84k
YY_RULE_SETUP
4348
9.84k
#line 277 "flex_lexer.l"
4349
9.84k
{ BEGIN singlequotedstring; strbuf.clear(); strbuf.str(""); }  // Clear strbuf manually, see #170
4350
9.84k
  YY_BREAK
4351
803
case 182:
4352
803
YY_RULE_SETUP
4353
803
#line 278 "flex_lexer.l"
4354
803
{ strbuf << '\''; }
4355
803
  YY_BREAK
4356
6.72k
case 183:
4357
/* rule 183 can match eol */
4358
6.72k
YY_RULE_SETUP
4359
6.72k
#line 279 "flex_lexer.l"
4360
6.72k
{ strbuf << yytext; }
4361
6.72k
  YY_BREAK
4362
9.73k
case 184:
4363
9.73k
YY_RULE_SETUP
4364
9.73k
#line 280 "flex_lexer.l"
4365
9.73k
{ BEGIN 0; yylval->sval = strdup(strbuf.str().c_str()); return SQL_STRING; }
4366
0
  YY_BREAK
4367
107
case YY_STATE_EOF(singlequotedstring):
4368
107
#line 281 "flex_lexer.l"
4369
107
{ fprintf(stderr, "[SQL-Lexer-Error] Unterminated string\n"); return 0; }
4370
0
  YY_BREAK
4371
79
case 185:
4372
79
YY_RULE_SETUP
4373
79
#line 283 "flex_lexer.l"
4374
79
{ fprintf(stderr, "[SQL-Lexer-Error] Unknown Character: %c\n", yytext[0]); return 0; }
4375
0
  YY_BREAK
4376
0
case 186:
4377
0
YY_RULE_SETUP
4378
0
#line 285 "flex_lexer.l"
4379
0
ECHO;
4380
0
  YY_BREAK
4381
0
#line 4381 "flex_lexer.cpp"
4382
3.48k
case YY_STATE_EOF(INITIAL):
4383
3.53k
case YY_STATE_EOF(COMMENT):
4384
3.53k
  yyterminate();
4385
4386
9.04k
  case YY_END_OF_BUFFER:
4387
9.04k
    {
4388
    /* Amount of text matched not including the EOB char. */
4389
9.04k
    int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
4390
4391
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
4392
9.04k
    *yy_cp = yyg->yy_hold_char;
4393
9.04k
    YY_RESTORE_YY_MORE_OFFSET
4394
4395
9.04k
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4396
5.39k
      {
4397
      /* We're scanning a new file or input source.  It's
4398
       * possible that this happened because the user
4399
       * just pointed yyin at a new source and called
4400
       * yylex().  If so, then we have to assure
4401
       * consistency between YY_CURRENT_BUFFER and our
4402
       * globals.  Here is the right place to do so, because
4403
       * this is the first action (other than possibly a
4404
       * back-up) that will match for the new input source.
4405
       */
4406
5.39k
      yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4407
5.39k
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4408
5.39k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4409
5.39k
      }
4410
4411
    /* Note that here we test for yy_c_buf_p "<=" to the position
4412
     * of the first EOB in the buffer, since yy_c_buf_p will
4413
     * already have been incremented past the NUL character
4414
     * (since all states make transitions on EOB to the
4415
     * end-of-buffer state).  Contrast this with the test
4416
     * in input().
4417
     */
4418
9.04k
    if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
4419
0
      { /* This was really a NUL. */
4420
0
      yy_state_type yy_next_state;
4421
4422
0
      yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
4423
4424
0
      yy_current_state = yy_get_previous_state( yyscanner );
4425
4426
      /* Okay, we're now positioned to make the NUL
4427
       * transition.  We couldn't have
4428
       * yy_get_previous_state() go ahead and do it
4429
       * for us because it doesn't know how to deal
4430
       * with the possibility of jamming (and we don't
4431
       * want to build jamming into it because then it
4432
       * will run more slowly).
4433
       */
4434
4435
0
      yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
4436
4437
0
      yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
4438
4439
0
      if ( yy_next_state )
4440
0
        {
4441
        /* Consume the NUL. */
4442
0
        yy_cp = ++yyg->yy_c_buf_p;
4443
0
        yy_current_state = yy_next_state;
4444
0
        goto yy_match;
4445
0
        }
4446
4447
0
      else
4448
0
        {
4449
0
        yy_cp = yyg->yy_last_accepting_cpos;
4450
0
        yy_current_state = yyg->yy_last_accepting_state;
4451
0
        goto yy_find_action;
4452
0
        }
4453
0
      }
4454
4455
9.04k
    else switch ( yy_get_next_buffer( yyscanner ) )
4456
9.04k
      {
4457
3.64k
      case EOB_ACT_END_OF_FILE:
4458
3.64k
        {
4459
3.64k
        yyg->yy_did_buffer_switch_on_eof = 0;
4460
4461
3.64k
        if ( yywrap( yyscanner ) )
4462
3.64k
          {
4463
          /* Note: because we've taken care in
4464
           * yy_get_next_buffer() to have set up
4465
           * yytext, we can now set up
4466
           * yy_c_buf_p so that if some total
4467
           * hoser (like flex itself) wants to
4468
           * call the scanner after we return the
4469
           * YY_NULL, it'll still work - another
4470
           * YY_NULL will get returned.
4471
           */
4472
3.64k
          yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
4473
4474
3.64k
          yy_act = YY_STATE_EOF(YY_START);
4475
3.64k
          goto do_action;
4476
3.64k
          }
4477
4478
0
        else
4479
0
          {
4480
0
          if ( ! yyg->yy_did_buffer_switch_on_eof )
4481
0
            YY_NEW_FILE;
4482
0
          }
4483
0
        break;
4484
3.64k
        }
4485
4486
0
      case EOB_ACT_CONTINUE_SCAN:
4487
0
        yyg->yy_c_buf_p =
4488
0
          yyg->yytext_ptr + yy_amount_of_matched_text;
4489
4490
0
        yy_current_state = yy_get_previous_state( yyscanner );
4491
4492
0
        yy_cp = yyg->yy_c_buf_p;
4493
0
        yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
4494
0
        goto yy_match;
4495
4496
5.39k
      case EOB_ACT_LAST_MATCH:
4497
5.39k
        yyg->yy_c_buf_p =
4498
5.39k
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
4499
4500
5.39k
        yy_current_state = yy_get_previous_state( yyscanner );
4501
4502
5.39k
        yy_cp = yyg->yy_c_buf_p;
4503
5.39k
        yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
4504
5.39k
        goto yy_find_action;
4505
9.04k
      }
4506
0
    break;
4507
9.04k
    }
4508
4509
0
  default:
4510
0
    YY_FATAL_ERROR(
4511
7.73M
      "fatal flex scanner internal error--no action found" );
4512
7.73M
  } /* end of action switch */
4513
7.73M
    } /* end of scanning one token */
4514
7.15M
  } /* end of user's declarations */
4515
7.15M
} /* end of yylex */
4516
4517
/* yy_get_next_buffer - try to read in a new buffer
4518
 *
4519
 * Returns a code representing an action:
4520
 *  EOB_ACT_LAST_MATCH -
4521
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4522
 *  EOB_ACT_END_OF_FILE - end of file
4523
 */
4524
static int yy_get_next_buffer (yyscan_t yyscanner)
4525
9.04k
{
4526
9.04k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4527
9.04k
  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4528
9.04k
  char *source = yyg->yytext_ptr;
4529
9.04k
  int number_to_move, i;
4530
9.04k
  int ret_val;
4531
4532
9.04k
  if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
4533
0
    YY_FATAL_ERROR(
4534
9.04k
    "fatal flex scanner internal error--end of buffer missed" );
4535
4536
9.04k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4537
9.04k
    { /* Don't try to fill the buffer, so this is an EOF. */
4538
9.04k
    if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
4539
3.64k
      {
4540
      /* We matched a single character, the EOB, so
4541
       * treat this as a final EOF.
4542
       */
4543
3.64k
      return EOB_ACT_END_OF_FILE;
4544
3.64k
      }
4545
4546
5.39k
    else
4547
5.39k
      {
4548
      /* We matched some text prior to the EOB, first
4549
       * process it.
4550
       */
4551
5.39k
      return EOB_ACT_LAST_MATCH;
4552
5.39k
      }
4553
9.04k
    }
4554
4555
  /* Try to read more data. */
4556
4557
  /* First move last chars to start of buffer. */
4558
0
  number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
4559
4560
0
  for ( i = 0; i < number_to_move; ++i )
4561
0
    *(dest++) = *(source++);
4562
4563
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4564
    /* don't do the read, it's not guaranteed to return an EOF,
4565
     * just force an EOF
4566
     */
4567
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
4568
4569
0
  else
4570
0
    {
4571
0
      int num_to_read =
4572
0
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4573
4574
0
    while ( num_to_read <= 0 )
4575
0
      { /* Not enough room in the buffer - grow it. */
4576
4577
      /* just a shorter name for the current buffer */
4578
0
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4579
4580
0
      int yy_c_buf_p_offset =
4581
0
        (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
4582
4583
0
      if ( b->yy_is_our_buffer )
4584
0
        {
4585
0
        int new_size = b->yy_buf_size * 2;
4586
4587
0
        if ( new_size <= 0 )
4588
0
          b->yy_buf_size += b->yy_buf_size / 8;
4589
0
        else
4590
0
          b->yy_buf_size *= 2;
4591
4592
0
        b->yy_ch_buf = (char *)
4593
          /* Include room in for 2 EOB chars. */
4594
0
          yyrealloc( (void *) b->yy_ch_buf,
4595
0
               (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
4596
0
        }
4597
0
      else
4598
        /* Can't grow it, we don't own it. */
4599
0
        b->yy_ch_buf = NULL;
4600
4601
0
      if ( ! b->yy_ch_buf )
4602
0
        YY_FATAL_ERROR(
4603
0
        "fatal error - scanner input buffer overflow" );
4604
4605
0
      yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
4606
4607
0
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4608
0
            number_to_move - 1;
4609
4610
0
      }
4611
4612
0
    if ( num_to_read > YY_READ_BUF_SIZE )
4613
0
      num_to_read = YY_READ_BUF_SIZE;
4614
4615
    /* Read in more data. */
4616
0
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4617
0
      yyg->yy_n_chars, num_to_read );
4618
4619
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
4620
0
    }
4621
4622
0
  if ( yyg->yy_n_chars == 0 )
4623
0
    {
4624
0
    if ( number_to_move == YY_MORE_ADJ )
4625
0
      {
4626
0
      ret_val = EOB_ACT_END_OF_FILE;
4627
0
      yyrestart( yyin  , yyscanner);
4628
0
      }
4629
4630
0
    else
4631
0
      {
4632
0
      ret_val = EOB_ACT_LAST_MATCH;
4633
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4634
0
        YY_BUFFER_EOF_PENDING;
4635
0
      }
4636
0
    }
4637
4638
0
  else
4639
0
    ret_val = EOB_ACT_CONTINUE_SCAN;
4640
4641
0
  if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4642
    /* Extend the array by 50%, plus the number we really need. */
4643
0
    int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
4644
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4645
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
4646
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4647
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4648
    /* "- 2" to take care of EOB's */
4649
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4650
0
  }
4651
4652
0
  yyg->yy_n_chars += number_to_move;
4653
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
4654
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
4655
4656
0
  yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4657
4658
0
  return ret_val;
4659
0
}
4660
4661
/* yy_get_previous_state - get the state just before the EOB char was reached */
4662
4663
    static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
4664
5.39k
{
4665
5.39k
  yy_state_type yy_current_state;
4666
5.39k
  char *yy_cp;
4667
5.39k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4668
4669
5.39k
  yy_current_state = yyg->yy_start;
4670
4671
2.99M
  for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
4672
2.99M
    {
4673
2.99M
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4674
2.99M
    if ( yy_accept[yy_current_state] )
4675
1.91M
      {
4676
1.91M
      yyg->yy_last_accepting_state = yy_current_state;
4677
1.91M
      yyg->yy_last_accepting_cpos = yy_cp;
4678
1.91M
      }
4679
5.97M
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4680
2.97M
      {
4681
2.97M
      yy_current_state = (int) yy_def[yy_current_state];
4682
2.97M
      if ( yy_current_state >= 1332 )
4683
2.97M
        yy_c = yy_meta[yy_c];
4684
2.97M
      }
4685
2.99M
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4686
2.99M
    }
4687
4688
5.39k
  return yy_current_state;
4689
5.39k
}
4690
4691
/* yy_try_NUL_trans - try to make a transition on the NUL character
4692
 *
4693
 * synopsis
4694
 *  next_state = yy_try_NUL_trans( current_state );
4695
 */
4696
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
4697
0
{
4698
0
  int yy_is_jam;
4699
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
4700
0
  char *yy_cp = yyg->yy_c_buf_p;
4701
4702
0
  YY_CHAR yy_c = 1;
4703
0
  if ( yy_accept[yy_current_state] )
4704
0
    {
4705
0
    yyg->yy_last_accepting_state = yy_current_state;
4706
0
    yyg->yy_last_accepting_cpos = yy_cp;
4707
0
    }
4708
0
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4709
0
    {
4710
0
    yy_current_state = (int) yy_def[yy_current_state];
4711
0
    if ( yy_current_state >= 1332 )
4712
0
      yy_c = yy_meta[yy_c];
4713
0
    }
4714
0
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4715
0
  yy_is_jam = (yy_current_state == 1331);
4716
4717
0
  (void)yyg;
4718
0
  return yy_is_jam ? 0 : yy_current_state;
4719
0
}
4720
4721
#ifndef YY_NO_UNPUT
4722
4723
#endif
4724
4725
#ifndef YY_NO_INPUT
4726
#ifdef __cplusplus
4727
    static int yyinput (yyscan_t yyscanner)
4728
#else
4729
    static int input  (yyscan_t yyscanner)
4730
#endif
4731
4732
0
{
4733
0
  int c;
4734
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4735
0
4736
0
  *yyg->yy_c_buf_p = yyg->yy_hold_char;
4737
0
4738
0
  if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
4739
0
    {
4740
0
    /* yy_c_buf_p now points to the character we want to return.
4741
0
     * If this occurs *before* the EOB characters, then it's a
4742
0
     * valid NUL; if not, then we've hit the end of the buffer.
4743
0
     */
4744
0
    if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
4745
0
      /* This was really a NUL. */
4746
0
      *yyg->yy_c_buf_p = '\0';
4747
0
4748
0
    else
4749
0
      { /* need more input */
4750
0
      int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
4751
0
      ++yyg->yy_c_buf_p;
4752
0
4753
0
      switch ( yy_get_next_buffer( yyscanner ) )
4754
0
        {
4755
0
        case EOB_ACT_LAST_MATCH:
4756
0
          /* This happens because yy_g_n_b()
4757
0
           * sees that we've accumulated a
4758
0
           * token and flags that we need to
4759
0
           * try matching the token before
4760
0
           * proceeding.  But for input(),
4761
0
           * there's no matching to consider.
4762
0
           * So convert the EOB_ACT_LAST_MATCH
4763
0
           * to EOB_ACT_END_OF_FILE.
4764
0
           */
4765
0
4766
0
          /* Reset buffer status. */
4767
0
          yyrestart( yyin , yyscanner);
4768
0
4769
0
          /*FALLTHROUGH*/
4770
0
4771
0
        case EOB_ACT_END_OF_FILE:
4772
0
          {
4773
0
          if ( yywrap( yyscanner ) )
4774
0
            return 0;
4775
0
4776
0
          if ( ! yyg->yy_did_buffer_switch_on_eof )
4777
0
            YY_NEW_FILE;
4778
0
#ifdef __cplusplus
4779
0
          return yyinput(yyscanner);
4780
0
#else
4781
0
          return input(yyscanner);
4782
0
#endif
4783
0
          }
4784
0
4785
0
        case EOB_ACT_CONTINUE_SCAN:
4786
0
          yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
4787
0
          break;
4788
0
        }
4789
0
      }
4790
0
    }
4791
0
4792
0
  c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
4793
0
  *yyg->yy_c_buf_p = '\0';  /* preserve yytext */
4794
0
  yyg->yy_hold_char = *++yyg->yy_c_buf_p;
4795
0
4796
0
  return c;
4797
0
}
4798
#endif  /* ifndef YY_NO_INPUT */
4799
4800
/** Immediately switch to a different input stream.
4801
 * @param input_file A readable stream.
4802
 * @param yyscanner The scanner object.
4803
 * @note This function does not reset the start condition to @c INITIAL .
4804
 */
4805
    void yyrestart  (FILE * input_file , yyscan_t yyscanner)
4806
0
{
4807
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4808
4809
0
  if ( ! YY_CURRENT_BUFFER ){
4810
0
        yyensure_buffer_stack (yyscanner);
4811
0
    YY_CURRENT_BUFFER_LVALUE =
4812
0
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
4813
0
  }
4814
4815
0
  yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
4816
0
  yy_load_buffer_state( yyscanner );
4817
0
}
4818
4819
/** Switch to a different input buffer.
4820
 * @param new_buffer The new input buffer.
4821
 * @param yyscanner The scanner object.
4822
 */
4823
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
4824
5.72k
{
4825
5.72k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4826
4827
  /* TODO. We should be able to replace this entire function body
4828
   * with
4829
   *    yypop_buffer_state();
4830
   *    yypush_buffer_state(new_buffer);
4831
     */
4832
5.72k
  yyensure_buffer_stack (yyscanner);
4833
5.72k
  if ( YY_CURRENT_BUFFER == new_buffer )
4834
0
    return;
4835
4836
5.72k
  if ( YY_CURRENT_BUFFER )
4837
0
    {
4838
    /* Flush out information for old buffer. */
4839
0
    *yyg->yy_c_buf_p = yyg->yy_hold_char;
4840
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
4841
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
4842
0
    }
4843
4844
5.72k
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4845
5.72k
  yy_load_buffer_state( yyscanner );
4846
4847
  /* We don't actually know whether we did this switch during
4848
   * EOF (yywrap()) processing, but the only time this flag
4849
   * is looked at is after yywrap() is called, so it's safe
4850
   * to go ahead and always set it.
4851
   */
4852
5.72k
  yyg->yy_did_buffer_switch_on_eof = 1;
4853
5.72k
}
4854
4855
static void yy_load_buffer_state  (yyscan_t yyscanner)
4856
11.4k
{
4857
11.4k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4858
11.4k
  yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4859
11.4k
  yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4860
11.4k
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4861
11.4k
  yyg->yy_hold_char = *yyg->yy_c_buf_p;
4862
11.4k
}
4863
4864
/** Allocate and initialize an input buffer state.
4865
 * @param file A readable stream.
4866
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4867
 * @param yyscanner The scanner object.
4868
 * @return the allocated buffer state.
4869
 */
4870
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
4871
0
{
4872
0
  YY_BUFFER_STATE b;
4873
    
4874
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
4875
0
  if ( ! b )
4876
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4877
4878
0
  b->yy_buf_size = size;
4879
4880
  /* yy_ch_buf has to be 2 characters longer than the size given because
4881
   * we need to put in 2 end-of-buffer characters.
4882
   */
4883
0
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
4884
0
  if ( ! b->yy_ch_buf )
4885
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4886
4887
0
  b->yy_is_our_buffer = 1;
4888
4889
0
  yy_init_buffer( b, file , yyscanner);
4890
4891
0
  return b;
4892
0
}
4893
4894
/** Destroy the buffer.
4895
 * @param b a buffer created with yy_create_buffer()
4896
 * @param yyscanner The scanner object.
4897
 */
4898
    void yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
4899
5.72k
{
4900
5.72k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4901
4902
5.72k
  if ( ! b )
4903
0
    return;
4904
4905
5.72k
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4906
5.72k
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4907
4908
5.72k
  if ( b->yy_is_our_buffer )
4909
5.72k
    yyfree( (void *) b->yy_ch_buf , yyscanner );
4910
4911
5.72k
  yyfree( (void *) b , yyscanner );
4912
5.72k
}
4913
4914
/* Initializes or reinitializes a buffer.
4915
 * This function is sometimes called more than once on the same buffer,
4916
 * such as during a yyrestart() or at EOF.
4917
 */
4918
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
4919
4920
0
{
4921
0
  int oerrno = errno;
4922
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4923
4924
0
  yy_flush_buffer( b , yyscanner);
4925
4926
0
  b->yy_input_file = file;
4927
0
  b->yy_fill_buffer = 1;
4928
4929
    /* If b is the current buffer, then yy_init_buffer was _probably_
4930
     * called from yyrestart() or through yy_get_next_buffer.
4931
     * In that case, we don't want to reset the lineno or column.
4932
     */
4933
0
    if (b != YY_CURRENT_BUFFER){
4934
0
        b->yy_bs_lineno = 1;
4935
0
        b->yy_bs_column = 0;
4936
0
    }
4937
4938
0
        b->yy_is_interactive = 0;
4939
    
4940
0
  errno = oerrno;
4941
0
}
4942
4943
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4944
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4945
 * @param yyscanner The scanner object.
4946
 */
4947
    void yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
4948
0
{
4949
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4950
0
  if ( ! b )
4951
0
    return;
4952
4953
0
  b->yy_n_chars = 0;
4954
4955
  /* We always need two end-of-buffer characters.  The first causes
4956
   * a transition to the end-of-buffer state.  The second causes
4957
   * a jam in that state.
4958
   */
4959
0
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4960
0
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4961
4962
0
  b->yy_buf_pos = &b->yy_ch_buf[0];
4963
4964
0
  b->yy_at_bol = 1;
4965
0
  b->yy_buffer_status = YY_BUFFER_NEW;
4966
4967
0
  if ( b == YY_CURRENT_BUFFER )
4968
0
    yy_load_buffer_state( yyscanner );
4969
0
}
4970
4971
/** Pushes the new state onto the stack. The new state becomes
4972
 *  the current state. This function will allocate the stack
4973
 *  if necessary.
4974
 *  @param new_buffer The new state.
4975
 *  @param yyscanner The scanner object.
4976
 */
4977
void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
4978
0
{
4979
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4980
0
  if (new_buffer == NULL)
4981
0
    return;
4982
4983
0
  yyensure_buffer_stack(yyscanner);
4984
4985
  /* This block is copied from yy_switch_to_buffer. */
4986
0
  if ( YY_CURRENT_BUFFER )
4987
0
    {
4988
    /* Flush out information for old buffer. */
4989
0
    *yyg->yy_c_buf_p = yyg->yy_hold_char;
4990
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
4991
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
4992
0
    }
4993
4994
  /* Only push if top exists. Otherwise, replace top. */
4995
0
  if (YY_CURRENT_BUFFER)
4996
0
    yyg->yy_buffer_stack_top++;
4997
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4998
4999
  /* copied from yy_switch_to_buffer. */
5000
0
  yy_load_buffer_state( yyscanner );
5001
0
  yyg->yy_did_buffer_switch_on_eof = 1;
5002
0
}
5003
5004
/** Removes and deletes the top of the stack, if present.
5005
 *  The next element becomes the new top.
5006
 *  @param yyscanner The scanner object.
5007
 */
5008
void yypop_buffer_state (yyscan_t yyscanner)
5009
0
{
5010
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5011
0
  if (!YY_CURRENT_BUFFER)
5012
0
    return;
5013
5014
0
  yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
5015
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
5016
0
  if (yyg->yy_buffer_stack_top > 0)
5017
0
    --yyg->yy_buffer_stack_top;
5018
5019
0
  if (YY_CURRENT_BUFFER) {
5020
0
    yy_load_buffer_state( yyscanner );
5021
0
    yyg->yy_did_buffer_switch_on_eof = 1;
5022
0
  }
5023
0
}
5024
5025
/* Allocates the stack if it does not exist.
5026
 *  Guarantees space for at least one push.
5027
 */
5028
static void yyensure_buffer_stack (yyscan_t yyscanner)
5029
5.72k
{
5030
5.72k
  yy_size_t num_to_alloc;
5031
5.72k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5032
5033
5.72k
  if (!yyg->yy_buffer_stack) {
5034
5035
    /* First allocation is just for 2 elements, since we don't know if this
5036
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
5037
     * immediate realloc on the next call.
5038
         */
5039
5.72k
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
5040
5.72k
    yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
5041
5.72k
                (num_to_alloc * sizeof(struct yy_buffer_state*)
5042
5.72k
                , yyscanner);
5043
5.72k
    if ( ! yyg->yy_buffer_stack )
5044
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5045
5046
5.72k
    memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
5047
5048
5.72k
    yyg->yy_buffer_stack_max = num_to_alloc;
5049
5.72k
    yyg->yy_buffer_stack_top = 0;
5050
5.72k
    return;
5051
5.72k
  }
5052
5053
0
  if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
5054
5055
    /* Increase the buffer to prepare for a possible push. */
5056
0
    yy_size_t grow_size = 8 /* arbitrary grow size */;
5057
5058
0
    num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
5059
0
    yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
5060
0
                (yyg->yy_buffer_stack,
5061
0
                num_to_alloc * sizeof(struct yy_buffer_state*)
5062
0
                , yyscanner);
5063
0
    if ( ! yyg->yy_buffer_stack )
5064
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5065
5066
    /* zero only the new slots.*/
5067
0
    memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
5068
0
    yyg->yy_buffer_stack_max = num_to_alloc;
5069
0
  }
5070
0
}
5071
5072
/** Setup the input buffer state to scan directly from a user-specified character buffer.
5073
 * @param base the character buffer
5074
 * @param size the size in bytes of the character buffer
5075
 * @param yyscanner The scanner object.
5076
 * @return the newly allocated buffer state object.
5077
 */
5078
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
5079
5.72k
{
5080
5.72k
  YY_BUFFER_STATE b;
5081
    
5082
5.72k
  if ( size < 2 ||
5083
5.72k
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
5084
5.72k
       base[size-1] != YY_END_OF_BUFFER_CHAR )
5085
    /* They forgot to leave room for the EOB's. */
5086
0
    return NULL;
5087
5088
5.72k
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
5089
5.72k
  if ( ! b )
5090
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
5091
5092
5.72k
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
5093
5.72k
  b->yy_buf_pos = b->yy_ch_buf = base;
5094
5.72k
  b->yy_is_our_buffer = 0;
5095
5.72k
  b->yy_input_file = NULL;
5096
5.72k
  b->yy_n_chars = b->yy_buf_size;
5097
5.72k
  b->yy_is_interactive = 0;
5098
5.72k
  b->yy_at_bol = 1;
5099
5.72k
  b->yy_fill_buffer = 0;
5100
5.72k
  b->yy_buffer_status = YY_BUFFER_NEW;
5101
5102
5.72k
  yy_switch_to_buffer( b , yyscanner );
5103
5104
5.72k
  return b;
5105
5.72k
}
5106
5107
/** Setup the input buffer state to scan a string. The next call to yylex() will
5108
 * scan from a @e copy of @a str.
5109
 * @param yystr a NUL-terminated string to scan
5110
 * @param yyscanner The scanner object.
5111
 * @return the newly allocated buffer state object.
5112
 * @note If you want to scan bytes that may contain NUL values, then use
5113
 *       yy_scan_bytes() instead.
5114
 */
5115
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
5116
5.72k
{
5117
    
5118
5.72k
  return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
5119
5.72k
}
5120
5121
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
5122
 * scan from a @e copy of @a bytes.
5123
 * @param yybytes the byte buffer to scan
5124
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
5125
 * @param yyscanner The scanner object.
5126
 * @return the newly allocated buffer state object.
5127
 */
5128
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
5129
5.72k
{
5130
5.72k
  YY_BUFFER_STATE b;
5131
5.72k
  char *buf;
5132
5.72k
  yy_size_t n;
5133
5.72k
  int i;
5134
    
5135
  /* Get memory for full buffer, including space for trailing EOB's. */
5136
5.72k
  n = (yy_size_t) (_yybytes_len + 2);
5137
5.72k
  buf = (char *) yyalloc( n , yyscanner );
5138
5.72k
  if ( ! buf )
5139
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
5140
5141
20.7M
  for ( i = 0; i < _yybytes_len; ++i )
5142
20.7M
    buf[i] = yybytes[i];
5143
5144
5.72k
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
5145
5146
5.72k
  b = yy_scan_buffer( buf, n , yyscanner);
5147
5.72k
  if ( ! b )
5148
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
5149
5150
  /* It's okay to grow etc. this buffer, and we should throw it
5151
   * away when we're done.
5152
   */
5153
5.72k
  b->yy_is_our_buffer = 1;
5154
5155
5.72k
  return b;
5156
5.72k
}
5157
5158
#ifndef YY_EXIT_FAILURE
5159
0
#define YY_EXIT_FAILURE 2
5160
#endif
5161
5162
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
5163
0
{
5164
0
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5165
0
  (void)yyg;
5166
0
  fprintf( stderr, "%s\n", msg );
5167
0
  exit( YY_EXIT_FAILURE );
5168
0
}
5169
5170
/* Redefine yyless() so it works in section 3 code. */
5171
5172
#undef yyless
5173
#define yyless(n) \
5174
  do \
5175
    { \
5176
    /* Undo effects of setting up yytext. */ \
5177
        int yyless_macro_arg = (n); \
5178
        YY_LESS_LINENO(yyless_macro_arg);\
5179
    yytext[yyleng] = yyg->yy_hold_char; \
5180
    yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
5181
    yyg->yy_hold_char = *yyg->yy_c_buf_p; \
5182
    *yyg->yy_c_buf_p = '\0'; \
5183
    yyleng = yyless_macro_arg; \
5184
    } \
5185
  while ( 0 )
5186
5187
/* Accessor  methods (get/set functions) to struct members. */
5188
5189
/** Get the user-defined data for this scanner.
5190
 * @param yyscanner The scanner object.
5191
 */
5192
YY_EXTRA_TYPE yyget_extra  (yyscan_t yyscanner)
5193
0
{
5194
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5195
0
    return yyextra;
5196
0
}
5197
5198
/** Get the current line number.
5199
 * @param yyscanner The scanner object.
5200
 */
5201
int yyget_lineno  (yyscan_t yyscanner)
5202
0
{
5203
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5204
5205
0
        if (! YY_CURRENT_BUFFER)
5206
0
            return 0;
5207
    
5208
0
    return yylineno;
5209
0
}
5210
5211
/** Get the current column number.
5212
 * @param yyscanner The scanner object.
5213
 */
5214
int yyget_column  (yyscan_t yyscanner)
5215
0
{
5216
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5217
5218
0
        if (! YY_CURRENT_BUFFER)
5219
0
            return 0;
5220
    
5221
0
    return yycolumn;
5222
0
}
5223
5224
/** Get the input stream.
5225
 * @param yyscanner The scanner object.
5226
 */
5227
FILE *yyget_in  (yyscan_t yyscanner)
5228
0
{
5229
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5230
0
    return yyin;
5231
0
}
5232
5233
/** Get the output stream.
5234
 * @param yyscanner The scanner object.
5235
 */
5236
FILE *yyget_out  (yyscan_t yyscanner)
5237
0
{
5238
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5239
0
    return yyout;
5240
0
}
5241
5242
/** Get the length of the current token.
5243
 * @param yyscanner The scanner object.
5244
 */
5245
int yyget_leng  (yyscan_t yyscanner)
5246
0
{
5247
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5248
0
    return yyleng;
5249
0
}
5250
5251
/** Get the current token.
5252
 * @param yyscanner The scanner object.
5253
 */
5254
5255
char *yyget_text  (yyscan_t yyscanner)
5256
0
{
5257
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5258
0
    return yytext;
5259
0
}
5260
5261
/** Set the user-defined data. This data is never touched by the scanner.
5262
 * @param user_defined The data to be associated with this scanner.
5263
 * @param yyscanner The scanner object.
5264
 */
5265
void yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
5266
0
{
5267
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5268
0
    yyextra = user_defined ;
5269
0
}
5270
5271
/** Set the current line number.
5272
 * @param _line_number line number
5273
 * @param yyscanner The scanner object.
5274
 */
5275
void yyset_lineno (int  _line_number , yyscan_t yyscanner)
5276
0
{
5277
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5278
5279
        /* lineno is only valid if an input buffer exists. */
5280
0
        if (! YY_CURRENT_BUFFER )
5281
0
           YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
5282
    
5283
0
    yylineno = _line_number;
5284
0
}
5285
5286
/** Set the current column.
5287
 * @param _column_no column number
5288
 * @param yyscanner The scanner object.
5289
 */
5290
void yyset_column (int  _column_no , yyscan_t yyscanner)
5291
0
{
5292
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5293
5294
        /* column is only valid if an input buffer exists. */
5295
0
        if (! YY_CURRENT_BUFFER )
5296
0
           YY_FATAL_ERROR( "yyset_column called with no buffer" );
5297
    
5298
0
    yycolumn = _column_no;
5299
0
}
5300
5301
/** Set the input stream. This does not discard the current
5302
 * input buffer.
5303
 * @param _in_str A readable stream.
5304
 * @param yyscanner The scanner object.
5305
 * @see yy_switch_to_buffer
5306
 */
5307
void yyset_in (FILE *  _in_str , yyscan_t yyscanner)
5308
0
{
5309
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5310
0
    yyin = _in_str ;
5311
0
}
5312
5313
void yyset_out (FILE *  _out_str , yyscan_t yyscanner)
5314
0
{
5315
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5316
0
    yyout = _out_str ;
5317
0
}
5318
5319
int yyget_debug  (yyscan_t yyscanner)
5320
0
{
5321
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5322
0
    return yy_flex_debug;
5323
0
}
5324
5325
void yyset_debug (int  _bdebug , yyscan_t yyscanner)
5326
0
{
5327
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5328
0
    yy_flex_debug = _bdebug ;
5329
0
}
5330
5331
/* Accessor methods for yylval and yylloc */
5332
5333
YYSTYPE * yyget_lval  (yyscan_t yyscanner)
5334
0
{
5335
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5336
0
    return yylval;
5337
0
}
5338
5339
void yyset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
5340
0
{
5341
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5342
0
    yylval = yylval_param;
5343
0
}
5344
5345
YYLTYPE *yyget_lloc  (yyscan_t yyscanner)
5346
0
{
5347
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5348
0
    return yylloc;
5349
0
}
5350
    
5351
void yyset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
5352
0
{
5353
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5354
0
    yylloc = yylloc_param;
5355
0
}
5356
    
5357
/* User-visible API */
5358
5359
/* yylex_init is special because it creates the scanner itself, so it is
5360
 * the ONLY reentrant function that doesn't take the scanner as the last argument.
5361
 * That's why we explicitly handle the declaration, instead of using our macros.
5362
 */
5363
int yylex_init(yyscan_t* ptr_yy_globals)
5364
5.72k
{
5365
5.72k
    if (ptr_yy_globals == NULL){
5366
0
        errno = EINVAL;
5367
0
        return 1;
5368
0
    }
5369
5370
5.72k
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
5371
5372
5.72k
    if (*ptr_yy_globals == NULL){
5373
0
        errno = ENOMEM;
5374
0
        return 1;
5375
0
    }
5376
5377
    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
5378
5.72k
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
5379
5380
5.72k
    return yy_init_globals ( *ptr_yy_globals );
5381
5.72k
}
5382
5383
/* yylex_init_extra has the same functionality as yylex_init, but follows the
5384
 * convention of taking the scanner as the last argument. Note however, that
5385
 * this is a *pointer* to a scanner, as it will be allocated by this call (and
5386
 * is the reason, too, why this function also must handle its own declaration).
5387
 * The user defined value in the first argument will be available to yyalloc in
5388
 * the yyextra field.
5389
 */
5390
int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
5391
0
{
5392
0
    struct yyguts_t dummy_yyguts;
5393
5394
0
    yyset_extra (yy_user_defined, &dummy_yyguts);
5395
5396
0
    if (ptr_yy_globals == NULL){
5397
0
        errno = EINVAL;
5398
0
        return 1;
5399
0
    }
5400
5401
0
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
5402
5403
0
    if (*ptr_yy_globals == NULL){
5404
0
        errno = ENOMEM;
5405
0
        return 1;
5406
0
    }
5407
5408
    /* By setting to 0xAA, we expose bugs in
5409
    yy_init_globals. Leave at 0x00 for releases. */
5410
0
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
5411
5412
0
    yyset_extra (yy_user_defined, *ptr_yy_globals);
5413
5414
0
    return yy_init_globals ( *ptr_yy_globals );
5415
0
}
5416
5417
static int yy_init_globals (yyscan_t yyscanner)
5418
11.4k
{
5419
11.4k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5420
    /* Initialization is the same as for the non-reentrant scanner.
5421
     * This function is called from yylex_destroy(), so don't allocate here.
5422
     */
5423
5424
11.4k
    yyg->yy_buffer_stack = NULL;
5425
11.4k
    yyg->yy_buffer_stack_top = 0;
5426
11.4k
    yyg->yy_buffer_stack_max = 0;
5427
11.4k
    yyg->yy_c_buf_p = NULL;
5428
11.4k
    yyg->yy_init = 0;
5429
11.4k
    yyg->yy_start = 0;
5430
5431
11.4k
    yyg->yy_start_stack_ptr = 0;
5432
11.4k
    yyg->yy_start_stack_depth = 0;
5433
11.4k
    yyg->yy_start_stack =  NULL;
5434
5435
/* Defined in main.c */
5436
#ifdef YY_STDINIT
5437
    yyin = stdin;
5438
    yyout = stdout;
5439
#else
5440
11.4k
    yyin = NULL;
5441
11.4k
    yyout = NULL;
5442
11.4k
#endif
5443
5444
    /* For future reference: Set errno on error, since we are called by
5445
     * yylex_init()
5446
     */
5447
11.4k
    return 0;
5448
11.4k
}
5449
5450
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
5451
int yylex_destroy  (yyscan_t yyscanner)
5452
5.72k
{
5453
5.72k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5454
5455
    /* Pop the buffer stack, destroying each element. */
5456
5.72k
  while(YY_CURRENT_BUFFER){
5457
0
    yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
5458
0
    YY_CURRENT_BUFFER_LVALUE = NULL;
5459
0
    yypop_buffer_state(yyscanner);
5460
0
  }
5461
5462
  /* Destroy the stack itself. */
5463
5.72k
  yyfree(yyg->yy_buffer_stack , yyscanner);
5464
5.72k
  yyg->yy_buffer_stack = NULL;
5465
5466
    /* Destroy the start condition stack. */
5467
5.72k
        yyfree( yyg->yy_start_stack , yyscanner );
5468
5.72k
        yyg->yy_start_stack = NULL;
5469
5470
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
5471
     * yylex() is called, initialization will occur. */
5472
5.72k
    yy_init_globals( yyscanner);
5473
5474
    /* Destroy the main struct (reentrant only). */
5475
5.72k
    yyfree ( yyscanner , yyscanner );
5476
5.72k
    yyscanner = NULL;
5477
5.72k
    return 0;
5478
5.72k
}
5479
5480
/*
5481
 * Internal utility routines.
5482
 */
5483
5484
#ifndef yytext_ptr
5485
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
5486
{
5487
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5488
  (void)yyg;
5489
5490
  int i;
5491
  for ( i = 0; i < n; ++i )
5492
    s1[i] = s2[i];
5493
}
5494
#endif
5495
5496
#ifdef YY_NEED_STRLEN
5497
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
5498
{
5499
  int n;
5500
  for ( n = 0; s[n]; ++n )
5501
    ;
5502
5503
  return n;
5504
}
5505
#endif
5506
5507
void *yyalloc (yy_size_t  size , yyscan_t yyscanner)
5508
22.8k
{
5509
22.8k
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5510
22.8k
  (void)yyg;
5511
22.8k
  return malloc(size);
5512
22.8k
}
5513
5514
void *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
5515
0
{
5516
0
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5517
0
  (void)yyg;
5518
5519
  /* The cast to (char *) in the following accommodates both
5520
   * implementations that use char* generic pointers, and those
5521
   * that use void* generic pointers.  It works with the latter
5522
   * because both ANSI C and C++ allow castless assignment from
5523
   * any pointer type to void*, and deal with argument conversions
5524
   * as though doing an assignment.
5525
   */
5526
0
  return realloc(ptr, size);
5527
0
}
5528
5529
void yyfree (void * ptr , yyscan_t yyscanner)
5530
28.6k
{
5531
28.6k
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5532
28.6k
  (void)yyg;
5533
28.6k
  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5534
28.6k
}
5535
5536
#define YYTABLES_NAME "yytables"
5537
5538
#line 285 "flex_lexer.l"
5539
5540
/***************************
5541
 ** Section 3: User code
5542
 ***************************/
5543
5544
0
int yyerror(const char *msg) {
5545
0
    fprintf(stderr, "[SQL-Lexer-Error] %s\n",msg); return 0;
5546
0
}
5547