blob: d374b6397a39946017a97f1a4aca80d22d27d01e [file] [log] [blame]
Lev Walkin752e9732017-08-04 02:06:22 -07001#line 2 "asn1p_l.c"
Lev Walkin03892812010-11-03 09:33:03 -07002
Lev Walkin752e9732017-08-04 02:06:22 -07003#line 4 "asn1p_l.c"
Lev Walkin03892812010-11-03 09:33:03 -07004
5#define YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
8
9/* %not-for-header */
10
11/* %if-c-only */
12/* %if-not-reentrant */
Lev Walkinf15320b2004-06-03 03:38:44 +000013#define yy_create_buffer asn1p__create_buffer
14#define yy_delete_buffer asn1p__delete_buffer
Lev Walkinf15320b2004-06-03 03:38:44 +000015#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
20#define yyin asn1p_in
21#define yyleng asn1p_leng
22#define yylex asn1p_lex
Lev Walkin03892812010-11-03 09:33:03 -070023#define yylineno asn1p_lineno
Lev Walkinf15320b2004-06-03 03:38:44 +000024#define yyout asn1p_out
25#define yyrestart asn1p_restart
26#define yytext asn1p_text
Lev Walkin03892812010-11-03 09:33:03 -070027#define yywrap asn1p_wrap
28#define yyalloc asn1p_alloc
29#define yyrealloc asn1p_realloc
30#define yyfree asn1p_free
Lev Walkinf15320b2004-06-03 03:38:44 +000031
Lev Walkin03892812010-11-03 09:33:03 -070032/* %endif */
33/* %endif */
34/* %ok-for-header */
Lev Walkinadf863f2006-09-05 16:18:34 +000035
Lev Walkinf15320b2004-06-03 03:38:44 +000036#define FLEX_SCANNER
37#define YY_FLEX_MAJOR_VERSION 2
38#define YY_FLEX_MINOR_VERSION 5
Lev Walkin03892812010-11-03 09:33:03 -070039#define YY_FLEX_SUBMINOR_VERSION 35
40#if YY_FLEX_SUBMINOR_VERSION > 0
41#define FLEX_BETA
42#endif
Lev Walkinf15320b2004-06-03 03:38:44 +000043
Lev Walkin03892812010-11-03 09:33:03 -070044/* %if-c++-only */
45/* %endif */
46
47/* %if-c-only */
48
49/* %endif */
50
51/* %if-c-only */
52
53/* %endif */
54
55/* First, we deal with platform-specific or compiler-specific issues. */
56
57/* begin standard C headers. */
58/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +000059#include <stdio.h>
Lev Walkin03892812010-11-03 09:33:03 -070060#include <string.h>
61#include <errno.h>
62#include <stdlib.h>
63/* %endif */
Lev Walkina00d6b32006-03-21 03:40:38 +000064
Lev Walkin03892812010-11-03 09:33:03 -070065/* %if-tables-serialization */
66/* %endif */
67/* end standard C headers. */
Lev Walkinf15320b2004-06-03 03:38:44 +000068
Lev Walkin03892812010-11-03 09:33:03 -070069/* %if-c-or-c++ */
70/* flex integer type definitions */
71
72#ifndef FLEXINT_H
73#define FLEXINT_H
74
75/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
76
77#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
78
79/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
80 * if you want the limit (max/min) macros for int types.
81 */
82#ifndef __STDC_LIMIT_MACROS
83#define __STDC_LIMIT_MACROS 1
Lev Walkinf15320b2004-06-03 03:38:44 +000084#endif
85
Lev Walkin03892812010-11-03 09:33:03 -070086#include <inttypes.h>
87typedef int8_t flex_int8_t;
88typedef uint8_t flex_uint8_t;
89typedef int16_t flex_int16_t;
90typedef uint16_t flex_uint16_t;
91typedef int32_t flex_int32_t;
92typedef uint32_t flex_uint32_t;
Lev Walkin752e9732017-08-04 02:06:22 -070093typedef uint64_t flex_uint64_t;
Lev Walkin03892812010-11-03 09:33:03 -070094#else
95typedef signed char flex_int8_t;
96typedef short int flex_int16_t;
97typedef int flex_int32_t;
98typedef unsigned char flex_uint8_t;
99typedef unsigned short int flex_uint16_t;
100typedef unsigned int flex_uint32_t;
101#endif /* ! C99 */
102
103/* Limits of integral types. */
104#ifndef INT8_MIN
105#define INT8_MIN (-128)
106#endif
107#ifndef INT16_MIN
108#define INT16_MIN (-32767-1)
109#endif
110#ifndef INT32_MIN
111#define INT32_MIN (-2147483647-1)
112#endif
113#ifndef INT8_MAX
114#define INT8_MAX (127)
115#endif
116#ifndef INT16_MAX
117#define INT16_MAX (32767)
118#endif
119#ifndef INT32_MAX
120#define INT32_MAX (2147483647)
121#endif
122#ifndef UINT8_MAX
123#define UINT8_MAX (255U)
124#endif
125#ifndef UINT16_MAX
126#define UINT16_MAX (65535U)
127#endif
128#ifndef UINT32_MAX
129#define UINT32_MAX (4294967295U)
130#endif
131
132#endif /* ! FLEXINT_H */
133
134/* %endif */
135
136/* %if-c++-only */
137/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000138
139#ifdef __cplusplus
140
Lev Walkinf15320b2004-06-03 03:38:44 +0000141/* The "const" storage-class-modifier is valid. */
142#define YY_USE_CONST
143
144#else /* ! __cplusplus */
145
Lev Walkin03892812010-11-03 09:33:03 -0700146/* C99 requires __STDC__ to be defined as 1. */
147#if defined (__STDC__)
Lev Walkinf15320b2004-06-03 03:38:44 +0000148
Lev Walkinf15320b2004-06-03 03:38:44 +0000149#define YY_USE_CONST
150
Lev Walkin03892812010-11-03 09:33:03 -0700151#endif /* defined (__STDC__) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000152#endif /* ! __cplusplus */
153
Lev Walkinf15320b2004-06-03 03:38:44 +0000154#ifdef YY_USE_CONST
155#define yyconst const
156#else
157#define yyconst
158#endif
159
Lev Walkin03892812010-11-03 09:33:03 -0700160/* %not-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000161
162/* Returned upon end-of-file. */
163#define YY_NULL 0
Lev Walkin03892812010-11-03 09:33:03 -0700164/* %ok-for-header */
165
166/* %not-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000167
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
171 * double cast.
172 */
173#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
Lev Walkin03892812010-11-03 09:33:03 -0700174/* %ok-for-header */
175
176/* %if-reentrant */
177/* %endif */
178
179/* %if-not-reentrant */
180
181/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000182
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.
186 */
Lev Walkin03892812010-11-03 09:33:03 -0700187#define BEGIN (yy_start) = 1 + 2 *
Lev Walkinf15320b2004-06-03 03:38:44 +0000188
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
191 * compatibility.
192 */
Lev Walkin03892812010-11-03 09:33:03 -0700193#define YY_START (((yy_start) - 1) / 2)
Lev Walkinf15320b2004-06-03 03:38:44 +0000194#define YYSTATE YY_START
195
196/* Action number for EOF rule of a given start state. */
197#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
198
199/* Special action meaning "start processing a new file". */
Lev Walkin03892812010-11-03 09:33:03 -0700200#define YY_NEW_FILE asn1p_restart(asn1p_in )
Lev Walkinf15320b2004-06-03 03:38:44 +0000201
202#define YY_END_OF_BUFFER_CHAR 0
203
204/* Size of default input buffer. */
Lev Walkin03892812010-11-03 09:33:03 -0700205#ifndef YY_BUF_SIZE
Lev Walkinf15320b2004-06-03 03:38:44 +0000206#define YY_BUF_SIZE 16384
Lev Walkin03892812010-11-03 09:33:03 -0700207#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000208
Lev Walkin03892812010-11-03 09:33:03 -0700209/* The state buf must be large enough to hold one state per character in the main buffer.
210 */
211#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
212
213#ifndef YY_TYPEDEF_YY_BUFFER_STATE
214#define YY_TYPEDEF_YY_BUFFER_STATE
Lev Walkinf15320b2004-06-03 03:38:44 +0000215typedef struct yy_buffer_state *YY_BUFFER_STATE;
Lev Walkin03892812010-11-03 09:33:03 -0700216#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000217
Lev Walkin0e90aa02013-03-19 16:17:13 -0700218#ifndef YY_TYPEDEF_YY_SIZE_T
219#define YY_TYPEDEF_YY_SIZE_T
220typedef size_t yy_size_t;
221#endif
222
Lev Walkin03892812010-11-03 09:33:03 -0700223/* %if-not-reentrant */
Lev Walkin0e90aa02013-03-19 16:17:13 -0700224extern yy_size_t asn1p_leng;
Lev Walkin03892812010-11-03 09:33:03 -0700225/* %endif */
226
227/* %if-c-only */
228/* %if-not-reentrant */
229extern FILE *asn1p_in, *asn1p_out;
230/* %endif */
231/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000232
233#define EOB_ACT_CONTINUE_SCAN 0
234#define EOB_ACT_END_OF_FILE 1
235#define EOB_ACT_LAST_MATCH 2
236
Lev Walkin03892812010-11-03 09:33:03 -0700237 /* 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.
243 */
244 #define YY_LESS_LINENO(n) \
245 do { \
Lev Walkin0e90aa02013-03-19 16:17:13 -0700246 yy_size_t yyl;\
Lev Walkin03892812010-11-03 09:33:03 -0700247 for ( yyl = n; yyl < asn1p_leng; ++yyl )\
248 if ( asn1p_text[yyl] == '\n' )\
249 --asn1p_lineno;\
250 }while(0)
251
252/* Return all but the first "n" matched characters back to the input stream. */
Lev Walkinf15320b2004-06-03 03:38:44 +0000253#define yyless(n) \
254 do \
255 { \
Lev Walkin03892812010-11-03 09:33:03 -0700256 /* 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); \
Lev Walkinf15320b2004-06-03 03:38:44 +0000260 YY_RESTORE_YY_MORE_OFFSET \
Lev Walkin03892812010-11-03 09:33:03 -0700261 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
262 YY_DO_BEFORE_ACTION; /* set up asn1p_text again */ \
Lev Walkinf15320b2004-06-03 03:38:44 +0000263 } \
264 while ( 0 )
265
Lev Walkin03892812010-11-03 09:33:03 -0700266#define unput(c) yyunput( c, (yytext_ptr) )
Lev Walkinf15320b2004-06-03 03:38:44 +0000267
Lev Walkin03892812010-11-03 09:33:03 -0700268#ifndef YY_STRUCT_YY_BUFFER_STATE
269#define YY_STRUCT_YY_BUFFER_STATE
Lev Walkinf15320b2004-06-03 03:38:44 +0000270struct yy_buffer_state
271 {
Lev Walkin03892812010-11-03 09:33:03 -0700272/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +0000273 FILE *yy_input_file;
Lev Walkin03892812010-11-03 09:33:03 -0700274/* %endif */
275
276/* %if-c++-only */
277/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000278
279 char *yy_ch_buf; /* input buffer */
280 char *yy_buf_pos; /* current position in input buffer */
281
282 /* Size of input buffer in bytes, not including room for EOB
283 * characters.
284 */
285 yy_size_t yy_buf_size;
286
287 /* Number of characters read into yy_ch_buf, not including EOB
288 * characters.
289 */
Lev Walkin0e90aa02013-03-19 16:17:13 -0700290 yy_size_t yy_n_chars;
Lev Walkinf15320b2004-06-03 03:38:44 +0000291
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
294 * delete it.
295 */
296 int yy_is_our_buffer;
297
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
301 * each newline.
302 */
303 int yy_is_interactive;
304
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
307 * not.
308 */
309 int yy_at_bol;
310
Lev Walkin03892812010-11-03 09:33:03 -0700311 int yy_bs_lineno; /**< The line count. */
312 int yy_bs_column; /**< The column count. */
313
Lev Walkinf15320b2004-06-03 03:38:44 +0000314 /* Whether to try to fill the input buffer when we reach the
315 * end of it.
316 */
317 int yy_fill_buffer;
318
319 int yy_buffer_status;
Lev Walkin03892812010-11-03 09:33:03 -0700320
Lev Walkinf15320b2004-06-03 03:38:44 +0000321#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.
328 *
329 * When we actually see the EOF, we change the status to "new"
Lev Walkin03892812010-11-03 09:33:03 -0700330 * (via asn1p_restart()), so that the user can continue scanning by
331 * just pointing asn1p_in at a new input file.
Lev Walkinf15320b2004-06-03 03:38:44 +0000332 */
333#define YY_BUFFER_EOF_PENDING 2
Lev Walkinf15320b2004-06-03 03:38:44 +0000334
Lev Walkin03892812010-11-03 09:33:03 -0700335 };
336#endif /* !YY_STRUCT_YY_BUFFER_STATE */
337
338/* %if-c-only Standard (non-C++) definition */
339/* %not-for-header */
340
341/* %if-not-reentrant */
342
343/* Stack of input buffers. */
344static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
345static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
346static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
347/* %endif */
348/* %ok-for-header */
349
350/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000351
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
354 * "scanner state".
Lev Walkin03892812010-11-03 09:33:03 -0700355 *
356 * Returns the top of the stack, or NULL.
Lev Walkinf15320b2004-06-03 03:38:44 +0000357 */
Lev Walkin03892812010-11-03 09:33:03 -0700358#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
359 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
360 : NULL)
Lev Walkinf15320b2004-06-03 03:38:44 +0000361
Lev Walkin03892812010-11-03 09:33:03 -0700362/* 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.
364 */
365#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
Lev Walkinf15320b2004-06-03 03:38:44 +0000366
Lev Walkin03892812010-11-03 09:33:03 -0700367/* %if-c-only Standard (non-C++) definition */
368
369/* %if-not-reentrant */
370/* %not-for-header */
371
372/* yy_hold_char holds the character lost when asn1p_text is formed. */
Lev Walkinf15320b2004-06-03 03:38:44 +0000373static char yy_hold_char;
Lev Walkin0e90aa02013-03-19 16:17:13 -0700374static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
375yy_size_t asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +0000376
377/* Points to current character in buffer. */
378static char *yy_c_buf_p = (char *) 0;
Lev Walkin03892812010-11-03 09:33:03 -0700379static int yy_init = 0; /* whether we need to initialize */
Lev Walkinf15320b2004-06-03 03:38:44 +0000380static int yy_start = 0; /* start state number */
381
Lev Walkin03892812010-11-03 09:33:03 -0700382/* 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 ...
Lev Walkinf15320b2004-06-03 03:38:44 +0000384 */
385static int yy_did_buffer_switch_on_eof;
Lev Walkin03892812010-11-03 09:33:03 -0700386/* %ok-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000387
Lev Walkin03892812010-11-03 09:33:03 -0700388/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000389
Lev Walkin03892812010-11-03 09:33:03 -0700390void asn1p_restart (FILE *input_file );
391void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer );
392YY_BUFFER_STATE asn1p__create_buffer (FILE *file,int size );
393void asn1p__delete_buffer (YY_BUFFER_STATE b );
394void asn1p__flush_buffer (YY_BUFFER_STATE b );
395void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer );
396void asn1p_pop_buffer_state (void );
Lev Walkinf15320b2004-06-03 03:38:44 +0000397
Lev Walkin03892812010-11-03 09:33:03 -0700398static void asn1p_ensure_buffer_stack (void );
399static void asn1p__load_buffer_state (void );
400static void asn1p__init_buffer (YY_BUFFER_STATE b,FILE *file );
Lev Walkinf15320b2004-06-03 03:38:44 +0000401
Lev Walkin03892812010-11-03 09:33:03 -0700402#define YY_FLUSH_BUFFER asn1p__flush_buffer(YY_CURRENT_BUFFER )
Lev Walkinf15320b2004-06-03 03:38:44 +0000403
Lev Walkin03892812010-11-03 09:33:03 -0700404YY_BUFFER_STATE asn1p__scan_buffer (char *base,yy_size_t size );
405YY_BUFFER_STATE asn1p__scan_string (yyconst char *yy_str );
Lev Walkin0e90aa02013-03-19 16:17:13 -0700406YY_BUFFER_STATE asn1p__scan_bytes (yyconst char *bytes,yy_size_t len );
Lev Walkin03892812010-11-03 09:33:03 -0700407
408/* %endif */
409
410void *asn1p_alloc (yy_size_t );
411void *asn1p_realloc (void *,yy_size_t );
412void asn1p_free (void * );
413
414#define yy_new_buffer asn1p__create_buffer
Lev Walkinf15320b2004-06-03 03:38:44 +0000415
416#define yy_set_interactive(is_interactive) \
417 { \
Lev Walkin03892812010-11-03 09:33:03 -0700418 if ( ! YY_CURRENT_BUFFER ){ \
419 asn1p_ensure_buffer_stack (); \
420 YY_CURRENT_BUFFER_LVALUE = \
421 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \
422 } \
423 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000424 }
425
426#define yy_set_bol(at_bol) \
427 { \
Lev Walkin03892812010-11-03 09:33:03 -0700428 if ( ! YY_CURRENT_BUFFER ){\
429 asn1p_ensure_buffer_stack (); \
430 YY_CURRENT_BUFFER_LVALUE = \
431 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \
432 } \
433 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000434 }
435
Lev Walkin03892812010-11-03 09:33:03 -0700436#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
Lev Walkinf15320b2004-06-03 03:38:44 +0000437
Lev Walkin03892812010-11-03 09:33:03 -0700438/* %% [1.0] asn1p_text/asn1p_in/asn1p_out/yy_state_type/asn1p_lineno etc. def's & init go here */
439/* Begin user sect3 */
Lev Walkinf15320b2004-06-03 03:38:44 +0000440
Lev Walkin03892812010-11-03 09:33:03 -0700441#define asn1p_wrap(n) 1
Lev Walkinf15320b2004-06-03 03:38:44 +0000442#define YY_SKIP_YYWRAP
443
444#define FLEX_DEBUG
Lev Walkin03892812010-11-03 09:33:03 -0700445
Lev Walkinf15320b2004-06-03 03:38:44 +0000446typedef unsigned char YY_CHAR;
Lev Walkin03892812010-11-03 09:33:03 -0700447
448FILE *asn1p_in = (FILE *) 0, *asn1p_out = (FILE *) 0;
449
Lev Walkinf15320b2004-06-03 03:38:44 +0000450typedef int yy_state_type;
451
Lev Walkin03892812010-11-03 09:33:03 -0700452extern int asn1p_lineno;
Lev Walkinf15320b2004-06-03 03:38:44 +0000453
Lev Walkin03892812010-11-03 09:33:03 -0700454int asn1p_lineno = 1;
455
456extern char *asn1p_text;
457#define yytext_ptr asn1p_text
458
459/* %if-c-only Standard (non-C++) definition */
460
461static yy_state_type yy_get_previous_state (void );
462static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
463static int yy_get_next_buffer (void );
464static void yy_fatal_error (yyconst char msg[] );
465
466/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000467
468/* Done after the current pattern has been matched and before the
Lev Walkin03892812010-11-03 09:33:03 -0700469 * corresponding action - sets up asn1p_text.
Lev Walkinf15320b2004-06-03 03:38:44 +0000470 */
471#define YY_DO_BEFORE_ACTION \
Lev Walkin03892812010-11-03 09:33:03 -0700472 (yytext_ptr) = yy_bp; \
473/* %% [2.0] code to fiddle asn1p_text and asn1p_leng for yymore() goes here \ */\
Lev Walkin0e90aa02013-03-19 16:17:13 -0700474 asn1p_leng = (yy_size_t) (yy_cp - yy_bp); \
Lev Walkin03892812010-11-03 09:33:03 -0700475 (yy_hold_char) = *yy_cp; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000476 *yy_cp = '\0'; \
Lev Walkin03892812010-11-03 09:33:03 -0700477/* %% [3.0] code to copy yytext_ptr to asn1p_text[] goes here, if %array \ */\
478 (yy_c_buf_p) = yy_cp;
Lev Walkinf15320b2004-06-03 03:38:44 +0000479
Lev Walkin03892812010-11-03 09:33:03 -0700480/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
Lev Walkinbe518fa2017-09-07 02:05:28 -0700481#define YY_NUM_RULES 142
482#define YY_END_OF_BUFFER 143
Lev Walkin03892812010-11-03 09:33:03 -0700483/* This struct is not used in this scanner,
484 but its presence is necessary. */
485struct yy_trans_info
486 {
487 flex_int32_t yy_verify;
488 flex_int32_t yy_nxt;
489 };
Lev Walkinbe518fa2017-09-07 02:05:28 -0700490static yyconst flex_int16_t yy_acclist[1290] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000491 { 0,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700492 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000502
Lev Walkinbe518fa2017-09-07 02:05:28 -0700503 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000513
Lev Walkinbe518fa2017-09-07 02:05:28 -0700514 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,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700524
Lev Walkinbe518fa2017-09-07 02:05:28 -0700525 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,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700535
Lev Walkinbe518fa2017-09-07 02:05:28 -0700536 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,
Lev Walkind9574ae2005-03-24 16:22:35 +0000546
Lev Walkinbe518fa2017-09-07 02:05:28 -0700547 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,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700557
Lev Walkinbe518fa2017-09-07 02:05:28 -0700558 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,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700568
Lev Walkinbe518fa2017-09-07 02:05:28 -0700569 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,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700579
Lev Walkinbe518fa2017-09-07 02:05:28 -0700580 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,
Lev Walkin9d542d22006-03-14 16:31:37 +0000590
Lev Walkinbe518fa2017-09-07 02:05:28 -0700591 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,
Lev Walkin9d542d22006-03-14 16:31:37 +0000601
Lev Walkinbe518fa2017-09-07 02:05:28 -0700602 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,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700612
Lev Walkinbe518fa2017-09-07 02:05:28 -0700613 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,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700623
Lev Walkinbe518fa2017-09-07 02:05:28 -0700624 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
Lev Walkinf15320b2004-06-03 03:38:44 +0000633 } ;
634
Lev Walkinbe518fa2017-09-07 02:05:28 -0700635static yyconst flex_int16_t yy_accept[770] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000636 { 0,
637 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700638 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000647
Lev Walkinbe518fa2017-09-07 02:05:28 -0700648 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000658
Lev Walkinbe518fa2017-09-07 02:05:28 -0700659 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000669
Lev Walkinbe518fa2017-09-07 02:05:28 -0700670 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000680
Lev Walkinbe518fa2017-09-07 02:05:28 -0700681 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000691
Lev Walkinbe518fa2017-09-07 02:05:28 -0700692 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000702
Lev Walkinbe518fa2017-09-07 02:05:28 -0700703 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,
Lev Walkin2535a692005-07-02 21:42:40 +0000713
Lev Walkinbe518fa2017-09-07 02:05:28 -0700714 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
Lev Walkinf15320b2004-06-03 03:38:44 +0000721 } ;
722
Lev Walkin03892812010-11-03 09:33:03 -0700723static yyconst flex_int32_t yy_ec[256] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000724 { 0,
725 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
Lev Walkin2535a692005-07-02 21:42:40 +0000726 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000727 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700728 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000735
Lev Walkinbe518fa2017-09-07 02:05:28 -0700736 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000739 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,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700744 1, 1, 1, 1, 1, 1, 86, 1, 1, 1,
745 87, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000746
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,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700750 1, 1, 1, 1, 1, 1, 1, 1, 88, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1
753 } ;
754
Lev Walkinbe518fa2017-09-07 02:05:28 -0700755static yyconst flex_int32_t yy_meta[89] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000756 { 0,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700757 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,
Lev Walkin9d542d22006-03-14 16:31:37 +0000763 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkinadf863f2006-09-05 16:18:34 +0000764 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700765 11, 11, 12, 1, 12, 1, 1, 1
Lev Walkin2535a692005-07-02 21:42:40 +0000766 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000767
Lev Walkinbe518fa2017-09-07 02:05:28 -0700768static yyconst flex_int16_t yy_base[796] =
Lev Walkin2535a692005-07-02 21:42:40 +0000769 { 0,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700770 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000780
Lev Walkinbe518fa2017-09-07 02:05:28 -0700781 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000791
Lev Walkinbe518fa2017-09-07 02:05:28 -0700792 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000802
Lev Walkinbe518fa2017-09-07 02:05:28 -0700803 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000813
Lev Walkinbe518fa2017-09-07 02:05:28 -0700814 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000824
Lev Walkinbe518fa2017-09-07 02:05:28 -0700825 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000835
Lev Walkinbe518fa2017-09-07 02:05:28 -0700836 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000846
Lev Walkinbe518fa2017-09-07 02:05:28 -0700847 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
857
Lev Walkin2535a692005-07-02 21:42:40 +0000858 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000859
Lev Walkinbe518fa2017-09-07 02:05:28 -0700860static yyconst flex_int16_t yy_def[796] =
Lev Walkin2535a692005-07-02 21:42:40 +0000861 { 0,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700862 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000872
Lev Walkinbe518fa2017-09-07 02:05:28 -0700873 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,
Lev Walkin9d542d22006-03-14 16:31:37 +0000883
Lev Walkinbe518fa2017-09-07 02:05:28 -0700884 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,
Lev Walkin9d542d22006-03-14 16:31:37 +0000894
Lev Walkinbe518fa2017-09-07 02:05:28 -0700895 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,
Lev Walkin9d542d22006-03-14 16:31:37 +0000905
Lev Walkinbe518fa2017-09-07 02:05:28 -0700906 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000916
Lev Walkinbe518fa2017-09-07 02:05:28 -0700917 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,
Lev Walkinef625402005-09-05 05:17:57 +0000927
Lev Walkinbe518fa2017-09-07 02:05:28 -0700928 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000938
Lev Walkinbe518fa2017-09-07 02:05:28 -0700939 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
949
Lev Walkin2535a692005-07-02 21:42:40 +0000950 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000951
Lev Walkinbe518fa2017-09-07 02:05:28 -0700952static yyconst flex_int16_t yy_nxt[4723] =
Lev Walkin2535a692005-07-02 21:42:40 +0000953 { 0,
Lev Walkinbe518fa2017-09-07 02:05:28 -0700954 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000964
Lev Walkinbe518fa2017-09-07 02:05:28 -0700965 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000975
Lev Walkinbe518fa2017-09-07 02:05:28 -0700976 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000986
Lev Walkinbe518fa2017-09-07 02:05:28 -0700987 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,
Lev Walkinf15320b2004-06-03 03:38:44 +0000997
Lev Walkinbe518fa2017-09-07 02:05:28 -0700998 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001008
Lev Walkinbe518fa2017-09-07 02:05:28 -07001009 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001019
Lev Walkinbe518fa2017-09-07 02:05:28 -07001020 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001030
Lev Walkinbe518fa2017-09-07 02:05:28 -07001031 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001041
Lev Walkinbe518fa2017-09-07 02:05:28 -07001042 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001052
Lev Walkinbe518fa2017-09-07 02:05:28 -07001053 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001063
Lev Walkinbe518fa2017-09-07 02:05:28 -07001064 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001074
Lev Walkinbe518fa2017-09-07 02:05:28 -07001075 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001085
Lev Walkinbe518fa2017-09-07 02:05:28 -07001086 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001096
Lev Walkinbe518fa2017-09-07 02:05:28 -07001097 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001107
Lev Walkinbe518fa2017-09-07 02:05:28 -07001108 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001118
Lev Walkinbe518fa2017-09-07 02:05:28 -07001119 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001129
Lev Walkinbe518fa2017-09-07 02:05:28 -07001130 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001140
Lev Walkinbe518fa2017-09-07 02:05:28 -07001141 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001151
Lev Walkinbe518fa2017-09-07 02:05:28 -07001152 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001162
Lev Walkinbe518fa2017-09-07 02:05:28 -07001163 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001173
Lev Walkinbe518fa2017-09-07 02:05:28 -07001174 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001184
Lev Walkinbe518fa2017-09-07 02:05:28 -07001185 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001195
Lev Walkinbe518fa2017-09-07 02:05:28 -07001196 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001206
Lev Walkinbe518fa2017-09-07 02:05:28 -07001207 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00001217
Lev Walkinbe518fa2017-09-07 02:05:28 -07001218 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,
Lev Walkinf59d0752004-08-18 04:59:12 +00001228
Lev Walkinbe518fa2017-09-07 02:05:28 -07001229 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,
Lev Walkind9574ae2005-03-24 16:22:35 +00001239
Lev Walkinbe518fa2017-09-07 02:05:28 -07001240 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,
Lev Walkind9574ae2005-03-24 16:22:35 +00001250
Lev Walkinbe518fa2017-09-07 02:05:28 -07001251 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,
Lev Walkind9574ae2005-03-24 16:22:35 +00001261
Lev Walkinbe518fa2017-09-07 02:05:28 -07001262 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001272
Lev Walkinbe518fa2017-09-07 02:05:28 -07001273 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001283
Lev Walkinbe518fa2017-09-07 02:05:28 -07001284 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001294
Lev Walkinbe518fa2017-09-07 02:05:28 -07001295 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001305
Lev Walkinbe518fa2017-09-07 02:05:28 -07001306 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001316
Lev Walkinbe518fa2017-09-07 02:05:28 -07001317 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001327
Lev Walkinbe518fa2017-09-07 02:05:28 -07001328 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001338
Lev Walkinbe518fa2017-09-07 02:05:28 -07001339 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001349
Lev Walkinbe518fa2017-09-07 02:05:28 -07001350 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001360
Lev Walkinbe518fa2017-09-07 02:05:28 -07001361 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001371
Lev Walkinbe518fa2017-09-07 02:05:28 -07001372 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001382
Lev Walkinbe518fa2017-09-07 02:05:28 -07001383 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001393
Lev Walkinbe518fa2017-09-07 02:05:28 -07001394 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001404
Lev Walkinbe518fa2017-09-07 02:05:28 -07001405 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,
Lev Walkin9d542d22006-03-14 16:31:37 +00001415
Lev Walkinbe518fa2017-09-07 02:05:28 -07001416 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001426
Lev Walkinbe518fa2017-09-07 02:05:28 -07001427 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,
Lev Walkin4696c742005-08-22 12:23:54 +00001437
Lev Walkinbe518fa2017-09-07 02:05:28 -07001438 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,
Lev Walkin4696c742005-08-22 12:23:54 +00001448
Lev Walkinbe518fa2017-09-07 02:05:28 -07001449 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,
Lev Walkin752e9732017-08-04 02:06:22 -07001459
Lev Walkinbe518fa2017-09-07 02:05:28 -07001460 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,
1470
1471 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1472 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1473 768, 768
Lev Walkin2535a692005-07-02 21:42:40 +00001474 } ;
1475
Lev Walkinbe518fa2017-09-07 02:05:28 -07001476static yyconst flex_int16_t yy_chk[4723] =
Lev Walkin2535a692005-07-02 21:42:40 +00001477 { 0,
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,
Lev Walkinbe518fa2017-09-07 02:05:28 -07001486 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
1487 3, 4, 4, 4, 5, 5, 5, 6, 6, 6,
Lev Walkin2535a692005-07-02 21:42:40 +00001488
Lev Walkinbe518fa2017-09-07 02:05:28 -07001489 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,
1499
Lev Walkin9d542d22006-03-14 16:31:37 +00001500 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
Lev Walkinbe518fa2017-09-07 02:05:28 -07001501 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,
Lev Walkin9d542d22006-03-14 16:31:37 +00001508 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Lev Walkinbe518fa2017-09-07 02:05:28 -07001509 14, 14, 14, 14, 14, 14, 14, 14, 174, 46,
Lev Walkin2535a692005-07-02 21:42:40 +00001510
Lev Walkinbe518fa2017-09-07 02:05:28 -07001511 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,
Lev Walkin9d542d22006-03-14 16:31:37 +00001518 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,
1521
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,
Lev Walkin752e9732017-08-04 02:06:22 -07001525 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
Lev Walkinbe518fa2017-09-07 02:05:28 -07001526 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001532
Lev Walkinbe518fa2017-09-07 02:05:28 -07001533 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001543
Lev Walkinbe518fa2017-09-07 02:05:28 -07001544 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001554
Lev Walkinbe518fa2017-09-07 02:05:28 -07001555 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001565
Lev Walkinbe518fa2017-09-07 02:05:28 -07001566 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001576
Lev Walkinbe518fa2017-09-07 02:05:28 -07001577 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001587
Lev Walkinbe518fa2017-09-07 02:05:28 -07001588 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001598
Lev Walkinbe518fa2017-09-07 02:05:28 -07001599 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001609
Lev Walkinbe518fa2017-09-07 02:05:28 -07001610 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001620
Lev Walkinbe518fa2017-09-07 02:05:28 -07001621 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001631
Lev Walkinbe518fa2017-09-07 02:05:28 -07001632 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001642
Lev Walkinbe518fa2017-09-07 02:05:28 -07001643 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001653
Lev Walkinbe518fa2017-09-07 02:05:28 -07001654 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001664
Lev Walkinbe518fa2017-09-07 02:05:28 -07001665 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001675
Lev Walkinbe518fa2017-09-07 02:05:28 -07001676 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001686
Lev Walkinbe518fa2017-09-07 02:05:28 -07001687 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001697
Lev Walkinbe518fa2017-09-07 02:05:28 -07001698 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001708
Lev Walkinbe518fa2017-09-07 02:05:28 -07001709 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001719
Lev Walkinbe518fa2017-09-07 02:05:28 -07001720 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001730
Lev Walkinbe518fa2017-09-07 02:05:28 -07001731 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001741
Lev Walkinbe518fa2017-09-07 02:05:28 -07001742 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001752
Lev Walkinbe518fa2017-09-07 02:05:28 -07001753 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001763
Lev Walkinbe518fa2017-09-07 02:05:28 -07001764 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001774
Lev Walkinbe518fa2017-09-07 02:05:28 -07001775 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001785
Lev Walkinbe518fa2017-09-07 02:05:28 -07001786 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001796
Lev Walkinbe518fa2017-09-07 02:05:28 -07001797 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001807
Lev Walkinbe518fa2017-09-07 02:05:28 -07001808 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001818
Lev Walkinbe518fa2017-09-07 02:05:28 -07001819 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001829
Lev Walkinbe518fa2017-09-07 02:05:28 -07001830 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001840
Lev Walkinbe518fa2017-09-07 02:05:28 -07001841 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001851
Lev Walkinbe518fa2017-09-07 02:05:28 -07001852 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001862
Lev Walkinbe518fa2017-09-07 02:05:28 -07001863 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001873
Lev Walkinbe518fa2017-09-07 02:05:28 -07001874 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001884
Lev Walkinbe518fa2017-09-07 02:05:28 -07001885 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001895
Lev Walkinbe518fa2017-09-07 02:05:28 -07001896 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001906
Lev Walkinbe518fa2017-09-07 02:05:28 -07001907 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001917
Lev Walkinbe518fa2017-09-07 02:05:28 -07001918 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001928
Lev Walkinbe518fa2017-09-07 02:05:28 -07001929 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,
Lev Walkin2535a692005-07-02 21:42:40 +00001939
Lev Walkinbe518fa2017-09-07 02:05:28 -07001940 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,
Lev Walkin752e9732017-08-04 02:06:22 -07001950
Lev Walkinbe518fa2017-09-07 02:05:28 -07001951 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,
Lev Walkin752e9732017-08-04 02:06:22 -07001961
Lev Walkinbe518fa2017-09-07 02:05:28 -07001962 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,
Lev Walkin752e9732017-08-04 02:06:22 -07001966 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
Lev Walkinbe518fa2017-09-07 02:05:28 -07001967 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,
Lev Walkin4696c742005-08-22 12:23:54 +00001972
Lev Walkinbe518fa2017-09-07 02:05:28 -07001973 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,
1983
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,
1994
1995 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1996 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1997 768, 768
Lev Walkinf15320b2004-06-03 03:38:44 +00001998 } ;
1999
Lev Walkin03892812010-11-03 09:33:03 -07002000/* Table of booleans, true if rule could match eol. */
Lev Walkinbe518fa2017-09-07 02:05:28 -07002001static yyconst flex_int32_t yy_rule_can_match_eol[143] =
Lev Walkin03892812010-11-03 09:33:03 -07002002 { 0,
Lev Walkinbe518fa2017-09-07 02:05:28 -070020030, 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,
Lev Walkin03892812010-11-03 09:33:03 -07002005 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,
Lev Walkinbe518fa2017-09-07 02:05:28 -07002009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0,
2010 1, 0, 0, };
Lev Walkinf15320b2004-06-03 03:38:44 +00002011
Lev Walkin03892812010-11-03 09:33:03 -07002012extern int asn1p__flex_debug;
2013int asn1p__flex_debug = 1;
2014
Lev Walkinbe518fa2017-09-07 02:05:28 -07002015static yyconst flex_int16_t yy_rule_linenum[142] =
Lev Walkinf15320b2004-06-03 03:38:44 +00002016 { 0,
Lev Walkinbe518fa2017-09-07 02:05:28 -07002017 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,
Lev Walkinf15320b2004-06-03 03:38:44 +00002027
Lev Walkinbe518fa2017-09-07 02:05:28 -07002028 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,
2032 550
Lev Walkinf15320b2004-06-03 03:38:44 +00002033 } ;
2034
Lev Walkin03892812010-11-03 09:33:03 -07002035static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
Lev Walkinf15320b2004-06-03 03:38:44 +00002036static char *yy_full_match;
2037static int yy_lp;
2038#define REJECT \
2039{ \
Lev Walkin03892812010-11-03 09:33:03 -07002040*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */ \
2041yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
2042++(yy_lp); \
Lev Walkinf15320b2004-06-03 03:38:44 +00002043goto find_rule; \
2044}
Lev Walkin03892812010-11-03 09:33:03 -07002045
Lev Walkinf15320b2004-06-03 03:38:44 +00002046#define yymore() yymore_used_but_not_detected
2047#define YY_MORE_ADJ 0
2048#define YY_RESTORE_YY_MORE_OFFSET
Lev Walkin03892812010-11-03 09:33:03 -07002049char *asn1p_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00002050#line 1 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002051#line 2 "asn1p_l.l"
2052
2053#include <string.h>
2054#include <errno.h>
2055#include <assert.h>
2056
2057#include "asn1parser.h"
2058#include "asn1p_y.h"
2059
2060int asn1p_lex(void);
2061void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
2062void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
Lev Walkinf59d0752004-08-18 04:59:12 +00002063void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
Lev Walkinf15320b2004-06-03 03:38:44 +00002064
2065#define YY_FATAL_ERROR(msg) do { \
2066 fprintf(stderr, \
2067 "lexer error at line %d, " \
2068 "text \"%s\"\n", \
Lev Walkin03892812010-11-03 09:33:03 -07002069 asn1p_lineno, asn1p_text); \
Lev Walkinf15320b2004-06-03 03:38:44 +00002070 exit(1); \
2071 } while(0)
2072
2073int asn1p_lexer_pedantic_1990 = 0;
2074int asn1p_lexer_types_year = 0;
2075int asn1p_lexer_constructs_year = 0;
Lev Walkinbe518fa2017-09-07 02:05:28 -07002076int asn1p_lexer_extended_values = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00002077
Lev Walkin4696c742005-08-22 12:23:54 +00002078int asn1p_as_pointer;
2079
Lev Walkind370e9f2006-03-16 10:03:35 +00002080static asn1c_integer_t _lex_atoi(const char *ptr);
Lev Walkinadf863f2006-09-05 16:18:34 +00002081static double _lex_atod(const char *ptr);
Lev Walkind370e9f2006-03-16 10:03:35 +00002082
Lev Walkinf15320b2004-06-03 03:38:44 +00002083/*
2084 * Check that the type is defined in the year of the standard choosen.
2085 */
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))
2090
2091/*
2092 * Check the the construction (or concept, i.e. CLASS) is defined in
2093 * a given year.
2094 */
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))
2099
2100/*
Lev Walkinf15320b2004-06-03 03:38:44 +00002101 * Append quoted string.
2102 */
2103#define QAPPEND(text, tlen) do { \
2104 char *prev_text = asn1p_lval.tv_opaque.buf; \
2105 int prev_len = asn1p_lval.tv_opaque.len; \
2106 char *p; \
2107 \
2108 p = malloc((tlen) + prev_len + 1); \
2109 if(p == NULL) return -1; \
2110 \
2111 if(prev_text) memcpy(p, prev_text, prev_len); \
2112 memcpy(p + prev_len, text, tlen); \
2113 p[prev_len + (tlen)] = '\0'; \
2114 \
2115 free(asn1p_lval.tv_opaque.buf); \
2116 asn1p_lval.tv_opaque.buf = p; \
2117 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
2118 } while(0)
2119
Lev Walkinf15320b2004-06-03 03:38:44 +00002120#define YY_NO_INPUT 1
Lev Walkinf15320b2004-06-03 03:38:44 +00002121/* Performance penalty is OK */
2122/* Controlled from within application */
Lev Walkinf15320b2004-06-03 03:38:44 +00002123
Lev Walkinf15320b2004-06-03 03:38:44 +00002124
Lev Walkinf15320b2004-06-03 03:38:44 +00002125
Lev Walkinf15320b2004-06-03 03:38:44 +00002126
Lev Walkinf59d0752004-08-18 04:59:12 +00002127
Lev Walkin2535a692005-07-02 21:42:40 +00002128
Lev Walkinf15320b2004-06-03 03:38:44 +00002129
Lev Walkinbe518fa2017-09-07 02:05:28 -07002130
Lev Walkinf15320b2004-06-03 03:38:44 +00002131/* Newline */
2132/* White-space */
Lev Walkinbe518fa2017-09-07 02:05:28 -07002133#line 2134 "asn1p_l.c"
Lev Walkin03892812010-11-03 09:33:03 -07002134
2135#define INITIAL 0
2136#define dash_comment 1
2137#define idash_comment 2
2138#define cpp_comment 3
2139#define quoted 4
2140#define opaque 5
2141#define encoding_control 6
2142#define with_syntax 7
Lev Walkinbe518fa2017-09-07 02:05:28 -07002143#define extended_values 8
Lev Walkin03892812010-11-03 09:33:03 -07002144
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.
2149 */
2150/* %if-c-only */
2151#include <unistd.h>
2152/* %endif */
2153/* %if-c++-only */
2154/* %endif */
2155#endif
2156
2157#ifndef YY_EXTRA_TYPE
2158#define YY_EXTRA_TYPE void *
2159#endif
2160
2161/* %if-c-only Reentrant structure and macros (non-C++). */
2162/* %if-reentrant */
2163/* %if-c-only */
2164
2165static int yy_init_globals (void );
2166
2167/* %endif */
2168/* %if-reentrant */
2169/* %endif */
2170/* %endif End reentrant structures and macros. */
2171
2172/* Accessor methods to globals.
2173 These are made visible to non-reentrant scanners for convenience. */
2174
2175int asn1p_lex_destroy (void );
2176
2177int asn1p_get_debug (void );
2178
2179void asn1p_set_debug (int debug_flag );
2180
2181YY_EXTRA_TYPE asn1p_get_extra (void );
2182
2183void asn1p_set_extra (YY_EXTRA_TYPE user_defined );
2184
2185FILE *asn1p_get_in (void );
2186
2187void asn1p_set_in (FILE * in_str );
2188
2189FILE *asn1p_get_out (void );
2190
2191void asn1p_set_out (FILE * out_str );
2192
Lev Walkin0e90aa02013-03-19 16:17:13 -07002193yy_size_t asn1p_get_leng (void );
Lev Walkin03892812010-11-03 09:33:03 -07002194
2195char *asn1p_get_text (void );
2196
2197int asn1p_get_lineno (void );
2198
2199void asn1p_set_lineno (int line_number );
2200
2201/* %if-bison-bridge */
2202/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002203
2204/* Macros after this point can all be overridden by user definitions in
2205 * section 1.
2206 */
2207
2208#ifndef YY_SKIP_YYWRAP
2209#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07002210extern "C" int asn1p_wrap (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002211#else
Lev Walkin03892812010-11-03 09:33:03 -07002212extern int asn1p_wrap (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002213#endif
2214#endif
2215
Lev Walkin03892812010-11-03 09:33:03 -07002216/* %not-for-header */
2217
2218 static void yyunput (int c,char *buf_ptr );
2219
2220/* %ok-for-header */
2221
2222/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002223
2224#ifndef yytext_ptr
Lev Walkin03892812010-11-03 09:33:03 -07002225static void yy_flex_strncpy (char *,yyconst char *,int );
Lev Walkinf15320b2004-06-03 03:38:44 +00002226#endif
2227
2228#ifdef YY_NEED_STRLEN
Lev Walkin03892812010-11-03 09:33:03 -07002229static int yy_flex_strlen (yyconst char * );
Lev Walkinf15320b2004-06-03 03:38:44 +00002230#endif
2231
2232#ifndef YY_NO_INPUT
Lev Walkin03892812010-11-03 09:33:03 -07002233/* %if-c-only Standard (non-C++) definition */
2234/* %not-for-header */
2235
Lev Walkinf15320b2004-06-03 03:38:44 +00002236#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07002237static int yyinput (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002238#else
Lev Walkin03892812010-11-03 09:33:03 -07002239static int input (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002240#endif
Lev Walkin03892812010-11-03 09:33:03 -07002241/* %ok-for-header */
2242
2243/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002244#endif
2245
Lev Walkin03892812010-11-03 09:33:03 -07002246/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00002247
Lev Walkin03892812010-11-03 09:33:03 -07002248 static int yy_start_stack_ptr = 0;
2249 static int yy_start_stack_depth = 0;
2250 static int *yy_start_stack = NULL;
2251
2252 static void yy_push_state (int new_state );
2253
2254 static void yy_pop_state (void );
2255
2256 static int yy_top_state (void );
2257
2258/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002259
2260/* Amount of stuff to slurp up with each read. */
2261#ifndef YY_READ_BUF_SIZE
2262#define YY_READ_BUF_SIZE 8192
2263#endif
2264
2265/* Copy whatever the last rule matched to the standard output. */
Lev Walkinf15320b2004-06-03 03:38:44 +00002266#ifndef ECHO
Lev Walkin03892812010-11-03 09:33:03 -07002267/* %if-c-only Standard (non-C++) definition */
Lev Walkinf15320b2004-06-03 03:38:44 +00002268/* This used to be an fputs(), but since the string might contain NUL's,
2269 * we now use fwrite().
2270 */
Lev Walkin03892812010-11-03 09:33:03 -07002271#define ECHO fwrite( asn1p_text, asn1p_leng, 1, asn1p_out )
2272/* %endif */
2273/* %if-c++-only C++ definition */
2274/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002275#endif
2276
2277/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2278 * is returned in "result".
2279 */
2280#ifndef YY_INPUT
2281#define YY_INPUT(buf,result,max_size) \
Lev Walkin03892812010-11-03 09:33:03 -07002282/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
2283 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002284 { \
Lev Walkin03892812010-11-03 09:33:03 -07002285 int c = '*'; \
Lev Walkin0e90aa02013-03-19 16:17:13 -07002286 yy_size_t n; \
Lev Walkinf15320b2004-06-03 03:38:44 +00002287 for ( n = 0; n < max_size && \
Lev Walkin03892812010-11-03 09:33:03 -07002288 (c = getc( asn1p_in )) != EOF && c != '\n'; ++n ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002289 buf[n] = (char) c; \
2290 if ( c == '\n' ) \
2291 buf[n++] = (char) c; \
Lev Walkin03892812010-11-03 09:33:03 -07002292 if ( c == EOF && ferror( asn1p_in ) ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002293 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2294 result = n; \
2295 } \
Lev Walkin03892812010-11-03 09:33:03 -07002296 else \
2297 { \
2298 errno=0; \
2299 while ( (result = fread(buf, 1, max_size, asn1p_in))==0 && ferror(asn1p_in)) \
2300 { \
2301 if( errno != EINTR) \
2302 { \
2303 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2304 break; \
2305 } \
2306 errno=0; \
2307 clearerr(asn1p_in); \
2308 } \
2309 }\
2310\
2311/* %if-c++-only C++ definition \ */\
2312/* %endif */
2313
Lev Walkinf15320b2004-06-03 03:38:44 +00002314#endif
2315
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.
2319 */
2320#ifndef yyterminate
2321#define yyterminate() return YY_NULL
2322#endif
2323
2324/* Number of entries by which start-condition stack grows. */
2325#ifndef YY_START_STACK_INCR
2326#define YY_START_STACK_INCR 25
2327#endif
2328
2329/* Report a fatal error. */
2330#ifndef YY_FATAL_ERROR
Lev Walkin03892812010-11-03 09:33:03 -07002331/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00002332#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
Lev Walkin03892812010-11-03 09:33:03 -07002333/* %endif */
2334/* %if-c++-only */
2335/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002336#endif
2337
Lev Walkin03892812010-11-03 09:33:03 -07002338/* %if-tables-serialization structures and prototypes */
2339/* %not-for-header */
2340
2341/* %ok-for-header */
2342
2343/* %not-for-header */
2344
2345/* %tables-yydmap generated elements */
2346/* %endif */
2347/* end tables serialization structures and prototypes */
2348
2349/* %ok-for-header */
2350
Lev Walkinf15320b2004-06-03 03:38:44 +00002351/* Default declaration of generated scanner - a define so the user can
2352 * easily add parameters.
2353 */
2354#ifndef YY_DECL
Lev Walkin03892812010-11-03 09:33:03 -07002355#define YY_DECL_IS_OURS 1
2356/* %if-c-only Standard (non-C++) definition */
Lev Walkinf15320b2004-06-03 03:38:44 +00002357
Lev Walkin03892812010-11-03 09:33:03 -07002358extern int asn1p_lex (void);
2359
2360#define YY_DECL int asn1p_lex (void)
2361/* %endif */
2362/* %if-c++-only C++ definition */
2363/* %endif */
2364#endif /* !YY_DECL */
2365
2366/* Code executed at the beginning of each rule, after asn1p_text and asn1p_leng
Lev Walkinf15320b2004-06-03 03:38:44 +00002367 * have been set up.
2368 */
2369#ifndef YY_USER_ACTION
2370#define YY_USER_ACTION
2371#endif
2372
2373/* Code executed at the end of each rule. */
2374#ifndef YY_BREAK
2375#define YY_BREAK break;
2376#endif
2377
Lev Walkin03892812010-11-03 09:33:03 -07002378/* %% [6.0] YY_RULE_SETUP definition goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00002379#define YY_RULE_SETUP \
2380 YY_USER_ACTION
2381
Lev Walkin03892812010-11-03 09:33:03 -07002382/* %not-for-header */
2383
2384/** The main scanner function which does all the work.
2385 */
Lev Walkinf15320b2004-06-03 03:38:44 +00002386YY_DECL
Lev Walkin03892812010-11-03 09:33:03 -07002387{
Lev Walkinf15320b2004-06-03 03:38:44 +00002388 register yy_state_type yy_current_state;
2389 register char *yy_cp, *yy_bp;
2390 register int yy_act;
Lev Walkin03892812010-11-03 09:33:03 -07002391
2392/* %% [7.0] user's declarations go here */
Lev Walkinbe518fa2017-09-07 02:05:28 -07002393#line 96 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002394
2395
Lev Walkinbe518fa2017-09-07 02:05:28 -07002396#line 2397 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00002397
Lev Walkin03892812010-11-03 09:33:03 -07002398 if ( !(yy_init) )
Lev Walkinf15320b2004-06-03 03:38:44 +00002399 {
Lev Walkin03892812010-11-03 09:33:03 -07002400 (yy_init) = 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00002401
2402#ifdef YY_USER_INIT
2403 YY_USER_INIT;
2404#endif
2405
Lev Walkin03892812010-11-03 09:33:03 -07002406 /* 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()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00002411
Lev Walkin03892812010-11-03 09:33:03 -07002412 if ( ! (yy_start) )
2413 (yy_start) = 1; /* first start state */
Lev Walkinf15320b2004-06-03 03:38:44 +00002414
Lev Walkin03892812010-11-03 09:33:03 -07002415 if ( ! asn1p_in )
2416/* %if-c-only */
2417 asn1p_in = stdin;
2418/* %endif */
2419/* %if-c++-only */
2420/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002421
Lev Walkin03892812010-11-03 09:33:03 -07002422 if ( ! asn1p_out )
2423/* %if-c-only */
2424 asn1p_out = stdout;
2425/* %endif */
2426/* %if-c++-only */
2427/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002428
Lev Walkin03892812010-11-03 09:33:03 -07002429 if ( ! YY_CURRENT_BUFFER ) {
2430 asn1p_ensure_buffer_stack ();
2431 YY_CURRENT_BUFFER_LVALUE =
2432 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
2433 }
2434
2435 asn1p__load_buffer_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00002436 }
2437
2438 while ( 1 ) /* loops until end-of-file is reached */
2439 {
Lev Walkin03892812010-11-03 09:33:03 -07002440/* %% [8.0] yymore()-related code goes here */
2441 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00002442
Lev Walkin03892812010-11-03 09:33:03 -07002443 /* Support of asn1p_text. */
2444 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00002445
2446 /* yy_bp points to the position in yy_ch_buf of the start of
2447 * the current run.
2448 */
2449 yy_bp = yy_cp;
2450
Lev Walkin03892812010-11-03 09:33:03 -07002451/* %% [9.0] code to set up and find next match goes here */
2452 yy_current_state = (yy_start);
2453
2454 (yy_state_ptr) = (yy_state_buf);
2455 *(yy_state_ptr)++ = yy_current_state;
2456
Lev Walkinf15320b2004-06-03 03:38:44 +00002457yy_match:
2458 do
2459 {
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 )
2462 {
2463 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinbe518fa2017-09-07 02:05:28 -07002464 if ( yy_current_state >= 769 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002465 yy_c = yy_meta[(unsigned int) yy_c];
2466 }
2467 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin03892812010-11-03 09:33:03 -07002468 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00002469 ++yy_cp;
2470 }
Lev Walkinbe518fa2017-09-07 02:05:28 -07002471 while ( yy_current_state != 768 );
Lev Walkinf15320b2004-06-03 03:38:44 +00002472
2473yy_find_action:
Lev Walkin03892812010-11-03 09:33:03 -07002474/* %% [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];
Lev Walkin0e90aa02013-03-19 16:17:13 -07002477goto find_rule; /* Shut up GCC warning -Wall */
Lev Walkinf15320b2004-06-03 03:38:44 +00002478find_rule: /* we branch to this label when backing up */
2479 for ( ; ; ) /* until we find what rule we matched */
2480 {
Lev Walkin03892812010-11-03 09:33:03 -07002481 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
Lev Walkinf15320b2004-06-03 03:38:44 +00002482 {
Lev Walkin03892812010-11-03 09:33:03 -07002483 yy_act = yy_acclist[(yy_lp)];
Lev Walkinf15320b2004-06-03 03:38:44 +00002484 {
Lev Walkin03892812010-11-03 09:33:03 -07002485 (yy_full_match) = yy_cp;
Lev Walkinf15320b2004-06-03 03:38:44 +00002486 break;
2487 }
2488 }
2489 --yy_cp;
Lev Walkin03892812010-11-03 09:33:03 -07002490 yy_current_state = *--(yy_state_ptr);
2491 (yy_lp) = yy_accept[yy_current_state];
Lev Walkinf15320b2004-06-03 03:38:44 +00002492 }
2493
2494 YY_DO_BEFORE_ACTION;
2495
Lev Walkin03892812010-11-03 09:33:03 -07002496/* %% [11.0] code for asn1p_lineno update goes here */
2497
2498 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
Lev Walkinf15320b2004-06-03 03:38:44 +00002499 {
Lev Walkin0e90aa02013-03-19 16:17:13 -07002500 yy_size_t yyl;
Lev Walkin03892812010-11-03 09:33:03 -07002501 for ( yyl = 0; yyl < asn1p_leng; ++yyl )
2502 if ( asn1p_text[yyl] == '\n' )
2503
2504 asn1p_lineno++;
2505;
Lev Walkinf15320b2004-06-03 03:38:44 +00002506 }
2507
2508do_action: /* This label is used only to access EOF actions. */
2509
Lev Walkin03892812010-11-03 09:33:03 -07002510/* %% [12.0] debug code goes here */
2511 if ( asn1p__flex_debug )
Lev Walkinf15320b2004-06-03 03:38:44 +00002512 {
2513 if ( yy_act == 0 )
2514 fprintf( stderr, "--scanner backing up\n" );
Lev Walkinbe518fa2017-09-07 02:05:28 -07002515 else if ( yy_act < 142 )
Lev Walkin03892812010-11-03 09:33:03 -07002516 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2517 (long)yy_rule_linenum[yy_act], asn1p_text );
Lev Walkinbe518fa2017-09-07 02:05:28 -07002518 else if ( yy_act == 142 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002519 fprintf( stderr, "--accepting default rule (\"%s\")\n",
Lev Walkin03892812010-11-03 09:33:03 -07002520 asn1p_text );
Lev Walkinbe518fa2017-09-07 02:05:28 -07002521 else if ( yy_act == 143 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002522 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2523 else
2524 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2525 }
2526
2527 switch ( yy_act )
2528 { /* beginning of action switch */
Lev Walkin03892812010-11-03 09:33:03 -07002529/* %% [13.0] actions go here */
Lev Walkinf15320b2004-06-03 03:38:44 +00002530case 1:
2531YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002532#line 98 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002533return UTF8_BOM;
Lev Walkin2535a692005-07-02 21:42:40 +00002534 YY_BREAK
2535case 2:
Lev Walkin752e9732017-08-04 02:06:22 -07002536/* rule 2 can match eol */
Lev Walkin03892812010-11-03 09:33:03 -07002537*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2538(yy_c_buf_p) = yy_cp -= 1;
2539YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
Lev Walkin2535a692005-07-02 21:42:40 +00002540YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002541#line 100 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002542/* Immediately terminated long comment */
Lev Walkin2535a692005-07-02 21:42:40 +00002543 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002544case 3:
Lev Walkin752e9732017-08-04 02:06:22 -07002545*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2546(yy_c_buf_p) = yy_cp -= 1;
2547YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
Lev Walkin2535a692005-07-02 21:42:40 +00002548YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002549#line 101 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002550yy_push_state(idash_comment); /* Incorrect, but acceptable */
Lev Walkin2535a692005-07-02 21:42:40 +00002551 YY_BREAK
2552
2553case 4:
2554YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002555#line 103 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002556yy_pop_state(); /* Acceptable end of comment */
Lev Walkinef625402005-09-05 05:17:57 +00002557 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002558
Lev Walkinef625402005-09-05 05:17:57 +00002559case 5:
2560YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002561#line 106 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002562asn1p_as_pointer = 1;
2563 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002564
Lev Walkin752e9732017-08-04 02:06:22 -07002565case 6:
2566YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002567#line 109 "asn1p_l.l"
2568{
2569 yy_pop_state();
2570 return TOK_ExtValue_BIT_STRING;
2571 }
Lev Walkinf15320b2004-06-03 03:38:44 +00002572 YY_BREAK
2573
Lev Walkin2535a692005-07-02 21:42:40 +00002574case 7:
Lev Walkinf15320b2004-06-03 03:38:44 +00002575YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002576#line 115 "asn1p_l.l"
2577yy_push_state(dash_comment);
Lev Walkinf15320b2004-06-03 03:38:44 +00002578 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002579
Lev Walkin2535a692005-07-02 21:42:40 +00002580case 8:
Lev Walkinbe518fa2017-09-07 02:05:28 -07002581/* rule 8 can match eol */
Lev Walkin2535a692005-07-02 21:42:40 +00002582YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002583#line 118 "asn1p_l.l"
2584yy_pop_state();
Lev Walkin4696c742005-08-22 12:23:54 +00002585 YY_BREAK
2586case 9:
2587YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002588#line 120 "asn1p_l.l"
2589yy_pop_state(); /* End of comment */
Lev Walkin4696c742005-08-22 12:23:54 +00002590 YY_BREAK
2591case 10:
2592YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002593#line 121 "asn1p_l.l"
2594/* Eat single dash */
Lev Walkin2535a692005-07-02 21:42:40 +00002595 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002596case 11:
Lev Walkin2535a692005-07-02 21:42:40 +00002597YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002598#line 122 "asn1p_l.l"
2599/* Eat */
Lev Walkin2535a692005-07-02 21:42:40 +00002600 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002601
Lev Walkin2535a692005-07-02 21:42:40 +00002602case 12:
Lev Walkinf15320b2004-06-03 03:38:44 +00002603YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002604#line 125 "asn1p_l.l"
2605yy_push_state(cpp_comment);
Lev Walkin4696c742005-08-22 12:23:54 +00002606 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002607
Lev Walkin4696c742005-08-22 12:23:54 +00002608case 13:
Lev Walkinbe518fa2017-09-07 02:05:28 -07002609/* rule 13 can match eol */
Lev Walkin4696c742005-08-22 12:23:54 +00002610YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002611#line 127 "asn1p_l.l"
2612/* Eat */
Lev Walkin752e9732017-08-04 02:06:22 -07002613 YY_BREAK
2614case 14:
2615YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002616#line 128 "asn1p_l.l"
2617yy_pop_state();
2618 YY_BREAK
2619case 15:
2620YY_RULE_SETUP
2621#line 129 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002622/* Eat */
2623 YY_BREAK
2624
2625/*
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.
2630 */
2631
Lev Walkinbe518fa2017-09-07 02:05:28 -07002632case 16:
Lev Walkinf15320b2004-06-03 03:38:44 +00002633YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002634#line 141 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002635{
2636 yy_push_state(opaque);
Lev Walkin03892812010-11-03 09:33:03 -07002637 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2638 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002639 return TOK_opaque;
2640 }
2641 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002642case 17:
Lev Walkinf15320b2004-06-03 03:38:44 +00002643YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002644#line 148 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002645{
2646 yy_pop_state();
Lev Walkin03892812010-11-03 09:33:03 -07002647 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2648 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002649 return TOK_opaque;
2650 }
2651 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002652case 18:
2653/* rule 18 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002654YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002655#line 155 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002656{
Lev Walkin03892812010-11-03 09:33:03 -07002657 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2658 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002659 return TOK_opaque;
2660 }
2661 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002662case 19:
Lev Walkinf15320b2004-06-03 03:38:44 +00002663YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002664#line 161 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002665{
2666 fprintf(stderr,
Lev Walkinbf979152017-09-07 23:36:11 -07002667 "ASN.1 Parser synchronization failure: "
Lev Walkinf15320b2004-06-03 03:38:44 +00002668 "\"%s\" at line %d must not appear "
2669 "inside value definition\n",
Lev Walkin03892812010-11-03 09:33:03 -07002670 asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002671 return -1;
2672 }
2673 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002674case 20:
Lev Walkinf15320b2004-06-03 03:38:44 +00002675YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002676#line 170 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002677{
Lev Walkin03892812010-11-03 09:33:03 -07002678 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2679 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002680 return TOK_opaque;
2681 }
2682 YY_BREAK
2683
Lev Walkinbe518fa2017-09-07 02:05:28 -07002684case 21:
2685/* rule 21 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002686YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002687#line 178 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002688{
2689 asn1p_lval.tv_opaque.buf = 0;
2690 asn1p_lval.tv_opaque.len = 0;
Lev Walkin03892812010-11-03 09:33:03 -07002691 QAPPEND(asn1p_text+1, asn1p_leng-1);
Lev Walkinf15320b2004-06-03 03:38:44 +00002692 yy_push_state(quoted);
2693 }
2694 YY_BREAK
2695
Lev Walkinbe518fa2017-09-07 02:05:28 -07002696case 22:
Lev Walkinf15320b2004-06-03 03:38:44 +00002697YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002698#line 186 "asn1p_l.l"
Lev Walkin03892812010-11-03 09:33:03 -07002699{ QAPPEND(asn1p_text, asn1p_leng-1); } /* Add a single quote */
Lev Walkinf15320b2004-06-03 03:38:44 +00002700 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002701case 23:
2702/* rule 23 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002703YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002704#line 187 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002705{ QAPPEND(asn1p_text, asn1p_leng); }
2706 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002707case 24:
Lev Walkin752e9732017-08-04 02:06:22 -07002708YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002709#line 189 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002710{
2711 yy_pop_state();
2712 /* Do not append last quote:
Lev Walkin03892812010-11-03 09:33:03 -07002713 // QAPPEND(asn1p_text, asn1p_leng); */
Lev Walkinf15320b2004-06-03 03:38:44 +00002714
2715 if(asn1p_lexer_pedantic_1990
Lev Walkin03892812010-11-03 09:33:03 -07002716 && strchr(asn1p_text, '\n')) {
Lev Walkinf15320b2004-06-03 03:38:44 +00002717 fprintf(stderr, "%s: "
2718 "Newlines are prohibited by ASN.1:1990\n",
2719 asn1p_lval.tv_opaque.buf);
2720 return -1;
2721 }
2722
2723 return TOK_cstring;
2724 }
2725 YY_BREAK
2726
Lev Walkinf59d0752004-08-18 04:59:12 +00002727
Lev Walkinbe518fa2017-09-07 02:05:28 -07002728case 25:
Lev Walkinf15320b2004-06-03 03:38:44 +00002729YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002730#line 208 "asn1p_l.l"
Lev Walkinf59d0752004-08-18 04:59:12 +00002731{
2732 const char *s = "ENCODING-CONTROL";
2733 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2734 for(; p >= s; p--) unput(*p);
2735 yy_pop_state();
2736 }
2737 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002738case 26:
2739YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002740#line 214 "asn1p_l.l"
2741unput('D'); unput('N'); unput('E'); yy_pop_state();
Lev Walkin2535a692005-07-02 21:42:40 +00002742 YY_BREAK
2743case 27:
2744YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002745#line 215 "asn1p_l.l"
Lev Walkin4696c742005-08-22 12:23:54 +00002746
2747 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002748case 28:
2749YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002750#line 216 "asn1p_l.l"
2751
Lev Walkin752e9732017-08-04 02:06:22 -07002752 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002753case 29:
2754YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002755#line 217 "asn1p_l.l"
2756/* Eat everything else */
Lev Walkin752e9732017-08-04 02:06:22 -07002757 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002758case 30:
2759/* rule 30 can match eol */
2760YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002761#line 218 "asn1p_l.l"
2762
2763 YY_BREAK
2764
2765case 31:
2766/* rule 31 can match eol */
2767YY_RULE_SETUP
2768#line 221 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002769{
2770 /* " \t\r\n" weren't allowed in ASN.1:1990. */
Bi-Ruei, Chiu80fd3062017-05-07 21:00:51 +08002771 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002772 return TOK_hstring;
2773 }
2774 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002775case 32:
2776/* rule 32 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002777YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002778#line 227 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002779{
2780 /* " \t\r\n" weren't allowed in ASN.1:1990. */
Lev Walkin03892812010-11-03 09:33:03 -07002781 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002782 return TOK_bstring;
2783 }
2784 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07002785case 33:
Lev Walkinf15320b2004-06-03 03:38:44 +00002786YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002787#line 234 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002788{
Lev Walkin03892812010-11-03 09:33:03 -07002789 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002790 if(errno == ERANGE)
2791 return -1;
2792 return TOK_number_negative;
2793 }
2794 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002795case 34:
Lev Walkinf15320b2004-06-03 03:38:44 +00002796YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002797#line 241 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002798{
2799 asn1p_lval.a_int = _lex_atoi(asn1p_text);
2800 if(errno == ERANGE)
2801 return -1;
2802 return TOK_number;
2803 }
2804 YY_BREAK
2805case 35:
2806YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002807#line 248 "asn1p_l.l"
2808{
2809 asn1p_lval.a_int = _lex_atoi(asn1p_text);
2810 if(errno == ERANGE)
2811 return -1;
2812 return TOK_number;
2813 }
2814 YY_BREAK
2815case 36:
2816YY_RULE_SETUP
2817#line 255 "asn1p_l.l"
Lev Walkinadf863f2006-09-05 16:18:34 +00002818{
Lev Walkin03892812010-11-03 09:33:03 -07002819 asn1p_lval.a_dbl = _lex_atod(asn1p_text);
Lev Walkinadf863f2006-09-05 16:18:34 +00002820 if(errno == ERANGE)
2821 return -1;
2822 return TOK_realnumber;
2823 }
Lev Walkinf15320b2004-06-03 03:38:44 +00002824 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00002825case 37:
2826YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002827#line 262 "asn1p_l.l"
2828return TOK_ABSENT;
Lev Walkin752e9732017-08-04 02:06:22 -07002829 YY_BREAK
2830case 38:
2831YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002832#line 263 "asn1p_l.l"
2833return TOK_ALL;
2834 YY_BREAK
2835case 39:
2836YY_RULE_SETUP
2837#line 264 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002838{
2839 /* Appeared in 1990, removed in 1997 */
2840 if(TYPE_LIFETIME(1990, 1997))
2841 return TOK_ANY;
2842 fprintf(stderr, "Keyword \"%s\" at line %d "
Lev Walkin03892812010-11-03 09:33:03 -07002843 "is obsolete\n", asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002844 REJECT;
2845 }
2846 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002847case 40:
2848YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002849#line 272 "asn1p_l.l"
2850return TOK_APPLICATION;
Lev Walkin4696c742005-08-22 12:23:54 +00002851 YY_BREAK
2852case 41:
2853YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002854#line 273 "asn1p_l.l"
2855return TOK_AUTOMATIC;
Lev Walkinadf863f2006-09-05 16:18:34 +00002856 YY_BREAK
2857case 42:
2858YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002859#line 274 "asn1p_l.l"
2860{
2861 if(asn1p_lexer_extended_values) {
2862 yy_push_state(extended_values);
2863 }
2864 return TOK_BEGIN;
2865 }
Lev Walkin752e9732017-08-04 02:06:22 -07002866 YY_BREAK
2867case 43:
2868YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002869#line 280 "asn1p_l.l"
2870return TOK_BIT;
2871 YY_BREAK
2872case 44:
2873YY_RULE_SETUP
2874#line 281 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002875{
2876 if(TYPE_LIFETIME(1994, 0))
2877 return TOK_BMPString;
2878 REJECT;
2879 }
2880 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002881case 45:
2882YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002883#line 286 "asn1p_l.l"
2884return TOK_BOOLEAN;
Lev Walkinf59d0752004-08-18 04:59:12 +00002885 YY_BREAK
2886case 46:
2887YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002888#line 287 "asn1p_l.l"
2889return TOK_BY;
Lev Walkinf59d0752004-08-18 04:59:12 +00002890 YY_BREAK
2891case 47:
2892YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002893#line 288 "asn1p_l.l"
2894return TOK_CHARACTER;
Lev Walkinf59d0752004-08-18 04:59:12 +00002895 YY_BREAK
2896case 48:
2897YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002898#line 289 "asn1p_l.l"
2899return TOK_CHOICE;
Lev Walkin2535a692005-07-02 21:42:40 +00002900 YY_BREAK
2901case 49:
2902YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002903#line 290 "asn1p_l.l"
2904return TOK_CLASS;
Lev Walkin2535a692005-07-02 21:42:40 +00002905 YY_BREAK
2906case 50:
2907YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002908#line 291 "asn1p_l.l"
2909return TOK_COMPONENT;
Lev Walkin2535a692005-07-02 21:42:40 +00002910 YY_BREAK
2911case 51:
2912YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002913#line 292 "asn1p_l.l"
2914return TOK_COMPONENTS;
Lev Walkin4696c742005-08-22 12:23:54 +00002915 YY_BREAK
2916case 52:
2917YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002918#line 293 "asn1p_l.l"
2919return TOK_CONSTRAINED;
Lev Walkinadf863f2006-09-05 16:18:34 +00002920 YY_BREAK
2921case 53:
2922YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002923#line 294 "asn1p_l.l"
2924return TOK_CONTAINING;
Lev Walkin752e9732017-08-04 02:06:22 -07002925 YY_BREAK
2926case 54:
2927YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002928#line 295 "asn1p_l.l"
2929return TOK_DEFAULT;
2930 YY_BREAK
2931case 55:
2932YY_RULE_SETUP
2933#line 296 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002934{
2935 /* Appeared in 1990, removed in 1997 */
2936 if(TYPE_LIFETIME(1990, 1997))
2937 return TOK_DEFINED;
2938 fprintf(stderr, "Keyword \"%s\" at line %d "
Lev Walkin03892812010-11-03 09:33:03 -07002939 "is obsolete\n", asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002940 /* Deprecated since */
2941 REJECT;
2942 }
2943 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002944case 56:
2945YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002946#line 305 "asn1p_l.l"
2947return TOK_DEFINITIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002948 YY_BREAK
2949case 57:
2950YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002951#line 306 "asn1p_l.l"
2952return TOK_EMBEDDED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002953 YY_BREAK
2954case 58:
2955YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002956#line 307 "asn1p_l.l"
2957return TOK_ENCODED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002958 YY_BREAK
2959case 59:
2960YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002961#line 308 "asn1p_l.l"
2962return TOK_ENCODING_CONTROL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002963 YY_BREAK
2964case 60:
2965YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002966#line 309 "asn1p_l.l"
2967{
2968 if(YYSTATE == extended_values) {
2969 yy_pop_state();
2970 }
2971 return TOK_END;
2972 }
Lev Walkinf15320b2004-06-03 03:38:44 +00002973 YY_BREAK
2974case 61:
2975YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002976#line 315 "asn1p_l.l"
2977return TOK_ENUMERATED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002978 YY_BREAK
2979case 62:
2980YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002981#line 316 "asn1p_l.l"
2982return TOK_EXCEPT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002983 YY_BREAK
2984case 63:
2985YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002986#line 317 "asn1p_l.l"
2987return TOK_EXPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002988 YY_BREAK
2989case 64:
2990YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002991#line 318 "asn1p_l.l"
2992return TOK_EXPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002993 YY_BREAK
2994case 65:
2995YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07002996#line 319 "asn1p_l.l"
2997return TOK_EXTENSIBILITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002998 YY_BREAK
2999case 66:
3000YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003001#line 320 "asn1p_l.l"
3002return TOK_EXTERNAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003003 YY_BREAK
3004case 67:
3005YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003006#line 321 "asn1p_l.l"
3007return TOK_FALSE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003008 YY_BREAK
3009case 68:
3010YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003011#line 322 "asn1p_l.l"
3012return TOK_FROM;
Lev Walkinf15320b2004-06-03 03:38:44 +00003013 YY_BREAK
3014case 69:
3015YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003016#line 323 "asn1p_l.l"
3017return TOK_GeneralizedTime;
Lev Walkinf15320b2004-06-03 03:38:44 +00003018 YY_BREAK
3019case 70:
3020YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003021#line 324 "asn1p_l.l"
3022return TOK_GeneralString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003023 YY_BREAK
3024case 71:
3025YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003026#line 325 "asn1p_l.l"
3027return TOK_GraphicString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003028 YY_BREAK
3029case 72:
3030YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003031#line 326 "asn1p_l.l"
3032return TOK_IA5String;
Lev Walkinf15320b2004-06-03 03:38:44 +00003033 YY_BREAK
3034case 73:
3035YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003036#line 327 "asn1p_l.l"
3037return TOK_IDENTIFIER;
Lev Walkinf15320b2004-06-03 03:38:44 +00003038 YY_BREAK
3039case 74:
3040YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003041#line 328 "asn1p_l.l"
3042return TOK_IMPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003043 YY_BREAK
3044case 75:
3045YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003046#line 329 "asn1p_l.l"
3047return TOK_IMPLIED;
Lev Walkinf15320b2004-06-03 03:38:44 +00003048 YY_BREAK
3049case 76:
3050YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003051#line 330 "asn1p_l.l"
3052return TOK_IMPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00003053 YY_BREAK
3054case 77:
3055YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003056#line 331 "asn1p_l.l"
3057return TOK_INCLUDES;
Lev Walkinf15320b2004-06-03 03:38:44 +00003058 YY_BREAK
3059case 78:
3060YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003061#line 332 "asn1p_l.l"
3062return TOK_INSTANCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003063 YY_BREAK
3064case 79:
3065YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003066#line 333 "asn1p_l.l"
3067return TOK_INSTRUCTIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00003068 YY_BREAK
3069case 80:
3070YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003071#line 334 "asn1p_l.l"
3072return TOK_INTEGER;
Lev Walkinf15320b2004-06-03 03:38:44 +00003073 YY_BREAK
3074case 81:
3075YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003076#line 335 "asn1p_l.l"
3077return TOK_INTERSECTION;
Lev Walkinf15320b2004-06-03 03:38:44 +00003078 YY_BREAK
3079case 82:
3080YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003081#line 336 "asn1p_l.l"
3082return TOK_ISO646String;
Lev Walkinf15320b2004-06-03 03:38:44 +00003083 YY_BREAK
3084case 83:
3085YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003086#line 337 "asn1p_l.l"
3087return TOK_MAX;
Lev Walkinf15320b2004-06-03 03:38:44 +00003088 YY_BREAK
3089case 84:
3090YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003091#line 338 "asn1p_l.l"
3092return TOK_MIN;
Lev Walkinf15320b2004-06-03 03:38:44 +00003093 YY_BREAK
3094case 85:
3095YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003096#line 339 "asn1p_l.l"
3097return TOK_MINUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00003098 YY_BREAK
3099case 86:
3100YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003101#line 340 "asn1p_l.l"
3102return TOK_NULL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003103 YY_BREAK
3104case 87:
3105YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003106#line 341 "asn1p_l.l"
3107return TOK_NumericString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003108 YY_BREAK
3109case 88:
3110YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003111#line 342 "asn1p_l.l"
3112return TOK_OBJECT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003113 YY_BREAK
3114case 89:
3115YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003116#line 343 "asn1p_l.l"
3117return TOK_ObjectDescriptor;
Lev Walkinf15320b2004-06-03 03:38:44 +00003118 YY_BREAK
3119case 90:
3120YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003121#line 344 "asn1p_l.l"
3122return TOK_OCTET;
Lev Walkinf15320b2004-06-03 03:38:44 +00003123 YY_BREAK
3124case 91:
3125YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003126#line 345 "asn1p_l.l"
3127return TOK_OF;
Lev Walkinf15320b2004-06-03 03:38:44 +00003128 YY_BREAK
3129case 92:
3130YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003131#line 346 "asn1p_l.l"
3132return TOK_OPTIONAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003133 YY_BREAK
3134case 93:
3135YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003136#line 347 "asn1p_l.l"
3137return TOK_PATTERN;
Lev Walkinf15320b2004-06-03 03:38:44 +00003138 YY_BREAK
3139case 94:
3140YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003141#line 348 "asn1p_l.l"
3142return TOK_PDV;
Lev Walkinf15320b2004-06-03 03:38:44 +00003143 YY_BREAK
3144case 95:
3145YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003146#line 349 "asn1p_l.l"
3147return TOK_PLUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00003148 YY_BREAK
3149case 96:
3150YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003151#line 350 "asn1p_l.l"
3152return TOK_PRESENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003153 YY_BREAK
3154case 97:
3155YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003156#line 351 "asn1p_l.l"
3157return TOK_PrintableString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003158 YY_BREAK
3159case 98:
3160YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003161#line 352 "asn1p_l.l"
3162return TOK_PRIVATE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003163 YY_BREAK
3164case 99:
3165YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003166#line 353 "asn1p_l.l"
3167return TOK_REAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003168 YY_BREAK
3169case 100:
3170YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003171#line 354 "asn1p_l.l"
3172return TOK_RELATIVE_OID;
Lev Walkinf15320b2004-06-03 03:38:44 +00003173 YY_BREAK
3174case 101:
3175YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003176#line 355 "asn1p_l.l"
3177return TOK_SEQUENCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003178 YY_BREAK
3179case 102:
3180YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003181#line 356 "asn1p_l.l"
3182return TOK_SET;
Lev Walkinf59d0752004-08-18 04:59:12 +00003183 YY_BREAK
3184case 103:
3185YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003186#line 357 "asn1p_l.l"
3187return TOK_SIZE;
Lev Walkinf59d0752004-08-18 04:59:12 +00003188 YY_BREAK
3189case 104:
3190YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003191#line 358 "asn1p_l.l"
3192return TOK_STRING;
Lev Walkinf59d0752004-08-18 04:59:12 +00003193 YY_BREAK
3194case 105:
3195YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003196#line 359 "asn1p_l.l"
3197return TOK_SYNTAX;
Lev Walkinf59d0752004-08-18 04:59:12 +00003198 YY_BREAK
3199case 106:
3200YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003201#line 360 "asn1p_l.l"
3202return TOK_T61String;
Lev Walkinf59d0752004-08-18 04:59:12 +00003203 YY_BREAK
3204case 107:
3205YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003206#line 361 "asn1p_l.l"
3207return TOK_TAGS;
Lev Walkin2535a692005-07-02 21:42:40 +00003208 YY_BREAK
3209case 108:
3210YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003211#line 362 "asn1p_l.l"
3212return TOK_TeletexString;
Lev Walkin2535a692005-07-02 21:42:40 +00003213 YY_BREAK
3214case 109:
3215YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003216#line 363 "asn1p_l.l"
3217return TOK_TRUE;
Lev Walkin2535a692005-07-02 21:42:40 +00003218 YY_BREAK
3219case 110:
3220YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003221#line 364 "asn1p_l.l"
3222return TOK_UNION;
Lev Walkinadf863f2006-09-05 16:18:34 +00003223 YY_BREAK
3224case 111:
3225YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003226#line 365 "asn1p_l.l"
3227return TOK_UNIQUE;
Lev Walkin752e9732017-08-04 02:06:22 -07003228 YY_BREAK
3229case 112:
3230YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003231#line 366 "asn1p_l.l"
3232return TOK_UNIVERSAL;
3233 YY_BREAK
3234case 113:
3235YY_RULE_SETUP
3236#line 367 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003237{
3238 if(TYPE_LIFETIME(1994, 0))
3239 return TOK_UniversalString;
3240 REJECT;
3241 }
3242 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07003243case 114:
3244YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003245#line 372 "asn1p_l.l"
3246return TOK_UTCTime;
3247 YY_BREAK
3248case 115:
3249YY_RULE_SETUP
3250#line 373 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003251{
3252 if(TYPE_LIFETIME(1994, 0))
3253 return TOK_UTF8String;
3254 REJECT;
3255 }
3256 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00003257case 116:
3258YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003259#line 378 "asn1p_l.l"
3260return TOK_VideotexString;
Lev Walkinadf863f2006-09-05 16:18:34 +00003261 YY_BREAK
3262case 117:
3263YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003264#line 379 "asn1p_l.l"
3265return TOK_VisibleString;
Lev Walkin752e9732017-08-04 02:06:22 -07003266 YY_BREAK
3267case 118:
3268YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003269#line 380 "asn1p_l.l"
3270return TOK_WITH;
3271 YY_BREAK
3272case 119:
3273YY_RULE_SETUP
3274#line 383 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003275{
Lev Walkin03892812010-11-03 09:33:03 -07003276 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003277 return TOK_typefieldreference;
3278 }
3279 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07003280case 120:
Lev Walkinf15320b2004-06-03 03:38:44 +00003281YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003282#line 388 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003283{
Lev Walkin03892812010-11-03 09:33:03 -07003284 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003285 return TOK_valuefieldreference;
3286 }
3287 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07003288case 121:
Lev Walkinf15320b2004-06-03 03:38:44 +00003289YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003290#line 394 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003291{
Lev Walkin03892812010-11-03 09:33:03 -07003292 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003293 return TOK_identifier;
3294 }
3295 YY_BREAK
3296/*
3297 * objectclassreference
3298 */
Lev Walkinbe518fa2017-09-07 02:05:28 -07003299case 122:
Lev Walkinf15320b2004-06-03 03:38:44 +00003300YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003301#line 402 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003302{
Lev Walkin03892812010-11-03 09:33:03 -07003303 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf59d0752004-08-18 04:59:12 +00003304 return TOK_capitalreference;
Lev Walkinf15320b2004-06-03 03:38:44 +00003305 }
3306 YY_BREAK
3307/*
3308 * typereference, modulereference
3309 * NOTE: TOK_objectclassreference must be combined
3310 * with this token to produce true typereference.
3311 */
Lev Walkinbe518fa2017-09-07 02:05:28 -07003312case 123:
Lev Walkinf15320b2004-06-03 03:38:44 +00003313YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003314#line 412 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003315{
Lev Walkin03892812010-11-03 09:33:03 -07003316 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003317 return TOK_typereference;
3318 }
3319 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003320case 124:
3321YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003322#line 417 "asn1p_l.l"
3323return TOK_PPEQ;
Lev Walkin752e9732017-08-04 02:06:22 -07003324 YY_BREAK
3325case 125:
3326YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003327#line 419 "asn1p_l.l"
3328return TOK_ThreeDots;
3329 YY_BREAK
3330case 126:
3331YY_RULE_SETUP
3332#line 420 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00003333return TOK_TwoDots;
3334 YY_BREAK
3335
Lev Walkin9d542d22006-03-14 16:31:37 +00003336case 127:
3337YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003338#line 424 "asn1p_l.l"
Lev Walkinadf863f2006-09-05 16:18:34 +00003339{
Lev Walkin03892812010-11-03 09:33:03 -07003340 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinadf863f2006-09-05 16:18:34 +00003341 return TOK_Literal;
3342 }
Lev Walkin9d542d22006-03-14 16:31:37 +00003343 YY_BREAK
3344case 128:
3345YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003346#line 429 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07003347{
Lev Walkin752e9732017-08-04 02:06:22 -07003348 asn1p_lval.tv_str = strdup(asn1p_text);
3349 return TOK_Literal;
3350 }
Lev Walkin9d542d22006-03-14 16:31:37 +00003351 YY_BREAK
3352case 129:
3353YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003354#line 434 "asn1p_l.l"
3355{
3356 yy_push_state(with_syntax);
3357 asn1p_lval.tv_str = strdup(asn1p_text);
3358 return TOK_Literal;
3359 }
Lev Walkinadf863f2006-09-05 16:18:34 +00003360 YY_BREAK
3361case 130:
3362YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003363#line 440 "asn1p_l.l"
3364return '[';
Lev Walkin752e9732017-08-04 02:06:22 -07003365 YY_BREAK
3366case 131:
Lev Walkin752e9732017-08-04 02:06:22 -07003367YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003368#line 441 "asn1p_l.l"
3369return ']';
3370 YY_BREAK
3371case 132:
3372/* rule 132 can match eol */
3373YY_RULE_SETUP
3374#line 443 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00003375{
Lev Walkin03892812010-11-03 09:33:03 -07003376 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
3377 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkin57074f12006-03-16 05:11:14 +00003378 return TOK_whitespace;
Lev Walkinef625402005-09-05 05:17:57 +00003379 }
Lev Walkin4696c742005-08-22 12:23:54 +00003380 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07003381case 133:
Lev Walkin4696c742005-08-22 12:23:54 +00003382YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003383#line 449 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003384{
3385 yy_pop_state();
Lev Walkin9d542d22006-03-14 16:31:37 +00003386 if(YYSTATE == with_syntax) {
Lev Walkin03892812010-11-03 09:33:03 -07003387 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003388 return TOK_Literal;
3389 } else {
3390 return '}';
3391 }
Lev Walkind9574ae2005-03-24 16:22:35 +00003392 }
3393 YY_BREAK
3394
Lev Walkin752e9732017-08-04 02:06:22 -07003395case 134:
3396/* rule 134 can match eol */
3397YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003398#line 462 "asn1p_l.l"
3399/* Ignore whitespace */
3400 YY_BREAK
3401case 135:
3402/* rule 135 can match eol */
3403YY_RULE_SETUP
3404#line 465 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003405{
3406 asn1c_integer_t v1 = -1, v2 = -1;
3407 char *p;
Lev Walkin03892812010-11-03 09:33:03 -07003408 for(p = asn1p_text; *p; p++)
Lev Walkind9574ae2005-03-24 16:22:35 +00003409 if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003410 { v1 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003411 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3412 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003413 { v2 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003414 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",
Lev Walkin03892812010-11-03 09:33:03 -07003417 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003418 return -1;
3419 }
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",
Lev Walkin03892812010-11-03 09:33:03 -07003423 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003424 return -1;
3425 }
3426 asn1p_lval.a_int = (v1 << 4) + v2;
3427 return TOK_tuple;
3428 }
3429 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07003430case 136:
3431/* rule 136 can match eol */
Lev Walkind9574ae2005-03-24 16:22:35 +00003432YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003433#line 490 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003434{
3435 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
3436 char *p;
Lev Walkin03892812010-11-03 09:33:03 -07003437 for(p = asn1p_text; *p; p++)
Lev Walkind9574ae2005-03-24 16:22:35 +00003438 if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003439 { v1 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003440 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3441 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003442 { v2 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003443 while(*p >= '0' && *p <= '9') p++;
3444 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003445 { v3 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003446 while(*p >= '0' && *p <= '9') p++;
3447 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003448 { v4 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003449 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",
Lev Walkin03892812010-11-03 09:33:03 -07003452 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003453 return -1;
3454 }
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",
Lev Walkin03892812010-11-03 09:33:03 -07003458 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003459 return -1;
3460 }
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",
Lev Walkin03892812010-11-03 09:33:03 -07003464 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003465 return -1;
3466 }
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",
Lev Walkin03892812010-11-03 09:33:03 -07003470 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003471 return -1;
3472 }
3473 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3474 return TOK_quadruple;
3475 }
3476 YY_BREAK
Lev Walkin0e90aa02013-03-19 16:17:13 -07003477case 137:
3478YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003479#line 534 "asn1p_l.l"
3480return TOK_VBracketLeft;
Lev Walkin0e90aa02013-03-19 16:17:13 -07003481 YY_BREAK
3482case 138:
Lev Walkin0e90aa02013-03-19 16:17:13 -07003483YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003484#line 535 "asn1p_l.l"
3485return TOK_VBracketRight;
Lev Walkin752e9732017-08-04 02:06:22 -07003486 YY_BREAK
3487case 139:
Lev Walkin752e9732017-08-04 02:06:22 -07003488YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003489#line 537 "asn1p_l.l"
3490return asn1p_text[0];
3491 YY_BREAK
3492case 140:
3493/* rule 140 can match eol */
3494YY_RULE_SETUP
3495#line 539 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003496{
3497 if(TYPE_LIFETIME(1994, 0))
3498 fprintf(stderr, "ERROR: ");
3499 fprintf(stderr,
3500 "Symbol '%c' at line %d is prohibited "
3501 "by ASN.1:1994 and ASN.1:1997\n",
Lev Walkin03892812010-11-03 09:33:03 -07003502 asn1p_text[0], asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00003503 if(TYPE_LIFETIME(1994, 0))
3504 return -1;
3505 }
3506 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07003507case 141:
Lev Walkinc603f102005-01-23 09:51:44 +00003508YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003509#line 550 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003510{
3511 fprintf(stderr,
3512 "Unexpected token at line %d: \"%s\"\n",
Lev Walkin03892812010-11-03 09:33:03 -07003513 asn1p_lineno, asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003514 while(YYSTATE != INITIAL)
3515 yy_pop_state();
Lev Walkin9c974182004-09-15 11:59:51 +00003516 if(0) {
3517 yy_top_state(); /* Just to use this function. */
3518 yy_fatal_error("Parse error");
3519 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003520 return -1;
3521}
3522 YY_BREAK
3523case YY_STATE_EOF(INITIAL):
3524case YY_STATE_EOF(dash_comment):
Lev Walkin2535a692005-07-02 21:42:40 +00003525case YY_STATE_EOF(idash_comment):
Lev Walkinf15320b2004-06-03 03:38:44 +00003526case YY_STATE_EOF(cpp_comment):
3527case YY_STATE_EOF(quoted):
3528case YY_STATE_EOF(opaque):
Lev Walkinf59d0752004-08-18 04:59:12 +00003529case YY_STATE_EOF(encoding_control):
Lev Walkinf15320b2004-06-03 03:38:44 +00003530case YY_STATE_EOF(with_syntax):
Lev Walkinbe518fa2017-09-07 02:05:28 -07003531case YY_STATE_EOF(extended_values):
3532#line 563 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003533{
3534 while(YYSTATE != INITIAL)
3535 yy_pop_state();
3536 yyterminate();
3537 }
3538 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07003539case 142:
Lev Walkinf15320b2004-06-03 03:38:44 +00003540YY_RULE_SETUP
Lev Walkinbe518fa2017-09-07 02:05:28 -07003541#line 570 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003542YY_FATAL_ERROR( "flex scanner jammed" );
3543 YY_BREAK
Lev Walkinbe518fa2017-09-07 02:05:28 -07003544#line 3545 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00003545
3546 case YY_END_OF_BUFFER:
3547 {
3548 /* Amount of text matched not including the EOB char. */
Lev Walkin03892812010-11-03 09:33:03 -07003549 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003550
3551 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Lev Walkin03892812010-11-03 09:33:03 -07003552 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003553 YY_RESTORE_YY_MORE_OFFSET
3554
Lev Walkin03892812010-11-03 09:33:03 -07003555 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
Lev Walkinf15320b2004-06-03 03:38:44 +00003556 {
3557 /* We're scanning a new file or input source. It's
3558 * possible that this happened because the user
Lev Walkin03892812010-11-03 09:33:03 -07003559 * 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
Lev Walkinf15320b2004-06-03 03:38:44 +00003562 * 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.
3565 */
Lev Walkin03892812010-11-03 09:33:03 -07003566 (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;
Lev Walkinf15320b2004-06-03 03:38:44 +00003569 }
3570
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
3576 * in input().
3577 */
Lev Walkin03892812010-11-03 09:33:03 -07003578 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003579 { /* This was really a NUL. */
3580 yy_state_type yy_next_state;
3581
Lev Walkin03892812010-11-03 09:33:03 -07003582 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00003583
Lev Walkin03892812010-11-03 09:33:03 -07003584 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003585
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).
3593 */
3594
3595 yy_next_state = yy_try_NUL_trans( yy_current_state );
3596
Lev Walkin03892812010-11-03 09:33:03 -07003597 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003598
3599 if ( yy_next_state )
3600 {
3601 /* Consume the NUL. */
Lev Walkin03892812010-11-03 09:33:03 -07003602 yy_cp = ++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003603 yy_current_state = yy_next_state;
3604 goto yy_match;
3605 }
3606
3607 else
3608 {
Lev Walkin03892812010-11-03 09:33:03 -07003609/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
3610 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003611 goto yy_find_action;
3612 }
3613 }
3614
Lev Walkin03892812010-11-03 09:33:03 -07003615 else switch ( yy_get_next_buffer( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003616 {
3617 case EOB_ACT_END_OF_FILE:
3618 {
Lev Walkin03892812010-11-03 09:33:03 -07003619 (yy_did_buffer_switch_on_eof) = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003620
Lev Walkin03892812010-11-03 09:33:03 -07003621 if ( asn1p_wrap( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003622 {
3623 /* Note: because we've taken care in
3624 * yy_get_next_buffer() to have set up
Lev Walkin03892812010-11-03 09:33:03 -07003625 * asn1p_text, we can now set up
Lev Walkinf15320b2004-06-03 03:38:44 +00003626 * 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.
3631 */
Lev Walkin03892812010-11-03 09:33:03 -07003632 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003633
3634 yy_act = YY_STATE_EOF(YY_START);
3635 goto do_action;
3636 }
3637
3638 else
3639 {
Lev Walkin03892812010-11-03 09:33:03 -07003640 if ( ! (yy_did_buffer_switch_on_eof) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003641 YY_NEW_FILE;
3642 }
3643 break;
3644 }
3645
3646 case EOB_ACT_CONTINUE_SCAN:
Lev Walkin03892812010-11-03 09:33:03 -07003647 (yy_c_buf_p) =
3648 (yytext_ptr) + yy_amount_of_matched_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00003649
Lev Walkin03892812010-11-03 09:33:03 -07003650 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003651
Lev Walkin03892812010-11-03 09:33:03 -07003652 yy_cp = (yy_c_buf_p);
3653 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003654 goto yy_match;
3655
3656 case EOB_ACT_LAST_MATCH:
Lev Walkin03892812010-11-03 09:33:03 -07003657 (yy_c_buf_p) =
3658 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
Lev Walkinf15320b2004-06-03 03:38:44 +00003659
Lev Walkin03892812010-11-03 09:33:03 -07003660 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003661
Lev Walkin03892812010-11-03 09:33:03 -07003662 yy_cp = (yy_c_buf_p);
3663 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003664 goto yy_find_action;
3665 }
3666 break;
3667 }
3668
3669 default:
3670 YY_FATAL_ERROR(
3671 "fatal flex scanner internal error--no action found" );
3672 } /* end of action switch */
3673 } /* end of scanning one token */
Lev Walkin03892812010-11-03 09:33:03 -07003674} /* end of asn1p_lex */
3675/* %ok-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +00003676
Lev Walkin03892812010-11-03 09:33:03 -07003677/* %if-c++-only */
3678/* %not-for-header */
3679
3680/* %ok-for-header */
3681
3682/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00003683
3684/* yy_get_next_buffer - try to read in a new buffer
3685 *
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
3690 */
Lev Walkin03892812010-11-03 09:33:03 -07003691/* %if-c-only */
3692static int yy_get_next_buffer (void)
3693/* %endif */
3694/* %if-c++-only */
3695/* %endif */
3696{
3697 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3698 register char *source = (yytext_ptr);
Lev Walkinf15320b2004-06-03 03:38:44 +00003699 register int number_to_move, i;
3700 int ret_val;
3701
Lev Walkin03892812010-11-03 09:33:03 -07003702 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003703 YY_FATAL_ERROR(
3704 "fatal flex scanner internal error--end of buffer missed" );
3705
Lev Walkin03892812010-11-03 09:33:03 -07003706 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003707 { /* Don't try to fill the buffer, so this is an EOF. */
Lev Walkin03892812010-11-03 09:33:03 -07003708 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003709 {
3710 /* We matched a single character, the EOB, so
3711 * treat this as a final EOF.
3712 */
3713 return EOB_ACT_END_OF_FILE;
3714 }
3715
3716 else
3717 {
3718 /* We matched some text prior to the EOB, first
3719 * process it.
3720 */
3721 return EOB_ACT_LAST_MATCH;
3722 }
3723 }
3724
3725 /* Try to read more data. */
3726
3727 /* First move last chars to start of buffer. */
Lev Walkin03892812010-11-03 09:33:03 -07003728 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003729
3730 for ( i = 0; i < number_to_move; ++i )
3731 *(dest++) = *(source++);
3732
Lev Walkin03892812010-11-03 09:33:03 -07003733 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Lev Walkinf15320b2004-06-03 03:38:44 +00003734 /* don't do the read, it's not guaranteed to return an EOF,
3735 * just force an EOF
3736 */
Lev Walkin03892812010-11-03 09:33:03 -07003737 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003738
3739 else
3740 {
Lev Walkin0e90aa02013-03-19 16:17:13 -07003741 yy_size_t num_to_read =
Lev Walkin03892812010-11-03 09:33:03 -07003742 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003743
3744 while ( num_to_read <= 0 )
3745 { /* Not enough room in the buffer - grow it. */
Lev Walkin03892812010-11-03 09:33:03 -07003746
Lev Walkinf15320b2004-06-03 03:38:44 +00003747 YY_FATAL_ERROR(
3748"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
Lev Walkinf15320b2004-06-03 03:38:44 +00003749
Lev Walkinf15320b2004-06-03 03:38:44 +00003750 }
3751
3752 if ( num_to_read > YY_READ_BUF_SIZE )
3753 num_to_read = YY_READ_BUF_SIZE;
3754
3755 /* Read in more data. */
Lev Walkin03892812010-11-03 09:33:03 -07003756 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
Lev Walkin0e90aa02013-03-19 16:17:13 -07003757 (yy_n_chars), num_to_read );
Lev Walkinf15320b2004-06-03 03:38:44 +00003758
Lev Walkin03892812010-11-03 09:33:03 -07003759 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Lev Walkinf15320b2004-06-03 03:38:44 +00003760 }
3761
Lev Walkin03892812010-11-03 09:33:03 -07003762 if ( (yy_n_chars) == 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003763 {
3764 if ( number_to_move == YY_MORE_ADJ )
3765 {
3766 ret_val = EOB_ACT_END_OF_FILE;
Lev Walkin03892812010-11-03 09:33:03 -07003767 asn1p_restart(asn1p_in );
Lev Walkinf15320b2004-06-03 03:38:44 +00003768 }
3769
3770 else
3771 {
3772 ret_val = EOB_ACT_LAST_MATCH;
Lev Walkin03892812010-11-03 09:33:03 -07003773 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
Lev Walkinf15320b2004-06-03 03:38:44 +00003774 YY_BUFFER_EOF_PENDING;
3775 }
3776 }
3777
3778 else
3779 ret_val = EOB_ACT_CONTINUE_SCAN;
3780
Lev Walkin03892812010-11-03 09:33:03 -07003781 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()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00003787 }
3788
Lev Walkin03892812010-11-03 09:33:03 -07003789 (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;
3792
3793 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3794
3795 return ret_val;
3796}
Lev Walkinf15320b2004-06-03 03:38:44 +00003797
3798/* yy_get_previous_state - get the state just before the EOB char was reached */
3799
Lev Walkin03892812010-11-03 09:33:03 -07003800/* %if-c-only */
3801/* %not-for-header */
3802
3803 static yy_state_type yy_get_previous_state (void)
3804/* %endif */
3805/* %if-c++-only */
3806/* %endif */
3807{
Lev Walkinf15320b2004-06-03 03:38:44 +00003808 register yy_state_type yy_current_state;
3809 register char *yy_cp;
Lev Walkin03892812010-11-03 09:33:03 -07003810
3811/* %% [15.0] code to get the start state into yy_current_state goes here */
3812 yy_current_state = (yy_start);
Lev Walkinf15320b2004-06-03 03:38:44 +00003813
Lev Walkin03892812010-11-03 09:33:03 -07003814 (yy_state_ptr) = (yy_state_buf);
3815 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003816
Lev Walkin03892812010-11-03 09:33:03 -07003817 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
Lev Walkinf15320b2004-06-03 03:38:44 +00003818 {
Lev Walkin03892812010-11-03 09:33:03 -07003819/* %% [16.0] code to find the next state goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003820 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 )
3822 {
3823 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinbe518fa2017-09-07 02:05:28 -07003824 if ( yy_current_state >= 769 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003825 yy_c = yy_meta[(unsigned int) yy_c];
3826 }
3827 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin03892812010-11-03 09:33:03 -07003828 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003829 }
3830
3831 return yy_current_state;
Lev Walkin03892812010-11-03 09:33:03 -07003832}
Lev Walkinf15320b2004-06-03 03:38:44 +00003833
3834/* yy_try_NUL_trans - try to make a transition on the NUL character
3835 *
3836 * synopsis
3837 * next_state = yy_try_NUL_trans( current_state );
3838 */
Lev Walkin03892812010-11-03 09:33:03 -07003839/* %if-c-only */
3840 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3841/* %endif */
3842/* %if-c++-only */
3843/* %endif */
3844{
Lev Walkinf15320b2004-06-03 03:38:44 +00003845 register int yy_is_jam;
Lev Walkin03892812010-11-03 09:33:03 -07003846 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003847
3848 register YY_CHAR yy_c = 1;
3849 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3850 {
3851 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinbe518fa2017-09-07 02:05:28 -07003852 if ( yy_current_state >= 769 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003853 yy_c = yy_meta[(unsigned int) yy_c];
3854 }
3855 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkinbe518fa2017-09-07 02:05:28 -07003856 yy_is_jam = (yy_current_state == 768);
Lev Walkinf15320b2004-06-03 03:38:44 +00003857 if ( ! yy_is_jam )
Lev Walkin03892812010-11-03 09:33:03 -07003858 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003859
3860 return yy_is_jam ? 0 : yy_current_state;
Lev Walkin03892812010-11-03 09:33:03 -07003861}
Lev Walkinf15320b2004-06-03 03:38:44 +00003862
Lev Walkin03892812010-11-03 09:33:03 -07003863/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00003864
Lev Walkin03892812010-11-03 09:33:03 -07003865 static void yyunput (int c, register char * yy_bp )
3866/* %endif */
3867/* %if-c++-only */
3868/* %endif */
3869{
3870 register char *yy_cp;
3871
3872 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003873
Lev Walkin03892812010-11-03 09:33:03 -07003874 /* undo effects of setting up asn1p_text */
3875 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003876
Lev Walkin03892812010-11-03 09:33:03 -07003877 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003878 { /* need to shift things up to make room */
3879 /* +2 for EOB chars. */
Lev Walkin0e90aa02013-03-19 16:17:13 -07003880 register yy_size_t number_to_move = (yy_n_chars) + 2;
Lev Walkin03892812010-11-03 09:33:03 -07003881 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3882 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
Lev Walkinf15320b2004-06-03 03:38:44 +00003883 register char *source =
Lev Walkin03892812010-11-03 09:33:03 -07003884 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
Lev Walkinf15320b2004-06-03 03:38:44 +00003885
Lev Walkin03892812010-11-03 09:33:03 -07003886 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
Lev Walkinf15320b2004-06-03 03:38:44 +00003887 *--dest = *--source;
3888
3889 yy_cp += (int) (dest - source);
3890 yy_bp += (int) (dest - source);
Lev Walkin03892812010-11-03 09:33:03 -07003891 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3892 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
Lev Walkinf15320b2004-06-03 03:38:44 +00003893
Lev Walkin03892812010-11-03 09:33:03 -07003894 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003895 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3896 }
3897
3898 *--yy_cp = (char) c;
3899
Lev Walkin03892812010-11-03 09:33:03 -07003900/* %% [18.0] update asn1p_lineno here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003901
Lev Walkin03892812010-11-03 09:33:03 -07003902 if ( c == '\n' ){
3903 --asn1p_lineno;
3904 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003905
Lev Walkin03892812010-11-03 09:33:03 -07003906 (yytext_ptr) = yy_bp;
3907 (yy_hold_char) = *yy_cp;
3908 (yy_c_buf_p) = yy_cp;
3909}
3910/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00003911
Lev Walkin03892812010-11-03 09:33:03 -07003912/* %endif */
3913
3914/* %if-c-only */
3915#ifndef YY_NO_INPUT
Lev Walkinf15320b2004-06-03 03:38:44 +00003916#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07003917 static int yyinput (void)
Lev Walkinf15320b2004-06-03 03:38:44 +00003918#else
Lev Walkin03892812010-11-03 09:33:03 -07003919 static int input (void)
Lev Walkinf15320b2004-06-03 03:38:44 +00003920#endif
Lev Walkin03892812010-11-03 09:33:03 -07003921
3922/* %endif */
3923/* %if-c++-only */
3924/* %endif */
3925{
Lev Walkinf15320b2004-06-03 03:38:44 +00003926 int c;
Lev Walkin03892812010-11-03 09:33:03 -07003927
3928 *(yy_c_buf_p) = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003929
Lev Walkin03892812010-11-03 09:33:03 -07003930 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
Lev Walkinf15320b2004-06-03 03:38:44 +00003931 {
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.
3935 */
Lev Walkin03892812010-11-03 09:33:03 -07003936 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003937 /* This was really a NUL. */
Lev Walkin03892812010-11-03 09:33:03 -07003938 *(yy_c_buf_p) = '\0';
Lev Walkinf15320b2004-06-03 03:38:44 +00003939
3940 else
3941 { /* need more input */
Lev Walkin0e90aa02013-03-19 16:17:13 -07003942 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
Lev Walkin03892812010-11-03 09:33:03 -07003943 ++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003944
Lev Walkin03892812010-11-03 09:33:03 -07003945 switch ( yy_get_next_buffer( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003946 {
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.
3956 */
3957
3958 /* Reset buffer status. */
Lev Walkin03892812010-11-03 09:33:03 -07003959 asn1p_restart(asn1p_in );
Lev Walkinf15320b2004-06-03 03:38:44 +00003960
Lev Walkin03892812010-11-03 09:33:03 -07003961 /*FALLTHROUGH*/
Lev Walkinf15320b2004-06-03 03:38:44 +00003962
3963 case EOB_ACT_END_OF_FILE:
3964 {
Lev Walkin03892812010-11-03 09:33:03 -07003965 if ( asn1p_wrap( ) )
Lev Walkin0e90aa02013-03-19 16:17:13 -07003966 return 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003967
Lev Walkin03892812010-11-03 09:33:03 -07003968 if ( ! (yy_did_buffer_switch_on_eof) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003969 YY_NEW_FILE;
3970#ifdef __cplusplus
3971 return yyinput();
3972#else
3973 return input();
3974#endif
3975 }
3976
3977 case EOB_ACT_CONTINUE_SCAN:
Lev Walkin03892812010-11-03 09:33:03 -07003978 (yy_c_buf_p) = (yytext_ptr) + offset;
Lev Walkinf15320b2004-06-03 03:38:44 +00003979 break;
3980 }
3981 }
3982 }
3983
Lev Walkin03892812010-11-03 09:33:03 -07003984 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);
Lev Walkinf15320b2004-06-03 03:38:44 +00003987
Lev Walkin03892812010-11-03 09:33:03 -07003988/* %% [19.0] update BOL and asn1p_lineno */
Lev Walkinf15320b2004-06-03 03:38:44 +00003989 if ( c == '\n' )
Lev Walkin03892812010-11-03 09:33:03 -07003990
3991 asn1p_lineno++;
3992;
Lev Walkinf15320b2004-06-03 03:38:44 +00003993
3994 return c;
Lev Walkin03892812010-11-03 09:33:03 -07003995}
3996/* %if-c-only */
3997#endif /* ifndef YY_NO_INPUT */
3998/* %endif */
3999
4000/** Immediately switch to a different input stream.
4001 * @param input_file A readable stream.
4002 *
4003 * @note This function does not reset the start condition to @c INITIAL .
4004 */
4005/* %if-c-only */
4006 void asn1p_restart (FILE * input_file )
4007/* %endif */
4008/* %if-c++-only */
4009/* %endif */
4010{
4011
4012 if ( ! YY_CURRENT_BUFFER ){
4013 asn1p_ensure_buffer_stack ();
4014 YY_CURRENT_BUFFER_LVALUE =
4015 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
Lev Walkinf15320b2004-06-03 03:38:44 +00004016 }
4017
Lev Walkin03892812010-11-03 09:33:03 -07004018 asn1p__init_buffer(YY_CURRENT_BUFFER,input_file );
4019 asn1p__load_buffer_state( );
4020}
Lev Walkinf15320b2004-06-03 03:38:44 +00004021
Lev Walkin03892812010-11-03 09:33:03 -07004022/** Switch to a different input buffer.
4023 * @param new_buffer The new input buffer.
4024 *
4025 */
4026/* %if-c-only */
4027 void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer )
4028/* %endif */
4029/* %if-c++-only */
4030/* %endif */
4031{
4032
4033 /* TODO. We should be able to replace this entire function body
4034 * with
4035 * asn1p_pop_buffer_state();
4036 * asn1p_push_buffer_state(new_buffer);
4037 */
4038 asn1p_ensure_buffer_stack ();
4039 if ( YY_CURRENT_BUFFER == new_buffer )
Lev Walkinf15320b2004-06-03 03:38:44 +00004040 return;
4041
Lev Walkin03892812010-11-03 09:33:03 -07004042 if ( YY_CURRENT_BUFFER )
Lev Walkinf15320b2004-06-03 03:38:44 +00004043 {
4044 /* Flush out information for old buffer. */
Lev Walkin03892812010-11-03 09:33:03 -07004045 *(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);
Lev Walkinf15320b2004-06-03 03:38:44 +00004048 }
4049
Lev Walkin03892812010-11-03 09:33:03 -07004050 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4051 asn1p__load_buffer_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00004052
4053 /* We don't actually know whether we did this switch during
Lev Walkin03892812010-11-03 09:33:03 -07004054 * EOF (asn1p_wrap()) processing, but the only time this flag
4055 * is looked at is after asn1p_wrap() is called, so it's safe
Lev Walkinf15320b2004-06-03 03:38:44 +00004056 * to go ahead and always set it.
4057 */
Lev Walkin03892812010-11-03 09:33:03 -07004058 (yy_did_buffer_switch_on_eof) = 1;
4059}
Lev Walkinf15320b2004-06-03 03:38:44 +00004060
Lev Walkin03892812010-11-03 09:33:03 -07004061/* %if-c-only */
4062static void asn1p__load_buffer_state (void)
4063/* %endif */
4064/* %if-c++-only */
4065/* %endif */
4066{
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);
4071}
Lev Walkinf15320b2004-06-03 03:38:44 +00004072
Lev Walkin03892812010-11-03 09:33:03 -07004073/** 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.
4076 *
4077 * @return the allocated buffer state.
4078 */
4079/* %if-c-only */
4080 YY_BUFFER_STATE asn1p__create_buffer (FILE * file, int size )
4081/* %endif */
4082/* %if-c++-only */
4083/* %endif */
4084{
Lev Walkinf15320b2004-06-03 03:38:44 +00004085 YY_BUFFER_STATE b;
Lev Walkin03892812010-11-03 09:33:03 -07004086
4087 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
Lev Walkinf15320b2004-06-03 03:38:44 +00004088 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004089 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004090
4091 b->yy_buf_size = size;
4092
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.
4095 */
Lev Walkin03892812010-11-03 09:33:03 -07004096 b->yy_ch_buf = (char *) asn1p_alloc(b->yy_buf_size + 2 );
Lev Walkinf15320b2004-06-03 03:38:44 +00004097 if ( ! b->yy_ch_buf )
Lev Walkin03892812010-11-03 09:33:03 -07004098 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004099
4100 b->yy_is_our_buffer = 1;
4101
Lev Walkin03892812010-11-03 09:33:03 -07004102 asn1p__init_buffer(b,file );
Lev Walkinf15320b2004-06-03 03:38:44 +00004103
4104 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004105}
Lev Walkinf15320b2004-06-03 03:38:44 +00004106
Lev Walkin03892812010-11-03 09:33:03 -07004107/** Destroy the buffer.
4108 * @param b a buffer created with asn1p__create_buffer()
4109 *
4110 */
4111/* %if-c-only */
4112 void asn1p__delete_buffer (YY_BUFFER_STATE b )
4113/* %endif */
4114/* %if-c++-only */
4115/* %endif */
4116{
4117
Lev Walkinf15320b2004-06-03 03:38:44 +00004118 if ( ! b )
4119 return;
4120
Lev Walkin03892812010-11-03 09:33:03 -07004121 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4122 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00004123
4124 if ( b->yy_is_our_buffer )
Lev Walkin03892812010-11-03 09:33:03 -07004125 asn1p_free((void *) b->yy_ch_buf );
Lev Walkinf15320b2004-06-03 03:38:44 +00004126
Lev Walkin03892812010-11-03 09:33:03 -07004127 asn1p_free((void *) b );
4128}
Lev Walkinf15320b2004-06-03 03:38:44 +00004129
Lev Walkin03892812010-11-03 09:33:03 -07004130/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00004131
Lev Walkin03892812010-11-03 09:33:03 -07004132/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004133
Lev Walkin03892812010-11-03 09:33:03 -07004134/* %if-c++-only */
4135/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004136
Lev Walkin03892812010-11-03 09:33:03 -07004137/* 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.
4140 */
4141/* %if-c-only */
4142 static void asn1p__init_buffer (YY_BUFFER_STATE b, FILE * file )
4143/* %endif */
4144/* %if-c++-only */
4145/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004146
Lev Walkin03892812010-11-03 09:33:03 -07004147{
4148 int oerrno = errno;
4149
4150 asn1p__flush_buffer(b );
Lev Walkinf15320b2004-06-03 03:38:44 +00004151
4152 b->yy_input_file = file;
4153 b->yy_fill_buffer = 1;
4154
Lev Walkin03892812010-11-03 09:33:03 -07004155 /* 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.
4158 */
4159 if (b != YY_CURRENT_BUFFER){
4160 b->yy_bs_lineno = 1;
4161 b->yy_bs_column = 0;
4162 }
Lev Walkinf15320b2004-06-03 03:38:44 +00004163
Lev Walkin03892812010-11-03 09:33:03 -07004164/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00004165
Lev Walkin03892812010-11-03 09:33:03 -07004166 b->yy_is_interactive = 0;
4167
4168/* %endif */
4169/* %if-c++-only */
4170/* %endif */
4171 errno = oerrno;
4172}
Lev Walkinf15320b2004-06-03 03:38:44 +00004173
Lev Walkin03892812010-11-03 09:33:03 -07004174/** 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.
4176 *
4177 */
4178/* %if-c-only */
4179 void asn1p__flush_buffer (YY_BUFFER_STATE b )
4180/* %endif */
4181/* %if-c++-only */
4182/* %endif */
4183{
4184 if ( ! b )
Lev Walkinf15320b2004-06-03 03:38:44 +00004185 return;
4186
4187 b->yy_n_chars = 0;
4188
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.
4192 */
4193 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4194 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4195
4196 b->yy_buf_pos = &b->yy_ch_buf[0];
4197
4198 b->yy_at_bol = 1;
4199 b->yy_buffer_status = YY_BUFFER_NEW;
4200
Lev Walkin03892812010-11-03 09:33:03 -07004201 if ( b == YY_CURRENT_BUFFER )
4202 asn1p__load_buffer_state( );
4203}
4204
4205/* %if-c-or-c++ */
4206/** Pushes the new state onto the stack. The new state becomes
4207 * the current state. This function will allocate the stack
4208 * if necessary.
4209 * @param new_buffer The new state.
4210 *
4211 */
4212/* %if-c-only */
4213void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer )
4214/* %endif */
4215/* %if-c++-only */
4216/* %endif */
4217{
4218 if (new_buffer == NULL)
4219 return;
4220
4221 asn1p_ensure_buffer_stack();
4222
4223 /* This block is copied from asn1p__switch_to_buffer. */
4224 if ( YY_CURRENT_BUFFER )
4225 {
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);
4230 }
4231
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;
4236
4237 /* copied from asn1p__switch_to_buffer. */
4238 asn1p__load_buffer_state( );
4239 (yy_did_buffer_switch_on_eof) = 1;
4240}
4241/* %endif */
4242
4243/* %if-c-or-c++ */
4244/** Removes and deletes the top of the stack, if present.
4245 * The next element becomes the new top.
4246 *
4247 */
4248/* %if-c-only */
4249void asn1p_pop_buffer_state (void)
4250/* %endif */
4251/* %if-c++-only */
4252/* %endif */
4253{
4254 if (!YY_CURRENT_BUFFER)
4255 return;
4256
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);
4261
4262 if (YY_CURRENT_BUFFER) {
4263 asn1p__load_buffer_state( );
4264 (yy_did_buffer_switch_on_eof) = 1;
4265 }
4266}
4267/* %endif */
4268
4269/* %if-c-or-c++ */
4270/* Allocates the stack if it does not exist.
4271 * Guarantees space for at least one push.
4272 */
4273/* %if-c-only */
4274static void asn1p_ensure_buffer_stack (void)
4275/* %endif */
4276/* %if-c++-only */
4277/* %endif */
4278{
Lev Walkin0e90aa02013-03-19 16:17:13 -07004279 yy_size_t num_to_alloc;
Lev Walkin03892812010-11-03 09:33:03 -07004280
4281 if (!(yy_buffer_stack)) {
4282
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.
4286 */
4287 num_to_alloc = 1;
4288 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_alloc
4289 (num_to_alloc * sizeof(struct yy_buffer_state*)
4290 );
4291 if ( ! (yy_buffer_stack) )
4292 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4293
4294 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4295
4296 (yy_buffer_stack_max) = num_to_alloc;
4297 (yy_buffer_stack_top) = 0;
4298 return;
Lev Walkinf15320b2004-06-03 03:38:44 +00004299 }
4300
Lev Walkin03892812010-11-03 09:33:03 -07004301 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
Lev Walkinf15320b2004-06-03 03:38:44 +00004302
Lev Walkin03892812010-11-03 09:33:03 -07004303 /* Increase the buffer to prepare for a possible push. */
4304 int grow_size = 8 /* arbitrary grow size */;
4305
4306 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4307 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_realloc
4308 ((yy_buffer_stack),
4309 num_to_alloc * sizeof(struct yy_buffer_state*)
4310 );
4311 if ( ! (yy_buffer_stack) )
4312 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4313
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;
4317 }
4318}
4319/* %endif */
4320
4321/* %if-c-only */
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
4325 *
4326 * @return the newly allocated buffer state object.
4327 */
4328YY_BUFFER_STATE asn1p__scan_buffer (char * base, yy_size_t size )
4329{
Lev Walkinf15320b2004-06-03 03:38:44 +00004330 YY_BUFFER_STATE b;
Lev Walkin03892812010-11-03 09:33:03 -07004331
Lev Walkinf15320b2004-06-03 03:38:44 +00004332 if ( size < 2 ||
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. */
4336 return 0;
4337
Lev Walkin03892812010-11-03 09:33:03 -07004338 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
Lev Walkinf15320b2004-06-03 03:38:44 +00004339 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004340 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004341
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;
4348 b->yy_at_bol = 1;
4349 b->yy_fill_buffer = 0;
4350 b->yy_buffer_status = YY_BUFFER_NEW;
4351
Lev Walkin03892812010-11-03 09:33:03 -07004352 asn1p__switch_to_buffer(b );
Lev Walkinf15320b2004-06-03 03:38:44 +00004353
4354 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004355}
4356/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004357
Lev Walkin03892812010-11-03 09:33:03 -07004358/* %if-c-only */
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
4362 *
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.
4366 */
4367YY_BUFFER_STATE asn1p__scan_string (yyconst char * yystr )
4368{
4369
4370 return asn1p__scan_bytes(yystr,strlen(yystr) );
4371}
4372/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004373
Lev Walkin03892812010-11-03 09:33:03 -07004374/* %if-c-only */
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.
4379 *
4380 * @return the newly allocated buffer state object.
4381 */
Lev Walkin0e90aa02013-03-19 16:17:13 -07004382YY_BUFFER_STATE asn1p__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
Lev Walkin03892812010-11-03 09:33:03 -07004383{
Lev Walkinf15320b2004-06-03 03:38:44 +00004384 YY_BUFFER_STATE b;
4385 char *buf;
Lev Walkin0e90aa02013-03-19 16:17:13 -07004386 yy_size_t n, i;
Lev Walkin03892812010-11-03 09:33:03 -07004387
Lev Walkinf15320b2004-06-03 03:38:44 +00004388 /* Get memory for full buffer, including space for trailing EOB's. */
Lev Walkin03892812010-11-03 09:33:03 -07004389 n = _yybytes_len + 2;
4390 buf = (char *) asn1p_alloc(n );
Lev Walkinf15320b2004-06-03 03:38:44 +00004391 if ( ! buf )
Lev Walkin03892812010-11-03 09:33:03 -07004392 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_bytes()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004393
Lev Walkin03892812010-11-03 09:33:03 -07004394 for ( i = 0; i < _yybytes_len; ++i )
4395 buf[i] = yybytes[i];
Lev Walkinf15320b2004-06-03 03:38:44 +00004396
Lev Walkin03892812010-11-03 09:33:03 -07004397 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
Lev Walkinf15320b2004-06-03 03:38:44 +00004398
Lev Walkin03892812010-11-03 09:33:03 -07004399 b = asn1p__scan_buffer(buf,n );
Lev Walkinf15320b2004-06-03 03:38:44 +00004400 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004401 YY_FATAL_ERROR( "bad buffer in asn1p__scan_bytes()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004402
4403 /* It's okay to grow etc. this buffer, and we should throw it
4404 * away when we're done.
4405 */
4406 b->yy_is_our_buffer = 1;
4407
4408 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004409}
4410/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004411
Lev Walkin03892812010-11-03 09:33:03 -07004412/* %if-c-only */
4413 static void yy_push_state (int new_state )
4414/* %endif */
4415/* %if-c++-only */
4416/* %endif */
4417{
4418 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
Lev Walkinf15320b2004-06-03 03:38:44 +00004419 {
4420 yy_size_t new_size;
4421
Lev Walkin03892812010-11-03 09:33:03 -07004422 (yy_start_stack_depth) += YY_START_STACK_INCR;
4423 new_size = (yy_start_stack_depth) * sizeof( int );
Lev Walkinf15320b2004-06-03 03:38:44 +00004424
Lev Walkin03892812010-11-03 09:33:03 -07004425 if ( ! (yy_start_stack) )
4426 (yy_start_stack) = (int *) asn1p_alloc(new_size );
Lev Walkinf15320b2004-06-03 03:38:44 +00004427
4428 else
Lev Walkin03892812010-11-03 09:33:03 -07004429 (yy_start_stack) = (int *) asn1p_realloc((void *) (yy_start_stack),new_size );
Lev Walkinf15320b2004-06-03 03:38:44 +00004430
Lev Walkin03892812010-11-03 09:33:03 -07004431 if ( ! (yy_start_stack) )
4432 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004433 }
4434
Lev Walkin03892812010-11-03 09:33:03 -07004435 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
Lev Walkinf15320b2004-06-03 03:38:44 +00004436
4437 BEGIN(new_state);
Lev Walkin03892812010-11-03 09:33:03 -07004438}
Lev Walkinf15320b2004-06-03 03:38:44 +00004439
Lev Walkin03892812010-11-03 09:33:03 -07004440/* %if-c-only */
4441 static void yy_pop_state (void)
4442/* %endif */
4443/* %if-c++-only */
4444/* %endif */
4445{
4446 if ( --(yy_start_stack_ptr) < 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00004447 YY_FATAL_ERROR( "start-condition stack underflow" );
4448
Lev Walkin03892812010-11-03 09:33:03 -07004449 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4450}
Lev Walkinf15320b2004-06-03 03:38:44 +00004451
Lev Walkin03892812010-11-03 09:33:03 -07004452/* %if-c-only */
4453 static int yy_top_state (void)
4454/* %endif */
4455/* %if-c++-only */
4456/* %endif */
4457{
4458 return (yy_start_stack)[(yy_start_stack_ptr) - 1];
4459}
Lev Walkinf15320b2004-06-03 03:38:44 +00004460
4461#ifndef YY_EXIT_FAILURE
4462#define YY_EXIT_FAILURE 2
4463#endif
4464
Lev Walkin03892812010-11-03 09:33:03 -07004465/* %if-c-only */
4466static void yy_fatal_error (yyconst char* msg )
4467{
4468 (void) fprintf( stderr, "%s\n", msg );
Lev Walkinf15320b2004-06-03 03:38:44 +00004469 exit( YY_EXIT_FAILURE );
Lev Walkin03892812010-11-03 09:33:03 -07004470}
4471/* %endif */
4472/* %if-c++-only */
4473/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004474
4475/* Redefine yyless() so it works in section 3 code. */
4476
4477#undef yyless
4478#define yyless(n) \
4479 do \
4480 { \
Lev Walkin03892812010-11-03 09:33:03 -07004481 /* 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; \
Lev Walkinf15320b2004-06-03 03:38:44 +00004489 } \
4490 while ( 0 )
4491
Lev Walkin03892812010-11-03 09:33:03 -07004492/* Accessor methods (get/set functions) to struct members. */
Lev Walkinf15320b2004-06-03 03:38:44 +00004493
Lev Walkin03892812010-11-03 09:33:03 -07004494/* %if-c-only */
4495/* %if-reentrant */
4496/* %endif */
4497
4498/** Get the current line number.
4499 *
4500 */
4501int asn1p_get_lineno (void)
4502{
4503
4504 return asn1p_lineno;
4505}
4506
4507/** Get the input stream.
4508 *
4509 */
4510FILE *asn1p_get_in (void)
4511{
4512 return asn1p_in;
4513}
4514
4515/** Get the output stream.
4516 *
4517 */
4518FILE *asn1p_get_out (void)
4519{
4520 return asn1p_out;
4521}
4522
4523/** Get the length of the current token.
4524 *
4525 */
Lev Walkin0e90aa02013-03-19 16:17:13 -07004526yy_size_t asn1p_get_leng (void)
Lev Walkin03892812010-11-03 09:33:03 -07004527{
4528 return asn1p_leng;
4529}
4530
4531/** Get the current token.
4532 *
4533 */
4534
4535char *asn1p_get_text (void)
4536{
4537 return asn1p_text;
4538}
4539
4540/* %if-reentrant */
4541/* %endif */
4542
4543/** Set the current line number.
4544 * @param line_number
4545 *
4546 */
4547void asn1p_set_lineno (int line_number )
4548{
4549
4550 asn1p_lineno = line_number;
4551}
4552
4553/** Set the input stream. This does not discard the current
4554 * input buffer.
4555 * @param in_str A readable stream.
4556 *
4557 * @see asn1p__switch_to_buffer
4558 */
4559void asn1p_set_in (FILE * in_str )
4560{
4561 asn1p_in = in_str ;
4562}
4563
4564void asn1p_set_out (FILE * out_str )
4565{
4566 asn1p_out = out_str ;
4567}
4568
4569int asn1p_get_debug (void)
4570{
4571 return asn1p__flex_debug;
4572}
4573
4574void asn1p_set_debug (int bdebug )
4575{
4576 asn1p__flex_debug = bdebug ;
4577}
4578
4579/* %endif */
4580
4581/* %if-reentrant */
4582/* %if-bison-bridge */
4583/* %endif */
4584/* %endif if-c-only */
4585
4586/* %if-c-only */
4587static int yy_init_globals (void)
4588{
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.
4591 */
4592
4593 /* We do not touch asn1p_lineno unless the option is enabled. */
4594 asn1p_lineno = 1;
4595
4596 (yy_buffer_stack) = 0;
4597 (yy_buffer_stack_top) = 0;
4598 (yy_buffer_stack_max) = 0;
4599 (yy_c_buf_p) = (char *) 0;
4600 (yy_init) = 0;
4601 (yy_start) = 0;
4602
4603 (yy_start_stack_ptr) = 0;
4604 (yy_start_stack_depth) = 0;
4605 (yy_start_stack) = NULL;
4606
4607 (yy_state_buf) = 0;
4608 (yy_state_ptr) = 0;
4609 (yy_full_match) = 0;
4610 (yy_lp) = 0;
4611
4612/* Defined in main.c */
4613#ifdef YY_STDINIT
4614 asn1p_in = stdin;
4615 asn1p_out = stdout;
4616#else
4617 asn1p_in = (FILE *) 0;
4618 asn1p_out = (FILE *) 0;
4619#endif
4620
4621 /* For future reference: Set errno on error, since we are called by
4622 * asn1p_lex_init()
4623 */
4624 return 0;
4625}
4626/* %endif */
4627
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. */
4630int asn1p_lex_destroy (void)
4631{
4632
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();
4638 }
4639
4640 /* Destroy the stack itself. */
4641 asn1p_free((yy_buffer_stack) );
4642 (yy_buffer_stack) = NULL;
4643
4644 /* Destroy the start condition stack. */
4645 asn1p_free((yy_start_stack) );
4646 (yy_start_stack) = NULL;
4647
4648 asn1p_free ( (yy_state_buf) );
4649 (yy_state_buf) = NULL;
4650
4651 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4652 * asn1p_lex() is called, initialization will occur. */
4653 yy_init_globals( );
4654
4655/* %if-reentrant */
4656/* %endif */
4657 return 0;
4658}
4659/* %endif */
4660
4661/*
4662 * Internal utility routines.
4663 */
Lev Walkinf15320b2004-06-03 03:38:44 +00004664
4665#ifndef yytext_ptr
Lev Walkin03892812010-11-03 09:33:03 -07004666static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4667{
Lev Walkinf15320b2004-06-03 03:38:44 +00004668 register int i;
4669 for ( i = 0; i < n; ++i )
4670 s1[i] = s2[i];
Lev Walkin03892812010-11-03 09:33:03 -07004671}
Lev Walkinf15320b2004-06-03 03:38:44 +00004672#endif
4673
4674#ifdef YY_NEED_STRLEN
Lev Walkin03892812010-11-03 09:33:03 -07004675static int yy_flex_strlen (yyconst char * s )
4676{
Lev Walkinf15320b2004-06-03 03:38:44 +00004677 register int n;
4678 for ( n = 0; s[n]; ++n )
4679 ;
4680
4681 return n;
Lev Walkin03892812010-11-03 09:33:03 -07004682}
Lev Walkinf15320b2004-06-03 03:38:44 +00004683#endif
4684
Lev Walkin03892812010-11-03 09:33:03 -07004685void *asn1p_alloc (yy_size_t size )
4686{
Lev Walkinf15320b2004-06-03 03:38:44 +00004687 return (void *) malloc( size );
Lev Walkin03892812010-11-03 09:33:03 -07004688}
Lev Walkinf15320b2004-06-03 03:38:44 +00004689
Lev Walkin03892812010-11-03 09:33:03 -07004690void *asn1p_realloc (void * ptr, yy_size_t size )
4691{
Lev Walkinf15320b2004-06-03 03:38:44 +00004692 /* 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.
4698 */
4699 return (void *) realloc( (char *) ptr, size );
Lev Walkin03892812010-11-03 09:33:03 -07004700}
Lev Walkinf15320b2004-06-03 03:38:44 +00004701
Lev Walkin03892812010-11-03 09:33:03 -07004702void asn1p_free (void * ptr )
4703{
4704 free( (char *) ptr ); /* see asn1p_realloc() for (char *) cast */
4705}
Lev Walkinf15320b2004-06-03 03:38:44 +00004706
Lev Walkin03892812010-11-03 09:33:03 -07004707/* %if-tables-serialization definitions */
4708/* %define-yytables The name for this specific scanner's tables. */
4709#define YYTABLES_NAME "yytables"
4710/* %endif */
4711
4712/* %ok-for-header */
4713
Lev Walkinbe518fa2017-09-07 02:05:28 -07004714#line 570 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00004715
4716
Lev Walkin03892812010-11-03 09:33:03 -07004717
Lev Walkinf15320b2004-06-03 03:38:44 +00004718/*
4719 * Very dirty but wonderful hack allowing to rule states from within .y file.
4720 */
Lev Walkinf59d0752004-08-18 04:59:12 +00004721void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
Lev Walkinf15320b2004-06-03 03:38:44 +00004722
4723/*
4724 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
4725 */
Lev Walkinf59d0752004-08-18 04:59:12 +00004726void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
4727
4728/* Yet another */
4729void asn1p_lexer_hack_push_encoding_control() {
4730 yy_push_state(encoding_control);
Lev Walkinf15320b2004-06-03 03:38:44 +00004731}
4732
Lev Walkind21c5052004-09-29 13:18:09 +00004733static asn1c_integer_t
Lev Walkind370e9f2006-03-16 10:03:35 +00004734_lex_atoi(const char *ptr) {
Lev Walkind21c5052004-09-29 13:18:09 +00004735 asn1c_integer_t value;
Lev Walkind370e9f2006-03-16 10:03:35 +00004736 if(asn1p_atoi(ptr, &value)) {
Lev Walkinf15320b2004-06-03 03:38:44 +00004737 fprintf(stderr,
4738 "Value \"%s\" at line %d is too large "
Lev Walkin129a79e2005-04-05 08:46:22 +00004739 "for this compiler! Please contact the asn1c author.\n",
Lev Walkin03892812010-11-03 09:33:03 -07004740 ptr, asn1p_lineno);
Lev Walkind370e9f2006-03-16 10:03:35 +00004741 errno = ERANGE;
Lev Walkinf15320b2004-06-03 03:38:44 +00004742 }
Lev Walkinf15320b2004-06-03 03:38:44 +00004743 return value;
4744}
Lev Walkinadf863f2006-09-05 16:18:34 +00004745
4746static double
4747_lex_atod(const char *ptr) {
4748 double value;
4749 errno = 0;
4750 value = strtod(ptr, 0);
4751 if(errno) {
4752 fprintf(stderr,
4753 "Value \"%s\" at line %d is outside of `double` range "
4754 "in this compiler! Please contact the asn1c author.\n",
Lev Walkin03892812010-11-03 09:33:03 -07004755 ptr, asn1p_lineno);
Lev Walkinadf863f2006-09-05 16:18:34 +00004756 errno = ERANGE;
4757 }
4758 return value;
4759}
4760
Lev Walkin03892812010-11-03 09:33:03 -07004761