5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
12 /* %if-not-reentrant */
13 #define yy_create_buffer asn1p__create_buffer
14 #define yy_delete_buffer asn1p__delete_buffer
15 #define yy_flex_debug asn1p__flex_debug
16 #define yy_init_buffer asn1p__init_buffer
17 #define yy_flush_buffer asn1p__flush_buffer
18 #define yy_load_buffer_state asn1p__load_buffer_state
19 #define yy_switch_to_buffer asn1p__switch_to_buffer
21 #define yyleng asn1p_leng
22 #define yylex asn1p_lex
23 #define yylineno asn1p_lineno
24 #define yyout asn1p_out
25 #define yyrestart asn1p_restart
26 #define yytext asn1p_text
27 #define yywrap asn1p_wrap
28 #define yyalloc asn1p_alloc
29 #define yyrealloc asn1p_realloc
30 #define yyfree asn1p_free
37 #define YY_FLEX_MAJOR_VERSION 2
38 #define YY_FLEX_MINOR_VERSION 5
39 #define YY_FLEX_SUBMINOR_VERSION 35
40 #if YY_FLEX_SUBMINOR_VERSION > 0
55 /* First, we deal with platform-specific or compiler-specific issues. */
57 /* begin standard C headers. */
65 /* %if-tables-serialization */
67 /* end standard C headers. */
70 /* flex integer type definitions */
75 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
77 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
79 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
80 * if you want the limit (max/min) macros for int types.
82 #ifndef __STDC_LIMIT_MACROS
83 #define __STDC_LIMIT_MACROS 1
87 typedef int8_t flex_int8_t;
88 typedef uint8_t flex_uint8_t;
89 typedef int16_t flex_int16_t;
90 typedef uint16_t flex_uint16_t;
91 typedef int32_t flex_int32_t;
92 typedef uint32_t flex_uint32_t;
93 typedef uint64_t flex_uint64_t;
95 typedef signed char flex_int8_t;
96 typedef short int flex_int16_t;
97 typedef int flex_int32_t;
98 typedef unsigned char flex_uint8_t;
99 typedef unsigned short int flex_uint16_t;
100 typedef unsigned int flex_uint32_t;
103 /* Limits of integral types. */
105 #define INT8_MIN (-128)
108 #define INT16_MIN (-32767-1)
111 #define INT32_MIN (-2147483647-1)
114 #define INT8_MAX (127)
117 #define INT16_MAX (32767)
120 #define INT32_MAX (2147483647)
123 #define UINT8_MAX (255U)
126 #define UINT16_MAX (65535U)
129 #define UINT32_MAX (4294967295U)
132 #endif /* ! FLEXINT_H */
141 /* The "const" storage-class-modifier is valid. */
144 #else /* ! __cplusplus */
146 /* C99 requires __STDC__ to be defined as 1. */
147 #if defined (__STDC__)
151 #endif /* defined (__STDC__) */
152 #endif /* ! __cplusplus */
155 #define yyconst const
160 /* %not-for-header */
162 /* Returned upon end-of-file. */
166 /* %not-for-header */
168 /* Promotes a possibly negative, possibly signed char to an unsigned
169 * integer for use as an array index. If the signed char is negative,
170 * we want to instead treat it as an 8-bit unsigned char, hence the
173 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
179 /* %if-not-reentrant */
183 /* Enter a start condition. This macro really ought to take a parameter,
184 * but we do it the disgusting crufty way forced on us by the ()-less
185 * definition of BEGIN.
187 #define BEGIN (yy_start) = 1 + 2 *
189 /* Translate the current start state into a value that can be later handed
190 * to BEGIN to return to the state. The YYSTATE alias is for lex
193 #define YY_START (((yy_start) - 1) / 2)
194 #define YYSTATE YY_START
196 /* Action number for EOF rule of a given start state. */
197 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
199 /* Special action meaning "start processing a new file". */
200 #define YY_NEW_FILE asn1p_restart(asn1p_in )
202 #define YY_END_OF_BUFFER_CHAR 0
204 /* Size of default input buffer. */
206 #define YY_BUF_SIZE 16384
209 /* The state buf must be large enough to hold one state per character in the main buffer.
211 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
213 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
214 #define YY_TYPEDEF_YY_BUFFER_STATE
215 typedef struct yy_buffer_state *YY_BUFFER_STATE;
218 #ifndef YY_TYPEDEF_YY_SIZE_T
219 #define YY_TYPEDEF_YY_SIZE_T
220 typedef size_t yy_size_t;
223 /* %if-not-reentrant */
224 extern yy_size_t asn1p_leng;
228 /* %if-not-reentrant */
229 extern FILE *asn1p_in, *asn1p_out;
233 #define EOB_ACT_CONTINUE_SCAN 0
234 #define EOB_ACT_END_OF_FILE 1
235 #define EOB_ACT_LAST_MATCH 2
237 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
238 * access to the local variable yy_act. Since yyless() is a macro, it would break
239 * existing scanners that call yyless() from OUTSIDE asn1p_lex.
240 * One obvious solution it to make yy_act a global. I tried that, and saw
241 * a 5% performance hit in a non-asn1p_lineno scanner, because yy_act is
242 * normally declared as a register variable-- so it is not worth it.
244 #define YY_LESS_LINENO(n) \
247 for ( yyl = n; yyl < asn1p_leng; ++yyl )\
248 if ( asn1p_text[yyl] == '\n' )\
252 /* Return all but the first "n" matched characters back to the input stream. */
256 /* Undo effects of setting up asn1p_text. */ \
257 int yyless_macro_arg = (n); \
258 YY_LESS_LINENO(yyless_macro_arg);\
259 *yy_cp = (yy_hold_char); \
260 YY_RESTORE_YY_MORE_OFFSET \
261 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
262 YY_DO_BEFORE_ACTION; /* set up asn1p_text again */ \
266 #define unput(c) yyunput( c, (yytext_ptr) )
268 #ifndef YY_STRUCT_YY_BUFFER_STATE
269 #define YY_STRUCT_YY_BUFFER_STATE
270 struct yy_buffer_state
279 char *yy_ch_buf; /* input buffer */
280 char *yy_buf_pos; /* current position in input buffer */
282 /* Size of input buffer in bytes, not including room for EOB
285 yy_size_t yy_buf_size;
287 /* Number of characters read into yy_ch_buf, not including EOB
290 yy_size_t yy_n_chars;
292 /* Whether we "own" the buffer - i.e., we know we created it,
293 * and can realloc() it to grow it, and should free() it to
296 int yy_is_our_buffer;
298 /* Whether this is an "interactive" input source; if so, and
299 * if we're using stdio for input, then we want to use getc()
300 * instead of fread(), to make sure we stop fetching input after
303 int yy_is_interactive;
305 /* Whether we're considered to be at the beginning of a line.
306 * If so, '^' rules will be active on the next match, otherwise
311 int yy_bs_lineno; /**< The line count. */
312 int yy_bs_column; /**< The column count. */
314 /* Whether to try to fill the input buffer when we reach the
319 int yy_buffer_status;
321 #define YY_BUFFER_NEW 0
322 #define YY_BUFFER_NORMAL 1
323 /* When an EOF's been seen but there's still some text to process
324 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
325 * shouldn't try reading from the input source any more. We might
326 * still have a bunch of tokens to match, though, because of
327 * possible backing-up.
329 * When we actually see the EOF, we change the status to "new"
330 * (via asn1p_restart()), so that the user can continue scanning by
331 * just pointing asn1p_in at a new input file.
333 #define YY_BUFFER_EOF_PENDING 2
336 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
338 /* %if-c-only Standard (non-C++) definition */
339 /* %not-for-header */
341 /* %if-not-reentrant */
343 /* Stack of input buffers. */
344 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
345 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
346 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
352 /* We provide macros for accessing buffer states in case in the
353 * future we want to put the buffer states in a more general
356 * Returns the top of the stack, or NULL.
358 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
359 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
362 /* Same as previous macro, but useful when we know that the buffer stack is not
363 * NULL or when we need an lvalue. For internal use only.
365 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
367 /* %if-c-only Standard (non-C++) definition */
369 /* %if-not-reentrant */
370 /* %not-for-header */
372 /* yy_hold_char holds the character lost when asn1p_text is formed. */
373 static char yy_hold_char;
374 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
375 yy_size_t asn1p_leng;
377 /* Points to current character in buffer. */
378 static char *yy_c_buf_p = (char *) 0;
379 static int yy_init = 0; /* whether we need to initialize */
380 static int yy_start = 0; /* start state number */
382 /* Flag which is used to allow asn1p_wrap()'s to do buffer switches
383 * instead of setting up a fresh asn1p_in. A bit of a hack ...
385 static int yy_did_buffer_switch_on_eof;
390 void asn1p_restart (FILE *input_file );
391 void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer );
392 YY_BUFFER_STATE asn1p__create_buffer (FILE *file,int size );
393 void asn1p__delete_buffer (YY_BUFFER_STATE b );
394 void asn1p__flush_buffer (YY_BUFFER_STATE b );
395 void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer );
396 void asn1p_pop_buffer_state (void );
398 static void asn1p_ensure_buffer_stack (void );
399 static void asn1p__load_buffer_state (void );
400 static void asn1p__init_buffer (YY_BUFFER_STATE b,FILE *file );
402 #define YY_FLUSH_BUFFER asn1p__flush_buffer(YY_CURRENT_BUFFER )
404 YY_BUFFER_STATE asn1p__scan_buffer (char *base,yy_size_t size );
405 YY_BUFFER_STATE asn1p__scan_string (yyconst char *yy_str );
406 YY_BUFFER_STATE asn1p__scan_bytes (yyconst char *bytes,yy_size_t len );
410 void *asn1p_alloc (yy_size_t );
411 void *asn1p_realloc (void *,yy_size_t );
412 void asn1p_free (void * );
414 #define yy_new_buffer asn1p__create_buffer
416 #define yy_set_interactive(is_interactive) \
418 if ( ! YY_CURRENT_BUFFER ){ \
419 asn1p_ensure_buffer_stack (); \
420 YY_CURRENT_BUFFER_LVALUE = \
421 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \
423 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
426 #define yy_set_bol(at_bol) \
428 if ( ! YY_CURRENT_BUFFER ){\
429 asn1p_ensure_buffer_stack (); \
430 YY_CURRENT_BUFFER_LVALUE = \
431 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \
433 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
436 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
438 /* %% [1.0] asn1p_text/asn1p_in/asn1p_out/yy_state_type/asn1p_lineno etc. def's & init go here */
439 /* Begin user sect3 */
441 #define asn1p_wrap(n) 1
442 #define YY_SKIP_YYWRAP
446 typedef unsigned char YY_CHAR;
448 FILE *asn1p_in = (FILE *) 0, *asn1p_out = (FILE *) 0;
450 typedef int yy_state_type;
452 extern int asn1p_lineno;
454 int asn1p_lineno = 1;
456 extern char *asn1p_text;
457 #define yytext_ptr asn1p_text
459 /* %if-c-only Standard (non-C++) definition */
461 static yy_state_type yy_get_previous_state (void );
462 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
463 static int yy_get_next_buffer (void );
464 static void yy_fatal_error (yyconst char msg[] );
468 /* Done after the current pattern has been matched and before the
469 * corresponding action - sets up asn1p_text.
471 #define YY_DO_BEFORE_ACTION \
472 (yytext_ptr) = yy_bp; \
473 /* %% [2.0] code to fiddle asn1p_text and asn1p_leng for yymore() goes here \ */\
474 asn1p_leng = (yy_size_t) (yy_cp - yy_bp); \
475 (yy_hold_char) = *yy_cp; \
477 /* %% [3.0] code to copy yytext_ptr to asn1p_text[] goes here, if %array \ */\
478 (yy_c_buf_p) = yy_cp;
480 /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
481 #define YY_NUM_RULES 142
482 #define YY_END_OF_BUFFER 143
483 /* This struct is not used in this scanner,
484 but its presence is necessary. */
487 flex_int32_t yy_verify;
490 static yyconst flex_int16_t yy_acclist[1290] =
492 143, 141, 142, 134, 141, 142, 134, 142, 139, 141,
493 142, 21, 141, 142, 139, 141, 142, 141, 142, 139,
494 141, 142, 141, 142, 141, 142, 139, 141, 142, 141,
495 142, 35, 141, 142, 34, 141, 142, 139, 141, 142,
496 141, 142, 122, 123, 141, 142, 122, 123, 141, 142,
497 122, 123, 141, 142, 122, 123, 141, 142, 122, 123,
498 141, 142, 122, 123, 141, 142, 122, 123, 141, 142,
499 122, 123, 141, 142, 122, 123, 141, 142, 122, 123,
500 141, 142, 122, 123, 141, 142, 122, 123, 141, 142,
501 122, 123, 141, 142, 122, 123, 141, 142, 122, 123,
503 141, 142, 122, 123, 141, 142, 122, 123, 141, 142,
504 122, 123, 141, 142, 122, 123, 141, 142, 139, 141,
505 142, 139, 141, 142, 121, 141, 142, 139, 141, 142,
506 141, 142, 11, 141, 142, 8, 142, 8, 141, 142,
507 10, 141, 142, 10, 141, 142, 13, 15, 141, 142,
508 13, 142, 15, 141, 142, 15, 141, 142, 15, 141,
509 142, 23, 141, 142, 23, 142, 24, 141, 142, 18,
510 141, 142, 18, 142, 20, 141, 142, 20, 141, 142,
511 16, 141, 142, 17, 141, 142, 27, 29, 141, 142,
512 29, 141, 142, 30, 142, 27, 28, 29, 141, 142,
514 27, 28, 29, 141, 142, 132, 141, 142, 132, 142,
515 141, 142, 128, 141, 142, 141, 142, 141, 142, 127,
516 141, 142, 130, 141, 142, 131, 141, 142, 129, 141,
517 142, 133, 141, 142, 134, 141, 142, 134, 142, 141,
518 142, 141, 142, 122, 141, 142, 134, 21, 21, 119,
519 120, 7, 33, 126, 12, 36, 34, 36, 122, 123,
520 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
521 123, 122, 123, 122, 123, 122, 123, 122, 123, 46,
522 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
523 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
525 123, 123, 122, 123, 122, 123, 122, 123, 122, 123,
526 122, 123, 122, 123, 122, 123, 122, 123, 123, 122,
527 123, 122, 123, 91, 122, 123, 122, 123, 123, 122,
528 123, 122, 123, 122, 123, 122, 123, 123, 122, 123,
529 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
530 122, 123, 122, 123, 123, 122, 123, 122, 123, 123,
531 123, 122, 123, 137, 138, 121, 11, 9, 9, 14,
532 23, 22, 18, 27, 27, 28, 27, 28, 132, 7,
533 127, 122, 140, 119, 120, 33, 36, 125, 36, 124,
534 122, 123, 123, 122, 123, 38, 122, 123, 39, 122,
536 123, 122, 123, 122, 123, 122, 123, 43, 122, 123,
537 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
538 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
539 60, 122, 123, 122, 123, 122, 123, 122, 123, 122,
540 123, 122, 123, 122, 123, 123, 123, 122, 123, 122,
541 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
542 123, 83, 122, 123, 84, 122, 123, 122, 123, 123,
543 122, 123, 122, 123, 122, 123, 123, 122, 123, 94,
544 122, 123, 122, 123, 122, 123, 122, 123, 123, 122,
545 123, 122, 123, 122, 123, 102, 122, 123, 122, 123,
547 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
548 123, 122, 123, 122, 123, 122, 123, 123, 123, 123,
549 122, 123, 121, 1, 4, 19, 27, 28, 26, 27,
550 28, 127, 122, 119, 120, 32, 31, 3, 2, 122,
551 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
552 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
553 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
554 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
555 123, 122, 123, 68, 122, 123, 123, 123, 122, 123,
556 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
558 122, 123, 122, 123, 122, 123, 86, 122, 123, 123,
559 122, 123, 122, 123, 122, 123, 123, 122, 123, 122,
560 123, 122, 123, 122, 123, 123, 99, 122, 123, 122,
561 123, 122, 123, 103, 122, 123, 122, 123, 122, 123,
562 122, 123, 107, 122, 123, 109, 122, 123, 123, 122,
563 123, 122, 123, 122, 123, 122, 123, 122, 123, 123,
564 123, 123, 118, 122, 123, 4, 27, 28, 122, 123,
565 122, 123, 122, 123, 42, 122, 123, 123, 122, 123,
566 122, 123, 122, 123, 49, 122, 123, 122, 123, 122,
567 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
569 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
570 123, 122, 123, 67, 122, 123, 123, 123, 123, 122,
571 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
572 123, 122, 123, 122, 123, 122, 123, 122, 123, 123,
573 122, 123, 90, 122, 123, 122, 123, 123, 122, 123,
574 122, 123, 122, 123, 123, 122, 123, 122, 123, 122,
575 123, 122, 123, 123, 123, 110, 122, 123, 122, 123,
576 122, 123, 123, 122, 123, 123, 123, 123, 135, 27,
577 28, 37, 122, 123, 122, 123, 122, 123, 123, 122,
578 123, 122, 123, 48, 122, 123, 122, 123, 122, 123,
580 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
581 122, 123, 122, 123, 122, 123, 62, 122, 123, 122,
582 123, 122, 123, 122, 123, 122, 123, 123, 123, 123,
583 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
584 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
585 123, 88, 122, 123, 122, 123, 123, 122, 123, 122,
586 123, 122, 123, 122, 123, 123, 122, 123, 122, 123,
587 104, 122, 123, 105, 122, 123, 123, 123, 111, 122,
588 123, 122, 123, 123, 123, 123, 123, 123, 27, 28,
589 122, 123, 122, 123, 123, 45, 122, 123, 122, 123,
591 122, 123, 122, 123, 122, 123, 54, 122, 123, 55,
592 122, 123, 122, 123, 122, 123, 58, 122, 123, 122,
593 123, 122, 123, 122, 123, 64, 122, 123, 122, 123,
594 122, 123, 123, 123, 123, 122, 123, 122, 123, 75,
595 122, 123, 76, 122, 123, 122, 123, 122, 123, 122,
596 123, 80, 122, 123, 122, 123, 122, 123, 122, 123,
597 123, 122, 123, 123, 93, 122, 123, 122, 123, 96,
598 122, 123, 98, 122, 123, 123, 122, 123, 122, 123,
599 123, 123, 122, 123, 114, 123, 123, 123, 123, 123,
600 27, 28, 122, 123, 122, 123, 123, 122, 123, 122,
602 123, 122, 123, 122, 123, 122, 123, 57, 122, 123,
603 122, 123, 122, 123, 63, 122, 123, 122, 123, 66,
604 122, 123, 123, 123, 123, 123, 122, 123, 74, 122,
605 123, 77, 122, 123, 78, 122, 123, 122, 123, 122,
606 123, 123, 122, 123, 123, 92, 122, 123, 123, 122,
607 123, 123, 122, 123, 101, 122, 123, 123, 123, 122,
608 123, 123, 123, 123, 123, 27, 28, 122, 123, 41,
609 122, 123, 44, 123, 47, 122, 123, 50, 122, 123,
610 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
611 123, 123, 123, 72, 123, 122, 123, 122, 123, 122,
613 123, 123, 122, 123, 123, 123, 122, 123, 123, 106,
614 123, 123, 112, 122, 123, 123, 123, 123, 123, 136,
615 27, 122, 123, 51, 122, 123, 122, 123, 53, 122,
616 123, 122, 123, 122, 123, 61, 122, 123, 122, 123,
617 123, 123, 123, 73, 122, 123, 122, 123, 122, 123,
618 123, 122, 123, 123, 123, 122, 123, 123, 122, 123,
619 123, 115, 123, 123, 123, 123, 27, 40, 122, 123,
620 52, 122, 123, 56, 122, 123, 122, 123, 122, 123,
621 123, 123, 123, 122, 123, 122, 123, 123, 122, 123,
622 123, 123, 122, 123, 123, 122, 123, 123, 123, 123,
624 123, 27, 6, 122, 123, 122, 123, 123, 123, 123,
625 79, 122, 123, 81, 122, 123, 82, 123, 122, 123,
626 123, 123, 122, 123, 123, 100, 122, 123, 123, 123,
627 123, 123, 27, 122, 123, 65, 122, 123, 70, 123,
628 123, 71, 123, 122, 123, 87, 123, 123, 95, 122,
629 123, 123, 108, 123, 123, 123, 117, 123, 27, 122,
630 123, 123, 85, 122, 123, 123, 123, 123, 116, 123,
631 27, 122, 123, 69, 123, 123, 97, 123, 113, 123,
632 27, 59, 122, 123, 89, 123, 25, 27, 5
635 static yyconst flex_int16_t yy_accept[770] =
637 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
638 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
639 4, 7, 9, 12, 15, 18, 20, 23, 25, 27,
640 30, 32, 35, 38, 41, 43, 47, 51, 55, 59,
641 63, 67, 71, 75, 79, 83, 87, 91, 95, 99,
642 103, 107, 111, 115, 119, 122, 125, 128, 131, 133,
643 136, 138, 141, 144, 147, 151, 153, 156, 159, 162,
644 165, 167, 170, 173, 175, 178, 181, 184, 187, 191,
645 194, 196, 201, 206, 209, 211, 213, 216, 218, 220,
646 223, 226, 229, 232, 235, 238, 240, 242, 244, 247,
648 247, 248, 249, 250, 250, 251, 251, 252, 252, 252,
649 252, 253, 254, 255, 256, 256, 257, 257, 259, 259,
650 259, 261, 263, 265, 267, 269, 271, 272, 274, 276,
651 278, 280, 283, 285, 287, 289, 291, 293, 295, 297,
652 299, 301, 302, 303, 305, 307, 309, 311, 313, 315,
653 317, 319, 320, 322, 324, 327, 329, 330, 332, 334,
654 336, 338, 339, 341, 343, 345, 347, 349, 351, 353,
655 355, 356, 358, 360, 361, 362, 364, 365, 366, 366,
656 367, 367, 367, 367, 367, 368, 369, 370, 371, 372,
657 373, 374, 374, 375, 377, 379, 380, 381, 381, 382,
659 382, 382, 383, 384, 384, 384, 385, 385, 386, 386,
660 386, 386, 386, 388, 389, 390, 390, 391, 393, 394,
661 396, 399, 402, 404, 406, 406, 408, 411, 413, 415,
662 417, 419, 421, 423, 425, 427, 429, 431, 434, 436,
663 438, 440, 442, 444, 446, 447, 448, 450, 452, 454,
664 456, 458, 460, 462, 465, 468, 470, 471, 473, 475,
665 477, 478, 480, 483, 485, 487, 489, 490, 492, 494,
666 496, 499, 501, 503, 505, 507, 509, 511, 512, 514,
667 516, 518, 519, 520, 521, 523, 524, 524, 524, 525,
668 526, 527, 529, 532, 533, 533, 534, 534, 535, 536,
670 537, 538, 539, 540, 540, 540, 540, 542, 544, 546,
671 548, 550, 552, 554, 556, 558, 560, 562, 564, 566,
672 568, 570, 572, 574, 576, 578, 580, 582, 584, 587,
673 588, 589, 591, 593, 595, 597, 599, 601, 603, 605,
674 607, 610, 611, 613, 615, 617, 618, 620, 622, 624,
675 626, 627, 630, 632, 634, 637, 639, 641, 643, 646,
676 649, 650, 652, 654, 656, 658, 660, 661, 662, 663,
677 666, 666, 666, 666, 666, 667, 669, 669, 669, 671,
678 673, 675, 678, 679, 681, 683, 685, 688, 690, 692,
679 694, 696, 698, 700, 702, 704, 706, 708, 710, 712,
681 714, 717, 718, 719, 720, 722, 724, 726, 728, 730,
682 732, 734, 736, 738, 740, 741, 743, 746, 748, 749,
683 751, 751, 753, 755, 756, 758, 760, 762, 764, 765,
684 766, 769, 771, 773, 774, 776, 777, 778, 779, 779,
685 779, 780, 782, 782, 782, 785, 787, 789, 790, 792,
686 794, 797, 799, 801, 803, 805, 807, 809, 811, 813,
687 815, 817, 820, 822, 824, 826, 828, 829, 830, 831,
688 833, 835, 837, 839, 841, 843, 845, 847, 849, 851,
689 851, 852, 855, 857, 858, 860, 862, 864, 866, 867,
690 869, 871, 874, 877, 878, 879, 882, 884, 885, 886,
692 887, 888, 889, 889, 889, 891, 891, 891, 893, 895,
693 896, 899, 901, 903, 905, 907, 910, 913, 915, 917,
694 920, 922, 924, 926, 929, 931, 933, 934, 935, 936,
695 938, 940, 943, 946, 948, 950, 952, 955, 957, 959,
696 961, 962, 964, 965, 968, 970, 973, 976, 977, 979,
697 981, 982, 983, 985, 987, 988, 989, 990, 991, 991,
698 993, 993, 993, 995, 997, 998, 1000, 1002, 1004, 1006,
699 1008, 1011, 1013, 1015, 1018, 1020, 1023, 1024, 1025, 1026,
700 1027, 1029, 1032, 1035, 1038, 1040, 1042, 1043, 1045, 1046,
701 1049, 1050, 1052, 1053, 1055, 1058, 1059, 1060, 1062, 1063,
703 1064, 1065, 1066, 1066, 1066, 1068, 1068, 1068, 1070, 1073,
704 1075, 1078, 1081, 1083, 1085, 1087, 1087, 1089, 1091, 1092,
705 1093, 1094, 1096, 1098, 1100, 1102, 1103, 1105, 1106, 1107,
706 1109, 1110, 1110, 1112, 1113, 1116, 1117, 1118, 1119, 1120,
707 1120, 1121, 1122, 1122, 1122, 1124, 1127, 1129, 1132, 1134,
708 1136, 1139, 1141, 1142, 1143, 1144, 1147, 1149, 1151, 1152,
709 1154, 1155, 1156, 1158, 1159, 1161, 1162, 1164, 1165, 1166,
710 1167, 1168, 1168, 1168, 1171, 1174, 1177, 1179, 1181, 1182,
711 1183, 1184, 1186, 1188, 1189, 1191, 1192, 1193, 1195, 1196,
712 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1204, 1206, 1208,
714 1209, 1210, 1211, 1214, 1217, 1219, 1221, 1222, 1223, 1225,
715 1226, 1229, 1230, 1231, 1232, 1233, 1234, 1234, 1236, 1239,
716 1241, 1242, 1244, 1246, 1248, 1249, 1252, 1253, 1255, 1256,
717 1257, 1259, 1260, 1260, 1262, 1263, 1266, 1267, 1268, 1269,
718 1271, 1272, 1272, 1274, 1276, 1277, 1279, 1281, 1282, 1282,
719 1285, 1287, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289,
720 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1290, 1290
723 static yyconst flex_int32_t yy_ec[256] =
725 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
726 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
727 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
728 1, 6, 7, 8, 9, 1, 1, 10, 11, 12,
729 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
730 21, 22, 23, 24, 21, 25, 26, 27, 28, 29,
731 30, 31, 1, 12, 32, 33, 34, 35, 36, 37,
732 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
733 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
734 58, 1, 59, 60, 1, 1, 61, 62, 63, 64,
736 65, 66, 67, 68, 69, 70, 66, 71, 72, 73,
737 74, 75, 66, 76, 77, 78, 79, 80, 66, 81,
738 66, 82, 83, 84, 85, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
744 1, 1, 1, 1, 1, 1, 86, 1, 1, 1,
745 87, 1, 1, 1, 1, 1, 1, 1, 1, 1,
747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
748 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
749 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
750 1, 1, 1, 1, 1, 1, 1, 1, 88, 1,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
755 static yyconst flex_int32_t yy_meta[89] =
757 1, 2, 3, 4, 4, 2, 1, 5, 1, 1,
758 6, 1, 1, 1, 1, 7, 1, 1, 8, 8,
759 8, 8, 8, 8, 8, 8, 9, 1, 1, 9,
760 1, 8, 8, 8, 8, 8, 8, 10, 10, 10,
761 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
762 10, 10, 10, 10, 10, 10, 10, 1, 1, 1,
763 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
764 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
765 11, 11, 12, 1, 12, 1, 1, 1
768 static yyconst flex_int16_t yy_base[796] =
770 0, 0, 86, 89, 92, 95, 100, 101, 98, 104,
771 106, 107, 192, 280, 368, 0, 455, 0, 1756, 1741,
772 120, 136, 1737, 1735, 530, 146, 4634, 148, 213, 1728,
773 104, 236, 596, 1712, 4634, 646, 279, 303, 285, 482,
774 111, 581, 197, 434, 499, 221, 597, 697, 500, 705,
775 727, 735, 608, 748, 1679, 105, 1715, 799, 177, 0,
776 4634, 4634, 1713, 1712, 4634, 4634, 1704, 1705, 4634, 0,
777 0, 1708, 0, 0, 1687, 4634, 4634, 4634, 0, 4634,
778 4634, 825, 913, 173, 178, 292, 4634, 1696, 1698, 1689,
779 4634, 4634, 4634, 4634, 209, 354, 1670, 1674, 1682, 1687,
781 514, 0, 1686, 1680, 1667, 93, 1666, 855, 1668, 869,
782 116, 928, 1660, 4634, 955, 985, 1003, 1013, 1645, 1018,
783 764, 854, 951, 1008, 1009, 1024, 1657, 1025, 1068, 1069,
784 1084, 1090, 1106, 1112, 1123, 1136, 1139, 1159, 1156, 1167,
785 1180, 112, 170, 1195, 1198, 1206, 1221, 1232, 1243, 1249,
786 1260, 145, 1273, 1276, 1289, 1297, 146, 1300, 1313, 1324,
787 1337, 202, 1353, 1359, 1370, 1376, 1387, 1398, 1404, 1415,
788 231, 1421, 1437, 230, 458, 1436, 4634, 4634, 0, 1655,
789 825, 1471, 1483, 1581, 0, 4634, 1643, 4634, 0, 4634,
790 0, 1625, 0, 1606, 299, 551, 4634, 0, 1633, 1608,
792 0, 1631, 4634, 1628, 0, 1619, 0, 1618, 308, 1594,
793 301, 641, 1493, 4634, 1084, 1501, 4634, 1543, 1616, 1495,
794 1501, 1517, 1518, 1533, 1615, 1541, 1544, 1593, 1594, 1609,
795 1617, 1620, 1633, 1641, 1657, 1663, 1674, 1680, 1691, 1697,
796 1708, 1714, 1725, 1736, 209, 254, 1749, 1757, 1760, 1775,
797 1778, 1781, 1807, 1799, 1810, 1823, 249, 1831, 1844, 1852,
798 289, 1855, 1868, 1876, 1884, 1892, 572, 1905, 1908, 1916,
799 1929, 1937, 1945, 1953, 1966, 1974, 1987, 297, 1995, 2011,
800 2012, 469, 456, 459, 2027, 1614, 2078, 2086, 4634, 1613,
801 4634, 181, 1583, 1587, 1544, 1578, 1533, 1567, 1566, 4634,
803 4634, 4634, 4634, 545, 731, 1525, 2080, 2081, 2096, 2102,
804 2113, 2119, 2135, 2136, 2151, 2159, 2167, 2183, 2180, 2191,
805 2204, 2207, 2222, 2228, 2239, 2245, 2256, 2271, 2277, 111,
806 607, 2288, 2294, 2309, 2310, 2325, 2331, 2346, 2349, 2357,
807 2370, 251, 2378, 2381, 2394, 460, 2402, 2415, 2423, 2431,
808 446, 2439, 2447, 2460, 2468, 2471, 2489, 2486, 2492, 2507,
809 452, 2510, 2513, 2530, 2536, 2547, 573, 632, 642, 2563,
810 2598, 2623, 2631, 2643, 1557, 308, 1565, 1522, 2627, 2642,
811 2648, 2659, 658, 2677, 2680, 2683, 2698, 2701, 2709, 2722,
812 2730, 2743, 2754, 2760, 2771, 2782, 2797, 2803, 2814, 2820,
814 2835, 723, 636, 660, 2836, 2856, 2853, 2874, 2873, 2889,
815 2895, 2906, 2919, 2930, 727, 2927, 2943, 2951, 737, 2959,
816 229, 2967, 2980, 738, 2993, 2996, 3004, 3017, 794, 748,
817 3028, 3034, 3045, 742, 3056, 796, 739, 719, 874, 3107,
818 4634, 203, 1507, 1536, 3071, 3092, 3103, 846, 3114, 3120,
819 3131, 3137, 3153, 3154, 3169, 3180, 3186, 3203, 3209, 3220,
820 3226, 3237, 3243, 3254, 3260, 3276, 847, 731, 848, 3277,
821 3292, 3298, 3309, 3315, 3330, 3336, 3347, 3362, 3368, 623,
822 853, 3379, 3395, 619, 3392, 1510, 3403, 3416, 715, 3424,
823 3439, 3442, 3445, 866, 544, 3460, 3463, 891, 857, 790,
825 892, 903, 3514, 3506, 1509, 1501, 1515, 3508, 3509, 865,
826 3524, 3530, 3541, 3547, 3558, 3564, 3575, 3581, 3596, 3597,
827 3612, 3618, 3629, 3640, 3646, 3657, 886, 882, 887, 3663,
828 3674, 3685, 3691, 3702, 3708, 3723, 3724, 3739, 3745, 1500,
829 945, 3756, 921, 3762, 1506, 3773, 3779, 894, 3794, 3800,
830 967, 966, 3816, 1525, 923, 951, 950, 997, 3851, 591,
831 1488, 0, 3845, 3817, 947, 3846, 3861, 3872, 3878, 3889,
832 3895, 3910, 3913, 3921, 3934, 3937, 884, 1043, 1046, 999,
833 3952, 3958, 3969, 3975, 3986, 3992, 969, 1498, 1102, 4003,
834 971, 1493, 953, 4014, 4020, 1110, 1118, 4031, 973, 972,
836 1112, 1127, 4082, 4107, 611, 1490, 1462, 4046, 4091, 1484,
837 4092, 4107, 4113, 4128, 4129, 749, 4144, 4150, 1144, 1057,
838 1145, 1483, 4161, 4172, 4183, 1116, 1438, 1160, 1124, 1432,
839 1147, 1028, 1460, 1193, 4189, 1131, 1179, 1138, 1221, 1596,
840 4634, 1438, 1418, 1394, 4200, 4206, 4221, 4222, 4237, 1411,
841 4238, 4253, 1155, 1158, 1201, 4259, 4270, 4281, 1162, 1410,
842 1214, 1228, 1400, 1230, 1393, 1241, 1413, 1246, 1283, 1244,
843 1353, 1355, 1306, 4287, 4298, 4304, 1309, 4315, 1258, 104,
844 1264, 4326, 4332, 1271, 1251, 1295, 1284, 1234, 1286, 1232,
845 1299, 1319, 1310, 1301, 1218, 4634, 1185, 1208, 4347, 1323,
847 1339, 1334, 4348, 4363, 1232, 1164, 1345, 1313, 1109, 1347,
848 0, 1359, 1367, 1362, 1371, 1099, 1083, 1097, 4364, 1125,
849 1217, 1049, 934, 954, 1375, 0, 1428, 930, 1459, 1398,
850 880, 822, 791, 819, 1381, 0, 1378, 1469, 1523, 782,
851 743, 720, 732, 755, 1348, 753, 751, 723, 689, 0,
852 648, 0, 572, 605, 482, 436, 406, 394, 288, 273,
853 280, 165, 1250, 1566, 130, 119, 4634, 4634, 4416, 4428,
854 4440, 4452, 4464, 4476, 4487, 4489, 4500, 4512, 4524, 4535,
855 4546, 4551, 4556, 4560, 4565, 4569, 4574, 4578, 4582, 4586,
856 4589, 4593, 4604, 4610, 4621
860 static yyconst flex_int16_t yy_def[796] =
862 768, 1, 769, 769, 769, 769, 770, 770, 771, 771,
863 772, 772, 773, 773, 768, 15, 15, 17, 768, 768,
864 768, 768, 768, 774, 768, 775, 768, 768, 768, 768,
865 768, 768, 768, 768, 768, 768, 36, 36, 36, 36,
866 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
867 36, 36, 36, 36, 768, 768, 776, 768, 768, 777,
868 768, 768, 768, 768, 768, 768, 768, 768, 768, 778,
869 778, 768, 779, 779, 768, 768, 768, 768, 780, 768,
870 768, 781, 781, 768, 768, 25, 768, 768, 768, 782,
871 768, 768, 768, 768, 768, 768, 768, 768, 783, 768,
873 768, 774, 774, 768, 784, 768, 785, 775, 775, 768,
874 768, 768, 768, 768, 768, 768, 768, 768, 768, 786,
875 36, 36, 36, 36, 36, 36, 787, 36, 36, 36,
876 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
877 36, 787, 787, 36, 36, 36, 36, 36, 36, 36,
878 36, 787, 36, 36, 36, 36, 787, 36, 36, 36,
879 36, 787, 36, 36, 36, 36, 36, 36, 36, 36,
880 787, 36, 36, 787, 787, 36, 768, 768, 788, 776,
881 768, 768, 768, 768, 777, 768, 768, 768, 778, 768,
882 779, 768, 780, 83, 83, 768, 768, 789, 782, 768,
884 790, 783, 768, 768, 791, 784, 792, 785, 768, 768,
885 793, 768, 768, 768, 768, 768, 768, 786, 794, 36,
886 36, 36, 36, 36, 794, 36, 36, 36, 36, 36,
887 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
888 36, 36, 36, 36, 787, 787, 36, 36, 36, 36,
889 36, 36, 36, 36, 36, 36, 787, 36, 36, 36,
890 787, 36, 36, 36, 36, 36, 787, 36, 36, 36,
891 36, 36, 36, 36, 36, 36, 36, 787, 36, 36,
892 36, 787, 787, 787, 36, 788, 768, 768, 768, 768,
893 768, 83, 83, 789, 768, 790, 768, 791, 792, 768,
895 768, 768, 768, 793, 768, 768, 36, 36, 36, 36,
896 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
897 36, 36, 36, 36, 36, 36, 36, 36, 36, 787,
898 787, 36, 36, 36, 36, 36, 36, 36, 36, 36,
899 36, 787, 36, 36, 36, 787, 36, 36, 36, 36,
900 787, 36, 36, 36, 36, 36, 36, 36, 36, 36,
901 787, 36, 36, 36, 36, 36, 787, 787, 787, 36,
902 768, 768, 768, 768, 768, 83, 768, 768, 36, 36,
903 36, 36, 787, 36, 36, 36, 36, 36, 36, 36,
904 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
906 36, 787, 787, 787, 36, 36, 36, 36, 36, 36,
907 36, 36, 36, 36, 787, 36, 36, 36, 787, 36,
908 218, 36, 36, 787, 36, 36, 36, 36, 787, 787,
909 36, 36, 36, 787, 36, 787, 787, 787, 768, 768,
910 768, 83, 768, 768, 36, 36, 36, 787, 36, 36,
911 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
912 36, 36, 36, 36, 36, 36, 787, 787, 787, 36,
913 36, 36, 36, 36, 36, 36, 36, 36, 36, 218,
914 787, 36, 36, 787, 36, 218, 36, 36, 787, 36,
915 36, 36, 36, 787, 787, 36, 36, 787, 787, 787,
917 787, 787, 768, 768, 83, 768, 768, 36, 36, 787,
918 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
919 36, 36, 36, 36, 36, 36, 787, 787, 787, 36,
920 36, 36, 36, 36, 36, 36, 36, 36, 36, 218,
921 787, 36, 787, 36, 218, 36, 36, 787, 36, 36,
922 787, 787, 36, 787, 787, 787, 787, 787, 768, 83,
923 768, 795, 36, 36, 787, 36, 36, 36, 36, 36,
924 36, 36, 36, 36, 36, 36, 787, 787, 787, 787,
925 36, 36, 36, 36, 36, 36, 787, 218, 787, 36,
926 787, 218, 787, 36, 36, 787, 787, 36, 787, 787,
928 787, 787, 768, 768, 83, 768, 768, 36, 36, 787,
929 36, 36, 36, 36, 36, 218, 36, 36, 787, 787,
930 787, 787, 36, 36, 36, 787, 218, 787, 787, 218,
931 787, 218, 787, 787, 36, 787, 787, 787, 787, 768,
932 768, 780, 768, 768, 36, 36, 36, 36, 36, 218,
933 36, 36, 787, 787, 787, 36, 36, 36, 787, 218,
934 787, 787, 218, 787, 218, 787, 787, 787, 787, 787,
935 780, 768, 768, 36, 36, 36, 218, 36, 787, 787,
936 787, 36, 36, 787, 218, 787, 787, 218, 787, 218,
937 787, 787, 787, 787, 780, 768, 768, 218, 36, 787,
939 787, 787, 36, 36, 787, 218, 787, 787, 218, 787,
940 218, 787, 787, 787, 787, 780, 768, 218, 36, 787,
941 787, 787, 218, 787, 787, 218, 787, 787, 787, 787,
942 787, 780, 768, 218, 787, 218, 787, 787, 787, 787,
943 780, 768, 218, 787, 787, 787, 787, 780, 768, 218,
944 787, 780, 768, 768, 768, 768, 768, 768, 768, 768,
945 768, 768, 768, 768, 768, 768, 768, 0, 768, 768,
946 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
947 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
948 768, 768, 768, 768, 768
952 static yyconst flex_int16_t yy_nxt[4723] =
954 20, 21, 22, 21, 21, 21, 23, 24, 20, 25,
955 26, 27, 20, 28, 27, 29, 30, 31, 32, 33,
956 33, 33, 33, 33, 33, 33, 34, 23, 35, 35,
957 20, 36, 37, 38, 39, 40, 41, 42, 43, 44,
958 43, 43, 43, 45, 46, 47, 48, 43, 49, 50,
959 51, 52, 53, 54, 43, 43, 43, 55, 56, 23,
960 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
961 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
962 57, 57, 58, 23, 27, 20, 20, 59, 61, 62,
963 62, 61, 62, 62, 61, 62, 62, 61, 62, 62,
965 71, 63, 66, 66, 63, 72, 71, 64, 74, 74,
966 64, 72, 67, 67, 100, 100, 114, 68, 68, 225,
967 104, 101, 101, 101, 101, 101, 225, 225, 69, 69,
968 100, 211, 75, 75, 767, 76, 76, 101, 101, 101,
969 101, 101, 140, 121, 212, 766, 100, 108, 108, 108,
970 108, 108, 106, 121, 701, 121, 100, 121, 100, 141,
971 225, 225, 121, 178, 108, 108, 110, 110, 110, 110,
972 110, 110, 110, 110, 196, 196, 196, 196, 196, 196,
973 196, 196, 196, 196, 245, 225, 402, 100, 77, 77,
974 78, 78, 79, 80, 81, 80, 80, 80, 79, 79,
976 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
977 101, 101, 101, 101, 101, 261, 257, 225, 79, 79,
978 79, 79, 79, 100, 225, 194, 376, 83, 111, 121,
979 246, 110, 112, 112, 112, 112, 112, 112, 112, 121,
980 763, 121, 505, 121, 768, 225, 225, 194, 121, 79,
981 79, 79, 115, 121, 116, 116, 116, 116, 116, 116,
982 116, 116, 184, 121, 225, 121, 225, 121, 486, 225,
983 267, 117, 151, 330, 80, 79, 80, 79, 79, 79,
984 79, 80, 81, 80, 80, 80, 79, 79, 79, 79,
985 79, 79, 79, 79, 79, 79, 79, 79, 282, 152,
987 117, 278, 768, 303, 225, 303, 79, 79, 79, 79,
988 79, 121, 225, 342, 128, 83, 304, 121, 129, 768,
989 136, 121, 130, 121, 131, 121, 415, 121, 331, 121,
990 121, 121, 292, 293, 132, 121, 121, 79, 79, 79,
991 300, 133, 442, 194, 762, 134, 301, 121, 135, 121,
992 761, 768, 194, 346, 121, 101, 101, 101, 101, 101,
993 760, 361, 80, 79, 80, 79, 79, 79, 35, 84,
994 85, 84, 84, 84, 35, 35, 35, 86, 35, 35,
995 35, 35, 87, 88, 35, 89, 35, 35, 35, 35,
996 35, 35, 35, 35, 35, 35, 35, 35, 35, 90,
998 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
999 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1000 90, 90, 90, 90, 90, 91, 92, 35, 35, 35,
1001 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1002 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1003 93, 35, 94, 35, 35, 35, 95, 96, 95, 95,
1004 95, 225, 759, 97, 35, 144, 121, 225, 145, 35,
1005 35, 225, 35, 225, 225, 225, 121, 146, 147, 758,
1006 121, 98, 757, 148, 225, 121, 99, 99, 99, 99,
1007 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1009 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1010 99, 99, 35, 35, 121, 101, 101, 101, 101, 101,
1011 368, 283, 419, 424, 121, 137, 138, 369, 121, 430,
1012 149, 121, 121, 121, 284, 163, 139, 35, 150, 35,
1013 100, 121, 121, 121, 121, 121, 121, 303, 367, 303,
1014 121, 121, 196, 196, 196, 196, 196, 104, 756, 225,
1015 304, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1016 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1017 105, 105, 105, 105, 105, 105, 105, 225, 225, 106,
1018 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
1020 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
1021 107, 107, 115, 121, 118, 118, 118, 118, 118, 118,
1022 118, 118, 225, 121, 552, 121, 642, 121, 605, 153,
1023 154, 117, 121, 155, 225, 194, 755, 436, 768, 121,
1024 121, 121, 305, 156, 351, 142, 305, 225, 121, 754,
1025 121, 225, 121, 543, 121, 194, 143, 225, 157, 121,
1026 117, 120, 540, 225, 121, 121, 121, 121, 121, 121,
1027 121, 121, 306, 225, 403, 225, 175, 121, 122, 121,
1028 121, 121, 121, 121, 121, 121, 121, 121, 123, 121,
1029 124, 121, 125, 121, 121, 121, 121, 126, 121, 121,
1031 121, 121, 121, 438, 468, 437, 127, 127, 127, 127,
1032 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1033 127, 127, 127, 127, 127, 127, 127, 127, 158, 121,
1034 225, 159, 305, 448, 225, 469, 305, 121, 225, 160,
1035 164, 121, 225, 121, 165, 161, 225, 121, 121, 121,
1036 168, 121, 225, 225, 225, 166, 121, 225, 169, 121,
1037 167, 753, 306, 225, 768, 752, 225, 121, 225, 121,
1038 225, 121, 162, 121, 750, 170, 548, 121, 121, 172,
1039 121, 121, 650, 467, 749, 173, 121, 176, 748, 502,
1040 121, 171, 121, 528, 121, 481, 121, 225, 489, 121,
1042 181, 181, 181, 181, 181, 225, 121, 174, 121, 225,
1043 121, 225, 495, 498, 484, 121, 501, 182, 182, 182,
1044 182, 182, 182, 183, 183, 193, 181, 181, 181, 181,
1045 181, 193, 193, 193, 193, 193, 193, 193, 193, 193,
1046 193, 193, 193, 182, 182, 182, 182, 182, 182, 183,
1047 183, 193, 193, 193, 193, 193, 108, 108, 108, 108,
1048 108, 225, 225, 225, 743, 209, 556, 742, 225, 494,
1049 741, 500, 225, 108, 108, 439, 439, 439, 439, 439,
1050 225, 225, 193, 193, 193, 115, 121, 116, 116, 116,
1051 116, 116, 116, 116, 116, 225, 121, 225, 121, 225,
1053 121, 225, 225, 220, 117, 121, 225, 225, 193, 225,
1054 193, 193, 193, 193, 510, 541, 529, 527, 225, 193,
1055 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
1056 193, 579, 555, 117, 551, 577, 225, 565, 225, 193,
1057 193, 193, 193, 193, 115, 225, 213, 213, 213, 213,
1058 213, 213, 213, 213, 578, 554, 557, 195, 441, 580,
1059 225, 619, 225, 117, 593, 225, 225, 558, 225, 225,
1060 193, 193, 193, 215, 215, 215, 215, 215, 215, 215,
1061 215, 225, 225, 121, 225, 591, 225, 225, 225, 736,
1062 117, 599, 117, 221, 589, 121, 193, 121, 193, 193,
1064 193, 115, 121, 116, 116, 116, 116, 116, 116, 116,
1065 116, 600, 225, 610, 225, 597, 216, 631, 216, 117,
1066 117, 215, 215, 215, 215, 215, 215, 215, 215, 115,
1067 601, 118, 118, 118, 118, 118, 118, 118, 118, 596,
1068 121, 121, 637, 768, 626, 636, 602, 629, 117, 117,
1069 121, 121, 121, 121, 121, 223, 121, 121, 225, 121,
1070 121, 225, 226, 222, 225, 622, 121, 121, 121, 121,
1071 121, 121, 225, 665, 224, 121, 121, 117, 219, 219,
1072 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
1073 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
1075 121, 121, 215, 215, 215, 215, 215, 215, 215, 215,
1076 121, 121, 121, 121, 121, 228, 121, 225, 227, 121,
1077 121, 654, 121, 621, 620, 225, 121, 225, 121, 229,
1078 121, 225, 121, 225, 121, 121, 121, 230, 121, 225,
1079 225, 121, 225, 232, 121, 734, 225, 733, 121, 732,
1080 121, 231, 121, 225, 121, 121, 121, 121, 121, 225,
1081 225, 638, 225, 121, 726, 121, 233, 234, 121, 121,
1082 225, 236, 235, 225, 121, 225, 633, 225, 121, 628,
1083 121, 121, 121, 121, 659, 121, 662, 121, 121, 240,
1084 121, 121, 237, 238, 225, 634, 664, 667, 121, 121,
1086 121, 121, 241, 121, 639, 121, 242, 121, 225, 243,
1087 239, 121, 121, 121, 723, 669, 225, 247, 121, 653,
1088 655, 680, 121, 679, 121, 244, 121, 121, 668, 225,
1089 121, 121, 225, 248, 684, 661, 225, 121, 121, 121,
1090 121, 121, 121, 225, 121, 225, 121, 225, 121, 121,
1091 121, 764, 249, 121, 250, 764, 225, 121, 718, 225,
1092 717, 225, 716, 121, 121, 121, 711, 121, 666, 681,
1093 251, 252, 121, 225, 121, 121, 121, 253, 121, 225,
1094 765, 121, 686, 121, 709, 121, 225, 121, 735, 121,
1095 706, 121, 121, 255, 121, 121, 670, 254, 225, 225,
1097 121, 225, 256, 687, 121, 121, 121, 689, 121, 691,
1098 225, 121, 694, 258, 225, 121, 225, 121, 121, 121,
1099 121, 121, 121, 692, 121, 225, 259, 121, 225, 121,
1100 700, 121, 121, 121, 225, 121, 702, 705, 225, 121,
1101 121, 121, 121, 121, 121, 121, 121, 260, 121, 225,
1102 262, 121, 708, 698, 225, 121, 121, 121, 693, 121,
1103 225, 710, 225, 225, 121, 263, 121, 707, 121, 121,
1104 121, 712, 265, 715, 225, 264, 266, 225, 714, 121,
1105 697, 121, 225, 121, 268, 121, 225, 725, 121, 720,
1106 225, 121, 696, 225, 713, 269, 225, 121, 695, 121,
1108 722, 121, 121, 121, 121, 121, 270, 721, 121, 271,
1109 121, 724, 121, 225, 121, 727, 121, 275, 121, 121,
1110 121, 121, 121, 751, 273, 728, 272, 121, 225, 121,
1111 121, 274, 690, 121, 730, 729, 121, 731, 121, 688,
1112 121, 276, 121, 225, 121, 744, 121, 121, 121, 121,
1113 121, 745, 737, 121, 685, 121, 677, 121, 673, 121,
1114 279, 121, 672, 121, 740, 121, 277, 121, 121, 121,
1115 280, 671, 121, 281, 225, 225, 663, 660, 121, 121,
1116 121, 121, 121, 121, 225, 287, 285, 121, 121, 183,
1117 183, 183, 183, 183, 183, 183, 183, 288, 225, 225,
1119 738, 183, 183, 183, 183, 183, 183, 183, 183, 115,
1120 644, 213, 213, 213, 213, 213, 213, 213, 213, 215,
1121 215, 215, 215, 215, 215, 215, 215, 121, 117, 643,
1122 307, 739, 630, 121, 627, 746, 606, 121, 225, 121,
1123 225, 121, 592, 121, 588, 121, 121, 121, 562, 121,
1124 121, 561, 121, 560, 545, 507, 506, 117, 120, 121,
1125 308, 121, 121, 121, 121, 121, 444, 764, 121, 121,
1126 443, 764, 375, 121, 378, 121, 121, 121, 309, 121,
1127 310, 207, 205, 121, 121, 121, 121, 121, 121, 747,
1128 121, 203, 121, 201, 377, 121, 765, 640, 640, 640,
1130 640, 640, 198, 219, 219, 219, 219, 219, 219, 219,
1131 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
1132 219, 219, 219, 219, 219, 121, 121, 194, 375, 179,
1133 768, 225, 301, 207, 205, 121, 312, 121, 121, 121,
1134 121, 121, 311, 297, 121, 121, 201, 295, 198, 121,
1135 194, 121, 121, 121, 291, 121, 314, 313, 290, 121,
1136 121, 121, 121, 121, 121, 121, 121, 289, 121, 315,
1137 179, 121, 225, 121, 217, 121, 214, 121, 210, 316,
1138 641, 207, 205, 121, 121, 121, 204, 121, 319, 121,
1139 317, 318, 121, 203, 203, 121, 320, 201, 321, 121,
1141 119, 121, 200, 121, 198, 121, 121, 121, 121, 121,
1142 114, 197, 121, 192, 121, 190, 121, 114, 121, 322,
1143 121, 188, 121, 121, 121, 121, 121, 187, 186, 121,
1144 179, 121, 324, 121, 323, 121, 177, 121, 119, 121,
1145 121, 121, 121, 121, 113, 103, 121, 100, 121, 327,
1146 325, 100, 121, 326, 121, 768, 121, 121, 121, 121,
1147 121, 768, 768, 768, 768, 121, 768, 121, 121, 121,
1148 768, 121, 768, 768, 328, 768, 121, 768, 121, 329,
1149 121, 121, 121, 768, 768, 768, 768, 121, 768, 121,
1150 768, 121, 121, 121, 768, 121, 768, 768, 332, 121,
1152 121, 333, 334, 121, 121, 335, 121, 121, 121, 768,
1153 121, 121, 768, 121, 768, 768, 338, 336, 768, 121,
1154 121, 121, 121, 121, 121, 121, 121, 121, 337, 121,
1155 339, 121, 121, 768, 768, 768, 768, 768, 768, 121,
1156 768, 121, 121, 121, 768, 121, 768, 768, 768, 121,
1157 121, 121, 121, 121, 121, 121, 121, 768, 121, 768,
1158 768, 340, 768, 121, 768, 341, 343, 121, 768, 121,
1159 768, 768, 768, 121, 121, 121, 121, 121, 768, 344,
1160 768, 768, 121, 768, 121, 768, 121, 121, 121, 768,
1161 121, 345, 768, 768, 121, 121, 121, 121, 121, 121,
1163 121, 121, 768, 121, 768, 347, 121, 768, 121, 768,
1164 121, 768, 121, 768, 121, 768, 121, 768, 121, 121,
1165 121, 768, 121, 768, 121, 348, 121, 121, 121, 768,
1166 121, 768, 768, 349, 121, 121, 121, 121, 121, 353,
1167 121, 768, 768, 121, 350, 768, 768, 352, 121, 121,
1168 121, 121, 121, 768, 121, 768, 121, 768, 121, 121,
1169 121, 121, 121, 768, 768, 768, 768, 354, 768, 121,
1170 768, 121, 355, 121, 768, 121, 768, 121, 768, 121,
1171 121, 121, 768, 121, 356, 121, 768, 121, 121, 121,
1172 768, 121, 768, 768, 768, 121, 121, 121, 121, 121,
1174 768, 768, 768, 357, 121, 768, 121, 768, 121, 768,
1175 121, 768, 121, 768, 768, 358, 121, 121, 121, 121,
1176 121, 768, 360, 359, 768, 121, 768, 121, 768, 121,
1177 768, 121, 768, 121, 768, 768, 366, 121, 121, 121,
1178 362, 121, 363, 121, 121, 768, 121, 364, 768, 768,
1179 768, 768, 768, 121, 121, 121, 121, 121, 121, 121,
1180 768, 365, 121, 121, 768, 370, 768, 768, 768, 121,
1181 768, 121, 768, 121, 768, 768, 768, 768, 121, 371,
1182 371, 371, 371, 371, 768, 768, 768, 373, 373, 373,
1183 373, 373, 768, 768, 768, 768, 372, 372, 372, 372,
1185 372, 372, 372, 372, 374, 374, 374, 374, 374, 374,
1186 374, 374, 121, 121, 768, 768, 768, 768, 768, 768,
1187 380, 768, 121, 121, 379, 121, 121, 121, 121, 768,
1188 768, 121, 121, 768, 121, 768, 768, 768, 121, 381,
1189 121, 768, 121, 768, 121, 121, 382, 121, 121, 768,
1190 768, 121, 768, 121, 384, 121, 768, 121, 768, 121,
1191 768, 121, 768, 121, 121, 121, 385, 121, 121, 386,
1192 121, 768, 768, 768, 768, 768, 768, 121, 121, 121,
1193 121, 121, 121, 121, 768, 768, 121, 121, 768, 768,
1194 383, 121, 768, 121, 768, 121, 768, 121, 768, 121,
1196 387, 121, 121, 121, 388, 121, 768, 768, 768, 121,
1197 121, 121, 121, 121, 390, 121, 768, 389, 121, 768,
1198 768, 768, 121, 121, 121, 121, 121, 121, 768, 121,
1199 768, 391, 768, 121, 121, 392, 121, 121, 393, 121,
1200 768, 394, 121, 768, 768, 768, 121, 768, 121, 121,
1201 121, 121, 768, 121, 121, 121, 768, 395, 121, 768,
1202 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
1203 121, 121, 121, 121, 396, 768, 768, 121, 397, 121,
1204 768, 121, 768, 121, 768, 121, 768, 121, 121, 121,
1205 121, 121, 768, 398, 768, 768, 121, 768, 121, 768,
1207 399, 768, 121, 121, 400, 768, 401, 121, 768, 121,
1208 768, 768, 768, 121, 768, 121, 768, 121, 768, 121,
1209 121, 121, 121, 121, 768, 768, 121, 768, 121, 768,
1210 121, 768, 121, 768, 121, 768, 121, 768, 121, 121,
1211 121, 121, 121, 768, 405, 121, 768, 768, 406, 768,
1212 768, 121, 121, 121, 121, 121, 121, 121, 407, 768,
1213 121, 121, 409, 121, 768, 404, 768, 121, 768, 121,
1214 413, 121, 768, 121, 768, 121, 408, 121, 121, 410,
1215 768, 121, 121, 411, 768, 768, 768, 768, 121, 121,
1216 121, 121, 121, 121, 412, 121, 768, 121, 768, 121,
1218 121, 121, 121, 121, 768, 768, 414, 768, 121, 768,
1219 121, 416, 121, 121, 121, 768, 121, 768, 768, 768,
1220 121, 121, 121, 121, 121, 121, 121, 121, 768, 121,
1221 421, 417, 121, 768, 121, 768, 121, 420, 121, 418,
1222 121, 768, 768, 768, 121, 121, 121, 121, 121, 768,
1223 768, 768, 768, 121, 768, 121, 768, 121, 422, 121,
1224 768, 121, 423, 121, 768, 121, 121, 121, 768, 121,
1225 768, 121, 768, 121, 121, 121, 768, 121, 768, 121,
1226 768, 121, 121, 121, 768, 121, 768, 768, 768, 121,
1227 121, 121, 121, 121, 768, 426, 768, 425, 121, 768,
1229 121, 768, 121, 121, 121, 768, 121, 768, 768, 768,
1230 121, 121, 121, 121, 121, 427, 768, 121, 121, 121,
1231 428, 121, 121, 768, 121, 768, 768, 768, 121, 768,
1232 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
1233 121, 768, 121, 121, 768, 121, 768, 768, 768, 121,
1234 768, 121, 121, 121, 431, 121, 121, 121, 121, 121,
1235 768, 121, 121, 429, 432, 433, 768, 768, 121, 768,
1236 768, 768, 121, 768, 121, 768, 121, 768, 121, 121,
1237 121, 121, 121, 768, 768, 768, 768, 121, 768, 121,
1238 768, 121, 768, 121, 768, 121, 435, 768, 121, 371,
1240 371, 371, 371, 371, 434, 121, 768, 121, 768, 121,
1241 768, 768, 768, 768, 121, 768, 372, 372, 372, 372,
1242 372, 372, 372, 372, 439, 439, 439, 439, 439, 768,
1243 768, 768, 373, 373, 373, 373, 373, 440, 768, 768,
1244 768, 372, 372, 372, 372, 372, 372, 372, 372, 374,
1245 374, 374, 374, 374, 374, 374, 374, 440, 768, 121,
1246 768, 374, 374, 374, 374, 374, 374, 374, 374, 121,
1247 768, 121, 768, 121, 121, 446, 768, 445, 121, 447,
1248 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
1249 121, 121, 121, 121, 121, 768, 768, 768, 768, 121,
1251 768, 121, 768, 121, 768, 121, 768, 441, 449, 121,
1252 121, 768, 121, 450, 768, 121, 768, 768, 451, 121,
1253 768, 121, 121, 121, 121, 121, 121, 121, 121, 121,
1254 121, 121, 768, 121, 121, 768, 768, 768, 768, 768,
1255 121, 121, 121, 121, 121, 452, 768, 121, 768, 121,
1256 768, 121, 121, 121, 121, 121, 768, 453, 768, 768,
1257 121, 454, 121, 768, 121, 768, 121, 768, 121, 768,
1258 768, 768, 455, 121, 121, 121, 121, 768, 456, 768,
1259 768, 121, 457, 768, 768, 121, 121, 121, 458, 121,
1260 768, 768, 121, 768, 121, 459, 121, 768, 121, 460,
1262 121, 768, 121, 121, 121, 121, 121, 768, 768, 768,
1263 768, 121, 768, 121, 121, 121, 768, 121, 768, 461,
1264 768, 768, 121, 768, 121, 768, 121, 768, 121, 121,
1265 463, 768, 462, 121, 768, 121, 768, 768, 768, 121,
1266 768, 121, 768, 121, 768, 121, 121, 121, 121, 121,
1267 768, 768, 121, 464, 121, 768, 121, 768, 121, 768,
1268 121, 768, 121, 465, 466, 121, 121, 121, 121, 768,
1269 768, 121, 768, 768, 768, 470, 768, 121, 121, 121,
1270 121, 121, 121, 768, 768, 121, 121, 121, 121, 471,
1271 768, 472, 768, 768, 768, 121, 768, 121, 121, 121,
1273 121, 768, 121, 473, 121, 121, 121, 121, 474, 768,
1274 768, 768, 768, 768, 768, 121, 121, 475, 121, 121,
1275 121, 121, 768, 768, 121, 121, 768, 121, 768, 768,
1276 477, 121, 768, 121, 768, 121, 768, 121, 121, 121,
1277 476, 121, 479, 768, 768, 480, 121, 768, 121, 768,
1278 121, 121, 121, 768, 768, 478, 768, 121, 768, 121,
1279 768, 121, 121, 121, 768, 121, 768, 768, 768, 121,
1280 121, 121, 121, 121, 121, 121, 121, 482, 121, 768,
1281 768, 121, 768, 121, 768, 121, 768, 121, 768, 121,
1282 768, 121, 768, 121, 121, 483, 768, 121, 768, 121,
1284 768, 121, 121, 121, 768, 121, 768, 485, 768, 121,
1285 121, 487, 121, 121, 768, 768, 768, 768, 121, 768,
1286 768, 768, 121, 768, 121, 121, 121, 768, 121, 768,
1287 488, 121, 490, 768, 768, 121, 121, 121, 121, 121,
1288 491, 492, 121, 768, 121, 768, 121, 121, 121, 121,
1289 121, 768, 768, 768, 768, 121, 768, 768, 768, 121,
1290 121, 121, 768, 121, 768, 768, 121, 768, 121, 496,
1291 121, 493, 121, 768, 121, 768, 121, 121, 121, 121,
1292 121, 768, 768, 768, 768, 121, 768, 121, 121, 121,
1293 768, 121, 768, 497, 768, 768, 121, 768, 121, 768,
1295 121, 768, 121, 121, 768, 768, 768, 121, 503, 503,
1296 503, 503, 503, 121, 768, 121, 768, 121, 768, 768,
1297 768, 768, 121, 508, 121, 504, 504, 504, 504, 504,
1298 504, 504, 504, 499, 121, 121, 121, 768, 121, 768,
1299 768, 768, 768, 121, 768, 121, 121, 121, 768, 121,
1300 768, 768, 121, 509, 121, 768, 121, 768, 511, 768,
1301 121, 768, 121, 121, 121, 121, 121, 768, 768, 121,
1302 512, 121, 513, 121, 768, 121, 768, 121, 768, 121,
1303 768, 121, 121, 121, 514, 121, 121, 768, 121, 768,
1304 768, 768, 768, 768, 768, 121, 121, 121, 515, 121,
1306 121, 121, 768, 768, 121, 121, 768, 768, 768, 768,
1307 768, 121, 121, 121, 517, 121, 768, 768, 121, 516,
1308 121, 768, 121, 768, 121, 768, 121, 768, 121, 768,
1309 121, 121, 121, 768, 768, 121, 518, 121, 519, 768,
1310 768, 121, 768, 520, 768, 121, 768, 121, 768, 121,
1311 768, 121, 121, 121, 121, 121, 768, 522, 121, 768,
1312 121, 768, 121, 768, 521, 768, 121, 768, 121, 121,
1313 121, 121, 121, 768, 768, 121, 768, 121, 768, 121,
1314 768, 121, 523, 121, 768, 121, 121, 121, 121, 121,
1315 768, 768, 121, 768, 121, 768, 121, 768, 121, 525,
1317 121, 768, 121, 524, 121, 121, 121, 526, 121, 121,
1318 768, 121, 768, 530, 768, 768, 768, 768, 121, 121,
1319 121, 121, 121, 121, 121, 768, 768, 121, 121, 768,
1320 121, 531, 532, 768, 121, 768, 121, 768, 121, 768,
1321 121, 121, 121, 121, 121, 768, 768, 121, 768, 121,
1322 534, 121, 768, 121, 768, 121, 768, 121, 533, 121,
1323 121, 121, 121, 535, 768, 768, 121, 768, 121, 536,
1324 768, 768, 121, 768, 121, 768, 121, 768, 121, 121,
1325 121, 121, 121, 768, 768, 768, 768, 121, 768, 121,
1326 768, 121, 768, 121, 121, 537, 768, 538, 121, 768,
1328 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
1329 121, 121, 121, 121, 121, 768, 768, 539, 768, 121,
1330 768, 121, 768, 121, 121, 121, 542, 121, 768, 768,
1331 121, 768, 768, 768, 121, 121, 544, 121, 121, 121,
1332 768, 121, 768, 121, 768, 121, 121, 121, 121, 121,
1333 768, 547, 768, 546, 121, 768, 121, 768, 121, 768,
1334 121, 768, 121, 768, 768, 768, 121, 121, 121, 768,
1335 121, 121, 550, 768, 121, 121, 549, 121, 768, 768,
1336 768, 121, 768, 121, 121, 121, 121, 121, 121, 121,
1337 121, 121, 121, 121, 768, 121, 121, 768, 768, 768,
1339 768, 768, 121, 768, 121, 121, 121, 121, 768, 121,
1340 768, 121, 553, 768, 121, 503, 503, 503, 503, 503,
1341 559, 768, 768, 768, 504, 504, 504, 504, 504, 504,
1342 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
1343 121, 121, 768, 768, 768, 768, 768, 768, 564, 768,
1344 121, 121, 121, 121, 121, 121, 121, 768, 563, 121,
1345 121, 768, 121, 768, 768, 566, 121, 768, 121, 768,
1346 121, 768, 121, 121, 121, 121, 121, 768, 768, 121,
1347 768, 121, 768, 121, 768, 567, 568, 121, 768, 121,
1348 121, 121, 121, 121, 768, 768, 121, 569, 121, 768,
1350 121, 768, 121, 768, 121, 768, 121, 121, 121, 121,
1351 121, 768, 768, 121, 768, 121, 768, 121, 768, 121,
1352 570, 121, 768, 121, 768, 121, 121, 121, 121, 121,
1353 571, 768, 121, 768, 768, 768, 768, 768, 121, 121,
1354 121, 121, 121, 121, 121, 768, 768, 121, 121, 572,
1355 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
1356 121, 121, 121, 121, 121, 768, 768, 768, 573, 121,
1357 768, 121, 121, 121, 768, 121, 768, 768, 575, 574,
1358 121, 768, 121, 768, 121, 768, 121, 768, 121, 121,
1359 121, 121, 121, 768, 768, 121, 768, 121, 768, 576,
1361 768, 121, 581, 121, 768, 121, 121, 121, 121, 121,
1362 768, 768, 768, 768, 121, 768, 121, 121, 121, 768,
1363 121, 768, 768, 121, 582, 121, 768, 121, 768, 121,
1364 768, 121, 768, 121, 121, 121, 121, 121, 768, 768,
1365 121, 768, 121, 584, 121, 768, 121, 768, 121, 768,
1366 121, 583, 121, 121, 121, 121, 121, 768, 768, 121,
1367 768, 768, 768, 768, 768, 121, 121, 121, 121, 121,
1368 121, 121, 586, 585, 121, 121, 768, 121, 768, 768,
1369 768, 121, 768, 121, 768, 121, 768, 121, 121, 121,
1370 121, 121, 768, 768, 121, 768, 121, 768, 590, 768,
1372 121, 768, 121, 768, 121, 121, 121, 121, 121, 768,
1373 768, 121, 768, 121, 768, 121, 768, 121, 768, 121,
1374 768, 121, 587, 121, 121, 121, 121, 768, 768, 594,
1375 121, 768, 121, 768, 768, 595, 121, 768, 121, 768,
1376 121, 768, 121, 768, 121, 121, 121, 598, 121, 121,
1377 609, 121, 603, 603, 603, 603, 603, 768, 121, 121,
1378 121, 121, 121, 121, 768, 768, 768, 121, 121, 604,
1379 604, 604, 604, 604, 604, 604, 604, 121, 121, 768,
1380 768, 768, 768, 768, 608, 768, 768, 121, 121, 121,
1381 121, 121, 121, 121, 611, 768, 121, 121, 768, 768,
1383 768, 768, 768, 121, 121, 121, 768, 121, 768, 768,
1384 121, 612, 121, 768, 121, 768, 613, 768, 121, 768,
1385 121, 121, 614, 121, 121, 616, 768, 121, 768, 121,
1386 768, 121, 768, 121, 615, 121, 768, 121, 768, 121,
1387 121, 121, 121, 768, 768, 121, 121, 768, 617, 768,
1388 768, 768, 121, 121, 121, 121, 121, 121, 768, 121,
1389 768, 121, 768, 121, 121, 121, 121, 121, 768, 121,
1390 768, 768, 121, 618, 768, 768, 121, 768, 121, 121,
1391 121, 121, 768, 121, 121, 121, 768, 623, 121, 768,
1392 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
1394 121, 121, 121, 121, 121, 768, 768, 121, 768, 121,
1395 768, 121, 768, 121, 768, 121, 768, 121, 121, 121,
1396 121, 121, 768, 768, 121, 624, 121, 768, 121, 632,
1397 121, 768, 121, 768, 121, 121, 121, 121, 121, 768,
1398 768, 768, 625, 121, 768, 121, 121, 121, 768, 121,
1399 768, 768, 121, 768, 121, 768, 121, 768, 121, 768,
1400 121, 768, 121, 121, 121, 121, 121, 768, 768, 768,
1401 768, 121, 768, 635, 768, 121, 768, 121, 121, 768,
1402 768, 768, 121, 603, 603, 603, 603, 603, 121, 768,
1403 121, 645, 121, 768, 768, 768, 768, 121, 768, 768,
1405 604, 604, 604, 604, 604, 604, 604, 604, 640, 640,
1406 640, 640, 640, 768, 768, 768, 768, 768, 768, 768,
1407 768, 768, 768, 121, 121, 604, 604, 604, 604, 604,
1408 604, 604, 604, 121, 121, 121, 121, 121, 121, 121,
1409 768, 768, 121, 121, 768, 121, 768, 768, 647, 121,
1410 768, 121, 768, 121, 768, 121, 646, 121, 121, 121,
1411 121, 121, 768, 768, 121, 648, 768, 768, 768, 768,
1412 121, 121, 121, 649, 121, 121, 121, 768, 651, 121,
1413 121, 768, 121, 768, 768, 768, 121, 768, 121, 768,
1414 121, 641, 652, 121, 121, 121, 121, 768, 768, 768,
1416 768, 121, 768, 121, 121, 121, 768, 121, 768, 656,
1417 768, 768, 121, 768, 121, 121, 121, 657, 121, 768,
1418 768, 121, 658, 121, 768, 121, 768, 121, 768, 121,
1419 768, 121, 121, 121, 121, 121, 768, 768, 121, 768,
1420 121, 768, 121, 768, 674, 768, 121, 768, 121, 768,
1421 121, 121, 121, 121, 121, 675, 768, 121, 768, 768,
1422 768, 768, 768, 121, 121, 121, 121, 121, 121, 121,
1423 121, 768, 121, 121, 768, 768, 768, 768, 768, 121,
1424 121, 121, 121, 121, 121, 121, 676, 768, 121, 121,
1425 768, 121, 678, 768, 768, 121, 768, 121, 768, 121,
1427 768, 121, 121, 121, 121, 121, 768, 768, 768, 768,
1428 121, 768, 121, 121, 682, 768, 121, 768, 768, 121,
1429 768, 121, 768, 121, 768, 121, 683, 121, 768, 121,
1430 121, 121, 121, 121, 768, 768, 121, 768, 121, 768,
1431 121, 768, 121, 768, 121, 768, 121, 121, 121, 121,
1432 121, 768, 768, 768, 768, 121, 768, 121, 121, 121,
1433 768, 121, 768, 768, 121, 699, 121, 768, 121, 768,
1434 121, 768, 121, 768, 121, 703, 704, 121, 121, 121,
1435 121, 768, 768, 121, 768, 768, 768, 768, 768, 121,
1436 121, 121, 121, 121, 121, 121, 121, 768, 121, 121,
1438 768, 768, 719, 768, 768, 121, 121, 121, 121, 121,
1439 121, 768, 768, 768, 121, 121, 60, 60, 60, 60,
1440 60, 60, 60, 60, 60, 60, 60, 60, 65, 65,
1441 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1442 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1443 70, 70, 73, 73, 73, 73, 73, 73, 73, 73,
1444 73, 73, 73, 73, 82, 82, 82, 82, 82, 82,
1445 82, 82, 82, 82, 82, 82, 102, 102, 102, 102,
1446 768, 102, 102, 102, 102, 102, 102, 102, 109, 109,
1447 109, 768, 109, 768, 109, 180, 180, 768, 180, 180,
1449 185, 185, 768, 768, 185, 185, 768, 185, 185, 185,
1450 185, 185, 189, 189, 189, 189, 768, 189, 189, 189,
1451 189, 189, 189, 189, 191, 191, 191, 191, 191, 191,
1452 191, 191, 768, 191, 191, 193, 768, 768, 768, 193,
1453 193, 193, 193, 193, 193, 193, 194, 768, 768, 768,
1454 194, 194, 194, 194, 194, 194, 194, 199, 199, 768,
1455 199, 199, 202, 202, 768, 202, 206, 206, 768, 206,
1456 206, 208, 208, 768, 208, 208, 218, 768, 218, 218,
1457 127, 127, 768, 127, 127, 286, 768, 286, 286, 294,
1458 768, 294, 294, 296, 768, 296, 298, 768, 298, 298,
1460 299, 768, 299, 299, 302, 302, 302, 302, 302, 302,
1461 302, 302, 302, 302, 302, 302, 219, 219, 768, 219,
1462 219, 607, 607, 768, 607, 607, 607, 607, 607, 607,
1463 607, 607, 607, 19, 768, 768, 768, 768, 768, 768,
1464 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1465 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1466 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1467 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1468 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1469 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1471 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1472 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1476 static yyconst flex_int16_t yy_chk[4723] =
1478 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1479 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1480 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1481 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1482 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1483 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1484 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1486 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
1487 3, 4, 4, 4, 5, 5, 5, 6, 6, 6,
1489 9, 3, 7, 8, 4, 9, 10, 5, 11, 12,
1490 6, 10, 7, 8, 31, 56, 31, 7, 8, 680,
1491 106, 21, 21, 21, 21, 21, 330, 142, 7, 8,
1492 21, 111, 11, 12, 766, 11, 12, 22, 22, 22,
1493 22, 22, 41, 41, 111, 765, 22, 26, 26, 26,
1494 26, 26, 106, 41, 680, 41, 26, 41, 28, 41,
1495 152, 157, 41, 56, 26, 26, 28, 28, 28, 28,
1496 28, 28, 28, 28, 84, 84, 84, 84, 84, 85,
1497 85, 85, 85, 85, 142, 143, 330, 59, 11, 12,
1498 11, 12, 13, 13, 13, 13, 13, 13, 13, 13,
1500 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1501 95, 95, 95, 95, 95, 157, 152, 162, 13, 13,
1502 13, 13, 13, 29, 245, 292, 292, 13, 29, 43,
1503 143, 29, 29, 29, 29, 29, 29, 29, 29, 43,
1504 762, 43, 442, 43, 421, 174, 171, 442, 43, 13,
1505 13, 13, 32, 46, 32, 32, 32, 32, 32, 32,
1506 32, 32, 59, 46, 257, 46, 342, 46, 421, 246,
1507 162, 32, 46, 245, 13, 13, 13, 13, 13, 13,
1508 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
1509 14, 14, 14, 14, 14, 14, 14, 14, 174, 46,
1511 32, 171, 86, 211, 261, 211, 14, 14, 14, 14,
1512 14, 37, 278, 257, 37, 14, 211, 39, 37, 86,
1513 39, 37, 37, 37, 37, 37, 342, 39, 246, 39,
1514 37, 39, 195, 195, 37, 38, 39, 14, 14, 14,
1515 209, 38, 376, 195, 761, 38, 209, 38, 38, 38,
1516 760, 86, 376, 261, 38, 96, 96, 96, 96, 96,
1517 759, 278, 14, 14, 14, 14, 14, 14, 15, 15,
1518 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1519 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1520 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1522 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1523 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1524 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1525 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1526 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1527 15, 15, 15, 15, 15, 15, 17, 17, 17, 17,
1528 17, 351, 758, 17, 17, 44, 44, 361, 44, 17,
1529 17, 283, 17, 175, 284, 346, 44, 44, 44, 757,
1530 44, 17, 756, 44, 282, 44, 17, 17, 17, 17,
1531 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
1533 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
1534 17, 17, 17, 17, 40, 101, 101, 101, 101, 101,
1535 283, 175, 346, 351, 40, 40, 40, 284, 40, 361,
1536 45, 45, 49, 40, 175, 49, 40, 17, 45, 17,
1537 25, 45, 49, 45, 49, 45, 49, 304, 282, 304,
1538 45, 49, 196, 196, 196, 196, 196, 25, 755, 495,
1539 304, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1540 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1541 25, 25, 25, 25, 25, 25, 25, 267, 367, 25,
1542 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1544 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1545 25, 25, 33, 42, 33, 33, 33, 33, 33, 33,
1546 33, 33, 331, 42, 495, 42, 605, 42, 560, 47,
1547 47, 33, 42, 47, 484, 560, 754, 367, 480, 47,
1548 53, 47, 212, 47, 267, 42, 212, 368, 47, 753,
1549 53, 403, 53, 484, 53, 605, 42, 369, 47, 53,
1550 33, 36, 480, 751, 36, 36, 36, 36, 36, 36,
1551 36, 36, 212, 383, 331, 404, 53, 36, 36, 36,
1552 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
1553 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
1555 36, 36, 36, 369, 403, 368, 36, 36, 36, 36,
1556 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
1557 36, 36, 36, 36, 36, 36, 36, 36, 48, 48,
1558 489, 48, 305, 383, 438, 404, 305, 50, 402, 48,
1559 50, 48, 415, 48, 50, 48, 468, 50, 48, 50,
1560 51, 50, 419, 424, 437, 50, 50, 434, 51, 51,
1561 50, 749, 305, 430, 616, 748, 747, 52, 746, 51,
1562 744, 51, 48, 51, 743, 51, 489, 52, 51, 52,
1563 54, 52, 616, 402, 742, 52, 52, 54, 741, 438,
1564 54, 51, 54, 468, 54, 415, 121, 740, 424, 54,
1566 58, 58, 58, 58, 58, 500, 121, 52, 121, 429,
1567 121, 436, 430, 434, 419, 121, 437, 58, 58, 58,
1568 58, 58, 58, 58, 58, 82, 181, 181, 181, 181,
1569 181, 82, 82, 82, 82, 82, 82, 82, 82, 82,
1570 82, 82, 82, 181, 181, 181, 181, 181, 181, 181,
1571 181, 82, 82, 82, 82, 82, 108, 108, 108, 108,
1572 108, 448, 467, 469, 734, 108, 500, 733, 481, 429,
1573 732, 436, 499, 108, 108, 439, 439, 439, 439, 439,
1574 510, 494, 82, 82, 82, 110, 122, 110, 110, 110,
1575 110, 110, 110, 110, 110, 731, 122, 528, 122, 577,
1577 122, 527, 529, 122, 110, 122, 498, 501, 82, 548,
1578 82, 82, 82, 83, 448, 481, 469, 467, 502, 83,
1579 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1580 83, 528, 499, 110, 494, 527, 543, 510, 555, 83,
1581 83, 83, 83, 83, 112, 728, 112, 112, 112, 112,
1582 112, 112, 112, 112, 527, 498, 501, 83, 439, 529,
1583 541, 577, 565, 112, 548, 557, 556, 502, 593, 724,
1584 83, 83, 83, 115, 115, 115, 115, 115, 115, 115,
1585 115, 552, 551, 123, 587, 543, 591, 600, 599, 723,
1586 115, 555, 112, 123, 541, 123, 83, 123, 83, 83,
1588 83, 116, 123, 116, 116, 116, 116, 116, 116, 116,
1589 116, 556, 558, 565, 580, 552, 117, 593, 117, 115,
1590 116, 117, 117, 117, 117, 117, 117, 117, 117, 118,
1591 557, 118, 118, 118, 118, 118, 118, 118, 118, 551,
1592 124, 125, 600, 632, 587, 599, 558, 591, 118, 116,
1593 124, 125, 124, 125, 124, 125, 126, 128, 578, 124,
1594 125, 579, 128, 124, 722, 580, 126, 128, 126, 128,
1595 126, 128, 620, 632, 126, 126, 128, 118, 120, 120,
1596 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1597 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1599 129, 130, 215, 215, 215, 215, 215, 215, 215, 215,
1600 129, 130, 129, 130, 129, 130, 131, 589, 129, 129,
1601 130, 620, 132, 579, 578, 596, 131, 601, 131, 131,
1602 131, 626, 132, 597, 132, 131, 132, 133, 133, 629,
1603 720, 132, 602, 134, 134, 718, 636, 717, 133, 716,
1604 133, 133, 133, 638, 134, 135, 134, 133, 134, 619,
1605 621, 601, 631, 134, 709, 135, 135, 135, 136, 135,
1606 653, 137, 136, 654, 135, 628, 596, 659, 136, 589,
1607 136, 137, 136, 137, 626, 137, 629, 136, 139, 139,
1608 137, 138, 138, 138, 637, 597, 631, 636, 139, 140,
1610 139, 138, 139, 138, 602, 138, 139, 139, 634, 140,
1611 138, 140, 141, 140, 706, 638, 655, 144, 140, 619,
1612 621, 654, 141, 653, 141, 141, 141, 144, 637, 661,
1613 145, 141, 721, 145, 659, 628, 639, 144, 146, 144,
1614 145, 144, 145, 662, 145, 664, 144, 705, 146, 145,
1615 146, 763, 146, 147, 147, 763, 666, 146, 698, 670,
1616 697, 668, 695, 147, 148, 147, 690, 147, 634, 655,
1617 147, 147, 147, 679, 148, 149, 148, 148, 148, 681,
1618 763, 150, 661, 148, 688, 149, 684, 149, 721, 149,
1619 685, 150, 151, 150, 149, 150, 639, 149, 669, 687,
1621 150, 689, 151, 662, 151, 153, 151, 664, 154, 666,
1622 686, 151, 670, 153, 691, 153, 694, 153, 154, 153,
1623 154, 155, 154, 668, 153, 693, 154, 154, 708, 156,
1624 679, 155, 158, 155, 692, 155, 681, 684, 700, 156,
1625 155, 156, 158, 156, 158, 159, 158, 156, 156, 702,
1626 158, 158, 687, 677, 701, 159, 160, 159, 669, 159,
1627 707, 689, 710, 745, 159, 159, 160, 686, 160, 161,
1628 160, 691, 161, 694, 712, 160, 161, 714, 693, 161,
1629 673, 161, 713, 161, 163, 163, 715, 708, 161, 700,
1630 725, 164, 672, 737, 692, 163, 735, 163, 671, 163,
1632 702, 164, 165, 164, 163, 164, 164, 701, 166, 164,
1633 164, 707, 165, 730, 165, 710, 165, 168, 166, 167,
1634 166, 165, 166, 745, 166, 712, 165, 166, 667, 167,
1635 168, 167, 665, 167, 714, 713, 169, 715, 167, 663,
1636 168, 169, 168, 727, 168, 735, 169, 170, 169, 168,
1637 169, 737, 725, 172, 660, 169, 650, 170, 644, 170,
1638 172, 170, 643, 172, 730, 172, 170, 172, 176, 173,
1639 173, 642, 172, 173, 729, 633, 630, 627, 176, 173,
1640 176, 173, 176, 173, 738, 182, 176, 176, 173, 182,
1641 182, 182, 182, 182, 182, 182, 182, 183, 622, 610,
1643 727, 183, 183, 183, 183, 183, 183, 183, 183, 213,
1644 607, 213, 213, 213, 213, 213, 213, 213, 213, 216,
1645 216, 216, 216, 216, 216, 216, 216, 220, 213, 606,
1646 220, 729, 592, 221, 588, 738, 561, 220, 739, 220,
1647 554, 220, 545, 221, 540, 221, 220, 221, 507, 222,
1648 223, 506, 221, 505, 486, 444, 443, 213, 218, 222,
1649 223, 222, 223, 222, 223, 224, 378, 764, 222, 223,
1650 377, 764, 375, 226, 306, 224, 227, 224, 224, 224,
1651 226, 299, 298, 226, 224, 226, 227, 226, 227, 739,
1652 227, 297, 226, 296, 295, 227, 764, 640, 640, 640,
1654 640, 640, 294, 218, 218, 218, 218, 218, 218, 218,
1655 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
1656 218, 218, 218, 218, 218, 228, 229, 293, 290, 286,
1657 225, 219, 210, 208, 206, 228, 229, 228, 229, 228,
1658 229, 230, 228, 204, 228, 229, 202, 200, 199, 231,
1659 194, 230, 232, 230, 192, 230, 231, 230, 187, 231,
1660 230, 231, 232, 231, 232, 233, 232, 184, 231, 232,
1661 180, 232, 127, 234, 119, 233, 113, 233, 109, 233,
1662 640, 107, 105, 234, 233, 234, 104, 234, 235, 235,
1663 234, 234, 234, 103, 100, 236, 235, 99, 236, 235,
1665 98, 235, 97, 235, 90, 236, 237, 236, 235, 236,
1666 89, 88, 238, 75, 236, 72, 237, 68, 237, 237,
1667 237, 67, 238, 239, 238, 237, 238, 64, 63, 240,
1668 57, 238, 240, 239, 239, 239, 55, 239, 34, 240,
1669 241, 240, 239, 240, 30, 24, 242, 23, 240, 242,
1670 241, 20, 241, 241, 241, 19, 242, 243, 242, 241,
1671 242, 0, 0, 0, 0, 242, 0, 243, 244, 243,
1672 0, 243, 0, 0, 243, 0, 243, 0, 244, 244,
1673 244, 247, 244, 0, 0, 0, 0, 244, 0, 248,
1674 0, 247, 249, 247, 0, 247, 0, 0, 247, 248,
1676 247, 248, 249, 248, 249, 249, 249, 250, 248, 0,
1677 251, 249, 0, 252, 0, 0, 252, 250, 0, 250,
1678 251, 250, 251, 252, 251, 252, 250, 252, 251, 251,
1679 253, 254, 252, 0, 0, 0, 0, 0, 0, 253,
1680 0, 254, 255, 254, 0, 254, 0, 0, 0, 253,
1681 254, 253, 255, 253, 255, 256, 255, 0, 253, 0,
1682 0, 255, 0, 258, 0, 256, 258, 256, 0, 256,
1683 0, 0, 0, 258, 256, 258, 259, 258, 0, 259,
1684 0, 0, 258, 0, 260, 0, 259, 262, 259, 0,
1685 259, 260, 0, 0, 260, 259, 260, 262, 260, 262,
1687 263, 262, 0, 260, 0, 262, 262, 0, 264, 0,
1688 263, 0, 263, 0, 263, 0, 265, 0, 264, 263,
1689 264, 0, 264, 0, 266, 264, 265, 264, 265, 0,
1690 265, 0, 0, 265, 266, 265, 266, 268, 266, 269,
1691 269, 0, 0, 266, 266, 0, 0, 268, 270, 268,
1692 269, 268, 269, 0, 269, 0, 268, 0, 270, 269,
1693 270, 271, 270, 0, 0, 0, 0, 270, 0, 272,
1694 0, 271, 272, 271, 0, 271, 0, 273, 0, 272,
1695 271, 272, 0, 272, 273, 274, 0, 273, 272, 273,
1696 0, 273, 0, 0, 0, 274, 273, 274, 275, 274,
1698 0, 0, 0, 274, 274, 0, 276, 0, 275, 0,
1699 275, 0, 275, 0, 0, 275, 276, 275, 276, 277,
1700 276, 0, 277, 276, 0, 276, 0, 279, 0, 277,
1701 0, 277, 0, 277, 0, 0, 281, 279, 277, 279,
1702 279, 279, 279, 280, 281, 0, 279, 279, 0, 0,
1703 0, 0, 0, 280, 281, 280, 281, 280, 281, 285,
1704 0, 280, 280, 281, 0, 285, 0, 0, 0, 285,
1705 0, 285, 0, 285, 0, 0, 0, 0, 285, 287,
1706 287, 287, 287, 287, 0, 0, 0, 288, 288, 288,
1707 288, 288, 0, 0, 0, 0, 287, 287, 287, 287,
1709 287, 287, 287, 287, 288, 288, 288, 288, 288, 288,
1710 288, 288, 307, 308, 0, 0, 0, 0, 0, 0,
1711 308, 0, 307, 308, 307, 308, 307, 308, 309, 0,
1712 0, 307, 308, 0, 310, 0, 0, 0, 309, 309,
1713 309, 0, 309, 0, 310, 311, 310, 309, 310, 0,
1714 0, 312, 0, 310, 312, 311, 0, 311, 0, 311,
1715 0, 312, 0, 312, 311, 312, 313, 313, 314, 314,
1716 312, 0, 0, 0, 0, 0, 0, 313, 314, 313,
1717 314, 313, 314, 315, 0, 0, 313, 314, 0, 0,
1718 311, 316, 0, 315, 0, 315, 0, 315, 0, 317,
1720 315, 316, 315, 316, 316, 316, 0, 0, 0, 317,
1721 316, 317, 319, 317, 318, 318, 0, 317, 317, 0,
1722 0, 0, 319, 320, 319, 318, 319, 318, 0, 318,
1723 0, 319, 0, 320, 318, 320, 321, 320, 321, 322,
1724 0, 322, 320, 0, 0, 0, 321, 0, 321, 322,
1725 321, 322, 0, 322, 323, 321, 0, 323, 322, 0,
1726 324, 0, 0, 0, 323, 0, 323, 0, 323, 0,
1727 324, 325, 324, 323, 324, 0, 0, 326, 325, 324,
1728 0, 325, 0, 325, 0, 325, 0, 326, 327, 326,
1729 325, 326, 0, 326, 0, 0, 326, 0, 327, 0,
1731 327, 0, 327, 328, 327, 0, 328, 327, 0, 329,
1732 0, 0, 0, 328, 0, 328, 0, 328, 0, 329,
1733 332, 329, 328, 329, 0, 0, 333, 0, 329, 0,
1734 332, 0, 332, 0, 332, 0, 333, 0, 333, 332,
1735 333, 334, 335, 0, 333, 333, 0, 0, 334, 0,
1736 0, 334, 335, 334, 335, 334, 335, 336, 335, 0,
1737 334, 335, 337, 337, 0, 332, 0, 336, 0, 336,
1738 339, 336, 0, 337, 0, 337, 336, 337, 338, 337,
1739 0, 339, 337, 338, 0, 0, 0, 0, 338, 340,
1740 338, 339, 338, 339, 338, 339, 0, 338, 0, 340,
1742 339, 340, 341, 340, 0, 0, 340, 0, 340, 0,
1743 343, 343, 341, 344, 341, 0, 341, 0, 0, 0,
1744 343, 341, 343, 344, 343, 344, 345, 344, 0, 343,
1745 348, 344, 344, 0, 347, 0, 345, 347, 345, 345,
1746 345, 0, 0, 0, 347, 345, 347, 348, 347, 0,
1747 0, 0, 0, 347, 0, 349, 0, 348, 349, 348,
1748 0, 348, 350, 350, 0, 349, 348, 349, 0, 349,
1749 0, 352, 0, 350, 349, 350, 0, 350, 0, 353,
1750 0, 352, 350, 352, 0, 352, 0, 0, 0, 353,
1751 352, 353, 354, 353, 0, 354, 0, 353, 353, 0,
1753 355, 0, 354, 356, 354, 0, 354, 0, 0, 0,
1754 355, 354, 355, 356, 355, 356, 0, 356, 358, 355,
1755 357, 357, 356, 0, 359, 0, 0, 0, 358, 0,
1756 358, 357, 358, 357, 359, 357, 359, 358, 359, 360,
1757 357, 0, 362, 359, 0, 363, 0, 0, 0, 360,
1758 0, 360, 362, 360, 362, 363, 362, 363, 360, 363,
1759 0, 362, 364, 358, 363, 364, 0, 0, 365, 0,
1760 0, 0, 364, 0, 364, 0, 364, 0, 365, 366,
1761 365, 364, 365, 0, 0, 0, 0, 365, 0, 366,
1762 0, 366, 0, 366, 0, 370, 366, 0, 366, 371,
1764 371, 371, 371, 371, 365, 370, 0, 370, 0, 370,
1765 0, 0, 0, 0, 370, 0, 371, 371, 371, 371,
1766 371, 371, 371, 371, 372, 372, 372, 372, 372, 0,
1767 0, 0, 373, 373, 373, 373, 373, 372, 0, 0,
1768 0, 372, 372, 372, 372, 372, 372, 372, 372, 373,
1769 373, 373, 373, 373, 373, 373, 373, 374, 0, 379,
1770 0, 374, 374, 374, 374, 374, 374, 374, 374, 379,
1771 0, 379, 0, 379, 380, 380, 0, 379, 379, 381,
1772 381, 0, 0, 0, 380, 0, 380, 0, 380, 0,
1773 381, 382, 381, 380, 381, 0, 0, 0, 0, 381,
1775 0, 382, 0, 382, 0, 382, 0, 372, 384, 384,
1776 382, 0, 385, 385, 0, 386, 0, 0, 386, 384,
1777 0, 384, 385, 384, 385, 386, 385, 386, 384, 386,
1778 387, 385, 0, 388, 386, 0, 0, 0, 0, 0,
1779 387, 389, 387, 388, 387, 388, 0, 388, 0, 387,
1780 0, 389, 388, 389, 390, 389, 0, 389, 0, 0,
1781 389, 390, 391, 0, 390, 0, 390, 0, 390, 0,
1782 0, 0, 391, 390, 391, 392, 391, 0, 392, 0,
1783 0, 391, 392, 0, 0, 392, 393, 392, 393, 392,
1784 0, 0, 394, 0, 392, 394, 393, 0, 393, 394,
1786 393, 0, 394, 395, 394, 393, 394, 0, 0, 0,
1787 0, 394, 0, 395, 396, 395, 0, 395, 0, 395,
1788 0, 0, 395, 0, 396, 0, 396, 0, 396, 397,
1789 397, 0, 396, 396, 0, 398, 0, 0, 0, 397,
1790 0, 397, 0, 397, 0, 398, 399, 398, 397, 398,
1791 0, 0, 400, 398, 398, 0, 399, 0, 399, 0,
1792 399, 0, 400, 399, 400, 399, 400, 401, 405, 0,
1793 0, 400, 0, 0, 0, 405, 0, 401, 405, 401,
1794 405, 401, 405, 0, 0, 407, 401, 405, 406, 406,
1795 0, 406, 0, 0, 0, 407, 0, 407, 406, 407,
1797 406, 0, 406, 407, 407, 409, 408, 406, 408, 0,
1798 0, 0, 0, 0, 0, 409, 408, 409, 408, 409,
1799 408, 410, 0, 0, 409, 408, 0, 411, 0, 0,
1800 411, 410, 0, 410, 0, 410, 0, 411, 412, 411,
1801 410, 411, 413, 0, 0, 414, 411, 0, 412, 0,
1802 412, 413, 412, 0, 0, 412, 0, 412, 0, 416,
1803 0, 413, 414, 413, 0, 413, 0, 0, 0, 416,
1804 413, 416, 414, 416, 414, 417, 414, 416, 416, 0,
1805 0, 414, 0, 418, 0, 417, 0, 417, 0, 417,
1806 0, 420, 0, 418, 417, 418, 0, 418, 0, 422,
1808 0, 420, 418, 420, 0, 420, 0, 420, 0, 422,
1809 420, 422, 423, 422, 0, 0, 0, 0, 422, 0,
1810 0, 0, 423, 0, 423, 425, 423, 0, 426, 0,
1811 423, 423, 425, 0, 0, 425, 427, 425, 426, 425,
1812 426, 427, 426, 0, 425, 0, 427, 426, 427, 428,
1813 427, 0, 0, 0, 0, 427, 0, 0, 0, 428,
1814 431, 428, 0, 428, 0, 0, 432, 0, 428, 432,
1815 431, 428, 431, 0, 431, 0, 432, 433, 432, 431,
1816 432, 0, 0, 0, 0, 432, 0, 433, 435, 433,
1817 0, 433, 0, 433, 0, 0, 433, 0, 435, 0,
1819 435, 0, 435, 445, 0, 0, 0, 435, 440, 440,
1820 440, 440, 440, 445, 0, 445, 0, 445, 0, 0,
1821 0, 0, 445, 446, 446, 440, 440, 440, 440, 440,
1822 440, 440, 440, 435, 446, 447, 446, 0, 446, 0,
1823 0, 0, 0, 446, 0, 447, 449, 447, 0, 447,
1824 0, 0, 450, 447, 447, 0, 449, 0, 449, 0,
1825 449, 0, 450, 451, 450, 449, 450, 0, 0, 452,
1826 450, 450, 452, 451, 0, 451, 0, 451, 0, 452,
1827 0, 452, 451, 452, 453, 453, 454, 0, 452, 0,
1828 0, 0, 0, 0, 0, 453, 454, 453, 454, 453,
1830 454, 455, 0, 0, 453, 454, 0, 0, 0, 0,
1831 0, 455, 456, 455, 456, 455, 0, 0, 457, 455,
1832 455, 0, 456, 0, 456, 0, 456, 0, 457, 0,
1833 457, 456, 457, 0, 0, 458, 457, 457, 458, 0,
1834 0, 459, 0, 459, 0, 458, 0, 458, 0, 458,
1835 0, 459, 460, 459, 458, 459, 0, 461, 461, 0,
1836 459, 0, 460, 0, 460, 0, 460, 0, 461, 462,
1837 461, 460, 461, 0, 0, 463, 0, 461, 0, 462,
1838 0, 462, 463, 462, 0, 463, 464, 463, 462, 463,
1839 0, 0, 465, 0, 463, 0, 464, 0, 464, 465,
1841 464, 0, 465, 464, 465, 464, 465, 466, 466, 470,
1842 0, 465, 0, 470, 0, 0, 0, 0, 466, 470,
1843 466, 470, 466, 470, 471, 0, 0, 466, 470, 0,
1844 472, 471, 472, 0, 471, 0, 471, 0, 471, 0,
1845 472, 473, 472, 471, 472, 0, 0, 474, 0, 472,
1846 474, 473, 0, 473, 0, 473, 0, 474, 473, 474,
1847 473, 474, 475, 475, 0, 0, 474, 0, 476, 476,
1848 0, 0, 475, 0, 475, 0, 475, 0, 476, 477,
1849 476, 475, 476, 0, 0, 0, 0, 476, 0, 477,
1850 0, 477, 0, 477, 478, 477, 0, 478, 477, 0,
1852 479, 0, 0, 0, 478, 0, 478, 0, 478, 0,
1853 479, 482, 479, 478, 479, 0, 0, 479, 0, 479,
1854 0, 482, 0, 482, 485, 482, 483, 483, 0, 0,
1855 482, 0, 0, 0, 485, 487, 485, 483, 485, 483,
1856 0, 483, 0, 485, 0, 487, 483, 487, 488, 487,
1857 0, 488, 0, 487, 487, 0, 490, 0, 488, 0,
1858 488, 0, 488, 0, 0, 0, 490, 488, 490, 0,
1859 490, 491, 491, 0, 492, 490, 490, 493, 0, 0,
1860 0, 491, 0, 491, 492, 491, 492, 493, 492, 493,
1861 491, 493, 496, 492, 0, 497, 493, 0, 0, 0,
1863 0, 0, 496, 0, 496, 497, 496, 497, 0, 497,
1864 0, 496, 497, 0, 497, 503, 503, 503, 503, 503,
1865 504, 0, 0, 0, 504, 504, 504, 504, 504, 504,
1866 504, 504, 503, 503, 503, 503, 503, 503, 503, 503,
1867 508, 509, 0, 0, 0, 0, 0, 0, 509, 0,
1868 508, 509, 508, 509, 508, 509, 511, 0, 508, 508,
1869 509, 0, 512, 0, 0, 512, 511, 0, 511, 0,
1870 511, 0, 512, 513, 512, 511, 512, 0, 0, 514,
1871 0, 512, 0, 513, 0, 513, 514, 513, 0, 514,
1872 515, 514, 513, 514, 0, 0, 516, 515, 514, 0,
1874 515, 0, 515, 0, 515, 0, 516, 517, 516, 515,
1875 516, 0, 0, 518, 0, 516, 0, 517, 0, 517,
1876 518, 517, 0, 518, 0, 518, 517, 518, 519, 520,
1877 519, 0, 518, 0, 0, 0, 0, 0, 519, 520,
1878 519, 520, 519, 520, 521, 0, 0, 519, 520, 521,
1879 522, 0, 0, 0, 521, 0, 521, 0, 521, 0,
1880 522, 523, 522, 521, 522, 0, 0, 0, 522, 522,
1881 0, 523, 524, 523, 0, 523, 0, 0, 525, 523,
1882 523, 0, 524, 0, 524, 0, 524, 0, 525, 526,
1883 525, 524, 525, 0, 0, 530, 0, 525, 0, 526,
1885 0, 526, 530, 526, 0, 530, 531, 530, 526, 530,
1886 0, 0, 0, 0, 530, 0, 531, 532, 531, 0,
1887 531, 0, 0, 533, 531, 531, 0, 532, 0, 532,
1888 0, 532, 0, 533, 534, 533, 532, 533, 0, 0,
1889 535, 0, 533, 535, 534, 0, 534, 0, 534, 0,
1890 535, 534, 535, 534, 535, 536, 537, 0, 0, 535,
1891 0, 0, 0, 0, 0, 536, 537, 536, 537, 536,
1892 537, 538, 538, 536, 536, 537, 0, 539, 0, 0,
1893 0, 538, 0, 538, 0, 538, 0, 539, 542, 539,
1894 538, 539, 0, 0, 544, 0, 539, 0, 542, 0,
1896 542, 0, 542, 0, 544, 546, 544, 542, 544, 0,
1897 0, 547, 0, 544, 0, 546, 0, 546, 0, 546,
1898 0, 547, 539, 547, 546, 547, 549, 0, 0, 549,
1899 547, 0, 550, 0, 0, 550, 549, 0, 549, 0,
1900 549, 0, 550, 0, 550, 549, 550, 553, 553, 564,
1901 564, 550, 559, 559, 559, 559, 559, 0, 553, 564,
1902 553, 564, 553, 564, 0, 0, 0, 553, 564, 559,
1903 559, 559, 559, 559, 559, 559, 559, 563, 566, 0,
1904 0, 0, 0, 0, 563, 0, 0, 563, 566, 563,
1905 566, 563, 566, 567, 566, 0, 563, 566, 0, 0,
1907 0, 0, 0, 567, 568, 567, 0, 567, 0, 0,
1908 569, 567, 567, 0, 568, 0, 568, 0, 568, 0,
1909 569, 570, 569, 568, 569, 572, 0, 571, 0, 569,
1910 0, 570, 0, 570, 570, 570, 0, 571, 0, 571,
1911 570, 571, 572, 0, 0, 573, 571, 0, 573, 0,
1912 0, 0, 572, 574, 572, 573, 572, 573, 0, 573,
1913 0, 572, 0, 574, 573, 574, 575, 574, 0, 576,
1914 0, 0, 574, 575, 0, 0, 575, 0, 575, 576,
1915 575, 576, 0, 576, 581, 575, 0, 581, 576, 0,
1916 582, 0, 0, 0, 581, 0, 581, 0, 581, 0,
1918 582, 583, 582, 581, 582, 0, 0, 584, 0, 582,
1919 0, 583, 0, 583, 0, 583, 0, 584, 585, 584,
1920 583, 584, 0, 0, 586, 585, 584, 0, 585, 594,
1921 585, 0, 585, 0, 586, 590, 586, 585, 586, 0,
1922 0, 0, 586, 586, 0, 590, 594, 590, 0, 590,
1923 0, 0, 595, 0, 590, 0, 594, 0, 594, 0,
1924 594, 0, 595, 598, 595, 594, 595, 0, 0, 0,
1925 0, 595, 0, 598, 0, 598, 0, 598, 608, 0,
1926 0, 0, 598, 603, 603, 603, 603, 603, 608, 0,
1927 608, 608, 608, 0, 0, 0, 0, 608, 0, 0,
1929 603, 603, 603, 603, 603, 603, 603, 603, 604, 604,
1930 604, 604, 604, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 609, 611, 604, 604, 604, 604, 604,
1932 604, 604, 604, 609, 611, 609, 611, 609, 611, 612,
1933 0, 0, 609, 611, 0, 613, 0, 0, 613, 612,
1934 0, 612, 0, 612, 0, 613, 612, 613, 612, 613,
1935 614, 615, 0, 0, 613, 614, 0, 0, 0, 0,
1936 614, 615, 614, 615, 614, 615, 617, 0, 617, 614,
1937 615, 0, 618, 0, 0, 0, 617, 0, 617, 0,
1938 617, 604, 618, 623, 618, 617, 618, 0, 0, 0,
1940 0, 618, 0, 623, 624, 623, 0, 623, 0, 623,
1941 0, 0, 623, 0, 624, 625, 624, 624, 624, 0,
1942 0, 635, 625, 624, 0, 625, 0, 625, 0, 625,
1943 0, 635, 645, 635, 625, 635, 0, 0, 646, 0,
1944 635, 0, 645, 0, 645, 0, 645, 0, 646, 0,
1945 646, 645, 646, 647, 648, 647, 0, 646, 0, 0,
1946 0, 0, 0, 647, 648, 647, 648, 647, 648, 649,
1947 651, 0, 647, 648, 0, 0, 0, 0, 0, 649,
1948 651, 649, 651, 649, 651, 652, 649, 0, 649, 651,
1949 0, 656, 652, 0, 0, 652, 0, 652, 0, 652,
1951 0, 656, 657, 656, 652, 656, 0, 0, 0, 0,
1952 656, 0, 657, 658, 657, 0, 657, 0, 0, 674,
1953 0, 657, 0, 658, 0, 658, 658, 658, 0, 674,
1954 675, 674, 658, 674, 0, 0, 676, 0, 674, 0,
1955 675, 0, 675, 0, 675, 0, 676, 678, 676, 675,
1956 676, 0, 0, 0, 0, 676, 0, 678, 682, 678,
1957 0, 678, 0, 0, 683, 678, 678, 0, 682, 0,
1958 682, 0, 682, 0, 683, 682, 683, 682, 683, 699,
1959 703, 0, 0, 683, 0, 0, 0, 0, 0, 699,
1960 703, 699, 703, 699, 703, 704, 719, 0, 699, 703,
1962 0, 0, 699, 0, 0, 704, 719, 704, 719, 704,
1963 719, 0, 0, 0, 704, 719, 769, 769, 769, 769,
1964 769, 769, 769, 769, 769, 769, 769, 769, 770, 770,
1965 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
1966 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
1967 771, 771, 772, 772, 772, 772, 772, 772, 772, 772,
1968 772, 772, 772, 772, 773, 773, 773, 773, 773, 773,
1969 773, 773, 773, 773, 773, 773, 774, 774, 774, 774,
1970 0, 774, 774, 774, 774, 774, 774, 774, 775, 775,
1971 775, 0, 775, 0, 775, 776, 776, 0, 776, 776,
1973 777, 777, 0, 0, 777, 777, 0, 777, 777, 777,
1974 777, 777, 778, 778, 778, 778, 0, 778, 778, 778,
1975 778, 778, 778, 778, 779, 779, 779, 779, 779, 779,
1976 779, 779, 0, 779, 779, 780, 0, 0, 0, 780,
1977 780, 780, 780, 780, 780, 780, 781, 0, 0, 0,
1978 781, 781, 781, 781, 781, 781, 781, 782, 782, 0,
1979 782, 782, 783, 783, 0, 783, 784, 784, 0, 784,
1980 784, 785, 785, 0, 785, 785, 786, 0, 786, 786,
1981 787, 787, 0, 787, 787, 788, 0, 788, 788, 789,
1982 0, 789, 789, 790, 0, 790, 791, 0, 791, 791,
1984 792, 0, 792, 792, 793, 793, 793, 793, 793, 793,
1985 793, 793, 793, 793, 793, 793, 794, 794, 0, 794,
1986 794, 795, 795, 0, 795, 795, 795, 795, 795, 795,
1987 795, 795, 795, 768, 768, 768, 768, 768, 768, 768,
1988 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1989 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1990 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1991 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1992 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1993 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1995 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1996 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
2000 /* Table of booleans, true if rule could match eol. */
2001 static yyconst flex_int32_t yy_rule_can_match_eol[143] =
2003 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
2004 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0,
2012 extern int asn1p__flex_debug;
2013 int asn1p__flex_debug = 1;
2015 static yyconst flex_int16_t yy_rule_linenum[142] =
2017 98, 100, 101, 103, 106, 109, 115, 118, 120, 121,
2018 122, 125, 127, 128, 129, 141, 148, 155, 161, 170,
2019 178, 186, 187, 189, 208, 214, 215, 216, 217, 218,
2020 221, 227, 234, 241, 248, 255, 262, 263, 264, 272,
2021 273, 274, 280, 281, 286, 287, 288, 289, 290, 291,
2022 292, 293, 294, 295, 296, 305, 306, 307, 308, 309,
2023 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2024 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2025 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2026 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2028 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2029 365, 366, 367, 372, 373, 378, 379, 380, 383, 388,
2030 394, 402, 412, 417, 419, 420, 424, 429, 434, 440,
2031 441, 443, 449, 462, 465, 490, 534, 535, 537, 539,
2035 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
2036 static char *yy_full_match;
2040 *yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */ \
2041 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
2046 #define yymore() yymore_used_but_not_detected
2047 #define YY_MORE_ADJ 0
2048 #define YY_RESTORE_YY_MORE_OFFSET
2057 #include "asn1parser.h"
2058 #include "asn1p_y.h"
2060 int asn1p_lex(void);
2061 void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
2062 void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
2063 void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
2065 #define YY_FATAL_ERROR(msg) do { \
2067 "lexer error at line %d, " \
2069 asn1p_lineno, asn1p_text); \
2073 int asn1p_lexer_pedantic_1990 = 0;
2074 int asn1p_lexer_types_year = 0;
2075 int asn1p_lexer_constructs_year = 0;
2076 int asn1p_lexer_extended_values = 0;
2078 int asn1p_as_pointer;
2080 static asn1c_integer_t _lex_atoi(const char *ptr);
2081 static double _lex_atod(const char *ptr);
2084 * Check that the type is defined in the year of the standard choosen.
2086 #define TYPE_LIFETIME(fyr, lyr) \
2087 (!asn1p_lexer_types_year \
2088 || (fyr && fyr <= asn1p_lexer_types_year) \
2089 || (lyr && lyr > asn1p_lexer_types_year))
2092 * Check the the construction (or concept, i.e. CLASS) is defined in
2095 #define CONSTRUCT_LIFETIME(fyr, lyr) \
2096 (!asn1p_lexer_constructs_year \
2097 || (fyr && fyr <= asn1p_lexer_constructs_year) \
2098 || (lyr && lyr > asn1p_lexer_constructs_year))
2101 * Append quoted string.
2103 #define QAPPEND(text, tlen) do { \
2104 char *prev_text = asn1p_lval.tv_opaque.buf; \
2105 int prev_len = asn1p_lval.tv_opaque.len; \
2108 p = malloc((tlen) + prev_len + 1); \
2109 if(p == NULL) return -1; \
2111 if(prev_text) memcpy(p, prev_text, prev_len); \
2112 memcpy(p + prev_len, text, tlen); \
2113 p[prev_len + (tlen)] = '\0'; \
2115 free(asn1p_lval.tv_opaque.buf); \
2116 asn1p_lval.tv_opaque.buf = p; \
2117 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
2120 #define YY_NO_INPUT 1
2121 /* Performance penalty is OK */
2122 /* Controlled from within application */
2133 #line 2134 "asn1p_l.c"
2136 #define dash_comment 1
2137 #define idash_comment 2
2138 #define cpp_comment 3
2141 #define encoding_control 6
2142 #define with_syntax 7
2143 #define extended_values 8
2145 #ifndef YY_NO_UNISTD_H
2146 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2147 * down here because we want the user's section 1 to have been scanned first.
2148 * The user has a chance to override it with an option.
2157 #ifndef YY_EXTRA_TYPE
2158 #define YY_EXTRA_TYPE void *
2161 /* %if-c-only Reentrant structure and macros (non-C++). */
2165 static int yy_init_globals (void );
2170 /* %endif End reentrant structures and macros. */
2172 /* Accessor methods to globals.
2173 These are made visible to non-reentrant scanners for convenience. */
2175 int asn1p_lex_destroy (void );
2177 int asn1p_get_debug (void );
2179 void asn1p_set_debug (int debug_flag );
2181 YY_EXTRA_TYPE asn1p_get_extra (void );
2183 void asn1p_set_extra (YY_EXTRA_TYPE user_defined );
2185 FILE *asn1p_get_in (void );
2187 void asn1p_set_in (FILE * in_str );
2189 FILE *asn1p_get_out (void );
2191 void asn1p_set_out (FILE * out_str );
2193 yy_size_t asn1p_get_leng (void );
2195 char *asn1p_get_text (void );
2197 int asn1p_get_lineno (void );
2199 void asn1p_set_lineno (int line_number );
2201 /* %if-bison-bridge */
2204 /* Macros after this point can all be overridden by user definitions in
2208 #ifndef YY_SKIP_YYWRAP
2210 extern "C" int asn1p_wrap (void );
2212 extern int asn1p_wrap (void );
2216 /* %not-for-header */
2218 static void yyunput (int c,char *buf_ptr );
2220 /* %ok-for-header */
2225 static void yy_flex_strncpy (char *,yyconst char *,int );
2228 #ifdef YY_NEED_STRLEN
2229 static int yy_flex_strlen (yyconst char * );
2233 /* %if-c-only Standard (non-C++) definition */
2234 /* %not-for-header */
2237 static int yyinput (void );
2239 static int input (void );
2241 /* %ok-for-header */
2248 static int yy_start_stack_ptr = 0;
2249 static int yy_start_stack_depth = 0;
2250 static int *yy_start_stack = NULL;
2252 static void yy_push_state (int new_state );
2254 static void yy_pop_state (void );
2256 static int yy_top_state (void );
2260 /* Amount of stuff to slurp up with each read. */
2261 #ifndef YY_READ_BUF_SIZE
2262 #define YY_READ_BUF_SIZE 8192
2265 /* Copy whatever the last rule matched to the standard output. */
2267 /* %if-c-only Standard (non-C++) definition */
2268 /* This used to be an fputs(), but since the string might contain NUL's,
2269 * we now use fwrite().
2271 #define ECHO fwrite( asn1p_text, asn1p_leng, 1, asn1p_out )
2273 /* %if-c++-only C++ definition */
2277 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2278 * is returned in "result".
2281 #define YY_INPUT(buf,result,max_size) \
2282 /* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
2283 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2287 for ( n = 0; n < max_size && \
2288 (c = getc( asn1p_in )) != EOF && c != '\n'; ++n ) \
2289 buf[n] = (char) c; \
2291 buf[n++] = (char) c; \
2292 if ( c == EOF && ferror( asn1p_in ) ) \
2293 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2299 while ( (result = fread(buf, 1, max_size, asn1p_in))==0 && ferror(asn1p_in)) \
2301 if( errno != EINTR) \
2303 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2307 clearerr(asn1p_in); \
2311 /* %if-c++-only C++ definition \ */\
2316 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2317 * we don't want an extra ';' after the "return" because that will cause
2318 * some compilers to complain about unreachable statements.
2321 #define yyterminate() return YY_NULL
2324 /* Number of entries by which start-condition stack grows. */
2325 #ifndef YY_START_STACK_INCR
2326 #define YY_START_STACK_INCR 25
2329 /* Report a fatal error. */
2330 #ifndef YY_FATAL_ERROR
2332 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2338 /* %if-tables-serialization structures and prototypes */
2339 /* %not-for-header */
2341 /* %ok-for-header */
2343 /* %not-for-header */
2345 /* %tables-yydmap generated elements */
2347 /* end tables serialization structures and prototypes */
2349 /* %ok-for-header */
2351 /* Default declaration of generated scanner - a define so the user can
2352 * easily add parameters.
2355 #define YY_DECL_IS_OURS 1
2356 /* %if-c-only Standard (non-C++) definition */
2358 extern int asn1p_lex (void);
2360 #define YY_DECL int asn1p_lex (void)
2362 /* %if-c++-only C++ definition */
2364 #endif /* !YY_DECL */
2366 /* Code executed at the beginning of each rule, after asn1p_text and asn1p_leng
2369 #ifndef YY_USER_ACTION
2370 #define YY_USER_ACTION
2373 /* Code executed at the end of each rule. */
2375 #define YY_BREAK break;
2378 /* %% [6.0] YY_RULE_SETUP definition goes here */
2379 #define YY_RULE_SETUP \
2382 /* %not-for-header */
2384 /** The main scanner function which does all the work.
2388 register yy_state_type yy_current_state;
2389 register char *yy_cp, *yy_bp;
2390 register int yy_act;
2392 /* %% [7.0] user's declarations go here */
2393 #line 96 "asn1p_l.l"
2396 #line 2397 "asn1p_l.c"
2406 /* Create the reject buffer large enough to save one state per allowed character. */
2407 if ( ! (yy_state_buf) )
2408 (yy_state_buf) = (yy_state_type *)asn1p_alloc(YY_STATE_BUF_SIZE );
2409 if ( ! (yy_state_buf) )
2410 YY_FATAL_ERROR( "out of dynamic memory in asn1p_lex()" );
2413 (yy_start) = 1; /* first start state */
2429 if ( ! YY_CURRENT_BUFFER ) {
2430 asn1p_ensure_buffer_stack ();
2431 YY_CURRENT_BUFFER_LVALUE =
2432 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
2435 asn1p__load_buffer_state( );
2438 while ( 1 ) /* loops until end-of-file is reached */
2440 /* %% [8.0] yymore()-related code goes here */
2441 yy_cp = (yy_c_buf_p);
2443 /* Support of asn1p_text. */
2444 *yy_cp = (yy_hold_char);
2446 /* yy_bp points to the position in yy_ch_buf of the start of
2451 /* %% [9.0] code to set up and find next match goes here */
2452 yy_current_state = (yy_start);
2454 (yy_state_ptr) = (yy_state_buf);
2455 *(yy_state_ptr)++ = yy_current_state;
2460 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2461 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2463 yy_current_state = (int) yy_def[yy_current_state];
2464 if ( yy_current_state >= 769 )
2465 yy_c = yy_meta[(unsigned int) yy_c];
2467 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2468 *(yy_state_ptr)++ = yy_current_state;
2471 while ( yy_current_state != 768 );
2474 /* %% [10.0] code to find the action number goes here */
2475 yy_current_state = *--(yy_state_ptr);
2476 (yy_lp) = yy_accept[yy_current_state];
2477 goto find_rule; /* Shut up GCC warning -Wall */
2478 find_rule: /* we branch to this label when backing up */
2479 for ( ; ; ) /* until we find what rule we matched */
2481 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
2483 yy_act = yy_acclist[(yy_lp)];
2485 (yy_full_match) = yy_cp;
2490 yy_current_state = *--(yy_state_ptr);
2491 (yy_lp) = yy_accept[yy_current_state];
2494 YY_DO_BEFORE_ACTION;
2496 /* %% [11.0] code for asn1p_lineno update goes here */
2498 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2501 for ( yyl = 0; yyl < asn1p_leng; ++yyl )
2502 if ( asn1p_text[yyl] == '\n' )
2508 do_action: /* This label is used only to access EOF actions. */
2510 /* %% [12.0] debug code goes here */
2511 if ( asn1p__flex_debug )
2514 fprintf( stderr, "--scanner backing up\n" );
2515 else if ( yy_act < 142 )
2516 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2517 (long)yy_rule_linenum[yy_act], asn1p_text );
2518 else if ( yy_act == 142 )
2519 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2521 else if ( yy_act == 143 )
2522 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2524 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2528 { /* beginning of action switch */
2529 /* %% [13.0] actions go here */
2532 #line 98 "asn1p_l.l"
2536 /* rule 2 can match eol */
2537 *yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2538 (yy_c_buf_p) = yy_cp -= 1;
2539 YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
2541 #line 100 "asn1p_l.l"
2542 /* Immediately terminated long comment */
2545 *yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2546 (yy_c_buf_p) = yy_cp -= 1;
2547 YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
2549 #line 101 "asn1p_l.l"
2550 yy_push_state(idash_comment); /* Incorrect, but acceptable */
2555 #line 103 "asn1p_l.l"
2556 yy_pop_state(); /* Acceptable end of comment */
2561 #line 106 "asn1p_l.l"
2562 asn1p_as_pointer = 1;
2567 #line 109 "asn1p_l.l"
2570 return TOK_ExtValue_BIT_STRING;
2576 #line 115 "asn1p_l.l"
2577 yy_push_state(dash_comment);
2581 /* rule 8 can match eol */
2583 #line 118 "asn1p_l.l"
2588 #line 120 "asn1p_l.l"
2589 yy_pop_state(); /* End of comment */
2593 #line 121 "asn1p_l.l"
2594 /* Eat single dash */
2598 #line 122 "asn1p_l.l"
2604 #line 125 "asn1p_l.l"
2605 yy_push_state(cpp_comment);
2609 /* rule 13 can match eol */
2611 #line 127 "asn1p_l.l"
2616 #line 128 "asn1p_l.l"
2621 #line 129 "asn1p_l.l"
2626 * This is state is being set from corresponding .y module when
2627 * higher-level data is necessary to make proper parsing of the
2628 * underlying data. Thus, we enter the <opaque> state and save
2629 * everything for later processing.
2634 #line 141 "asn1p_l.l"
2636 yy_push_state(opaque);
2637 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2638 asn1p_lval.tv_opaque.len = asn1p_leng;
2644 #line 148 "asn1p_l.l"
2647 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2648 asn1p_lval.tv_opaque.len = asn1p_leng;
2653 /* rule 18 can match eol */
2655 #line 155 "asn1p_l.l"
2657 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2658 asn1p_lval.tv_opaque.len = asn1p_leng;
2664 #line 161 "asn1p_l.l"
2667 "ASN.1 Parser synchronization failure: "
2668 "\"%s\" at line %d must not appear "
2669 "inside value definition\n",
2670 asn1p_text, asn1p_lineno);
2676 #line 170 "asn1p_l.l"
2678 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2679 asn1p_lval.tv_opaque.len = asn1p_leng;
2685 /* rule 21 can match eol */
2687 #line 178 "asn1p_l.l"
2689 asn1p_lval.tv_opaque.buf = 0;
2690 asn1p_lval.tv_opaque.len = 0;
2691 QAPPEND(asn1p_text+1, asn1p_leng-1);
2692 yy_push_state(quoted);
2698 #line 186 "asn1p_l.l"
2699 { QAPPEND(asn1p_text, asn1p_leng-1); } /* Add a single quote */
2702 /* rule 23 can match eol */
2704 #line 187 "asn1p_l.l"
2705 { QAPPEND(asn1p_text, asn1p_leng); }
2709 #line 189 "asn1p_l.l"
2712 /* Do not append last quote:
2713 // QAPPEND(asn1p_text, asn1p_leng); */
2715 if(asn1p_lexer_pedantic_1990
2716 && strchr(asn1p_text, '\n')) {
2717 fprintf(stderr, "%s: "
2718 "Newlines are prohibited by ASN.1:1990\n",
2719 asn1p_lval.tv_opaque.buf);
2730 #line 208 "asn1p_l.l"
2732 const char *s = "ENCODING-CONTROL";
2733 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2734 for(; p >= s; p--) unput(*p);
2740 #line 214 "asn1p_l.l"
2741 unput('D'); unput('N'); unput('E'); yy_pop_state();
2745 #line 215 "asn1p_l.l"
2750 #line 216 "asn1p_l.l"
2755 #line 217 "asn1p_l.l"
2756 /* Eat everything else */
2759 /* rule 30 can match eol */
2761 #line 218 "asn1p_l.l"
2766 /* rule 31 can match eol */
2768 #line 221 "asn1p_l.l"
2770 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2771 asn1p_lval.tv_str = strdup(asn1p_text);
2776 /* rule 32 can match eol */
2778 #line 227 "asn1p_l.l"
2780 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2781 asn1p_lval.tv_str = strdup(asn1p_text);
2787 #line 234 "asn1p_l.l"
2789 asn1p_lval.a_int = _lex_atoi(asn1p_text);
2792 return TOK_number_negative;
2797 #line 241 "asn1p_l.l"
2799 asn1p_lval.a_int = _lex_atoi(asn1p_text);
2807 #line 248 "asn1p_l.l"
2809 asn1p_lval.a_int = _lex_atoi(asn1p_text);
2817 #line 255 "asn1p_l.l"
2819 asn1p_lval.a_dbl = _lex_atod(asn1p_text);
2822 return TOK_realnumber;
2827 #line 262 "asn1p_l.l"
2832 #line 263 "asn1p_l.l"
2837 #line 264 "asn1p_l.l"
2839 /* Appeared in 1990, removed in 1997 */
2840 if(TYPE_LIFETIME(1990, 1997))
2842 fprintf(stderr, "Keyword \"%s\" at line %d "
2843 "is obsolete\n", asn1p_text, asn1p_lineno);
2849 #line 272 "asn1p_l.l"
2850 return TOK_APPLICATION;
2854 #line 273 "asn1p_l.l"
2855 return TOK_AUTOMATIC;
2859 #line 274 "asn1p_l.l"
2861 if(asn1p_lexer_extended_values) {
2862 yy_push_state(extended_values);
2869 #line 280 "asn1p_l.l"
2874 #line 281 "asn1p_l.l"
2876 if(TYPE_LIFETIME(1994, 0))
2877 return TOK_BMPString;
2883 #line 286 "asn1p_l.l"
2888 #line 287 "asn1p_l.l"
2893 #line 288 "asn1p_l.l"
2894 return TOK_CHARACTER;
2898 #line 289 "asn1p_l.l"
2903 #line 290 "asn1p_l.l"
2908 #line 291 "asn1p_l.l"
2909 return TOK_COMPONENT;
2913 #line 292 "asn1p_l.l"
2914 return TOK_COMPONENTS;
2918 #line 293 "asn1p_l.l"
2919 return TOK_CONSTRAINED;
2923 #line 294 "asn1p_l.l"
2924 return TOK_CONTAINING;
2928 #line 295 "asn1p_l.l"
2933 #line 296 "asn1p_l.l"
2935 /* Appeared in 1990, removed in 1997 */
2936 if(TYPE_LIFETIME(1990, 1997))
2938 fprintf(stderr, "Keyword \"%s\" at line %d "
2939 "is obsolete\n", asn1p_text, asn1p_lineno);
2940 /* Deprecated since */
2946 #line 305 "asn1p_l.l"
2947 return TOK_DEFINITIONS;
2951 #line 306 "asn1p_l.l"
2952 return TOK_EMBEDDED;
2956 #line 307 "asn1p_l.l"
2961 #line 308 "asn1p_l.l"
2962 return TOK_ENCODING_CONTROL;
2966 #line 309 "asn1p_l.l"
2968 if(YYSTATE == extended_values) {
2976 #line 315 "asn1p_l.l"
2977 return TOK_ENUMERATED;
2981 #line 316 "asn1p_l.l"
2986 #line 317 "asn1p_l.l"
2987 return TOK_EXPLICIT;
2991 #line 318 "asn1p_l.l"
2996 #line 319 "asn1p_l.l"
2997 return TOK_EXTENSIBILITY;
3001 #line 320 "asn1p_l.l"
3002 return TOK_EXTERNAL;
3006 #line 321 "asn1p_l.l"
3011 #line 322 "asn1p_l.l"
3016 #line 323 "asn1p_l.l"
3017 return TOK_GeneralizedTime;
3021 #line 324 "asn1p_l.l"
3022 return TOK_GeneralString;
3026 #line 325 "asn1p_l.l"
3027 return TOK_GraphicString;
3031 #line 326 "asn1p_l.l"
3032 return TOK_IA5String;
3036 #line 327 "asn1p_l.l"
3037 return TOK_IDENTIFIER;
3041 #line 328 "asn1p_l.l"
3042 return TOK_IMPLICIT;
3046 #line 329 "asn1p_l.l"
3051 #line 330 "asn1p_l.l"
3056 #line 331 "asn1p_l.l"
3057 return TOK_INCLUDES;
3061 #line 332 "asn1p_l.l"
3062 return TOK_INSTANCE;
3066 #line 333 "asn1p_l.l"
3067 return TOK_INSTRUCTIONS;
3071 #line 334 "asn1p_l.l"
3076 #line 335 "asn1p_l.l"
3077 return TOK_INTERSECTION;
3081 #line 336 "asn1p_l.l"
3082 return TOK_ISO646String;
3086 #line 337 "asn1p_l.l"
3091 #line 338 "asn1p_l.l"
3096 #line 339 "asn1p_l.l"
3097 return TOK_MINUS_INFINITY;
3101 #line 340 "asn1p_l.l"
3106 #line 341 "asn1p_l.l"
3107 return TOK_NumericString;
3111 #line 342 "asn1p_l.l"
3116 #line 343 "asn1p_l.l"
3117 return TOK_ObjectDescriptor;
3121 #line 344 "asn1p_l.l"
3126 #line 345 "asn1p_l.l"
3131 #line 346 "asn1p_l.l"
3132 return TOK_OPTIONAL;
3136 #line 347 "asn1p_l.l"
3141 #line 348 "asn1p_l.l"
3146 #line 349 "asn1p_l.l"
3147 return TOK_PLUS_INFINITY;
3151 #line 350 "asn1p_l.l"
3156 #line 351 "asn1p_l.l"
3157 return TOK_PrintableString;
3161 #line 352 "asn1p_l.l"
3166 #line 353 "asn1p_l.l"
3171 #line 354 "asn1p_l.l"
3172 return TOK_RELATIVE_OID;
3176 #line 355 "asn1p_l.l"
3177 return TOK_SEQUENCE;
3181 #line 356 "asn1p_l.l"
3186 #line 357 "asn1p_l.l"
3191 #line 358 "asn1p_l.l"
3196 #line 359 "asn1p_l.l"
3201 #line 360 "asn1p_l.l"
3202 return TOK_T61String;
3206 #line 361 "asn1p_l.l"
3211 #line 362 "asn1p_l.l"
3212 return TOK_TeletexString;
3216 #line 363 "asn1p_l.l"
3221 #line 364 "asn1p_l.l"
3226 #line 365 "asn1p_l.l"
3231 #line 366 "asn1p_l.l"
3232 return TOK_UNIVERSAL;
3236 #line 367 "asn1p_l.l"
3238 if(TYPE_LIFETIME(1994, 0))
3239 return TOK_UniversalString;
3245 #line 372 "asn1p_l.l"
3250 #line 373 "asn1p_l.l"
3252 if(TYPE_LIFETIME(1994, 0))
3253 return TOK_UTF8String;
3259 #line 378 "asn1p_l.l"
3260 return TOK_VideotexString;
3264 #line 379 "asn1p_l.l"
3265 return TOK_VisibleString;
3269 #line 380 "asn1p_l.l"
3274 #line 383 "asn1p_l.l"
3276 asn1p_lval.tv_str = strdup(asn1p_text);
3277 return TOK_typefieldreference;
3282 #line 388 "asn1p_l.l"
3284 asn1p_lval.tv_str = strdup(asn1p_text);
3285 return TOK_valuefieldreference;
3290 #line 394 "asn1p_l.l"
3292 asn1p_lval.tv_str = strdup(asn1p_text);
3293 return TOK_identifier;
3297 * objectclassreference
3301 #line 402 "asn1p_l.l"
3303 asn1p_lval.tv_str = strdup(asn1p_text);
3304 return TOK_capitalreference;
3308 * typereference, modulereference
3309 * NOTE: TOK_objectclassreference must be combined
3310 * with this token to produce true typereference.
3314 #line 412 "asn1p_l.l"
3316 asn1p_lval.tv_str = strdup(asn1p_text);
3317 return TOK_typereference;
3322 #line 417 "asn1p_l.l"
3327 #line 419 "asn1p_l.l"
3328 return TOK_ThreeDots;
3332 #line 420 "asn1p_l.l"
3338 #line 424 "asn1p_l.l"
3340 asn1p_lval.tv_str = strdup(asn1p_text);
3346 #line 429 "asn1p_l.l"
3348 asn1p_lval.tv_str = strdup(asn1p_text);
3354 #line 434 "asn1p_l.l"
3356 yy_push_state(with_syntax);
3357 asn1p_lval.tv_str = strdup(asn1p_text);
3363 #line 440 "asn1p_l.l"
3368 #line 441 "asn1p_l.l"
3372 /* rule 132 can match eol */
3374 #line 443 "asn1p_l.l"
3376 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
3377 asn1p_lval.tv_opaque.len = asn1p_leng;
3378 return TOK_whitespace;
3383 #line 449 "asn1p_l.l"
3386 if(YYSTATE == with_syntax) {
3387 asn1p_lval.tv_str = strdup(asn1p_text);
3396 /* rule 134 can match eol */
3398 #line 462 "asn1p_l.l"
3399 /* Ignore whitespace */
3402 /* rule 135 can match eol */
3404 #line 465 "asn1p_l.l"
3406 asn1c_integer_t v1 = -1, v2 = -1;
3408 for(p = asn1p_text; *p; p++)
3409 if(*p >= '0' && *p <= '9')
3410 { v1 = _lex_atoi(p); break; }
3411 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3412 for(; *p; p++) if(*p >= '0' && *p <= '9')
3413 { v2 = _lex_atoi(p); break; }
3414 if(v1 < 0 || v1 > 7) {
3415 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3416 "mandates 0..7 range for Tuple's TableColumn\n",
3417 asn1p_text, asn1p_lineno);
3420 if(v2 < 0 || v2 > 15) {
3421 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3422 "mandates 0..15 range for Tuple's TableRow\n",
3423 asn1p_text, asn1p_lineno);
3426 asn1p_lval.a_int = (v1 << 4) + v2;
3431 /* rule 136 can match eol */
3433 #line 490 "asn1p_l.l"
3435 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
3437 for(p = asn1p_text; *p; p++)
3438 if(*p >= '0' && *p <= '9')
3439 { v1 = _lex_atoi(p); break; }
3440 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3441 for(; *p; p++) if(*p >= '0' && *p <= '9')
3442 { v2 = _lex_atoi(p); break; }
3443 while(*p >= '0' && *p <= '9') p++;
3444 for(; *p; p++) if(*p >= '0' && *p <= '9')
3445 { v3 = _lex_atoi(p); break; }
3446 while(*p >= '0' && *p <= '9') p++;
3447 for(; *p; p++) if(*p >= '0' && *p <= '9')
3448 { v4 = _lex_atoi(p); break; }
3449 if(v1 < 0 || v1 > 127) {
3450 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3451 "mandates 0..127 range for Quadruple's Group\n",
3452 asn1p_text, asn1p_lineno);
3455 if(v2 < 0 || v2 > 255) {
3456 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3457 "mandates 0..255 range for Quadruple's Plane\n",
3458 asn1p_text, asn1p_lineno);
3461 if(v3 < 0 || v3 > 255) {
3462 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3463 "mandates 0..255 range for Quadruple's Row\n",
3464 asn1p_text, asn1p_lineno);
3467 if(v4 < 0 || v4 > 255) {
3468 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3469 "mandates 0..255 range for Quadruple's Cell\n",
3470 asn1p_text, asn1p_lineno);
3473 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3474 return TOK_quadruple;
3479 #line 534 "asn1p_l.l"
3480 return TOK_VBracketLeft;
3484 #line 535 "asn1p_l.l"
3485 return TOK_VBracketRight;
3489 #line 537 "asn1p_l.l"
3490 return asn1p_text[0];
3493 /* rule 140 can match eol */
3495 #line 539 "asn1p_l.l"
3497 if(TYPE_LIFETIME(1994, 0))
3498 fprintf(stderr, "ERROR: ");
3500 "Symbol '%c' at line %d is prohibited "
3501 "by ASN.1:1994 and ASN.1:1997\n",
3502 asn1p_text[0], asn1p_lineno);
3503 if(TYPE_LIFETIME(1994, 0))
3509 #line 550 "asn1p_l.l"
3512 "Unexpected token at line %d: \"%s\"\n",
3513 asn1p_lineno, asn1p_text);
3514 while(YYSTATE != INITIAL)
3517 yy_top_state(); /* Just to use this function. */
3518 yy_fatal_error("Parse error");
3523 case YY_STATE_EOF(INITIAL):
3524 case YY_STATE_EOF(dash_comment):
3525 case YY_STATE_EOF(idash_comment):
3526 case YY_STATE_EOF(cpp_comment):
3527 case YY_STATE_EOF(quoted):
3528 case YY_STATE_EOF(opaque):
3529 case YY_STATE_EOF(encoding_control):
3530 case YY_STATE_EOF(with_syntax):
3531 case YY_STATE_EOF(extended_values):
3532 #line 563 "asn1p_l.l"
3534 while(YYSTATE != INITIAL)
3541 #line 570 "asn1p_l.l"
3542 YY_FATAL_ERROR( "flex scanner jammed" );
3544 #line 3545 "asn1p_l.c"
3546 case YY_END_OF_BUFFER:
3548 /* Amount of text matched not including the EOB char. */
3549 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3551 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3552 *yy_cp = (yy_hold_char);
3553 YY_RESTORE_YY_MORE_OFFSET
3555 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3557 /* We're scanning a new file or input source. It's
3558 * possible that this happened because the user
3559 * just pointed asn1p_in at a new source and called
3560 * asn1p_lex(). If so, then we have to assure
3561 * consistency between YY_CURRENT_BUFFER and our
3562 * globals. Here is the right place to do so, because
3563 * this is the first action (other than possibly a
3564 * back-up) that will match for the new input source.
3566 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3567 YY_CURRENT_BUFFER_LVALUE->yy_input_file = asn1p_in;
3568 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3571 /* Note that here we test for yy_c_buf_p "<=" to the position
3572 * of the first EOB in the buffer, since yy_c_buf_p will
3573 * already have been incremented past the NUL character
3574 * (since all states make transitions on EOB to the
3575 * end-of-buffer state). Contrast this with the test
3578 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3579 { /* This was really a NUL. */
3580 yy_state_type yy_next_state;
3582 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3584 yy_current_state = yy_get_previous_state( );
3586 /* Okay, we're now positioned to make the NUL
3587 * transition. We couldn't have
3588 * yy_get_previous_state() go ahead and do it
3589 * for us because it doesn't know how to deal
3590 * with the possibility of jamming (and we don't
3591 * want to build jamming into it because then it
3592 * will run more slowly).
3595 yy_next_state = yy_try_NUL_trans( yy_current_state );
3597 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3599 if ( yy_next_state )
3601 /* Consume the NUL. */
3602 yy_cp = ++(yy_c_buf_p);
3603 yy_current_state = yy_next_state;
3609 /* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
3610 yy_cp = (yy_c_buf_p);
3611 goto yy_find_action;
3615 else switch ( yy_get_next_buffer( ) )
3617 case EOB_ACT_END_OF_FILE:
3619 (yy_did_buffer_switch_on_eof) = 0;
3621 if ( asn1p_wrap( ) )
3623 /* Note: because we've taken care in
3624 * yy_get_next_buffer() to have set up
3625 * asn1p_text, we can now set up
3626 * yy_c_buf_p so that if some total
3627 * hoser (like flex itself) wants to
3628 * call the scanner after we return the
3629 * YY_NULL, it'll still work - another
3630 * YY_NULL will get returned.
3632 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3634 yy_act = YY_STATE_EOF(YY_START);
3640 if ( ! (yy_did_buffer_switch_on_eof) )
3646 case EOB_ACT_CONTINUE_SCAN:
3648 (yytext_ptr) + yy_amount_of_matched_text;
3650 yy_current_state = yy_get_previous_state( );
3652 yy_cp = (yy_c_buf_p);
3653 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3656 case EOB_ACT_LAST_MATCH:
3658 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3660 yy_current_state = yy_get_previous_state( );
3662 yy_cp = (yy_c_buf_p);
3663 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3664 goto yy_find_action;
3671 "fatal flex scanner internal error--no action found" );
3672 } /* end of action switch */
3673 } /* end of scanning one token */
3674 } /* end of asn1p_lex */
3675 /* %ok-for-header */
3678 /* %not-for-header */
3680 /* %ok-for-header */
3684 /* yy_get_next_buffer - try to read in a new buffer
3686 * Returns a code representing an action:
3687 * EOB_ACT_LAST_MATCH -
3688 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3689 * EOB_ACT_END_OF_FILE - end of file
3692 static int yy_get_next_buffer (void)
3697 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3698 register char *source = (yytext_ptr);
3699 register int number_to_move, i;
3702 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3704 "fatal flex scanner internal error--end of buffer missed" );
3706 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3707 { /* Don't try to fill the buffer, so this is an EOF. */
3708 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3710 /* We matched a single character, the EOB, so
3711 * treat this as a final EOF.
3713 return EOB_ACT_END_OF_FILE;
3718 /* We matched some text prior to the EOB, first
3721 return EOB_ACT_LAST_MATCH;
3725 /* Try to read more data. */
3727 /* First move last chars to start of buffer. */
3728 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3730 for ( i = 0; i < number_to_move; ++i )
3731 *(dest++) = *(source++);
3733 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3734 /* don't do the read, it's not guaranteed to return an EOF,
3737 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3741 yy_size_t num_to_read =
3742 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3744 while ( num_to_read <= 0 )
3745 { /* Not enough room in the buffer - grow it. */
3748 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3752 if ( num_to_read > YY_READ_BUF_SIZE )
3753 num_to_read = YY_READ_BUF_SIZE;
3755 /* Read in more data. */
3756 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3757 (yy_n_chars), num_to_read );
3759 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3762 if ( (yy_n_chars) == 0 )
3764 if ( number_to_move == YY_MORE_ADJ )
3766 ret_val = EOB_ACT_END_OF_FILE;
3767 asn1p_restart(asn1p_in );
3772 ret_val = EOB_ACT_LAST_MATCH;
3773 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3774 YY_BUFFER_EOF_PENDING;
3779 ret_val = EOB_ACT_CONTINUE_SCAN;
3781 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3782 /* Extend the array by 50%, plus the number we really need. */
3783 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3784 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) asn1p_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3785 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3786 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3789 (yy_n_chars) += number_to_move;
3790 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3791 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3793 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3798 /* yy_get_previous_state - get the state just before the EOB char was reached */
3801 /* %not-for-header */
3803 static yy_state_type yy_get_previous_state (void)
3808 register yy_state_type yy_current_state;
3809 register char *yy_cp;
3811 /* %% [15.0] code to get the start state into yy_current_state goes here */
3812 yy_current_state = (yy_start);
3814 (yy_state_ptr) = (yy_state_buf);
3815 *(yy_state_ptr)++ = yy_current_state;
3817 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3819 /* %% [16.0] code to find the next state goes here */
3820 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3821 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3823 yy_current_state = (int) yy_def[yy_current_state];
3824 if ( yy_current_state >= 769 )
3825 yy_c = yy_meta[(unsigned int) yy_c];
3827 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3828 *(yy_state_ptr)++ = yy_current_state;
3831 return yy_current_state;
3834 /* yy_try_NUL_trans - try to make a transition on the NUL character
3837 * next_state = yy_try_NUL_trans( current_state );
3840 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3845 register int yy_is_jam;
3846 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
3848 register YY_CHAR yy_c = 1;
3849 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3851 yy_current_state = (int) yy_def[yy_current_state];
3852 if ( yy_current_state >= 769 )
3853 yy_c = yy_meta[(unsigned int) yy_c];
3855 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3856 yy_is_jam = (yy_current_state == 768);
3858 *(yy_state_ptr)++ = yy_current_state;
3860 return yy_is_jam ? 0 : yy_current_state;
3865 static void yyunput (int c, register char * yy_bp )
3870 register char *yy_cp;
3872 yy_cp = (yy_c_buf_p);
3874 /* undo effects of setting up asn1p_text */
3875 *yy_cp = (yy_hold_char);
3877 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3878 { /* need to shift things up to make room */
3879 /* +2 for EOB chars. */
3880 register yy_size_t number_to_move = (yy_n_chars) + 2;
3881 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3882 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3883 register char *source =
3884 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3886 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3887 *--dest = *--source;
3889 yy_cp += (int) (dest - source);
3890 yy_bp += (int) (dest - source);
3891 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3892 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3894 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3895 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3898 *--yy_cp = (char) c;
3900 /* %% [18.0] update asn1p_lineno here */
3906 (yytext_ptr) = yy_bp;
3907 (yy_hold_char) = *yy_cp;
3908 (yy_c_buf_p) = yy_cp;
3917 static int yyinput (void)
3919 static int input (void)
3928 *(yy_c_buf_p) = (yy_hold_char);
3930 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3932 /* yy_c_buf_p now points to the character we want to return.
3933 * If this occurs *before* the EOB characters, then it's a
3934 * valid NUL; if not, then we've hit the end of the buffer.
3936 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3937 /* This was really a NUL. */
3938 *(yy_c_buf_p) = '\0';
3941 { /* need more input */
3942 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3945 switch ( yy_get_next_buffer( ) )
3947 case EOB_ACT_LAST_MATCH:
3948 /* This happens because yy_g_n_b()
3949 * sees that we've accumulated a
3950 * token and flags that we need to
3951 * try matching the token before
3952 * proceeding. But for input(),
3953 * there's no matching to consider.
3954 * So convert the EOB_ACT_LAST_MATCH
3955 * to EOB_ACT_END_OF_FILE.
3958 /* Reset buffer status. */
3959 asn1p_restart(asn1p_in );
3963 case EOB_ACT_END_OF_FILE:
3965 if ( asn1p_wrap( ) )
3968 if ( ! (yy_did_buffer_switch_on_eof) )
3977 case EOB_ACT_CONTINUE_SCAN:
3978 (yy_c_buf_p) = (yytext_ptr) + offset;
3984 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3985 *(yy_c_buf_p) = '\0'; /* preserve asn1p_text */
3986 (yy_hold_char) = *++(yy_c_buf_p);
3988 /* %% [19.0] update BOL and asn1p_lineno */
3997 #endif /* ifndef YY_NO_INPUT */
4000 /** Immediately switch to a different input stream.
4001 * @param input_file A readable stream.
4003 * @note This function does not reset the start condition to @c INITIAL .
4006 void asn1p_restart (FILE * input_file )
4012 if ( ! YY_CURRENT_BUFFER ){
4013 asn1p_ensure_buffer_stack ();
4014 YY_CURRENT_BUFFER_LVALUE =
4015 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
4018 asn1p__init_buffer(YY_CURRENT_BUFFER,input_file );
4019 asn1p__load_buffer_state( );
4022 /** Switch to a different input buffer.
4023 * @param new_buffer The new input buffer.
4027 void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer )
4033 /* TODO. We should be able to replace this entire function body
4035 * asn1p_pop_buffer_state();
4036 * asn1p_push_buffer_state(new_buffer);
4038 asn1p_ensure_buffer_stack ();
4039 if ( YY_CURRENT_BUFFER == new_buffer )
4042 if ( YY_CURRENT_BUFFER )
4044 /* Flush out information for old buffer. */
4045 *(yy_c_buf_p) = (yy_hold_char);
4046 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4047 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4050 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4051 asn1p__load_buffer_state( );
4053 /* We don't actually know whether we did this switch during
4054 * EOF (asn1p_wrap()) processing, but the only time this flag
4055 * is looked at is after asn1p_wrap() is called, so it's safe
4056 * to go ahead and always set it.
4058 (yy_did_buffer_switch_on_eof) = 1;
4062 static void asn1p__load_buffer_state (void)
4067 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4068 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4069 asn1p_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4070 (yy_hold_char) = *(yy_c_buf_p);
4073 /** Allocate and initialize an input buffer state.
4074 * @param file A readable stream.
4075 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4077 * @return the allocated buffer state.
4080 YY_BUFFER_STATE asn1p__create_buffer (FILE * file, int size )
4087 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
4089 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
4091 b->yy_buf_size = size;
4093 /* yy_ch_buf has to be 2 characters longer than the size given because
4094 * we need to put in 2 end-of-buffer characters.
4096 b->yy_ch_buf = (char *) asn1p_alloc(b->yy_buf_size + 2 );
4097 if ( ! b->yy_ch_buf )
4098 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
4100 b->yy_is_our_buffer = 1;
4102 asn1p__init_buffer(b,file );
4107 /** Destroy the buffer.
4108 * @param b a buffer created with asn1p__create_buffer()
4112 void asn1p__delete_buffer (YY_BUFFER_STATE b )
4121 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4122 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4124 if ( b->yy_is_our_buffer )
4125 asn1p_free((void *) b->yy_ch_buf );
4127 asn1p_free((void *) b );
4137 /* Initializes or reinitializes a buffer.
4138 * This function is sometimes called more than once on the same buffer,
4139 * such as during a asn1p_restart() or at EOF.
4142 static void asn1p__init_buffer (YY_BUFFER_STATE b, FILE * file )
4150 asn1p__flush_buffer(b );
4152 b->yy_input_file = file;
4153 b->yy_fill_buffer = 1;
4155 /* If b is the current buffer, then asn1p__init_buffer was _probably_
4156 * called from asn1p_restart() or through yy_get_next_buffer.
4157 * In that case, we don't want to reset the lineno or column.
4159 if (b != YY_CURRENT_BUFFER){
4160 b->yy_bs_lineno = 1;
4161 b->yy_bs_column = 0;
4166 b->yy_is_interactive = 0;
4174 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4175 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4179 void asn1p__flush_buffer (YY_BUFFER_STATE b )
4189 /* We always need two end-of-buffer characters. The first causes
4190 * a transition to the end-of-buffer state. The second causes
4191 * a jam in that state.
4193 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4194 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4196 b->yy_buf_pos = &b->yy_ch_buf[0];
4199 b->yy_buffer_status = YY_BUFFER_NEW;
4201 if ( b == YY_CURRENT_BUFFER )
4202 asn1p__load_buffer_state( );
4206 /** Pushes the new state onto the stack. The new state becomes
4207 * the current state. This function will allocate the stack
4209 * @param new_buffer The new state.
4213 void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer )
4218 if (new_buffer == NULL)
4221 asn1p_ensure_buffer_stack();
4223 /* This block is copied from asn1p__switch_to_buffer. */
4224 if ( YY_CURRENT_BUFFER )
4226 /* Flush out information for old buffer. */
4227 *(yy_c_buf_p) = (yy_hold_char);
4228 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4229 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4232 /* Only push if top exists. Otherwise, replace top. */
4233 if (YY_CURRENT_BUFFER)
4234 (yy_buffer_stack_top)++;
4235 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4237 /* copied from asn1p__switch_to_buffer. */
4238 asn1p__load_buffer_state( );
4239 (yy_did_buffer_switch_on_eof) = 1;
4244 /** Removes and deletes the top of the stack, if present.
4245 * The next element becomes the new top.
4249 void asn1p_pop_buffer_state (void)
4254 if (!YY_CURRENT_BUFFER)
4257 asn1p__delete_buffer(YY_CURRENT_BUFFER );
4258 YY_CURRENT_BUFFER_LVALUE = NULL;
4259 if ((yy_buffer_stack_top) > 0)
4260 --(yy_buffer_stack_top);
4262 if (YY_CURRENT_BUFFER) {
4263 asn1p__load_buffer_state( );
4264 (yy_did_buffer_switch_on_eof) = 1;
4270 /* Allocates the stack if it does not exist.
4271 * Guarantees space for at least one push.
4274 static void asn1p_ensure_buffer_stack (void)
4279 yy_size_t num_to_alloc;
4281 if (!(yy_buffer_stack)) {
4283 /* First allocation is just for 2 elements, since we don't know if this
4284 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4285 * immediate realloc on the next call.
4288 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_alloc
4289 (num_to_alloc * sizeof(struct yy_buffer_state*)
4291 if ( ! (yy_buffer_stack) )
4292 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4294 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4296 (yy_buffer_stack_max) = num_to_alloc;
4297 (yy_buffer_stack_top) = 0;
4301 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4303 /* Increase the buffer to prepare for a possible push. */
4304 int grow_size = 8 /* arbitrary grow size */;
4306 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4307 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_realloc
4309 num_to_alloc * sizeof(struct yy_buffer_state*)
4311 if ( ! (yy_buffer_stack) )
4312 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4314 /* zero only the new slots.*/
4315 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4316 (yy_buffer_stack_max) = num_to_alloc;
4322 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4323 * @param base the character buffer
4324 * @param size the size in bytes of the character buffer
4326 * @return the newly allocated buffer state object.
4328 YY_BUFFER_STATE asn1p__scan_buffer (char * base, yy_size_t size )
4333 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4334 base[size-1] != YY_END_OF_BUFFER_CHAR )
4335 /* They forgot to leave room for the EOB's. */
4338 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
4340 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_buffer()" );
4342 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4343 b->yy_buf_pos = b->yy_ch_buf = base;
4344 b->yy_is_our_buffer = 0;
4345 b->yy_input_file = 0;
4346 b->yy_n_chars = b->yy_buf_size;
4347 b->yy_is_interactive = 0;
4349 b->yy_fill_buffer = 0;
4350 b->yy_buffer_status = YY_BUFFER_NEW;
4352 asn1p__switch_to_buffer(b );
4359 /** Setup the input buffer state to scan a string. The next call to asn1p_lex() will
4360 * scan from a @e copy of @a str.
4361 * @param yystr a NUL-terminated string to scan
4363 * @return the newly allocated buffer state object.
4364 * @note If you want to scan bytes that may contain NUL values, then use
4365 * asn1p__scan_bytes() instead.
4367 YY_BUFFER_STATE asn1p__scan_string (yyconst char * yystr )
4370 return asn1p__scan_bytes(yystr,strlen(yystr) );
4375 /** Setup the input buffer state to scan the given bytes. The next call to asn1p_lex() will
4376 * scan from a @e copy of @a bytes.
4377 * @param bytes the byte buffer to scan
4378 * @param len the number of bytes in the buffer pointed to by @a bytes.
4380 * @return the newly allocated buffer state object.
4382 YY_BUFFER_STATE asn1p__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
4388 /* Get memory for full buffer, including space for trailing EOB's. */
4389 n = _yybytes_len + 2;
4390 buf = (char *) asn1p_alloc(n );
4392 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_bytes()" );
4394 for ( i = 0; i < _yybytes_len; ++i )
4395 buf[i] = yybytes[i];
4397 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4399 b = asn1p__scan_buffer(buf,n );
4401 YY_FATAL_ERROR( "bad buffer in asn1p__scan_bytes()" );
4403 /* It's okay to grow etc. this buffer, and we should throw it
4404 * away when we're done.
4406 b->yy_is_our_buffer = 1;
4413 static void yy_push_state (int new_state )
4418 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4422 (yy_start_stack_depth) += YY_START_STACK_INCR;
4423 new_size = (yy_start_stack_depth) * sizeof( int );
4425 if ( ! (yy_start_stack) )
4426 (yy_start_stack) = (int *) asn1p_alloc(new_size );
4429 (yy_start_stack) = (int *) asn1p_realloc((void *) (yy_start_stack),new_size );
4431 if ( ! (yy_start_stack) )
4432 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4435 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4441 static void yy_pop_state (void)
4446 if ( --(yy_start_stack_ptr) < 0 )
4447 YY_FATAL_ERROR( "start-condition stack underflow" );
4449 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4453 static int yy_top_state (void)
4458 return (yy_start_stack)[(yy_start_stack_ptr) - 1];
4461 #ifndef YY_EXIT_FAILURE
4462 #define YY_EXIT_FAILURE 2
4466 static void yy_fatal_error (yyconst char* msg )
4468 (void) fprintf( stderr, "%s\n", msg );
4469 exit( YY_EXIT_FAILURE );
4475 /* Redefine yyless() so it works in section 3 code. */
4481 /* Undo effects of setting up asn1p_text. */ \
4482 int yyless_macro_arg = (n); \
4483 YY_LESS_LINENO(yyless_macro_arg);\
4484 asn1p_text[asn1p_leng] = (yy_hold_char); \
4485 (yy_c_buf_p) = asn1p_text + yyless_macro_arg; \
4486 (yy_hold_char) = *(yy_c_buf_p); \
4487 *(yy_c_buf_p) = '\0'; \
4488 asn1p_leng = yyless_macro_arg; \
4492 /* Accessor methods (get/set functions) to struct members. */
4498 /** Get the current line number.
4501 int asn1p_get_lineno (void)
4504 return asn1p_lineno;
4507 /** Get the input stream.
4510 FILE *asn1p_get_in (void)
4515 /** Get the output stream.
4518 FILE *asn1p_get_out (void)
4523 /** Get the length of the current token.
4526 yy_size_t asn1p_get_leng (void)
4531 /** Get the current token.
4535 char *asn1p_get_text (void)
4543 /** Set the current line number.
4544 * @param line_number
4547 void asn1p_set_lineno (int line_number )
4550 asn1p_lineno = line_number;
4553 /** Set the input stream. This does not discard the current
4555 * @param in_str A readable stream.
4557 * @see asn1p__switch_to_buffer
4559 void asn1p_set_in (FILE * in_str )
4564 void asn1p_set_out (FILE * out_str )
4566 asn1p_out = out_str ;
4569 int asn1p_get_debug (void)
4571 return asn1p__flex_debug;
4574 void asn1p_set_debug (int bdebug )
4576 asn1p__flex_debug = bdebug ;
4582 /* %if-bison-bridge */
4584 /* %endif if-c-only */
4587 static int yy_init_globals (void)
4589 /* Initialization is the same as for the non-reentrant scanner.
4590 * This function is called from asn1p_lex_destroy(), so don't allocate here.
4593 /* We do not touch asn1p_lineno unless the option is enabled. */
4596 (yy_buffer_stack) = 0;
4597 (yy_buffer_stack_top) = 0;
4598 (yy_buffer_stack_max) = 0;
4599 (yy_c_buf_p) = (char *) 0;
4603 (yy_start_stack_ptr) = 0;
4604 (yy_start_stack_depth) = 0;
4605 (yy_start_stack) = NULL;
4609 (yy_full_match) = 0;
4612 /* Defined in main.c */
4617 asn1p_in = (FILE *) 0;
4618 asn1p_out = (FILE *) 0;
4621 /* For future reference: Set errno on error, since we are called by
4628 /* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
4629 /* asn1p_lex_destroy is for both reentrant and non-reentrant scanners. */
4630 int asn1p_lex_destroy (void)
4633 /* Pop the buffer stack, destroying each element. */
4634 while(YY_CURRENT_BUFFER){
4635 asn1p__delete_buffer(YY_CURRENT_BUFFER );
4636 YY_CURRENT_BUFFER_LVALUE = NULL;
4637 asn1p_pop_buffer_state();
4640 /* Destroy the stack itself. */
4641 asn1p_free((yy_buffer_stack) );
4642 (yy_buffer_stack) = NULL;
4644 /* Destroy the start condition stack. */
4645 asn1p_free((yy_start_stack) );
4646 (yy_start_stack) = NULL;
4648 asn1p_free ( (yy_state_buf) );
4649 (yy_state_buf) = NULL;
4651 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4652 * asn1p_lex() is called, initialization will occur. */
4662 * Internal utility routines.
4666 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4669 for ( i = 0; i < n; ++i )
4674 #ifdef YY_NEED_STRLEN
4675 static int yy_flex_strlen (yyconst char * s )
4678 for ( n = 0; s[n]; ++n )
4685 void *asn1p_alloc (yy_size_t size )
4687 return (void *) malloc( size );
4690 void *asn1p_realloc (void * ptr, yy_size_t size )
4692 /* The cast to (char *) in the following accommodates both
4693 * implementations that use char* generic pointers, and those
4694 * that use void* generic pointers. It works with the latter
4695 * because both ANSI C and C++ allow castless assignment from
4696 * any pointer type to void*, and deal with argument conversions
4697 * as though doing an assignment.
4699 return (void *) realloc( (char *) ptr, size );
4702 void asn1p_free (void * ptr )
4704 free( (char *) ptr ); /* see asn1p_realloc() for (char *) cast */
4707 /* %if-tables-serialization definitions */
4708 /* %define-yytables The name for this specific scanner's tables. */
4709 #define YYTABLES_NAME "yytables"
4712 /* %ok-for-header */
4714 #line 570 "asn1p_l.l"
4719 * Very dirty but wonderful hack allowing to rule states from within .y file.
4721 void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
4724 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
4726 void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
4729 void asn1p_lexer_hack_push_encoding_control() {
4730 yy_push_state(encoding_control);
4733 static asn1c_integer_t
4734 _lex_atoi(const char *ptr) {
4735 asn1c_integer_t value;
4736 if(asn1p_atoi(ptr, &value)) {
4738 "Value \"%s\" at line %d is too large "
4739 "for this compiler! Please contact the asn1c author.\n",
4747 _lex_atod(const char *ptr) {
4750 value = strtod(ptr, 0);
4753 "Value \"%s\" at line %d is outside of `double` range "
4754 "in this compiler! Please contact the asn1c author.\n",