Coverage Report

Created: 2026-09-01 06:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/radvd/scanner.c
Line
Count
Source
1
2
#line 3 "scanner.c"
3
4
#define  YY_INT_ALIGNED short int
5
6
/* A lexical scanner generated by flex */
7
8
#define FLEX_SCANNER
9
#define YY_FLEX_MAJOR_VERSION 2
10
#define YY_FLEX_MINOR_VERSION 6
11
#define YY_FLEX_SUBMINOR_VERSION 4
12
#if YY_FLEX_SUBMINOR_VERSION > 0
13
#define FLEX_BETA
14
#endif
15
16
/* First, we deal with  platform-specific or compiler-specific issues. */
17
18
/* begin standard C headers. */
19
#include <stdio.h>
20
#include <string.h>
21
#include <errno.h>
22
#include <stdlib.h>
23
24
/* end standard C headers. */
25
26
/* flex integer type definitions */
27
28
#ifndef FLEXINT_H
29
#define FLEXINT_H
30
31
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32
33
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34
35
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36
 * if you want the limit (max/min) macros for int types. 
37
 */
38
#ifndef __STDC_LIMIT_MACROS
39
#define __STDC_LIMIT_MACROS 1
40
#endif
41
42
#include <inttypes.h>
43
typedef int8_t flex_int8_t;
44
typedef uint8_t flex_uint8_t;
45
typedef int16_t flex_int16_t;
46
typedef uint16_t flex_uint16_t;
47
typedef int32_t flex_int32_t;
48
typedef uint32_t flex_uint32_t;
49
#else
50
typedef signed char flex_int8_t;
51
typedef short int flex_int16_t;
52
typedef int flex_int32_t;
53
typedef unsigned char flex_uint8_t; 
54
typedef unsigned short int flex_uint16_t;
55
typedef unsigned int flex_uint32_t;
56
57
/* Limits of integral types. */
58
#ifndef INT8_MIN
59
#define INT8_MIN               (-128)
60
#endif
61
#ifndef INT16_MIN
62
#define INT16_MIN              (-32767-1)
63
#endif
64
#ifndef INT32_MIN
65
#define INT32_MIN              (-2147483647-1)
66
#endif
67
#ifndef INT8_MAX
68
#define INT8_MAX               (127)
69
#endif
70
#ifndef INT16_MAX
71
#define INT16_MAX              (32767)
72
#endif
73
#ifndef INT32_MAX
74
#define INT32_MAX              (2147483647)
75
#endif
76
#ifndef UINT8_MAX
77
#define UINT8_MAX              (255U)
78
#endif
79
#ifndef UINT16_MAX
80
#define UINT16_MAX             (65535U)
81
#endif
82
#ifndef UINT32_MAX
83
#define UINT32_MAX             (4294967295U)
84
#endif
85
86
#ifndef SIZE_MAX
87
#define SIZE_MAX               (~(size_t)0)
88
#endif
89
90
#endif /* ! C99 */
91
92
#endif /* ! FLEXINT_H */
93
94
/* begin standard C++ headers. */
95
96
/* TODO: this is always defined, so inline it */
97
#define yyconst const
98
99
#if defined(__GNUC__) && __GNUC__ >= 3
100
#define yynoreturn __attribute__((__noreturn__))
101
#else
102
#define yynoreturn
103
#endif
104
105
/* Returned upon end-of-file. */
106
48
#define YY_NULL 0
107
108
/* Promotes a possibly negative, possibly signed char to an
109
 *   integer in range [0..255] for use as an array index.
110
 */
111
990M
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
112
113
/* Enter a start condition.  This macro really ought to take a parameter,
114
 * but we do it the disgusting crufty way forced on us by the ()-less
115
 * definition of BEGIN.
116
 */
117
#define BEGIN (yy_start) = 1 + 2 *
118
/* Translate the current start state into a value that can be later handed
119
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
120
 * compatibility.
121
 */
122
#define YY_START (((yy_start) - 1) / 2)
123
#define YYSTATE YY_START
124
/* Action number for EOF rule of a given start state. */
125
96
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
126
/* Special action meaning "start processing a new file". */
127
0
#define YY_NEW_FILE yyrestart( yyin  )
128
7.60k
#define YY_END_OF_BUFFER_CHAR 0
129
130
/* Size of default input buffer. */
131
#ifndef YY_BUF_SIZE
132
#ifdef __ia64__
133
/* On IA-64, the buffer size is 16k, not 8k.
134
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
135
 * Ditto for the __ia64__ case accordingly.
136
 */
137
#define YY_BUF_SIZE 32768
138
#else
139
634
#define YY_BUF_SIZE 16384
140
#endif /* __ia64__ */
141
#endif
142
143
/* The state buf must be large enough to hold one state per character in the main buffer.
144
 */
145
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
146
147
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
148
#define YY_TYPEDEF_YY_BUFFER_STATE
149
typedef struct yy_buffer_state *YY_BUFFER_STATE;
150
#endif
151
152
#ifndef YY_TYPEDEF_YY_SIZE_T
153
#define YY_TYPEDEF_YY_SIZE_T
154
typedef size_t yy_size_t;
155
#endif
156
157
extern int yyleng;
158
159
extern FILE *yyin, *yyout;
160
161
5.16k
#define EOB_ACT_CONTINUE_SCAN 0
162
96
#define EOB_ACT_END_OF_FILE 1
163
974
#define EOB_ACT_LAST_MATCH 2
164
    
165
    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
166
     *       access to the local variable yy_act. Since yyless() is a macro, it would break
167
     *       existing scanners that call yyless() from OUTSIDE yylex.
168
     *       One obvious solution it to make yy_act a global. I tried that, and saw
169
     *       a 5% performance hit in a non-yylineno scanner, because yy_act is
170
     *       normally declared as a register variable-- so it is not worth it.
171
     */
172
    #define  YY_LESS_LINENO(n) \
173
            do { \
174
                int yyl;\
175
                for ( yyl = n; yyl < yyleng; ++yyl )\
176
                    if ( yytext[yyl] == '\n' )\
177
                        --yylineno;\
178
            }while(0)
179
    #define YY_LINENO_REWIND_TO(dst) \
180
            do {\
181
                const char *p;\
182
                for ( p = yy_cp-1; p >= (dst); --p)\
183
                    if ( *p == '\n' )\
184
                        --yylineno;\
185
            }while(0)
186
    
187
/* Return all but the first "n" matched characters back to the input stream. */
188
#define yyless(n) \
189
  do \
190
    { \
191
    /* Undo effects of setting up yytext. */ \
192
        int yyless_macro_arg = (n); \
193
        YY_LESS_LINENO(yyless_macro_arg);\
194
    *yy_cp = (yy_hold_char); \
195
    YY_RESTORE_YY_MORE_OFFSET \
196
    (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
197
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
198
    } \
199
  while ( 0 )
200
#define unput(c) yyunput( c, (yytext_ptr)  )
201
202
#ifndef YY_STRUCT_YY_BUFFER_STATE
203
#define YY_STRUCT_YY_BUFFER_STATE
204
struct yy_buffer_state
205
  {
206
  FILE *yy_input_file;
207
208
  char *yy_ch_buf;    /* input buffer */
209
  char *yy_buf_pos;   /* current position in input buffer */
210
211
  /* Size of input buffer in bytes, not including room for EOB
212
   * characters.
213
   */
214
  int yy_buf_size;
215
216
  /* Number of characters read into yy_ch_buf, not including EOB
217
   * characters.
218
   */
219
  int yy_n_chars;
220
221
  /* Whether we "own" the buffer - i.e., we know we created it,
222
   * and can realloc() it to grow it, and should free() it to
223
   * delete it.
224
   */
225
  int yy_is_our_buffer;
226
227
  /* Whether this is an "interactive" input source; if so, and
228
   * if we're using stdio for input, then we want to use getc()
229
   * instead of fread(), to make sure we stop fetching input after
230
   * each newline.
231
   */
232
  int yy_is_interactive;
233
234
  /* Whether we're considered to be at the beginning of a line.
235
   * If so, '^' rules will be active on the next match, otherwise
236
   * not.
237
   */
238
  int yy_at_bol;
239
240
    int yy_bs_lineno; /**< The line count. */
241
    int yy_bs_column; /**< The column count. */
242
243
  /* Whether to try to fill the input buffer when we reach the
244
   * end of it.
245
   */
246
  int yy_fill_buffer;
247
248
  int yy_buffer_status;
249
250
93.7k
#define YY_BUFFER_NEW 0
251
634
#define YY_BUFFER_NORMAL 1
252
  /* When an EOF's been seen but there's still some text to process
253
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
254
   * shouldn't try reading from the input source any more.  We might
255
   * still have a bunch of tokens to match, though, because of
256
   * possible backing-up.
257
   *
258
   * When we actually see the EOF, we change the status to "new"
259
   * (via yyrestart()), so that the user can continue scanning by
260
   * just pointing yyin at a new input file.
261
   */
262
3.60k
#define YY_BUFFER_EOF_PENDING 2
263
264
  };
265
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
266
267
/* Stack of input buffers. */
268
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
269
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
270
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
271
272
/* We provide macros for accessing buffer states in case in the
273
 * future we want to put the buffer states in a more general
274
 * "scanner state".
275
 *
276
 * Returns the top of the stack, or NULL.
277
 */
278
5.26k
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
279
5.26k
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
280
5.26k
                          : NULL)
281
/* Same as previous macro, but useful when we know that the buffer stack is not
282
 * NULL or when we need an lvalue. For internal use only.
283
 */
284
227k
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
285
286
/* yy_hold_char holds the character lost when yytext is formed. */
287
static char yy_hold_char;
288
static int yy_n_chars;    /* number of characters read into yy_ch_buf */
289
int yyleng;
290
291
/* Points to current character in buffer. */
292
static char *yy_c_buf_p = NULL;
293
static int yy_init = 0;   /* whether we need to initialize */
294
static int yy_start = 0;  /* start state number */
295
296
/* Flag which is used to allow yywrap()'s to do buffer switches
297
 * instead of setting up a fresh yyin.  A bit of a hack ...
298
 */
299
static int yy_did_buffer_switch_on_eof;
300
301
void yyrestart ( FILE *input_file  );
302
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
303
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
304
void yy_delete_buffer ( YY_BUFFER_STATE b  );
305
void yy_flush_buffer ( YY_BUFFER_STATE b  );
306
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
307
void yypop_buffer_state ( void );
308
309
static void yyensure_buffer_stack ( void );
310
static void yy_load_buffer_state ( void );
311
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
312
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
313
314
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
315
YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
316
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
317
318
void *yyalloc ( yy_size_t  );
319
void *yyrealloc ( void *, yy_size_t  );
320
void yyfree ( void *  );
321
322
#define yy_new_buffer yy_create_buffer
323
#define yy_set_interactive(is_interactive) \
324
  { \
325
  if ( ! YY_CURRENT_BUFFER ){ \
326
        yyensure_buffer_stack (); \
327
    YY_CURRENT_BUFFER_LVALUE =    \
328
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
329
  } \
330
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
331
  }
332
#define yy_set_bol(at_bol) \
333
  { \
334
  if ( ! YY_CURRENT_BUFFER ){\
335
        yyensure_buffer_stack (); \
336
    YY_CURRENT_BUFFER_LVALUE =    \
337
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
338
  } \
339
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
340
  }
341
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
342
343
/* Begin user sect3 */
344
345
48
#define yywrap() (/*CONSTCOND*/1)
346
#define YY_SKIP_YYWRAP
347
typedef flex_uint8_t YY_CHAR;
348
349
FILE *yyin = NULL, *yyout = NULL;
350
351
typedef int yy_state_type;
352
353
extern int yylineno;
354
int yylineno = 1;
355
356
extern char *yytext;
357
#ifdef yytext_ptr
358
#undef yytext_ptr
359
#endif
360
1.40M
#define yytext_ptr yytext
361
362
static yy_state_type yy_get_previous_state ( void );
363
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
364
static int yy_get_next_buffer ( void );
365
static void yynoreturn yy_fatal_error ( const char* msg  );
366
367
/* Done after the current pattern has been matched and before the
368
 * corresponding action - sets up yytext.
369
 */
370
#define YY_DO_BEFORE_ACTION \
371
1.02M
  (yytext_ptr) = yy_bp; \
372
1.02M
  yyleng = (int) (yy_cp - yy_bp); \
373
1.02M
  (yy_hold_char) = *yy_cp; \
374
1.02M
  *yy_cp = '\0'; \
375
1.02M
  (yy_c_buf_p) = yy_cp;
376
#define YY_NUM_RULES 91
377
2.11M
#define YY_END_OF_BUFFER 92
378
/* This struct is not used in this scanner,
379
   but its presence is necessary. */
380
struct yy_trans_info
381
  {
382
  flex_int32_t yy_verify;
383
  flex_int32_t yy_nxt;
384
  };
385
static const flex_int16_t yy_accept[966] =
386
    {   0,
387
        0,    0,   92,   90,    3,    2,   88,   90,   88,   88,
388
       88,   89,   79,   88,   88,   88,   88,   88,   88,   88,
389
       88,   88,   88,   88,   88,   88,   88,   88,   88,    3,
390
       88,   88,   88,   88,    0,   88,    0,    0,    1,   88,
391
       80,   88,   79,   88,   88,   77,   88,   88,   88,   88,
392
       88,   88,   88,   88,   88,   88,   88,   88,   88,    0,
393
       88,   88,   88,   88,   88,   88,   83,   88,   88,   88,
394
       88,   88,   88,   88,   88,   78,   81,   79,   88,   88,
395
       77,   88,   88,   88,   88,   88,   88,   88,   88,   88,
396
        9,   88,   88,   88,   88,   88,   88,   88,   85,   88,
397
398
       88,   88,   88,   84,   88,   88,   88,   88,   88,   88,
399
       88,   88,   88,   78,   88,   79,   88,   88,   88,   88,
400
       88,   77,   77,   12,   88,   88,   88,   88,   88,   88,
401
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
402
       88,   88,   88,   88,   87,   88,   88,   88,   88,   88,
403
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
404
       88,   88,   88,   88,   88,   88,   78,   78,   79,   88,
405
       88,   88,   88,   77,   88,   77,   88,   88,   88,   88,
406
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
407
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
408
409
       88,   88,   88,   88,   88,   88,    8,   88,   88,   88,
410
       88,   88,   88,   88,   88,   88,   88,   88,   88,    7,
411
       88,    6,   88,   88,   88,   88,   88,   88,   78,   88,
412
       78,   88,   88,   88,   88,   88,   77,   77,   88,   88,
413
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
414
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
415
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
416
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
417
       88,   86,   88,   88,   88,    5,   88,   88,   88,   88,
418
       88,   88,   88,   88,   78,   78,   88,   88,   88,   88,
419
420
       77,   77,   88,   88,   88,   88,   88,   88,   88,   88,
421
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
422
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
423
       88,   88,   88,   88,   88,   88,   88,   88,   10,   88,
424
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
425
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
426
       78,   78,   88,   88,   88,   88,   88,   88,   88,   88,
427
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
428
       88,   88,   88,   88,   88,   88,   88,   88,   23,   88,
429
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
430
431
       88,   88,   88,   88,   88,   66,   88,   88,   88,   88,
432
       82,   88,   11,   88,   88,   88,   88,   88,   88,   88,
433
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
434
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
435
       88,   88,   88,   88,   88,   88,   88,   88,   31,   88,
436
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
437
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
438
       88,   88,   88,   88,   88,    4,   88,   88,   88,   88,
439
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
440
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
441
442
       62,   88,   88,   88,   88,   88,   88,   88,   88,   88,
443
       22,   88,   88,   88,   88,   88,   88,   88,   88,   88,
444
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
445
       88,   88,   88,   88,   88,   59,   57,   88,   88,   88,
446
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
447
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
448
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
449
       88,   88,   88,   88,   88,   88,   72,   88,   88,   88,
450
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
451
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
452
453
       88,   88,   88,   88,   88,   88,   88,   88,   13,   88,
454
       53,   42,   88,   88,   88,   88,   88,   88,   88,   88,
455
       88,   88,   88,   88,   88,   88,   71,   88,   88,   88,
456
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
457
       88,   88,   88,   88,   88,   88,   88,   88,   55,   88,
458
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
459
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
460
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
461
       88,   88,   88,   88,   32,   88,   88,   88,   88,   88,
462
       88,   88,   88,   88,   88,   63,   88,   64,   88,   88,
463
464
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
465
       88,   88,   88,   88,   38,   17,   88,   88,   88,   88,
466
       74,   88,   88,   88,   88,   88,   88,   88,   88,   88,
467
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
468
       88,   88,   88,   76,   88,   88,   88,   88,   26,   88,
469
       88,   88,   61,   60,   88,   88,   88,   88,   40,   20,
470
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
471
       88,   88,   88,   88,   75,   88,   47,   88,   88,   88,
472
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
473
       88,   88,   88,   88,   88,   77,   77,   88,   88,   88,
474
475
       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
476
       88,   88,   15,   88,   88,   88,   25,   88,   88,   88,
477
       88,   88,   88,   88,   88,   36,   88,   88,   16,   88,
478
       88,   88,   30,   88,   88,   88,   78,   78,   88,   88,
479
       77,   88,   77,   88,   88,   69,   73,   88,   88,   88,
480
       65,   58,   39,   41,   88,   88,   88,   88,   56,   88,
481
       24,   52,   88,   88,   88,   34,   88,   88,   88,   88,
482
       88,   88,   88,   88,   88,   88,   88,   78,   88,   78,
483
       77,   77,   88,   88,   88,   88,   88,   88,   88,   88,
484
       88,   88,   88,   88,   88,   46,   88,   88,   48,   88,
485
486
       50,   88,   18,   88,   19,   88,   78,   78,   88,   88,
487
       77,   77,   88,   88,   88,   88,   27,   88,   88,   88,
488
       21,   88,   88,   54,   51,   29,   14,   37,   88,   67,
489
       88,   78,   78,   88,   88,   88,   88,   45,   88,   88,
490
       88,   88,   88,   88,   49,   43,   88,   88,   88,   88,
491
       88,   28,   33,   68,   35,   88,   88,   88,   88,   44,
492
       88,   88,   88,   70,    0
493
    } ;
494
495
static const YY_CHAR yy_ec[256] =
496
    {   0,
497
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
498
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
499
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
500
        1,    2,    4,    5,    6,    7,    7,    7,    1,    7,
501
        7,    7,    7,    7,    8,    9,   10,   11,   11,   11,
502
       11,   12,   11,   13,   11,   11,   11,   14,   15,    7,
503
        7,    7,    7,    7,   16,   17,   18,   19,   20,   21,
504
       22,   23,   24,    7,   25,   26,   27,   28,   29,   30,
505
        7,   31,   32,   33,   34,   35,   36,   37,   38,    7,
506
        7,   39,    7,    7,    7,    7,   40,   41,   42,   43,
507
508
       44,   45,   46,   47,   48,    7,   49,   50,   51,   52,
509
       53,   54,    7,   55,   56,   57,   58,   59,   60,   61,
510
       62,    7,   63,    1,   64,    7,    1,    1,    1,    1,
511
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
512
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
513
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
514
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
515
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
516
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
517
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
518
519
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
520
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
521
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
522
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
523
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
524
        1,    1,    1,    1,    1
525
    } ;
526
527
static const YY_CHAR yy_meta[65] =
528
    {   0,
529
        1,    1,    1,    2,    1,    2,    2,    2,    2,    1,
530
        2,    2,    2,    2,    1,    2,    2,    2,    2,    2,
531
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
532
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
533
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
534
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
535
        2,    2,    1,    1
536
    } ;
537
538
static const flex_int16_t yy_base[970] =
539
    {   0,
540
        0,    0,  543, 3373,  538, 3373,   54,   64,   75,    0,
541
       70, 3373,  131,  498,  168,   75,   96,  177,  101,  107,
542
       77,   89,  129,  175,   84,  108,   71,  164,   76,  507,
543
        0,  219,  494,    0,   84, 3373,  504,  503, 3373,  240,
544
      143,  150,  294,  329,  155,    0,  201,  235,  240,  137,
545
      245,  168,  267,  169,  162,  176,  176,  176,  251,   88,
546
      229,  230,  249,  241,  237,  250,    0,  254,  272,  275,
547
      286,  327,  372,  407,    0,    0,  270,  442,  316,  477,
548
      512,    0,  343,  304,  545,  324,  342,  343,  367,  350,
549
        0,  374,  375,  385,  389,  381,  387,  420,  411,  411,
550
551
      419,  425,  492,    0,  424,  414,  428,  442,  458,  457,
552
      594,    0,  629,  664,    0,  388,  490,  460,  699,  734,
553
        0,  769,    0,    0,  452,  445,  533,  574,  463,  482,
554
      487,  497,  508,  483,  775,  600,  526,  491,  460,  499,
555
      539,  559,  558,  586,    0,  611,  599,  603,  601,  646,
556
      630,  630,  645,  633,  460,  643,  636,  643,  659,  681,
557
      666,  457,  425,  818,  853,    0,  888,    0,  355,  923,
558
        0,  958,    0,  993,    0,    0,  682,  667,  671,  685,
559
      683,  711,  715,  703,  709,  715,  771,  721,  752,  758,
560
      773,  777,  771,  772,  810,  767,  789,  816,  799,  818,
561
562
      820,  830,  855,  820,  827,  868,    0,  894,  865,  870,
563
      867,  871,  893,  891,  896,  898,  895,  897,  901,    0,
564
      936,    0,  925,  925, 1028,    0, 1063,    0, 1098,    0,
565
        0,  424,  423, 1133, 1168,    0, 1203,    0,  928,  931,
566
      928,  940,  968,  976,  963, 1201,  962,  975,  976,  987,
567
      983, 1010,  996, 1004, 1009, 1009, 1009, 1032, 1011, 1044,
568
     1033, 1032, 1059, 1078, 1066, 1074, 1067, 1072, 1073, 1083,
569
     1081, 1111, 1116, 1105, 1115, 1115, 1123, 1115, 1150, 1149,
570
     1152,    0, 1153, 1154, 1151,    0, 1209, 1150, 1171,  422,
571
      415, 1254, 1289,    0, 1324,    0, 1359,    0, 1394,    0,
572
573
      390,  389, 1188, 1177, 1194, 1210, 1203, 1200, 1200, 1217,
574
     1213, 1207, 1204, 1226, 1237, 1237, 1236, 1252, 1258, 1254,
575
     1260, 1258, 1270, 1257, 1296, 1305, 1292, 1302, 1310, 1307,
576
     1312, 1307, 1321, 1338, 1334, 1330, 1327,  384,    0, 1333,
577
     1340, 1361, 1346, 1366, 1374, 1358, 1391, 1392, 1403, 1385,
578
     1405, 1405, 1407, 1398, 1399, 1405, 1443,    0, 1478,    0,
579
      381,  380,  351,  347, 1513, 1548,    0, 1422, 1413, 1408,
580
     1407, 1427, 1432,  347, 1450, 1455, 1453, 1460, 1453, 1458,
581
     1476, 1488, 1480, 1494, 1484, 1491, 1499, 1496,    0, 1504,
582
     1530, 1545, 1532, 1521, 1550, 1543, 1534, 1557, 1552, 1550,
583
584
     1551, 1563, 1560, 1552, 1574,    0, 1564, 1565, 1577, 1584,
585
        0, 1592,    0, 1578, 1597, 1580, 1595, 1582, 1585, 1594,
586
     1605,  345,  318, 1637, 1672,    0, 1707,    0, 1742,    0,
587
     1608, 1601, 1622, 1611, 1619, 1629, 1633, 1639, 1651, 1643,
588
     1691, 1649, 1654, 1659, 1649, 1671, 1687, 1676,    0, 1680,
589
     1680, 1704, 1721, 1717, 1712, 1712, 1727, 1725, 1745, 1739,
590
     1755, 1737, 1739, 1748, 1751, 1748, 1757, 1747, 1751, 1754,
591
     1758, 1763, 1758, 1779, 1767,    0, 1768, 1786, 1783, 1784,
592
     1781, 1778, 1791, 1785, 1832,    0, 1867,    0,  317,  316,
593
     1902, 1937,    0, 1791, 1794, 1806, 1941, 1813, 1839, 1819,
594
595
        0, 1806, 1809, 1832, 1837, 1838, 1847, 1842, 1845, 1880,
596
        0, 1880, 1868, 1875, 1884, 1881, 1887, 1895, 1897, 1916,
597
     1911, 1905, 1918, 1931, 1933, 1944, 1933, 1942, 1948, 1947,
598
     1942, 1953, 1951, 1961, 1955,    0,    0, 1963, 1968, 1968,
599
     1973, 1969, 1975, 1967, 1977, 1986, 1969, 1992,  309,  308,
600
     2026, 2061,    0, 2096,    0, 2131,    0, 1996, 1983, 2003,
601
     2004, 2015, 2015, 2020, 2025, 2036, 2030, 2032, 2039, 2040,
602
     2035, 2071, 2064, 2076, 2064, 2069,    0, 2073, 2070, 2089,
603
     2092, 2096, 2099, 2111, 2104, 2112, 2126, 2134, 2139, 2139,
604
     2142, 2131, 2143, 2148, 2145, 2142, 2138, 2137, 2153, 2157,
605
606
     2157, 2159, 2159, 2161, 2162, 2162, 2160, 2164,    0, 2178,
607
        0,    0, 2180, 2213,    0, 2248,    0,  305,  304, 2283,
608
     2318,    0, 2179, 2180, 2182, 2187,    0, 2187, 2196, 2193,
609
     2206, 2208, 2215, 2220, 2215, 2221, 2220, 2230, 2248, 2261,
610
     2253, 2268, 2256, 2273, 2272, 2296, 2297, 2285,    0, 2299,
611
     2287, 2305, 2300, 2325, 2315, 2314, 2317, 2330, 2317, 2329,
612
     2316, 2333, 2336, 2324, 2344, 2344, 2346, 2346, 2344, 2360,
613
     2361, 2362, 2346, 2350,  303,  302, 2398, 2433,    0, 2468,
614
        0, 2503,    0, 2364,    0, 2364, 2368, 2377, 2379, 2368,
615
     2382, 2382, 2392, 2393, 2393,    0, 2416,    0, 2409, 2408,
616
617
     2407, 2414, 2426, 2437, 2445, 2444, 2450, 2438, 2458, 2452,
618
     2477, 2482, 2479, 2473,    0,    0, 2484, 2499, 2506, 2508,
619
        0, 2511, 2513, 2513, 2502, 2512, 2504, 2518, 2511, 2509,
620
     2521, 2518, 2526, 2523, 2565,    0, 2600,    0,  274,  273,
621
     2635, 2670,    0,    0, 2550, 2536, 2535, 2545,    0, 2537,
622
     2551, 2551,    0,    0, 2546, 2553, 2582, 2578,    0,    0,
623
     2569, 2580, 2581, 2581, 2601, 2607, 2615, 2609, 2606, 2611,
624
     2629, 2624, 2637, 2642,    0, 2646,    0, 2655, 2648, 2647,
625
     2661, 2666, 2676, 2664, 2672, 2666, 2669, 2679,  272,  259,
626
     2717, 2752,    0, 2787,    0, 2822,    0, 2681, 2696, 2694,
627
628
     2681, 2695, 2689, 2712, 2727, 2731, 2730, 2724, 2721, 2729,
629
     2746, 2739,    0, 2765, 2758, 2767,    0, 2768, 2761, 2785,
630
     2782, 2800, 2784, 2804, 2796,    0, 2797, 2817,    0, 2833,
631
     2819, 2835,    0, 2834, 2866,    0, 2901,    0,  220,  204,
632
     2936, 2971,    0, 2840, 2825,    0,    0, 2841, 2849, 2839,
633
        0,    0,    0,    0, 2850, 2856, 2866, 2876,    0, 2883,
634
        0,    0, 2884, 2881, 2872,    0, 2885, 2896, 2914, 2915,
635
     2908, 2911, 2922, 2913, 2934,  192,  164, 3006, 3041,    0,
636
     3076,    0, 3111,    0, 2921, 2937, 2950, 2943, 2941, 2947,
637
     2963, 2962, 2986, 2985, 2986,    0, 2975, 2976,    0, 2988,
638
639
        0, 3003,    0, 3007,    0, 3008, 3146,    0, 3181,    0,
640
      155,  151, 3216,    0, 3017, 3018,    0, 3025, 3035, 3040,
641
        0, 3047, 3059,    0,    0,    0,    0,    0, 3056,    0,
642
     3044,  145,  123, 3251,    0, 3286,    0,    0, 3049, 3070,
643
     3072, 3087, 3090, 3079,    0,    0, 3321,    0,  118,  117,
644
     3084,    0,    0,    0,    0, 3080,  107,   78, 3104,    0,
645
     3100, 3128, 3123,    0, 3373,   77, 3366, 3368, 3370
646
    } ;
647
648
static const flex_int16_t yy_def[970] =
649
    {   0,
650
      965,    1,  965,  965,  965,  965,  966,  967,  968,  966,
651
      966,  965,  966,  966,   13,   13,   13,   13,   13,   13,
652
      966,  966,  966,  966,  966,  966,  966,  966,  966,  965,
653
      966,  966,  966,   32,  967,  965,  967,  969,  965,  968,
654
      966,  966,   13,  966,   43,  966,   43,   43,   43,  966,
655
       43,  966,   43,  966,  966,  966,  966,  966,  966,  967,
656
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
657
      966,  966,   32,   32,   73,  966,  966,   43,   78,  966,
658
      966,   80,   78,  966,  966,  966,  966,  966,   78,  966,
659
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
660
661
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
662
       73,  111,  111,  966,  113,  966,  966,  966,   80,   44,
663
      119,  119,  122,  966,  966,  966,  966,  966,  966,  966,
664
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
665
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
666
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
667
      966,  966,  966,  113,   74,  164,  164,  167,  966,  119,
668
      170,  170,  172,  122,   81,  174,  966,  966,  966,  966,
669
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
670
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
671
672
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
673
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
674
      966,  966,  966,  966,  164,  225,  225,  227,  167,  114,
675
      229,  966,  966,  172,   44,  234,  174,  237,  966,  966,
676
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
677
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
678
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
679
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
680
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
681
      966,  227,   74,  292,  229,  295,  234,  297,  297,  299,
682
683
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
684
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
685
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
686
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
687
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
688
      966,  966,  966,  966,  966,  966,  292,  357,  357,  359,
689
      966,  966,  966,  966,  299,   44,  365,  966,  966,  966,
690
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
691
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
692
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
693
694
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
695
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
696
      966,  966,  966,  359,   74,  424,  365,  427,  427,  429,
697
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
698
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
699
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
700
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
701
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
702
      966,  966,  966,  966,  424,  485,  485,  487,  966,  966,
703
      429,   44,  491,  966,  966,  966,  966,  966,  966,  966,
704
705
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
706
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
707
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
708
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
709
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
710
      487,   74,  551,  491,  554,  554,  556,  966,  966,  966,
711
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
712
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
713
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
714
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
715
716
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
717
      966,  966,  966,  551,  614,  614,  616,  966,  966,  556,
718
       44,  620,  966,  966,  966,  966,  966,  966,  966,  966,
719
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
720
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
721
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
722
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
723
      966,  966,  966,  966,  966,  966,  616,   74,  677,  620,
724
      680,  680,  682,  966,  966,  966,  966,  966,  966,  966,
725
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
726
727
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
728
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
729
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
730
      966,  966,  966,  966,  677,  735,  735,  737,  966,  966,
731
      682,   44,  741,  966,  966,  966,  966,  966,  966,  966,
732
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
733
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
734
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
735
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
736
      737,   74,  791,  741,  794,  794,  796,  966,  966,  966,
737
738
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
739
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
740
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
741
      966,  966,  966,  966,  791,  835,  835,  837,  966,  966,
742
      796,   44,  841,  966,  966,  966,  966,  966,  966,  966,
743
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
744
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
745
      966,  966,  966,  966,  966,  966,  966,  837,   74,  878,
746
      841,  881,  881,  883,  966,  966,  966,  966,  966,  966,
747
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
748
749
      966,  966,  966,  966,  966,  966,  878,  907,  907,  909,
750
      966,  966,  883,  913,  966,  966,  966,  966,  966,  966,
751
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
752
      966,  966,  966,  909,  934,  913,  936,  966,  966,  966,
753
      966,  966,  966,  966,  966,  966,  934,  947,  966,  966,
754
      966,  966,  966,  966,  966,  966,  966,  966,  966,  966,
755
      966,  966,  966,  966,    0,  965,  965,  965,  965
756
    } ;
757
758
static const flex_int16_t yy_nxt[3438] =
759
    {   0,
760
        4,    5,    6,    7,    8,    9,   10,   11,   10,   12,
761
       13,   13,   13,   14,   12,   15,   16,   17,   18,   19,
762
       20,   10,   21,   22,   10,   23,   24,   25,   26,   27,
763
       28,   10,   10,   29,   10,   10,   10,   10,   10,   15,
764
       16,   17,   18,   19,   20,   10,   21,   22,   10,   23,
765
       24,   25,   26,   27,   28,   10,   10,   29,   10,   10,
766
       10,   10,   12,   12,   32,   32,   32,   33,   36,   34,
767
       34,   34,   34,   34,   34,   38,   38,   39,   31,   38,
768
       41,   41,   41,   31,   38,   47,   47,   47,   36,   38,
769
       51,  879,   36,   34,   34,   34,   34,   34,   34,   65,
770
771
       56,   68,   37,   72,   31,   57,   47,   47,   47,   31,
772
       58,   47,   47,   47,   51,   31,   59,   47,   47,   47,
773
      879,   52,   37,   65,   56,   68,   37,   72,   66,   57,
774
      842,  842,   55,   60,   58,   67,  879,   38,   38,   42,
775
       59,   43,   43,   43,   44,   52,   45,   45,   45,   45,
776
       45,   45,   66,   41,   41,   41,   55,   61,  879,   67,
777
       77,   77,   77,   31,  842,   83,   83,   83,  842,   86,
778
       45,   45,   45,   45,   45,   45,   31,  792,   47,   47,
779
       47,   61,   69,   70,   48,   31,   49,   47,   47,   47,
780
       62,   88,   71,   86,   63,   93,   53,   94,   64,   91,
781
782
       92,   50,   95,   96,   54,  792,   69,   70,   48,   31,
783
       49,   83,   83,   83,   62,   88,   71,  742,   63,   93,
784
       53,   94,   64,   91,   92,   50,   95,   96,   54,   73,
785
       73,   73,   74,  742,   75,   75,   75,   75,   75,   75,
786
       38,   38,   39,   31,   38,   83,   83,   83,   31,   38,
787
       83,   83,   83,   31,   38,   83,   83,   83,   75,   75,
788
       75,   75,   75,   75,   99,   84,  100,  101,  102,  103,
789
      104,   97,  678,  105,   85,   31,   87,   83,   83,   83,
790
       77,   77,   77,   98,   89,  678,  621,  621,   99,   84,
791
      100,  101,  102,  103,  104,   97,   90,  105,   85,  106,
792
793
       87,  107,   38,   38,   78,   78,   78,   98,   89,   79,
794
       79,   79,   79,   79,   79,  552,  552,  492,  492,  108,
795
       90,  425,  425,  106,   31,  107,  118,  118,  118,  366,
796
      366,  293,  124,   79,   79,   79,   79,   79,   79,   80,
797
       80,   80,   81,  108,   82,   82,   82,   82,   82,   82,
798
      109,   31,  138,  118,  118,  118,  124,  110,  293,  437,
799
      235,  139,  140,   42,  235,  169,  169,  169,   82,   82,
800
       82,   82,   82,   82,  109,   31,  138,  118,  118,  118,
801
      142,  110,  111,  111,  111,  139,  140,  112,  112,  112,
802
      112,  112,  112,  230,  230,  403,   42,  141,  169,  169,
803
804
      169,   44,  175,  175,  142,  143,  144,  145,  146,  147,
805
      148,  112,  112,  112,  112,  112,  112,  113,  113,  113,
806
      114,  141,  115,  115,  115,  115,  115,  115,  165,  143,
807
      144,  145,  146,  147,  148,  165,  120,  120,   74,  149,
808
      150,  151,  152,  153,  156,  157,  115,  115,  115,  115,
809
      115,  115,  116,  116,  116,  154,  158,  117,  117,  117,
810
      117,  117,  117,  149,  150,  151,  152,  153,  156,  157,
811
       74,  218,  203,   44,  159,  160,  161,  177,  178,  154,
812
      158,  117,  117,  117,  117,  117,  117,  119,  119,  119,
813
      120,  185,  121,  121,  121,  121,  121,  121,  159,  160,
814
815
      161,  177,  178,   44,  155,   39,  965,   76,   30,  186,
816
      187,   46,  188,  192,  202,  185,  121,  121,  121,  121,
817
      121,  121,  122,  122,  122,  189,  204,  123,  123,  123,
818
      123,  123,  123,  186,  187,  190,  188,  192,  202,   30,
819
      191,  200,  965,  965,  965,  201,  965,  965,  179,  189,
820
      204,  123,  123,  123,  123,  123,  123,  125,  205,  190,
821
      126,  180,  127,  128,  191,  200,  181,  129,  130,  201,
822
      131,  132,  179,  133,  134,  135,  136,  965,  206,  137,
823
      965,  965,  205,  207,  126,  180,  127,  128,  965,  965,
824
      181,  129,  130,  182,  131,  132,  183,  133,  134,  135,
825
826
      136,  184,  206,  137,  162,  162,  162,  207,  208,  163,
827
      163,  163,  163,  163,  163,  965,  965,  182,  965,  197,
828
      183,  965,  965,  965,  965,  184,  209,  198,  199,  210,
829
      211,  212,  208,  163,  163,  163,  163,  163,  163,  164,
830
      164,  164,  165,  197,  166,  166,  166,  166,  166,  166,
831
      209,  198,  199,  210,  211,  212,  965,  965,  965,  965,
832
      965,  213,  214,  215,  216,  217,  219,  220,  166,  166,
833
      166,  166,  166,  166,  167,  167,  167,  221,  222,  168,
834
      168,  168,  168,  168,  168,  213,  214,  215,  216,  217,
835
      219,  220,  965,  965,  965,  965,  223,  224,  239,  240,
836
837
      241,  221,  222,  168,  168,  168,  168,  168,  168,  170,
838
      170,  170,  242,  243,  171,  171,  171,  171,  171,  171,
839
      223,  224,  239,  240,  241,  965,  965,  965,  965,  965,
840
      965,  244,  245,  246,  247,  248,  242,  243,  171,  171,
841
      171,  171,  171,  171,  172,  172,  172,  249,  252,  173,
842
      173,  173,  173,  173,  173,  244,  245,  246,  247,  248,
843
      965,  965,  965,  965,  965,  965,  965,  965,  253,  965,
844
      965,  249,  252,  173,  173,  173,  173,  173,  173,  174,
845
      174,  174,  175,  254,  176,  176,  176,  176,  176,  176,
846
      193,  250,  253,  194,  195,  255,  256,  257,  251,  259,
847
848
      262,  965,  258,  196,  965,  965,  965,  254,  176,  176,
849
      176,  176,  176,  176,  193,  250,  263,  194,  195,  255,
850
      256,  257,  251,  259,  262,  260,  258,  196,  225,  225,
851
      225,  264,  265,  226,  226,  226,  226,  226,  226,  965,
852
      263,  965,  261,  266,  965,  965,  965,  965,  965,  260,
853
      267,  268,  271,  272,  965,  264,  265,  226,  226,  226,
854
      226,  226,  226,  227,  227,  227,  261,  266,  228,  228,
855
      228,  228,  228,  228,  267,  268,  271,  272,  269,  965,
856
      965,  965,  965,  965,  965,  273,  276,  270,  965,  277,
857
      278,  279,  228,  228,  228,  228,  228,  228,  229,  229,
858
859
      229,  230,  269,  231,  231,  231,  231,  231,  231,  273,
860
      276,  270,  274,  277,  278,  279,  965,  965,  965,  965,
861
      280,  281,  282,  283,  275,  284,  285,  231,  231,  231,
862
      231,  231,  231,  232,  232,  232,  274,  286,  233,  233,
863
      233,  233,  233,  233,  280,  281,  282,  283,  275,  284,
864
      285,  965,  965,  965,  965,  287,  288,  289,  303,  304,
865
      305,  286,  233,  233,  233,  233,  233,  233,  234,  234,
866
      234,  235,  306,  236,  236,  236,  236,  236,  236,  287,
867
      288,  289,  303,  304,  305,  965,  965,  965,  965,  965,
868
      307,  308,  309,  314,  315,  316,  306,  236,  236,  236,
869
870
      236,  236,  236,  237,  237,  237,  317,  318,  238,  238,
871
      238,  238,  238,  238,  307,  308,  309,  314,  315,  316,
872
      965,  965,  965,  965,  965,  319,  320,  321,  322,  323,
873
      317,  318,  238,  238,  238,  238,  238,  238,  290,  290,
874
      290,  324,  327,  291,  291,  291,  291,  291,  291,  319,
875
      320,  321,  322,  323,  965,  965,  965,  965,  965,  965,
876
      325,  328,  326,  329,  330,  324,  327,  291,  291,  291,
877
      291,  291,  291,  292,  292,  292,  293,  331,  294,  294,
878
      294,  294,  294,  294,  325,  328,  326,  329,  330,  965,
879
      965,  965,  965,  965,  965,  332,  333,  334,  335,  336,
880
881
      337,  331,  294,  294,  294,  294,  294,  294,  295,  295,
882
      295,  338,  339,  296,  296,  296,  296,  296,  296,  332,
883
      333,  334,  335,  336,  337,  965,  965,  965,  965,  965,
884
      340,  341,  342,  343,  344,  338,  339,  296,  296,  296,
885
      296,  296,  296,  297,  297,  297,  345,  346,  298,  298,
886
      298,  298,  298,  298,  340,  341,  342,  343,  344,  965,
887
      965,  965,  965,  965,  965,  347,  348,  349,  350,  351,
888
      345,  346,  298,  298,  298,  298,  298,  298,  299,  299,
889
      299,  352,  355,  300,  300,  300,  300,  300,  300,  347,
890
      348,  349,  350,  351,  965,  965,  965,  965,  965,  965,
891
892
      965,  356,  965,  368,  369,  352,  355,  300,  300,  300,
893
      300,  300,  300,  301,  301,  301,  310,  370,  302,  302,
894
      302,  302,  302,  302,  353,  356,  311,  368,  369,  371,
895
      312,  372,  313,  373,  374,  375,  376,  377,  378,  354,
896
      310,  370,  302,  302,  302,  302,  302,  302,  353,  965,
897
      311,  379,  380,  371,  312,  372,  313,  373,  374,  375,
898
      376,  377,  378,  354,  357,  357,  357,  381,  382,  358,
899
      358,  358,  358,  358,  358,  379,  380,  965,  383,  384,
900
      965,  965,  965,  965,  965,  965,  385,  386,  387,  388,
901
      389,  381,  382,  358,  358,  358,  358,  358,  358,  359,
902
903
      359,  359,  383,  384,  360,  360,  360,  360,  360,  360,
904
      385,  386,  387,  388,  389,  965,  965,  965,  965,  965,
905
      965,  390,  391,  392,  393,  394,  395,  396,  360,  360,
906
      360,  360,  360,  360,  361,  361,  361,  397,  398,  362,
907
      362,  362,  362,  362,  362,  390,  391,  392,  393,  394,
908
      395,  396,  965,  965,  965,  965,  399,  400,  401,  402,
909
      404,  397,  398,  362,  362,  362,  362,  362,  362,  363,
910
      363,  363,  405,  408,  364,  364,  364,  364,  364,  364,
911
      399,  400,  401,  402,  404,  965,  965,  965,  965,  965,
912
      965,  406,  407,  409,  410,  411,  405,  408,  364,  364,
913
914
      364,  364,  364,  364,  365,  365,  365,  366,  412,  367,
915
      367,  367,  367,  367,  367,  406,  407,  409,  410,  411,
916
      413,  414,  415,  416,  417,  418,  419,  420,  421,  965,
917
      965,  965,  412,  367,  367,  367,  367,  367,  367,  965,
918
      431,  432,  433,  434,  413,  414,  415,  416,  417,  418,
919
      419,  420,  421,  422,  422,  422,  435,  436,  423,  423,
920
      423,  423,  423,  423,  431,  432,  433,  434,  438,  965,
921
      965,  965,  965,  965,  965,  439,  440,  441,  442,  443,
922
      435,  436,  423,  423,  423,  423,  423,  423,  424,  424,
923
      424,  425,  438,  426,  426,  426,  426,  426,  426,  439,
924
925
      440,  441,  442,  443,  965,  965,  965,  965,  965,  965,
926
      444,  445,  446,  447,  448,  449,  450,  426,  426,  426,
927
      426,  426,  426,  427,  427,  427,  451,  452,  428,  428,
928
      428,  428,  428,  428,  444,  445,  446,  447,  448,  449,
929
      450,  965,  965,  965,  965,  453,  965,  457,  458,  965,
930
      451,  452,  428,  428,  428,  428,  428,  428,  429,  429,
931
      429,  462,  463,  430,  430,  430,  430,  430,  430,  453,
932
      454,  457,  458,  455,  456,  459,  464,  465,  466,  460,
933
      461,  467,  468,  469,  470,  462,  463,  430,  430,  430,
934
      430,  430,  430,  471,  454,  472,  473,  455,  456,  459,
935
936
      464,  465,  466,  460,  461,  467,  468,  469,  470,  474,
937
      475,  476,  477,  478,  479,  480,  481,  471,  482,  472,
938
      473,  483,  484,  965,  965,  965,  494,  495,  965,  965,
939
      965,  965,  965,  474,  475,  476,  477,  478,  479,  480,
940
      481,  496,  482,  497,  498,  483,  484,  485,  485,  485,
941
      494,  495,  486,  486,  486,  486,  486,  486,  965,  965,
942
      965,  499,  500,  965,  965,  496,  965,  497,  498,  501,
943
      502,  503,  507,  508,  509,  510,  486,  486,  486,  486,
944
      486,  486,  487,  487,  487,  499,  500,  488,  488,  488,
945
      488,  488,  488,  501,  502,  503,  507,  508,  509,  510,
946
947
      965,  965,  965,  965,  511,  512,  504,  513,  514,  505,
948
      515,  488,  488,  488,  488,  488,  488,  489,  489,  489,
949
      506,  516,  490,  490,  490,  490,  490,  490,  511,  512,
950
      504,  513,  514,  505,  515,  965,  965,  965,  965,  517,
951
      518,  519,  520,  521,  506,  516,  490,  490,  490,  490,
952
      490,  490,  491,  491,  491,  492,  522,  493,  493,  493,
953
      493,  493,  493,  517,  518,  519,  520,  521,  523,  524,
954
      525,  526,  527,  528,  529,  530,  531,  532,  533,  534,
955
      522,  493,  493,  493,  493,  493,  493,  535,  536,  537,
956
      540,  541,  523,  524,  525,  526,  527,  528,  529,  530,
957
958
      531,  532,  533,  534,  538,  542,  543,  544,  539,  545,
959
      546,  535,  536,  537,  540,  541,  547,  548,  965,  965,
960
      965,  558,  559,  965,  965,  965,  965,  965,  538,  542,
961
      543,  544,  539,  545,  546,  560,  565,  568,  569,  570,
962
      547,  548,  549,  549,  549,  558,  559,  550,  550,  550,
963
      550,  550,  550,  965,  965,  965,  965,  571,  965,  560,
964
      565,  568,  569,  570,  566,  572,  573,  574,  567,  575,
965
      576,  550,  550,  550,  550,  550,  550,  551,  551,  551,
966
      552,  571,  553,  553,  553,  553,  553,  553,  566,  572,
967
      573,  574,  567,  575,  576,  965,  965,  965,  965,  577,
968
969
      578,  579,  580,  581,  582,  583,  553,  553,  553,  553,
970
      553,  553,  554,  554,  554,  584,  585,  555,  555,  555,
971
      555,  555,  555,  577,  578,  579,  580,  581,  582,  583,
972
      965,  965,  965,  965,  965,  586,  587,  588,  589,  584,
973
      585,  555,  555,  555,  555,  555,  555,  556,  556,  556,
974
      590,  591,  557,  557,  557,  557,  557,  557,  561,  586,
975
      587,  588,  589,  592,  562,  593,  563,  594,  595,  596,
976
      564,  598,  597,  599,  590,  591,  557,  557,  557,  557,
977
      557,  557,  561,  600,  601,  602,  603,  592,  562,  593,
978
      563,  594,  595,  596,  564,  598,  597,  599,  604,  605,
979
980
      606,  607,  608,  609,  610,  611,  612,  600,  601,  602,
981
      603,  613,  965,  965,  965,  623,  624,  965,  965,  965,
982
      965,  965,  604,  605,  606,  607,  608,  609,  610,  611,
983
      612,  625,  626,  627,  628,  613,  614,  614,  614,  623,
984
      624,  615,  615,  615,  615,  615,  615,  965,  965,  965,
985
      629,  630,  965,  965,  965,  625,  626,  627,  628,  631,
986
      632,  633,  634,  635,  636,  615,  615,  615,  615,  615,
987
      615,  616,  616,  616,  629,  630,  617,  617,  617,  617,
988
      617,  617,  965,  631,  632,  633,  634,  635,  636,  965,
989
      965,  965,  965,  637,  638,  639,  640,  641,  642,  643,
990
991
      617,  617,  617,  617,  617,  617,  618,  618,  618,  644,
992
      645,  619,  619,  619,  619,  619,  619,  637,  638,  639,
993
      640,  641,  642,  643,  965,  965,  965,  965,  646,  647,
994
      648,  649,  650,  644,  645,  619,  619,  619,  619,  619,
995
      619,  620,  620,  620,  621,  651,  622,  622,  622,  622,
996
      622,  622,  646,  647,  648,  649,  650,  652,  653,  654,
997
      655,  656,  657,  658,  659,  660,  661,  662,  663,  651,
998
      622,  622,  622,  622,  622,  622,  664,  665,  666,  667,
999
      668,  652,  653,  654,  655,  656,  657,  658,  659,  660,
1000
      661,  662,  663,  669,  670,  671,  672,  673,  674,  965,
1001
1002
      664,  665,  666,  667,  668,  965,  965,  965,  965,  965,
1003
      684,  685,  686,  687,  688,  689,  690,  669,  670,  671,
1004
      672,  673,  674,  675,  675,  675,  691,  692,  676,  676,
1005
      676,  676,  676,  676,  684,  685,  686,  687,  688,  689,
1006
      690,  965,  965,  965,  965,  693,  694,  695,  696,  697,
1007
      691,  692,  676,  676,  676,  676,  676,  676,  677,  677,
1008
      677,  678,  698,  679,  679,  679,  679,  679,  679,  693,
1009
      694,  695,  696,  697,  965,  965,  965,  965,  965,  965,
1010
      699,  700,  702,  703,  701,  704,  698,  679,  679,  679,
1011
      679,  679,  679,  680,  680,  680,  705,  706,  681,  681,
1012
1013
      681,  681,  681,  681,  699,  700,  702,  703,  701,  704,
1014
      965,  965,  965,  965,  965,  707,  708,  709,  710,  711,
1015
      705,  706,  681,  681,  681,  681,  681,  681,  682,  682,
1016
      682,  712,  713,  683,  683,  683,  683,  683,  683,  707,
1017
      708,  709,  710,  711,  714,  715,  716,  717,  718,  719,
1018
      720,  721,  722,  723,  724,  712,  713,  683,  683,  683,
1019
      683,  683,  683,  725,  726,  727,  728,  729,  714,  715,
1020
      716,  717,  718,  719,  720,  721,  722,  723,  724,  730,
1021
      731,  732,  733,  734,  965,  965,  965,  725,  726,  727,
1022
      728,  729,  965,  965,  965,  744,  745,  746,  747,  748,
1023
1024
      749,  750,  751,  730,  731,  732,  733,  734,  735,  735,
1025
      735,  752,  753,  736,  736,  736,  736,  736,  736,  744,
1026
      745,  746,  747,  748,  749,  750,  751,  965,  965,  965,
1027
      754,  755,  756,  757,  758,  752,  753,  736,  736,  736,
1028
      736,  736,  736,  737,  737,  737,  759,  760,  738,  738,
1029
      738,  738,  738,  738,  754,  755,  756,  757,  758,  965,
1030
      965,  965,  965,  965,  965,  761,  762,  763,  764,  765,
1031
      759,  760,  738,  738,  738,  738,  738,  738,  739,  739,
1032
      739,  766,  767,  740,  740,  740,  740,  740,  740,  761,
1033
      762,  763,  764,  765,  965,  965,  965,  965,  965,  965,
1034
1035
      768,  769,  770,  771,  772,  766,  767,  740,  740,  740,
1036
      740,  740,  740,  741,  741,  741,  742,  773,  743,  743,
1037
      743,  743,  743,  743,  768,  769,  770,  771,  772,  774,
1038
      775,  776,  777,  778,  779,  780,  781,  782,  783,  784,
1039
      785,  773,  743,  743,  743,  743,  743,  743,  786,  787,
1040
      788,  965,  965,  774,  775,  776,  777,  778,  779,  780,
1041
      781,  782,  783,  784,  785,  798,  799,  800,  801,  802,
1042
      803,  804,  786,  787,  788,  789,  789,  789,  805,  806,
1043
      790,  790,  790,  790,  790,  790,  965,  965,  965,  798,
1044
      799,  800,  801,  802,  803,  804,  965,  807,  808,  809,
1045
1046
      810,  811,  805,  806,  790,  790,  790,  790,  790,  790,
1047
      791,  791,  791,  792,  812,  793,  793,  793,  793,  793,
1048
      793,  807,  808,  809,  810,  811,  965,  965,  965,  965,
1049
      965,  965,  813,  814,  815,  816,  817,  818,  812,  793,
1050
      793,  793,  793,  793,  793,  794,  794,  794,  819,  820,
1051
      795,  795,  795,  795,  795,  795,  813,  814,  815,  816,
1052
      817,  818,  965,  965,  965,  965,  965,  821,  822,  823,
1053
      824,  825,  819,  820,  795,  795,  795,  795,  795,  795,
1054
      796,  796,  796,  826,  827,  797,  797,  797,  797,  797,
1055
      797,  821,  822,  823,  824,  825,  828,  829,  830,  831,
1056
1057
      832,  833,  834,  965,  965,  965,  844,  826,  827,  797,
1058
      797,  797,  797,  797,  797,  845,  846,  847,  848,  849,
1059
      828,  829,  830,  831,  832,  833,  834,  835,  835,  835,
1060
      844,  850,  836,  836,  836,  836,  836,  836,  965,  845,
1061
      846,  847,  848,  849,  965,  965,  965,  965,  965,  851,
1062
      852,  853,  854,  855,  856,  850,  836,  836,  836,  836,
1063
      836,  836,  837,  837,  837,  857,  858,  838,  838,  838,
1064
      838,  838,  838,  851,  852,  853,  854,  855,  856,  965,
1065
      965,  965,  965,  965,  859,  860,  861,  862,  863,  857,
1066
      858,  838,  838,  838,  838,  838,  838,  839,  839,  839,
1067
1068
      864,  865,  840,  840,  840,  840,  840,  840,  859,  860,
1069
      861,  862,  863,  965,  965,  965,  965,  965,  965,  866,
1070
      867,  868,  869,  870,  864,  865,  840,  840,  840,  840,
1071
      840,  840,  841,  841,  841,  842,  871,  843,  843,  843,
1072
      843,  843,  843,  866,  867,  868,  869,  870,  872,  873,
1073
      874,  875,  965,  965,  965,  885,  886,  965,  965,  965,
1074
      871,  843,  843,  843,  843,  843,  843,  887,  888,  889,
1075
      890,  891,  872,  873,  874,  875,  876,  876,  876,  885,
1076
      886,  877,  877,  877,  877,  877,  877,  965,  965,  965,
1077
      965,  887,  888,  889,  890,  891,  965,  965,  892,  893,
1078
1079
      894,  895,  896,  897,  898,  877,  877,  877,  877,  877,
1080
      877,  878,  878,  878,  879,  899,  880,  880,  880,  880,
1081
      880,  880,  892,  893,  894,  895,  896,  897,  898,  965,
1082
      965,  965,  965,  900,  901,  902,  903,  904,  905,  899,
1083
      880,  880,  880,  880,  880,  880,  881,  881,  881,  906,
1084
      915,  882,  882,  882,  882,  882,  882,  900,  901,  902,
1085
      903,  904,  905,  965,  965,  965,  965,  965,  916,  917,
1086
      918,  919,  920,  906,  915,  882,  882,  882,  882,  882,
1087
      882,  883,  883,  883,  921,  922,  884,  884,  884,  884,
1088
      884,  884,  916,  917,  918,  919,  920,  965,  965,  965,
1089
1090
      965,  965,  965,  923,  924,  925,  926,  927,  921,  922,
1091
      884,  884,  884,  884,  884,  884,  907,  907,  907,  928,
1092
      929,  908,  908,  908,  908,  908,  908,  923,  924,  925,
1093
      926,  927,  965,  965,  965,  965,  965,  965,  930,  931,
1094
      938,  939,  940,  928,  929,  908,  908,  908,  908,  908,
1095
      908,  909,  909,  909,  941,  942,  910,  910,  910,  910,
1096
      910,  910,  930,  931,  938,  939,  940,  965,  965,  965,
1097
      965,  965,  965,  943,  944,  945,  946,  951,  941,  942,
1098
      910,  910,  910,  910,  910,  910,  911,  911,  911,  952,
1099
      953,  912,  912,  912,  912,  912,  912,  943,  944,  945,
1100
1101
      946,  951,  965,  965,  965,  965,  965,  965,  954,  955,
1102
      956,  959,  960,  952,  953,  912,  912,  912,  912,  912,
1103
      912,  913,  913,  913,  961,  962,  914,  914,  914,  914,
1104
      914,  914,  954,  955,  956,  959,  960,  965,  965,  965,
1105
      965,  965,  965,  963,  964,  965,  965,  965,  961,  962,
1106
      914,  914,  914,  914,  914,  914,  932,  932,  932,  965,
1107
      965,  933,  933,  933,  933,  933,  933,  963,  964,  965,
1108
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1109
      965,  965,  965,  965,  965,  933,  933,  933,  933,  933,
1110
      933,  934,  934,  934,  965,  965,  935,  935,  935,  935,
1111
1112
      935,  935,  965,  965,  965,  965,  965,  965,  965,  965,
1113
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1114
      935,  935,  935,  935,  935,  935,  936,  936,  936,  965,
1115
      965,  937,  937,  937,  937,  937,  937,  965,  965,  965,
1116
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1117
      965,  965,  965,  965,  965,  937,  937,  937,  937,  937,
1118
      937,  947,  947,  947,  965,  965,  948,  948,  948,  948,
1119
      948,  948,  965,  965,  965,  965,  965,  965,  965,  965,
1120
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1121
      948,  948,  948,  948,  948,  948,  949,  949,  949,  965,
1122
1123
      965,  950,  950,  950,  950,  950,  950,  965,  965,  965,
1124
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1125
      965,  965,  965,  965,  965,  950,  950,  950,  950,  950,
1126
      950,  957,  957,  957,  965,  965,  958,  958,  958,  958,
1127
      958,  958,  965,  965,  965,  965,  965,  965,  965,  965,
1128
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1129
      958,  958,  958,  958,  958,  958,   35,   35,   40,   40,
1130
       38,   38,    3,  965,  965,  965,  965,  965,  965,  965,
1131
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1132
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1133
1134
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1135
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1136
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1137
      965,  965,  965,  965,  965,  965,  965
1138
    } ;
1139
1140
static const flex_int16_t yy_chk[3438] =
1141
    {   0,
1142
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1143
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1144
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1145
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1146
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1147
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1148
        1,    1,    1,    1,    7,    7,    7,    7,    8,    7,
1149
        7,    7,    7,    7,    7,    9,    9,    9,  966,    9,
1150
       11,   11,   11,   16,    9,   16,   16,   16,   35,    9,
1151
       16,  958,   60,    7,    7,    7,    7,    7,    7,   25,
1152
1153
       21,   27,    8,   29,   17,   21,   17,   17,   17,   19,
1154
       22,   19,   19,   19,   16,   20,   22,   20,   20,   20,
1155
      957,   17,   35,   25,   21,   27,   60,   29,   26,   21,
1156
      950,  949,   20,   23,   22,   26,  933,    9,    9,   13,
1157
       22,   13,   13,   13,   13,   17,   13,   13,   13,   13,
1158
       13,   13,   26,   41,   41,   41,   20,   23,  932,   26,
1159
       42,   42,   42,   45,  912,   45,   45,   45,  911,   50,
1160
       13,   13,   13,   13,   13,   13,   15,  877,   15,   15,
1161
       15,   23,   28,   28,   15,   18,   15,   18,   18,   18,
1162
       24,   52,   28,   50,   24,   55,   18,   56,   24,   54,
1163
1164
       54,   15,   57,   58,   18,  876,   28,   28,   15,   47,
1165
       15,   47,   47,   47,   24,   52,   28,  840,   24,   55,
1166
       18,   56,   24,   54,   54,   15,   57,   58,   18,   32,
1167
       32,   32,   32,  839,   32,   32,   32,   32,   32,   32,
1168
       40,   40,   40,   48,   40,   48,   48,   48,   49,   40,
1169
       49,   49,   49,   51,   40,   51,   51,   51,   32,   32,
1170
       32,   32,   32,   32,   61,   48,   62,   63,   64,   65,
1171
       66,   59,  790,   68,   49,   53,   51,   53,   53,   53,
1172
       77,   77,   77,   59,   53,  789,  740,  739,   61,   48,
1173
       62,   63,   64,   65,   66,   59,   53,   68,   49,   69,
1174
1175
       51,   70,   40,   40,   43,   43,   43,   59,   53,   43,
1176
       43,   43,   43,   43,   43,  676,  675,  619,  618,   71,
1177
       53,  550,  549,   69,   79,   70,   79,   79,   79,  490,
1178
      489,  423,   84,   43,   43,   43,   43,   43,   43,   44,
1179
       44,   44,   44,   71,   44,   44,   44,   44,   44,   44,
1180
       72,   83,   86,   83,   83,   83,   84,   72,  422,  374,
1181
      364,   87,   88,  169,  363,  169,  169,  169,   44,   44,
1182
       44,   44,   44,   44,   72,   89,   86,   89,   89,   89,
1183
       90,   72,   73,   73,   73,   87,   88,   73,   73,   73,
1184
       73,   73,   73,  362,  361,  338,  116,   89,  116,  116,
1185
1186
      116,  116,  302,  301,   90,   92,   93,   94,   95,   96,
1187
       97,   73,   73,   73,   73,   73,   73,   74,   74,   74,
1188
       74,   89,   74,   74,   74,   74,   74,   74,  291,   92,
1189
       93,   94,   95,   96,   97,  290,  233,  232,  163,   98,
1190
       99,  100,  101,  102,  105,  106,   74,   74,   74,   74,
1191
       74,   74,   78,   78,   78,  102,  107,   78,   78,   78,
1192
       78,   78,   78,   98,   99,  100,  101,  102,  105,  106,
1193
      162,  155,  139,  118,  108,  109,  110,  125,  126,  102,
1194
      107,   78,   78,   78,   78,   78,   78,   80,   80,   80,
1195
       80,  129,   80,   80,   80,   80,   80,   80,  108,  109,
1196
1197
      110,  125,  126,  117,  103,   38,   37,   33,   30,  130,
1198
      131,   14,  132,  134,  138,  129,   80,   80,   80,   80,
1199
       80,   80,   81,   81,   81,  132,  140,   81,   81,   81,
1200
       81,   81,   81,  130,  131,  133,  132,  134,  138,    5,
1201
      133,  137,    3,    0,    0,  137,    0,    0,  127,  132,
1202
      140,   81,   81,   81,   81,   81,   81,   85,  141,  133,
1203
       85,  127,   85,   85,  133,  137,  127,   85,   85,  137,
1204
       85,   85,  127,   85,   85,   85,   85,    0,  142,   85,
1205
        0,    0,  141,  143,   85,  127,   85,   85,    0,    0,
1206
      127,   85,   85,  128,   85,   85,  128,   85,   85,   85,
1207
1208
       85,  128,  142,   85,  111,  111,  111,  143,  144,  111,
1209
      111,  111,  111,  111,  111,    0,    0,  128,    0,  136,
1210
      128,    0,    0,    0,    0,  128,  146,  136,  136,  147,
1211
      148,  149,  144,  111,  111,  111,  111,  111,  111,  113,
1212
      113,  113,  113,  136,  113,  113,  113,  113,  113,  113,
1213
      146,  136,  136,  147,  148,  149,    0,    0,    0,    0,
1214
        0,  150,  151,  152,  153,  154,  156,  157,  113,  113,
1215
      113,  113,  113,  113,  114,  114,  114,  158,  159,  114,
1216
      114,  114,  114,  114,  114,  150,  151,  152,  153,  154,
1217
      156,  157,    0,    0,    0,    0,  160,  161,  177,  178,
1218
1219
      179,  158,  159,  114,  114,  114,  114,  114,  114,  119,
1220
      119,  119,  180,  181,  119,  119,  119,  119,  119,  119,
1221
      160,  161,  177,  178,  179,    0,    0,    0,    0,    0,
1222
        0,  182,  183,  184,  184,  185,  180,  181,  119,  119,
1223
      119,  119,  119,  119,  120,  120,  120,  186,  188,  120,
1224
      120,  120,  120,  120,  120,  182,  183,  184,  184,  185,
1225
        0,    0,    0,    0,    0,    0,    0,    0,  189,    0,
1226
        0,  186,  188,  120,  120,  120,  120,  120,  120,  122,
1227
      122,  122,  122,  190,  122,  122,  122,  122,  122,  122,
1228
      135,  187,  189,  135,  135,  191,  192,  193,  187,  194,
1229
1230
      196,    0,  193,  135,    0,    0,    0,  190,  122,  122,
1231
      122,  122,  122,  122,  135,  187,  197,  135,  135,  191,
1232
      192,  193,  187,  194,  196,  195,  193,  135,  164,  164,
1233
      164,  198,  199,  164,  164,  164,  164,  164,  164,    0,
1234
      197,    0,  195,  200,    0,    0,    0,    0,    0,  195,
1235
      201,  202,  204,  205,    0,  198,  199,  164,  164,  164,
1236
      164,  164,  164,  165,  165,  165,  195,  200,  165,  165,
1237
      165,  165,  165,  165,  201,  202,  204,  205,  203,    0,
1238
        0,    0,    0,    0,    0,  206,  209,  203,    0,  210,
1239
      211,  212,  165,  165,  165,  165,  165,  165,  167,  167,
1240
1241
      167,  167,  203,  167,  167,  167,  167,  167,  167,  206,
1242
      209,  203,  208,  210,  211,  212,    0,    0,    0,    0,
1243
      213,  214,  215,  216,  208,  217,  218,  167,  167,  167,
1244
      167,  167,  167,  170,  170,  170,  208,  219,  170,  170,
1245
      170,  170,  170,  170,  213,  214,  215,  216,  208,  217,
1246
      218,    0,    0,    0,    0,  221,  223,  224,  239,  240,
1247
      241,  219,  170,  170,  170,  170,  170,  170,  172,  172,
1248
      172,  172,  242,  172,  172,  172,  172,  172,  172,  221,
1249
      223,  224,  239,  240,  241,    0,    0,    0,    0,    0,
1250
      243,  244,  245,  247,  248,  249,  242,  172,  172,  172,
1251
1252
      172,  172,  172,  174,  174,  174,  250,  251,  174,  174,
1253
      174,  174,  174,  174,  243,  244,  245,  247,  248,  249,
1254
        0,    0,    0,    0,    0,  252,  253,  254,  255,  256,
1255
      250,  251,  174,  174,  174,  174,  174,  174,  225,  225,
1256
      225,  257,  259,  225,  225,  225,  225,  225,  225,  252,
1257
      253,  254,  255,  256,    0,    0,    0,    0,    0,    0,
1258
      258,  260,  258,  261,  262,  257,  259,  225,  225,  225,
1259
      225,  225,  225,  227,  227,  227,  227,  263,  227,  227,
1260
      227,  227,  227,  227,  258,  260,  258,  261,  262,    0,
1261
        0,    0,    0,    0,    0,  264,  265,  266,  267,  268,
1262
1263
      269,  263,  227,  227,  227,  227,  227,  227,  229,  229,
1264
      229,  270,  271,  229,  229,  229,  229,  229,  229,  264,
1265
      265,  266,  267,  268,  269,    0,    0,    0,    0,    0,
1266
      272,  273,  274,  275,  276,  270,  271,  229,  229,  229,
1267
      229,  229,  229,  234,  234,  234,  277,  278,  234,  234,
1268
      234,  234,  234,  234,  272,  273,  274,  275,  276,    0,
1269
        0,    0,    0,    0,    0,  279,  280,  281,  283,  284,
1270
      277,  278,  234,  234,  234,  234,  234,  234,  235,  235,
1271
      235,  285,  288,  235,  235,  235,  235,  235,  235,  279,
1272
      280,  281,  283,  284,    0,    0,    0,    0,    0,    0,
1273
1274
        0,  289,    0,  303,  304,  285,  288,  235,  235,  235,
1275
      235,  235,  235,  237,  237,  237,  246,  305,  237,  237,
1276
      237,  237,  237,  237,  287,  289,  246,  303,  304,  306,
1277
      246,  307,  246,  308,  309,  310,  311,  312,  313,  287,
1278
      246,  305,  237,  237,  237,  237,  237,  237,  287,    0,
1279
      246,  314,  315,  306,  246,  307,  246,  308,  309,  310,
1280
      311,  312,  313,  287,  292,  292,  292,  316,  317,  292,
1281
      292,  292,  292,  292,  292,  314,  315,    0,  318,  319,
1282
        0,    0,    0,    0,    0,    0,  320,  321,  322,  323,
1283
      324,  316,  317,  292,  292,  292,  292,  292,  292,  293,
1284
1285
      293,  293,  318,  319,  293,  293,  293,  293,  293,  293,
1286
      320,  321,  322,  323,  324,    0,    0,    0,    0,    0,
1287
        0,  325,  326,  327,  328,  329,  330,  331,  293,  293,
1288
      293,  293,  293,  293,  295,  295,  295,  332,  333,  295,
1289
      295,  295,  295,  295,  295,  325,  326,  327,  328,  329,
1290
      330,  331,    0,    0,    0,    0,  334,  335,  336,  337,
1291
      340,  332,  333,  295,  295,  295,  295,  295,  295,  297,
1292
      297,  297,  341,  343,  297,  297,  297,  297,  297,  297,
1293
      334,  335,  336,  337,  340,    0,    0,    0,    0,    0,
1294
        0,  342,  342,  344,  345,  346,  341,  343,  297,  297,
1295
1296
      297,  297,  297,  297,  299,  299,  299,  299,  347,  299,
1297
      299,  299,  299,  299,  299,  342,  342,  344,  345,  346,
1298
      348,  349,  350,  351,  352,  353,  354,  355,  356,    0,
1299
        0,    0,  347,  299,  299,  299,  299,  299,  299,    0,
1300
      368,  369,  370,  371,  348,  349,  350,  351,  352,  353,
1301
      354,  355,  356,  357,  357,  357,  372,  373,  357,  357,
1302
      357,  357,  357,  357,  368,  369,  370,  371,  375,    0,
1303
        0,    0,    0,    0,    0,  376,  377,  378,  379,  380,
1304
      372,  373,  357,  357,  357,  357,  357,  357,  359,  359,
1305
      359,  359,  375,  359,  359,  359,  359,  359,  359,  376,
1306
1307
      377,  378,  379,  380,    0,    0,    0,    0,    0,    0,
1308
      381,  382,  383,  384,  385,  386,  387,  359,  359,  359,
1309
      359,  359,  359,  365,  365,  365,  388,  390,  365,  365,
1310
      365,  365,  365,  365,  381,  382,  383,  384,  385,  386,
1311
      387,    0,    0,    0,    0,  391,    0,  393,  394,    0,
1312
      388,  390,  365,  365,  365,  365,  365,  365,  366,  366,
1313
      366,  396,  397,  366,  366,  366,  366,  366,  366,  391,
1314
      392,  393,  394,  392,  392,  395,  398,  399,  400,  395,
1315
      395,  401,  402,  403,  404,  396,  397,  366,  366,  366,
1316
      366,  366,  366,  405,  392,  407,  408,  392,  392,  395,
1317
1318
      398,  399,  400,  395,  395,  401,  402,  403,  404,  409,
1319
      410,  412,  414,  415,  416,  417,  418,  405,  419,  407,
1320
      408,  420,  421,    0,    0,    0,  431,  432,    0,    0,
1321
        0,    0,    0,  409,  410,  412,  414,  415,  416,  417,
1322
      418,  433,  419,  434,  435,  420,  421,  424,  424,  424,
1323
      431,  432,  424,  424,  424,  424,  424,  424,    0,    0,
1324
        0,  436,  437,    0,    0,  433,    0,  434,  435,  438,
1325
      439,  440,  442,  443,  444,  445,  424,  424,  424,  424,
1326
      424,  424,  425,  425,  425,  436,  437,  425,  425,  425,
1327
      425,  425,  425,  438,  439,  440,  442,  443,  444,  445,
1328
1329
        0,    0,    0,    0,  446,  447,  441,  448,  450,  441,
1330
      451,  425,  425,  425,  425,  425,  425,  427,  427,  427,
1331
      441,  452,  427,  427,  427,  427,  427,  427,  446,  447,
1332
      441,  448,  450,  441,  451,    0,    0,    0,    0,  453,
1333
      454,  455,  456,  457,  441,  452,  427,  427,  427,  427,
1334
      427,  427,  429,  429,  429,  429,  458,  429,  429,  429,
1335
      429,  429,  429,  453,  454,  455,  456,  457,  459,  460,
1336
      461,  462,  463,  464,  465,  466,  467,  468,  469,  470,
1337
      458,  429,  429,  429,  429,  429,  429,  471,  472,  473,
1338
      475,  477,  459,  460,  461,  462,  463,  464,  465,  466,
1339
1340
      467,  468,  469,  470,  474,  478,  479,  480,  474,  481,
1341
      482,  471,  472,  473,  475,  477,  483,  484,    0,    0,
1342
        0,  494,  495,    0,    0,    0,    0,    0,  474,  478,
1343
      479,  480,  474,  481,  482,  496,  498,  500,  502,  503,
1344
      483,  484,  485,  485,  485,  494,  495,  485,  485,  485,
1345
      485,  485,  485,    0,    0,    0,    0,  504,    0,  496,
1346
      498,  500,  502,  503,  499,  505,  506,  507,  499,  508,
1347
      509,  485,  485,  485,  485,  485,  485,  487,  487,  487,
1348
      487,  504,  487,  487,  487,  487,  487,  487,  499,  505,
1349
      506,  507,  499,  508,  509,    0,    0,    0,    0,  510,
1350
1351
      512,  513,  514,  515,  516,  517,  487,  487,  487,  487,
1352
      487,  487,  491,  491,  491,  518,  519,  491,  491,  491,
1353
      491,  491,  491,  510,  512,  513,  514,  515,  516,  517,
1354
        0,    0,    0,    0,    0,  520,  521,  522,  523,  518,
1355
      519,  491,  491,  491,  491,  491,  491,  492,  492,  492,
1356
      524,  525,  492,  492,  492,  492,  492,  492,  497,  520,
1357
      521,  522,  523,  526,  497,  527,  497,  528,  529,  530,
1358
      497,  531,  530,  532,  524,  525,  492,  492,  492,  492,
1359
      492,  492,  497,  533,  534,  535,  538,  526,  497,  527,
1360
      497,  528,  529,  530,  497,  531,  530,  532,  539,  540,
1361
1362
      541,  542,  543,  544,  545,  546,  547,  533,  534,  535,
1363
      538,  548,    0,    0,    0,  558,  559,    0,    0,    0,
1364
        0,    0,  539,  540,  541,  542,  543,  544,  545,  546,
1365
      547,  560,  561,  562,  563,  548,  551,  551,  551,  558,
1366
      559,  551,  551,  551,  551,  551,  551,    0,    0,    0,
1367
      564,  565,    0,    0,    0,  560,  561,  562,  563,  566,
1368
      567,  568,  569,  570,  571,  551,  551,  551,  551,  551,
1369
      551,  552,  552,  552,  564,  565,  552,  552,  552,  552,
1370
      552,  552,    0,  566,  567,  568,  569,  570,  571,    0,
1371
        0,    0,    0,  572,  573,  574,  575,  576,  578,  579,
1372
1373
      552,  552,  552,  552,  552,  552,  554,  554,  554,  580,
1374
      581,  554,  554,  554,  554,  554,  554,  572,  573,  574,
1375
      575,  576,  578,  579,    0,    0,    0,    0,  582,  583,
1376
      584,  585,  586,  580,  581,  554,  554,  554,  554,  554,
1377
      554,  556,  556,  556,  556,  587,  556,  556,  556,  556,
1378
      556,  556,  582,  583,  584,  585,  586,  588,  589,  590,
1379
      591,  592,  593,  594,  595,  596,  597,  598,  599,  587,
1380
      556,  556,  556,  556,  556,  556,  600,  601,  602,  603,
1381
      604,  588,  589,  590,  591,  592,  593,  594,  595,  596,
1382
      597,  598,  599,  605,  606,  607,  608,  610,  613,    0,
1383
1384
      600,  601,  602,  603,  604,    0,    0,    0,    0,    0,
1385
      623,  624,  625,  626,  628,  629,  630,  605,  606,  607,
1386
      608,  610,  613,  614,  614,  614,  631,  632,  614,  614,
1387
      614,  614,  614,  614,  623,  624,  625,  626,  628,  629,
1388
      630,    0,    0,    0,    0,  633,  634,  635,  636,  637,
1389
      631,  632,  614,  614,  614,  614,  614,  614,  616,  616,
1390
      616,  616,  638,  616,  616,  616,  616,  616,  616,  633,
1391
      634,  635,  636,  637,    0,    0,    0,    0,    0,    0,
1392
      639,  640,  641,  642,  640,  643,  638,  616,  616,  616,
1393
      616,  616,  616,  620,  620,  620,  644,  645,  620,  620,
1394
1395
      620,  620,  620,  620,  639,  640,  641,  642,  640,  643,
1396
        0,    0,    0,    0,    0,  646,  647,  648,  650,  651,
1397
      644,  645,  620,  620,  620,  620,  620,  620,  621,  621,
1398
      621,  652,  653,  621,  621,  621,  621,  621,  621,  646,
1399
      647,  648,  650,  651,  654,  655,  656,  657,  658,  659,
1400
      660,  661,  662,  663,  664,  652,  653,  621,  621,  621,
1401
      621,  621,  621,  665,  666,  667,  668,  669,  654,  655,
1402
      656,  657,  658,  659,  660,  661,  662,  663,  664,  670,
1403
      671,  672,  673,  674,    0,    0,    0,  665,  666,  667,
1404
      668,  669,    0,    0,    0,  684,  686,  687,  688,  689,
1405
1406
      690,  691,  692,  670,  671,  672,  673,  674,  677,  677,
1407
      677,  693,  694,  677,  677,  677,  677,  677,  677,  684,
1408
      686,  687,  688,  689,  690,  691,  692,    0,    0,    0,
1409
      695,  697,  699,  700,  701,  693,  694,  677,  677,  677,
1410
      677,  677,  677,  678,  678,  678,  702,  703,  678,  678,
1411
      678,  678,  678,  678,  695,  697,  699,  700,  701,    0,
1412
        0,    0,    0,    0,    0,  704,  705,  706,  707,  708,
1413
      702,  703,  678,  678,  678,  678,  678,  678,  680,  680,
1414
      680,  709,  710,  680,  680,  680,  680,  680,  680,  704,
1415
      705,  706,  707,  708,    0,    0,    0,    0,    0,    0,
1416
1417
      711,  712,  713,  714,  717,  709,  710,  680,  680,  680,
1418
      680,  680,  680,  682,  682,  682,  682,  718,  682,  682,
1419
      682,  682,  682,  682,  711,  712,  713,  714,  717,  719,
1420
      720,  722,  723,  724,  725,  726,  727,  728,  729,  730,
1421
      731,  718,  682,  682,  682,  682,  682,  682,  732,  733,
1422
      734,    0,    0,  719,  720,  722,  723,  724,  725,  726,
1423
      727,  728,  729,  730,  731,  745,  746,  747,  748,  750,
1424
      751,  752,  732,  733,  734,  735,  735,  735,  755,  756,
1425
      735,  735,  735,  735,  735,  735,    0,    0,    0,  745,
1426
      746,  747,  748,  750,  751,  752,    0,  757,  758,  761,
1427
1428
      762,  763,  755,  756,  735,  735,  735,  735,  735,  735,
1429
      737,  737,  737,  737,  764,  737,  737,  737,  737,  737,
1430
      737,  757,  758,  761,  762,  763,    0,    0,    0,    0,
1431
        0,    0,  765,  766,  767,  768,  769,  770,  764,  737,
1432
      737,  737,  737,  737,  737,  741,  741,  741,  771,  772,
1433
      741,  741,  741,  741,  741,  741,  765,  766,  767,  768,
1434
      769,  770,    0,    0,    0,    0,    0,  773,  774,  776,
1435
      778,  779,  771,  772,  741,  741,  741,  741,  741,  741,
1436
      742,  742,  742,  780,  781,  742,  742,  742,  742,  742,
1437
      742,  773,  774,  776,  778,  779,  782,  783,  784,  785,
1438
1439
      786,  787,  788,    0,    0,    0,  798,  780,  781,  742,
1440
      742,  742,  742,  742,  742,  799,  800,  801,  802,  803,
1441
      782,  783,  784,  785,  786,  787,  788,  791,  791,  791,
1442
      798,  804,  791,  791,  791,  791,  791,  791,    0,  799,
1443
      800,  801,  802,  803,    0,    0,    0,    0,    0,  805,
1444
      806,  807,  808,  809,  810,  804,  791,  791,  791,  791,
1445
      791,  791,  792,  792,  792,  811,  812,  792,  792,  792,
1446
      792,  792,  792,  805,  806,  807,  808,  809,  810,    0,
1447
        0,    0,    0,    0,  814,  815,  816,  818,  819,  811,
1448
      812,  792,  792,  792,  792,  792,  792,  794,  794,  794,
1449
1450
      820,  821,  794,  794,  794,  794,  794,  794,  814,  815,
1451
      816,  818,  819,    0,    0,    0,    0,    0,    0,  822,
1452
      823,  824,  825,  827,  820,  821,  794,  794,  794,  794,
1453
      794,  794,  796,  796,  796,  796,  828,  796,  796,  796,
1454
      796,  796,  796,  822,  823,  824,  825,  827,  830,  831,
1455
      832,  834,    0,    0,    0,  844,  845,    0,    0,    0,
1456
      828,  796,  796,  796,  796,  796,  796,  848,  849,  850,
1457
      855,  856,  830,  831,  832,  834,  835,  835,  835,  844,
1458
      845,  835,  835,  835,  835,  835,  835,    0,    0,    0,
1459
        0,  848,  849,  850,  855,  856,    0,    0,  857,  858,
1460
1461
      860,  863,  864,  865,  867,  835,  835,  835,  835,  835,
1462
      835,  837,  837,  837,  837,  868,  837,  837,  837,  837,
1463
      837,  837,  857,  858,  860,  863,  864,  865,  867,    0,
1464
        0,    0,    0,  869,  870,  871,  872,  873,  874,  868,
1465
      837,  837,  837,  837,  837,  837,  841,  841,  841,  875,
1466
      885,  841,  841,  841,  841,  841,  841,  869,  870,  871,
1467
      872,  873,  874,    0,    0,    0,    0,    0,  886,  887,
1468
      888,  889,  890,  875,  885,  841,  841,  841,  841,  841,
1469
      841,  842,  842,  842,  891,  892,  842,  842,  842,  842,
1470
      842,  842,  886,  887,  888,  889,  890,    0,    0,    0,
1471
1472
        0,    0,    0,  893,  894,  895,  897,  898,  891,  892,
1473
      842,  842,  842,  842,  842,  842,  878,  878,  878,  900,
1474
      902,  878,  878,  878,  878,  878,  878,  893,  894,  895,
1475
      897,  898,    0,    0,    0,    0,    0,    0,  904,  906,
1476
      915,  916,  918,  900,  902,  878,  878,  878,  878,  878,
1477
      878,  879,  879,  879,  919,  920,  879,  879,  879,  879,
1478
      879,  879,  904,  906,  915,  916,  918,    0,    0,    0,
1479
        0,    0,    0,  922,  923,  929,  931,  939,  919,  920,
1480
      879,  879,  879,  879,  879,  879,  881,  881,  881,  940,
1481
      941,  881,  881,  881,  881,  881,  881,  922,  923,  929,
1482
1483
      931,  939,    0,    0,    0,    0,    0,    0,  942,  943,
1484
      944,  951,  956,  940,  941,  881,  881,  881,  881,  881,
1485
      881,  883,  883,  883,  959,  961,  883,  883,  883,  883,
1486
      883,  883,  942,  943,  944,  951,  956,    0,    0,    0,
1487
        0,    0,    0,  962,  963,    0,    0,    0,  959,  961,
1488
      883,  883,  883,  883,  883,  883,  907,  907,  907,    0,
1489
        0,  907,  907,  907,  907,  907,  907,  962,  963,    0,
1490
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1491
        0,    0,    0,    0,    0,  907,  907,  907,  907,  907,
1492
      907,  909,  909,  909,    0,    0,  909,  909,  909,  909,
1493
1494
      909,  909,    0,    0,    0,    0,    0,    0,    0,    0,
1495
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1496
      909,  909,  909,  909,  909,  909,  913,  913,  913,    0,
1497
        0,  913,  913,  913,  913,  913,  913,    0,    0,    0,
1498
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1499
        0,    0,    0,    0,    0,  913,  913,  913,  913,  913,
1500
      913,  934,  934,  934,    0,    0,  934,  934,  934,  934,
1501
      934,  934,    0,    0,    0,    0,    0,    0,    0,    0,
1502
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1503
      934,  934,  934,  934,  934,  934,  936,  936,  936,    0,
1504
1505
        0,  936,  936,  936,  936,  936,  936,    0,    0,    0,
1506
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1507
        0,    0,    0,    0,    0,  936,  936,  936,  936,  936,
1508
      936,  947,  947,  947,    0,    0,  947,  947,  947,  947,
1509
      947,  947,    0,    0,    0,    0,    0,    0,    0,    0,
1510
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1511
      947,  947,  947,  947,  947,  947,  967,  967,  968,  968,
1512
      969,  969,  965,  965,  965,  965,  965,  965,  965,  965,
1513
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1514
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1515
1516
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1517
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1518
      965,  965,  965,  965,  965,  965,  965,  965,  965,  965,
1519
      965,  965,  965,  965,  965,  965,  965
1520
    } ;
1521
1522
/* Table of booleans, true if rule could match eol. */
1523
static const flex_int32_t yy_rule_can_match_eol[92] =
1524
    {   0,
1525
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
1526
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
1527
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
1528
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
1529
    0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,     };
1530
1531
static yy_state_type yy_last_accepting_state;
1532
static char *yy_last_accepting_cpos;
1533
1534
extern int yy_flex_debug;
1535
int yy_flex_debug = 0;
1536
1537
/* The intent behind this definition is that it'll catch
1538
 * any uses of REJECT which flex missed.
1539
 */
1540
#define REJECT reject_used_but_not_detected
1541
#define yymore() yymore_used_but_not_detected
1542
186k
#define YY_MORE_ADJ 0
1543
#define YY_RESTORE_YY_MORE_OFFSET
1544
char *yytext;
1545
#line 1 "scanner.l"
1546
/*
1547
 *
1548
 *   Authors:
1549
 *    Pedro Roque   <roque@di.fc.ul.pt>
1550
 *    Lars Fenneberg    <lf@elemental.net>
1551
 *
1552
 *   This software is Copyright 1996-2000 by the above mentioned author(s),
1553
 *   All Rights Reserved.
1554
 *
1555
 *   The license which is distributed with this software in the file COPYRIGHT
1556
 *   applies to this software. If your distribution is missing this file, you
1557
 *   may request it from https://github.com/radvd-project/radvd/issues
1558
 *
1559
 */
1560
#define YY_NO_INPUT 1
1561
#line 19 "scanner.l"
1562
#include "config.h"
1563
#include "includes.h"
1564
#include "log.h"
1565
#include "gram.h"
1566
1567
int num_lines;
1568
1569
#line 1570 "scanner.c"
1570
#line 1571 "scanner.c"
1571
1572
#define INITIAL 0
1573
1574
#ifndef YY_NO_UNISTD_H
1575
/* Special case for "unistd.h", since it is non-ANSI. We include it way
1576
 * down here because we want the user's section 1 to have been scanned first.
1577
 * The user has a chance to override it with an option.
1578
 */
1579
#include <unistd.h>
1580
#endif
1581
1582
#ifndef YY_EXTRA_TYPE
1583
#define YY_EXTRA_TYPE void *
1584
#endif
1585
1586
static int yy_init_globals ( void );
1587
1588
/* Accessor methods to globals.
1589
   These are made visible to non-reentrant scanners for convenience. */
1590
1591
int yylex_destroy ( void );
1592
1593
int yyget_debug ( void );
1594
1595
void yyset_debug ( int debug_flag  );
1596
1597
YY_EXTRA_TYPE yyget_extra ( void );
1598
1599
void yyset_extra ( YY_EXTRA_TYPE user_defined  );
1600
1601
FILE *yyget_in ( void );
1602
1603
void yyset_in  ( FILE * _in_str  );
1604
1605
FILE *yyget_out ( void );
1606
1607
void yyset_out  ( FILE * _out_str  );
1608
1609
      int yyget_leng ( void );
1610
1611
char *yyget_text ( void );
1612
1613
int yyget_lineno ( void );
1614
1615
void yyset_lineno ( int _line_number  );
1616
1617
/* Macros after this point can all be overridden by user definitions in
1618
 * section 1.
1619
 */
1620
1621
#ifndef YY_SKIP_YYWRAP
1622
#ifdef __cplusplus
1623
extern "C" int yywrap ( void );
1624
#else
1625
extern int yywrap ( void );
1626
#endif
1627
#endif
1628
1629
#ifndef YY_NO_UNPUT
1630
    
1631
#endif
1632
1633
#ifndef yytext_ptr
1634
static void yy_flex_strncpy ( char *, const char *, int );
1635
#endif
1636
1637
#ifdef YY_NEED_STRLEN
1638
static int yy_flex_strlen ( const char * );
1639
#endif
1640
1641
#ifndef YY_NO_INPUT
1642
#ifdef __cplusplus
1643
static int yyinput ( void );
1644
#else
1645
static int input ( void );
1646
#endif
1647
1648
#endif
1649
1650
/* Amount of stuff to slurp up with each read. */
1651
#ifndef YY_READ_BUF_SIZE
1652
#ifdef __ia64__
1653
/* On IA-64, the buffer size is 16k, not 8k */
1654
#define YY_READ_BUF_SIZE 16384
1655
#else
1656
5.75k
#define YY_READ_BUF_SIZE 8192
1657
#endif /* __ia64__ */
1658
#endif
1659
1660
/* Copy whatever the last rule matched to the standard output. */
1661
#ifndef ECHO
1662
/* This used to be an fputs(), but since the string might contain NUL's,
1663
 * we now use fwrite().
1664
 */
1665
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1666
#endif
1667
1668
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1669
 * is returned in "result".
1670
 */
1671
#ifndef YY_INPUT
1672
#define YY_INPUT(buf,result,max_size) \
1673
3.09k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1674
3.09k
    { \
1675
0
    int c = '*'; \
1676
0
    int n; \
1677
0
    for ( n = 0; n < max_size && \
1678
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1679
0
      buf[n] = (char) c; \
1680
0
    if ( c == '\n' ) \
1681
0
      buf[n++] = (char) c; \
1682
0
    if ( c == EOF && ferror( yyin ) ) \
1683
0
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
1684
0
    result = n; \
1685
0
    } \
1686
3.09k
  else \
1687
3.09k
    { \
1688
3.09k
    errno=0; \
1689
3.09k
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1690
3.09k
      { \
1691
0
      if( errno != EINTR) \
1692
0
        { \
1693
0
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
1694
0
        break; \
1695
0
        } \
1696
0
      errno=0; \
1697
0
      clearerr(yyin); \
1698
0
      } \
1699
3.09k
    }\
1700
\
1701
1702
#endif
1703
1704
/* No semi-colon after return; correct usage is to write "yyterminate();" -
1705
 * we don't want an extra ';' after the "return" because that will cause
1706
 * some compilers to complain about unreachable statements.
1707
 */
1708
#ifndef yyterminate
1709
48
#define yyterminate() return YY_NULL
1710
#endif
1711
1712
/* Number of entries by which start-condition stack grows. */
1713
#ifndef YY_START_STACK_INCR
1714
#define YY_START_STACK_INCR 25
1715
#endif
1716
1717
/* Report a fatal error. */
1718
#ifndef YY_FATAL_ERROR
1719
0
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1720
#endif
1721
1722
/* end tables serialization structures and prototypes */
1723
1724
/* Default declaration of generated scanner - a define so the user can
1725
 * easily add parameters.
1726
 */
1727
#ifndef YY_DECL
1728
#define YY_DECL_IS_OURS 1
1729
1730
extern int yylex (void);
1731
1732
#define YY_DECL int yylex (void)
1733
#endif /* !YY_DECL */
1734
1735
/* Code executed at the beginning of each rule, after yytext and yyleng
1736
 * have been set up.
1737
 */
1738
#ifndef YY_USER_ACTION
1739
#define YY_USER_ACTION
1740
#endif
1741
1742
/* Code executed at the end of each rule. */
1743
#ifndef YY_BREAK
1744
916k
#define YY_BREAK /*LINTED*/break;
1745
#endif
1746
1747
#define YY_RULE_SETUP \
1748
  YY_USER_ACTION
1749
1750
/** The main scanner function which does all the work.
1751
 */
1752
YY_DECL
1753
634
{
1754
634
  yy_state_type yy_current_state;
1755
634
  char *yy_cp, *yy_bp;
1756
634
  int yy_act;
1757
    
1758
634
  if ( !(yy_init) )
1759
634
    {
1760
634
    (yy_init) = 1;
1761
1762
#ifdef YY_USER_INIT
1763
    YY_USER_INIT;
1764
#endif
1765
1766
634
    if ( ! (yy_start) )
1767
634
      (yy_start) = 1; /* first start state */
1768
1769
634
    if ( ! yyin )
1770
0
      yyin = stdin;
1771
1772
634
    if ( ! yyout )
1773
634
      yyout = stdout;
1774
1775
634
    if ( ! YY_CURRENT_BUFFER ) {
1776
634
      yyensure_buffer_stack ();
1777
634
      YY_CURRENT_BUFFER_LVALUE =
1778
634
        yy_create_buffer( yyin, YY_BUF_SIZE );
1779
634
    }
1780
1781
634
    yy_load_buffer_state(  );
1782
634
    }
1783
1784
634
  {
1785
634
#line 40 "scanner.l"
1786
1787
1788
634
#line 1789 "scanner.c"
1789
1790
917k
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
1791
917k
    {
1792
917k
    yy_cp = (yy_c_buf_p);
1793
1794
    /* Support of yytext. */
1795
917k
    *yy_cp = (yy_hold_char);
1796
1797
    /* yy_bp points to the position in yy_ch_buf of the start of
1798
     * the current run.
1799
     */
1800
917k
    yy_bp = yy_cp;
1801
1802
917k
    yy_current_state = (yy_start);
1803
1.00M
yy_match:
1804
1.00M
    do
1805
14.6M
      {
1806
14.6M
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1807
14.6M
      if ( yy_accept[yy_current_state] )
1808
2.83M
        {
1809
2.83M
        (yy_last_accepting_state) = yy_current_state;
1810
2.83M
        (yy_last_accepting_cpos) = yy_cp;
1811
2.83M
        }
1812
27.8M
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1813
13.2M
        {
1814
13.2M
        yy_current_state = (int) yy_def[yy_current_state];
1815
13.2M
        if ( yy_current_state >= 966 )
1816
13.0M
          yy_c = yy_meta[yy_c];
1817
13.2M
        }
1818
14.6M
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1819
14.6M
      ++yy_cp;
1820
14.6M
      }
1821
14.6M
    while ( yy_base[yy_current_state] != 3373 );
1822
1823
1.01M
yy_find_action:
1824
1.01M
    yy_act = yy_accept[yy_current_state];
1825
1.01M
    if ( yy_act == 0 )
1826
95.6k
      { /* have to back up */
1827
95.6k
      yy_cp = (yy_last_accepting_cpos);
1828
95.6k
      yy_current_state = (yy_last_accepting_state);
1829
95.6k
      yy_act = yy_accept[yy_current_state];
1830
95.6k
      }
1831
1832
1.01M
    YY_DO_BEFORE_ACTION;
1833
1834
1.01M
    if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1835
897k
      {
1836
897k
      int yyl;
1837
4.98M
      for ( yyl = 0; yyl < yyleng; ++yyl )
1838
4.08M
        if ( yytext[yyl] == '\n' )
1839
          
1840
1.05M
    yylineno++;
1841
897k
;
1842
897k
      }
1843
1844
1.01M
do_action:  /* This label is used only to access EOF actions. */
1845
1846
1.01M
    switch ( yy_act )
1847
1.01M
  { /* beginning of action switch */
1848
0
      case 0: /* must back up */
1849
      /* undo the effects of YY_DO_BEFORE_ACTION */
1850
0
      *yy_cp = (yy_hold_char);
1851
0
      yy_cp = (yy_last_accepting_cpos);
1852
0
      yy_current_state = (yy_last_accepting_state);
1853
0
      goto yy_find_action;
1854
1855
16.8k
case 1:
1856
16.8k
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
1857
16.8k
(yy_c_buf_p) = yy_cp -= 1;
1858
16.8k
YY_DO_BEFORE_ACTION; /* set up yytext again */
1859
16.8k
YY_RULE_SETUP
1860
16.8k
#line 42 "scanner.l"
1861
16.8k
{/* ignore comments */}
1862
16.8k
  YY_BREAK
1863
897k
case 2:
1864
/* rule 2 can match eol */
1865
897k
YY_RULE_SETUP
1866
897k
#line 43 "scanner.l"
1867
897k
{num_lines++;}
1868
897k
  YY_BREAK
1869
2.40k
case 3:
1870
2.40k
YY_RULE_SETUP
1871
2.40k
#line 44 "scanner.l"
1872
2.40k
{}
1873
2.40k
  YY_BREAK
1874
0
case 4:
1875
0
YY_RULE_SETUP
1876
0
#line 46 "scanner.l"
1877
0
{ return T_INTERFACE; }
1878
0
  YY_BREAK
1879
2
case 5:
1880
2
YY_RULE_SETUP
1881
2
#line 47 "scanner.l"
1882
2
{ return T_PREFIX; }
1883
0
  YY_BREAK
1884
1
case 6:
1885
1
YY_RULE_SETUP
1886
1
#line 48 "scanner.l"
1887
1
{ return T_ROUTE; }
1888
0
  YY_BREAK
1889
1
case 7:
1890
1
YY_RULE_SETUP
1891
1
#line 49 "scanner.l"
1892
1
{ return T_RDNSS; }
1893
0
  YY_BREAK
1894
2
case 8:
1895
2
YY_RULE_SETUP
1896
2
#line 50 "scanner.l"
1897
2
{ return T_DNSSL; }
1898
0
  YY_BREAK
1899
1
case 9:
1900
1
YY_RULE_SETUP
1901
1
#line 51 "scanner.l"
1902
1
{ return T_DNR; }
1903
0
  YY_BREAK
1904
0
case 10:
1905
0
YY_RULE_SETUP
1906
0
#line 52 "scanner.l"
1907
0
{ return T_CLIENTS; }
1908
0
  YY_BREAK
1909
0
case 11:
1910
0
YY_RULE_SETUP
1911
0
#line 53 "scanner.l"
1912
0
{ return T_LOWPANCO; }
1913
0
  YY_BREAK
1914
1
case 12:
1915
1
YY_RULE_SETUP
1916
1
#line 54 "scanner.l"
1917
1
{ return T_ABRO; }
1918
0
  YY_BREAK
1919
0
case 13:
1920
0
YY_RULE_SETUP
1921
0
#line 55 "scanner.l"
1922
0
{ return T_NAT64PREFIX; }
1923
0
  YY_BREAK
1924
0
case 14:
1925
0
YY_RULE_SETUP
1926
0
#line 56 "scanner.l"
1927
0
{ return T_AUTOIGNOREPREFIX; }
1928
0
  YY_BREAK
1929
0
case 15:
1930
0
YY_RULE_SETUP
1931
0
#line 58 "scanner.l"
1932
0
{ return T_RASRCADDRESS; }
1933
0
  YY_BREAK
1934
0
case 16:
1935
0
YY_RULE_SETUP
1936
0
#line 60 "scanner.l"
1937
0
{ return T_IgnoreIfMissing; }
1938
0
  YY_BREAK
1939
0
case 17:
1940
0
YY_RULE_SETUP
1941
0
#line 61 "scanner.l"
1942
0
{ return T_AdvSendAdvert; }
1943
0
  YY_BREAK
1944
0
case 18:
1945
0
YY_RULE_SETUP
1946
0
#line 62 "scanner.l"
1947
0
{ return T_MaxRtrAdvInterval; }
1948
0
  YY_BREAK
1949
0
case 19:
1950
0
YY_RULE_SETUP
1951
0
#line 63 "scanner.l"
1952
0
{ return T_MinRtrAdvInterval; }
1953
0
  YY_BREAK
1954
0
case 20:
1955
0
YY_RULE_SETUP
1956
0
#line 64 "scanner.l"
1957
0
{ return T_AdvManagedFlag; }
1958
0
  YY_BREAK
1959
0
case 21:
1960
0
YY_RULE_SETUP
1961
0
#line 65 "scanner.l"
1962
0
{ return T_AdvOtherConfigFlag; }
1963
0
  YY_BREAK
1964
0
case 22:
1965
0
YY_RULE_SETUP
1966
0
#line 66 "scanner.l"
1967
0
{ return T_AdvLinkMTU; }
1968
0
  YY_BREAK
1969
0
case 23:
1970
0
YY_RULE_SETUP
1971
0
#line 67 "scanner.l"
1972
0
{ return T_AdvRAMTU; }
1973
0
  YY_BREAK
1974
0
case 24:
1975
0
YY_RULE_SETUP
1976
0
#line 68 "scanner.l"
1977
0
{ return T_AdvReachableTime; }
1978
0
  YY_BREAK
1979
0
case 25:
1980
0
YY_RULE_SETUP
1981
0
#line 69 "scanner.l"
1982
0
{ return T_AdvRetransTimer; }
1983
0
  YY_BREAK
1984
0
case 26:
1985
0
YY_RULE_SETUP
1986
0
#line 70 "scanner.l"
1987
0
{ return T_AdvCurHopLimit; }
1988
0
  YY_BREAK
1989
0
case 27:
1990
0
YY_RULE_SETUP
1991
0
#line 71 "scanner.l"
1992
0
{ return T_AdvDefaultLifetime; }
1993
0
  YY_BREAK
1994
0
case 28:
1995
0
YY_RULE_SETUP
1996
0
#line 72 "scanner.l"
1997
0
{ return T_AdvDefaultPreference; }
1998
0
  YY_BREAK
1999
0
case 29:
2000
0
YY_RULE_SETUP
2001
0
#line 73 "scanner.l"
2002
0
{ return T_AdvSourceLLAddress; }
2003
0
  YY_BREAK
2004
0
case 30:
2005
0
YY_RULE_SETUP
2006
0
#line 74 "scanner.l"
2007
0
{ return T_RemoveAdvOnExit; }
2008
0
  YY_BREAK
2009
0
case 31:
2010
0
YY_RULE_SETUP
2011
0
#line 76 "scanner.l"
2012
0
{ return T_AdvOnLink; }
2013
0
  YY_BREAK
2014
0
case 32:
2015
0
YY_RULE_SETUP
2016
0
#line 77 "scanner.l"
2017
0
{ return T_AdvAutonomous; }
2018
0
  YY_BREAK
2019
0
case 33:
2020
0
YY_RULE_SETUP
2021
0
#line 78 "scanner.l"
2022
0
{ return T_AdvDHCPv6PDPreferred; }
2023
0
  YY_BREAK
2024
0
case 34:
2025
0
YY_RULE_SETUP
2026
0
#line 79 "scanner.l"
2027
0
{ return T_AdvValidLifetime; }
2028
0
  YY_BREAK
2029
0
case 35:
2030
0
YY_RULE_SETUP
2031
0
#line 80 "scanner.l"
2032
0
{ return T_AdvPreferredLifetime; }
2033
0
  YY_BREAK
2034
0
case 36:
2035
0
YY_RULE_SETUP
2036
0
#line 81 "scanner.l"
2037
0
{ return T_DeprecatePrefix; }
2038
0
  YY_BREAK
2039
0
case 37:
2040
0
YY_RULE_SETUP
2041
0
#line 82 "scanner.l"
2042
0
{ return T_DecrementLifetimes; }
2043
0
  YY_BREAK
2044
0
case 38:
2045
0
YY_RULE_SETUP
2046
0
#line 84 "scanner.l"
2047
0
{ return T_AdvRouterAddr; }
2048
0
  YY_BREAK
2049
0
case 39:
2050
0
YY_RULE_SETUP
2051
0
#line 85 "scanner.l"
2052
0
{ return T_AdvHomeAgentFlag; }
2053
0
  YY_BREAK
2054
0
case 40:
2055
0
YY_RULE_SETUP
2056
0
#line 86 "scanner.l"
2057
0
{ return T_AdvIntervalOpt; }
2058
0
  YY_BREAK
2059
0
case 41:
2060
0
YY_RULE_SETUP
2061
0
#line 87 "scanner.l"
2062
0
{ return T_AdvHomeAgentInfo; }
2063
0
  YY_BREAK
2064
0
case 42:
2065
0
YY_RULE_SETUP
2066
0
#line 88 "scanner.l"
2067
0
{ return T_UnicastOnly; }
2068
0
  YY_BREAK
2069
0
case 43:
2070
0
YY_RULE_SETUP
2071
0
#line 89 "scanner.l"
2072
0
{ return T_UnrestrictedUnicast; }
2073
0
  YY_BREAK
2074
0
case 44:
2075
0
YY_RULE_SETUP
2076
0
#line 90 "scanner.l"
2077
0
{ return T_AdvRASolicitedUnicast; }
2078
0
  YY_BREAK
2079
0
case 45:
2080
0
YY_RULE_SETUP
2081
0
#line 91 "scanner.l"
2082
0
{ return T_AdvCaptivePortalAPI; }
2083
0
  YY_BREAK
2084
0
case 46:
2085
0
YY_RULE_SETUP
2086
0
#line 92 "scanner.l"
2087
0
{ return T_AdvSNACRouterFlag; }
2088
0
  YY_BREAK
2089
0
case 47:
2090
0
YY_RULE_SETUP
2091
0
#line 94 "scanner.l"
2092
0
{ return T_Base6Interface; }
2093
0
  YY_BREAK
2094
0
case 48:
2095
0
YY_RULE_SETUP
2096
0
#line 95 "scanner.l"
2097
0
{ return T_Base6to4Interface; }
2098
0
  YY_BREAK
2099
0
case 49:
2100
0
YY_RULE_SETUP
2101
0
#line 97 "scanner.l"
2102
0
{ return T_HomeAgentPreference; }
2103
0
  YY_BREAK
2104
0
case 50:
2105
0
YY_RULE_SETUP
2106
0
#line 98 "scanner.l"
2107
0
{ return T_HomeAgentLifetime; }
2108
0
  YY_BREAK
2109
0
case 51:
2110
0
YY_RULE_SETUP
2111
0
#line 100 "scanner.l"
2112
0
{ return T_AdvRoutePreference; }
2113
0
  YY_BREAK
2114
0
case 52:
2115
0
YY_RULE_SETUP
2116
0
#line 101 "scanner.l"
2117
0
{ return T_AdvRouteLifetime; }
2118
0
  YY_BREAK
2119
0
case 53:
2120
0
YY_RULE_SETUP
2121
0
#line 102 "scanner.l"
2122
0
{ return T_RemoveRoute; }
2123
0
  YY_BREAK
2124
0
case 54:
2125
0
YY_RULE_SETUP
2126
0
#line 104 "scanner.l"
2127
0
{ return T_AdvRDNSSPreference; }
2128
0
  YY_BREAK
2129
0
case 55:
2130
0
YY_RULE_SETUP
2131
0
#line 105 "scanner.l"
2132
0
{ return T_AdvRDNSSOpenFlag; }
2133
0
  YY_BREAK
2134
0
case 56:
2135
0
YY_RULE_SETUP
2136
0
#line 106 "scanner.l"
2137
0
{ return T_AdvRDNSSLifetime; }
2138
0
  YY_BREAK
2139
0
case 57:
2140
0
YY_RULE_SETUP
2141
0
#line 107 "scanner.l"
2142
0
{ return T_FlushRDNSS; }
2143
0
  YY_BREAK
2144
0
case 58:
2145
0
YY_RULE_SETUP
2146
0
#line 109 "scanner.l"
2147
0
{ return T_AdvDNSSLLifetime; }
2148
0
  YY_BREAK
2149
0
case 59:
2150
0
YY_RULE_SETUP
2151
0
#line 110 "scanner.l"
2152
0
{ return T_FlushDNSSL; }
2153
0
  YY_BREAK
2154
0
case 60:
2155
0
YY_RULE_SETUP
2156
0
#line 112 "scanner.l"
2157
0
{ return T_AdvDNRPriority; }
2158
0
  YY_BREAK
2159
0
case 61:
2160
0
YY_RULE_SETUP
2161
0
#line 113 "scanner.l"
2162
0
{ return T_AdvDNRLifetime; }
2163
0
  YY_BREAK
2164
0
case 62:
2165
0
YY_RULE_SETUP
2166
0
#line 114 "scanner.l"
2167
0
{ return T_AdvDNRAddr; }
2168
0
  YY_BREAK
2169
0
case 63:
2170
0
YY_RULE_SETUP
2171
0
#line 115 "scanner.l"
2172
0
{ return T_AdvDNRSvcAlpn; }
2173
0
  YY_BREAK
2174
0
case 64:
2175
0
YY_RULE_SETUP
2176
0
#line 116 "scanner.l"
2177
0
{ return T_AdvDNRSvcPort; }
2178
0
  YY_BREAK
2179
0
case 65:
2180
0
YY_RULE_SETUP
2181
0
#line 117 "scanner.l"
2182
0
{ return T_AdvDNRSvcDohpath; }
2183
0
  YY_BREAK
2184
0
case 66:
2185
0
YY_RULE_SETUP
2186
0
#line 118 "scanner.l"
2187
0
{ return T_FlushDNR; }
2188
0
  YY_BREAK
2189
0
case 67:
2190
0
YY_RULE_SETUP
2191
0
#line 120 "scanner.l"
2192
0
{ return T_MinDelayBetweenRAs; }
2193
0
  YY_BREAK
2194
0
case 68:
2195
0
YY_RULE_SETUP
2196
0
#line 122 "scanner.l"
2197
0
{ return T_AdvMobRtrSupportFlag; }
2198
0
  YY_BREAK
2199
0
case 69:
2200
0
YY_RULE_SETUP
2201
0
#line 124 "scanner.l"
2202
0
{ return T_AdvContextLength; }
2203
0
  YY_BREAK
2204
0
case 70:
2205
0
YY_RULE_SETUP
2206
0
#line 125 "scanner.l"
2207
0
{ return T_AdvContextCompressionFlag; }
2208
0
  YY_BREAK
2209
0
case 71:
2210
0
YY_RULE_SETUP
2211
0
#line 126 "scanner.l"
2212
0
{ return T_AdvContextID; }
2213
0
  YY_BREAK
2214
0
case 72:
2215
0
YY_RULE_SETUP
2216
0
#line 127 "scanner.l"
2217
0
{ return T_AdvLifeTime; }
2218
0
  YY_BREAK
2219
0
case 73:
2220
0
YY_RULE_SETUP
2221
0
#line 128 "scanner.l"
2222
0
{ return T_AdvContextPrefix; }
2223
0
  YY_BREAK
2224
0
case 74:
2225
0
YY_RULE_SETUP
2226
0
#line 130 "scanner.l"
2227
0
{ return T_AdvVersionLow; }
2228
0
  YY_BREAK
2229
0
case 75:
2230
0
YY_RULE_SETUP
2231
0
#line 131 "scanner.l"
2232
0
{ return T_AdvVersionHigh; }
2233
0
  YY_BREAK
2234
0
case 76:
2235
0
YY_RULE_SETUP
2236
0
#line 132 "scanner.l"
2237
0
{ return T_Adv6LBRaddress; }
2238
0
  YY_BREAK
2239
7
case 77:
2240
7
YY_RULE_SETUP
2241
7
#line 134 "scanner.l"
2242
7
{
2243
7
      static struct in6_addr addr;
2244
7
      if (inet_pton(AF_INET6, yytext, &addr) < 1) {
2245
1
        return T_BAD_TOKEN;
2246
1
      }
2247
2248
6
      yylval.addr = &addr;
2249
6
      return IPV6ADDR;
2250
7
    }
2251
0
  YY_BREAK
2252
5
case 78:
2253
5
YY_RULE_SETUP
2254
5
#line 144 "scanner.l"
2255
5
{
2256
5
      static struct in6_addr addr;
2257
5
      if (inet_pton(AF_INET6, &yytext[1], &addr) < 1) {
2258
2
        return T_BAD_TOKEN;
2259
2
      }
2260
2261
3
      yylval.addr = &addr;
2262
3
      return NOT_IPV6ADDR;
2263
5
    }
2264
0
  YY_BREAK
2265
134
case 79:
2266
134
YY_RULE_SETUP
2267
134
#line 154 "scanner.l"
2268
134
{
2269
134
      unsigned long lnum;
2270
134
      char *endp;
2271
134
      lnum = strtoul(yytext, &endp, 10);
2272
134
      if (*yytext == '\0' || *endp != '\0')
2273
0
        return T_BAD_TOKEN;
2274
134
      if (lnum > 0xFFFFFFFFUL)
2275
67
        return T_BAD_TOKEN;  /* XXX */
2276
67
      yylval.num = lnum;
2277
67
      return NUMBER;
2278
134
    }
2279
0
  YY_BREAK
2280
2
case 80:
2281
2
YY_RULE_SETUP
2282
2
#line 166 "scanner.l"
2283
2
{ yylval.snum = atoi(yytext); return SIGNEDNUMBER; }
2284
0
  YY_BREAK
2285
1
case 81:
2286
1
YY_RULE_SETUP
2287
1
#line 168 "scanner.l"
2288
1
{ yylval.dec = atof(yytext); return DECIMAL; }
2289
0
  YY_BREAK
2290
1
case 82:
2291
1
YY_RULE_SETUP
2292
1
#line 170 "scanner.l"
2293
1
{ return INFINITY; }
2294
0
  YY_BREAK
2295
2
case 83:
2296
2
YY_RULE_SETUP
2297
2
#line 172 "scanner.l"
2298
2
{ yylval.num = 1; return SWITCH; }
2299
0
  YY_BREAK
2300
1
case 84:
2301
1
YY_RULE_SETUP
2302
1
#line 174 "scanner.l"
2303
1
{ yylval.num = 0; return SWITCH; }
2304
0
  YY_BREAK
2305
1
case 85:
2306
1
YY_RULE_SETUP
2307
1
#line 176 "scanner.l"
2308
1
{ yylval.snum = -1; return SIGNEDNUMBER; }
2309
0
  YY_BREAK
2310
0
case 86:
2311
0
YY_RULE_SETUP
2312
0
#line 178 "scanner.l"
2313
0
{ yylval.snum = 0; return SIGNEDNUMBER; }
2314
0
  YY_BREAK
2315
2
case 87:
2316
2
YY_RULE_SETUP
2317
2
#line 180 "scanner.l"
2318
2
{ yylval.snum = 1; return SIGNEDNUMBER; }
2319
0
  YY_BREAK
2320
316
case 88:
2321
/* rule 88 can match eol */
2322
316
YY_RULE_SETUP
2323
316
#line 182 "scanner.l"
2324
316
{
2325
316
      static char string[256];
2326
2327
316
      if (yyleng >= (int)sizeof(string)) {
2328
45
        flog(LOG_ERR, "string constant exceeds %zu bytes at line %d",
2329
45
          sizeof(string) - 1, num_lines);
2330
45
        return T_BAD_TOKEN;
2331
45
      }
2332
2333
271
      strncpy(string, yytext, sizeof(string));
2334
271
      string[sizeof(string)-1] = '\0';
2335
271
      yylval.str = string;
2336
271
      return STRING;
2337
316
    }
2338
0
  YY_BREAK
2339
4
case 89:
2340
4
YY_RULE_SETUP
2341
4
#line 197 "scanner.l"
2342
4
{ return *yytext; }
2343
0
  YY_BREAK
2344
102
case 90:
2345
102
YY_RULE_SETUP
2346
102
#line 199 "scanner.l"
2347
102
{ return T_BAD_TOKEN; }
2348
0
  YY_BREAK
2349
0
case 91:
2350
0
YY_RULE_SETUP
2351
0
#line 200 "scanner.l"
2352
0
ECHO;
2353
0
  YY_BREAK
2354
0
#line 2355 "scanner.c"
2355
48
case YY_STATE_EOF(INITIAL):
2356
48
  yyterminate();
2357
2358
93.1k
  case YY_END_OF_BUFFER:
2359
93.1k
    {
2360
    /* Amount of text matched not including the EOB char. */
2361
93.1k
    int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2362
2363
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
2364
93.1k
    *yy_cp = (yy_hold_char);
2365
93.1k
    YY_RESTORE_YY_MORE_OFFSET
2366
2367
93.1k
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2368
634
      {
2369
      /* We're scanning a new file or input source.  It's
2370
       * possible that this happened because the user
2371
       * just pointed yyin at a new source and called
2372
       * yylex().  If so, then we have to assure
2373
       * consistency between YY_CURRENT_BUFFER and our
2374
       * globals.  Here is the right place to do so, because
2375
       * this is the first action (other than possibly a
2376
       * back-up) that will match for the new input source.
2377
       */
2378
634
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2379
634
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2380
634
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2381
634
      }
2382
2383
    /* Note that here we test for yy_c_buf_p "<=" to the position
2384
     * of the first EOB in the buffer, since yy_c_buf_p will
2385
     * already have been incremented past the NUL character
2386
     * (since all states make transitions on EOB to the
2387
     * end-of-buffer state).  Contrast this with the test
2388
     * in input().
2389
     */
2390
93.1k
    if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2391
89.9k
      { /* This was really a NUL. */
2392
89.9k
      yy_state_type yy_next_state;
2393
2394
89.9k
      (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2395
2396
89.9k
      yy_current_state = yy_get_previous_state(  );
2397
2398
      /* Okay, we're now positioned to make the NUL
2399
       * transition.  We couldn't have
2400
       * yy_get_previous_state() go ahead and do it
2401
       * for us because it doesn't know how to deal
2402
       * with the possibility of jamming (and we don't
2403
       * want to build jamming into it because then it
2404
       * will run more slowly).
2405
       */
2406
2407
89.9k
      yy_next_state = yy_try_NUL_trans( yy_current_state );
2408
2409
89.9k
      yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2410
2411
89.9k
      if ( yy_next_state )
2412
89.9k
        {
2413
        /* Consume the NUL. */
2414
89.9k
        yy_cp = ++(yy_c_buf_p);
2415
89.9k
        yy_current_state = yy_next_state;
2416
89.9k
        goto yy_match;
2417
89.9k
        }
2418
2419
85
      else
2420
85
        {
2421
85
        yy_cp = (yy_c_buf_p);
2422
85
        goto yy_find_action;
2423
85
        }
2424
89.9k
      }
2425
2426
3.11k
    else switch ( yy_get_next_buffer(  ) )
2427
3.11k
      {
2428
48
      case EOB_ACT_END_OF_FILE:
2429
48
        {
2430
48
        (yy_did_buffer_switch_on_eof) = 0;
2431
2432
48
        if ( yywrap(  ) )
2433
48
          {
2434
          /* Note: because we've taken care in
2435
           * yy_get_next_buffer() to have set up
2436
           * yytext, we can now set up
2437
           * yy_c_buf_p so that if some total
2438
           * hoser (like flex itself) wants to
2439
           * call the scanner after we return the
2440
           * YY_NULL, it'll still work - another
2441
           * YY_NULL will get returned.
2442
           */
2443
48
          (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2444
2445
48
          yy_act = YY_STATE_EOF(YY_START);
2446
48
          goto do_action;
2447
48
          }
2448
2449
0
        else
2450
0
          {
2451
0
          if ( ! (yy_did_buffer_switch_on_eof) )
2452
0
            YY_NEW_FILE;
2453
0
          }
2454
0
        break;
2455
48
        }
2456
2457
2.58k
      case EOB_ACT_CONTINUE_SCAN:
2458
2.58k
        (yy_c_buf_p) =
2459
2.58k
          (yytext_ptr) + yy_amount_of_matched_text;
2460
2461
2.58k
        yy_current_state = yy_get_previous_state(  );
2462
2463
2.58k
        yy_cp = (yy_c_buf_p);
2464
2.58k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2465
2.58k
        goto yy_match;
2466
2467
487
      case EOB_ACT_LAST_MATCH:
2468
487
        (yy_c_buf_p) =
2469
487
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2470
2471
487
        yy_current_state = yy_get_previous_state(  );
2472
2473
487
        yy_cp = (yy_c_buf_p);
2474
487
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2475
487
        goto yy_find_action;
2476
3.11k
      }
2477
0
    break;
2478
93.1k
    }
2479
2480
0
  default:
2481
0
    YY_FATAL_ERROR(
2482
1.01M
      "fatal flex scanner internal error--no action found" );
2483
1.01M
  } /* end of action switch */
2484
1.01M
    } /* end of scanning one token */
2485
634
  } /* end of user's declarations */
2486
634
} /* end of yylex */
2487
2488
/* yy_get_next_buffer - try to read in a new buffer
2489
 *
2490
 * Returns a code representing an action:
2491
 *  EOB_ACT_LAST_MATCH -
2492
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2493
 *  EOB_ACT_END_OF_FILE - end of file
2494
 */
2495
static int yy_get_next_buffer (void)
2496
3.11k
{
2497
3.11k
      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2498
3.11k
  char *source = (yytext_ptr);
2499
3.11k
  int number_to_move, i;
2500
3.11k
  int ret_val;
2501
2502
3.11k
  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2503
0
    YY_FATAL_ERROR(
2504
3.11k
    "fatal flex scanner internal error--end of buffer missed" );
2505
2506
3.11k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2507
0
    { /* Don't try to fill the buffer, so this is an EOF. */
2508
0
    if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2509
0
      {
2510
      /* We matched a single character, the EOB, so
2511
       * treat this as a final EOF.
2512
       */
2513
0
      return EOB_ACT_END_OF_FILE;
2514
0
      }
2515
2516
0
    else
2517
0
      {
2518
      /* We matched some text prior to the EOB, first
2519
       * process it.
2520
       */
2521
0
      return EOB_ACT_LAST_MATCH;
2522
0
      }
2523
0
    }
2524
2525
  /* Try to read more data. */
2526
2527
  /* First move last chars to start of buffer. */
2528
3.11k
  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
2529
2530
202M
  for ( i = 0; i < number_to_move; ++i )
2531
202M
    *(dest++) = *(source++);
2532
2533
3.11k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2534
    /* don't do the read, it's not guaranteed to return an EOF,
2535
     * just force an EOF
2536
     */
2537
20
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2538
2539
3.09k
  else
2540
3.09k
    {
2541
3.09k
      int num_to_read =
2542
3.09k
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2543
2544
3.23k
    while ( num_to_read <= 0 )
2545
139
      { /* Not enough room in the buffer - grow it. */
2546
2547
      /* just a shorter name for the current buffer */
2548
139
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2549
2550
139
      int yy_c_buf_p_offset =
2551
139
        (int) ((yy_c_buf_p) - b->yy_ch_buf);
2552
2553
139
      if ( b->yy_is_our_buffer )
2554
139
        {
2555
139
        int new_size = b->yy_buf_size * 2;
2556
2557
139
        if ( new_size <= 0 )
2558
0
          b->yy_buf_size += b->yy_buf_size / 8;
2559
139
        else
2560
139
          b->yy_buf_size *= 2;
2561
2562
139
        b->yy_ch_buf = (char *)
2563
          /* Include room in for 2 EOB chars. */
2564
139
          yyrealloc( (void *) b->yy_ch_buf,
2565
139
               (yy_size_t) (b->yy_buf_size + 2)  );
2566
139
        }
2567
0
      else
2568
        /* Can't grow it, we don't own it. */
2569
0
        b->yy_ch_buf = NULL;
2570
2571
139
      if ( ! b->yy_ch_buf )
2572
0
        YY_FATAL_ERROR(
2573
139
        "fatal error - scanner input buffer overflow" );
2574
2575
139
      (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2576
2577
139
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2578
139
            number_to_move - 1;
2579
2580
139
      }
2581
2582
3.09k
    if ( num_to_read > YY_READ_BUF_SIZE )
2583
2.65k
      num_to_read = YY_READ_BUF_SIZE;
2584
2585
    /* Read in more data. */
2586
3.09k
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2587
3.09k
      (yy_n_chars), num_to_read );
2588
2589
3.09k
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2590
3.09k
    }
2591
2592
3.11k
  if ( (yy_n_chars) == 0 )
2593
535
    {
2594
535
    if ( number_to_move == YY_MORE_ADJ )
2595
48
      {
2596
48
      ret_val = EOB_ACT_END_OF_FILE;
2597
48
      yyrestart( yyin  );
2598
48
      }
2599
2600
487
    else
2601
487
      {
2602
487
      ret_val = EOB_ACT_LAST_MATCH;
2603
487
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2604
487
        YY_BUFFER_EOF_PENDING;
2605
487
      }
2606
535
    }
2607
2608
2.58k
  else
2609
2.58k
    ret_val = EOB_ACT_CONTINUE_SCAN;
2610
2611
3.11k
  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2612
    /* Extend the array by 50%, plus the number we really need. */
2613
0
    int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2614
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2615
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
2616
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2617
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2618
    /* "- 2" to take care of EOB's */
2619
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2620
0
  }
2621
2622
3.11k
  (yy_n_chars) += number_to_move;
2623
3.11k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2624
3.11k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2625
2626
3.11k
  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2627
2628
3.11k
  return ret_val;
2629
3.11k
}
2630
2631
/* yy_get_previous_state - get the state just before the EOB char was reached */
2632
2633
    static yy_state_type yy_get_previous_state (void)
2634
93.0k
{
2635
93.0k
  yy_state_type yy_current_state;
2636
93.0k
  char *yy_cp;
2637
    
2638
93.0k
  yy_current_state = (yy_start);
2639
2640
988M
  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2641
987M
    {
2642
987M
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2643
987M
    if ( yy_accept[yy_current_state] )
2644
111M
      {
2645
111M
      (yy_last_accepting_state) = yy_current_state;
2646
111M
      (yy_last_accepting_cpos) = yy_cp;
2647
111M
      }
2648
1.95G
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2649
965M
      {
2650
965M
      yy_current_state = (int) yy_def[yy_current_state];
2651
965M
      if ( yy_current_state >= 966 )
2652
965M
        yy_c = yy_meta[yy_c];
2653
965M
      }
2654
987M
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2655
987M
    }
2656
2657
93.0k
  return yy_current_state;
2658
93.0k
}
2659
2660
/* yy_try_NUL_trans - try to make a transition on the NUL character
2661
 *
2662
 * synopsis
2663
 *  next_state = yy_try_NUL_trans( current_state );
2664
 */
2665
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
2666
89.9k
{
2667
89.9k
  int yy_is_jam;
2668
89.9k
      char *yy_cp = (yy_c_buf_p);
2669
2670
89.9k
  YY_CHAR yy_c = 1;
2671
89.9k
  if ( yy_accept[yy_current_state] )
2672
13.4k
    {
2673
13.4k
    (yy_last_accepting_state) = yy_current_state;
2674
13.4k
    (yy_last_accepting_cpos) = yy_cp;
2675
13.4k
    }
2676
166k
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2677
76.7k
    {
2678
76.7k
    yy_current_state = (int) yy_def[yy_current_state];
2679
76.7k
    if ( yy_current_state >= 966 )
2680
76.6k
      yy_c = yy_meta[yy_c];
2681
76.7k
    }
2682
89.9k
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2683
89.9k
  yy_is_jam = (yy_current_state == 965);
2684
2685
89.9k
    return yy_is_jam ? 0 : yy_current_state;
2686
89.9k
}
2687
2688
#ifndef YY_NO_UNPUT
2689
2690
#endif
2691
2692
#ifndef YY_NO_INPUT
2693
#ifdef __cplusplus
2694
    static int yyinput (void)
2695
#else
2696
    static int input  (void)
2697
#endif
2698
2699
{
2700
  int c;
2701
    
2702
  *(yy_c_buf_p) = (yy_hold_char);
2703
2704
  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2705
    {
2706
    /* yy_c_buf_p now points to the character we want to return.
2707
     * If this occurs *before* the EOB characters, then it's a
2708
     * valid NUL; if not, then we've hit the end of the buffer.
2709
     */
2710
    if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2711
      /* This was really a NUL. */
2712
      *(yy_c_buf_p) = '\0';
2713
2714
    else
2715
      { /* need more input */
2716
      int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
2717
      ++(yy_c_buf_p);
2718
2719
      switch ( yy_get_next_buffer(  ) )
2720
        {
2721
        case EOB_ACT_LAST_MATCH:
2722
          /* This happens because yy_g_n_b()
2723
           * sees that we've accumulated a
2724
           * token and flags that we need to
2725
           * try matching the token before
2726
           * proceeding.  But for input(),
2727
           * there's no matching to consider.
2728
           * So convert the EOB_ACT_LAST_MATCH
2729
           * to EOB_ACT_END_OF_FILE.
2730
           */
2731
2732
          /* Reset buffer status. */
2733
          yyrestart( yyin );
2734
2735
          /*FALLTHROUGH*/
2736
2737
        case EOB_ACT_END_OF_FILE:
2738
          {
2739
          if ( yywrap(  ) )
2740
            return 0;
2741
2742
          if ( ! (yy_did_buffer_switch_on_eof) )
2743
            YY_NEW_FILE;
2744
#ifdef __cplusplus
2745
          return yyinput();
2746
#else
2747
          return input();
2748
#endif
2749
          }
2750
2751
        case EOB_ACT_CONTINUE_SCAN:
2752
          (yy_c_buf_p) = (yytext_ptr) + offset;
2753
          break;
2754
        }
2755
      }
2756
    }
2757
2758
  c = *(unsigned char *) (yy_c_buf_p);  /* cast for 8-bit char's */
2759
  *(yy_c_buf_p) = '\0'; /* preserve yytext */
2760
  (yy_hold_char) = *++(yy_c_buf_p);
2761
2762
  if ( c == '\n' )
2763
    
2764
    yylineno++;
2765
;
2766
2767
  return c;
2768
}
2769
#endif  /* ifndef YY_NO_INPUT */
2770
2771
/** Immediately switch to a different input stream.
2772
 * @param input_file A readable stream.
2773
 * 
2774
 * @note This function does not reset the start condition to @c INITIAL .
2775
 */
2776
    void yyrestart  (FILE * input_file )
2777
48
{
2778
    
2779
48
  if ( ! YY_CURRENT_BUFFER ){
2780
0
        yyensure_buffer_stack ();
2781
0
    YY_CURRENT_BUFFER_LVALUE =
2782
0
            yy_create_buffer( yyin, YY_BUF_SIZE );
2783
0
  }
2784
2785
48
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
2786
48
  yy_load_buffer_state(  );
2787
48
}
2788
2789
/** Switch to a different input buffer.
2790
 * @param new_buffer The new input buffer.
2791
 * 
2792
 */
2793
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
2794
0
{
2795
    
2796
  /* TODO. We should be able to replace this entire function body
2797
   * with
2798
   *    yypop_buffer_state();
2799
   *    yypush_buffer_state(new_buffer);
2800
     */
2801
0
  yyensure_buffer_stack ();
2802
0
  if ( YY_CURRENT_BUFFER == new_buffer )
2803
0
    return;
2804
2805
0
  if ( YY_CURRENT_BUFFER )
2806
0
    {
2807
    /* Flush out information for old buffer. */
2808
0
    *(yy_c_buf_p) = (yy_hold_char);
2809
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2810
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2811
0
    }
2812
2813
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2814
0
  yy_load_buffer_state(  );
2815
2816
  /* We don't actually know whether we did this switch during
2817
   * EOF (yywrap()) processing, but the only time this flag
2818
   * is looked at is after yywrap() is called, so it's safe
2819
   * to go ahead and always set it.
2820
   */
2821
0
  (yy_did_buffer_switch_on_eof) = 1;
2822
0
}
2823
2824
static void yy_load_buffer_state  (void)
2825
730
{
2826
730
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2827
730
  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2828
730
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2829
730
  (yy_hold_char) = *(yy_c_buf_p);
2830
730
}
2831
2832
/** Allocate and initialize an input buffer state.
2833
 * @param file A readable stream.
2834
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2835
 * 
2836
 * @return the allocated buffer state.
2837
 */
2838
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
2839
634
{
2840
634
  YY_BUFFER_STATE b;
2841
    
2842
634
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
2843
634
  if ( ! b )
2844
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2845
2846
634
  b->yy_buf_size = size;
2847
2848
  /* yy_ch_buf has to be 2 characters longer than the size given because
2849
   * we need to put in 2 end-of-buffer characters.
2850
   */
2851
634
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
2852
634
  if ( ! b->yy_ch_buf )
2853
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2854
2855
634
  b->yy_is_our_buffer = 1;
2856
2857
634
  yy_init_buffer( b, file );
2858
2859
634
  return b;
2860
634
}
2861
2862
/** Destroy the buffer.
2863
 * @param b a buffer created with yy_create_buffer()
2864
 * 
2865
 */
2866
    void yy_delete_buffer (YY_BUFFER_STATE  b )
2867
634
{
2868
    
2869
634
  if ( ! b )
2870
0
    return;
2871
2872
634
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2873
634
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2874
2875
634
  if ( b->yy_is_our_buffer )
2876
634
    yyfree( (void *) b->yy_ch_buf  );
2877
2878
634
  yyfree( (void *) b  );
2879
634
}
2880
2881
/* Initializes or reinitializes a buffer.
2882
 * This function is sometimes called more than once on the same buffer,
2883
 * such as during a yyrestart() or at EOF.
2884
 */
2885
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
2886
2887
682
{
2888
682
  int oerrno = errno;
2889
    
2890
682
  yy_flush_buffer( b );
2891
2892
682
  b->yy_input_file = file;
2893
682
  b->yy_fill_buffer = 1;
2894
2895
    /* If b is the current buffer, then yy_init_buffer was _probably_
2896
     * called from yyrestart() or through yy_get_next_buffer.
2897
     * In that case, we don't want to reset the lineno or column.
2898
     */
2899
682
    if (b != YY_CURRENT_BUFFER){
2900
634
        b->yy_bs_lineno = 1;
2901
634
        b->yy_bs_column = 0;
2902
634
    }
2903
2904
682
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2905
    
2906
682
  errno = oerrno;
2907
682
}
2908
2909
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2910
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2911
 * 
2912
 */
2913
    void yy_flush_buffer (YY_BUFFER_STATE  b )
2914
682
{
2915
682
      if ( ! b )
2916
0
    return;
2917
2918
682
  b->yy_n_chars = 0;
2919
2920
  /* We always need two end-of-buffer characters.  The first causes
2921
   * a transition to the end-of-buffer state.  The second causes
2922
   * a jam in that state.
2923
   */
2924
682
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2925
682
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2926
2927
682
  b->yy_buf_pos = &b->yy_ch_buf[0];
2928
2929
682
  b->yy_at_bol = 1;
2930
682
  b->yy_buffer_status = YY_BUFFER_NEW;
2931
2932
682
  if ( b == YY_CURRENT_BUFFER )
2933
48
    yy_load_buffer_state(  );
2934
682
}
2935
2936
/** Pushes the new state onto the stack. The new state becomes
2937
 *  the current state. This function will allocate the stack
2938
 *  if necessary.
2939
 *  @param new_buffer The new state.
2940
 *  
2941
 */
2942
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2943
0
{
2944
0
      if (new_buffer == NULL)
2945
0
    return;
2946
2947
0
  yyensure_buffer_stack();
2948
2949
  /* This block is copied from yy_switch_to_buffer. */
2950
0
  if ( YY_CURRENT_BUFFER )
2951
0
    {
2952
    /* Flush out information for old buffer. */
2953
0
    *(yy_c_buf_p) = (yy_hold_char);
2954
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2955
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2956
0
    }
2957
2958
  /* Only push if top exists. Otherwise, replace top. */
2959
0
  if (YY_CURRENT_BUFFER)
2960
0
    (yy_buffer_stack_top)++;
2961
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2962
2963
  /* copied from yy_switch_to_buffer. */
2964
0
  yy_load_buffer_state(  );
2965
0
  (yy_did_buffer_switch_on_eof) = 1;
2966
0
}
2967
2968
/** Removes and deletes the top of the stack, if present.
2969
 *  The next element becomes the new top.
2970
 *  
2971
 */
2972
void yypop_buffer_state (void)
2973
634
{
2974
634
      if (!YY_CURRENT_BUFFER)
2975
634
    return;
2976
2977
0
  yy_delete_buffer(YY_CURRENT_BUFFER );
2978
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
2979
0
  if ((yy_buffer_stack_top) > 0)
2980
0
    --(yy_buffer_stack_top);
2981
2982
0
  if (YY_CURRENT_BUFFER) {
2983
0
    yy_load_buffer_state(  );
2984
0
    (yy_did_buffer_switch_on_eof) = 1;
2985
0
  }
2986
0
}
2987
2988
/* Allocates the stack if it does not exist.
2989
 *  Guarantees space for at least one push.
2990
 */
2991
static void yyensure_buffer_stack (void)
2992
634
{
2993
634
  yy_size_t num_to_alloc;
2994
    
2995
634
  if (!(yy_buffer_stack)) {
2996
2997
    /* First allocation is just for 2 elements, since we don't know if this
2998
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
2999
     * immediate realloc on the next call.
3000
         */
3001
634
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3002
634
    (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3003
634
                (num_to_alloc * sizeof(struct yy_buffer_state*)
3004
634
                );
3005
634
    if ( ! (yy_buffer_stack) )
3006
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3007
3008
634
    memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3009
3010
634
    (yy_buffer_stack_max) = num_to_alloc;
3011
634
    (yy_buffer_stack_top) = 0;
3012
634
    return;
3013
634
  }
3014
3015
0
  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3016
3017
    /* Increase the buffer to prepare for a possible push. */
3018
0
    yy_size_t grow_size = 8 /* arbitrary grow size */;
3019
3020
0
    num_to_alloc = (yy_buffer_stack_max) + grow_size;
3021
0
    (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3022
0
                ((yy_buffer_stack),
3023
0
                num_to_alloc * sizeof(struct yy_buffer_state*)
3024
0
                );
3025
0
    if ( ! (yy_buffer_stack) )
3026
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3027
3028
    /* zero only the new slots.*/
3029
0
    memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3030
0
    (yy_buffer_stack_max) = num_to_alloc;
3031
0
  }
3032
0
}
3033
3034
/** Setup the input buffer state to scan directly from a user-specified character buffer.
3035
 * @param base the character buffer
3036
 * @param size the size in bytes of the character buffer
3037
 * 
3038
 * @return the newly allocated buffer state object.
3039
 */
3040
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
3041
0
{
3042
0
  YY_BUFFER_STATE b;
3043
    
3044
0
  if ( size < 2 ||
3045
0
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
3046
0
       base[size-1] != YY_END_OF_BUFFER_CHAR )
3047
    /* They forgot to leave room for the EOB's. */
3048
0
    return NULL;
3049
3050
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
3051
0
  if ( ! b )
3052
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3053
3054
0
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
3055
0
  b->yy_buf_pos = b->yy_ch_buf = base;
3056
0
  b->yy_is_our_buffer = 0;
3057
0
  b->yy_input_file = NULL;
3058
0
  b->yy_n_chars = b->yy_buf_size;
3059
0
  b->yy_is_interactive = 0;
3060
0
  b->yy_at_bol = 1;
3061
0
  b->yy_fill_buffer = 0;
3062
0
  b->yy_buffer_status = YY_BUFFER_NEW;
3063
3064
0
  yy_switch_to_buffer( b  );
3065
3066
0
  return b;
3067
0
}
3068
3069
/** Setup the input buffer state to scan a string. The next call to yylex() will
3070
 * scan from a @e copy of @a str.
3071
 * @param yystr a NUL-terminated string to scan
3072
 * 
3073
 * @return the newly allocated buffer state object.
3074
 * @note If you want to scan bytes that may contain NUL values, then use
3075
 *       yy_scan_bytes() instead.
3076
 */
3077
YY_BUFFER_STATE yy_scan_string (const char * yystr )
3078
0
{
3079
    
3080
0
  return yy_scan_bytes( yystr, (int) strlen(yystr) );
3081
0
}
3082
3083
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3084
 * scan from a @e copy of @a bytes.
3085
 * @param yybytes the byte buffer to scan
3086
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3087
 * 
3088
 * @return the newly allocated buffer state object.
3089
 */
3090
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
3091
0
{
3092
0
  YY_BUFFER_STATE b;
3093
0
  char *buf;
3094
0
  yy_size_t n;
3095
0
  int i;
3096
    
3097
  /* Get memory for full buffer, including space for trailing EOB's. */
3098
0
  n = (yy_size_t) (_yybytes_len + 2);
3099
0
  buf = (char *) yyalloc( n  );
3100
0
  if ( ! buf )
3101
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3102
3103
0
  for ( i = 0; i < _yybytes_len; ++i )
3104
0
    buf[i] = yybytes[i];
3105
3106
0
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3107
3108
0
  b = yy_scan_buffer( buf, n );
3109
0
  if ( ! b )
3110
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3111
3112
  /* It's okay to grow etc. this buffer, and we should throw it
3113
   * away when we're done.
3114
   */
3115
0
  b->yy_is_our_buffer = 1;
3116
3117
0
  return b;
3118
0
}
3119
3120
#ifndef YY_EXIT_FAILURE
3121
0
#define YY_EXIT_FAILURE 2
3122
#endif
3123
3124
static void yynoreturn yy_fatal_error (const char* msg )
3125
0
{
3126
0
      fprintf( stderr, "%s\n", msg );
3127
0
  exit( YY_EXIT_FAILURE );
3128
0
}
3129
3130
/* Redefine yyless() so it works in section 3 code. */
3131
3132
#undef yyless
3133
#define yyless(n) \
3134
  do \
3135
    { \
3136
    /* Undo effects of setting up yytext. */ \
3137
        int yyless_macro_arg = (n); \
3138
        YY_LESS_LINENO(yyless_macro_arg);\
3139
    yytext[yyleng] = (yy_hold_char); \
3140
    (yy_c_buf_p) = yytext + yyless_macro_arg; \
3141
    (yy_hold_char) = *(yy_c_buf_p); \
3142
    *(yy_c_buf_p) = '\0'; \
3143
    yyleng = yyless_macro_arg; \
3144
    } \
3145
  while ( 0 )
3146
3147
/* Accessor  methods (get/set functions) to struct members. */
3148
3149
/** Get the current line number.
3150
 * 
3151
 */
3152
int yyget_lineno  (void)
3153
0
{
3154
    
3155
0
    return yylineno;
3156
0
}
3157
3158
/** Get the input stream.
3159
 * 
3160
 */
3161
FILE *yyget_in  (void)
3162
0
{
3163
0
        return yyin;
3164
0
}
3165
3166
/** Get the output stream.
3167
 * 
3168
 */
3169
FILE *yyget_out  (void)
3170
0
{
3171
0
        return yyout;
3172
0
}
3173
3174
/** Get the length of the current token.
3175
 * 
3176
 */
3177
int yyget_leng  (void)
3178
0
{
3179
0
        return yyleng;
3180
0
}
3181
3182
/** Get the current token.
3183
 * 
3184
 */
3185
3186
char *yyget_text  (void)
3187
0
{
3188
0
        return yytext;
3189
0
}
3190
3191
/** Set the current line number.
3192
 * @param _line_number line number
3193
 * 
3194
 */
3195
void yyset_lineno (int  _line_number )
3196
0
{
3197
    
3198
0
    yylineno = _line_number;
3199
0
}
3200
3201
/** Set the input stream. This does not discard the current
3202
 * input buffer.
3203
 * @param _in_str A readable stream.
3204
 * 
3205
 * @see yy_switch_to_buffer
3206
 */
3207
void yyset_in (FILE *  _in_str )
3208
634
{
3209
634
        yyin = _in_str ;
3210
634
}
3211
3212
void yyset_out (FILE *  _out_str )
3213
0
{
3214
0
        yyout = _out_str ;
3215
0
}
3216
3217
int yyget_debug  (void)
3218
0
{
3219
0
        return yy_flex_debug;
3220
0
}
3221
3222
void yyset_debug (int  _bdebug )
3223
0
{
3224
0
        yy_flex_debug = _bdebug ;
3225
0
}
3226
3227
static int yy_init_globals (void)
3228
634
{
3229
        /* Initialization is the same as for the non-reentrant scanner.
3230
     * This function is called from yylex_destroy(), so don't allocate here.
3231
     */
3232
3233
    /* We do not touch yylineno unless the option is enabled. */
3234
634
    yylineno =  1;
3235
    
3236
634
    (yy_buffer_stack) = NULL;
3237
634
    (yy_buffer_stack_top) = 0;
3238
634
    (yy_buffer_stack_max) = 0;
3239
634
    (yy_c_buf_p) = NULL;
3240
634
    (yy_init) = 0;
3241
634
    (yy_start) = 0;
3242
3243
/* Defined in main.c */
3244
#ifdef YY_STDINIT
3245
    yyin = stdin;
3246
    yyout = stdout;
3247
#else
3248
634
    yyin = NULL;
3249
634
    yyout = NULL;
3250
634
#endif
3251
3252
    /* For future reference: Set errno on error, since we are called by
3253
     * yylex_init()
3254
     */
3255
634
    return 0;
3256
634
}
3257
3258
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
3259
int yylex_destroy  (void)
3260
634
{
3261
    
3262
    /* Pop the buffer stack, destroying each element. */
3263
1.26k
  while(YY_CURRENT_BUFFER){
3264
634
    yy_delete_buffer( YY_CURRENT_BUFFER  );
3265
634
    YY_CURRENT_BUFFER_LVALUE = NULL;
3266
634
    yypop_buffer_state();
3267
634
  }
3268
3269
  /* Destroy the stack itself. */
3270
634
  yyfree((yy_buffer_stack) );
3271
634
  (yy_buffer_stack) = NULL;
3272
3273
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
3274
     * yylex() is called, initialization will occur. */
3275
634
    yy_init_globals( );
3276
3277
634
    return 0;
3278
634
}
3279
3280
/*
3281
 * Internal utility routines.
3282
 */
3283
3284
#ifndef yytext_ptr
3285
static void yy_flex_strncpy (char* s1, const char * s2, int n )
3286
{
3287
    
3288
  int i;
3289
  for ( i = 0; i < n; ++i )
3290
    s1[i] = s2[i];
3291
}
3292
#endif
3293
3294
#ifdef YY_NEED_STRLEN
3295
static int yy_flex_strlen (const char * s )
3296
{
3297
  int n;
3298
  for ( n = 0; s[n]; ++n )
3299
    ;
3300
3301
  return n;
3302
}
3303
#endif
3304
3305
void *yyalloc (yy_size_t  size )
3306
1.90k
{
3307
1.90k
      return malloc(size);
3308
1.90k
}
3309
3310
void *yyrealloc  (void * ptr, yy_size_t  size )
3311
139
{
3312
    
3313
  /* The cast to (char *) in the following accommodates both
3314
   * implementations that use char* generic pointers, and those
3315
   * that use void* generic pointers.  It works with the latter
3316
   * because both ANSI C and C++ allow castless assignment from
3317
   * any pointer type to void*, and deal with argument conversions
3318
   * as though doing an assignment.
3319
   */
3320
139
  return realloc(ptr, size);
3321
139
}
3322
3323
void yyfree (void * ptr )
3324
1.90k
{
3325
1.90k
      free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3326
1.90k
}
3327
3328
#define YYTABLES_NAME "yytables"
3329
3330
#line 200 "scanner.l"
3331
3332